diff options
author | Owen Taylor <otaylor@redhat.com> | 2000-07-06 16:20:45 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2000-07-06 16:20:45 +0000 |
commit | 0611f06b5ad90258d274dfb64ba07171cbd053d5 (patch) | |
tree | ae28a3757caa4dda3d0250580f287ac617992edc /gdk/x11 | |
parent | f60e216527a0972d8022ae7e1b836c3f1e96af12 (diff) | |
download | gtk+-0611f06b5ad90258d274dfb64ba07171cbd053d5.tar.gz |
Patch from George Liebl to add a GdkGrabStatus enumeration to use as a
Thu Jul 6 11:54:03 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
gdk/x11/gdkmain-x11.c:
Patch from George Liebl to add a GdkGrabStatus enumeration to use
as a return value of gdk_*_grab(). Previously, we just
returned the X11 values directly.
Diffstat (limited to 'gdk/x11')
-rw-r--r-- | gdk/x11/gdkinput-xfree.c | 2 | ||||
-rw-r--r-- | gdk/x11/gdkmain-x11.c | 46 |
2 files changed, 36 insertions, 12 deletions
diff --git a/gdk/x11/gdkinput-xfree.c b/gdk/x11/gdkinput-xfree.c index c0b0fe9725..64c3070cf3 100644 --- a/gdk/x11/gdkinput-xfree.c +++ b/gdk/x11/gdkinput-xfree.c @@ -314,7 +314,7 @@ _gdk_input_grab_pointer (GdkWindow * window, void _gdk_input_ungrab_pointer (guint32 time) { - GdkInputWindow *input_window; + GdkInputWindow *input_window = NULL; /* Quiet GCC */ GdkDevicePrivate *gdkdev; GList *tmp_list; diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 7b48264b60..e40866751e 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -202,6 +202,26 @@ gdk_get_use_xshm (void) return gdk_use_xshm; } +static GdkGrabStatus +gdk_x11_convert_grab_status (gint status) +{ + switch (status) + { + case GrabSuccess: + return GDK_GRAB_SUCCESS; + case AlreadyGrabbed: + return GDK_GRAB_ALREADY_GRABBED; + case GrabInvalidTime: + return GDK_GRAB_INVALID_TIME; + case GrabNotViewable: + return GDK_GRAB_NOT_VIEWABLE; + case GrabFrozen: + return GDK_GRAB_FROZEN; + } + + g_assert_not_reached(); +} + /* *-------------------------------------------------------------- * gdk_pointer_grab @@ -225,7 +245,7 @@ gdk_get_use_xshm (void) *-------------------------------------------------------------- */ -gint +GdkGrabStatus gdk_pointer_grab (GdkWindow * window, gboolean owner_events, GdkEventMask event_mask, @@ -273,7 +293,7 @@ gdk_pointer_grab (GdkWindow * window, confine_to, time); - if (return_val == Success) + if (return_val == GrabSuccess) { if (!GDK_WINDOW_DESTROYED (window)) return_val = XGrabPointer (GDK_WINDOW_XDISPLAY (window), @@ -290,8 +310,8 @@ gdk_pointer_grab (GdkWindow * window, if (return_val == GrabSuccess) gdk_xgrab_window = (GdkWindowObject *)window; - - return return_val; + + return gdk_x11_convert_grab_status (return_val); } /* @@ -359,22 +379,26 @@ gdk_pointer_is_grabbed (void) *-------------------------------------------------------------- */ -gint +GdkGrabStatus gdk_keyboard_grab (GdkWindow * window, gboolean owner_events, guint32 time) { + gint return_val; + g_return_val_if_fail (window != NULL, 0); g_return_val_if_fail (GDK_IS_WINDOW (window), 0); if (!GDK_WINDOW_DESTROYED (window)) - return XGrabKeyboard (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), - owner_events, - GrabModeAsync, GrabModeAsync, - time); + return_val = XGrabKeyboard (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + owner_events, + GrabModeAsync, GrabModeAsync, + time); else - return AlreadyGrabbed; + return_val = AlreadyGrabbed; + + return gdk_x11_convert_grab_status (return_val); } /* |