Fix logspam when trying to free a non-existant grab.
- Update touch patch to upstream version (from fdo #66720) - re-add xephyr resizable patch, got lost in rebase (#976995)
This commit is contained in:
		
							parent
							
								
									9dc0b02a88
								
							
						
					
					
						commit
						0e1e01a399
					
				| @ -0,0 +1,49 @@ | |||||||
|  | From af07795a384943723de5c6207d07d5af9fb883db Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | Date: Fri, 12 Jul 2013 14:10:10 +1000 | ||||||
|  | Subject: [PATCH] dix: UpdateTouchesForGrab must only free the listener grab if | ||||||
|  |  it is non-NULL | ||||||
|  | 
 | ||||||
|  | If a client calls XIGrabDevice in response to a ButtonPress event (regular | ||||||
|  | event selection), the device will have a grab, but listener->grab is NULL. | ||||||
|  | 
 | ||||||
|  | Check for that, to avoid logspam. | ||||||
|  | 
 | ||||||
|  | [ 26293.863] (EE) BUG: triggered 'if (!pGrab)' | ||||||
|  | [ 26293.863] (EE) BUG: grabs.c:256 in FreeGrab() | ||||||
|  | [ 26293.863] (EE) | ||||||
|  | [ 26293.863] (EE) Backtrace: | ||||||
|  | [ 26293.864] (EE) 0: /usr/bin/Xorg (FreeGrab+0x54) [0x45d3fc] | ||||||
|  | [ 26293.864] (EE) 1: /usr/bin/Xorg (UpdateTouchesForGrab+0x135) [0x447d4e] | ||||||
|  | [ 26293.864] (EE) 2: /usr/bin/Xorg (ActivatePointerGrab+0x1ba) [0x447f3d] | ||||||
|  | [ 26293.864] (EE) 3: /usr/bin/Xorg (GrabDevice+0x3e6) [0x4503bc] | ||||||
|  | [ 26293.864] (EE) 4: /usr/bin/Xorg (ProcXIGrabDevice+0x1f9) [0x5981b1] | ||||||
|  | [ 26293.865] (EE) 5: /usr/bin/Xorg (ProcIDispatch+0x78) [0x58aa17] | ||||||
|  | [ 26293.865] (EE) 6: /usr/bin/Xorg (Dispatch+0x30d) [0x43347e] | ||||||
|  | [ 26293.865] (EE) 7: /usr/bin/Xorg (main+0x61d) [0x498175] | ||||||
|  | [ 26293.865] (EE) 8: /lib64/libc.so.6 (__libc_start_main+0xf5) [0x3df5621b75] | ||||||
|  | [ 26293.865] (EE) 9: /usr/bin/Xorg (_start+0x29) [0x423a19] | ||||||
|  | [ 26293.866] (EE) 10: ? (?+0x29) [0x29] | ||||||
|  | [ 26293.866] (EE) | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | ---
 | ||||||
|  |  dix/events.c | 3 ++- | ||||||
|  |  1 file changed, 2 insertions(+), 1 deletion(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/dix/events.c b/dix/events.c
 | ||||||
|  | index 03b2d2e..ed3138d 100644
 | ||||||
|  | --- a/dix/events.c
 | ||||||
|  | +++ b/dix/events.c
 | ||||||
|  | @@ -1441,7 +1441,8 @@ UpdateTouchesForGrab(DeviceIntPtr mouse)
 | ||||||
|  |                  listener->type = LISTENER_POINTER_GRAB; | ||||||
|  |              else | ||||||
|  |                  listener->type = LISTENER_GRAB; | ||||||
|  | -            FreeGrab(listener->grab);
 | ||||||
|  | +            if (listener->grab)
 | ||||||
|  | +                FreeGrab(listener->grab);
 | ||||||
|  |              listener->grab = AllocGrab(grab); | ||||||
|  |          } | ||||||
|  |      } | ||||||
|  | --
 | ||||||
