aboutsummaryrefslogtreecommitdiff
path: root/libtopmenu-client/topmenu-monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'libtopmenu-client/topmenu-monitor.c')
-rw-r--r--libtopmenu-client/topmenu-monitor.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libtopmenu-client/topmenu-monitor.c b/libtopmenu-client/topmenu-monitor.c
index c67e3cd..915bc47 100644
--- a/libtopmenu-client/topmenu-monitor.c
+++ b/libtopmenu-client/topmenu-monitor.c
@@ -55,10 +55,10 @@ static GdkFilterReturn handle_cur_server_event(GdkXEvent *xevent, GdkEvent *even
{
XEvent *e = (XEvent*)xevent;
if (e->type == DestroyNotify) {
- g_debug("Current server has been destroyed");
TopMenuMonitor *self = TOPMENU_MONITOR(data);
if (self->priv->cur_server &&
GDK_WINDOW_XID(self->priv->cur_server) == e->xdestroywindow.window) {
+ g_debug("Current server has been destroyed");
topmenu_monitor_update(self);
}
}
@@ -71,13 +71,14 @@ static void topmenu_monitor_set_cur_server(TopMenuMonitor *self, GdkWindow *wind
// Nothing to do
return;
}
- g_debug("Setting current server to 0x%lx", GDK_WINDOW_XID(window));
if (self->priv->cur_server) {
+ g_debug("Removing current server");
gdk_window_remove_filter(window, handle_cur_server_event, self);
g_object_unref(self->priv->cur_server);
self->priv->cur_server = 0;
}
if (window) {
+ g_debug("Setting current server to 0x%lx", GDK_WINDOW_XID(window));
gdk_window_set_events(window, gdk_window_get_events(window) | GDK_STRUCTURE_MASK);
gdk_window_add_filter(window, handle_cur_server_event, self);
self->priv->cur_server = window;