- change previous patch to drop even more code

This commit is contained in:
Ray Strode 2007-08-06 15:28:25 +00:00
parent f4aa76ce34
commit 4ce612a6de
2 changed files with 113 additions and 32 deletions

View File

@ -1,37 +1,111 @@
diff -up gdm-2.19.5/gui/modules/dwellmouselistener.c.dont-warp-pointer-to-stylus gdm-2.19.5/gui/modules/dwellmouselistener.c diff -up gdm-2.19.5/gui/modules/dwellmouselistener.c.dont-warp-pointer-to-stylus gdm-2.19.5/gui/modules/dwellmouselistener.c
--- gdm-2.19.5/gui/modules/dwellmouselistener.c.dont-warp-pointer-to-stylus 2007-08-06 11:08:06.000000000 -0400 --- gdm-2.19.5/gui/modules/dwellmouselistener.c.dont-warp-pointer-to-stylus 2007-08-06 11:09:49.000000000 -0400
+++ gdm-2.19.5/gui/modules/dwellmouselistener.c 2007-08-06 11:09:10.000000000 -0400 +++ gdm-2.19.5/gui/modules/dwellmouselistener.c 2007-08-06 11:22:18.000000000 -0400
@@ -97,7 +97,6 @@ static int cross_pos = 0; @@ -35,10 +35,6 @@
#include <X11/Xlib.h>
-#ifdef HAVE_XINPUT
-#include <X11/extensions/XInput.h>
-#endif
-
/*
* Note that CONFIGFILE will have to be changed to something more generic
* if this module is ever moved outside of gdm.
@@ -90,14 +86,10 @@ extern char **environ;
static guint enter_signal_id = 0;
static guint leave_signal_id = 0;
-static int xinput_type_motion = 0;
static Crossings *crossings = NULL;
static int cross_pos = 0;
static guint max_crossings = 0; static guint max_crossings = 0;
static XID *ext_input_devices = NULL; -static XID *ext_input_devices = NULL;
static gint ext_device_count = 0; -static gint ext_device_count = 0;
-static gboolean latch_core_pointer = TRUE; -static gboolean latch_core_pointer = TRUE;
static void create_event_watcher (void); static void create_event_watcher (void);
static void load_bindings(gchar *path); static void load_bindings(gchar *path);
@@ -142,8 +141,21 @@ init_xinput (GdkDisplay *display, GdkWin @@ -110,77 +102,6 @@ static gboolean debug_gestures = FALSE;
BindingType get_binding_type(char c);
BindingDirection get_binding_direction(char c);
for (i=0; i < num_devices; i++) { -static gboolean
if (devices[i].use == IsXExtensionDevice) { -is_ext_device (XID id)
+ -{
+ XDeviceCoreState *core_state; - gint i;
+ gboolean sends_core_events = FALSE; - for (i=0; i < ext_device_count; i++)
+ - if (id == ext_input_devices[i])
device = XOpenDevice (GDK_DISPLAY_XDISPLAY (display), - return TRUE;
devices[i].id); -
+ - if (debug_gestures)
+ core_state = (XDeviceCoreState *) - syslog (LOG_WARNING, "is-ext-device failed for %d", (int) id);
+ XGetDeviceControl (GDK_DISPLAY_XDISPLAY (display), -
+ device, DEVICE_CORE); - return FALSE;
+ if (core_state->length == sizeof (XDeviceCoreState)) -}
+ sends_core_events = core_state->iscore != False; -
+ XFreeDeviceControl ((XDeviceControl *) core_state); -static void
+ -init_xinput (GdkDisplay *display, GdkWindow *root)
+ if (sends_core_events) -{
for (j=0; j < device->num_classes && number < 39; j++) { -#ifdef HAVE_XINPUT
switch (device->classes[j].input_class) - XEventClass event_list[40];
{ - int i, j, number = 0, num_devices;
@@ -687,9 +699,6 @@ leave_enter_emission_hook (GSignalInvoca - XDeviceInfo *devices = NULL;
- XDevice *device = NULL;
-
- devices = XListInputDevices (GDK_DISPLAY_XDISPLAY (display),
- &num_devices);
-
- if (debug_gestures)
- syslog (LOG_WARNING, "Checking %d input devices...",
- num_devices);
-
- for (i=0; i < num_devices; i++) {
- if (devices[i].use == IsXExtensionDevice) {
- device = XOpenDevice (GDK_DISPLAY_XDISPLAY (display),
- devices[i].id);
- for (j=0; j < device->num_classes && number < 39; j++) {
- switch (device->classes[j].input_class)
- {
- case ValuatorClass:
- DeviceMotionNotify (device,
- xinput_type_motion,
- event_list[number]);
- number++;
- default:
- break;
- }
- }
- ++ext_device_count;
-
- if (ext_input_devices) {
- ext_input_devices = g_realloc (ext_input_devices,
- sizeof (XID *) * ext_device_count);
- } else {
- ext_input_devices = g_malloc (sizeof (XID *));
- }
- ext_input_devices[ext_device_count - 1] = devices[i].id;
- }
- }
-
- if (debug_gestures)
- syslog (LOG_WARNING, "%d event types available", number);
-
- if (XSelectExtensionEvent (GDK_WINDOW_XDISPLAY (root),
- GDK_WINDOW_XWINDOW (root),
- event_list, number)) {
- if (debug_gestures)
- syslog (LOG_WARNING,
- "Can't select input device events!");
- }
-#endif
-}
-
static gchar *
screen_exec_display_string (GdkScreen *screen, const char *old)
{
@@ -687,9 +608,6 @@ leave_enter_emission_hook (GSignalInvoca
cursor); cursor);
gdk_cursor_unref (cursor); gdk_cursor_unref (cursor);
g_timeout_add (2000, change_cursor_back, NULL); g_timeout_add (2000, change_cursor_back, NULL);
@ -41,7 +115,7 @@ diff -up gdm-2.19.5/gui/modules/dwellmouselistener.c.dont-warp-pointer-to-stylus
at_name = strstr (action, "#AT_TYPE="); at_name = strstr (action, "#AT_TYPE=");
if (at_name != NULL) { if (at_name != NULL) {
@@ -719,25 +728,6 @@ leave_enter_emission_hook (GSignalInvoca @@ -719,25 +637,6 @@ leave_enter_emission_hook (GSignalInvoca
return TRUE; return TRUE;
} }
@ -67,10 +141,14 @@ diff -up gdm-2.19.5/gui/modules/dwellmouselistener.c.dont-warp-pointer-to-stylus
static void static void
create_event_watcher (void) create_event_watcher (void)
{ {
@@ -762,8 +752,6 @@ create_event_watcher (void) @@ -758,12 +657,6 @@ create_event_watcher (void)
gdk_screen_get_root_window ( crossings[i].time = 0;
gdk_display_get_default_screen (display))); }
- init_xinput (display,
- gdk_screen_get_root_window (
- gdk_display_get_default_screen (display)));
-
- gdk_window_add_filter (NULL, gestures_filter, NULL); - gdk_window_add_filter (NULL, gestures_filter, NULL);
- -
/* set up emission hook */ /* set up emission hook */

View File

@ -17,7 +17,7 @@
Summary: The GNOME Display Manager Summary: The GNOME Display Manager
Name: gdm Name: gdm
Version: 2.19.5 Version: 2.19.5
Release: 4%{?dist} Release: 5%{?dist}
Epoch: 1 Epoch: 1
License: GPLv2+ License: GPLv2+
Group: User Interface/X Group: User Interface/X
@ -352,6 +352,9 @@ fi
%{_datadir}/pixmaps/faces/extras/*.jpg %{_datadir}/pixmaps/faces/extras/*.jpg
%changelog %changelog
* Mon Aug 6 2007 Ray Strode <rstrode@redhat.com> - 1:2.19.5-5
- change previous patch to drop even more code
* Mon Aug 6 2007 Ray Strode <rstrode@redhat.com> - 1:2.19.5-4 * Mon Aug 6 2007 Ray Strode <rstrode@redhat.com> - 1:2.19.5-4
- turn off dwellmouselistener if devices don't send core events. - turn off dwellmouselistener if devices don't send core events.
don't warp pointer to stylus ever (upstream bug 457998) don't warp pointer to stylus ever (upstream bug 457998)