aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc14
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 }