author | Alan Coopersmith <Alan.Coopersmith@Sun.COM> |
Tue, 31 Jul 2007 15:09:29 -0700 | |
changeset 194 | c2b76d8a41f7 |
parent 98 | c21b46ed1efd |
child 235 | 06772554f851 |
permissions | -rw-r--r-- |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1 |
# Copyright 2007 Sun Microsystems, Inc. All rights reserved. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2 |
# Use subject to license terms. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
3 |
# |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
4 |
# Permission is hereby granted, free of charge, to any person obtaining a |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
5 |
# copy of this software and associated documentation files (the |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
6 |
# "Software"), to deal in the Software without restriction, including |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
7 |
# without limitation the rights to use, copy, modify, merge, publish, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
8 |
# distribute, and/or sell copies of the Software, and to permit persons |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
9 |
# to whom the Software is furnished to do so, provided that the above |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
10 |
# copyright notice(s) and this permission notice appear in all copies of |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
11 |
# the Software and that both the above copyright notice(s) and this |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
12 |
# permission notice appear in supporting documentation. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
13 |
# |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
14 |
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
15 |
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
16 |
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
17 |
# OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
18 |
# HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
19 |
# INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
20 |
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
21 |
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
22 |
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
23 |
# |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
24 |
# Except as contained in this notice, the name of a copyright holder |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
25 |
# shall not be used in advertising or otherwise to promote the sale, use |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
26 |
# or other dealings in this Software without prior written authorization |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
27 |
# of the copyright holder. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
28 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
29 |
diff -urp -x '*~' -x '*.orig' Xext/Makefile.am Xext/Makefile.am |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
30 |
--- Xext/Makefile.am 2007-07-30 18:38:42.289597000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
31 |
+++ Xext/Makefile.am 2007-07-30 18:38:58.872659000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
32 |
@@ -153,6 +153,12 @@ endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
33 |
TSOL_SRCS = tsolCompat.c |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
34 |
BUILTIN_SRCS += $(TSOL_SRCS) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
35 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
36 |
+# Project Looking Glass Extension |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
37 |
+LGE_SRCS = lge.c |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
38 |
+if LGE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
39 |
+BUILTIN_SRCS += $(LGE_SRCS) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
40 |
+endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
41 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
42 |
# Now take all of the above, mix well, bake for 10 minutes and get libXext*.la |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
43 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
44 |
libXext_la_SOURCES = $(BUILTIN_SRCS) $(MODULE_SRCS) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
45 |
@@ -182,5 +188,6 @@ EXTRA_DIST = \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
46 |
$(EXTRA_MULTIBUFFER_SRCS) \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
47 |
$(FONTCACHE_SRCS) \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
48 |
$(BIGFONT_SRCS) \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
49 |
- $(DPMS_SRCS) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
50 |
+ $(DPMS_SRCS) \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
51 |
+ $(LGE_SRCS) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
52 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
53 |
diff -urp -x '*~' -x '*.orig' configure.ac configure.ac |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
54 |
--- configure.ac 2007-07-30 18:38:42.685647000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
55 |
+++ configure.ac 2007-07-30 18:38:58.875135000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
56 |
@@ -444,6 +444,7 @@ AC_ARG_ENABLE(appgroup, AS_HELP_ST |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
57 |
AC_ARG_ENABLE(xcalibrate, AS_HELP_STRING([--enable-xcalibrate], [Build XCalibrate extension (default: disabled)]), [XCALIBRATE=$enableval], [XCALIBRATE=no]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
58 |
AC_ARG_ENABLE(tslib, AS_HELP_STRING([--enable-tslib], [Build kdrive tslib touchscreen support (default: disabled)]), [TSLIB=$enableval], [TSLIB=no]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
59 |
AC_ARG_ENABLE(xevie, AS_HELP_STRING([--disable-xevie], [Build XEvIE extension (default: enabled)]), [XEVIE=$enableval], [XEVIE=yes]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
60 |
+AC_ARG_ENABLE(lge, AS_HELP_STRING([--disable-lge], [Build Project Looking Glass extension (default: enabled)]), [LGE=$enableval], [LGE=yes]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
61 |
AC_ARG_ENABLE(cup, AS_HELP_STRING([--disable-cup], [Build TOG-CUP extension (default: enabled)]), [CUP=$enableval], [CUP=yes]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
62 |
AC_ARG_ENABLE(evi, AS_HELP_STRING([--disable-evi], [Build Extended-Visual-Information extension (default: enabled)]), [EVI=$enableval], [EVI=yes]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
63 |
AC_ARG_ENABLE(multibuffer, AS_HELP_STRING([--enable-multibuffer], [Build Multibuffer extension (default: disabled)]), [MULTIBUFFER=$enableval], [MULTIBUFFER=no]) |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
64 |
@@ -673,6 +674,12 @@ if test "x$XEVIE" = xyes; then |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
65 |
REQUIRED_MODULES="$REQUIRED_MODULES evieproto" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
66 |
fi |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
67 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
68 |
+AM_CONDITIONAL(LGE, [test "x$LGE" = xyes]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
69 |
+if test "x$LGE" = xyes; then |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
70 |
+ AC_DEFINE(LGE, 1, [Build Project Looking Glass extension]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
71 |
+ REQUIRED_MODULES="$REQUIRED_MODULES lg3dproto" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
72 |
+fi |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
73 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
74 |
AM_CONDITIONAL(APPGROUP, [test "x$APPGROUP" = xyes]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
75 |
if test "x$APPGROUP" = xyes; then |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
76 |
if test "x$XACE" != xyes || test "x$XCSECURITY" != xyes; then |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
77 |
@@ -896,7 +903,7 @@ CORE_INCS='-I$(top_srcdir)/include -I$(t |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
78 |
PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
79 |
PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
80 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
81 |
-XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS}" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
82 |
+XSERVER_CFLAGS="${XSERVERCFLAGS_CFLAGS} -DLG3D" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
83 |
LIBS="${LIBS} -lproject" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
84 |
XSERVER_LIBS="${XSERVERLIBS_LIBS} ${SYS_LIBS} ${LIBS}" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
85 |
AC_SUBST([SYS_LIBS]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
86 |
diff -urp -x '*~' -x '*.orig' dix/Makefile.am dix/Makefile.am |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
87 |
--- dix/Makefile.am 2007-07-30 18:38:41.946697000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
88 |
+++ dix/Makefile.am 2007-07-30 18:38:58.875437000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
89 |
@@ -30,7 +30,8 @@ libdix_la_SOURCES = \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
90 |
swapreq.c \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
91 |
tables.c \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
92 |
window.c \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
93 |
- strcasecmp.c |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
94 |
+ strcasecmp.c \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
95 |
+ xytosubwin.c |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
96 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
97 |
libxpstubs_la_SOURCES = \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
98 |
xpstubs.c |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
99 |
diff -urp -x '*~' -x '*.orig' dix/events.c dix/events.c |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
100 |
--- dix/events.c 2007-07-30 18:38:42.325047000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
101 |
+++ dix/events.c 2007-07-30 18:38:58.878579000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
102 |
@@ -167,6 +167,23 @@ xEvent *xeviexE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
103 |
#include "dixgrabs.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
104 |
#include "dispatch.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
105 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
106 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
107 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
108 |
+#include <X11/extensions/damagewire.h> |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
109 |
+#include "../Xext/lgeint.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
110 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
111 |
+extern void |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
112 |
+fillSpriteTraceFromRootToWin (WindowPtr pWin); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
113 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
114 |
+extern WindowPtr XYToSubWindow (WindowPtr pWin, int x, int y, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
115 |
+ int *xWinRel, int *yWinRel); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
116 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
117 |
+Bool PointInBorderSize(WindowPtr pWin, int x, int y); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
118 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
119 |
+extern Window GetLgPrwFromSprite(void); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
120 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
121 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
122 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
123 |
#define EXTENSION_EVENT_BASE 64 |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
124 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
125 |
#define NoSuchEvent 0x80000000 /* so doesn't match NoEventMask */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
126 |
@@ -230,10 +247,18 @@ static struct { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
127 |
* windows between the root and the current pointer window each time a button |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
128 |
* or key goes down. The grabs on each of those windows must be checked. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
129 |
*/ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
130 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
131 |
+WindowPtr *spriteTrace = (WindowPtr *)NULL; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
132 |
+WindowPtr lgeCurrentRootWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
133 |
+#define ROOT spriteTrace[0] |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
134 |
+int spriteTraceSize = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
135 |
+int spriteTraceGood; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
136 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
137 |
static WindowPtr *spriteTrace = (WindowPtr *)NULL; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
138 |
#define ROOT spriteTrace[0] |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
139 |
static int spriteTraceSize = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
140 |
static int spriteTraceGood; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
141 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
142 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
143 |
static struct { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
144 |
CursorPtr current; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
145 |
@@ -255,6 +280,15 @@ static struct { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
146 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
147 |
} sprite; /* info about the cursor sprite */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
148 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
149 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
150 |
+typedef struct virtual_sprite { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
151 |
+ WindowPtr win; /* The top-level window the sprite is in (or PRW) */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
152 |
+ HotSpot hot; /* Sprite location relative to win */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
153 |
+} VirtualSprite; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
154 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
155 |
+static VirtualSprite virtualSprite = { NULL, {0, 0} }; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
156 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
157 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
158 |
#ifdef XEVIE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
159 |
_X_EXPORT WindowPtr xeviewin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
160 |
_X_EXPORT HotSpot xeviehot; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
161 |
@@ -1160,7 +1194,28 @@ ComputeFreezes() |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
162 |
count = replayDev->sync.evcount; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
163 |
syncEvents.replayDev = (DeviceIntPtr)NULL; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
164 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
165 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
166 |
+ { WindowPtr pWin = (WindowPtr) LookupIDByType(XE_KBPTR.event, RT_WINDOW); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
167 |
+ if (lgeDisplayServerIsAlive && GetLgePRWForRoot(pWin)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
168 |
+ if (sprite.hotPhys.pScreen != pWin->drawable.pScreen) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
169 |
+ w = XYToSubWindow(pWin, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
170 |
+ xE->u.keyButtonPointer.eventX, xE->u.keyButtonPointer.eventY, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
171 |
+ &virtualSprite.hot.x, &virtualSprite.hot.y); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
172 |
+ if (IsWinLgePRWOne(w->drawable.id)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
173 |
+ ErrorF("ComputeFreezes %d %d seq %d\n", (int)xE->u.keyButtonPointer.event, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
174 |
+ (int)w->drawable.id, xE->u.u.sequenceNumber); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
175 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
176 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
177 |
+ w = XYToWindow( XE_KBPTR.rootX, XE_KBPTR.rootY); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
178 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
179 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
180 |
+ w = XYToWindow( XE_KBPTR.rootX, XE_KBPTR.rootY); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
181 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
182 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
183 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
184 |
w = XYToWindow( XE_KBPTR.rootX, XE_KBPTR.rootY); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
185 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
186 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
187 |
for (i = 0; i < spriteTraceGood; i++) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
188 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
189 |
if (syncEvents.replayWin == spriteTrace[i]) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
190 |
@@ -1770,6 +1825,151 @@ MaybeDeliverEventsToClient(register Wind |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
191 |
return 2; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
192 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
193 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
194 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
195 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
196 |
+/* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
197 |
+** Returns true if the event type is one which was generated |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
198 |
+** by an input device. These are the only types of events |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
199 |
+** which been sent to the Display Server so they are the only |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
200 |
+** types of events which have the event field already set. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
201 |
+** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
202 |
+** TODO: this macro does not yet support XINPUT devices. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
203 |
+*/ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
204 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
205 |
+#define EVENT_IS_DEVICE_EVENT(e) \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
206 |
+ ((e)->u.u.type == KeyPress || \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
207 |
+ (e)->u.u.type == KeyRelease || \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
208 |
+ (e)->u.u.type == ButtonPress || \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
209 |
+ (e)->u.u.type == ButtonRelease || \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
210 |
+ (e)->u.u.type == MotionNotify) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
211 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
212 |
+static void |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
213 |
+lgeFixUpEventFromPRW( |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
214 |
+ xEvent *xE, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
215 |
+ WindowPtr pWin, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
216 |
+ Window child, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
217 |
+ Bool calcChild) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
218 |
+{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
219 |
+ XE_KBPTR.root = ROOT->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
220 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
221 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
222 |
+ ** If the non-3D event is going to the DS (e.g. because |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
223 |
+ ** of a grab) make the the coordinates relative to the PRW |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
224 |
+ ** (that is, screen absolute), |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
225 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
226 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
227 |
+ if (!IsWinLgePRWOne(XE_KBPTR.event)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
228 |
+ WindowPtr pOldWin = (WindowPtr) LookupIDByType(XE_KBPTR.event, RT_WINDOW); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
229 |
+ if (pOldWin != NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
230 |
+ XE_KBPTR.eventX = XE_KBPTR.rootX; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
231 |
+ XE_KBPTR.eventY = XE_KBPTR.rootY; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
232 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
233 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
234 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
235 |
+ XE_KBPTR.event = pWin->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
236 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
237 |
+ if (sprite.hot.pScreen != pWin->drawable.pScreen) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
238 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
239 |
+ XE_KBPTR.sameScreen = xFalse; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
240 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
241 |
+ XE_KBPTR.child = None; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
242 |
+ XE_KBPTR.eventX = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
243 |
+ XE_KBPTR.eventY = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
244 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
245 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
246 |
+ XE_KBPTR.sameScreen = xTrue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
247 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
248 |
+} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
249 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
250 |
+static void |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
251 |
+lgeFixUpEventFromXWindow( |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
252 |
+ xEvent *xE, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
253 |
+ WindowPtr pWin, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
254 |
+ Window child, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
255 |
+ Bool calcChild) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
256 |
+{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
257 |
+ Window eventWindowOld = INVALID; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
258 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
259 |
+ if (calcChild) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
260 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
261 |
+ WindowPtr w=spriteTrace[spriteTraceGood-1]; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
262 |
+ /* If the search ends up past the root should the child field be |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
263 |
+ set to none or should the value in the argument be passed |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
264 |
+ through. It probably doesn't matter since everyone calls |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
265 |
+ this function with child == None anyway. */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
266 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
267 |
+ while (w) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
268 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
269 |
+ /* If the source window is same as event window, child should be |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
270 |
+ none. Don't bother going all all the way back to the root. */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
271 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
272 |
+ if (w == pWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
273 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
274 |
+ child = None; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
275 |
+ break; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
276 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
277 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
278 |
+ if (w->parent == pWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
279 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
280 |
+ child = w->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
281 |
+ break; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
282 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
283 |
+ w = w->parent; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
284 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
285 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
286 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
287 |
+ XE_KBPTR.root = WindowTable[sprite.hotPhys.pScreen->myNum]->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
288 |
+ eventWindowOld = XE_KBPTR.event; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
289 |
+ XE_KBPTR.event = pWin->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
290 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
291 |
+ XE_KBPTR.sameScreen = xTrue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
292 |
+ if (sprite.hot.pScreen != pWin->drawable.pScreen) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
293 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
294 |
+ XE_KBPTR.sameScreen = xFalse; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
295 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
296 |
+ XE_KBPTR.child = None; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
297 |
+ XE_KBPTR.eventX = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
298 |
+ XE_KBPTR.eventY = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
299 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
300 |
+ /* TODO: Amir commented this out. Does we really want to not return? */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
301 |
+ return; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
302 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
303 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
304 |
+ XE_KBPTR.child = child; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
305 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
306 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
307 |
+ ** The only events needing fixup at this point are mouse events |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
308 |
+ ** where the event window has been changed. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
309 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
310 |
+ if ((xE->u.u.type == ButtonPress || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
311 |
+ xE->u.u.type == ButtonRelease || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
312 |
+ xE->u.u.type == MotionNotify) && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
313 |
+ eventWindowOld != XE_KBPTR.event) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
314 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
315 |
+ /* TODO: it would be good to avoid a resource lookup here. Some sort of |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
316 |
+ caching might optimize this */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
317 |
+ WindowPtr pOuterWin = (WindowPtr) LookupIDByType(eventWindowOld, RT_WINDOW); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
318 |
+ if (pOuterWin == NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
319 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
320 |
+ ** This can happen if the window has died since the pick on the window |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
321 |
+ ** occurred. So we don't need to be verbose about it. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
322 |
+ ErrorF("Error: FixupEventFromWindow: outer window %d, not found. No XY fix up occuring.\n", |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
323 |
+ eventWindowOld); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
324 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
325 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
326 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
327 |
+ ** Make the event coords relative to the destination window |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
328 |
+ ** instead of relative to the outer window. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
329 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
330 |
+ XE_KBPTR.eventX -= pWin->drawable.x - pOuterWin->drawable.x; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
331 |
+ XE_KBPTR.eventY -= pWin->drawable.y - pOuterWin->drawable.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
332 |
+ /*ErrorF("new eventxy = %d, %d", XE_KBPTR.eventX, XE_KBPTR.eventY);*/ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
333 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
334 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
335 |
+} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
336 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
337 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
338 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
339 |
static void |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
340 |
FixUpEventFromWindow( |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
341 |
xEvent *xE, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
342 |
@@ -1777,6 +1977,17 @@ FixUpEventFromWindow( |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
343 |
Window child, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
344 |
Bool calcChild) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
345 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
346 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
347 |
+ if (lgeDisplayServerIsAlive && GetLgePRWForRoot(pWin)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
348 |
+ if (EVENT_IS_DEVICE_EVENT(xE) && IsWinLgePRWOne(pWin->drawable.id)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
349 |
+ lgeFixUpEventFromPRW(xE, pWin, child, calcChild); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
350 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
351 |
+ lgeFixUpEventFromXWindow(xE, pWin, child, calcChild); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
352 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
353 |
+ return; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
354 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
355 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
356 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
357 |
if (calcChild) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
358 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
359 |
WindowPtr w=spriteTrace[spriteTraceGood-1]; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
360 |
@@ -1824,6 +2035,163 @@ FixUpEventFromWindow( |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
361 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
362 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
363 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
364 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
365 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
366 |
+/* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
367 |
+** Fix LG3D bug 293. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
368 |
+** This is similar to CheckMotion, but for button events |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
369 |
+*/ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
370 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
371 |
+static WindowPtr |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
372 |
+lg3dDetermineButtonDestWindow (xEvent *xE, WindowPtr spriteWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
373 |
+{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
374 |
+ WindowPtr pEventWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
375 |
+ WindowPtr pDestWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
376 |
+ int xDummy, yDummy; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
377 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
378 |
+ if (!lgeDisplayServerIsAlive) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
379 |
+ /* Backwards compatibility: the LG DS isn't running */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
380 |
+ return spriteWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
381 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
382 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
383 |
+ if (IsWinLgePRWOne(XE_KBPTR.event)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
384 |
+ /* This is a 3D event. Always send these to the PRW */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
385 |
+ return GetLgePRWWinFor(XE_KBPTR.event); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
386 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
387 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
388 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
389 |
+ ** At this point, we know that it is a 2D native window event. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
390 |
+ ** Determine the appropriate subwindow to which the event should be sent. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
391 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
392 |
+ pEventWin = (WindowPtr) LookupIDByType(XE_KBPTR.event, RT_WINDOW); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
393 |
+ if (pEventWin == NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
394 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
395 |
+ ** This may happen if the top-level destination window has been destroyed |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
396 |
+ ** since the pick was performed. So just make sure that the event is discarded. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
397 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
398 |
+ return NULL; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
399 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
400 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
401 |
+ pDestWin = XYToSubWindow(pEventWin, XE_KBPTR.eventX, XE_KBPTR.eventY, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
402 |
+ &xDummy, &yDummy); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
403 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
404 |
+ return pDestWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
405 |
+} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
406 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
407 |
+static int |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
408 |
+DeliverDeviceEventsXorg(register WindowPtr pWin, register xEvent *xE, GrabPtr grab, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
409 |
+ register WindowPtr stopAt, DeviceIntPtr dev, int count) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
410 |
+{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
411 |
+ Window child = None; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
412 |
+ int type = xE->u.u.type; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
413 |
+ Mask filter = filters[type]; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
414 |
+ int deliveries = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
415 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
416 |
+ WindowPtr tmpWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
417 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
418 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
419 |
+ if (type & EXTENSION_EVENT_BASE) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
420 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
421 |
+ register OtherInputMasks *inputMasks; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
422 |
+ int mskidx = dev->id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
423 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
424 |
+ inputMasks = wOtherInputMasks(pWin); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
425 |
+ if (inputMasks && !(filter & inputMasks->deliverableEvents[mskidx])) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
426 |
+ return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
427 |
+ while (pWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
428 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
429 |
+ if (inputMasks && (inputMasks->inputEvents[mskidx] & filter)) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
430 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
431 |
+ FixUpEventFromWindow(xE, pWin, child, FALSE); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
432 |
+ deliveries = DeliverEventsToWindow(pWin, xE, count, filter, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
433 |
+ grab, mskidx); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
434 |
+ if (deliveries > 0) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
435 |
+ return deliveries; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
436 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
437 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
438 |
+ tmpWin = (pWin->parent) ? pWin->parent : pWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
439 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
440 |
+ if ((deliveries < 0) || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
441 |
+ (pWin == stopAt) || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
442 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
443 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
444 |
+ ** Stop propogating when the parent of the window is the PRW. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
445 |
+ ** This prevents events that are not caught by any X11 window from |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
446 |
+ ** being sent back to the the Display Server, because the DS can |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
447 |
+ ** misinterpret these. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
448 |
+ ** TODO: we need to decide if a server change is the best way to |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
449 |
+ ** deal with this problem, or whether the DS or WM can do something |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
450 |
+ ** about it. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
451 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
452 |
+ (lgeDisplayServerIsAlive && (pWin->parent) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
453 |
+ && pWin->parent->drawable.id == IsWinLgePRWOne(tmpWin->drawable.id)) || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
454 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
455 |
+ (inputMasks && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
456 |
+ (filter & inputMasks->dontPropagateMask[mskidx]))) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
457 |
+ return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
458 |
+ child = pWin->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
459 |
+ pWin = pWin->parent; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
460 |
+ if (pWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
461 |
+ inputMasks = wOtherInputMasks(pWin); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
462 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
463 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
464 |
+ else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
465 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
466 |
+ if (!(filter & pWin->deliverableEvents)) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
467 |
+ return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
468 |
+ while (pWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
469 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
470 |
+ if ((wOtherEventMasks(pWin)|pWin->eventMask) & filter) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
471 |
+ { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
472 |
+ FixUpEventFromWindow(xE, pWin, child, FALSE); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
473 |
+ deliveries = DeliverEventsToWindow(pWin, xE, count, filter, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
474 |
+ grab, 0); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
475 |
+ if (deliveries > 0) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
476 |
+ return deliveries; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
477 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
478 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
479 |
+ tmpWin = (pWin->parent) ? pWin->parent : pWin; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
480 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
481 |
+ if ((deliveries < 0) || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
482 |
+ (pWin == stopAt) || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
483 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
484 |
+ /* See comment above */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
485 |
+ (lgeDisplayServerIsAlive |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
486 |
+ && pWin->parent->drawable.id == IsWinLgePRWOne(tmpWin->drawable.id)) || |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
487 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
488 |
+ (filter & wDontPropagateMask(pWin))) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
489 |
+ return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
490 |
+ child = pWin->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
491 |
+ pWin = pWin->parent; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
492 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
493 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
494 |
+ return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
495 |
+} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
496 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
497 |
+int |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
498 |
+DeliverDeviceEvents (WindowPtr pSpriteWin, xEvent *xE, GrabPtr grab, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
499 |
+ WindowPtr stopAt, DeviceIntPtr dev, int count) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
500 |
+{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
501 |
+ int ret; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
502 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
503 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
504 |
+ ** Fix LG3D bug 293: make sure that we send button events for |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
505 |
+ ** 2D to a subwindow of the top-level window that the DS Picker |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
506 |
+ ** has chosen. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
507 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
508 |
+ if (xE->u.u.type == ButtonPress || xE->u.u.type == ButtonRelease) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
509 |
+ WindowPtr pDestWin = lg3dDetermineButtonDestWindow(xE, pSpriteWin); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
510 |
+ if (pDestWin == NULL) return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
511 |
+ ret = DeliverDeviceEventsXorg(pDestWin, xE, grab, stopAt, dev, count); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
512 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
513 |
+ ret = DeliverDeviceEventsXorg(pSpriteWin, xE, grab, stopAt, dev, count); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
514 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
515 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
516 |
+ return ret; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
517 |
+} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
518 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
519 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
520 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
521 |
int |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
522 |
DeliverDeviceEvents(register WindowPtr pWin, register xEvent *xE, GrabPtr grab, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
523 |
register WindowPtr stopAt, DeviceIntPtr dev, int count) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
524 |
@@ -1887,6 +2255,8 @@ DeliverDeviceEvents(register WindowPtr p |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
525 |
return 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
526 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
527 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
528 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
529 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
530 |
/* not useful for events that propagate up the tree or extension events */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
531 |
_X_EXPORT int |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
532 |
DeliverEvents(register WindowPtr pWin, register xEvent *xE, int count, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
533 |
@@ -1927,7 +2297,11 @@ DeliverEvents(register WindowPtr pWin, r |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
534 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
535 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
536 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
537 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
538 |
+Bool |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
539 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
540 |
static Bool |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
541 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
542 |
PointInBorderSize(WindowPtr pWin, int x, int y) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
543 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
544 |
BoxRec box; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
545 |
@@ -2052,10 +2426,58 @@ CheckMotion(xEvent *xE) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
546 |
XE_KBPTR.rootY = sprite.hot.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
547 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
548 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
549 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
550 |
+ if (lgeDisplayServerIsAlive |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
551 |
+ && (GetLgPrwFromSprite() != INVALID)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
552 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
553 |
+ if (xE == NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
554 |
+ /* WindowsRestructured case */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
555 |
+ /* TODO: this may change */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
556 |
+ sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
557 |
+ virtualSprite.hot.x = sprite.hot.x - sprite.win->drawable.x; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
558 |
+ virtualSprite.hot.y = sprite.hot.y - sprite.win->drawable.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
559 |
+ } else if (XE_KBPTR.event == IsWinLgePRWOne(XE_KBPTR.event)) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
560 |
+ /* 3D Event */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
561 |
+ sprite.win = GetLgePRWWinFor(XE_KBPTR.event); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
562 |
+ virtualSprite.hot.x = sprite.hot.x; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
563 |
+ virtualSprite.hot.y = sprite.hot.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
564 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
565 |
+ /* We must keep the sprite trace up-to-date */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
566 |
+ if (sprite.win != NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
567 |
+ fillSpriteTraceFromRootToWin(sprite.win); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
568 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
569 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
570 |
+ /* Normal X Event */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
571 |
+ WindowPtr pEventWin = (WindowPtr) LookupIDByType(XE_KBPTR.event, RT_WINDOW); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
572 |
+ if (pEventWin == NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
573 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
574 |
+ ** TODO: this may not be the best way to handle this case, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
575 |
+ ** but it's better than doing an XYToWindow, because XYToWindow |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
576 |
+ ** may return the PRW, and if we send a native window event to |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
577 |
+ ** the PRW there won't be a corresponding evinfo, so the DS will crash. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
578 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
579 |
+ return FALSE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
580 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
581 |
+ lgeCurrentRootWin = WindowTable[sprite.hotPhys.pScreen->myNum]; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
582 |
+ sprite.win = XYToSubWindow(pEventWin, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
583 |
+ XE_KBPTR.eventX, XE_KBPTR.eventY, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
584 |
+ &virtualSprite.hot.x, &virtualSprite.hot.y); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
585 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
586 |
+ virtualSprite.win = sprite.win; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
587 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
588 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
589 |
+ sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
590 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
591 |
+#ifdef XEVIE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
592 |
+ xeviewin = sprite.win; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
593 |
+#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
594 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
595 |
#ifdef XEVIE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
596 |
xeviewin = |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
597 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
598 |
sprite.win = XYToWindow(sprite.hot.x, sprite.hot.y); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
599 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
600 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
601 |
#ifdef notyet |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
602 |
if (!(sprite.win->deliverableEvents & |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
603 |
Motion_Filter(inputInfo.pointer->button)) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
604 |
@@ -2861,7 +3283,16 @@ drawable.id:0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
605 |
else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
606 |
DeliverFocusedEvent(keybd, xE, sprite.win, count); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
607 |
if (deactivateGrab) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
608 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
609 |
+ /* Make sure any queued events which are released are sent to the DS */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
610 |
+ { int prevComesFromDS = lgeEventComesFromDS; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
611 |
+ lgeEventComesFromDS = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
612 |
+ (*keybd->DeactivateGrab)(keybd); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
613 |
+ lgeEventComesFromDS = prevComesFromDS; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
614 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
615 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
616 |
(*keybd->DeactivateGrab)(keybd); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
617 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
618 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
619 |
#ifdef XACE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
620 |
XaceHook(XACE_KEY_AVAIL, xE, keybd, count); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
621 |
@@ -2930,6 +3361,36 @@ ProcessPointerEvent (register xEvent *xE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
622 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
623 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
624 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
625 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
626 |
+ if (lgeDisplayServerIsAlive && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
627 |
+ !lgePickerClient->clientGone && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
628 |
+ !lgeEventComesFromDS) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
629 |
+ Window prw = GetLgPrwFromSprite(); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
630 |
+ if (prw != INVALID) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
631 |
+ xEvent *e = xE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
632 |
+ int i; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
633 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
634 |
+ for (i = 0; i < count; i++, e++) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
635 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
636 |
+ ErrorF("Send event XS->DS, type = %d xy = %d, %d, state = 0x%x\n", |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
637 |
+ e->u.u.type, e->u.keyButtonPointer.rootX, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
638 |
+ e->u.keyButtonPointer.rootY, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
639 |
+ e->u.keyButtonPointer.state); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
640 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
641 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
642 |
+ /* Note: the root id of raw device events on LG screens is the prw */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
643 |
+ e->u.keyButtonPointer.root = prw; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
644 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
645 |
+ e->u.keyButtonPointer.child = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
646 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
647 |
+ WriteEventsToClient(lgePickerClient, 1, e); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
648 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
649 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
650 |
+ return; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
651 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
652 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
653 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
654 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
655 |
if (!syncEvents.playingEvents) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
656 |
NoticeTime(xE) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
657 |
XE_KBPTR.state = (butc->state | ( |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
658 |
@@ -3011,7 +3472,16 @@ ProcessPointerEvent (register xEvent *xE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
659 |
DeliverDeviceEvents(sprite.win, xE, NullGrab, NullWindow, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
660 |
mouse, count); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
661 |
if (deactivateGrab) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
662 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
663 |
+ /* Make sure any queued events which are released are sent to the DS */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
664 |
+ { int prevComesFromDS = lgeEventComesFromDS; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
665 |
+ lgeEventComesFromDS = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
666 |
+ (*mouse->DeactivateGrab)(mouse); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
667 |
+ lgeEventComesFromDS = prevComesFromDS; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
668 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
669 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
670 |
(*mouse->DeactivateGrab)(mouse); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
671 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
672 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
673 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
674 |
#define AtMostOneClient \ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
675 |
@@ -3995,8 +4465,29 @@ ProcQueryPointer(ClientPtr client) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
676 |
if (sprite.hot.pScreen == pWin->drawable.pScreen) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
677 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
678 |
rep.sameScreen = xTrue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
679 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
680 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
681 |
+ ** TODO: this only works when pWin is the top-level |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
682 |
+ ** window (or a descendent of the top level window) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
683 |
+ ** of the current virtual sprite window. We haven't |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
684 |
+ ** yet figured out what the semantics should be for |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
685 |
+ ** the case where this is not true. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
686 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
687 |
+ if (lgeDisplayServerIsAlive && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
688 |
+ (GetLgPrwFromSprite() != INVALID) && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
689 |
+ virtualSprite.win != NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
690 |
+ rep.winX = virtualSprite.win->drawable.x + virtualSprite.hot.x - |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
691 |
+ pWin->drawable.x; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
692 |
+ rep.winY = virtualSprite.win->drawable.y + virtualSprite.hot.y - |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
693 |
+ pWin->drawable.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
694 |
+ } else { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
695 |
+ rep.winX = sprite.hot.x - pWin->drawable.x; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
696 |
+ rep.winY = sprite.hot.y - pWin->drawable.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
697 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
698 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
699 |
rep.winX = sprite.hot.x - pWin->drawable.x; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
700 |
rep.winY = sprite.hot.y - pWin->drawable.y; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
701 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
702 |
for (t = sprite.win; t; t = t->parent) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
703 |
if (t->parent == pWin) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
704 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
705 |
@@ -4621,3 +5112,17 @@ WriteEventsToClient(ClientPtr pClient, i |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
706 |
(void)WriteToClient(pClient, count * sizeof(xEvent), (char *) events); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
707 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
708 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
709 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
710 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
711 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
712 |
+Window |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
713 |
+GetLgPrwFromSprite(void) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
714 |
+{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
715 |
+ WindowPtr pWin = GetLgePRWForRoot(WindowTable[sprite.hotPhys.pScreen->myNum]); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
716 |
+ if (pWin == NULL) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
717 |
+ return INVALID; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
718 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
719 |
+ return pWin->drawable.id; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
720 |
+} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
721 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
722 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
723 |
diff -urp -x '*~' -x '*.orig' dix/extension.c dix/extension.c |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
724 |
--- dix/extension.c 2007-07-30 18:38:41.952219000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
725 |
+++ dix/extension.c 2007-07-30 18:38:58.879424000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
726 |
@@ -63,6 +63,10 @@ SOFTWARE. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
727 |
#include "xace.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
728 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
729 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
730 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
731 |
+#include "../Xext/lgeint.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
732 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
733 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
734 |
#define EXTENSION_BASE 128 |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
735 |
#define EXTENSION_EVENT_BASE 64 |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
736 |
#define LAST_EVENT 128 |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
737 |
@@ -70,11 +74,19 @@ SOFTWARE. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
738 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
739 |
ScreenProcEntry AuxillaryScreenProcs[MAXSCREENS]; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
740 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
741 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
742 |
+ExtensionEntry **extensions = (ExtensionEntry **)NULL; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
743 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
744 |
static ExtensionEntry **extensions = (ExtensionEntry **)NULL; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
745 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
746 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
747 |
int lastEvent = EXTENSION_EVENT_BASE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
748 |
static int lastError = FirstExtensionError; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
749 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
750 |
+unsigned int NumExtensions = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
751 |
+#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
752 |
static unsigned int NumExtensions = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
753 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
754 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
755 |
extern int extensionPrivateLen; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
756 |
extern unsigned *extensionPrivateSizes; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
757 |
@@ -381,6 +393,12 @@ ProcListExtensions(ClientPtr client) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
758 |
if (!XaceHook(XACE_EXT_ACCESS, client, extensions[i])) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
759 |
continue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
760 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
761 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
762 |
+ if (lgeDisplayServerIsAlive && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
763 |
+ !lgeCompatibleExtension(extensions[i])) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
764 |
+ continue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
765 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
766 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
767 |
total_length += strlen(extensions[i]->name) + 1; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
768 |
reply.nExtensions += 1 + extensions[i]->num_aliases; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
769 |
for (j = extensions[i]->num_aliases; --j >= 0;) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
770 |
@@ -397,6 +415,12 @@ ProcListExtensions(ClientPtr client) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
771 |
if (!XaceHook(XACE_EXT_ACCESS, client, extensions[i])) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
772 |
continue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
773 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
774 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
775 |
+ if (lgeDisplayServerIsAlive && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
776 |
+ !lgeCompatibleExtension(extensions[i])) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
777 |
+ continue; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
778 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
779 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
780 |
*bufptr++ = len = strlen(extensions[i]->name); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
781 |
memmove(bufptr, extensions[i]->name, len); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
782 |
bufptr += len; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
783 |
diff -urp -x '*~' -x '*.orig' include/globals.h include/globals.h |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
784 |
--- include/globals.h 2006-09-17 23:04:18.000000000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
785 |
+++ include/globals.h 2007-07-30 18:38:58.898264000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
786 |
@@ -184,4 +184,8 @@ extern Bool noXIdleExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
787 |
extern Bool noXvExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
788 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
789 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
790 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
791 |
+extern Bool noLgeExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
792 |
+#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
793 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
794 |
#endif /* !_XSERV_GLOBAL_H_ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
795 |
diff -urp -x '*~' -x '*.orig' mi/miinitext.c mi/miinitext.c |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
796 |
--- mi/miinitext.c 2007-07-30 18:38:42.408483000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
797 |
+++ mi/miinitext.c 2007-07-30 18:38:58.899770000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
798 |
@@ -88,6 +88,11 @@ SOFTWARE. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
799 |
#include "extnsionst.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
800 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
801 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
802 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
803 |
+#include "scrnintstr.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
804 |
+#include "../miext/damage/damage.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
805 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
806 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
807 |
#if defined(QNX4) /* sleaze for Watcom on QNX4 ... */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
808 |
#undef GLXEXT |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
809 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
810 |
@@ -113,6 +118,7 @@ SOFTWARE. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
811 |
#undef DAMAGE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
812 |
#undef XFIXES |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
813 |
#undef XEVIE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
814 |
+#undef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
815 |
#else |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
816 |
#ifndef LOADABLEPRINTDDX |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
817 |
#undef XPRINT |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
818 |
@@ -185,6 +191,9 @@ extern Bool noXCMiscExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
819 |
#ifdef XEVIE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
820 |
extern Bool noXevieExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
821 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
822 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
823 |
+extern Bool noLgeExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
824 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
825 |
#ifdef XF86BIGFONT |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
826 |
extern Bool noXFree86BigfontExtension; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
827 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
828 |
@@ -388,6 +397,9 @@ extern void DamageExtensionInit(INITARGS |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
829 |
#ifdef COMPOSITE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
830 |
extern void CompositeExtensionInit(INITARGS); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
831 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
832 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
833 |
+extern void LgeExtensionInit(INITARGS); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
834 |
+#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
835 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
836 |
/* The following is only a small first step towards run-time |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
837 |
* configurable extensions. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
838 |
@@ -497,6 +509,9 @@ static ExtensionToggle ExtensionToggleLi |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
839 |
#ifdef XV |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
840 |
{ "XVideo", &noXvExtension }, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
841 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
842 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
843 |
+ { "LGE", &noLgeExtension }, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
844 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
845 |
{ NULL, NULL } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
846 |
}; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
847 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
848 |
@@ -533,6 +548,53 @@ InitExtensions(argc, argv) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
849 |
int argc; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
850 |
char *argv[]; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
851 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
852 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
853 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
854 |
+ ** This is a workaround for LG bug 488. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
855 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
856 |
+ ** Problem: |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
857 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
858 |
+ ** 1. Damage must be initialized before composite, otherwise you get that garbage rectangle. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
859 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
860 |
+ ** 2. For Solaris Xorg, I implemented a wa for another bug which forced damage to be initialized |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
861 |
+ ** after InitOutput. Part 1 of the wa was in miSpriteInitialize where I skipped DamageSetup |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
862 |
+ ** and Part 2 was in the -DXFree86LOADER version of InitExtensions, where I called |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
863 |
+ ** DamageSetup before any other extensions are initialized. The -DXFree86LOADER case |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
864 |
+ ** is the case used by Xorg. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
865 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
866 |
+ ** 3. I skipped the workaround in the Xvfb case. DamageSetup was still being called from |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
867 |
+ ** InitOutput and therefore was getting called before InitExtensions. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
868 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
869 |
+ ** 4. The skipping was achieved by eliminating Part 1 of my wa when -DXVFB. In 6.8.2, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
870 |
+ ** this caused InitOutput to call DamageSetup, thereby ensuring that it was called |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
871 |
+ ** before composite was initialized. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
872 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
873 |
+ ** 5. THE PROBLEM - Part A: in 6.9, Xvfb is no longer compiled with -DXVFB. Therefore Part 1 |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
874 |
+ ** of my workaround was getting applied to both Xorg and Xvfb. So, in Xvfb 6.9, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
875 |
+ ** InitOutput no longer calls DamageSetup. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
876 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
877 |
+ ** 6. THE PROBLEM - Part B: The other part of the problem is that I had put Part 2 |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
878 |
+ ** of the original bug wa only in the -DXFree86LOADER case of InitExtensions. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
879 |
+ ** Unfortunately, Xvfb uses the -UXFree86LOADER case. Also unfortunately, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
880 |
+ ** composite appears before damage in this function. So composite was getting |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
881 |
+ ** initialized BEFORE damage, not after it. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
882 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
883 |
+ ** 7. THE FIX: since the only way we can distinguish between Xorg and Xvfb |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
884 |
+ ** initialization is in the version of InitExtension used, we will make |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
885 |
+ ** Part 1 of the original bug wa (the one in miSpriteInitialize) apply |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
886 |
+ ** to both Xorg and Xvfb (we can't distinguish them in this function |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
887 |
+ ** anyway). Then we will make sure that DamageSetup gets called first in |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
888 |
+ ** BOTH versions of InitExtension. This will fix the bug. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
889 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
890 |
+ int s; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
891 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
892 |
+ for (s = 0; s < screenInfo.numScreens; s++) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
893 |
+ if (!DamageSetup (screenInfo.screens[s])) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
894 |
+ FatalError("DamageSetup: initialization failed for screen %d.\n", s); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
895 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
896 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
897 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
898 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
899 |
#ifdef XCSECURITY |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
900 |
SecurityExtensionSetup(); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
901 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
902 |
@@ -667,6 +729,9 @@ InitExtensions(argc, argv) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
903 |
#ifdef DAMAGE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
904 |
if (!noDamageExtension) DamageExtensionInit(); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
905 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
906 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
907 |
+ if (!noLgeExtension) LgeExtensionInit(); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
908 |
+#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
909 |
} |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
910 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
911 |
void |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
912 |
@@ -737,6 +802,9 @@ static ExtensionModule staticExtensions[ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
913 |
#ifdef XEVIE |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
914 |
{ XevieExtensionInit, "XEVIE", &noXevieExtension, NULL }, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
915 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
916 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
917 |
+ { LgeExtensionInit, "LGE", &noLgeExtension, NULL }, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
918 |
+#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
919 |
{ NULL, NULL, NULL, NULL, NULL } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
920 |
}; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
921 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
922 |
@@ -750,6 +818,21 @@ InitExtensions(argc, argv) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
923 |
ExtensionModule *ext; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
924 |
static Bool listInitialised = FALSE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
925 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
926 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
927 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
928 |
+ ** Workaround for LG3D bug 329 (Part 2 of 2. For Part 1, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
929 |
+ ** Refer to misprite.c). DamageSetup must be called after |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
930 |
+ ** InitOutput is complete, but before CompositeExtensionInit. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
931 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
932 |
+ int s; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
933 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
934 |
+ for (s = 0; s < screenInfo.numScreens; s++) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
935 |
+ if (!DamageSetup (screenInfo.screens[s])) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
936 |
+ FatalError("DamageSetup: initialization failed for screen %d.\n", s); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
937 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
938 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
939 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
940 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
941 |
if (!listInitialised) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
942 |
/* Add built-in extensions to the list. */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
943 |
for (i = 0; staticExtensions[i].name; i++) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
944 |
diff -urp -x '*~' -x '*.orig' mi/misprite.c mi/misprite.c |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
945 |
--- mi/misprite.c 2006-09-17 23:04:18.000000000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
946 |
+++ mi/misprite.c 2007-07-30 18:38:58.909854000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
947 |
@@ -156,8 +156,23 @@ miSpriteInitialize (pScreen, cursorFuncs |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
948 |
miSpriteScreenPtr pScreenPriv; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
949 |
VisualPtr pVisual; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
950 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
951 |
+#if !defined(LG3D) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
952 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
953 |
+ ** Workaround for LG3D bug 329 (Part 1 of 2. For Part 2, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
954 |
+ ** Refer to xf86IniExt.c). DamageSetup must be called after |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
955 |
+ ** InitOutput is complete, but before CompositeExtensionInit. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
956 |
+ ** |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
957 |
+ ** Calling DamageSetup here causes screen op wrapping to occur during |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
958 |
+ ** InitOutput. The Solaris x86 Nvidia driver changes the screen ops |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
959 |
+ ** after calling miSpriteInitialize and this messes up the wrapping. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
960 |
+ ** To achieve the proper wrapping, we don't want to initialize the |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
961 |
+ ** Damage and Composite Wrapper wrappers here, but rather, we want |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
962 |
+ ** to initialize them during InitExtensions. So skip this |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
963 |
+ ** initialization call. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
964 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
965 |
if (!DamageSetup (pScreen)) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
966 |
return FALSE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
967 |
+#endif /* !LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
968 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
969 |
if (miSpriteGeneration != serverGeneration) |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
970 |
{ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
971 |
diff -urp -x '*~' -x '*.orig' os/utils.c os/utils.c |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
972 |
--- os/utils.c 2007-07-30 18:38:42.573625000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
973 |
+++ os/utils.c 2007-07-30 18:38:58.935850000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
974 |
@@ -236,6 +236,9 @@ _X_EXPORT Bool noXIdleExtension = FALSE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
975 |
#ifdef XV |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
976 |
_X_EXPORT Bool noXvExtension = FALSE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
977 |
#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
978 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
979 |
+Bool noLgeExtension = FALSE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
980 |
+#endif |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
981 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
982 |
#define X_INCLUDE_NETDB_H |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
983 |
#include <X11/Xos_r.h> |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
984 |
diff -urp -x '*~' -x '*.orig' xkb/xkbPrKeyEv.c xkb/xkbPrKeyEv.c |
194
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
985 |
--- xkb/xkbPrKeyEv.c 2006-09-17 23:04:18.000000000 -0700 |
c2b76d8a41f7
6580970 Xorg Server 1.3 [PSARC 2007/434]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
98
diff
changeset
|
986 |
+++ xkb/xkbPrKeyEv.c 2007-07-30 18:38:58.940146000 -0700 |
98
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
987 |
@@ -39,6 +39,10 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
988 |
#include <X11/extensions/XKBsrv.h> |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
989 |
#include <ctype.h> |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
990 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
991 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
992 |
+#include "../Xext/lgeint.h" |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
993 |
+extern Window GetLgPrwFromSprite(); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
994 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
995 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
996 |
/***====================================================================***/ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
997 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
998 |
@@ -51,6 +55,35 @@ int key; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
999 |
XkbBehavior behavior; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1000 |
unsigned ndx; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1001 |
|
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1002 |
+#ifdef LG3D |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1003 |
+ if (lgeDisplayServerIsAlive && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1004 |
+ !lgePickerClient->clientGone && |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1005 |
+ !lgeEventComesFromDS) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1006 |
+ Window prw = GetLgPrwFromSprite(); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1007 |
+ if (prw != INVALID) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1008 |
+ xEvent *e = xE; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1009 |
+ int i; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1010 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1011 |
+ for (i = 0; i < count; i++, e++) { |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1012 |
+ /* |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1013 |
+ ErrorF("Send event XS->DS, type = %d xy = %d, %d, state = 0x%x\n", |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1014 |
+ e->u.u.type, e->u.keyButtonPointer.rootX, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1015 |
+ e->u.keyButtonPointer.rootY, |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1016 |
+ e->u.keyButtonPointer.state); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1017 |
+ */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1018 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1019 |
+ /* Note: the root id of raw device events on LG screens is the prw */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1020 |
+ e->u.keyButtonPointer.root = prw; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1021 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1022 |
+ e->u.keyButtonPointer.child = 0; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1023 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1024 |
+ WriteEventsToClient(lgePickerClient, 1, xE); |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1025 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1026 |
+ return; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1027 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1028 |
+ } |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1029 |
+#endif /* LG3D */ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1030 |
+ |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1031 |
xkbi= keyc->xkbInfo; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1032 |
key= xE->u.u.detail; |
c21b46ed1efd
6489660 Xorg server 7.2 [PSARC 2007/051]
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1033 |
#ifdef DEBUG |