XWorkstation.st
changeset 2758 329098f17dd9
parent 2748 e6bfd7044881
child 2777 60ba83db1fab
--- a/XWorkstation.st	Sun Jun 06 00:17:56 1999 +0200
+++ b/XWorkstation.st	Sun Jun 06 00:21:46 1999 +0200
@@ -9847,12 +9847,18 @@
 %{  /* NOCONTEXT */
 
 #ifdef SHAPE
+    Pixmap shapeBitmap;
+
+    if (__isExternalAddress(aPixmapId))
+	shapeBitmap = _PixmapVal(aPixmapId);
+    else
+	shapeBitmap = (Pixmap)0;
+
     if (ISCONNECTED
-     && __isExternalAddress(aWindowId)
-     && __isExternalAddress(aPixmapId)) {
+     && __isExternalAddress(aWindowId)) {
 	ENTER_XLIB();
 	XShapeCombineMask(myDpy, _WindowVal(aWindowId), ShapeBounding,
-			  0, 0, _PixmapVal(aPixmapId), ShapeSet);
+			  0, 0, shapeBitmap, ShapeSet);
 	LEAVE_XLIB();
 	RETURN ( self );
     }
@@ -10108,13 +10114,19 @@
 %{  /* NOCONTEXT */
 
 #ifdef SHAPE
+    Pixmap shapeBitmap;
+
+    if (__isExternalAddress(aPixmapId))
+	shapeBitmap = _PixmapVal(aPixmapId);
+    else
+	shapeBitmap = (Pixmap)0;
+
     if (ISCONNECTED
-     && __isExternalAddress(aWindowId)
-     && __isExternalAddress(aPixmapId)) {
+     && __isExternalAddress(aWindowId)) {
 	ENTER_XLIB();
 	XShapeCombineMask(myDpy, _WindowVal(aWindowId), ShapeClip,
 			  0, 0,
-			  _PixmapVal(aPixmapId), ShapeSet);
+			  shapeBitmap, ShapeSet);
 	LEAVE_XLIB();
 	RETURN ( self );
     }
@@ -10180,6 +10192,6 @@
 !XWorkstation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.317 1999-05-31 15:32:31 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview/XWorkstation.st,v 1.318 1999-06-05 22:21:46 cg Exp $'
 ! !
 XWorkstation initialize!