[ooo-build-commit] .: patches/dev300
Kohei Yoshida
kohei at kemper.freedesktop.org
Fri Feb 12 13:44:13 PST 2010
patches/dev300/apply | 3 ++
patches/dev300/calc-note-position-fix.diff | 31 +++++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
New commits:
commit 04f590e3c5ba31dfdda1869c071d9d13c4ac7f98
Author: Kohei Yoshida <kyoshida at novell.com>
Date: Fri Feb 12 16:40:22 2010 -0500
Fix incorrect cell positioning during row insertion.
* patches/dev300/apply:
* patches/dev300/calc-note-position-fix.diff: fix incorrect cell
positioning during row insertion, which caused some cell notes
to disappear after save & re-load. (n#578588)
diff --git a/patches/dev300/apply b/patches/dev300/apply
index eaa3c03..3368d49 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3537,6 +3537,9 @@ calc-subtotal-function-update.diff, n#578802, kohei
# Reduce cache table size & improve lookup performance on external references.
calc-perf-extref-shrink-range.diff, i#109168, kohei
+# Fix incorrect positioning of cell notes during row insertion.
+calc-note-position-fix.diff, n#579454, kohei
+
[ NovellEvaluation ]
# enable the Subscription menu
novell-subscription-enable-in-menu.diff
diff --git a/patches/dev300/calc-note-position-fix.diff b/patches/dev300/calc-note-position-fix.diff
new file mode 100644
index 0000000..fdbc911
--- /dev/null
+++ b/patches/dev300/calc-note-position-fix.diff
@@ -0,0 +1,31 @@
+diff --git sc/source/core/data/drwlayer.cxx sc/source/core/data/drwlayer.cxx
+index 03c48f5..a0b08fd 100644
+--- sc/source/core/data/drwlayer.cxx
++++ sc/source/core/data/drwlayer.cxx
+@@ -547,26 +547,6 @@ void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool b
+ if( !pDoc )
+ return;
+
+- /* TODO CleanUp: Updating note position works just by chance currently...
+- When inserting rows/columns, this function is called after the
+- insertion, and the note is located at the new position contained in the
+- passed ScDrawObjData already. But when deleting rows/columns, this
+- function is called *before* the deletion, so the note is still at the
+- old cell position, and ScDocument::GetNote() will fail to get the note
+- or will get another note. But after the rows/columns are deleted, a
+- call to ScDrawLayer::SetPageSize() will call this function again, and
+- now the note is at the expected position in the document. */
+- if( rData.mbNote )
+- {
+- DBG_ASSERT( rData.maStart.IsValid(), "ScDrawLayer::RecalcPos - invalid position for cell note" );
+- /* When inside an undo action, there may be pending note captions
+- where cell note is already deleted. The caption will be deleted
+- later with drawing undo. */
+- if( ScPostIt* pNote = pDoc->GetNote( rData.maStart ) )
+- pNote->UpdateCaptionPos( rData.maStart );
+- return;
+- }
+-
+ bool bValid1 = rData.maStart.IsValid();
+ SCCOL nCol1 = rData.maStart.Col();
+ SCROW nRow1 = rData.maStart.Row();
More information about the ooo-build-commit
mailing list