diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-12-04 19:50:57 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-12-04 19:50:57 +0000 |
commit | 6d5f8224a50c7d5c65b5b9c88058d5968ea7127e (patch) | |
tree | b68f053600e12fde126b5e56cfc7e342bb346bb4 /gdk | |
parent | d0e6d66633f65504c3b03cae03a183a0d47d2d86 (diff) | |
download | gdk-pixbuf-6d5f8224a50c7d5c65b5b9c88058d5968ea7127e.tar.gz |
Always look up and create the Motif drag window as a child of the root
Wed Dec 4 14:31:46 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c: Always look up and create the
Motif drag window as a child of the root window of screen 0
rather than the default screen. (#100362, Erwann Chenede)
* gdk/x11/gdkdnd-x11.c (motif_read_initiator_info):
Return FALSE, not GDK_FILTER_REMOVE on failure; this
isn't a filter function.
* gdk/x11/gdkselection-x11.c gtk/gtkselection.c: Add
some g_return_if_fail() to catch selection == None more
gracefully than an X error.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/x11/gdkdnd-x11.c | 8 | ||||
-rw-r--r-- | gdk/x11/gdkselection-x11.c | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 225744492..44c812c54 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -784,7 +784,7 @@ motif_lookup_drag_window (GdkDisplay *display, gint format; guchar *data; - XGetWindowProperty (lookup_xdisplay, DefaultRootWindow (lookup_xdisplay), + XGetWindowProperty (lookup_xdisplay, RootWindow (lookup_xdisplay, 0), gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_WINDOW"), 0, 1, FALSE, XA_WINDOW, &type, &format, &nitems, &bytes_after, @@ -837,7 +837,7 @@ motif_find_drag_window (GdkDisplay *display, display_x11->motif_drag_window = XCreateWindow (persistant_xdisplay, - DefaultRootWindow (persistant_xdisplay), + RootWindow (persistant_xdisplay, 0), -100, -100, 10, 10, 0, 0, InputOnly, CopyFromParent, (CWOverrideRedirect | CWEventMask), &attr); @@ -846,7 +846,7 @@ motif_find_drag_window (GdkDisplay *display, g_message ("Created drag window %#lx\n", display_x11->motif_drag_window)); XChangeProperty (persistant_xdisplay, - DefaultRootWindow (persistant_xdisplay), + RootWindow (persistant_xdisplay, 0), motif_drag_window_atom, XA_WINDOW, 32, PropModeReplace, (guchar *)&motif_drag_window_atom, 1); @@ -1466,7 +1466,7 @@ motif_read_initiator_info (GdkDisplay *display, { g_warning ("Invalid target index in TOP_LEVEL_ENTER MESSAGE"); XFree (initiator_info); - return GDK_FILTER_REMOVE; + return FALSE; } tmp_list = g_list_last (display_x11->motif_target_lists[initiator_info->targets_index]); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 5a83ccdbc..859fca7c6 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -132,6 +132,7 @@ gdk_selection_owner_set_for_display (GdkDisplay *display, OwnerInfo *info; g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); + g_return_val_if_fail (selection != GDK_NONE, FALSE); if (display->closed) return FALSE; @@ -202,8 +203,10 @@ gdk_selection_owner_get_for_display (GdkDisplay *display, GdkAtom selection) { Window xwindow; + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - + g_return_val_if_fail (selection != GDK_NONE, NULL); + if (display->closed) return NULL; @@ -223,6 +226,8 @@ gdk_selection_convert (GdkWindow *requestor, guint32 time) { GdkDisplay *display; + + g_return_if_fail (selection != GDK_NONE); if (GDK_WINDOW_DESTROYED (requestor)) return; @@ -390,7 +395,7 @@ gdk_selection_send_notify_for_display (GdkDisplay *display, XSelectionEvent xevent; g_return_if_fail (GDK_IS_DISPLAY (display)); - + xevent.type = SelectionNotify; xevent.serial = 0; xevent.send_event = True; |