From 3029a9475648c250d3d9aab853d7c881a0e70b28 Mon Sep 17 00:00:00 2001 From: Joe Groff Date: Sun, 27 Jun 2010 13:31:07 -0700 Subject: [PATCH] images.cocoa: work around broken limited-stream behavior --- basis/images/cocoa/cocoa.factor | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/basis/images/cocoa/cocoa.factor b/basis/images/cocoa/cocoa.factor index 2150747138..1d71738904 100644 --- a/basis/images/cocoa/cocoa.factor +++ b/basis/images/cocoa/cocoa.factor @@ -1,18 +1,18 @@ ! (c)2010 Joe Groff bsd license USING: accessors alien.data cocoa cocoa.classes cocoa.messages combinators core-foundation.data core-graphics.types fry images -images.loader io kernel literals ; +images.loader io io.streams.limited kernel literals ; IN: images.cocoa SINGLETON: ns-image -! "png" ns-image register-image-class -! "tif" ns-image register-image-class -! "tiff" ns-image register-image-class -! "gif" ns-image register-image-class -! "jpg" ns-image register-image-class -! "jpeg" ns-image register-image-class -! "bmp" ns-image register-image-class -! "ico" ns-image register-image-class +"png" ns-image register-image-class +"tif" ns-image register-image-class +"tiff" ns-image register-image-class +"gif" ns-image register-image-class +"jpg" ns-image register-image-class +"jpeg" ns-image register-image-class +"bmp" ns-image register-image-class +"ico" ns-image register-image-class CONSTANT: NSImageRepLoadStatusUnknownType -1 CONSTANT: NSImageRepLoadStatusReadingHeader -2 @@ -61,4 +61,6 @@ PRIVATE> f >>upside-down? ; M: ns-image stream>image - drop [ load-image-rep ] with-input-stream image-rep>image ; + drop + dup limited-stream? [ stream-eofs >>mode ] when + [ load-image-rep ] with-input-stream image-rep>image ;