diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/FbCommands.cc | 7 | ||||
-rw-r--r-- | src/Window.cc | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/FbCommands.cc b/src/FbCommands.cc index 060f4d3..afa7984 100644 --- a/src/FbCommands.cc +++ b/src/FbCommands.cc | |||
@@ -394,8 +394,11 @@ void DeiconifyCmd::execute() { | |||
394 | if (screen == 0) | 394 | if (screen == 0) |
395 | return; | 395 | return; |
396 | 396 | ||
397 | BScreen::Icons::reverse_iterator it= screen->iconList().rbegin(); | 397 | // we need to make a copy of the list of icons, or else our iterator can |
398 | BScreen::Icons::reverse_iterator itend= screen->iconList().rend(); | 398 | // become invalid |
399 | BScreen::Icons icon_list = screen->iconList(); | ||
400 | BScreen::Icons::iterator it = icon_list.begin(); | ||
401 | BScreen::Icons::iterator itend= icon_list.end(); | ||
399 | unsigned int workspace_num= screen->currentWorkspaceID(); | 402 | unsigned int workspace_num= screen->currentWorkspaceID(); |
400 | unsigned int old_workspace_num; | 403 | unsigned int old_workspace_num; |
401 | 404 | ||
diff --git a/src/Window.cc b/src/Window.cc index 066d962..24fc8df 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -458,7 +458,7 @@ void FluxboxWindow::init() { | |||
458 | 458 | ||
459 | restoreAttributes(); | 459 | restoreAttributes(); |
460 | 460 | ||
461 | if (m_workspace_number < 0 || m_workspace_number >= screen().numberOfWorkspaces()) | 461 | if (m_workspace_number >= screen().numberOfWorkspaces()) |
462 | m_workspace_number = screen().currentWorkspaceID(); | 462 | m_workspace_number = screen().currentWorkspaceID(); |
463 | 463 | ||
464 | bool place_window = (m_old_pos_x == static_cast<signed>(m_screen.width())); | 464 | bool place_window = (m_old_pos_x == static_cast<signed>(m_screen.width())); |