ADC Home > Reference Library > Technical Q&As > Legacy Documents > Graphics & Imaging >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Crash When Sending Messages in an Override


Important for all Apple Printing and Graphics Developers:

The information in this Technical Q & A is still relevant up to and including Mac OS 7.6 with QuickDraw GX 1.1.5. Beginning with the release of Mac OS 8.0, however, Apple plans to deliver a system which incorporates QuickDraw GX graphics and typography only. QuickDraw GX printer drivers and GX printing extensions will not be supported in Mac OS 8.0 or in future Mac OS releases. Apple's goal is to simplify the user experience of printing by unifying the Macintosh graphic and printing architectures and standardizing on the classic Printing Manager.

For details on Apple's official announcement, refer to </dev/technotes/gxchange.html>

Q: I am trying to send messages from within a GX message override. I want to send GXWriteData to flush the buffer (page 4-146, Inside Mac: Printing Extensions and Drivers) so that I can send the GXGetDeviceStatus message. I override the gxHandlePanelEvent message.

In my override, sending messages causes the system to crash so that the interrupt button does not summon MacsBug. What would cause this to happen?

A: The crash is occurring because there is no connection to the printer at the time you are sending the message. You have to send the OpenConnection, WriteData, and then CloseConnection messages. Note that when you call OpenConnection, QuickDraw GX puts up the default JobStatus dialog for a short time. If you don't want this dialog to appear, you can to override the GXJobStatus message to prevent it from being shown.

See also Dave Hersey's article, "Writing QuickDraw GX Driver with Custom I/O and Buffering," in develop 21.

[Aug 01 1995]


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.