diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-08-01 15:28:40 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-08-01 15:28:40 +0000 |
commit | e5ae081ebea69057c9e9da5175869b87b0972ed0 (patch) | |
tree | e6be8246d4b84e8cfbe2c859de97683065211344 /gdk/x11/gdkmain-x11.c | |
parent | d202b55bc05460d36b759de33b93cfea0f9870c7 (diff) | |
download | gtk+-e5ae081ebea69057c9e9da5175869b87b0972ed0.tar.gz |
Start implementing display/screen closing scheme; keep a flag for whether
Thu Aug 1 11:26:03 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch] gdkinternals.h:
Start implementing display/screen closing scheme; keep a
flag for whether displays and screens are closed,
call g_object_run_dispose(). Remove public gdk_screen_close().
* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkscreen-x11.c: Add
dispose() methods; move appropriate parts of the finalize
there.
* gdk/x11/gdkcolor-x11.c gdk/x11/gdkimage-x11.c
gdk/x11/gdkmain-x11.c gdk/x11/gdkpango-x11.c
gdk/x11/gdkpixmap-x11.c gdk/x11/gdkproperty-x11.c
gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.c:
Start of making everything correctly ignore operations
when a display has been closed.
* gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
Handle decorations == NULL.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_remove):
Remove unnecessary hash table creation.
* gdk/x11/gdkinput.c gdk/x11/gdkinput-x11.c gdk/win32/gdkinput.c
Fix up gdk_device_get_history - handle events, n_events == NULL,
etc.
* gdk/x11/gdkproperty-x11.c (gdk_property_get):
Handle failure better.
* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
Handle failure better, handle data == NULL, move docs
here, remove an excess round trip by asking for
all selection data at once.
* gdk/gdkselection.c gdk/win32/{x11,win32}/gdkselection-{x11,win32}.c
gdk/{x11,win32}/gdkmain-{x11,win32}.c gdk/gdkdisplay.c: Move
gdk_text_property_to_text_list(), gdk_string_to_compound_text(),
gdk_display_set_sm_client_id() to display-independent part of GDK.
* gdk/Makefile.am (gdk_c_sources): Sort gdkdisplay/screen.[ch]
into the right place.
Diffstat (limited to 'gdk/x11/gdkmain-x11.c')
-rw-r--r-- | gdk/x11/gdkmain-x11.c | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 36b1d2be2b..e38490c8f2 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -450,26 +450,6 @@ _gdk_xgrab_check_destroy (GdkWindow *window) } /** - * gdk_set_sm_client_id: - * @sm_client_id: the client id assigned by the session manager when the - * connection was opened, or %NULL to remove the property. - * - * Sets the <literal>SM_CLIENT_ID</literal> property on the application's leader window so that - * the window manager can save the application's state using the X11R6 ICCCM - * session management protocol. - * - * See the X Session Management Library documentation for more information on - * session management and the Inter-Client Communication Conventions Manual - * (ICCCM) for information on the <literal>WM_CLIENT_LEADER</literal> property. - * (Both documents are part of the X Window System distribution.) - **/ -void -gdk_set_sm_client_id (const gchar* sm_client_id) -{ - gdk_display_set_sm_client_id (gdk_display_get_default (),sm_client_id); -} - -/** * gdk_display_set_sm_client_id: * @display: a #GdkDisplay * @sm_client_id: the client id assigned by the session manager when the @@ -490,6 +470,9 @@ gdk_display_set_sm_client_id (GdkDisplay *display, { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + if (display->closed) + return; + if (sm_client_id && strcmp (sm_client_id, "")) { XChangeProperty (display_x11->xdisplay, display_x11->leader_window, @@ -738,6 +721,9 @@ _gdk_send_xevent (GdkDisplay *display, { gboolean result; + if (display->closed) + return FALSE; + gdk_error_trap_push (); result = XSendEvent (GDK_DISPLAY_XDISPLAY (display), window, propagate, event_mask, event_send); @@ -787,8 +773,8 @@ gdk_x11_ungrab_server () * Gets the default GTK+ screen number. * * Return value: returns the screen number specified by - * the --display command line option on the DISPLAY environment - * variable gdk_init() calls XOpenDisplay(). + * the --display command line option or the DISPLAY environment + * variable when gdk_init() calls XOpenDisplay(). **/ gint gdk_x11_get_default_screen (void) |