7053074 [snv_166] xorg cores on launching gnome-panel-screenshot in labeled workspace
--- a/open-src/xserver/xorg/sun-src/tsol/tsolprotocol.c Mon Aug 15 13:32:11 2011 -0700
+++ b/open-src/xserver/xorg/sun-src/tsol/tsolprotocol.c Mon Aug 15 14:20:11 2011 -0700
@@ -1037,7 +1037,9 @@
{
if (DrawableIsRoot(pDraw))
{
- pWin = XYToWindow(PickPointer(client), x, y);
+ DeviceIntPtr pDev = PickPointer(client);
+ SpritePtr pSprite = pDev->spriteInfo->sprite;
+ pWin = XYToWindow(pSprite, x, y);
if (!WindowIsRoot(pWin))
{
pDrawtmp = &(pWin->parent->drawable);
--- a/open-src/xserver/xorg/xtsol.patch Mon Aug 15 13:32:11 2011 -0700
+++ b/open-src/xserver/xorg/xtsol.patch Mon Aug 15 14:20:11 2011 -0700
@@ -193,6 +193,20 @@
DoGetImage(ClientPtr client, int format, Drawable drawable,
int x, int y, int width, int height,
Mask planemask, xGetImageReply **im_return)
+diff --git a/dix/events.c b/dix/events.c
+index eefcdef..a945411 100644
+--- a/dix/events.c
++++ b/dix/events.c
+@@ -2544,6 +2544,9 @@ PointInBorderSize(WindowPtr pWin, int x, int y)
+ *
+ * @returns the window at the given coordinates.
+ */
++#ifdef TSOL
++_X_EXPORT
++#endif
+ WindowPtr
+ XYToWindow(SpritePtr pSprite, int x, int y)
+ {
diff --git a/dix/window.c b/dix/window.c
index 41306b3..6d4db39 100644
--- a/dix/window.c
@@ -310,7 +324,7 @@
+# Sun Trusted Extensions extension module additions
+extsmodule_LTLIBRARIES += libxtsol.la
+libxtsol_la_LDFLAGS = -avoid-version
-+libxtsol_la_LIBADD = $(top_builddir)/tsol/libxtsol.la
++libxtsol_la_LIBADD = $(top_builddir)/tsol/libxtsol.la $(PIXMAN_LIBS)
+libxtsol_la_SOURCES = tsolmodule.c
+endif
diff --git a/include/dix.h b/include/dix.h