ooo-build r12688 - in branches/ooo-build-2-4-1: . patches/src680



Author: pmladek
Date: Wed May 28 16:59:19 2008
New Revision: 12688
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12688&view=rev

Log:
2008-05-28  Petr Mladek  <pmladek suse cz>

	* patches/src680/sc-cellsuno-avoid-early-destruction.diff:
	* patches/src680/apply: avoid crash when calling the mono testcase
	  from ooo-build/test/mono; the object "this" was destroyed after
	  calling ScTableSheetObj::getImplementation; this hack make sure
	  that the object lives a bit longer; I hope that we will get the right
	  fix via the upstream issue.



Added:
   branches/ooo-build-2-4-1/patches/src680/sc-cellsuno-avoid-early-destruction.diff
Modified:
   branches/ooo-build-2-4-1/ChangeLog
   branches/ooo-build-2-4-1/patches/src680/apply

Modified: branches/ooo-build-2-4-1/patches/src680/apply
==============================================================================
--- branches/ooo-build-2-4-1/patches/src680/apply	(original)
+++ branches/ooo-build-2-4-1/patches/src680/apply	Wed May 28 16:59:19 2008
@@ -225,6 +225,11 @@
 # default to DEV300 in cws-commit-patch
 cws-commit-patch-default-dev300.diff, i#87431, jholesov
 
+# avoid crash when calling the mono testcase from ooo-build/test/mono
+# the object "this" was destroyed after calling ScTableSheetObj::getImplementation
+# this hack make sure that the object lives a bit longer
+sc-cellsuno-avoid-early-destruction.diff, i#90076, pmladek
+
 [ TemporaryHacks < ooh680-m14 ]
 # do not display arabic/hindi numbers instead of decimal numbers
 sw-hindi-numbers.diff, i#86811, pmladek

Added: branches/ooo-build-2-4-1/patches/src680/sc-cellsuno-avoid-early-destruction.diff
==============================================================================
--- (empty file)
+++ branches/ooo-build-2-4-1/patches/src680/sc-cellsuno-avoid-early-destruction.diff	Wed May 28 16:59:19 2008
@@ -0,0 +1,14 @@
+--- sc/source/ui/unoobj/cellsuno.cxx.old	2008-05-26 19:41:53.000000000 +0200
++++ sc/source/ui/unoobj/cellsuno.cxx	2008-05-28 16:28:53.000000000 +0200
+@@ -1531,9 +1531,10 @@ void ScCellRangesBase::Notify( SfxBroadc
+         if ( aRanges.UpdateReference( rRef.GetMode(), pDoc, rRef.GetRange(),
+ 									rRef.GetDx(), rRef.GetDy(), rRef.GetDz() ) )
+         {
++            uno::Reference<uno::XInterface> xInterface((cppu::OWeakObject*)this, uno::UNO_QUERY);
+             if (rRef.GetMode() == URM_INSDEL &&
+                 aRanges.Count() == 1 &&
+-                ScTableSheetObj::getImplementation( (cppu::OWeakObject*)this ))
++                ScTableSheetObj::getImplementation( xInterface ))
+             {
+                 // #101755#; the range size of a sheet does not change
+                 ScRange* pR = aRanges.First();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]