Peter Buhr, this bug was reported a while ago and there hasn't been any
activity in it recently. We were wondering if this is still an issue? If
so, could you please test for this with the latest development release
of Ubuntu? ISO images are available from http://cdimage.ubuntu.com
/daily-live/current/ .

If it remains an issue, could you please run the following command in
the development release from a Terminal
(Applications->Accessories->Terminal), as it will automatically gather
and attach updated debug information to this report:

apport-collect -p xserver-xorg-video-ati REPLACE-WITH-BUG-NUMBER

Please note, given that the information from the prior release is
already available, doing this on a release prior to the development one
would not be helpful.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

** Changed in: xserver-xorg-video-ati (Ubuntu)
   Importance: Undecided => Low

** Changed in: xserver-xorg-video-ati (Ubuntu)
       Status: Confirmed => Incomplete

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xserver-xorg-video-ati in Ubuntu.
https://bugs.launchpad.net/bugs/599547

Title:
  Xorg freezes with mwm

Status in “xserver-xorg-video-ati” package in Ubuntu:
  Incomplete

Bug description:
  Binary package hint: xorg

  Problem occurred with Ubuntu 10.4

  Package xserver-xorg-core  2:1.7.6-2ubuntu7.2

  mwm has a stuck grab when handling Alt-button key-press causing the
  mwm to freeze.

  I reported the problem to xorg-de...@lists.freedesktop.org. It was confirmed 
as a problem and a patch was generated. Can this patch be applied to this 
package?  Please refer to the mailing list for details. The patch is
  attached below.

  
===============================================================================

  Date: Fri, 25 Jun 2010 09:48:10 +1000
  From: Peter Hutterer <peter.hutte...@who-t.net>
  To: "X.Org Devel List" <xorg-de...@lists.freedesktop.org>
  Cc: "Peter A. Buhr" <pab...@plg2.math.uwaterloo.ca>,
          Keith Packard <kei...@keithp.com>,
          Daniel Stone <dan...@freedesktop.org>
  Subject: [PATCH] Revert "dix: use the event mask of the grab for
   TryClientEvents."
  Content-Type: text/plain; charset=us-ascii
  Content-Disposition: inline

  Behaviour of earlier X servers was to deliver the ButtonPress event
  unconditionally, regardless of the actual event mask being set. Thus, a
  GrabButton event will always deliver the button press event, a GrabKey
  always the key press event, etc. Same goes for XI and XI2.

  Reproducible with a simple client requesting a button grab in the form of:
      XGrabButton(dpy, AnyButton, AnyModifier, win, True, ButtonReleaseMask,
                  GrabModeAsync, GrabModeAsync, None, None);

  On servers before MPX/XI2, the client will receive a button press and
  release event. On current servers, the client receives only the release.
  Clients that expect the press event to be delivered unconditionally may
  leave the user with a stuck grab.

  XTS test results for XGrabButton are identical with and without this
  patch.

  This reverts commit 48585bd1e3e98db0f3df1ecc68022510216e00cc.

  Conflicts:

          dix/events.c

  Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
  ---
   dix/events.c |   52 ++--------------------------------------------------
   1 files changed, 2 insertions(+), 50 deletions(-)

  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);
               }
   
  -- 
  1.7.1

  ProblemType: Bug
  DistroRelease: Ubuntu 10.04
  Package: xorg 1:7.5+5ubuntu1
  ProcVersionSignature: Ubuntu 2.6.32-22.36-generic 2.6.32.11+drm33.2
  Uname: Linux 2.6.32-22-generic i686
  Architecture: i386
  Date: Mon Jun 28 16:15:15 2010
  DkmsStatus: Error: [Errno 2] No such file or directory
  InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Beta i386 (20100317.1)
  MachineType: LENOVO 200793U
  PccardctlIdent:
   Socket 0:
     no product info available
  PccardctlStatus:
   Socket 0:
     no card
  ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.32-22-generic 
root=UUID=f5b377fb-90cf-4601-b325-07416c8ae837 ro quiet splash nomodeset
  ProcEnviron:
   LANGUAGE=en_CA:en
   PATH=(custom, user)
   LANG=en_CA.UTF-8
   SHELL=/bin/tcsh
  SourcePackage: xorg
  Symptom: display
  Title: Xorg freeze
  dmi.bios.date: 11/24/2006
  dmi.bios.vendor: LENOVO
  dmi.bios.version: 79ETC7WW (2.07 )
  dmi.board.name: 200793U
  dmi.board.vendor: LENOVO
  dmi.board.version: Not Available
  dmi.chassis.asset.tag: No Asset Information
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Not Available
  dmi.modalias: 
dmi:bvnLENOVO:bvr79ETC7WW(2.07):bd11/24/2006:svnLENOVO:pn200793U:pvrThinkPadT60p:rvnLENOVO:rn200793U:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
  dmi.product.name: 200793U
  dmi.product.version: ThinkPad T60p
  dmi.sys.vendor: LENOVO
  glxinfo: Error: [Errno 2] No such file or directory
  system:
   distro:             Ubuntu
   codename:           lucid
   architecture:       i686
   kernel:             2.6.32-22-generic
  xkbcomp:
   Error: command ['xkbcomp', ':0', '-w0', '-'] failed with exit code 1: No 
protocol specified
   Error:            Cannot open display ":0"
                     Exiting

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-ati/+bug/599547/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to