summaryrefslogtreecommitdiff
path: root/xserver/hw
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2019-03-19 21:19:58 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2019-03-19 21:19:58 +0000
commit20cdf7268f0006bb9ffa593ffd2235295b561f51 (patch)
treed931fee6ce2111c6a9a875a00ea0a035dd95e41e /xserver/hw
parentc5e7388ec138dcbf9c68c208cb4764841a0208be (diff)
Update to xserver 1.19.7. Tested by jca@ and stsp@.
Diffstat (limited to 'xserver/hw')
-rw-r--r--xserver/hw/xfree86/Makefile.am4
-rw-r--r--xserver/hw/xfree86/Makefile.in48
-rw-r--r--xserver/hw/xfree86/common/extramodes141
-rw-r--r--xserver/hw/xfree86/common/xf86xvmc.c1
-rw-r--r--xserver/hw/xwayland/xwayland-input.c2
-rw-r--r--xserver/hw/xwayland/xwayland.c10
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)