To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=82967


User aw changed the following:

                What    |Old value                 |New value
================================================================================
                      CC|'fs'                      |'fme,fs,od'
--------------------------------------------------------------------------------




------- Additional comments from [EMAIL PROTECTED] Tue Nov  6 14:17:50 +0000 
2007 -------
AW: Problem is in SW. Begins in ViewShell::Prt(). This constructs a new
ViewShell (ViewShell::ViewShell) what is okay, but as can be seen in vnew.cxx ln
332 the target OutDev for PDF (a VDev) gets temporarily replaced inside
ViewShell::Init() by InitPrt(), saved over that call and resetted immediately
(in ViewShell::ViewShell in SW).

ViewShell::Init() internally fills a bool (bCreatePrinter) which is correctly
false, but gets the printer anyways (using
getIDocumentDeviceAccess()->getPrinter()). When it got a printer, it always
calls InitPrt() which then sets pOut to the given OutputDevice (the printer).

The Problem is that the DrawView is constructed during this obviously not wanted
state that pOut points to a Printer, thus the DrawingLayer View is initialized
for Printer output. By resetting pOut back to the rescued PDF VDev target and
calling the nromal paints with it, the DrawView stumbles about an unknown
OutputDevice -> this creates the warning. There is a fallback in DrawingLayer to
handle this, but the controls get lost.

I will need someone from SW to tell me what fix is possible. There are two
possible fixes from my point of view:

(a) InitPrt() has a 2nd parameter for PdfOut, so detect if it's pdf output and
hand over. This solves the problem since pOut gets set to the given PdfOut (what
it already is) and the rescue/set in ViewShell::ViewShell() gets unnecessary
(one less hack). Tested, seems to work. Question is if all initialisations are
complete?

(b) Force a MakeDrawView() before calling ViewShell::Init() in
ViewShell::ViewShell() to forcet the DrawView being constructed for the correct
(PDF-)OutDev.

What to do? Setting SW specialists on copy...

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to