[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

MCL 2.0b1p3 bitmap problems



A while back a patch was sent out for make-bitmap, with the :storage keys for
rref/rset explicitly defined to be :pointer.  However the same problem occurs
in various other situations:

? (setq bm (make-bitmap 0 0 10 10))
#<A Mac Zone Pointer Size 34 #x2C425C>
? (rref bm :bitmap.bounds)
> Error: Illegal attempt to get a pointer to a :RECT within a handle
> While executing: CCL::EXPAND-HANDLE-RECORD-GET
> Type Command-. to abort.
See the RestartsI menu item for further choices.
1 > 

and the results returned from (copy-record bm :bitmap) contains garbage values.

Could the problem instead be in interfaces;QUICKDRAW.lisp where 

(defrecord (BitMap :handle) 
   (baseAddr :pointer)
   (rowBytes :signed-integer)
   (bounds :rect)
   )

should be defined as 

(defrecord (BitMap :pointer) 
   (baseAddr :pointer)
   (rowBytes :signed-integer)
   (bounds :rect)
   )  
?

Incedently, (copy-record) fails to work if the optional record-type argument 
is not provided:

? (copy-record bm)
> Error: Too few arguments in NIL.
> While executing: COPY-RECORD
> Type Command-. to abort.
See the RestartsI menu item for further choices.
1 >


And for anyone who is doing source patches (from p1&2 etc.), it might be 
useful to include in the patch release notes instructions to do 

(reindex-interfaces)

after completeing the patches. 

thanks,
-adnan