From 16f8b9f6279e0c2a0eb4dbe236a14f6963207213 Mon Sep 17 00:00:00 2001 From: "PST 1998 Shawn T. Amundson" Date: Fri, 6 Mar 1998 23:17:12 +0000 Subject: [PATCH] return NULL if device is not ready gtk/gtkwindow.h: check for Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson * Applied gtk-matsu-980205-0 (oops, should be 980305) gdk/gdkinputcommon.h: return NULL if device is not ready gtk/gtkwindow.h: check for GDK_ISO_Left_Tab --- ChangeLog | 6 ++++++ ChangeLog.pre-2-0 | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ ChangeLog.pre-2-2 | 6 ++++++ ChangeLog.pre-2-4 | 6 ++++++ ChangeLog.pre-2-6 | 6 ++++++ ChangeLog.pre-2-8 | 6 ++++++ gdk/gdkinputcommon.h | 22 ++++++++++++++++++++++ gdk/x11/gdkinput-x11.c | 22 ++++++++++++++++++++++ gtk/gtkwindow.c | 2 ++ 10 files changed, 88 insertions(+) diff --git a/ChangeLog b/ChangeLog index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 2a38f75a6e..9a1858e7ea 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,9 @@ +Fri Mar 6 14:47:33 PST 1998 Shawn T. Amundson + + * Applied gtk-matsu-980205-0 (oops, should be 980305) + gdk/gdkinputcommon.h: return NULL if device is not ready + gtk/gtkwindow.h: check for GDK_ISO_Left_Tab + Fri Mar 6 13:17:58 1998 Marc Ewing * gtk/gtkclist.c (real_select_row, real_unselect_row): diff --git a/gdk/gdkinputcommon.h b/gdk/gdkinputcommon.h index 80e9d0deda..2dc5a6d859 100644 --- a/gdk/gdkinputcommon.h +++ b/gdk/gdkinputcommon.h @@ -257,7 +257,29 @@ gdk_input_device_new(XDeviceInfo *device, gint include_core) } if (device->use != IsXPointer) + { + int error_warn = gdk_error_warnings; + + gdk_error_warnings = 0; + gdk_error_code = 0; gdkdev->xdevice = XOpenDevice(gdk_display, gdkdev->info.deviceid); + gdk_error_warnings = error_warn; + + /* return NULL if device is not ready */ + if (gdk_error_code) + { + g_free (gdkdev->info.name); + if (gdkdev->axes) + g_free (gdkdev->axes); + if (gdkdev->info.keys) + g_free (gdkdev->info.keys); + if (gdkdev->info.axes) + g_free (gdkdev->info.axes); + g_free (gdkdev); + + return NULL; + } + } gdkdev->buttonpress_type = 0; gdkdev->buttonrelease_type = 0; diff --git a/gdk/x11/gdkinput-x11.c b/gdk/x11/gdkinput-x11.c index 80e9d0deda..2dc5a6d859 100644 --- a/gdk/x11/gdkinput-x11.c +++ b/gdk/x11/gdkinput-x11.c @@ -257,7 +257,29 @@ gdk_input_device_new(XDeviceInfo *device, gint include_core) } if (device->use != IsXPointer) + { + int error_warn = gdk_error_warnings; + + gdk_error_warnings = 0; + gdk_error_code = 0; gdkdev->xdevice = XOpenDevice(gdk_display, gdkdev->info.deviceid); + gdk_error_warnings = error_warn; + + /* return NULL if device is not ready */ + if (gdk_error_code) + { + g_free (gdkdev->info.name); + if (gdkdev->axes) + g_free (gdkdev->axes); + if (gdkdev->info.keys) + g_free (gdkdev->info.keys); + if (gdkdev->info.axes) + g_free (gdkdev->info.axes); + g_free (gdkdev); + + return NULL; + } + } gdkdev->buttonpress_type = 0; gdkdev->buttonrelease_type = 0; diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index acc7dd2a9a..28a675d5c7 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -806,6 +806,7 @@ gtk_window_key_press_event (GtkWidget *widget, case GDK_Left: case GDK_Right: case GDK_Tab: + case GDK_ISO_Left_Tab: switch (event->keyval) { case GDK_Up: @@ -821,6 +822,7 @@ gtk_window_key_press_event (GtkWidget *widget, direction = GTK_DIR_RIGHT; break; case GDK_Tab: + case GDK_ISO_Left_Tab: if (event->state & GDK_SHIFT_MASK) direction = GTK_DIR_TAB_BACKWARD; else