XWorkstat.st
changeset 160 f7d9126b3c0b
parent 158 34bade266dec
child 162 0f14db5e47c1
--- a/XWorkstat.st	Fri Jul 28 04:58:06 1995 +0200
+++ b/XWorkstat.st	Thu Aug 03 03:33:27 1995 +0200
@@ -35,7 +35,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libview/Attic/XWorkstat.st,v 1.51 1995-07-27 23:54:05 claus Exp $
+$Header: /cvs/stx/stx/libview/Attic/XWorkstat.st,v 1.52 1995-08-03 01:33:27 claus Exp $
 '!
 
 !XWorkstation class methodsFor:'documentation'!
@@ -56,7 +56,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libview/Attic/XWorkstat.st,v 1.51 1995-07-27 23:54:05 claus Exp $
+$Header: /cvs/stx/stx/libview/Attic/XWorkstat.st,v 1.52 1995-08-03 01:33:27 claus Exp $
 "
 !
 
@@ -4878,7 +4878,7 @@
 getPixelX:x y:y from:aDrawableId
     "return the pixel value at x/y; coordinates start at 0/0 for the upper left."
 
-%{  /* NOCONTEXT */
+%{  /* UNLIMITEDSTACK NOCONTEXT */
 
     Window win = _WindowVal(aDrawableId);
     XImage *img;
@@ -4896,9 +4896,7 @@
 	XDestroyImage(img);
 	RETURN (  _MKSMALLINT(ret) );
     }
-%}
-.
-    self primitiveFailed.
+%}.
     ^ nil
 !
 
@@ -4921,6 +4919,10 @@
 		  with:nil "bytes_per_line"
 		  with:nil "byte_order".
 
+    "/ had to extract the getPixel call into a separate method, to specify
+    "/ unlimitedStack (some implementations use alloca and require huge amounts
+    "/ of temporary stack space
+
     (self primGetBitsFrom:aDrawableId x:srcx y:srcy width:w height:h into:imageBits infoInfo:info) ifTrue:[
 	^ info
     ].