return CLUTTER_X11_FILTER_CONTINUE;
}
-static Bool
-clutter_backend_x11_xsettings_watch (Window window,
- Bool is_start,
- long mask,
- void *cb_data)
-{
- ClutterBackendX11 *backend_x11 = cb_data;
-
- if (is_start)
- {
- backend_x11->xsettings_xwin = window;
- if (!backend_x11->xsettings_xwin)
- return False;
-
- clutter_x11_add_filter (xsettings_filter, backend_x11);
-
- CLUTTER_NOTE (BACKEND, "Added filter on XSettings manager window 0x%x",
- (unsigned int) backend_x11->xsettings_xwin);
- }
- else
- {
- CLUTTER_NOTE (BACKEND, "Removed filter on XSettings manager window 0x%x",
- (unsigned int) backend_x11->xsettings_xwin);
-
- clutter_x11_remove_filter (xsettings_filter, backend_x11);
-
- backend_x11->xsettings_xwin = None;
- }
-
- return True;
-}
-
static void
clutter_backend_x11_xsettings_notify (const char *name,
XSettingsAction action,
_clutter_xsettings_client_new (backend_x11->xdpy,
backend_x11->xscreen_num,
clutter_backend_x11_xsettings_notify,
- clutter_backend_x11_xsettings_watch,
+ NULL,
backend_x11);
+ clutter_x11_add_filter (xsettings_filter, backend_x11);
+
if (clutter_synchronise)
XSynchronize (backend_x11->xdpy, True);
g_free (backend_x11->display_name);
+ clutter_x11_remove_filter (xsettings_filter, backend_x11);
_clutter_xsettings_client_destroy (backend_x11->xsettings);
XCloseDisplay (backend_x11->xdpy);