To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=108914
                 Issue #|108914
                 Summary|vcl: Lost mpGraphics in OutputDevice::ImplNewFont()
               Component|gsl
                 Version|OOO320m11
                Platform|All
                     URL|
              OS/Version|Linux
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|PATCH
                Priority|P3
            Subcomponent|code
             Assigned to|pl
             Reported by|pmladek





------- Additional comments from pmla...@openoffice.org Wed Feb  3 17:34:12 
+0000 2010 -------
This bug is related to https://bugzilla.novell.com/show_bug.cgi?id=575698. The
ReportBuilder crashed with our build.

The mpGraphics pointer is lost in vcl/source/gdi/outdev3.cxx:3540
   + method:      OutputDevice::ImplNewFont()
   + line:        ImplInitFont();

   + called from: vcl/source/gdi/outdev3.cxx:6442
       + method:      OutputDevice::ImplLayout
       + line:        if( !ImplNewFont() )

The method OutputDevice::ImplNewFont() has the following command on
vcl/source/gdi/outdev3.cxx:3501:

   SalGraphics* pGraphics = mpGraphics;

=> the pointer mpGraphics is saved and used later
=> it is expected that it will be lost or modified

My solution was to call ImplGetGraphics() in OutputDevice::ImplLayout when the
pointer was lost.

Another solution would be to restore the mpGraphics pointer at the end of
OutputDevice::ImplNewFont():

    mpGraphics = pGraphics;

I am not 100% sure what happens there and I did not have power do debug it in
more deep.

Anyway, the current code looks suspicious and a change might be needed.

---------------------------------------------------------------------
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: issues-unsubscr...@gsl.openoffice.org
For additional commands, e-mail: issues-h...@gsl.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to