|  | 1.8.2.1 | ||||||
| @ -1,4 +1,4 @@ | |||||||
| From 43f732478606e952fe728a109adeb8edbb63fc13 Mon Sep 17 00:00:00 2001 | From 8eeaa74bc241acb41f1d3ed64971e0b01e794776 Mon Sep 17 00:00:00 2001 | ||||||
| From: Peter Hutterer <peter.hutterer@who-t.net> | From: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
| Date: Tue, 9 Jul 2013 13:27:19 +1000 | Date: Tue, 9 Jul 2013 13:27:19 +1000 | ||||||
| Subject: [PATCH] dix: when ungrabbing an active grab, accept pointer grabs | Subject: [PATCH] dix: when ungrabbing an active grab, accept pointer grabs | ||||||
| @ -14,15 +14,70 @@ UngrabDevice. That is against the core grab behaviour. | |||||||
| X.Org Bug 66720 <http://bugs.freedesktop.org/show_bug.cgi?id=66720> | X.Org Bug 66720 <http://bugs.freedesktop.org/show_bug.cgi?id=66720> | ||||||
| 
 | 
 | ||||||
| Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> | ||||||
| ---
 | ---
 | ||||||
|  dix/events.c | 7 +++++-- |  Xi/exevents.c | 33 ++++++++++++++++++++++----------- | ||||||
|  1 file changed, 5 insertions(+), 2 deletions(-) |  dix/events.c  | 11 +++++++++-- | ||||||
|  |  2 files changed, 31 insertions(+), 13 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/Xi/exevents.c b/Xi/exevents.c
 | ||||||
|  | index 2bbc6f0..fd4b80c 100644
 | ||||||
|  | --- a/Xi/exevents.c
 | ||||||
|  | +++ b/Xi/exevents.c
 | ||||||
