[net.micro.mac] help on pasting PICT's

llad@ur-tut.UUCP (Dennis Venable) (02/18/86)

This is a request for help with pasting PICT's.  I am writing a desk
accessory that is about 8k in length.  I want to be able to paste a
picture into the accessory from desk scrap. My accessory seems to work
when in MacWrite, but from Finder it always crashes in the ROM's.  I
allocate a zero-length handle in the open routine and use that for
receiving the picture.  When an accPaste event is posted, the accessory
reads the PICT from scrap and returns a the handle as expected. However,
shortly after I DrawPicture, I call GetFontInfo to return font information.
The system always crashes in this call to GetFontInfo in the ROM's with the
Finder as the application.  The picture I have been testing with is only
thirty-five (35) bytes long so I should not be walking on the stack.  If I
remove the GetFontInfo call, it will crash at some other Quickdraw call, such
as EraseRect.

If anyone out there can give me a hint as to what I need to do, please do so.
Thanks in advance!

Code segments are as follows (in Aztec C):

...
Picture **picH;
...
open()
{
...
picH = (Picture **)NewHandle(0L); 
...
}

doEvent()
{
...
	case accPaste: fromDeskScrap(); break;
...
}

fromDeskScrap()
{
long io,len;

io = GetScrap(picH,'PICT',&len);
if (io == -102) { noPict(); return; }
DrawPicture(picH,&(**picH).picFrame);
doOtherStuff();
KillPicture();
}

doOtherStuff()
{
...
GetFontInfo();
...
}

Again, thanks for any help you can give!

/Dennis L. Venable
USENET: ...!rochester!ur-tut!llad