diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-09-19 20:52:42 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-09-19 20:52:42 +0000 |
commit | 3f5ad7890fa10ec4811e9e1add99e131f1728524 (patch) | |
tree | d8bb1916dcc8437c1ec70826eef9e34a9f465cd7 /gdk | |
parent | 1e3c6144b40aeae501ef6c8c28110bdaa9ba3957 (diff) | |
download | gtk+-3f5ad7890fa10ec4811e9e1add99e131f1728524.tar.gz |
Fix usage of compat GTK_TYPE_ macros without including gtkobject.h.
Thu Sep 19 16:39:29 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.h (GTK_SETTINGS_GET_CLASS): Fix
usage of compat GTK_TYPE_ macros without including
gtkobject.h.
* gdk/x11/gdkevents-x11.[ch]: Set a flag when initializing
to avoid having extra settings-notify events sent
when not needed.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/x11/gdkevents-x11.c | 11 | ||||
-rw-r--r-- | gdk/x11/gdkscreen-x11.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index 9fbca311c3..adff9561a7 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -146,12 +146,16 @@ void _gdk_x11_events_init_screen (GdkScreen *screen) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); - + + /* Keep a flag to avoid extra notifies that we don't need + */ + screen_x11->xsettings_in_init = TRUE; screen_x11->xsettings_client = xsettings_client_new (screen_x11->xdisplay, screen_x11->screen_num, gdk_xsettings_notify_cb, gdk_xsettings_watch_cb, screen); + screen_x11->xsettings_in_init = FALSE; } void @@ -2212,8 +2216,12 @@ gdk_xsettings_notify_cb (const char *name, { GdkEvent new_event; GdkScreen *screen = data; + GdkScreenX11 *screen_x11 = data; int i; + if (screen_x11->xsettings_in_init) + return; + new_event.type = GDK_SETTING; new_event.setting.window = gdk_screen_get_root_window (screen); new_event.setting.send_event = FALSE; @@ -2226,6 +2234,7 @@ gdk_xsettings_notify_cb (const char *name, break; } + if (!new_event.setting.name) return; diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index e96c6c0432..2575f0def0 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -71,6 +71,7 @@ struct _GdkScreenX11 /* X settings */ XSettingsClient *xsettings_client; + guint xsettings_in_init : 1; /* Xinerama */ gint num_monitors; |