To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=111460
                 Issue #|111460
                 Summary|crash in GraphiteLayout if stlport_debug is active
               Component|gsl
                 Version|OOO320m17
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|hdu
             Reported by|hdu





------- Additional comments from h...@openoffice.org Fri May  7 15:06:33 +0000 
2010 -------
AW noticed in issue 111392 a strange crash on a non-product windows build if 
the bugdoc there was 
loaded and the required fonts were installed on the system.

The problem is that the check GlyphSetIterator::operator!=() is not called if 
stlport_port debug is active, 
so that the check "gj != charGlyphs.second" in 
GraphiteLayout::Glyphs::fill_from() is not triggered 
though it should according to the overloaded operator.

The stlport_debug code wraps the GlyphSetIterator and seems to keep its 
_M_iterator as type "int*" 
instead of a proper GlyphSetIterator, so of course the pointers get then 
compared directly instead of 
using the proper compare for the GlyphSetIterator.

So the root cause of the problem seems to be the interaction of the used 
compiler + optimization + 
stlport_debug's iterator wrapper.

@kstribley: we should probably rewrite the problem line graphite_layout.cxx:249 
(for DEV300_m77) not 
to drive the compiler so hard. There are other related things such as that 
operator!= is defined as 
{!(*this==rhs;} and operator*() is overloaded, such that the != case is much 
more tricky than the 
corresponding operator== case. Especially since the dereference operator*() 
checks some assertions.

---------------------------------------------------------------------
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