diff options
author | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2019-03-19 21:19:58 +0000 |
---|---|---|
committer | Matthieu Herrb <matthieu@cvs.openbsd.org> | 2019-03-19 21:19:58 +0000 |
commit | 20cdf7268f0006bb9ffa593ffd2235295b561f51 (patch) | |
tree | d931fee6ce2111c6a9a875a00ea0a035dd95e41e /xserver/hw | |
parent | c5e7388ec138dcbf9c68c208cb4764841a0208be (diff) |
Update to xserver 1.19.7. Tested by jca@ and stsp@.
Diffstat (limited to 'xserver/hw')
-rw-r--r-- | xserver/hw/xfree86/Makefile.am | 4 | ||||
-rw-r--r-- | xserver/hw/xfree86/Makefile.in | 48 | ||||
-rw-r--r-- | xserver/hw/xfree86/common/extramodes | 141 | ||||
-rw-r--r-- | xserver/hw/xfree86/common/xf86xvmc.c | 1 | ||||
-rw-r--r-- | xserver/hw/xwayland/xwayland-input.c | 2 | ||||
-rw-r--r-- | xserver/hw/xwayland/xwayland.c | 10 |
6 files changed, 177 insertions, 29 deletions
diff --git a/xserver/hw/xfree86/Makefile.am b/xserver/hw/xfree86/Makefile.am index b876b79ab..458720052 100644 --- a/xserver/hw/xfree86/Makefile.am +++ b/xserver/hw/xfree86/Makefile.am @@ -84,8 +84,8 @@ Xorg_DEPENDENCIES = $(LOCAL_LIBS) Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) if SUID_WRAPPER -wrapdir = $(SUID_WRAPPER_DIR) -wrap_PROGRAMS = Xorg.wrap +wrapexecdir = $(SUID_WRAPPER_DIR) +wrapexec_PROGRAMS = Xorg.wrap Xorg_wrap_SOURCES = xorg-wrapper.c endif diff --git a/xserver/hw/xfree86/Makefile.in b/xserver/hw/xfree86/Makefile.in index 5da17959a..c57648f15 100644 --- a/xserver/hw/xfree86/Makefile.in +++ b/xserver/hw/xfree86/Makefile.in @@ -51,7 +51,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = Xorg$(EXEEXT) -@SUID_WRAPPER_TRUE@wrap_PROGRAMS = Xorg.wrap$(EXEEXT) +@SUID_WRAPPER_TRUE@wrapexec_PROGRAMS = Xorg.wrap$(EXEEXT) subdir = hw/xfree86 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/Xorg.sh.in $(top_srcdir)/depcomp @@ -74,8 +74,8 @@ CONFIG_HEADER = $(top_builddir)/include/do-not-use-config.h \ $(top_builddir)/include/version-config.h CONFIG_CLEAN_FILES = Xorg.sh CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(wrapdir)" -PROGRAMS = $(bin_PROGRAMS) $(wrap_PROGRAMS) +am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(wrapexecdir)" +PROGRAMS = $(bin_PROGRAMS) $(wrapexec_PROGRAMS) nodist_Xorg_OBJECTS = sdksyms.$(OBJEXT) Xorg_OBJECTS = $(nodist_Xorg_OBJECTS) am__DEPENDENCIES_1 = @@ -591,7 +591,7 @@ Xorg_LDADD = \ Xorg_DEPENDENCIES = $(LOCAL_LIBS) Xorg_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG) -@SUID_WRAPPER_TRUE@wrapdir = $(SUID_WRAPPER_DIR) +@SUID_WRAPPER_TRUE@wrapexecdir = $(SUID_WRAPPER_DIR) @SUID_WRAPPER_TRUE@Xorg_wrap_SOURCES = xorg-wrapper.c BUILT_SOURCES = xorg.conf.example DISTCLEANFILES = xorg.conf.example @@ -688,12 +688,12 @@ clean-binPROGRAMS: list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -install-wrapPROGRAMS: $(wrap_PROGRAMS) +install-wrapexecPROGRAMS: $(wrapexec_PROGRAMS) @$(NORMAL_INSTALL) - @list='$(wrap_PROGRAMS)'; test -n "$(wrapdir)" || list=; \ + @list='$(wrapexec_PROGRAMS)'; test -n "$(wrapexecdir)" || list=; \ if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(wrapdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(wrapdir)" || exit 1; \ + echo " $(MKDIR_P) '$(DESTDIR)$(wrapexecdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(wrapexecdir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ @@ -711,23 +711,23 @@ install-wrapPROGRAMS: $(wrap_PROGRAMS) while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(wrapdir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(wrapdir)$$dir" || exit $$?; \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(wrapexecdir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(wrapexecdir)$$dir" || exit $$?; \ } \ ; done -uninstall-wrapPROGRAMS: +uninstall-wrapexecPROGRAMS: @$(NORMAL_UNINSTALL) - @list='$(wrap_PROGRAMS)'; test -n "$(wrapdir)" || list=; \ + @list='$(wrapexec_PROGRAMS)'; test -n "$(wrapexecdir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(wrapdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(wrapdir)" && rm -f $$files + echo " ( cd '$(DESTDIR)$(wrapexecdir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(wrapexecdir)" && rm -f $$files -clean-wrapPROGRAMS: - @list='$(wrap_PROGRAMS)'; test -n "$$list" || exit 0; \ +clean-wrapexecPROGRAMS: + @list='$(wrapexec_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ @@ -964,7 +964,7 @@ check: $(BUILT_SOURCES) all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(wrapdir)"; do \ + for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(wrapexecdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) @@ -1004,7 +1004,7 @@ maintainer-clean-generic: clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool \ - clean-wrapPROGRAMS mostlyclean-am + clean-wrapexecPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) @@ -1024,13 +1024,13 @@ info: info-recursive info-am: -install-data-am: install-data-local install-wrapPROGRAMS +install-data-am: install-data-local install-dvi: install-dvi-recursive install-dvi-am: -install-exec-am: install-binPROGRAMS +install-exec-am: install-binPROGRAMS install-wrapexecPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-recursive @@ -1072,7 +1072,7 @@ ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-local \ - uninstall-wrapPROGRAMS + uninstall-wrapexecPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) uninstall-hook .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ @@ -1081,7 +1081,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-local \ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ - clean-generic clean-libtool clean-wrapPROGRAMS cscopelist \ + clean-generic clean-libtool clean-wrapexecPROGRAMS cscopelist \ cscopelist-recursive ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ @@ -1090,13 +1090,13 @@ uninstall-am: uninstall-binPROGRAMS uninstall-local \ install-exec install-exec-am install-exec-hook install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ - install-strip install-wrapPROGRAMS installcheck \ + install-strip install-wrapexecPROGRAMS installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-hook uninstall-local \ - uninstall-wrapPROGRAMS + uninstall-wrapexecPROGRAMS # Without logdir, X will post an error on the terminal and will not start diff --git a/xserver/hw/xfree86/common/extramodes b/xserver/hw/xfree86/common/extramodes index 450502670..006b5cba1 100644 --- a/xserver/hw/xfree86/common/extramodes +++ b/xserver/hw/xfree86/common/extramodes @@ -25,3 +25,144 @@ Modeline "2048x1536" 340.48 2048 2216 2440 2832 1536 1537 1540 1603 -hsync +vs # 2048x1536 @ 85Hz (VESA GTF) hsync: 137.0kHz Modeline "2048x1536" 388.04 2048 2216 2440 2832 1536 1537 1540 1612 -hsync +vsync +### 16:9 modelines generated by cvt + +# 640x360 59.32 Hz (CVT 0.23M9-R) hsync: 22.19 kHz; pclk: 17.75 MHz +Modeline "640x360R" 17.75 640 688 720 800 360 363 368 374 +hsync -vsync + +# 640x360 59.84 Hz (CVT 0.23M9) hsync: 22.50 kHz; pclk: 18.00 MHz +Modeline "640x360" 18.00 640 664 720 800 360 363 368 376 -hsync +vsync + +# 720x405 58.99 Hz (CVT 0.29M9-R) hsync: 24.72 kHz; pclk: 21.75 MHz +Modeline "720x405R" 21.75 720 768 800 880 405 408 413 419 +hsync -vsync + +# 720x405 59.51 Hz (CVT 0.29M9) hsync: 25.11 kHz; pclk: 22.50 MHz +Modeline "720x405" 22.50 720 744 808 896 405 408 413 422 -hsync +vsync + +# 864x486 59.57 Hz (CVT 0.42M9-R) hsync: 29.79 kHz; pclk: 30.50 MHz +Modeline "864x486R" 30.50 864 912 944 1024 486 489 494 500 +hsync -vsync + +# 864x486 59.92 Hz (CVT 0.42M9) hsync: 30.32 kHz; pclk: 32.50 MHz +Modeline "864x486" 32.50 864 888 968 1072 486 489 494 506 -hsync +vsync + +# 960x540 59.82 Hz (CVT 0.52M9-R) hsync: 33.26 kHz; pclk: 37.25 MHz +Modeline "960x540R" 37.25 960 1008 1040 1120 540 543 548 556 +hsync -vsync + +# 960x540 59.63 Hz (CVT 0.52M9) hsync: 33.51 kHz; pclk: 40.75 MHz +Modeline "960x540" 40.75 960 992 1088 1216 540 543 548 562 -hsync +vsync + +# 1024x576 59.82 Hz (CVT 0.59M9-R) hsync: 35.47 kHz; pclk: 42.00 MHz +Modeline "1024x576R" 42.00 1024 1072 1104 1184 576 579 584 593 +hsync -vsync + +# 1024x576 59.90 Hz (CVT 0.59M9) hsync: 35.88 kHz; pclk: 46.50 MHz +Modeline "1024x576" 46.50 1024 1064 1160 1296 576 579 584 599 -hsync +vsync + +# 1280x720 59.74 Hz (CVT 0.92M9-R) hsync: 44.27 kHz; pclk: 63.75 MHz +Modeline "1280x720R" 63.75 1280 1328 1360 1440 720 723 728 741 +hsync -vsync + +# 1280x720 59.86 Hz (CVT 0.92M9) hsync: 44.77 kHz; pclk: 74.50 MHz +Modeline "1280x720" 74.50 1280 1344 1472 1664 720 723 728 748 -hsync +vsync + +# 1368x768 59.85 Hz (CVT) hsync: 47.28 kHz; pclk: 72.25 MHz +Modeline "1368x768R" 72.25 1368 1416 1448 1528 768 771 781 790 +hsync -vsync + +# 1368x768 59.88 Hz (CVT) hsync: 47.79 kHz; pclk: 85.25 MHz +Modeline "1368x768" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync + +# 1600x900 59.82 Hz (CVT 1.44M9-R) hsync: 55.40 kHz; pclk: 97.50 MHz +Modeline "1600x900R" 97.50 1600 1648 1680 1760 900 903 908 926 +hsync -vsync + +# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz +Modeline "1600x900" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync + +# 1920x1080 59.93 Hz (CVT 2.07M9-R) hsync: 66.59 kHz; pclk: 138.50 MHz +Modeline "1920x1080R" 138.50 1920 1968 2000 2080 1080 1083 1088 1111 +hsync -vsync + +# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz +Modeline "1920x1080" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync + +# 2048x1152 59.91 Hz (CVT 2.36M9-R) hsync: 70.99 kHz; pclk: 156.75 MHz +Modeline "2048x1152R" 156.75 2048 2096 2128 2208 1152 1155 1160 1185 +hsync -vsync + +# 2048x1152 59.90 Hz (CVT 2.36M9) hsync: 71.58 kHz; pclk: 197.00 MHz +Modeline "2048x1152" 197.00 2048 2184 2400 2752 1152 1155 1160 1195 -hsync +vsync + +# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz +Modeline "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync + +# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz +Modeline "2560x1440" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync + +# 2880x1620 59.97 Hz (CVT 4.67M9-R) hsync: 99.92 kHz; pclk: 303.75 MHz +Modeline "2880x1620R" 303.75 2880 2928 2960 3040 1620 1623 1628 1666 +hsync -vsync + +# 2880x1620 59.96 Hz (CVT 4.67M9) hsync: 100.67 kHz; pclk: 396.25 MHz +Modeline "2880x1620" 396.25 2880 3096 3408 3936 1620 1623 1628 1679 -hsync +vsync + +# 3200x1800 59.94 Hz (CVT 5.76M9-R) hsync: 111.01 kHz; pclk: 373.00 MHz +Modeline "3200x1800R" 373.00 3200 3248 3280 3360 1800 1803 1808 1852 +hsync -vsync + +# 3200x1800 59.96 Hz (CVT 5.76M9) hsync: 111.82 kHz; pclk: 492.00 MHz +Modeline "3200x1800" 492.00 3200 3456 3800 4400 1800 1803 1808 1865 -hsync +vsync + +# 3840x2160 59.97 Hz (CVT 8.29M9-R) hsync: 133.25 kHz; pclk: 533.00 MHz +Modeline "3840x2160R" 533.00 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync + +# 3840x2160 59.98 Hz (CVT 8.29M9) hsync: 134.18 kHz; pclk: 712.75 MHz +Modeline "3840x2160" 712.75 3840 4160 4576 5312 2160 2163 2168 2237 -hsync +vsync + +# 4096x2304 59.98 Hz (CVT 9.44M9-R) hsync: 142.15 kHz; pclk: 605.00 MHz +Modeline "4096x2304R" 605.00 4096 4144 4176 4256 2304 2307 2312 2370 +hsync -vsync + +# 4096x2304 59.99 Hz (CVT 9.44M9) hsync: 143.13 kHz; pclk: 813.00 MHz +Modeline "4096x2304" 813.00 4096 4440 4888 5680 2304 2307 2312 2386 -hsync +vsync + +# 5120x2880 59.99 Hz (CVT 14.75M9-R) hsync: 177.70 kHz; pclk: 938.25 MHz +Modeline "5120x2880R" 938.25 5120 5168 5200 5280 2880 2883 2888 2962 +hsync -vsync + +# 5120x2880 59.99 Hz (CVT 14.75M9) hsync: 178.88 kHz; pclk: 1276.50 MHz +Modeline "5120x2880" 1276.50 5120 5560 6128 7136 2880 2883 2888 2982 -hsync +vsync + +# 7680x4320 59.99 Hz (CVT 33.18M9-R) hsync: 266.55 kHz; pclk: 2089.75 MHz +Modeline "7680x4320R" 2089.75 7680 7728 7760 7840 4320 4323 4328 4443 +hsync -vsync + +# 7680x4320 59.99 Hz (CVT 33.18M9) hsync: 268.22 kHz; pclk: 2892.50 MHz +Modeline "7680x4320" 2892.50 7680 8376 9232 10784 4320 4323 4328 4471 -hsync +vsync + +# 15360x8640 59.99 Hz (CVT 132.71M9-R) hsync: 533.10 kHz; pclk: 8273.75 MHz +Modeline "15360x8640R" 8273.75 15360 15408 15440 15520 8640 8643 8648 8886 +hsync -vsync + +# 15360x8640 60.00 Hz (CVT 132.71M9) hsync: 536.27 kHz; pclk: 11669.25 MHz +Modeline "15360x8640" 11669.25 15360 16824 18560 21760 8640 8643 8648 8938 -hsync +vsync + +## 16:10 modelines generated by cvt + +# 1280x800 59.91 Hz (CVT 1.02MA-R) hsync: 49.31 kHz; pclk: 71.00 MHz +Modeline "1280x800R" 71.00 1280 1328 1360 1440 800 803 809 823 +hsync -vsync + +# 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz +Modeline "1280x800" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync + +# 1400x900 59.88 Hz (CVT) hsync: 55.45 kHz; pclk: 86.50 MHz +Modeline "1400x900R" 86.50 1400 1448 1480 1560 900 903 913 926 +hsync -vsync + +# 1400x900 59.96 Hz (CVT) hsync: 56.01 kHz; pclk: 103.50 MHz +Modeline "1400x900" 103.50 1400 1480 1624 1848 900 903 913 934 -hsync +vsync + +# 1680x1050 59.88 Hz (CVT 1.76MA-R) hsync: 64.67 kHz; pclk: 119.00 MHz +Modeline "1680x1050R" 119.00 1680 1728 1760 1840 1050 1053 1059 1080 +hsync -vsync + +# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz +Modeline "1680x1050" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync + +# 1920x1200 59.95 Hz (CVT 2.30MA-R) hsync: 74.04 kHz; pclk: 154.00 MHz +Modeline "1920x1200R" 154.00 1920 1968 2000 2080 1200 1203 1209 1235 +hsync -vsync + +# 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz +Modeline "1920x1200" 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync + +# 2560x1600 59.97 Hz (CVT 4.10MA-R) hsync: 98.71 kHz; pclk: 268.50 MHz +Modeline "2560x1600R" 268.50 2560 2608 2640 2720 1600 1603 1609 1646 +hsync -vsync + +# 2560x1600 59.99 Hz (CVT 4.10MA) hsync: 99.46 kHz; pclk: 348.50 MHz +Modeline "2560x1600" 348.50 2560 2760 3032 3504 1600 1603 1609 1658 -hsync +vsync diff --git a/xserver/hw/xfree86/common/xf86xvmc.c b/xserver/hw/xfree86/common/xf86xvmc.c index a0a94c74b..c67418bf4 100644 --- a/xserver/hw/xfree86/common/xf86xvmc.c +++ b/xserver/hw/xfree86/common/xf86xvmc.c @@ -187,6 +187,7 @@ xf86XvMCScreenInit(ScreenPtr pScreen, } if (!pAdapt[i].xv_adaptor) { /* no adaptor by that name */ + pScreenPriv->dixinfo = FALSE; free(pAdapt); return FALSE; } diff --git a/xserver/hw/xwayland/xwayland-input.c b/xserver/hw/xwayland/xwayland-input.c index f2564d5d3..d96e6f2a4 100644 --- a/xserver/hw/xwayland/xwayland-input.c +++ b/xserver/hw/xwayland/xwayland-input.c @@ -639,7 +639,7 @@ keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard, XkbDeviceApplyKeymap(xwl_seat->keyboard, xkb); master = GetMaster(xwl_seat->keyboard, MASTER_KEYBOARD); - if (master && master->lastSlave == xwl_seat->keyboard) + if (master) XkbDeviceApplyKeymap(master, xkb); XkbFreeKeyboard(xkb, XkbAllComponentsMask, TRUE); diff --git a/xserver/hw/xwayland/xwayland.c b/xserver/hw/xwayland/xwayland.c index 939f3392c..d0bdf36a4 100644 --- a/xserver/hw/xwayland/xwayland.c +++ b/xserver/hw/xwayland/xwayland.c @@ -159,6 +159,9 @@ xwl_window_from_window(WindowPtr window) static struct xwl_seat * xwl_screen_get_default_seat(struct xwl_screen *xwl_screen) { + if (xorg_list_is_empty(&xwl_screen->seat_list)) + return NULL; + return container_of(xwl_screen->seat_list.prev, struct xwl_seat, link); @@ -218,6 +221,10 @@ xwl_cursor_confined_to(DeviceIntPtr device, if (!xwl_seat) xwl_seat = xwl_screen_get_default_seat(xwl_screen); + /* xwl_seat hasn't been setup yet, don't do anything just yet */ + if (!xwl_seat) + return; + if (window == screen->root) { xwl_seat_unconfine_pointer(xwl_seat); return; @@ -454,8 +461,7 @@ xwl_unrealize_window(WindowPtr window) return ret; wl_surface_destroy(xwl_window->surface); - if (RegionNotEmpty(DamageRegion(xwl_window->damage))) - xorg_list_del(&xwl_window->link_damage); + xorg_list_del(&xwl_window->link_damage); DamageUnregister(xwl_window->damage); DamageDestroy(xwl_window->damage); if (xwl_window->frame_callback) |