[ooo-build-commit] .: Branch 'debian-3-1-1' - 2 commits - patches/dev300

René Engelhard rene at kemper.freedesktop.org
Tue Jan 26 13:36:47 PST 2010


 patches/dev300/apply                                      |    5 
 patches/dev300/calc-dp-drilldown-fieldname-crash-fix.diff |   20 ++
 patches/dev300/store-backwards-compat.diff                |   96 ++++++++++++++
 3 files changed, 121 insertions(+)

New commits:
commit bd1edb52c2024a2b3a9190b05a2ba12a08575ebb
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Tue Jan 26 17:52:14 2010 +0100

    Fix for deb#565667 - selective writing of store magic
    
    * patches/dev300/apply: added the patch
    * patches/dev300/store-backwards-compat.diff: only write the correct
      BTreeNode magic for V1 file format; at least on some systems,
      updating a 3-1-1 install otherwise results old regtools operate on
      new V2 rdb files, subsequently crashing/clobbering them up.

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 3de6f90..042d69c 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2430,6 +2430,7 @@ SectionOwner => rodo
 SectionIssue => i#75399
 store-core.diff
 store-install.diff
+store-backwards-compat.diff, deb#565667, thorsten
 
 store-registry.diff
 
diff --git a/patches/dev300/store-backwards-compat.diff b/patches/dev300/store-backwards-compat.diff
new file mode 100644
index 0000000..0277bc2
--- /dev/null
+++ b/patches/dev300/store-backwards-compat.diff
@@ -0,0 +1,96 @@
+Make fixed store files work with old regcomp tools
+
+From: Thorsten Behrens <thb at openoffice.org>
+
+
+---
+
+ store/source/storpage.cxx |    8 ++++----
+ store/source/stortree.cxx |   21 +++++++++++++++------
+ store/source/stortree.hxx |    4 ++--
+ 3 files changed, 21 insertions(+), 12 deletions(-)
+
+
+diff --git store/source/storpage.cxx store/source/storpage.cxx
+index 15d5e5d..f58507c 100644
+--- store/source/storpage.cxx
++++ store/source/storpage.cxx
+@@ -163,11 +163,11 @@ storeError OStorePageManager::initializeManager (
+     __STORE_DELETEZ (m_pLink[2]);
+ 
+     // Initialize page buffers.
+-    m_pNode[0] = new(m_nPageSize) page(m_nPageSize);
++    m_pNode[0] = new(m_nPageSize) page(m_nPageSize, version ());
+     if (eAccessMode != store_AccessReadOnly)
+     {
+-        m_pNode[1] = new(m_nPageSize) page(m_nPageSize);
+-        m_pNode[2] = new(m_nPageSize) page(m_nPageSize);
++        m_pNode[1] = new(m_nPageSize) page(m_nPageSize, version ());
++        m_pNode[2] = new(m_nPageSize) page(m_nPageSize, version ());
+     }
+ 
+     // Initialize page cache.
+@@ -1440,7 +1440,7 @@ storeError OStorePageManager::rebuild (
+     flush();
+ 
+     // Scan 'Source' BTree nodes.
+-    page *pNode = new(m_nPageSize) page(m_nPageSize);
++    page *pNode = new(m_nPageSize) page(m_nPageSize, version());
+     node aNode (*pNode);
+     entry e;
+ 
+diff --git store/source/stortree.cxx store/source/stortree.cxx
+index 0d5c1ca..3c24f94 100644
+--- store/source/stortree.cxx
++++ store/source/stortree.cxx
+@@ -54,20 +54,29 @@ using namespace store;
+ /*
+  * OStoreBTreeNodeData.
+  */
+-OStoreBTreeNodeData::OStoreBTreeNodeData (sal_uInt16 nPageSize)
++OStoreBTreeNodeData::OStoreBTreeNodeData (sal_uInt16 nPageSize, sal_uInt16 nFormatVersion)
+ 	: OStorePageData (nPageSize, sizeof (self))
+ {
+-    initialize();
++    initialize(nFormatVersion);
+ }
+ 
+ /*
+  * initialize.
+  */
+-void OStoreBTreeNodeData::initialize (void)
++void OStoreBTreeNodeData::initialize (sal_uInt16 nFormatVersion)
+ {
+-	base::PageHeader  ().m_aGuard.m_nMagic = STORE_MAGIC_BTREENODE;
+-	base::PageHeader  ().m_aDescr.m_nUsed  = base::size() + self::size();
+-	DataRepresentation().m_aGuard.m_nMagic = 0;
++    if ( nFormatVersion == STORE_FORMAT_V2 )
++    {
++        base::PageHeader ().m_aGuard.m_nMagic = STORE_MAGIC_BTREENODE;
++        base::PageHeader ().m_aDescr.m_nUsed  = base::size() + self::size();
++        self::PageHeader ().m_aGuard.m_nMagic = 0;
++    }
++    else
++    {
++        base::PageHeader  ().m_aGuard.m_nMagic = STORE_MAGIC_BTREENODE;
++        base::PageHeader  ().m_aDescr.m_nUsed  = base::size() + self::size();
++        DataRepresentation().m_aGuard.m_nMagic = 0;
++    }
+ 
+     sal_uInt16 i, n = capacityCount();
+     T          t;
+diff --git store/source/stortree.hxx store/source/stortree.hxx
+index 3ca4d4e..033c7e0 100644
+--- store/source/stortree.hxx
++++ store/source/stortree.hxx
+@@ -188,8 +188,8 @@ struct OStoreBTreeNodeData : public store::OStorePageData
+ 
+     /** Construction.
+     */
+-    OStoreBTreeNodeData (sal_uInt16 nPageSize);
+-    void initialize (void);
++    OStoreBTreeNodeData (sal_uInt16 nPageSize, sal_uInt16 nFormatVersion);
++    void initialize (sal_uInt16 nFormatVersion);
+ 
+     self& operator= (const self& rOther)
+     {
commit e1271822e46f4eea0caddbbbf2472125154d9625
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Mon Jan 25 13:52:48 2010 -0500

    Fix a crash on drilling down on field member.
    
    * patches/dev300/apply:
    * patches/dev300/calc-dp-drilldown-fieldname-crash-fix.diff: this
      fixes i#103347 and n#573456.

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 388f1e0..3de6f90 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3541,3 +3541,7 @@ oox-pptx-import-fix-header-footer-backport.diff, n#549246, rodo
 # fix RenderBadPicture crash in xinerama cases
 vcl-free-renderpicture.diff, thorsten
 
+[ CalcFixes ]
+
+# when double-clicking on a cell that contains a field name, it crashes.
+calc-dp-drilldown-fieldname-crash-fix.diff, n#573456, i#103347, kohei
diff --git a/patches/dev300/calc-dp-drilldown-fieldname-crash-fix.diff b/patches/dev300/calc-dp-drilldown-fieldname-crash-fix.diff
new file mode 100644
index 0000000..d134e60
--- /dev/null
+++ b/patches/dev300/calc-dp-drilldown-fieldname-crash-fix.diff
@@ -0,0 +1,20 @@
+diff --git sc/source/ui/dbgui/pvfundlg.cxx sc/source/ui/dbgui/pvfundlg.cxx
+index ec140d8..cc88d96 100644
+--- sc/source/ui/dbgui/pvfundlg.cxx
++++ sc/source/ui/dbgui/pvfundlg.cxx
+@@ -742,9 +742,12 @@ ScDPShowDetailDlg::ScDPShowDetailDlg( Window* pParent, ScDPObject& rDPObj, USHOR
+             const ScDPSaveDimension* pDimension = pSaveData ? pSaveData->GetExistingDimensionByName(aName) : 0;
+             if ( !pDimension || (pDimension->GetOrientation() != nOrient) )
+             {
+-                const OUString* pLayoutName = pDimension->GetLayoutName();
+-                if (pLayoutName)
+-                    aName = *pLayoutName;
++                if (pDimension)
++                {
++                    const OUString* pLayoutName = pDimension->GetLayoutName();
++                    if (pLayoutName)
++                        aName = *pLayoutName;
++                }
+                 maLbDims.InsertEntry( aName );
+                 maNameIndexMap.insert(DimNameIndexMap::value_type(aName, nDim));
+             }


More information about the ooo-build-commit mailing list