Hello community, here is the log from the commit of package xorg-x11-server for openSUSE:Factory checked in at Fri Aug 13 02:31:09 CEST 2010. -------- --- xorg-x11-server/xorg-x11-server.changes 2010-08-09 18:17:44.000000000 +0200 +++ /mounts/work_src_done/STABLE/xorg-x11-server/xorg-x11-server.changes 2010-08-10 21:02:42.000000000 +0200 @@ -1,0 +2,6 @@ +Tue Aug 10 20:56:13 CEST 2010 - sndirsch@suse.de + +- xorg-server-revert-event-mask.patch + * locked up mouse event mask patch (bnc #619034) + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- xorg-server-revert-event-mask.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-server.spec ++++++ --- /var/tmp/diff_new_pack.3MA6gD/_old 2010-08-13 02:30:27.000000000 +0200 +++ /var/tmp/diff_new_pack.3MA6gD/_new 2010-08-13 02:30:27.000000000 +0200 @@ -32,7 +32,7 @@ %endif Url: http://xorg.freedesktop.org/ Version: 7.5_%{dirsuffix} -Release: 14 +Release: 15 License: GPLv2+ ; MIT License (or similar) BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -116,6 +116,7 @@ Patch212: dmx-silly.patch Patch213: xorg-server-xdmcp.patch Patch214: xorg-x11-server-gl-apps-crash.patch +Patch215: xorg-server-revert-event-mask.patch %if %moblin Patch300: moblin-use_preferred_mode_for_all_outputs.diff %endif @@ -242,6 +243,7 @@ %patch212 -p1 %patch213 -p1 %patch214 -p1 +%patch215 -p1 %if %moblin %patch300 -p1 %endif ++++++ xorg-server-revert-event-mask.patch ++++++ diff --git a/dix/events.c b/dix/events.c index ae9847c..e1c3d0a 100644 --- a/dix/events.c +++ b/dix/events.c @@ -3420,7 +3420,6 @@ CheckPassiveGrabsOnWindow( { DeviceIntPtr gdev; XkbSrvInfoPtr xkbi = NULL; - Mask mask = 0; gdev= grab->modifierDevice; if (grab->grabtype == GRABTYPE_CORE) @@ -3535,9 +3534,6 @@ CheckPassiveGrabsOnWindow( } xE = &core; count = 1; - mask = grab->eventMask; - if (grab->ownerEvents) - mask |= pWin->eventMask; } else if (match & XI2_MATCH) { rc = EventToXI2((InternalEvent*)event, &xE); @@ -3549,34 +3545,6 @@ CheckPassiveGrabsOnWindow( continue; } count = 1; - - /* FIXME: EventToXI2 returns NULL for enter events, so - * dereferencing the event is bad. Internal event types are - * aligned with core events, so the else clause is valid. - * long-term we should use internal events for enter/focus - * as well */ - if (xE) - mask = grab->xi2mask[device->id][((xGenericEvent*)xE)->evtype/8]; - else if (event->type == XI_Enter || event->type == XI_FocusIn) - mask = grab->xi2mask[device->id][event->type/8]; - - if (grab->ownerEvents && wOtherInputMasks(grab->window)) - { - InputClientsPtr icp = - wOtherInputMasks(grab->window)->inputClients; - - while(icp) - { - if (rClient(icp) == rClient(grab)) - { - int evtype = (xE) ? ((xGenericEvent*)xE)->evtype : event->type; - mask |= icp->xi2mask[device->id][evtype/8]; - break; - } - - icp = icp->next; - } - } } else { rc = EventToXI((InternalEvent*)event, &xE, &count); @@ -3587,23 +3555,6 @@ CheckPassiveGrabsOnWindow( "(%d, %d).\n", device->name, event->type, rc); continue; } - mask = grab->eventMask; - if (grab->ownerEvents && wOtherInputMasks(grab->window)) - { - InputClientsPtr icp = - wOtherInputMasks(grab->window)->inputClients; - - while(icp) - { - if (rClient(icp) == rClient(grab)) - { - mask |= icp->mask[device->id]; - break; - } - - icp = icp->next; - } - } } (*grabinfo->ActivateGrab)(device, grab, currentTime, TRUE); @@ -3612,7 +3563,8 @@ CheckPassiveGrabsOnWindow( { FixUpEventFromWindow(device, xE, grab->window, None, TRUE); - TryClientEvents(rClient(grab), device, xE, count, mask, + TryClientEvents(rClient(grab), device, xE, count, + GetEventFilter(device, xE), GetEventFilter(device, xE), grab); } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org