Issue 17966 - print queue error handling ...
Summary: print queue error handling ...
Status: CLOSED FIXED
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: OOo 1.1 RC2
Hardware: PC Linux, all
: P3 Trivial (vote)
Target Milestone: OOo 2.0
Assignee: philipp.lohmann
QA Contact: issues@gsl
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-08-07 15:49 UTC by mmeeks
Modified: 2004-09-10 12:23 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
don't destroy the objects underneath our error callback - needs work. (1.22 KB, patch)
2003-08-07 15:50 UTC, mmeeks
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description mmeeks 2003-08-07 15:49:23 UTC
Hi there,

So - it seems this patch makes my 'error handling' somewhat nicer. It turns out
that I can quickly detect when my print has failed, and would like to propagate
that to the user. This caused problems though; since invoking 'Error' crashed
nastily since AbortJob had destroyed the underlying objects it was returning to
down the stack (it seems):

(gdb) bt
#0  0x475846c7 in SfxPrintProgress::LinkStubPrintErrorNotify(void*, void*)
(pThis=0x4a18ee60, pCaller=0x4a8b7390)
    at
/opt/OpenOffice/openoffice/build/RC3_030729/solver/645/unxlngi4.pro/inc/so3/persist.hxx:241
#1  0x401837dd in Printer::Error() (this=0x47db3428) at
/opt/OpenOffice/openoffice/build/RC3_030729/solver/645/unxlngi4.pro/inc/tools/link.hxx:159
#2  0x401351a5 in ImplQPrinter::ImplPrintHdl(Timer*) (this=0x4a92bd68) at
/opt/OpenOffice/openoffice/build/RC3_030729/vcl/source/gdi/impprn.cxx:354
#3  0x401350ba in ImplQPrinter::LinkStubImplPrintHdl(void*, void*)
(pThis=0x47db3428, pCaller=0x47db3428)
    at /opt/OpenOffice/openoffice/build/RC3_030729/vcl/source/gdi/impprn.cxx:340
#4  0x400ecc43 in Timer::Timeout() () from /opt/PPInstall/program/libvcl645li.so
#5  0x400ec992 in ImplTimerCallbackProc() () from
/opt/PPInstall/program/libvcl645li.so
#6  0x402b4112 in SalData::Timeout() const () from
/opt/PPInstall/program/libvcl645li.so
#7  0x402b3c60 in SalXLib::CheckTimeout(bool) () from
/opt/PPInstall/program/libvcl645li.so
#8  0x402b3f55 in SalXLib::Yield(unsigned char) () from
/opt/PPInstall/program/libvcl645li.so
#9  0x402bcfbc in SalInstance::Yield(unsigned char) () from
/opt/PPInstall/program/libvcl645li.so
#10 0x400e70a1 in Application::Yield() () from /opt/PPInstall/program/libvcl645li.so
#11 0x400e6fb3 in Application::Execute() () from
/opt/PPInstall/program/libvcl645li.so
#12 0x080651d4 in desktop::Desktop::Main() ()

Also, I couldn't see any other code calling 'Error' to see how to set this up
correctly.

Either way - my patch appears to work; although it may leak like a sieve ;-) I
guess we possibly need to split common code out of PrnMon's EndPrintNotify to
use in PrintErrorNotify as well, but got way out of my depth.

Either way - this helped me, comments appreciated.
Comment 1 mmeeks 2003-08-07 15:50:10 UTC
Created attachment 8308 [details]
don't destroy the objects underneath our error callback - needs work.
Comment 2 philipp.lohmann 2003-08-07 17:04:53 UTC
(see last comment)
Comment 3 philipp.lohmann 2003-08-07 17:24:26 UTC
oops, reassigne wrong issue. Sorry.
Comment 4 christof.pintaske 2003-09-01 14:15:03 UTC
cp->pl: please have a look at it ...
Comment 5 philipp.lohmann 2004-01-20 10:46:14 UTC
started
Comment 6 philipp.lohmann 2004-07-14 17:24:29 UTC
fixed in CWS vcl25; i committed only the vcl part as the sfx part does not seem
to make sense
Comment 7 philipp.lohmann 2004-08-03 15:36:27 UTC
verified in CWS vcl25
Comment 8 philipp.lohmann 2004-09-10 12:23:34 UTC
merged in 680m54