summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-12-04 19:50:57 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-12-04 19:50:57 +0000
commit6d5f8224a50c7d5c65b5b9c88058d5968ea7127e (patch)
treeb68f053600e12fde126b5e56cfc7e342bb346bb4 /gdk
parentd0e6d66633f65504c3b03cae03a183a0d47d2d86 (diff)
downloadgdk-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.c8
-rw-r--r--gdk/x11/gdkselection-x11.c9
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;