[open-beos-printing] Undocumented transport add-ons init_transport() behavior!?

  • From: philippe.houdoin@xxxxxxx
  • To: open-beos-printing@xxxxxxxxxxxxx
  • Date: Tue, 21 May 2002 17:09:55 +0200 (MEST)

Hi, it's me again!

Last night I try to hunt down the 
"PDF Writer crash on filepanel cancellation" bug.

A print_server transport add-on should export two functions:
- BDataIO * init_transport(BMessage * msg);
- void exit_transport(void);

BeOS R5.0.x built-in "Print To File" transport add-on don't return 
a NULL BDataIO * if you cancel the filepanel. 
But I doesn't seem to be a valid BDataIO * even, because 
a BDataIO::Write() on it crash it immediatly! 
In PDF Writer case, it crash in same place, at first PDFWriter::WriteData() 
call.

Built-in BeOS R5.0.x print drivers seem to know something we don't 
(yet?!) here, because they don't crash nor they seem to start print job 
*rendition* when user cancel the filepanel. But they make a difference 
with a NULL BDataIO * returned value, as they all show a error alert box
in this case.

I've print out the msg after being pass to init_transport, 
but the add-on don't modify it.
Same thing for job file attributs...

So, currently I'm lost :-(

I can't find how to fix it right now, apart from using the 
"Print To File" replacement, in CVS.

If anybody know how init_transport() is really expected to works, it's 
time to tell us! ;-)

-Philippe.


Other related posts:

  • » [open-beos-printing] Undocumented transport add-ons init_transport() behavior!?