diff options
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r-- | src/fluxbox.cc | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 158e0db..11dc5a5 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: fluxbox.cc,v 1.107 2003/04/15 00:50:25 rathnor Exp $ | 25 | // $Id: fluxbox.cc,v 1.108 2003/04/15 08:54:40 fluxgen Exp $ |
26 | 26 | ||
27 | #include "fluxbox.hh" | 27 | #include "fluxbox.hh" |
28 | 28 | ||
@@ -688,12 +688,7 @@ void Fluxbox::handleEvent(XEvent * const e) { | |||
688 | } | 688 | } |
689 | break; | 689 | break; |
690 | case MapNotify: | 690 | case MapNotify: |
691 | { | 691 | // handled directly in FluxboxWindow::handleEvent |
692 | FluxboxWindow *win = searchWindow(e->xmap.window); | ||
693 | if (win != 0) | ||
694 | win->mapNotifyEvent(e->xmap); | ||
695 | |||
696 | } | ||
697 | break; | 692 | break; |
698 | 693 | ||
699 | 694 | ||
@@ -713,7 +708,8 @@ void Fluxbox::handleEvent(XEvent * const e) { | |||
713 | break; | 708 | break; |
714 | case DestroyNotify: { | 709 | case DestroyNotify: { |
715 | #ifdef DEBUG | 710 | #ifdef DEBUG |
716 | cerr<<__FILE__<<"("<<__FUNCTION__<<"): DestroyNotify"<<endl; | 711 | cerr<<__FILE__<<"("<<__FUNCTION__<<"): DestroyNotify window="<<hex<< |
712 | e->xdestroywindow.window<<dec<<endl; | ||
717 | #endif // DEBUG | 713 | #endif // DEBUG |
718 | FluxboxWindow *win = searchWindow(e->xdestroywindow.window); | 714 | FluxboxWindow *win = searchWindow(e->xdestroywindow.window); |
719 | if (win != 0) { | 715 | if (win != 0) { |
@@ -939,12 +935,12 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) { | |||
939 | 935 | ||
940 | if ( ue.event != ue.window && (screen != 0 || !ue.send_event)) | 936 | if ( ue.event != ue.window && (screen != 0 || !ue.send_event)) |
941 | return; | 937 | return; |
942 | 938 | ||
943 | if ((win = searchWindow(ue.window)) != 0) { | 939 | if ((win = searchWindow(ue.window)) != 0) { |
944 | WinClient *client = win->findClient(ue.window); | 940 | WinClient *client = win->findClient(ue.window); |
945 | 941 | ||
946 | |||
947 | if (client != 0) { | 942 | if (client != 0) { |
943 | |||
948 | win->unmapNotifyEvent(ue); | 944 | win->unmapNotifyEvent(ue); |
949 | client = 0; // it's invalid now when win destroyed the client | 945 | client = 0; // it's invalid now when win destroyed the client |
950 | 946 | ||
@@ -953,6 +949,7 @@ void Fluxbox::handleUnmapNotify(XUnmapEvent &ue) { | |||
953 | 949 | ||
954 | // finaly destroy window if empty | 950 | // finaly destroy window if empty |
955 | if (win->numClients() == 0) { | 951 | if (win->numClients() == 0) { |
952 | |||
956 | delete win; | 953 | delete win; |
957 | win = 0; | 954 | win = 0; |
958 | } | 955 | } |