To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=108976
                 Issue #|108976
                 Summary|deleting a graphic style causes crash
               Component|Presentation
                 Version|DEV300m71
                Platform|All
                     URL|
              OS/Version|All
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|code
             Assigned to|graphicsneedsconfirm
             Reported by|cmc





------- Additional comments from [email protected] Fri Feb  5 09:30:49 +0000 
2010 -------
1. Load (trivial) .odp
2. Click on image on 1st slide
3. F11, new style from selection -> enter asd as name
4. Click outside image to deselect, double click on asd
5. Right click on asd ->delete
6. Crash, if not immediate, move to page 2

The asd Stylesheet is deleted, but a SdrPaintView still has a pointer to it
and will die eventually.

Attached patch adds a listener on the stylesheet in the view in order
to detect that its been deleted.

here's what valgrind says

===23353== Invalid read of size 8
==23353==    at 0x1B598685: SdrPaintView::GetAttributes(SfxItemSet&, unsigned
char) const (in /usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B552ECF: SdrEditView::GetAttributes(SfxItemSet&, unsigned
char) const (in /usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B60038E: SdrObjEditView::GetAttributes(SfxItemSet&, unsigned
char) const (in /usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1A9C1D82: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsdlx.so)
==23353==    by 0x5F41D89: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsfxlx.so)
==23353==    by 0x5F4D6A1: SfxDispatcher::_FillState(SfxSlotServer const&,
SfxItemSet&, SfxSlot const*) (in
/usr/lib64/openoffice.org/basis3.2/program/libsfxlx.so)
==23353==    by 0x5F3ACD3: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsfxlx.so)
==23353==    by 0x5F3E7B8: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsfxlx.so)
==23353==    by 0x5F3E562: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsfxlx.so)
==23353==    by 0x7A12B1D: Timer::ImplTimerCallbackProc() (in
/usr/lib64/openoffice.org/basis3.2/program/libvcllx.so)
==23353==    by 0x10F30E8D: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libvclplug_gtklx.so)
==23353==    by 0x39C0A3A61A: ??? (in /lib64/libglib-2.0.so.0.2302.0)
==23353==  Address 0x1ec0ccd0 is 0 bytes inside a block of size 368 free'd
==23353==    at 0x4A04D72: free (vg_replace_malloc.c:325)
==23353==    by 0x6374B64: SfxItemSet::~SfxItemSet() (in
/usr/lib64/openoffice.org/basis3.2/program/libsvllx.so)
==23353==    by 0x1B508160: Outliner::ImplInitDepth(unsigned short, short,
unsigned char, unsigned char) (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B508D9F: Outliner::Init(unsigned short) (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B509947: Outliner::SetText(OutlinerParaObject const&) (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B57C67E:
SdrTextObj::impDecomposeBlockTextPrimitive(com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::graphic::XPrimitive2D>
>&, drawinglayer::primitive2d::SdrBlockTextPrimitive2D const&,
drawinglayer::geometry::ViewInformation2D const&) const (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B52E5E2: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1C32D6CE:
drawinglayer::primitive2d::BasePrimitive2D::get2DDecomposition(drawinglayer::geometry::ViewInformation2D
const&) const (in 
/usr/lib64/openoffice.org/basis3.2/program/libdrawinglayerlx.so)
==23353==    by 0x1B52F4FF: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B2C3A95: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B2C4D80: ??? (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)
==23353==    by 0x1B2B502A:
sdr::contact::ViewContact::getViewIndependentPrimitive2DSequence() const (in
/usr/lib64/openoffice.org/basis3.2/program/libsvxcorelx.so)

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