https://issues.apache.org/ooo/show_bug.cgi?id=113608

--- Comment #10 from zhang jianfang <[email protected]> ---
It is just a work around fix.  The actual root cause why mpSvxShape is not
synchronized with weak object maWeakUnoShape is still not finally determined. I
think it still needs more study.

In fact, further study shows that the dangling pointer disappears when applying
below code change,

--- fix/svx/source/unodraw/unoshape.cxx.org    2012-06-15 10:21:31.971970900
+0800
+++ fix/svx/source/unodraw/unoshape.cxx    2012-06-15 10:22:35.145867400 +0800
@@ -1165,8 +1165,10 @@

     if( bClearMe )
     {
-        if( !HasSdrObjectOwnership() )
+        if( !HasSdrObjectOwnership() ){
+            mpObj->setUnoShape( NULL, SdrObject::GrantXShapeAccess() );
             mpObj.reset( NULL );
+        }
         if ( !mpImpl->mbDisposing )
             dispose();
     }

But I am not sure if the fix is safe.  

@Andre, could you please help to confirm too?  Thanks.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to