Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!elroy.jpl.nasa.gov!ames!dftsrv!mimsy!mojo!russotto From: russotto@eng.umd.edu (Matthew T. Russotto) Newsgroups: comp.sys.mac.programmer Subject: Quickdraw bug Message-ID: <1990Jul4.023022.10833@eng.umd.edu> Date: 4 Jul 90 02:30:22 GMT Sender: news@eng.umd.edu (The News System) Organization: College of Engineering, Maryversity of Uniland, College Park Lines: 23 OK, here goes. I tried to post this once before, but it didn't seem to make it. Basically the problem occurs with long, thin, single bit bitmaps. tmpport = NewPtr((long)sizeof(GrafPort)); OpenPort(tmpport); bm.baseAddr = NewPtr(0xC000L/8L); bm.rowBytes = (short)(0xC000L/8L); bm.bounds.left = -24576; bm.bounds.top = 0; bm.bounds.right = 0x6000; bm.bounds.bottom = 1; SetPortBits(&bm); BlockMove(&bm.bounds, &tmpport->portRect, (long)sizeof(Rect)); RectRgn(tmpport->visRgn, &bm.bounds); ClipRect(&bm.bounds); EraseRect(&bm.bounds); ^^^^^^^^ hangs here, at the eraserect. Also, any drawing past pen location 0x2000 (the 0x8000th bit in the image, not coincidentally, I am sure) has no effect. Sure, this is a horrible abuse of Quickdraw, but QD should perform up to spec. -- Matthew T. Russotto russotto@eng.umd.edu russotto@wam.umd.edu ][, ][+, ///, ///+, //e, //c, IIGS, //c+ --- Any questions? Hey! Bush has NO LIPS!