summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CommandDialog.cc5
-rw-r--r--src/fluxbox.cc22
2 files changed, 9 insertions, 18 deletions
diff --git a/src/CommandDialog.cc b/src/CommandDialog.cc
index 3746b98..8534dcd 100644
--- a/src/CommandDialog.cc
+++ b/src/CommandDialog.cc
@@ -93,11 +93,6 @@ void CommandDialog::show() {
93void CommandDialog::hide() { 93void CommandDialog::hide() {
94 FbTk::FbWindow::hide(); 94 FbTk::FbWindow::hide();
95 Fluxbox::instance()->setShowingDialog(false); 95 Fluxbox::instance()->setShowingDialog(false);
96
97 // return focus to fluxbox window
98 if (FocusControl::focusedFbWindow())
99 FocusControl::focusedFbWindow()->focus();
100
101} 96}
102 97
103void CommandDialog::exposeEvent(XExposeEvent &event) { 98void CommandDialog::exposeEvent(XExposeEvent &event) {
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index db337ad..1c3b783 100644
--- a/src/fluxbox.cc
+++ b/src/fluxbox.cc
@@ -884,23 +884,19 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) {
884 return; 884 return;
885 } 885 }
886 886
887 WinClient *winclient = 0; 887 WinClient *winclient = searchWindow(ue.window);
888 888
889 if ((winclient = searchWindow(ue.window)) != 0) { 889 if (winclient != 0) {
890
891 if (winclient != 0) {
892 FluxboxWindow *win = winclient->fbwindow();
893
894 if (!win) {
895 delete winclient;
896 return;
897 }
898
899 // this should delete client and adjust m_focused_window if necessary
900 win->unmapNotifyEvent(ue);
901 890
891 FluxboxWindow *win = winclient->fbwindow();
892 if (!win) {
893 delete winclient;
894 return;
902 } 895 }
903 896
897 // this should delete client and adjust m_focused_window if necessary
898 win->unmapNotifyEvent(ue);
899
904 // according to http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4 900 // according to http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.4
905 // a XWithdrawWindow is 901 // a XWithdrawWindow is
906 // 1) unmapping the window (which leads to the upper branch 902 // 1) unmapping the window (which leads to the upper branch