summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* XQuartz: Ensure scroll events are delivered to a single window (not both X11 ↵server-1.19-branchJeremy Huddleston Sequoia2022-06-161-3/+7
| | | | | | | | and AppKit) Fixes: https://github.com/XQuartz/XQuartz/issues/130 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 4532b696c644cb7f21e96cf76d3e6b21ccc0e309)
* os/connection: Improve abstraction for launchd secure socketsJeremy Huddleston Sequoia2022-06-141-5/+26
| | | | | | | | | | | | This changes away from hard-coding the /tmp/launch-* path to now supporting a generic <absolute path to unix socket>[.<screen>] format for $DISPLAY. cf-libxcb: d978a4f69b30b630f28d07f1003cf290284d24d8 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> CC: Adam Jackson <ajax@kemper.freedesktop.org> (cherry picked from commit 83d0d911069d502232d719882cd1c5cd090defa1)
* X11Application: Ensure TIS operations are done on the main threadJeremy Huddleston Sequoia2022-06-131-2/+11
| | | | | | Fixes: https://github.com/XQuartz/XQuartz/issues/205 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit b1afcecc61d841f95e786e4f4f84184f91d149f1)
* rootless: Dead code removal (ROOTLESS_REDISPLAY_DELAY is already defined)Jeremy Huddleston Sequoia2022-06-131-5/+0
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit c11b55f3c0c64645bca964aece825de0bdd92b1f)
* Fix XChangeFeedbackControl() request underflowMatthieu Herrb2021-04-221-1/+4
| | | | | | | | | | CVE-2021-3472 / ZDI-CAN-1259 This vulnerability was discovered by: Jan-Niklas Sohn working with Trend Micro Zero Day Initiative Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> (cherry picked from commit a1a1aa2c14636284669b28a956d756d5705dcf15)
* xquartz: Ensure the mouse pointer is shown when switching to a native macOS ↵Jeremy Huddleston Sequoia2021-03-081-1/+3
| | | | | | | | alert or window Fixes: https://github.com/XQuartz/XQuartz/issues/100 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 4ae36f418ed683532b0b6991e4a1e7d56740b845)
* xquartz: Fix appFlags build failure with macOS 10.15+ SDKsJeremy Huddleston Sequoia2021-03-081-0/+50
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit e59848548a462f1a0ac751bb8bb6afe56258cf4e)
* xquartz: Add a launch trampoline to better integrate with modern versions of ↵Jeremy Huddleston Sequoia2021-02-223-3/+93
| | | | | | | | macOS Fixes: https://github.com/XQuartz/XQuartz/issues/6 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 694724e42c4a3eadb32891220084b03504f9586b)
* xquartz: Fix a compiler warning about const incompatible pointer assignmentJeremy Huddleston Sequoia2021-02-201-1/+1
| | | | | | | | | | driWrap.c:541:30: error: assigning to 'GCOps *' (aka 'struct _GCOps *') from 'const GCOps *' (aka 'const struct _GCOps *') discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers] pGCPriv->originalOps = pGC->ops; ^ ~~~~~~~~ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 6a83fb51b7a8b2e167e7d6380229b69e5452f91f)
* xquartz: Rewrite Window menu handling to not depend on ↵Jeremy Huddleston Sequoia2021-02-201-85/+70
| | | | | | | | X11App.windowsMenu.numberOfItems being correct in -awakeFromNib Fixes: https://github.com/XQuartz/XQuartz/issues/56 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit fe89c70e472a9da0541b798eea60c5362b49a99d)
* xquartz: Silence a compiler warning about missing internal methods on ↵Jeremy Huddleston Sequoia2021-02-201-0/+5
| | | | | | | NSApplication Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 279bcbd9cf9e557a6789d6e4cede8e8799c3788e)
* xquartz: Remove a workaround for AppKit versions older than LionJeremy Huddleston Sequoia2021-02-201-10/+1
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 72a39dccf99191fbfbb4b399c446fd017d55f24e)
* xquartz: Apply spell check fixes from master for easier cherry-picking of ↵Jeremy Huddleston Sequoia2021-02-207-18/+18
| | | | | | | changes in xquartz See also: 23e83724df4809fd7857cc609c33ce7e8d3021a4 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* xquartz: Fix applications menu table background color for dark modeJeremy Huddleston Sequoia2021-02-2092-340/+401
| | | | | | Fixes: https://github.com/XQuartz/XQuartz/issues/32 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 7e2875035800887f3f41f75cba4299088daf939a)
* xquartz: Apply Xcode 12.4 automatic updates to nibsJeremy Huddleston Sequoia2021-02-2060-109564/+22615
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 85beee9885a8e65960fbbde2de9aa28598b4d6ae)
* xquartz: Update the about box copyright to 2021Jeremy Huddleston Sequoia2021-02-201-2/+2
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 4e892aa6e132447e43d7bae7e3aca4f1fb172f93)
* Use ARRAY_SIZE all over the treeDaniel Martin2021-02-2043-105/+68
| | | | | | | | | | | Roundhouse kick replacing the various (sizeof(foo)/sizeof(foo[0])) with the ARRAY_SIZE macro from dix.h when possible. A semantic patch for coccinelle has been used first. Additionally, a few macros have been inlined as they had only one or two users. Signed-off-by: Daniel Martin <consume.noise@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit d5379b350fb63e42e604361c21ad9832b4c791b9)
* Update URL's in man pagesAlan Coopersmith2021-02-204-7/+7
| | | | | | | | Mostly http->https conversions, but also replaces gitweb.fd.o with gitlab.fd.o, and xquartz.macosforge.org with xquartz.org. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> (cherry picked from commit a5151f58cf98d1696d60a3577dc50851f159da8a)
* xquartz: Ensure we call into TIS on the main threadJeremy Huddleston Sequoia2021-02-171-11/+21
| | | | | | | | | | | | | | There is a place where this code was called on the main thread. We're using a rather nasty anti-pattern to just call a block inline rather than synchonously calling it on the main thread if we're already on the main thread. This code could use a good overhaul, but I don't have time to rip it apart right now. This will address the immediate issue. Fixes: https://github.com/XQuartz/XQuartz/issues/40 Fixes: https://github.com/XQuartz/XQuartz/issues/48 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit c9a3b14c1472632afaff340f73a77a2b961f195a)
* glx: Do not call into Composite if it is disabled.Michal Srb2021-02-012-41/+55
| | | | | | | | | | | | Otherwise X server crashes if GLX is enabled and Composite disabled. For example the compIsAlternateVisual function will try to lookup CompScreenPtr using the CompScreenPrivateKey, but that was never initialized if Composite is disabled. Fixes: f84e59a4f4. ("glx: Duplicate relevant fbconfigs for compositing visuals") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104993 Signed-off-by: Michal Srb <msrb@suse.com> (cherry picked from commit 1326ee0bc5eb858c3c00847b3ba65134e4ca2e2d)
* glx: Only include compositeext.h if COMPOSITE is supportedJeremy Huddleston Sequoia2021-02-011-0/+3
| | | | | | Regressed-in: ea483af99a6351323afe00a0b630cd63310efdb1 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit d16133e3e293fe16b291114d344fbd5a61d5ed65)
* XQuartz: Hack around an issue that can occur on macOS due to background apps ↵Jeremy Huddleston Sequoia2021-02-011-5/+24
| | | | | | | | | | | incorrectly stealing focus Works around <rdar://problem/7150340>. Tested-by: Martin Otte <martinjotte@gmail.com> Tested-by: Tom Lane <tgl@sss.pgh.pa.us> Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit dd0b721c977e88d7c3830cc2a672c2793bca4fa0)
* xquartz: Don't add a duplicate GLX extension on subsequent server generationsJeremy Huddleston Sequoia2021-02-011-1/+3
| | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
* xquartz: Ensure that NSRunAlertPanel() is run on the main threadJeremy Huddleston Sequoia2021-02-011-6/+9
| | | | | | Fixes: https://github.com/XQuartz/XQuartz/issues/30 Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 520e7a1310ddc25b30bcaa0ea3eeaa6c4d137c8c)
* xquartz: Remove support for older versions of libXpluginJeremy Huddleston Sequoia2021-02-014-52/+4
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 7d0bb7ed061458698ff27856976939b261e73b23)
* xquartz: Remove unused include of AvailabilityMacros.h from various sourcesJeremy Huddleston Sequoia2021-02-019-14/+0
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 5e7c0762e6fdaefc9b8257c0f875432b1877c49e)
* xquartz: Remove support for building for i386Jeremy Huddleston Sequoia2021-02-013-170/+1
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 59f22341a8b4cd468d6f37fb17dd7fde347e430b)
* xquartz: Remove support for Mountain Lion and earlier versions of macOSJeremy Huddleston Sequoia2021-02-012-17/+9
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit aea15a76593f98205e44f20632178dc384c02d57)
* xquartz: Remove support for Lion and earlier versions of macOSJeremy Huddleston Sequoia2021-02-015-409/+4
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit c0b2d3e099a60f55b18ca9c30373000f12d40fe2)
* xquartz: Remove support for SnowLeopard and earlier versions of macOSJeremy Huddleston Sequoia2021-02-011-4/+1
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit cc9cf6f085be6e8264f925a11d67a12ad47a042b)
* xquartz: Remove check for libdispatch now that we don't support pre-SnowLeopardJeremy Huddleston Sequoia2021-02-017-229/+1
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit f699aac2ea2cf6a3e2d3bdcb2d8179e103de1d4e)
* xquartz: Remove support for Leopard and earlier versions of macOSJeremy Huddleston Sequoia2021-02-015-173/+1
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 5ad49102722274f53b9b011082d9e0f202fcd9a4)
* xquartz: Remove support for Tiger and earlier versions of macOSJeremy Huddleston Sequoia2021-02-017-95/+7
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 6e6db055f8b517ae9d63351d4c00fd480cb6b54a)
* os: Remove support for Tiger and earlier versions of macOSJeremy Huddleston Sequoia2021-02-011-7/+0
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 20b86c4060c1d4fbc099675d5100fe17e4ac0147)
* xquartz: Remove support for Panther and earlier versions of macOSJeremy Huddleston Sequoia2021-02-011-8/+2
| | | | | Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> (cherry picked from commit 74aef85bd88a1fdb22d445ad14975232a7bebdd7)
* Fix typo "XQaurtz" in Xquartz.manJim DeLaHunt2021-02-011-1/+1
| | | | (cherry picked from commit 0e272ac458fbd530787273073473e566b0ac306e)
* XQuartz: recognize F16-F20 and Menu keysChristopher Chavez2021-02-011-0/+7
| | | | | Signed-off-by: Christopher Chavez <chrischavez@gmx.us> (cherry picked from commit 462beb5338a44390e2fff03096942b035b509830)
* xserver 1.19.7xorg-server-1.19.7Kevin Brace2019-03-021-3/+3
| | | | Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
* Update configure.ac bug URL for gitlab migrationKevin Brace2019-03-021-1/+1
| | | | | | It is based on Alan Coopersmith's commit for various fd.o projects. Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
* Add 24-bit color support to exaGetPixmapFirstPixelKevin Brace2019-02-021-0/+1
| | | | | | | | | | It appears that people who developed EXA forgot that there used to be graphics devices that used 24-bits (3 bytes) instead of 32-bits (4 bytes) in order to display one pixel. The lack of 24-bit color support inside exaGetPixmapFirstPixel causes SiS 6326 to crash when running Xfce since SiS 6326 does not support 32-bit color. Signed-off-by: Kevin Brace <kevinbrace@gmx.com>
* glx: Only assign 8 bpc fbconfigs for composite visuals.Mario Kleiner2018-02-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | Commit 91c42093b248 ("glx: Duplicate relevant fbconfigs for compositing visuals") adds many new depth 32 fbconfigs as composite visuals. On a X-Screen running at depth 24, this also adds bgra 10-10-10-2 fbconigs, as they also have config.rgbBits == 32, but these are not displayable on a depth 24 screen, leading to visually corrupted desktops under some compositors, e.g., fdo bug 104597 "Compton weird colors" when running compton with "compton --backend glx". Be more conservative for now and only select fbconfigs with 8 bpc red, green, blue components for composite visuals. Fixes: 91c42093b248 ("glx: Duplicate relevant fbconfigs for compositing visuals") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104597 Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit bebcc8477c8070ade9dd4be7299c718baeab3d7a)
* xwayland: Don't process cursor warping without an xwl_seatLyude Paul2018-02-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately, on my machine Xwayland immediately crashes when I try to start it. gdb backtrace: #0 0x00007ffff74f0e79 in wl_proxy_marshal () from target:/lib64/libwayland-client.so.0 #1 0x0000000000413172 in zwp_confined_pointer_v1_destroy (zwp_confined_pointer_v1=0x700000000) at hw/xwayland/Xwayland@exe/pointer-constraints-unstable-v1-client-protocol.h:612 #2 0x0000000000418bc0 in xwl_seat_destroy_confined_pointer (xwl_seat=0x8ba2a0) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2839 #3 0x0000000000418c09 in xwl_seat_unconfine_pointer (xwl_seat=0x8ba2a0) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2849 #4 0x0000000000410d97 in xwl_cursor_confined_to (device=0xa5a000, screen=0x8b9d80, window=0x9bdb70) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland.c:328 #5 0x00000000004a8571 in ConfineCursorToWindow (pDev=0xa5a000, pWin=0x9bdb70, generateEvents=1, confineToScreen=0) at /home/lyudess/Projects/xserver/dix/events.c:900 #6 0x00000000004a94b7 in ScreenRestructured (pScreen=0x8b9d80) at /home/lyudess/Projects/xserver/dix/events.c:1387 #7 0x0000000000502386 in RRScreenSizeNotify (pScreen=0x8b9d80) at /home/lyudess/Projects/xserver/randr/rrscreen.c:160 #8 0x000000000041a83c in update_screen_size (xwl_output=0x8e7670, width=3840, height=2160) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:203 #9 0x000000000041a9f0 in apply_output_change (xwl_output=0x8e7670) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:252 #10 0x000000000041aaeb in xdg_output_handle_done (data=0x8e7670, xdg_output=0x8e7580) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:307 #11 0x00007ffff50e9d1e in ffi_call_unix64 () at ../src/x86/unix64.S:76 #12 0x00007ffff50e968f in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>) at ../src/x86/ffi64.c:525 #13 0x00007ffff74f3d8b in wl_closure_invoke () from target:/lib64/libwayland-client.so.0 #14 0x00007ffff74f0928 in dispatch_event.isra () from target:/lib64/libwayland-client.so.0 #15 0x00007ffff74f1be4 in wl_display_dispatch_queue_pending () from target:/lib64/libwayland-client.so.0 #16 0x00007ffff74f200b in wl_display_roundtrip_queue () from target:/lib64/libwayland-client.so.0 #17 0x0000000000418cad in InitInput (argc=12, argv=0x7fffffffd9c8) at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2867 #18 0x00000000004a20e3 in dix_main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30) at /home/lyudess/Projects/xserver/dix/main.c:250 #19 0x0000000000420cb2 in main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30) at /home/lyudess/Projects/xserver/dix/stubmain.c:34 This appears to be the result of xwl_cursor_confined_to() and xwl_screen_get_default_seat(). While not against protocol, mutter ends up sending xdg_output before wl_seat. xwl_screen_get_default_seat() makes the naïve assumption that we always have a valid seat, we end up returning a pointer to the empty list itself instead of an actual seat and causing ourselves to segfault. So, actually return NULL in xwl_screen_get_default_seat() if the seat list is empty, and skip any pointer confinement processing in xwl_cursor_confined_to() when we don't have a seat setup yet. Signed-off-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 98edb9a35e2cdd61355656b82975d7f2b6a9f0e6)
* randr: Fix rotation check in ProcRRSetScreenSize()Alex Goins2018-02-121-1/+1
| | | | | | | | | | | | | | | | | | | | ProcRRSetScreenSize() does bounds checking to ensure that none of the CRTCs have a viewport that extends beyond the new screen size. In doing so, it accounts for if the CRTC is rotated 90 or 270 degrees, swapping width and height. However, it does so by testing if crtc->rotation is equal to RR_Rotate_90 or RR_Rotate_270. crtc->rotation is a bit mask, and it includes reflection as well as rotation. If a CRTC is reflected as well as rotated, it will incorrectly fail this test, resulting in incorrect dimensions being used to verify the validity of the new screen size. In some cases, this can cause valid uses of ProcRRSetScreenSize() to fail with BadMatch. This patch fixes the issue by testing that the bits RR_Rotate_90 or RR_Rotate_270 are set, rather than testing for equality. Signed-off-by: Alex Goins <agoins@nvidia.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit 6b26a7bda9efa93440734ede0382a3e9a6761365)
* glamor: tidy up some gradient color formulasJeff Smith2018-02-121-36/+30
| | | | | | | | | | | | - Avoid some needlessly complex equations for calculating the color at a point in a gradient field. - Avoid calculating certain values multiple times. - Use similar variable names across the two versions of the get_color function where practical. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit ff410c56bfd6dcdf5d252ef0ba3f4c6fde91774b)
* glamor: remove unused variables in linear gradient shaderJeff Smith2018-02-121-7/+0
| | | | | | Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 3bd17dff1ac5a4685a5da92a9982f621effee658)
* glamor: fix no-reflect case for gradientsJeff Smith2018-02-121-11/+16
| | | | | | | | | | | | | | | | When compositing a no-reflect gradient, 'before' the gradient is empty, but 'after' the gradient is padded with the final color. Both sides are supposed to be empty. This is fixed by moving the virtual stops to match the first and last client-supplied stops for no-reflect gradients, then causing everything 'before' the initial virtual stop and 'after' the final virtual stop to emit rgba(0,0,0,0). This does not impact gradients using the other reflect modes. Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 5815c7b5951fd46d69e5c40144b64e516c7afdbf)
* glamor: fix repeat-reflect case in linear gradient shaderJeff Smith2018-02-121-7/+4
| | | | | | | | | | | If _pt_distance is negative, it causes the final distance to be negative in the repeat-reflect case. Moving the scaling by _pt_distance earlier avoids this problem, and simplifies some equations as a bonus. Bugzilla: https://bugs.freedesktop.org/98508 Signed-off-by: Jeff Smith <whydoubt@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 3e377e238f7257fd01e56a4a25dfd77e033673e4)
* xwayland: remove dirty window unconditionally on unrealizeOlivier Fourdan2018-02-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a rare occurrence of a crash in Xwayland for which I don't have the reproducing steps, just a core file. The backtrace looks as follow: #0 raise () from /usr/lib64/libc.so.6 #1 abort () from /usr/lib64/libc.so.6 #2 OsAbort () at utils.c:1361 #3 AbortServer () at log.c:877 #4 FatalError () at log.c:1015 #5 OsSigHandler () at osinit.c:154 #6 <signal handler called> #7 xwl_glamor_pixmap_get_wl_buffer () at xwayland-glamor.c:162 #8 xwl_screen_post_damage () at xwayland.c:514 #9 block_handler () at xwayland.c:665 #10 BlockHandler () at dixutils.c:388 #11 WaitForSomething () at WaitFor.c:219 #12 Dispatch () at dispatch.c:422 #13 dix_main () at main.c:287 The crash is caused by dereferencing “xwl_pixmap->buffer” in xwl_glamor_pixmap_get_wl_buffer() because “xwl_pixmap” is NULL. Reason for this is because the corresponding pixmap is from the root window and xwayland is rootless by default. This can happen if the window was mapped, redirected, damaged and unredirected immediately, before the damage is processed by Xwayland. Make sure to remove the dirty window from the damage list on unrealize to prevent this from happening. Credit goes to Adam Jackson <ajax@nwnk.net> and Daniel Stone <daniel@fooishbar.org> for finding the root cause the issue. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com> (cherry picked from commit 3362422e8413dd9f231cfac50ce0a0862525b1bf)
* os/inputthread: Force unlock when stopping thread.Michal Srb2018-02-121-0/+1
| | | | | | | | | | | | The inputthread is kept locked all the time while X server's VT is not active. If the X server is terminated while not active, it will be stuck forever in InputThreadFini waiting for the thread to join, but it wouldn't because it is locked. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=103782 Signed-off-by: Michal Srb <msrb@suse.com> Reviewed-by: Adam Jackson <ajax@redhat.com> (cherry picked from commit 71348e99a8e6a95542e483b93839168ca8f51f81)
* composite: Propagate damagedDescendants when reparentedPeter Harris2018-02-123-8/+20
| | | | | | | | | | | | | | If a window that is fully covered by an automatic-redirected descendant (even implicitly, eg. via BackingStores) is reparented, the automatic updates could be broken if the new parent is not marked as having damaged descendants. Fix this issue by propagating the damagedDescendants flag whenever a window is reparented. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Peter Harris <pharris@opentext.com> (cherry picked from commit d5c23b29487d5ff440abf5ed0beb22c00f21e387)