[PATCH] fdo#46728: EDITING: soffice.bin crashed with SIGSEGV in Window::GetCursor()

Dézsi Szabolcs dezsiszabi at hotmail.com
Thu Mar 8 10:45:24 PST 2012


Error is in svx/source/sdr/overlay/overlaymanagerbuffered.cxx

386: Window& rWindow = static_cast< Window& >(rmOutputDevice);
387: Cursor* pCursor = rWindow.GetCursor();

Maybe something is with the timing of instructions because there are two lines which are exactly the same, and there works everything:

240: Window& rWindow = static_cast< Window& >(rmOutputDevice);
241: Cursor* pCursor = rWindow.GetCursor();

So defining rWindow in a wider scope (outside of if(bTargetIsWindow){...} line 238) - and using that same rWindow in subsequent occurrences - seems to solve the problem, at least it makes it less frequent.

PS.: rWindow is of type Window, which has a member named mpWindowImpl. This is not present in OutputDevice class which is the base class of Window. What value will be assigned to mpWindowImpl in rWindow after Window& rWindow = static_cast< Window& >(rmOutputDevice);

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120308/13d06c2c/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fixes-crash-in-Window-GetCursor.patch
Type: text/x-patch
Size: 1990 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20120308/13d06c2c/attachment.bin>

More information about the LibreOffice mailing list