summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Spilsbury <sam.spilsbury@canonical.com>2011-02-11 02:24:06 +0800
committerSam Spilsbury <sam.spilsbury@canonical.com>2011-02-11 02:24:06 +0800
commit1358c4c6f431cc53d5dafb884ef5b5629006fea7 (patch)
tree13172ae9ff0e12a1ff07afd46a4646848edd835a
parent73499a21c1ec450eb70de8129185e0289f86d56f (diff)
downloadcompiz-with-glib-mainloop-1358c4c6f431cc53d5dafb884ef5b5629006fea7.tar.gz
compiz-with-glib-mainloop-1358c4c6f431cc53d5dafb884ef5b5629006fea7.tar.bz2
Remove "semi-tracked" created windows on DestroyNotify.
Fixes LP: #709461
-rw-r--r--src/event.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/event.cpp b/src/event.cpp
index 9eb2093..fd71fe6 100644
--- a/src/event.cpp
+++ b/src/event.cpp
@@ -1101,6 +1101,17 @@ CompScreen::handleEvent (XEvent *event)
w->moveInputFocusToOtherWindow ();
w->destroy ();
}
+ else
+ {
+ foreach (CoreWindow *cw, priv->createdWindows)
+ {
+ if (cw->priv->id == event->xdestroywindow.window)
+ {
+ priv->createdWindows.remove (cw);
+ break;
+ }
+ }
+ }
break;
case MapNotify: