[PUSHED-3-5] fdo#46728: EDITING: soffice.bin crashed with SIGSEGV in Window::GetCursor()

Michael Meeks michael.meeks at suse.com
Fri Mar 16 04:56:15 PDT 2012


On Tue, 2012-03-13 at 18:04 +0100, Thorsten Behrens wrote:
> Caolan McNamara wrote:
> > So, how about
> > http://cgit.freedesktop.org/libreoffice/core/commit/?id=131e5d35a4edb9f8875a197e8e0382c168834f70
> > Seems to fix the crash. Worthwhile for 3-5 ?
>  
> Eh. Inspected for syntactical equivalence, but this is quite
> massive. Hesitant to hand-wave that in w/o further deliberation. ;)

	So - I'd like to get this into 3-5 - no point in leaving known SEGV's
lying around ;-) The only substantive changes I can see are:

	* around three calls to GetOverlayManager() that now happen once
	  in the method instead of twice - once to check for NULL, and
	  another time to invoke the method.
		+ if there truly is a race here it could go either way
		  and we fixed another crash ;-)
		+ ie. a non-issue.

	* the final fix itself:

+            //Resolves: fdo#46728 ensure this exists until end of scope
+            rtl::Reference<OverlayManager> xRef(this);

		Which keeps the 'this' pointer alive long enough not
		to crash in the timeout handler - which seems a worthy
		goal at least ? :-)

	* and of course initializing the ref counts in the oddly named
	  badbf0c commit.

	So - I'd like to get it in. Thorsten - please scream and revert if I've
really got this wrong :-)

	Thanks Caolan; lovely cleanup too :-)

	Regards,

		Michael.

-- 
michael.meeks at suse.com  <><, Pseudo Engineer, itinerant idiot



More information about the LibreOffice mailing list