diff options
author | markt <markt> | 2007-06-01 02:15:26 (GMT) |
---|---|---|
committer | markt <markt> | 2007-06-01 02:15:26 (GMT) |
commit | e6e784e20db9419287382a5293892a6a02ad5e7f (patch) | |
tree | 35f21f5c0f9e062064861b86972c2062e74d9823 /src | |
parent | bbea139cae43172b0f84f10421c174256d1262be (diff) | |
download | fluxbox-e6e784e20db9419287382a5293892a6a02ad5e7f.zip fluxbox-e6e784e20db9419287382a5293892a6a02ad5e7f.tar.bz2 |
fixed infinite loop caused by removing the last workspace when it contains windows
Diffstat (limited to 'src')
-rw-r--r-- | src/Workspace.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Workspace.cc b/src/Workspace.cc index 66dd4a6..fd81e5e 100644 --- a/src/Workspace.cc +++ b/src/Workspace.cc | |||
@@ -245,8 +245,9 @@ void Workspace::hideAll(bool interrupt_moving) { | |||
245 | 245 | ||
246 | 246 | ||
247 | void Workspace::removeAll(unsigned int dest) { | 247 | void Workspace::removeAll(unsigned int dest) { |
248 | Windows::iterator it = m_windowlist.begin(); | 248 | Windows tmp_list(m_windowlist); |
249 | Windows::const_iterator it_end = m_windowlist.end(); | 249 | Windows::iterator it = tmp_list.begin(); |
250 | Windows::const_iterator it_end = tmp_list.end(); | ||
250 | for (; it != it_end; ++it) | 251 | for (; it != it_end; ++it) |
251 | m_screen.sendToWorkspace(dest, *it, false); | 252 | m_screen.sendToWorkspace(dest, *it, false); |
252 | } | 253 | } |