Created attachment 121606 [details] bt with debug symbols On pc Debian x86-64 with master sources updated yesterday, I got a crash when doing: 1) Retrieve an example wpd file at https://bugs.documentfoundation.org/attachment.cgi?id=73516 2) Open the wpd file (it'll launch Writer) 3) Go on page and click on the first image 4) Ctrl-C => Crash
I noticed the assert has been added with http://cgit.freedesktop.org/libreoffice/core/commit/?id=e4a06fc983fd6a94a6138503c3fc94b567bc3a68 But I don't think it's the root cause.
I reproduced the crash with LO Debian package 5.0.4.2RC
Created attachment 121607 [details] new bt after applying a naive patch With this patch, I go further but have another bt. diff --git a/comphelper/source/container/embeddedobjectcontainer.cxx b/comphelper/source/container/embeddedobjectcontainer.cxx index 127798f..1e68f754 100644 --- a/comphelper/source/container/embeddedobjectcontainer.cxx +++ b/comphelper/source/container/embeddedobjectcontainer.cxx @@ -701,8 +701,11 @@ uno::Reference < embed::XEmbeddedObject > EmbeddedObjectContainer::CopyAndGetEmb // objects without persistence are not really stored by the method if (xObj.is() && StoreEmbeddedObject(xObj, rName, true, rSrcShellID, rDestShellID)) { - assert(!rDestShellID.isEmpty() && !rDestShellID.startsWith("0x")); // assume that every shell has a base URL - xResult = Get_Impl(rName, xObj, &rDestShellID); + if (!rDestShellID.isEmpty()) + { + assert(!rDestShellID.startsWith("0x")); // assume that every shell has a base URL + xResult = Get_Impl(rName, xObj, &rDestShellID); + } if ( !xResult.is() ) { // this is a case when object has no real persistence assert has been added with http://cgit.freedesktop.org/libreoffice/core/commit/?id=291f55edf3d5c1d443cbd9a06bc6f7fd773884e5
David: thought you might be interested in this one since it concerns wpd file Michael: thought you might be interested in this one since you added the assert statements quoted in my previous comments.
*** This bug has been marked as a duplicate of bug 97108 ***