Hello community, here is the log from the commit of package xorg-x11-driver-input for openSUSE:Factory checked in at Fri May 22 00:34:54 CEST 2009. -------- --- xorg-x11-driver-input/xorg-x11-driver-input.changes 2009-05-12 09:40:37.000000000 +0200 +++ /mounts/work_src_done/STABLE/xorg-x11-driver-input/xorg-x11-driver-input.changes 2009-05-21 10:37:56.000000000 +0200 @@ -1,0 +2,11 @@ +Thu May 21 10:26:30 CEST 2009 - sndirsch@suse.de + +- xf86-input-synaptics 1.1.0 + * avoiding allocations during the signal handler. + * several 64 bit property issues with synclient + * The driver tries to detect the touchpad model and adjusts the + edge values accordingly. This addresses issues where edge + scrolling appeared to be broken on certain touchpad models + (ALPS, appletouch) due to incorrect RightEdge values. + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- xf86-input-synaptics-1.1.0.tar.bz2 New: ---- xf86-input-synaptics-1.1.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-driver-input.spec ++++++ --- /var/tmp/diff_new_pack.SW8071/_old 2009-05-22 00:30:26.000000000 +0200 +++ /var/tmp/diff_new_pack.SW8071/_new 2009-05-22 00:30:26.000000000 +0200 @@ -24,7 +24,7 @@ BuildRequires: Mesa-devel pkgconfig xorg-x11-proto-devel xorg-x11-server-sdk Url: http://xorg.freedesktop.org/ Version: 7.4 -Release: 29 +Release: 30 License: X11/MIT BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -65,7 +65,7 @@ Source26: xf86-input-vmmouse-12.6.4.tar.bz2 Source27: xf86-input-void-1.2.0.tar.bz2 Source28: xf86-input-diamondtouch-0.3.0.tar.bz2 -Source29: xf86-input-synaptics-1.1.0.tar.bz2 +Source29: xf86-input-synaptics-1.1.1.tar.bz2 Source30: xf86-input-evdev-2.2.2.tar.bz2 Source31: 11-x11-synaptics.fdi Source32: 11-mouse.fdi @@ -241,6 +241,14 @@ /usr/share/hal/fdi/policy/20thirdparty/11-mouse.fdi %changelog +* Thu May 21 2009 sndirsch@suse.de +- xf86-input-synaptics 1.1.0 + * avoiding allocations during the signal handler. + * several 64 bit property issues with synclient + * The driver tries to detect the touchpad model and adjusts the + edge values accordingly. This addresses issues where edge + scrolling appeared to be broken on certain touchpad models + (ALPS, appletouch) due to incorrect RightEdge values. * Tue May 12 2009 sndirsch@suse.de - xf86-input-vmmouse 12.6.4 * Fix bug where motion notify events were being sent with every ++++++ xf86-input-synaptics-1.1.0.tar.bz2 -> xf86-input-synaptics-1.1.1.tar.bz2 ++++++ ++++ 54957 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/config.h.in new/xf86-input-synaptics-1.1.1/config.h.in --- old/xf86-input-synaptics-1.1.0/config.h.in 2009-03-09 03:00:25.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/config.h.in 2009-05-21 08:15:13.000000000 +0200 @@ -15,6 +15,9 @@ /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H +/* "Input Device Property support" */ +#undef HAVE_PROPERTIES + /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H @@ -39,6 +42,10 @@ /* Use XRecord */ #undef HAVE_XRECORD +/* Define to the sub-directory in which libtool stores uninstalled libraries. + */ +#undef LT_OBJDIR + /* Name of package */ #undef PACKAGE diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/configure.ac new/xf86-input-synaptics-1.1.1/configure.ac --- old/xf86-input-synaptics-1.1.0/configure.ac 2009-03-09 02:59:54.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/configure.ac 2009-05-21 08:14:41.000000000 +0200 @@ -22,7 +22,7 @@ AC_PREREQ(2.57) AC_INIT([xf86-input-synaptics], - 1.1.0, + 1.1.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xf86-input-synaptics) @@ -85,6 +85,13 @@ sdkdir=$(pkg-config --variable=sdkdir xorg-server) AC_SUBST([sdkdir]) +PKG_CHECK_MODULES(XORG16, [xorg-server >= 1.6], + HAVE_PROPERTIES="yes"; AC_DEFINE(HAVE_PROPERTIES, 1, + "Input Device Property support"), + HAVE_PROPERTIES="no"); +AM_CONDITIONAL(HAVE_PROPERTIES, [ test "$HAVE_PROPERTIES" = "yes" ]) +AC_SUBST(HAVE_PROPERTIES) + CFLAGS="$CFLAGS $XORG_CFLAGS "' -I$(top_srcdir)/src' AC_SUBST([CFLAGS]) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/man/synaptics.man new/xf86-input-synaptics-1.1.1/man/synaptics.man --- old/xf86-input-synaptics-1.1.0/man/synaptics.man 2009-03-09 02:37:31.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/man/synaptics.man 2009-05-21 08:14:42.000000000 +0200 @@ -813,6 +813,12 @@ vertical scrolling is enabled, horizontal two-finger scrolling is disabled and edge scrolling is disabled. If no multi-finger capabilities are reported, edge scrolling is enabled for both horizontal and vertical scrolling. +.LP +Button mapping for physical buttons is handled in the server. +If the device is switched to left-handed (an in-server mapping of physical +buttons 1, 2, 3 to the logical buttons 3, 2, 1, respectively), both physical +and TapButtons are affected. To counteract this, the TapButtons need to be set +up in reverse order (TapButton1=3, TapButton2=1). .SH "REMOVED OPTIONS" The following options are no longer part of the driver configuration: diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/src/eventcomm.c new/xf86-input-synaptics-1.1.1/src/eventcomm.c --- old/xf86-input-synaptics-1.1.0/src/eventcomm.c 2009-03-05 02:45:48.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/src/eventcomm.c 2009-05-21 08:14:42.000000000 +0200 @@ -78,9 +78,9 @@ event_query_is_touchpad(int fd) { int ret; - unsigned long evbits[NBITS(EV_MAX)]; - unsigned long absbits[NBITS(ABS_MAX)]; - unsigned long keybits[NBITS(KEY_MAX)]; + unsigned long evbits[NBITS(EV_MAX)] = {0}; + unsigned long absbits[NBITS(ABS_MAX)] = {0}; + unsigned long keybits[NBITS(KEY_MAX)] = {0}; /* Check for ABS_X, ABS_Y, ABS_PRESSURE and BTN_TOOL_FINGER */ @@ -115,14 +115,32 @@ return TRUE; } +static void +event_query_info(LocalDevicePtr local) +{ + SynapticsPrivate *priv = (SynapticsPrivate *)local->private; + short id[4]; + int rc; + + SYSCALL(rc = ioctl(local->fd, EVIOCGID, id)); + if (rc < 0) + return; + + if (id[ID_VENDOR] == 0x2 && id[ID_PRODUCT] == 0x7) + priv->model = MODEL_SYNAPTICS; + else if (id[ID_VENDOR] == 0x2 && id[ID_PRODUCT] == 0x8) + priv->model = MODEL_ALPS; + +} + /* Query device for axis ranges */ static void event_query_axis_ranges(LocalDevicePtr local) { SynapticsPrivate *priv = (SynapticsPrivate *)local->private; struct input_absinfo abs; - unsigned long absbits[NBITS(ABS_MAX)]; - unsigned long keybits[NBITS(KEY_MAX)]; + unsigned long absbits[NBITS(ABS_MAX)] = {0}; + unsigned long keybits[NBITS(KEY_MAX)] = {0}; char buf[256]; int rc; @@ -184,15 +202,15 @@ if (rc >= 0) { buf[0] = 0; - if ((priv->has_left = TEST_BIT(BTN_LEFT, keybits))) + if ((priv->has_left = (TEST_BIT(BTN_LEFT, keybits) != 0))) strcat(buf, " left"); - if ((priv->has_right = TEST_BIT(BTN_RIGHT, keybits))) + if ((priv->has_right = (TEST_BIT(BTN_RIGHT, keybits) != 0))) strcat(buf, " right"); - if ((priv->has_middle = TEST_BIT(BTN_MIDDLE, keybits))) + if ((priv->has_middle = (TEST_BIT(BTN_MIDDLE, keybits) != 0))) strcat(buf, " middle"); - if ((priv->has_double = TEST_BIT(BTN_TOOL_DOUBLETAP, keybits))) + if ((priv->has_double = (TEST_BIT(BTN_TOOL_DOUBLETAP, keybits) != 0))) strcat(buf, " double"); - if ((priv->has_triple = TEST_BIT(BTN_TOOL_TRIPLETAP, keybits))) + if ((priv->has_triple = (TEST_BIT(BTN_TOOL_TRIPLETAP, keybits) != 0))) strcat(buf, " triple"); xf86Msg(X_INFO, "%s: buttons:%s\n", local->name, buf); } @@ -204,7 +222,7 @@ if (!event_query_is_touchpad(local->fd)) return FALSE; - xf86Msg(X_PROBED, "%s touchpad found\n", local->name); + xf86Msg(X_PROBED, "%s: touchpad found\n", local->name); return TRUE; } @@ -360,6 +378,7 @@ { if (event_query_is_touchpad(local->fd)) event_query_axis_ranges(local); + event_query_info(local); } static Bool diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/src/ps2comm.c new/xf86-input-synaptics-1.1.1/src/ps2comm.c --- old/xf86-input-synaptics-1.1.0/src/ps2comm.c 2009-03-05 02:45:55.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/src/ps2comm.c 2009-05-21 08:14:42.000000000 +0200 @@ -40,6 +40,7 @@ #include "ps2comm.h" #include "synproto.h" #include "synaptics.h" +#include "synapticsstr.h" #include <xf86.h> #define MAX_UNSYNC_PACKETS 10 /* i.e. 10 to 60 bytes */ @@ -299,7 +300,7 @@ ps2_getbyte(fd, &mi[1]) && ps2_getbyte(fd, &mi[2])) { synhw->model_id = (mi[0] << 16) | (mi[1] << 8) | mi[2]; - PS2DBG(ErrorF("mode-id %06X\n", synhw->model_id)); + PS2DBG(ErrorF("model-id %06X\n", synhw->model_id)); PS2DBG(ErrorF("...done.\n")); return TRUE; } @@ -611,6 +612,8 @@ int newabs = SYN_MODEL_NEWABS(*synhw); unsigned char *buf = comm->protoBuf; struct SynapticsHwState *hw = &(comm->hwState); + SynapticsPrivate *priv = (SynapticsPrivate *)local->private; + SynapticsSHM *para = priv->synpara; int w, i; if (!ps2_synaptics_get_packet(local, synhw, proto_ops, comm)) @@ -709,7 +712,7 @@ hw->y = YMAX_NOMINAL + YMIN_NOMINAL - hw->y; - if (hw->z > 0) { + if (hw->z >= para->finger_high) { int w_ok = 0; /* * Use capability bits to decide if the w value is valid. diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/src/synaptics.c new/xf86-input-synaptics-1.1.1/src/synaptics.c --- old/xf86-input-synaptics-1.1.0/src/synaptics.c 2009-03-05 02:46:01.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/src/synaptics.c 2009-05-21 08:14:42.000000000 +0200 @@ -318,7 +318,10 @@ /* The synaptics specs specify typical edge widths of 4% on x, and 5.4% on * y (page 7) [Synaptics TouchPad Interfacing Guide, 510-000080 - A * Second Edition, http://www.synaptics.com/support/dev_support.cfm, 8 Sep - * 2008] + * 2008]. We use 7% for both instead for synaptics devices, and 15% for + * ALPS models. + * http://bugs.freedesktop.org/show_bug.cgi?id=21214 + * * If the range was autodetected, apply these edge widths to all four * sides. */ @@ -330,8 +333,19 @@ width = abs(priv->maxx - priv->minx); height = abs(priv->maxy - priv->miny); diag = sqrt(width * width + height * height); - ewidth = width * .04; - eheight = height * .055; + if (priv->model == MODEL_SYNAPTICS) + { + ewidth = width * .07; + eheight = height * .07; + } else if (priv->model == MODEL_ALPS) + { + ewidth = width * .15; + eheight = height * .15; + } else + { + ewidth = width * .04; + eheight = height * .04; + } l = priv->minx + ewidth; r = priv->maxx - ewidth; @@ -511,9 +525,17 @@ if (!priv) return NULL; + /* allocate now so we don't allocate in the signal handler */ + priv->timer = TimerSet(NULL, 0, 0, NULL, NULL); + if (!priv->timer) { + xfree(priv); + return NULL; + } + /* Allocate a new InputInfoRec and add it to the head xf86InputDevs. */ local = xf86AllocateInput(drv, 0); if (!local) { + xfree(priv->timer); xfree(priv); return NULL; } @@ -614,6 +636,7 @@ if (priv->comm.buffer) XisbFree(priv->comm.buffer); free_param_data(priv); + xfree(priv->timer); xfree(priv); local->private = NULL; return local; @@ -627,6 +650,9 @@ InputInfoPtr local, int flags) { + SynapticsPrivate *priv = ((SynapticsPrivate *)local->private); + if (priv && priv->timer) + xfree(priv->timer); xfree(local->private); local->private = NULL; xf86DeleteInput(local, 0); @@ -703,7 +729,15 @@ xf86FlushInput(local->fd); /* reinit the pad */ - QueryHardware(local); + if (!QueryHardware(local)) + { + XisbFree(priv->comm.buffer); + priv->comm.buffer = NULL; + xf86CloseSerial(local->fd); + local->fd = -1; + return !Success; + } + xf86AddEnabledDevice(local); dev->public.on = TRUE; @@ -2178,6 +2212,7 @@ } else { xf86Msg(X_PROBED, "%s: no supported touchpad found\n", local->name); priv->proto_ops->DeviceOffHook(local); + return FALSE; } return TRUE; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/src/synapticsstr.h new/xf86-input-synaptics-1.1.1/src/synapticsstr.h --- old/xf86-input-synaptics-1.1.0/src/synapticsstr.h 2009-01-26 11:45:41.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/src/synapticsstr.h 2009-05-21 08:14:42.000000000 +0200 @@ -79,6 +79,12 @@ TBS_BUTTON_DOWN_UP /* Send button down event + set up state */ }; +enum TouchpadModel { + MODEL_UNKNOWN = 0, + MODEL_SYNAPTICS, + MODEL_ALPS +}; + typedef struct _SynapticsPrivateRec { SynapticsSHM synpara_default; /* Default parameter settings, read from @@ -146,6 +152,8 @@ Bool has_double; /* double click detected for this device */ Bool has_triple; /* triple click detected for this device */ Bool has_pressure; /* device reports pressure */ + + enum TouchpadModel model; /* The detected model */ } SynapticsPrivate; #endif /* _SYNAPTICSSTR_H_ */ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/tools/synclient.c new/xf86-input-synaptics-1.1.1/tools/synclient.c --- old/xf86-input-synaptics-1.1.0/tools/synclient.c 2009-03-04 07:34:50.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/tools/synclient.c 2009-05-21 08:14:42.000000000 +0200 @@ -45,11 +45,19 @@ #include <X11/extensions/XInput.h> #include "synaptics.h" #include "synaptics-properties.h" +#ifdef HAVE_PROPERTIES #include <xserver-properties.h> #ifndef XATOM_FLOAT #define XATOM_FLOAT "FLOAT" #endif +#endif + +union flong { /* Xlibs 64-bit property handling madness */ + long l; + float f; +}; + enum ParaType { PT_INT, @@ -123,7 +131,7 @@ SYNAPTICS_PROP_SPEED, 0, /*float */ 0), DEFINE_PAR("MaxSpeed", max_speed, PT_DOUBLE, 0, 1.0, SYNAPTICS_PROP_SPEED, 0, /*float */ 1), - DEFINE_PAR("AccelFactor", accl, PT_DOUBLE, 0, 0.2, + DEFINE_PAR("AccelFactor", accl, PT_DOUBLE, 0, 1.0, SYNAPTICS_PROP_SPEED, 0, /*float */ 2), DEFINE_PAR("TrackstickSpeed", trackstick_speed, PT_DOUBLE, 0, 200.0, SYNAPTICS_PROP_SPEED, 0, /*float */ 3), @@ -397,6 +405,7 @@ } +#ifdef HAVE_PROPERTIES /** Init display connection or NULL on error */ static Display* dp_init() @@ -528,8 +537,8 @@ unsigned char* data; unsigned long nitems, bytes_after; - float *f; - int *n; + union flong *f; + long *n; char *b; float_type = XInternAtom(dpy, XATOM_FLOAT, True); @@ -570,7 +579,7 @@ par->name, format); break; } - n = (int*)data; + n = (long*)data; n[par->prop_offset] = rint(val); break; case 0: /* float */ @@ -581,8 +590,8 @@ par->name, format); break; } - f = (float*)data; - f[par->prop_offset] = val; + f = (union flong*)data; + f[par->prop_offset].f = val; break; } @@ -603,8 +612,8 @@ unsigned char* data; int len; - float *f; - int *i; + union flong *f; + long *i; char *b; float_type = XInternAtom(dpy, XATOM_FLOAT, True); @@ -645,8 +654,8 @@ break; } - i = (int*)data; - printf(" %-23s = %d\n", par->name, i[par->prop_offset]); + i = (long*)data; + printf(" %-23s = %ld\n", par->name, i[par->prop_offset]); break; case 0: /* Float */ if (!float_type) @@ -657,20 +666,23 @@ break; } - f = (float*)data; - printf(" %-23s = %g\n", par->name, f[par->prop_offset]); + f = (union flong*)data; + printf(" %-23s = %g\n", par->name, f[par->prop_offset].f); break; } XFree(data); } } +#endif static void usage(void) { fprintf(stderr, "Usage: synclient [-s] [-m interval] [-h] [-l] [-V] [-?] [var1=value1 [var2=value2] ...]\n"); +#ifdef HAVE_PROPERTIES fprintf(stderr, " -s Use SHM area instead of device properties.\n"); +#endif fprintf(stderr, " -m monitor changes to the touchpad state (implies -s)\n" " interval specifies how often (in ms) to poll the touchpad state\n"); fprintf(stderr, " -h Show detected hardware properties (implies -s)\n"); @@ -689,9 +701,13 @@ int do_monitor = 0; int dump_hw = 0; int dump_settings = 0; - int use_shm = 0; + int use_shm = 1; int first_cmd; +#ifdef HAVE_PROPERTIES + use_shm = 0; +#endif + /* Parse command line parameters */ while ((c = getopt(argc, argv, "sm:hlV")) != -1) { switch (c) { @@ -718,6 +734,7 @@ usage(); } } + first_cmd = optind; if (!do_monitor && !dump_hw && !dump_settings && first_cmd == argc) usage(); @@ -741,7 +758,9 @@ shm_show_settings(synshm); if (do_monitor) shm_monitor(synshm, delay); - } else /* Device properties */ + } +#ifdef HAVE_PROPERTIES + else /* Device properties */ { Display *dpy; XDevice *dev; @@ -757,6 +776,7 @@ XCloseDevice(dpy, dev); XCloseDisplay(dpy); } +#endif return 0; } diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-input-synaptics-1.1.0/tools/syndaemon.c new/xf86-input-synaptics-1.1.1/tools/syndaemon.c --- old/xf86-input-synaptics-1.1.0/tools/syndaemon.c 2009-03-04 06:19:58.000000000 +0100 +++ new/xf86-input-synaptics-1.1.1/tools/syndaemon.c 2009-05-21 08:14:42.000000000 +0200 @@ -63,7 +63,7 @@ static int ignore_modifier_keys; static int background; static const char *pid_file; -static int use_shm; +static int use_shm = 1; static Display *display; static XDevice *dev; static Atom touchpad_off_prop; @@ -108,6 +108,7 @@ pad_disabled = value; if (use_shm) synshm->touchpad_off = value; +#ifdef HAVE_PROPERTIES else { unsigned char data = value; /* This potentially overwrites a different client's setting, but ...*/ @@ -115,6 +116,7 @@ PropModeReplace, &data, 1); XFlush(display); } +#endif } static void @@ -453,6 +455,7 @@ } #endif /* HAVE_XRECORD */ +#ifdef HAVE_PROPERTIES static XDevice * dp_get_device(Display *dpy) { @@ -517,6 +520,7 @@ } return dev; } +#endif static int shm_init() @@ -548,6 +552,10 @@ int c; int use_xrecord = 0; +#ifdef HAVE_PROPERTIES + use_shm = 0; +#endif + /* Parse command line parameters */ while ((c = getopt(argc, argv, "i:m:dtp:kKR?")) != EOF) { switch(c) { @@ -596,8 +604,10 @@ if (use_shm && !shm_init()) exit(2); +#ifdef HAVE_PROPERTIES else if (!use_shm && !(dev = dp_get_device(display))) exit(2); +#endif /* Install a signal handler to restore synaptics parameters on exit */ install_signal_handler(); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org