diff -r e26b401eeb0c -r 329098f17dd9 XWorkstation.st --- 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!