diff options
Diffstat (limited to 'src/Window.cc')
-rw-r--r-- | src/Window.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/Window.cc b/src/Window.cc index 0db3b80..6a12664 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -1415,9 +1415,17 @@ void FluxboxWindow::deiconify(bool reassoc, bool do_raise) { | |||
1415 | if (oplock) return; | 1415 | if (oplock) return; |
1416 | oplock = true; | 1416 | oplock = true; |
1417 | 1417 | ||
1418 | if (iconic || reassoc) { | 1418 | if (iconic && |
1419 | screen().reassociateWindow(this, screen().currentWorkspace()->workspaceID(), false); | 1419 | m_workspace_number != screen().currentWorkspace()->workspaceID()) { |
1420 | } else if (moving || m_workspace_number != screen().currentWorkspace()->workspaceID()) { | 1420 | // reassociate first, so it gets removed from screen's icon list |
1421 | screen().reassociateWindow(this, m_workspace_number, false); | ||
1422 | iconic = false; | ||
1423 | return; | ||
1424 | } | ||
1425 | |||
1426 | if (iconic || reassoc) | ||
1427 | screen().reassociateWindow(this, screen().currentWorkspaceID(), false); | ||
1428 | else if (moving || m_workspace_number != screen().currentWorkspaceID()) { | ||
1421 | oplock = false; | 1429 | oplock = false; |
1422 | return; | 1430 | return; |
1423 | } | 1431 | } |