|  | @@ -1223,9 +1223,13 @@ ProcessTouchOwnershipEvent(TouchOwnershipEvent *ev,
 | ||||||
|  |      else if (ev->reason == XIAcceptTouch) { | ||||||
|  |          int i; | ||||||
|  | 
 | ||||||
|  | -        /* Go through the motions of ending the touch if the listener has
 | ||||||
|  | +
 | ||||||
|  | +        /* For pointer-emulated listeners that ungrabbed the active grab,
 | ||||||
|  | +         * the state was forced to LISTENER_HAS_END. Still go
 | ||||||
|  | +         * through the motions of ending the touch if the listener has
 | ||||||
|  |           * already seen the end. This ensures that the touch record is ended in | ||||||
|  | -         * the server. */
 | ||||||
|  | +         * the server.
 | ||||||
|  | +         */
 | ||||||
|  |          if (ti->listeners[0].state == LISTENER_HAS_END) | ||||||
|  |              TouchEmitTouchEnd(dev, ti, TOUCH_ACCEPT, ti->listeners[0].listener); | ||||||
|  | 
 | ||||||
|  | @@ -1883,16 +1887,23 @@ DeliverTouchEndEvent(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev,
 | ||||||
|  | 
 | ||||||
|  |      if (listener->type == LISTENER_POINTER_REGULAR || | ||||||
|  |          listener->type == LISTENER_POINTER_GRAB) { | ||||||
|  | -        rc = DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win,
 | ||||||
|  | -                                       grab, xi2mask);
 | ||||||
|  | +        /* Note: If the active grab was ungrabbed, we already changed the
 | ||||||
|  | +         * state to LISTENER_HAS_END but still get here. So we mustn't
 | ||||||
|  | +         * actually send the event.
 | ||||||
|  | +         * This is part two of the hack in DeactivatePointerGrab
 | ||||||
|  | +         */
 | ||||||
|  | +        if (listener->state != LISTENER_HAS_END) {
 | ||||||
|  | +            rc = DeliverTouchEmulatedEvent(dev, ti, ev, listener, client, win,
 | ||||||
|  | +                                           grab, xi2mask);
 | ||||||
|  | 
 | ||||||
|  | -         /* Once we send a TouchEnd to a legacy listener, we're already well
 | ||||||
|  | -          * past the accepting/rejecting stage (can only happen on
 | ||||||
|  | -          * GrabModeSync + replay. This listener now gets the end event,
 | ||||||
|  | -          * and we can continue.
 | ||||||
|  | -          */
 | ||||||
|  | -        if (rc == Success)
 | ||||||
|  | -            listener->state = LISTENER_HAS_END;
 | ||||||
|  | +             /* Once we send a TouchEnd to a legacy listener, we're already well
 | ||||||
|  | +              * past the accepting/rejecting stage (can only happen on
 | ||||||
|  | +              * GrabModeSync + replay. This listener now gets the end event,
 | ||||||
|  | +              * and we can continue.
 | ||||||
|  | +              */
 | ||||||
|  | +            if (rc == Success)
 | ||||||
|  | +                listener->state = LISTENER_HAS_END;
 | ||||||
|  | +        }
 | ||||||
|  |          goto out; | ||||||
|  |      } | ||||||
| 
 | 
 | ||||||
| diff --git a/dix/events.c b/dix/events.c
 | diff --git a/dix/events.c b/dix/events.c
 | ||||||
| index e5db348..de41d6f 100644
 | index e5db348..03b2d2e 100644
 | ||||||
| --- a/dix/events.c
 | --- a/dix/events.c
 | ||||||
| +++ b/dix/events.c
 | +++ b/dix/events.c
 | ||||||
| @@ -1522,13 +1522,16 @@ DeactivatePointerGrab(DeviceIntPtr mouse)
 | @@ -1522,13 +1522,20 @@ DeactivatePointerGrab(DeviceIntPtr mouse)
 | ||||||
|      for (i = 0; !wasPassive && mouse->touch && i < mouse->touch->num_touches; i++) { |      for (i = 0; !wasPassive && mouse->touch && i < mouse->touch->num_touches; i++) { | ||||||
|          TouchPointInfoPtr ti = mouse->touch->touches + i; |          TouchPointInfoPtr ti = mouse->touch->touches + i; | ||||||
|          if (ti->active && TouchResourceIsOwner(ti, grab_resource)) { |          if (ti->active && TouchResourceIsOwner(ti, grab_resource)) { | ||||||
| @ -34,6 +89,10 @@ index e5db348..de41d6f 100644 | |||||||
| -                    !xi2mask_isset(mouse->deviceGrab.grab->xi2mask, mouse, XI_TouchBegin))
 | -                    !xi2mask_isset(mouse->deviceGrab.grab->xi2mask, mouse, XI_TouchBegin))
 | ||||||
| +                    !xi2mask_isset(mouse->deviceGrab.grab->xi2mask, mouse, XI_TouchBegin)) {
 | +                    !xi2mask_isset(mouse->deviceGrab.grab->xi2mask, mouse, XI_TouchBegin)) {
 | ||||||
| +                mode = XIAcceptTouch;
 | +                mode = XIAcceptTouch;
 | ||||||
|  | +                /* NOTE: we set the state here, but
 | ||||||
|  | +                 * ProcessTouchOwnershipEvent() will still call
 | ||||||
|  | +                 * TouchEmitTouchEnd for this listener. The other half of
 | ||||||
|  | +                 * this hack is in DeliverTouchEndEvent */
 | ||||||
|                  ti->listeners[0].state = LISTENER_HAS_END; |                  ti->listeners[0].state = LISTENER_HAS_END; | ||||||
| -            TouchListenerAcceptReject(mouse, ti, 0, XIRejectTouch);
 | -            TouchListenerAcceptReject(mouse, ti, 0, XIRejectTouch);
 | ||||||
| +            }
 | +            }
 | ||||||
|  | |||||||
							
								
								
									
										151
									
								
								0001-ephyr-Add-resizeable-option.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								0001-ephyr-Add-resizeable-option.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,151 @@ | |||||||
|  | From 3aac7a59dc6ef2d8bbf46ba5d37acdf6013e9450 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Daniel Martin <daniel.martin@secunet.com> | ||||||
|  | Date: Tue, 11 Dec 2012 17:23:55 +0100 | ||||||
|  | Subject: [PATCH] ephyr: Add -resizeable option | ||||||
|  | 
 | ||||||
|  | With this option passed, ephyr windows can be resized like normal | ||||||
|  | windows on the fly, without the need of an explicit parent window. | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Daniel Martin <daniel.martin@secunet.com> | ||||||
|  | Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | ---
 | ||||||
|  |  hw/kdrive/ephyr/ephyr.c     |  1 + | ||||||
|  |  hw/kdrive/ephyr/ephyrinit.c |  6 ++++++ | ||||||
|  |  hw/kdrive/ephyr/hostx.c     | 32 +++++++++++++++++++++----------- | ||||||
|  |  3 files changed, 28 insertions(+), 11 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
 | ||||||
|  | index e6520d0..f32e432 100644
 | ||||||
|  | --- a/hw/kdrive/ephyr/ephyr.c
 | ||||||
|  | +++ b/hw/kdrive/ephyr/ephyr.c
 | ||||||
|  | @@ -56,6 +56,7 @@ typedef struct _EphyrInputPrivate {
 | ||||||
|  |  } EphyrKbdPrivate, EphyrPointerPrivate; | ||||||
|  | 
 | ||||||
|  |  Bool EphyrWantGrayScale = 0; | ||||||
|  | +Bool EphyrWantResize = 0;
 | ||||||
|  | 
 | ||||||
|  |  Bool | ||||||
|  |  ephyrInitialize(KdCardInfo * card, EphyrPriv * priv) | ||||||
|  | diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
 | ||||||
|  | index 5e2eb67..adacac9 100644
 | ||||||
|  | --- a/hw/kdrive/ephyr/ephyrinit.c
 | ||||||
|  | +++ b/hw/kdrive/ephyr/ephyrinit.c
 | ||||||
|  | @@ -31,6 +31,7 @@
 | ||||||
|  | 
 | ||||||
|  |  extern Window EphyrPreExistingHostWin; | ||||||
|  |  extern Bool EphyrWantGrayScale; | ||||||
|  | +extern Bool EphyrWantResize;
 | ||||||
|  |  extern Bool kdHasPointer; | ||||||
|  |  extern Bool kdHasKbd; | ||||||
|  | 
 | ||||||
|  | @@ -116,6 +117,7 @@ ddxUseMsg(void)
 | ||||||
|  |      ErrorF("-host-cursor         Re-use exisiting X host server cursor\n"); | ||||||
|  |      ErrorF("-fullscreen          Attempt to run Xephyr fullscreen\n"); | ||||||
|  |      ErrorF("-grayscale           Simulate 8bit grayscale\n"); | ||||||
|  | +    ErrorF("-resizeable          Make Xephyr windows resizeable\n");
 | ||||||
|  |      ErrorF | ||||||
|  |          ("-fakexa              Simulate acceleration using software rendering\n"); | ||||||
|  |      ErrorF("-verbosity <level>   Set log verbosity level\n"); | ||||||
|  | @@ -210,6 +212,10 @@ ddxProcessArgument(int argc, char **argv, int i)
 | ||||||
|  |          EphyrWantGrayScale = 1; | ||||||
|  |          return 1; | ||||||
|  |      } | ||||||
|  | +    else if (!strcmp(argv[i], "-resizeable")) {
 | ||||||
|  | +        EphyrWantResize = 1;
 | ||||||
|  | +        return 1;
 | ||||||
|  | +    }
 | ||||||
|  |      else if (!strcmp(argv[i], "-fakexa")) { | ||||||
|  |          ephyrFuncs.initAccel = ephyrDrawInit; | ||||||
|  |          ephyrFuncs.enableAccel = ephyrDrawEnable; | ||||||
|  | diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
 | ||||||
|  | index aed0285..c8642cb 100644
 | ||||||
|  | --- a/hw/kdrive/ephyr/hostx.c
 | ||||||
|  | +++ b/hw/kdrive/ephyr/hostx.c
 | ||||||
|  | @@ -117,6 +117,8 @@ extern EphyrKeySyms ephyrKeySyms;
 | ||||||
|  | 
 | ||||||
|  |  extern int monitorResolution; | ||||||
|  | 
 | ||||||
|  | +extern Bool EphyrWantResize;
 | ||||||
|  | +
 | ||||||
|  |  char *ephyrResName = NULL; | ||||||
|  |  int ephyrResNameFromCmd = 0; | ||||||
|  |  char *ephyrTitle = NULL; | ||||||
|  | @@ -697,7 +699,7 @@ hostx_screen_init(EphyrScreenInfo screen,
 | ||||||
|  |      XResizeWindow(HostX.dpy, host_screen->win, width, height); | ||||||
|  | 
 | ||||||
|  |      /* Ask the WM to keep our size static */ | ||||||
|  | -    if (host_screen->win_pre_existing == None) {
 | ||||||
|  | +    if (host_screen->win_pre_existing == None && !EphyrWantResize) {
 | ||||||
|  |          size_hints = XAllocSizeHints(); | ||||||
|  |          size_hints->max_width = size_hints->min_width = width; | ||||||
|  |          size_hints->max_height = size_hints->min_height = height; | ||||||
|  | @@ -1012,19 +1014,27 @@ hostx_get_event(EphyrHostXEvent * ev)
 | ||||||
|  | 
 | ||||||
|  |          case ConfigureNotify: | ||||||
|  |          { | ||||||
|  | -            struct EphyrHostScreen *host_screen =
 | ||||||
|  | -                host_screen_from_window(xev.xconfigure.window);
 | ||||||
|  | +            struct EphyrHostScreen *host_screen;
 | ||||||
|  | 
 | ||||||
|  | -            if (host_screen && host_screen->win_pre_existing != None) {
 | ||||||
|  | -                ev->type = EPHYR_EV_CONFIGURE;
 | ||||||
|  | -                ev->data.configure.width = xev.xconfigure.width;
 | ||||||
|  | -                ev->data.configure.height = xev.xconfigure.height;
 | ||||||
|  | -                ev->data.configure.window = xev.xconfigure.window;
 | ||||||
|  | -                ev->data.configure.screen = host_screen->mynum;
 | ||||||
|  | -                return 1;
 | ||||||
|  | +            /* event compression as for Expose events, cause
 | ||||||
|  | +             * we don't want to resize the framebuffer for
 | ||||||
|  | +             * every single change */
 | ||||||
|  | +            while (XCheckTypedWindowEvent(HostX.dpy, xev.xconfigure.window,
 | ||||||
|  | +                                          ConfigureNotify, &xev));
 | ||||||
|  | +            host_screen = host_screen_from_window(xev.xconfigure.window);
 | ||||||
|  | +
 | ||||||
|  | +            if (!host_screen ||
 | ||||||
|  | +                (host_screen->win_pre_existing == None && !EphyrWantResize)) {
 | ||||||
|  | +                return 0;
 | ||||||
|  |              } | ||||||
|  | 
 | ||||||
|  | -            return 0;
 | ||||||
|  | +            ev->type = EPHYR_EV_CONFIGURE;
 | ||||||
|  | +            ev->data.configure.width = xev.xconfigure.width;
 | ||||||
|  | +            ev->data.configure.height = xev.xconfigure.height;
 | ||||||
|  | +            ev->data.configure.window = xev.xconfigure.window;
 | ||||||
|  | +            ev->data.configure.screen = host_screen->mynum;
 | ||||||
|  | +
 | ||||||
|  | +            return 1;
 | ||||||
|  |          } | ||||||
|  |          default: | ||||||
|  |              break; | ||||||
|  | --
 | ||||||
|  | 1.8.2.1 | ||||||
|  | 
 | ||||||
|  | From 49521edaf8930b335afac2185209e26e7000820b Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | Date: Wed, 15 May 2013 08:51:51 +1000 | ||||||
|  | Subject: [PATCH] ephyr: add -resizeable to the man page | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||||||
|  | Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> | ||||||
|  | ---
 | ||||||
|  |  hw/kdrive/ephyr/man/Xephyr.man | 4 ++++ | ||||||
|  |  1 file changed, 4 insertions(+) | ||||||
|  | 
 | ||||||
|  | diff --git a/hw/kdrive/ephyr/man/Xephyr.man b/hw/kdrive/ephyr/man/Xephyr.man
 | ||||||
|  | index 792511b..f14f6c8 100644
 | ||||||
|  | --- a/hw/kdrive/ephyr/man/Xephyr.man
 | ||||||
|  | +++ b/hw/kdrive/ephyr/man/Xephyr.man
 | ||||||
|  | @@ -59,6 +59,10 @@ set 'cursor acceleration':
 | ||||||
|  |  The host's cursor is reused. This is only really there to aid | ||||||
|  |  debugging by avoiding server paints for the cursor. Performance | ||||||
|  |  improvement is negligible. | ||||||
|  | +.TP 8
 | ||||||
|  | +.B -resizeable
 | ||||||
|  | +Allow the Xephyr window to be resized, even if not embedded into a parent
 | ||||||
|  | +window. By default, the Xephyr window has a fixed size.
 | ||||||
|  |  .SH "SIGNALS" | ||||||
|  |  Send a SIGUSR1 to the server (e.g. pkill -USR1 Xephyr) to | ||||||
|  |  toggle the debugging mode. | ||||||
|  | --
 | ||||||
|  | 1.8.2.1 | ||||||
| @ -42,7 +42,7 @@ | |||||||
| Summary:   X.Org X11 X server | Summary:   X.Org X11 X server | ||||||
| Name:      xorg-x11-server | Name:      xorg-x11-server | ||||||
| Version:   1.14.2 | Version:   1.14.2 | ||||||
| Release:   4%{?gitdate:.%{gitdate}}%{dist} | Release:   5%{?gitdate:.%{gitdate}}%{dist} | ||||||
| URL:       http://www.x.org | URL:       http://www.x.org | ||||||
| License:   MIT | License:   MIT | ||||||
| Group:     User Interface/X | Group:     User Interface/X | ||||||
| @ -142,11 +142,15 @@ Patch8034: 0035-dix-remove-logspam-in-RefCursor.patch | |||||||
| # Bug 66720 - Server crash when ungrabbing a touch device on the second touch | # Bug 66720 - Server crash when ungrabbing a touch device on the second touch | ||||||
| # https://bugs.freedesktop.org/show_bug.cgi?id=66720 | # https://bugs.freedesktop.org/show_bug.cgi?id=66720 | ||||||
| Patch8035: 0001-dix-when-ungrabbing-an-active-grab-accept-pointer-gr.patch | Patch8035: 0001-dix-when-ungrabbing-an-active-grab-accept-pointer-gr.patch | ||||||
|  | Patch8037: 0001-dix-UpdateTouchesForGrab-must-only-free-the-listener.patch | ||||||
| 
 | 
 | ||||||
| # Bug 972095 - X server fails on 32-bit Fedora 19 with VirtualBox Guest Additions installed  | # Bug 972095 - X server fails on 32-bit Fedora 19 with VirtualBox Guest Additions installed  | ||||||
| # https://bugzilla.redhat.com/show_bug.cgi?id=972095 | # https://bugzilla.redhat.com/show_bug.cgi?id=972095 | ||||||
| Patch8036: 0001-glx-fix-uninitialized-var-in-__glXDRIscreenProbe.patch | Patch8036: 0001-glx-fix-uninitialized-var-in-__glXDRIscreenProbe.patch | ||||||
| 
 | 
 | ||||||
|  | # Bug 962572 - X-sandboxes are not resizeable | ||||||
|  | Patch8038: 0001-ephyr-Add-resizeable-option.patch | ||||||
|  | 
 | ||||||
| # upstream in -next for 1.15, e21e183059df5975e7086850d1931edb2c1bbd06 | # upstream in -next for 1.15, e21e183059df5975e7086850d1931edb2c1bbd06 | ||||||
| %if !0%{?rhel} | %if !0%{?rhel} | ||||||
| Patch7071: 0001-os-use-libunwind-to-generate-backtraces.patch | Patch7071: 0001-os-use-libunwind-to-generate-backtraces.patch | ||||||
| @ -624,6 +628,11 @@ rm -rf $RPM_BUILD_ROOT | |||||||
| %{xserver_source_dir} | %{xserver_source_dir} | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Mon Jul 15 2013 Peter Hutterer <peter.hutterer@redhat.com> 1.14.2-5 | ||||||
|  | - Fix logspam when trying to free a non-existant grab. | ||||||
|  | - Update touch patch to upstream version (from fdo #66720) | ||||||
|  | - re-add xephyr resizable patch, got lost in rebase (#976995) | ||||||
|  | 
 | ||||||
| * Fri Jul 12 2013 Dave Airlie <airlied@redhat.com> 1.14.2-4 | * Fri Jul 12 2013 Dave Airlie <airlied@redhat.com> 1.14.2-4 | ||||||
| - reapply dropped patch to fix regression (#981953) | - reapply dropped patch to fix regression (#981953) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user