[Libreoffice-commits] .: Branch 'feature/calc-xml-source' - 136 commits - accessibility/inc accessibility/source afms/delzip afms/Makefile afms/makefile.mk afms/Module_afms.mk afms/prj afms/UnpackedTarball_afms.mk afms/Zip_fontunxafm.mk apache-commons/ExternalProject_apache_commons_codec.mk apache-commons/ExternalProject_apache_commons_httpclient.mk apache-commons/ExternalProject_apache_commons_lang.mk apache-commons/ExternalProject_apache_commons_logging.mk apache-commons/java apache-commons/Makefile apache-commons/Module_apache_commons.mk apache-commons/Package_apache_commons_codec.mk apache-commons/Package_apache_commons_httpclient.mk apache-commons/Package_apache_commons_lang.mk apache-commons/Package_apache_commons_logging.mk apache-commons/patches apache-commons/prj apache-commons/UnpackedTarball_apache_commons_codec.mk apache-commons/UnpackedTarball_apache_commons_httpclient.mk apache-commons/UnpackedTarball_apache_commons_lang.mk apache-commons/UnpackedTarball_apache_commons_loggi ng.mk avmedia/inc avmedia/source basctl/source bridges/inc bridges/Library_gcc3_macosx_powerpc.mk bridges/Library_gcc3_macosx_x86-64.mk bridges/Module_bridges.mk bridges/source cairo/prj config_host.mk.in configure.in connectivity/inc connectivity/source cppunit/android.patch cui/source dbaccess/inc dbaccess/qa dbaccess/source desktop/Library_sofficeapp.mk desktop/scripts desktop/source desktop/unx distro-configs/LibreOfficeMacOSX.conf distro-configs/LibreOfficeMinGW.conf distro-configs/LibreOfficeWin32.conf distro-configs/LibreOfficeWin64.conf extensions/qa extensions/source filter/source gdk-pixbuf/prj i18npool/inc i18npool/source idlc/Executable_idlc.mk idlc/inc idlc/prj idlc/source instsetoo_native/inc_ooohelppack instsetoo_native/inc_ooolangpack instsetoo_native/inc_openoffice instsetoo_native/inc_sdkoo instsetoo_native/inc_ure l10ntools/source lingucomponent/source Makefile.top Module_cross_tail_build.mk Module_tail_build.mk nlpsolver/src odk/pack odk/util offapi/com o ffapi/Makefile offapi/type_reference offapi/UnoApi_offapi.mk offapi/util officecfg/registry ooo.lst.in oox/inc oox/Library_oox.mk oox/source padmin/source postprocess/packcomponents postprocess/rebase qadevOOo/qa qadevOOo/runner qadevOOo/testdocs qadevOOo/tests reportdesign/qa RepositoryFixes.mk Repository.mk RepositoryModule_ooo.mk sal/rtl sax/source sc/AllLangResTarget_sc.mk sc/inc sc/Library_sc.mk sc/Library_scui.mk scp2/InstallModule_ooo.mk scp2/source sc/qa scripting/java scripting/workben sc/sdi sc/source sc/uiconfig sdext/source setup_native/source sfx2/source solenv/bin solenv/gbuild stoc/source stoc/util svtools/inc svtools/source svx/inc svx/sdi svx/source sw/inc sw/qa sw/source tail_build/prj tubes/qa ucb/qa ucb/source unusedcode.easy vcl/aqua vcl/inc vcl/source wizards/com writerfilter/source xmerge/source xmlhelp/source xsltml/ExternalPackage_xsltml.mk xsltml/Makefile xsltml/makefile.mk xsltml/Module_xsltml.mk xsltml/prj xsltml/UnpackedTarball_xsltml.mk xsltml/x sltml_2.1.2.patch

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Sep 27 17:04:20 PDT 2012


Rebased ref, commits from common ancestor:
commit a3a268a05bef974efb2f1b02ff7933d2fcf7f812
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 21:12:11 2012 -0400

    Use the resource file correctly.
    
    Change-Id: I40af0beaf0de25347e8241c08e3be5f92ac16f93

diff --git a/sc/AllLangResTarget_sc.mk b/sc/AllLangResTarget_sc.mk
index 2d3c64c..9ff824f 100644
--- a/sc/AllLangResTarget_sc.mk
+++ b/sc/AllLangResTarget_sc.mk
@@ -82,6 +82,7 @@ $(eval $(call gb_SrsTarget_add_files,sc/res,\
     sc/source/ui/src/colorformat.src \
     sc/source/ui/src/condformatdlg.src \
     sc/source/ui/src/condformatmgr.src \
+    sc/source/ui/src/xmlsourcedlg.src \
     sc/source/ui/cctrl/checklistmenu.src \
     sc/source/ui/navipi/navipi.src \
     sc/source/ui/docshell/tpstat.src \
diff --git a/sc/source/ui/src/xmlsourcedlg.src b/sc/source/ui/src/xmlsourcedlg.src
index 7d67abe..ba80a99 100644
--- a/sc/source/ui/src/xmlsourcedlg.src
+++ b/sc/source/ui/src/xmlsourcedlg.src
@@ -1,4 +1,3 @@
-
 /*
  * This file is part of the LibreOffice project.
  *
@@ -17,3 +16,4 @@ ModalDialog RID_SCDLG_XML_SOURCE
     Moveable = TRUE ;
     Closeable = TRUE ;
 };
+
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index 01a09dd..58f764e 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -10,9 +10,12 @@
 #include "xmlsourcedlg.hxx"
 #include "xmlsourcedlg.hrc"
 
+#include "scresid.hxx"
+
 ScXMLSourceDlg::ScXMLSourceDlg(Window* pParent) :
-    ModalDialog(pParent, RID_SCDLG_XML_SOURCE)
+    ModalDialog(pParent, ScResId(RID_SCDLG_XML_SOURCE))
 {
+    FreeResource();
 }
 
 ScXMLSourceDlg::~ScXMLSourceDlg()
commit 00896daf9bb3864b1dd28ac82a944d106f47ef81
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 21:06:00 2012 -0400

    I forgot to add this.
    
    Change-Id: Idf3600f0194326365e90fbf683cd2133656d3d91

diff --git a/sc/source/ui/src/xmlsourcedlg.src b/sc/source/ui/src/xmlsourcedlg.src
new file mode 100644
index 0000000..7d67abe
--- /dev/null
+++ b/sc/source/ui/src/xmlsourcedlg.src
@@ -0,0 +1,19 @@
+
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "xmlsourcedlg.hrc"
+
+ModalDialog RID_SCDLG_XML_SOURCE
+{
+    HelpID = "sc:ModalDialog:RID_SCDLG_XML_SOURCE";
+    Text [ en-US ] = "XML Source" ;
+    Size = MAP_APPFONT ( 250 , 135 ) ;
+    Moveable = TRUE ;
+    Closeable = TRUE ;
+};
commit a8a67a9c080472aa616cbdf36f032719b69b8992
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 20:21:03 2012 -0400

    Launch the dialog for real.
    
    Change-Id: I974599f3bd30f5a70bad69d9fde727fef965933c

diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 220896e..c75a000 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -2441,7 +2441,22 @@ void ScCellShell::ExecuteDataPilotDialog()
 
 void ScCellShell::ExecuteXMLSourceDialog()
 {
-    fprintf(stdout, "ScCellShell::ExecuteXMLSourceDialog:   launch xml dialog\n");
+    ScAbstractDialogFactory* pFact = ScAbstractDialogFactory::Create();
+    if (!pFact)
+        return;
+
+    ScTabViewShell* pTabViewShell = GetViewData()->GetViewShell();
+    if (!pTabViewShell)
+        return;
+
+    boost::scoped_ptr<AbstractScXMLSourceDlg> pDlg(
+        pFact->CreateScXMLSourceDlg(
+            pTabViewShell->GetDialogParent(), RID_SCDLG_XML_SOURCE));
+
+    if (!pDlg)
+        return;
+
+    pDlg->Execute();
 }
 
 void ScCellShell::ExecuteSubtotals(SfxRequest& rReq)
commit 4fd27c1d902c3ae3481d647ebbbb4864a11b140e
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 20:13:42 2012 -0400

    Abstract dialog instantiation code.
    
    Change-Id: I28e7b354928d349d9f6c90092ead2010cfe3c29b

diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index 0dcb1fe..5e5fad0 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -1088,6 +1088,7 @@
 #define RID_SCDLG_FORMULA_CALCOPTIONS   (SC_DIALOGS_START + 157)
 
 #define RID_SCDLG_COND_FORMAT_MANAGER   (SC_DIALOGS_START + 158)
+#define RID_SCDLG_XML_SOURCE            (SC_DIALOGS_START + 159)
 
 #define SC_DIALOGS_END                  (SC_DIALOGS_START + 160)
 
diff --git a/sc/inc/scabstdlg.hxx b/sc/inc/scabstdlg.hxx
index 7081ddb..9623615 100644
--- a/sc/inc/scabstdlg.hxx
+++ b/sc/inc/scabstdlg.hxx
@@ -334,6 +334,11 @@ public:
     virtual bool IsDateConversionSet() const = 0;
 };
 
+class AbstractScXMLSourceDlg : public VclAbstractDialog
+{
+public:
+};
+
 //-------Scabstract fractory ---------------------------
 class ScAbstractDialogFactory
 {
@@ -531,6 +536,9 @@ public:
                                                         const SfxItemSet* pArgSet,int nId, ScTabViewShell *pTabVwSh  ) = 0;
     virtual SfxAbstractTabDialog * CreateScSortDlg( Window*          pParent, //add for ScSortDlg
                                                     const SfxItemSet* pArgSet,int nId ) = 0;
+
+    virtual AbstractScXMLSourceDlg* CreateScXMLSourceDlg(Window* pParent, int nId) = 0;
+
     // for tabpage
     virtual CreateTabPage               GetTabPageCreatorFunc( sal_uInt16 nId ) = 0;
     virtual GetTabPageRanges            GetTabPageRangesFunc( sal_uInt16 nId ) = 0;
diff --git a/sc/source/ui/attrdlg/scdlgfact.cxx b/sc/source/ui/attrdlg/scdlgfact.cxx
index 4dd4bc3..9257a9e 100644
--- a/sc/source/ui/attrdlg/scdlgfact.cxx
+++ b/sc/source/ui/attrdlg/scdlgfact.cxx
@@ -82,6 +82,7 @@
 #include "colorformat.hxx"
 #include "condformatdlg.hxx"
 #include "condformatmgr.hxx"
+#include "xmlsourcedlg.hxx"
 
 // ause
 #include "editutil.hxx"
@@ -123,6 +124,7 @@ IMPL_ABSTDLG_BASE(AbstractScStringInputDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScTabBgColorDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScImportOptionsDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractScTextImportOptionsDlg_Impl);
+IMPL_ABSTDLG_BASE(AbstractScXMLSourceDlg_Impl);
 IMPL_ABSTDLG_BASE(AbstractTabDialog_Impl);
 
 // AbstractTabDialog_Impl begin
@@ -685,8 +687,6 @@ AbstractScTextImportOptionsDlg * ScAbstractDialogFactory_Impl::CreateScTextImpor
     return pDlg ? new AbstractScTextImportOptionsDlg_Impl(pDlg) : NULL;
 }
 
-
-
 AbstractScAutoFormatDlg * ScAbstractDialogFactory_Impl::CreateScAutoFormatDlg( Window*                  pParent,
                                                                 ScAutoFormat*               pAutoFormat,
                                                                 const ScAutoFormatData*    pSelFormatData,
@@ -1595,6 +1595,14 @@ SfxAbstractTabDialog * ScAbstractDialogFactory_Impl::CreateScSortDlg( Window*
         return new AbstractTabDialog_Impl( pDlg );
     return 0;
 }
+
+AbstractScXMLSourceDlg* ScAbstractDialogFactory_Impl::CreateScXMLSourceDlg(Window* pParent, int nId)
+{
+    ScXMLSourceDlg* pDlg = (nId == RID_SCDLG_XML_SOURCE) ? new ScXMLSourceDlg(pParent) : NULL;
+
+    return pDlg ? new AbstractScXMLSourceDlg_Impl(pDlg) : NULL;
+}
+
 #undef SfxTabDialog
 #undef AbstractTabDialog_Impl
 
diff --git a/sc/source/ui/attrdlg/scdlgfact.hxx b/sc/source/ui/attrdlg/scdlgfact.hxx
index b4c6ddc..73b35d9 100644
--- a/sc/source/ui/attrdlg/scdlgfact.hxx
+++ b/sc/source/ui/attrdlg/scdlgfact.hxx
@@ -66,6 +66,7 @@ class ScTextImportOptionsDlg;
 class ScDataBarSettingsDlg;
 class ScCondFormatDlg;
 class ScCondFormatManagerDlg;
+class ScXMLSourceDlg;
 
 #define DECL_ABSTDLG_BASE(Class,DialogClass)        \
     DialogClass*        pDlg;                       \
@@ -389,6 +390,11 @@ class AbstractScTextImportOptionsDlg_Impl : public AbstractScTextImportOptionsDl
     virtual bool IsDateConversionSet() const;
 };
 
+class AbstractScXMLSourceDlg_Impl : public AbstractScXMLSourceDlg
+{
+    DECL_ABSTDLG_BASE(AbstractScXMLSourceDlg_Impl, ScXMLSourceDlg)
+};
+
 //add for ScAttrDlg , ScHFEditDlg, ScStyleDlg, ScSubTotalDlg, ScCharDlg, ScParagraphDlg, ScValidationDlg, ScSortDlg
 class AbstractTabDialog_Impl : public SfxAbstractTabDialog
 {
@@ -401,6 +407,7 @@ class AbstractTabDialog_Impl : public SfxAbstractTabDialog
     virtual void        SetText( const XubString& rStr );
     virtual String      GetText() const;
 };
+
 //------------------------------------------------------------------------
 //AbstractDialogFactory_Impl implementations
 class ScAbstractDialogFactory_Impl : public ScAbstractDialogFactory
@@ -602,6 +609,9 @@ public:
 
     virtual SfxAbstractTabDialog * CreateScSortDlg( Window*          pParent, //add for ScSortDlg
                                                     const SfxItemSet* pArgSet,int nId );
+
+    virtual AbstractScXMLSourceDlg* CreateScXMLSourceDlg(Window* pParent, int nId);
+
     // For TabPage
     virtual CreateTabPage               GetTabPageCreatorFunc( sal_uInt16 nId );
 
diff --git a/sc/source/ui/inc/xmlsourcedlg.hrc b/sc/source/ui/inc/xmlsourcedlg.hrc
index 323ef7c..b87b6a3 100644
--- a/sc/source/ui/inc/xmlsourcedlg.hrc
+++ b/sc/source/ui/inc/xmlsourcedlg.hrc
@@ -9,6 +9,7 @@
 
 #include "sc.hrc"
 
-
+#define BTN_OK 0
+#define BTN_CANCEL 1
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/sc/source/ui/inc/xmlsourcedlg.hxx b/sc/source/ui/inc/xmlsourcedlg.hxx
index 6177cf3..3d0237f 100644
--- a/sc/source/ui/inc/xmlsourcedlg.hxx
+++ b/sc/source/ui/inc/xmlsourcedlg.hxx
@@ -10,8 +10,13 @@
 #ifndef __SC_XMLSOURCEDLG_HXX__
 #define __SC_XMLSOURCEDLG_HXX__
 
-class XMLSourceDlg
+#include "vcl/dialog.hxx"
+
+class ScXMLSourceDlg : public ModalDialog
 {
+public:
+    ScXMLSourceDlg(Window* pParent);
+    virtual ~ScXMLSourceDlg();
 };
 
 #endif
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
index 59a133c..01a09dd 100644
--- a/sc/source/ui/xmlsource/xmlsourcedlg.cxx
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -10,4 +10,13 @@
 #include "xmlsourcedlg.hxx"
 #include "xmlsourcedlg.hrc"
 
+ScXMLSourceDlg::ScXMLSourceDlg(Window* pParent) :
+    ModalDialog(pParent, RID_SCDLG_XML_SOURCE)
+{
+}
+
+ScXMLSourceDlg::~ScXMLSourceDlg()
+{
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 213c8c39cd20f58a57270aa15f4d488547232c07
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 17:53:12 2012 -0400

    Add new skeleton files for the new xml source dialog.
    
    Change-Id: I2ac196ea74185fd7f10919ad64434855c5c8b5fa

diff --git a/sc/Library_scui.mk b/sc/Library_scui.mk
index 6d67de0..102affb 100644
--- a/sc/Library_scui.mk
+++ b/sc/Library_scui.mk
@@ -116,6 +116,7 @@ $(eval $(call gb_Library_add_exception_objects,scui,\
     sc/source/ui/pagedlg/tphf \
     sc/source/ui/pagedlg/tptable \
     sc/source/ui/styleui/styledlg \
+    sc/source/ui/xmlsource/xmlsourcedlg \
 ))
 
 ifeq ($(OS),WNT)
diff --git a/sc/source/ui/inc/xmlsourcedlg.hrc b/sc/source/ui/inc/xmlsourcedlg.hrc
new file mode 100644
index 0000000..323ef7c
--- /dev/null
+++ b/sc/source/ui/inc/xmlsourcedlg.hrc
@@ -0,0 +1,14 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "sc.hrc"
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
\ No newline at end of file
diff --git a/sc/source/ui/inc/xmlsourcedlg.hxx b/sc/source/ui/inc/xmlsourcedlg.hxx
new file mode 100644
index 0000000..6177cf3
--- /dev/null
+++ b/sc/source/ui/inc/xmlsourcedlg.hxx
@@ -0,0 +1,19 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __SC_XMLSOURCEDLG_HXX__
+#define __SC_XMLSOURCEDLG_HXX__
+
+class XMLSourceDlg
+{
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/xmlsource/xmlsourcedlg.cxx b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
new file mode 100644
index 0000000..59a133c
--- /dev/null
+++ b/sc/source/ui/xmlsource/xmlsourcedlg.cxx
@@ -0,0 +1,13 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include "xmlsourcedlg.hxx"
+#include "xmlsourcedlg.hrc"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 485a752704c626022077ba89e44a70909dce0dc9
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 17:41:01 2012 -0400

    Separate method to launch xml source dialog.
    
    Change-Id: Iac7898d695cd7659f44944d6615a91d4e2b6a52e

diff --git a/sc/source/ui/inc/cellsh.hxx b/sc/source/ui/inc/cellsh.hxx
index 88043ce..c2f7f01 100644
--- a/sc/source/ui/inc/cellsh.hxx
+++ b/sc/source/ui/inc/cellsh.hxx
@@ -67,6 +67,7 @@ private:
                     const String& _rSource, sal_uLong _nRefresh, SfxRequest& _rRequest );
 
     void ExecuteDataPilotDialog();
+    void ExecuteXMLSourceDialog();
     void ExecuteSubtotals(SfxRequest& rReq);
 
     DECL_LINK( ClipboardChanged, TransferableDataHelper* );
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index a1cdc8c..220896e 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -2439,6 +2439,11 @@ void ScCellShell::ExecuteDataPilotDialog()
     }
 }
 
+void ScCellShell::ExecuteXMLSourceDialog()
+{
+    fprintf(stdout, "ScCellShell::ExecuteXMLSourceDialog:   launch xml dialog\n");
+}
+
 void ScCellShell::ExecuteSubtotals(SfxRequest& rReq)
 {
     ScTabViewShell* pTabViewShell = GetViewData()->GetViewShell();
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index f1d6395..0370dc4 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -746,7 +746,7 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
             break;
 
         case SID_MANAGE_XML_SOURCE:
-            fprintf(stdout, "ScCellShell::ExecuteDB:   SID_MANAGE_XML_SOURCE\n");
+            ExecuteXMLSourceDialog();
         break;
         case FID_VALIDATION:
             {
commit 867de649ad5097a3b268c7746bc594bc946094d7
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 16:11:52 2012 -0400

    Add new slot ID for 'Manage XML Source' menu entry.
    
    Plus unwind the mess of slot ID collision between sc and svx.
    
    Change-Id: Iad236e50f58160d85c997d6f8f6dfce405fd82bb

diff --git a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
index e6767b7..a9fbf92 100644
--- a/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/CalcCommands.xcu
@@ -1194,6 +1194,11 @@
                     <value xml:lang="en-US">Select ~Range...</value>
                 </prop>
             </node>
+            <node oor:name=".uno:ManageXMLSource" oor:op="replace">
+                <prop oor:name="Label" oor:type="xs:string">
+                    <value xml:lang="en-US">Manage ~XML Source...</value>
+                </prop>
+            </node>
             <node oor:name=".uno:DataSort" oor:op="replace">
                 <prop oor:name="Label" oor:type="xs:string">
                     <value xml:lang="en-US">~Sort...</value>
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index b5e6b8a..0dcb1fe 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -238,6 +238,7 @@
 #define SC_HINT_SHOWRANGEFINDER (SC_MESSAGE_START + 34)
 #define SC_HINT_DOC_SAVED       (SC_MESSAGE_START + 35)
 #define SC_HINT_FORCESETTAB     (SC_MESSAGE_START + 36)
+#define SID_ENTER_STRING        (SC_MESSAGE_START + 37)
 
 // messages for opening dialogs:
 #define SID_OPENDLG_CONSOLIDATE     (SC_MESSAGE_START + 50)
@@ -360,6 +361,7 @@
 #define SID_AUTO_FILTER         (DATA_MENU_START + 5)
 #define SID_UNFILTER            (DATA_MENU_START + 6)
 #define SID_QUERY               (DATA_MENU_START + 7)
+#define SID_MANAGE_XML_SOURCE   (DATA_MENU_START + 8)
 #define SID_SUBTOTALS           (DATA_MENU_START + 13)
 #define SID_AUTO_OUTLINE        (DATA_MENU_START + 14)
 #define SID_IMPORT_DATA         (DATA_MENU_START + 15)
@@ -369,13 +371,15 @@
 #define SID_TEXT_TO_COLUMNS     (DATA_MENU_START + 19)
 #define SID_CONSOLIDATE         (DATA_MENU_START + 20)
 #define SID_AUTOFILTER_HIDE     (DATA_MENU_START + 21)
-
 #define SID_SBA_IMPORT          (DATA_MENU_START + 22)
-
 #define SID_SORT_DESCENDING     (DATA_MENU_START + 23)
 #define SID_SORT_ASCENDING      (DATA_MENU_START + 24)
+#define SID_OUTLINE_HIDE        (DATA_MENU_START + 25)
+#define SID_OUTLINE_SHOW        (DATA_MENU_START + 26)
+#define SID_OUTLINE_MAKE        (DATA_MENU_START + 27)
+#define SID_OUTLINE_REMOVE      (DATA_MENU_START + 28)
 
-#define DATA_MENU_END           (DATA_MENU_START + 25)
+#define DATA_MENU_END           (DATA_MENU_START + 29)
 
 #define TAB_POPUP_START         (DATA_MENU_END)
 #define RID_POPUP_TAB           (TAB_POPUP_START)
diff --git a/sc/inc/sccommands.h b/sc/inc/sccommands.h
index 1350c0c..783f757 100644
--- a/sc/inc/sccommands.h
+++ b/sc/inc/sccommands.h
@@ -101,6 +101,7 @@
 #define CMD_FID_TAB_EVENTS                          ".uno:TableEvents"
 #define CMD_FID_TAB_MENU_SET_TAB_BG_COLOR           ".uno:SetTabBgColor"
 #define CMD_FID_TAB_SET_TAB_BG_COLOR                ".uno:TabBgColor"
+#define CMD_SID_MANAGE_XML_SOURCE                   ".uno:ManageXMLSource"
 
 #endif
 
diff --git a/sc/sdi/cellsh.sdi b/sc/sdi/cellsh.sdi
index 77eea5c..0256ea0 100644
--- a/sc/sdi/cellsh.sdi
+++ b/sc/sdi/cellsh.sdi
@@ -60,6 +60,7 @@ interface CellSelection
     SID_REFRESH_DBAREA      [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
     SID_SBA_BRW_INSERT      [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
     SID_SELECT_DB           [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
+    SID_MANAGE_XML_SOURCE   [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
     SID_SORT                [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
     SID_DATA_FORM           [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
     FID_FILTER_OK           [ ExecMethod = ExecuteDB; StateMethod = GetDBState; ]
diff --git a/sc/sdi/scalc.sdi b/sc/sdi/scalc.sdi
index 451ffca..2cdf7cd 100644
--- a/sc/sdi/scalc.sdi
+++ b/sc/sdi/scalc.sdi
@@ -5761,7 +5761,30 @@ SfxVoidItem SelectDB SID_SELECT_DB
     GroupId = GID_DATA;
 ]
 
-//--------------------------------------------------------------------------
+SfxVoidItem ManageXMLSource SID_MANAGE_XML_SOURCE
+(SfxStringItem DbName SID_MANAGE_XML_SOURCE)
+[
+    /* flags: */
+    AutoUpdate = FALSE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = TRUE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    /* config: */
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = FALSE,
+    GroupId = GID_DATA;
+]
+
 SfxObjectItem SelectedObject SID_SC_ACTIVEOBJECT
 
 [
@@ -8172,3 +8195,123 @@ SfxVoidItem OpenFromCalc SID_OPEN_CALC
     ToolBoxConfig = FALSE,
     GroupId = GID_OPTIONS;
 ]
+
+SfxVoidItem ShowDetail SID_OUTLINE_SHOW
+()
+[
+    /* flags: */
+    AutoUpdate = FALSE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = FALSE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    /* config: */
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = FALSE,
+    GroupId = GID_DATA;
+]
+
+SfxVoidItem HideDetail SID_OUTLINE_HIDE
+()
+[
+    /* flags: */
+    AutoUpdate = FALSE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = FALSE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    /* config: */
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = FALSE,
+    GroupId = GID_DATA;
+]
+
+SfxVoidItem Group SID_OUTLINE_MAKE
+(SfxStringItem RowOrCol SID_OUTLINE_MAKE)
+[
+    /* flags: */
+    AutoUpdate = FALSE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = TRUE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    /* config: */
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = GID_DATA;
+]
+
+SfxVoidItem Ungroup SID_OUTLINE_REMOVE
+(SfxStringItem RowOrCol SID_OUTLINE_REMOVE)
+[
+    /* flags: */
+    AutoUpdate = FALSE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = TRUE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    /* config: */
+    AccelConfig = TRUE,
+    MenuConfig = TRUE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = TRUE,
+    GroupId = GID_DATA;
+]
+
+SfxVoidItem EnterString SID_ENTER_STRING
+(SfxStringItem StringName SID_ENTER_STRING)
+[
+    /* flags: */
+    AutoUpdate = FALSE,
+    Cachable = Cachable,
+    FastCall = FALSE,
+    HasCoreId = FALSE,
+    HasDialog = FALSE,
+    ReadOnlyDoc = TRUE,
+    Toggle = FALSE,
+    Container = FALSE,
+    RecordAbsolute = FALSE,
+    RecordPerSet;
+    Synchron;
+
+    /* config: */
+    AccelConfig = FALSE,
+    MenuConfig = FALSE,
+    StatusBarConfig = FALSE,
+    ToolBoxConfig = FALSE,
+    GroupId = GID_INTERN;
+]
diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx
index 325e713..f1d6395 100644
--- a/sc/source/ui/view/cellsh2.cxx
+++ b/sc/source/ui/view/cellsh2.cxx
@@ -745,6 +745,9 @@ void ScCellShell::ExecuteDB( SfxRequest& rReq )
             }
             break;
 
+        case SID_MANAGE_XML_SOURCE:
+            fprintf(stdout, "ScCellShell::ExecuteDB:   SID_MANAGE_XML_SOURCE\n");
+        break;
         case FID_VALIDATION:
             {
                 const SfxPoolItem* pItem;
diff --git a/sc/uiconfig/scalc/menubar/menubar.xml b/sc/uiconfig/scalc/menubar/menubar.xml
index 0bff97c..47e57af 100644
--- a/sc/uiconfig/scalc/menubar/menubar.xml
+++ b/sc/uiconfig/scalc/menubar/menubar.xml
@@ -416,6 +416,8 @@
             <menu:menuitem menu:id=".uno:DefineDBName"/>
             <menu:menuitem menu:id=".uno:SelectDB"/>
             <menu:menuseparator/>
+            <menu:menuitem menu:id=".uno:ManageXMLSource"/>
+            <menu:menuseparator/>
             <menu:menuitem menu:id=".uno:DataSort"/>
             <menu:menu menu:id=".uno:FilterMenu">
                 <menu:menupopup>
diff --git a/svx/inc/svx/svxids.hrc b/svx/inc/svx/svxids.hrc
index a932a11..8d6e56f 100644
--- a/svx/inc/svx/svxids.hrc
+++ b/svx/inc/svx/svxids.hrc
@@ -232,19 +232,6 @@
 #define ID_VAL_USEBANDINGCOLUMNSTYLE        (SID_SD_START+328)
 
 // --------------------------------------------------------------------------
-// Calc-Id's
-// --------------------------------------------------------------------------
-
-#define SID_OUTLINE_HIDE        (SID_SC_START + 329)
-#define SID_OUTLINE_SHOW        (SID_SC_START + 330)
-#define SID_OUTLINE_MAKE        (SID_SC_START + 331)
-#define SID_OUTLINE_REMOVE      (SID_SC_START + 332)
-#define SID_FRAME_UP            (SID_SC_START + 407)
-#define SID_FRAME_DOWN          (SID_SC_START + 408)
-#define SID_ENTER_STRING        (SID_SC_START + 476)
-#define SID_ATTR_SPECIALCHAR    (SID_SC_START + 581)
-
-// --------------------------------------------------------------------------
 // Writer-Id's
 // --------------------------------------------------------------------------
 #define FN_EDIT                 (SID_SW_START +  100)
@@ -937,6 +924,9 @@
 #define SID_ATTR_PAGE_SHARED_FIRST                      (SID_SVX_START+1114)
 #define SID_SAVE_GRAPHIC                                (SID_SVX_START+1115)
 #define SID_COMPRESS_GRAPHIC                            (SID_SVX_START+1116)
+#define SID_FRAME_UP                                    (SID_SVX_START+1117)
+#define SID_FRAME_DOWN                                  (SID_SVX_START+1118)
+#define SID_ATTR_SPECIALCHAR                            (SID_SVX_START+1119)
 
 // IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id
 #define SID_SVX_FIRSTFREE                               (SID_COMPRESS_GRAPHIC + 1)
diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi
index eea97a4..97c1571 100644
--- a/svx/sdi/svx.sdi
+++ b/svx/sdi/svx.sdi
@@ -5575,31 +5575,6 @@ SfxBoolItem GridVisible SID_GRID_VISIBLE
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem Group SID_OUTLINE_MAKE
-(SfxStringItem RowOrCol SID_OUTLINE_MAKE)
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = TRUE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = GID_DATA;
-]
-
-//--------------------------------------------------------------------------
 SfxBoolItem GroupBox SID_FM_GROUPBOX
 
 [
@@ -5735,31 +5710,6 @@ SfxBoolItem HFixedLine SID_INSERT_HFIXEDLINE
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem HideDetail SID_OUTLINE_HIDE
-()
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = FALSE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = FALSE,
-    GroupId = GID_DATA;
-]
-
-//--------------------------------------------------------------------------
 SfxBoolItem HScrollbar SID_INSERT_HSCROLLBAR
 
 [
@@ -6073,31 +6023,6 @@ SfxVoidItem InPlaceObjectResize SID_OBJECTRESIZE
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem EnterString SID_ENTER_STRING
-(SfxStringItem StringName SID_ENTER_STRING)
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = FALSE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = FALSE,
-    MenuConfig = FALSE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = FALSE,
-    GroupId = GID_INTERN;
-]
-
-//--------------------------------------------------------------------------
 SfxVoidItem InsertAnnotation SID_INSERT_POSTIT
 (SvxPostItAuthorItem Author SID_ATTR_POSTIT_AUTHOR,SvxPostItDateItem Date SID_ATTR_POSTIT_DATE,SvxPostItTextItem Text SID_ATTR_POSTIT_TEXT)
 [
@@ -10138,31 +10063,6 @@ SvxShadowedItem Shadowed SID_ATTR_CHAR_SHADOWED
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem ShowDetail SID_OUTLINE_SHOW
-()
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = FALSE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = FALSE,
-    GroupId = GID_DATA;
-]
-
-//--------------------------------------------------------------------------
 SfxBoolItem ShowFmExplorer SID_FM_SHOW_FMEXPLORER
 
 [
@@ -11508,31 +11408,6 @@ SvxTextLineItem Overline SID_ATTR_CHAR_OVERLINE
 ]
 
 //--------------------------------------------------------------------------
-SfxVoidItem Ungroup SID_OUTLINE_REMOVE
-(SfxStringItem RowOrCol SID_OUTLINE_REMOVE)
-[
-    /* flags: */
-    AutoUpdate = FALSE,
-    Cachable = Cachable,
-    FastCall = FALSE,
-    HasCoreId = FALSE,
-    HasDialog = TRUE,
-    ReadOnlyDoc = TRUE,
-    Toggle = FALSE,
-    Container = FALSE,
-    RecordAbsolute = FALSE,
-    RecordPerSet;
-    Synchron;
-
-    /* config: */
-    AccelConfig = TRUE,
-    MenuConfig = TRUE,
-    StatusBarConfig = FALSE,
-    ToolBoxConfig = TRUE,
-    GroupId = GID_DATA;
-]
-
-//--------------------------------------------------------------------------
 SfxBoolItem URLButton SID_INSERT_URLBUTTON
 
 [
commit d37f3375a2cf6ce94e4c44744fcd161ea4645498
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Wed Sep 26 13:02:20 2012 -0400

    Switch to orcus-0.3.0 (work-in-progress version from master).
    
    Change-Id: I786face760685a243e6b78f71094a8733256aa46

diff --git a/configure.in b/configure.in
index 17b13c6..9d9f59f 100644
--- a/configure.in
+++ b/configure.in
@@ -8697,7 +8697,7 @@ AC_MSG_CHECKING([which orcus library to use])
 if test "$with_system_orcus" = "yes"; then
     AC_MSG_RESULT([external])
     SYSTEM_LIBORCUS=YES
-    PKG_CHECK_MODULES(ORCUS, liborcus-0.2 >= 0.1.0)
+    PKG_CHECK_MODULES(ORCUS, liborcus-0.4 >= 0.3.0)
 else
     AC_MSG_RESULT([internal])
     ORCUS_TARBALL=46d9f4cf8b145c21ce1056e116d2ce71-liborcus_0.1.0.tar.bz2
commit 77a0acae58828d2186bce241b562c363da93343b
Author: Kohei Yoshida <kohei.yoshida at gmail.com>
Date:   Thu Sep 27 15:37:27 2012 -0400

    Remove DECLARE_SVTREELIST.
    
    There is only one place that uses it.
    
    Change-Id: Ie3a41b36a5273c9b658b6a2f0e5d029bcb148546

diff --git a/svtools/inc/svtools/svlbox.hxx b/svtools/inc/svtools/svlbox.hxx
index 6c7c0fb..b582806 100644
--- a/svtools/inc/svtools/svlbox.hxx
+++ b/svtools/inc/svtools/svlbox.hxx
@@ -215,6 +215,24 @@ public:
     void        SetFlags( sal_uInt16 nFlags ) { nEntryFlags = nFlags; }
 };
 
+class SVT_DLLPUBLIC SvLBoxTreeList : public SvTreeList
+{
+public:
+    SvLBoxEntry* First() const;
+    SvLBoxEntry* Next( SvListEntry* pEntry, sal_uInt16* pDepth=0 ) const;
+    SvLBoxEntry* Prev( SvListEntry* pEntry, sal_uInt16* pDepth=0 ) const;
+    SvLBoxEntry* Last() const;
+    SvLBoxEntry* Clone( SvListEntry* pEntry, sal_uLong& nCloneCount ) const;
+    SvLBoxEntry* GetEntry( SvListEntry* pParent, sal_uLong nPos ) const;
+    SvLBoxEntry* GetEntry( sal_uLong nRootPos ) const;
+    SvLBoxEntry* GetParent( SvListEntry* pEntry ) const;
+    SvLBoxEntry* FirstChild( SvLBoxEntry* pParent ) const;
+    SvLBoxEntry* NextSibling( SvLBoxEntry* pEntry ) const;
+    SvLBoxEntry* PrevSibling( SvLBoxEntry* pEntry ) const;
+    SvLBoxEntry* LastSibling( SvLBoxEntry* pEntry ) const;
+    SvLBoxEntry* GetEntryAtAbsPos( sal_uLong nAbsPos ) const;
+};
+
 // *********************************************************************
 // ****************************** SvLBox *******************************
 // *********************************************************************
@@ -232,8 +250,6 @@ public:
 // Das Drop-Target ist in diesem Fall 0
 #define SV_DRAGDROP_ENABLE_TOP      (DragDropMode)0x0020
 
-DECLARE_SVTREELIST(SvLBoxTreeList, SvLBoxEntry*)
-
 #define SVLISTBOX_ID_LBOX 0   // fuer SvLBox::IsA()
 
 #define SVLBOX_IN_EDT           0x0001
diff --git a/svtools/inc/svtools/treelist.hxx b/svtools/inc/svtools/treelist.hxx
index d5ba003..bc0b683 100644
--- a/svtools/inc/svtools/treelist.hxx
+++ b/svtools/inc/svtools/treelist.hxx
@@ -603,43 +603,6 @@ inline SvListEntry* SvTreeList::GetParent( SvListEntry* pEntry ) const
     return pParent;
 }
 
-#define DECLARE_SVTREELIST( ClassName, Type )                                   \
-class ClassName : public SvTreeList                                             \
-{                                                                               \
-public:                                                                         \
-    Type        First() const                                                   \
-                    { return (Type)SvTreeList::First(); }                       \
-    Type        Next( SvListEntry* pEntry, sal_uInt16* pDepth=0 ) const         \
-                    { return (Type)SvTreeList::Next(pEntry,pDepth); }           \
-    Type        Prev( SvListEntry* pEntry, sal_uInt16* pDepth=0 ) const         \
-                    { return (Type)SvTreeList::Prev(pEntry,pDepth); }           \
-    Type        Last() const                                                    \
-                    { return (Type)SvTreeList::Last(); }                        \
-                                                                                \
-    Type        Clone( SvListEntry* pEntry, sal_uLong& nCloneCount ) const      \
-                    { return (Type)SvTreeList::Clone(pEntry,nCloneCount); }     \
-    Type        GetEntry( SvListEntry* pParent, sal_uLong nPos ) const          \
-                    { return (Type)SvTreeList::GetEntry(pParent,nPos); }        \
-    Type        GetEntry( sal_uLong nRootPos ) const                            \
-                    { return (Type)SvTreeList::GetEntry(nRootPos); }            \
-    Type        GetParent( SvListEntry* pEntry ) const                          \
-                    { return (Type)SvTreeList::GetParent(pEntry); }             \
-    using SvTreeList::FirstChild;                                               \
-    Type        FirstChild( Type pParent ) const                                \
-                    { return (Type)SvTreeList::FirstChild(pParent); }           \
-    using SvTreeList::NextSibling;                                              \
-    Type        NextSibling( Type pEntry ) const                                \
-                    { return (Type)SvTreeList::NextSibling(pEntry); }           \
-    using SvTreeList::PrevSibling;                                              \
-    Type        PrevSibling( Type pEntry ) const                                \
-                    { return (Type)SvTreeList::PrevSibling(pEntry); }           \
-    using SvTreeList::LastSibling;                                              \
-    Type        LastSibling( Type pEntry ) const                                \
-                    { return (Type)SvTreeList::LastSibling(pEntry); }           \
-    Type        GetEntryAtAbsPos( sal_uLong nAbsPos ) const                     \
-                    { return (Type)SvTreeList::GetEntryAtAbsPos( nAbsPos); }    \
-};
-
 #endif
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/source/contnr/svlbox.cxx b/svtools/source/contnr/svlbox.cxx
index d3e0c03..a16e723 100644
--- a/svtools/source/contnr/svlbox.cxx
+++ b/svtools/source/contnr/svlbox.cxx
@@ -480,6 +480,71 @@ SvLBoxItem* SvLBoxEntry::GetFirstItem( sal_uInt16 nId )
     return 0;
 }
 
+SvLBoxEntry* SvLBoxTreeList::First() const
+{
+    return (SvLBoxEntry*)SvTreeList::First();
+}
+
+SvLBoxEntry* SvLBoxTreeList::Next( SvListEntry* pEntry, sal_uInt16* pDepth ) const
+{
+    return (SvLBoxEntry*)SvTreeList::Next(pEntry,pDepth);
+}
+
+SvLBoxEntry* SvLBoxTreeList::Prev( SvListEntry* pEntry, sal_uInt16* pDepth ) const
+{
+    return (SvLBoxEntry*)SvTreeList::Prev(pEntry,pDepth);
+}
+
+SvLBoxEntry* SvLBoxTreeList::Last() const
+{
+    return (SvLBoxEntry*)SvTreeList::Last();
+}
+
+SvLBoxEntry* SvLBoxTreeList::Clone( SvListEntry* pEntry, sal_uLong& nCloneCount ) const
+{
+    return (SvLBoxEntry*)SvTreeList::Clone(pEntry,nCloneCount);
+}
+
+SvLBoxEntry* SvLBoxTreeList::GetEntry( SvListEntry* pParent, sal_uLong nPos ) const
+{
+    return (SvLBoxEntry*)SvTreeList::GetEntry(pParent,nPos);
+}
+
+SvLBoxEntry* SvLBoxTreeList::GetEntry( sal_uLong nRootPos ) const
+{
+    return (SvLBoxEntry*)SvTreeList::GetEntry(nRootPos);
+}
+
+SvLBoxEntry* SvLBoxTreeList::GetParent( SvListEntry* pEntry ) const
+{
+    return (SvLBoxEntry*)SvTreeList::GetParent(pEntry);
+}
+
+SvLBoxEntry* SvLBoxTreeList::FirstChild( SvLBoxEntry* pParent ) const
+{
+    return (SvLBoxEntry*)SvTreeList::FirstChild(pParent);
+}
+
+SvLBoxEntry* SvLBoxTreeList::NextSibling( SvLBoxEntry* pEntry ) const
+{
+    return (SvLBoxEntry*)SvTreeList::NextSibling(pEntry);
+}
+
+SvLBoxEntry* SvLBoxTreeList::PrevSibling( SvLBoxEntry* pEntry ) const
+{
+    return (SvLBoxEntry*)SvTreeList::PrevSibling(pEntry);
+}
+
+SvLBoxEntry* SvLBoxTreeList::LastSibling( SvLBoxEntry* pEntry ) const
+{
+    return (SvLBoxEntry*)SvTreeList::LastSibling(pEntry);
+}
+
+SvLBoxEntry* SvLBoxTreeList::GetEntryAtAbsPos( sal_uLong nAbsPos ) const
+{
+    return (SvLBoxEntry*)SvTreeList::GetEntryAtAbsPos( nAbsPos);
+}
+
 // ***************************************************************
 // class SvLBoxViewData
 // ***************************************************************
commit 6ed264ffca065ed2aa36624ba29d9764ff042a72
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Sep 28 01:22:44 2012 +0200

    fix vell value import from ooxml with array formulas, fdo#54559
    
    Change-Id: I3a7e30940caaaa543a178bba3008db2c6056b4d3

diff --git a/sc/source/filter/oox/formulabuffer.cxx b/sc/source/filter/oox/formulabuffer.cxx
index f2f1d69..70efcaf 100644
--- a/sc/source/filter/oox/formulabuffer.cxx
+++ b/sc/source/filter/oox/formulabuffer.cxx
@@ -99,23 +99,23 @@ void FormulaBuffer::finalizeImport()
             applyCellFormulas( cellIt->second );
         }
 
+        ArrayFormulaDataMap::iterator itArray = cellArrayFormulas.find( nTab );
+        if ( itArray != cellArrayFormulas.end() )
+        {
+            applyArrayFormulas( itArray->second );
+        }
+
         FormulaValueMap::iterator itValues = cellFormulaValues.find( nTab );
         if ( itValues != cellFormulaValues.end() )
         {
             std::vector< ValueAddressPair > & rVector = itValues->second;
             applyCellFormulaValues( rVector );
         }
-
-        ArrayFormulaDataMap::iterator itArray = cellArrayFormulas.find( nTab );
-
-        if ( itArray != cellArrayFormulas.end() )
-        {
-            applyArrayFormulas( itArray->second );
-        }
     }
     rDoc.SetAutoNameCache( NULL );
     xFormulaBar->setPosition( 1.0 );
 }
+
 void FormulaBuffer::applyCellFormula( ScDocument& rDoc, const ApiTokenSequence& rTokens, const ::com::sun::star::table::CellAddress& rAddress )
 {
         ScTokenArray aTokenArray;
@@ -145,7 +145,8 @@ void FormulaBuffer::applyCellFormulaValues( const std::vector< ValueAddressPair
         ScAddress aCellPos;
         ScUnoConversion::FillScAddress( aCellPos, it->first );
         ScBaseCell* pBaseCell = rDoc.GetCell( aCellPos );
-        if ( pBaseCell->GetCellType() == CELLTYPE_FORMULA )
+        SAL_WARN_IF( !pBaseCell, "sc", "why is the formula not imported? bug?");
+        if ( pBaseCell && pBaseCell->GetCellType() == CELLTYPE_FORMULA )
         {
             ScFormulaCell* pCell = static_cast< ScFormulaCell* >( pBaseCell );
             pCell->SetHybridDouble( it->second );
commit fcd85be5d5e44b00c6fa5717c7ec13ea657483d4
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Fri Sep 28 01:21:41 2012 +0200

    ooxml spec allow ext ref to non existent entry, fdo#54558
    
    Change-Id: I717917d04a93975472d60248eb61066cd04d1bbe

diff --git a/sc/source/filter/oox/extlstcontext.cxx b/sc/source/filter/oox/extlstcontext.cxx
index c1949e8..78fd832 100644
--- a/sc/source/filter/oox/extlstcontext.cxx
+++ b/sc/source/filter/oox/extlstcontext.cxx
@@ -200,7 +200,13 @@ ContextHandlerRef ExtGlobalContext::onCreateContext( sal_Int32 nElement, const A
         if(nElement == XLS_EXT_TOKEN( cfRule ))
         {
             rtl::OUString aId = rAttribs.getString( XML_id, rtl::OUString() );
-            void* pInfo = getExtLst().find( aId )->second;
+
+            // an ext entrie does not need to have an existing corresponding entry
+            ExtLst::const_iterator aExt = getExtLst().find( aId );
+            if(aExt == getExtLst().end())
+                return NULL;
+
+            void* pInfo = aExt->second;
             if (!pInfo)
             {
                 return NULL;
commit 72846a5c528cf66f01036978bf77eabc9f039025
Author: Matúš Kukan <matus.kukan at gmail.com>
Date:   Fri Sep 28 00:39:43 2012 +0200

    and also use new gb_UCPPTARGET; gb_UCPP unused
    
    Change-Id: I8cd066e61cdfdef65385a2482f1a8f0aa1fb90cb

diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index a4c6e19..fd7a0a3 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -69,7 +69,7 @@ endef
 
 $(call gb_UnoApiPartTarget_get_target,%.done) : \
 		$(gb_UnoApiPartTarget_IDLCTARGET) \
-		| $(gb_UnoApiPartTarget_UCPPTARGET)
+		| $(gb_UCPPTARGET)
 	$(call gb_UnoApiPartTarget__command,$@,$*,$(filter-out $(gb_UnoApiPartTarget_IDLCTARGET),$?))
 
 ifeq ($(gb_FULLDEPS),$(true))
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index 2a51440..85f2956 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -405,10 +405,8 @@ gb_PYTHON := $(gb_PYTHON_PRECOMMAND) $(gb_PYTHONTARGET)
 endif
 
 ifneq (,$(SYSTEM_UCPP))
-gb_UCPP := $(SYSTEM_UCPP)
 gb_UCPPTARGET :=
 else
-gb_UCPP := ucpp
 gb_UCPPTARGET := $(call gb_Executable_get_target_for_build,ucpp)
 endif
 
commit 39157dfbcb96d3df7a90c1819d0f5492a1c05d6b
Author: Tim Retout <tim at retout.co.uk>
Date:   Thu Sep 27 22:02:19 2012 +0100

    installer: Replace various uses of exit_program with die
    
    Change-Id: I1b16de6b01e34afb19bc394f33f16eef08b1703e

diff --git a/solenv/bin/modules/installer.pm b/solenv/bin/modules/installer.pm
index 2c1f855..54b64b0 100644
--- a/solenv/bin/modules/installer.pm
+++ b/solenv/bin/modules/installer.pm
@@ -40,7 +40,6 @@ use installer::copyproject;
 use installer::download;
 use installer::environment;
 use installer::epmfile;
-use installer::exiter;
 use installer::files;
 use installer::globals;
 use installer::helppack;
@@ -273,7 +272,7 @@ sub run {
     my $includepathref = installer::ziplist::getinfofromziplist($allsettingsarrayref, "include");
     if ( $$includepathref eq "" )
     {
-        installer::exiter::exit_program("ERROR: Definition for \"include\" not found in $installer::globals::ziplistname", "Main");
+        die 'Definition for "include" not found in ' . $installer::globals::ziplistname;
     }
 
     my $includepatharrayref = installer::converter::convert_stringlist_into_array($includepathref, ",");
diff --git a/solenv/bin/modules/installer/archivefiles.pm b/solenv/bin/modules/installer/archivefiles.pm
index 066aed0..6862c6f 100644
--- a/solenv/bin/modules/installer/archivefiles.pm
+++ b/solenv/bin/modules/installer/archivefiles.pm
@@ -28,7 +28,6 @@
 package installer::archivefiles;
 
 use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
-use installer::exiter;
 use installer::files;
 use installer::globals;
 use installer::logger;
@@ -277,7 +276,7 @@ sub resolving_archive_flag
             {
                 if ( $installer::globals::dounzip )         # really unpacking the files
                 {
-                    if ( $zip->extractTree("", $unzipdir) != AZ_OK ) { installer::exiter::exit_program("ERROR: $infoline", "resolving_archive_flag"); }
+                    if ( $zip->extractTree("", $unzipdir) != AZ_OK ) { die "Could not unzip: $!"; }
 
                     if (( $^O =~ /cygwin/i ) && ( $contains_dll ))
                     {
@@ -533,7 +532,7 @@ sub resolving_archive_flag
 
                     if ( $maxcounter == 5 ) # exiting the program
                     {
-                        installer::exiter::exit_program("ERROR: Failed to unzip $sourcepath !", "resolving_archive_flag");
+                        die "Failed to unzip $sourcepath !";
                     }
                 }
                 else
diff --git a/solenv/bin/modules/installer/environment.pm b/solenv/bin/modules/installer/environment.pm
index b0c541b..a0cf5f3 100644
--- a/solenv/bin/modules/installer/environment.pm
+++ b/solenv/bin/modules/installer/environment.pm
@@ -27,7 +27,6 @@
 
 package installer::environment;
 
-use installer::exiter;
 use installer::globals;
 
 ######################################################
@@ -94,7 +93,7 @@ sub check_tilde_in_directory
         # exit, because "~" is not allowed, if HOME is not set
         my $infoline = "ERROR: If \"~\" is used in \"LOCALINSTALLDIR\", environment variable \"HOME\" needs to be defined!\n";
         push(@installer::globals::logfileinfo, $infoline);
-        installer::exiter::exit_program("ERROR: If \"~\" is used in \"LOCALINSTALLDIR\", environment variable \"HOME\" needs to be defined!", "check_tilde_in_directory");
+        die 'If "~" is used in "LOCALINSTALLDIR", environment variable "HOME" needs to be defined!';
     }
 }
 
diff --git a/solenv/bin/modules/installer/profiles.pm b/solenv/bin/modules/installer/profiles.pm
index ef0ce7d..7b621f7 100644
--- a/solenv/bin/modules/installer/profiles.pm
+++ b/solenv/bin/modules/installer/profiles.pm
@@ -28,7 +28,6 @@
 package installer::profiles;
 
 use installer::converter;
-use installer::exiter;
 use installer::files;
 use installer::globals;
 use installer::logger;
@@ -98,7 +97,7 @@ sub add_profile_into_filelist
     if ( $allvariables->{'GLOBALFILEGID'} ) { $vclgid = $allvariables->{'GLOBALFILEGID'}; }
     my ($vclfile) = grep {$_->{gid} eq $vclgid} @{$filesarrayref};
     if (! defined $vclfile) {
-        installer::exiter::exit_program("ERROR: Could not find file $vclgid in list of files!", "add_profile_into_filelist");
+        die "Could not find file $vclgid in list of files!";
     }
 
     # copying all base data
commit 05f1bf896661cf0127ca9bd9ea282d46b724db75
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Sep 27 23:51:50 2012 +0300

    No 64-bit QuickTime
    
    Change-Id: Ie287d12c2142342fb89650bf715a2e12edabff78

diff --git a/scp2/InstallModule_ooo.mk b/scp2/InstallModule_ooo.mk
index 5ca6b6c..459cbf6 100644
--- a/scp2/InstallModule_ooo.mk
+++ b/scp2/InstallModule_ooo.mk
@@ -166,6 +166,9 @@ $(eval $(call gb_InstallModule_add_defs,scp2/ooo,\
 	$(if $(filter-out YES,$(WITH_MYSPELL_DICTS)),\
 		-DWITHOUT_MYSPELL_DICTS \
 	) \
+	$(if $(BITNESS_OVERRIDE),\
+		-DBITNESS_OVERRIDE=$(BITNESS_OVERRIDE) \
+	) \
 ))
 
 ifeq ($(DISABLE_PYTHON),TRUE)
diff --git a/scp2/source/ooo/file_library_ooo.scp b/scp2/source/ooo/file_library_ooo.scp
index 13579ef..828c476 100644
--- a/scp2/source/ooo/file_library_ooo.scp
+++ b/scp2/source/ooo/file_library_ooo.scp
@@ -528,6 +528,7 @@ File gid_File_Lib_MacOSXSpell
 	Dir = SCP2_OOO_BIN_DIR;
 End
 
+#if !defined(BITNESS_OVERRIDE) || BITNESS_OVERRIDE==32
 File gid_File_Lib_avmediaQuickTime
 	LIB_FILE_BODY;
 	Styles = (PACKED);
@@ -535,6 +536,7 @@ File gid_File_Lib_avmediaQuickTime
 	Dir = SCP2_OOO_BIN_DIR;
 End
 #endif
+#endif
 
 #ifdef WNT
 SPECIAL_COMPONENT_LIB_FILE( gid_File_Lib_Fps_ODMA, fps_odma.uno )
commit b3888e74956bcfe027e9903ff34e10d95b2bebb3
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Sep 27 23:03:47 2012 +0300

    No 64-bit QuickTime
    
    Change-Id: I07eed5c66195b006ae96da9c71a1ef57b8e2d020

diff --git a/postprocess/packcomponents/makefile.mk b/postprocess/packcomponents/makefile.mk
index 8111a10..998a13f 100644
--- a/postprocess/packcomponents/makefile.mk
+++ b/postprocess/packcomponents/makefile.mk
@@ -328,8 +328,11 @@ my_components += \
 .END
 
 .IF "$(GUIBASE)" == "aqua"
+.IF "$(BITNESS_OVERRIDE)" != "64"
+my_components += \
+    component/avmedia/source/quicktime/avmediaQuickTime
+.ENDIF
 my_components += \
-    component/avmedia/source/quicktime/avmediaQuickTime \
     component/lingucomponent/source/spellcheck/macosxspell/MacOSXSpell
 .END
 
commit 9f5227d66bfca9dd2ffc338f68001ad6ba3b485d
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Sep 27 22:27:49 2012 +0300

    Make exceptions work better in the x86-64 MacOSX C++-UNO bridge
    
    Putting the privateSnippetExecutor() assembly code as inline asm
    inside an otherwise empty C++ function helps, for some reason.
    
    Use the actual _Unwnd_Exception and __cxa_exception definitions as
    used by Apple (from opensource.apple.com libunwind and libcppabi
    sources) instead of guessing.
    
    Change-Id: I1ef22a9c0c664d3a357b9a6474406141f53cc490

diff --git a/bridges/Library_gcc3_macosx_x86-64.mk b/bridges/Library_gcc3_macosx_x86-64.mk
index b7b69c4..309d672 100644
--- a/bridges/Library_gcc3_macosx_x86-64.mk
+++ b/bridges/Library_gcc3_macosx_x86-64.mk
@@ -46,12 +46,9 @@ $(eval $(call gb_Library_use_libraries,gcc3_uno,\
 	sal \
 ))
 
-$(eval $(call gb_Library_add_asmobjects,gcc3_uno,\
-	bridges/source/cpp_uno/gcc3_macosx_x86-64/call \
-))
-
 $(eval $(call gb_Library_add_exception_objects,gcc3_uno,\
 	bridges/source/cpp_uno/gcc3_macosx_x86-64/abi \
+	bridges/source/cpp_uno/gcc3_macosx_x86-64/call \
 	bridges/source/cpp_uno/gcc3_macosx_x86-64/callvirtualmethod \
 	bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno \
 	bridges/source/cpp_uno/gcc3_macosx_x86-64/except \
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/call.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/call.cxx
new file mode 100644
index 0000000..96834da
--- /dev/null
+++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/call.cxx
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ *   Licensed to the Apache Software Foundation (ASF) under one or more
+ *   contributor license agreements. See the NOTICE file distributed
+ *   with this work for additional information regarding copyright
+ *   ownership. The ASF licenses this file to you under the Apache
+ *   License, Version 2.0 (the "License"); you may not use this file
+ *   except in compliance with the License. You may obtain a copy of
+ *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+extern "C" void
+privateSnippetExecutor()
+{
+    asm volatile
+        (
+         "    subq  $160, %rsp\n"
+
+         "    movq  %r10, -152(%rbp)        # Save (nVtableOffset << 32) + nFunctionIndex\n"
+
+         "    movq  %rdi, -112(%rbp)        # Save GP registers\n"
+         "    movq  %rsi, -104(%rbp)\n"
+         "    movq  %rdx, -96(%rbp)\n"
+         "    movq  %rcx, -88(%rbp)\n"
+         "    movq  %r8 , -80(%rbp)\n"
+         "    movq  %r9 , -72(%rbp)\n"
+
+         "    movsd %xmm0, -64(%rbp)        # Save FP registers\n"
+         "    movsd %xmm1, -56(%rbp)\n"
+         "    movsd %xmm2, -48(%rbp)\n"
+         "    movsd %xmm3, -40(%rbp)\n"
+         "    movsd %xmm4, -32(%rbp)\n"
+         "    movsd %xmm5, -24(%rbp)\n"
+         "    movsd %xmm6, -16(%rbp)\n"
+         "    movsd %xmm7, -8(%rbp)\n"
+
+         "    leaq  -144(%rbp), %r9         # 6th param: sal_uInt64 * pRegisterReturn\n"
+         "    leaq  16(%rbp), %r8           # 5rd param: void ** ovrflw\n"
+         "    leaq  -64(%rbp), %rcx         # 4th param: void ** fpreg\n"
+         "    leaq  -112(%rbp), %rdx        # 3rd param: void ** gpreg\n"
+         "    movl  -148(%rbp), %esi        # 2nd param: sal_int32 nVtableOffset\n"
+         "    movl  -152(%rbp), %edi        # 1st param: sal_int32 nFunctionIndex\n"
+
+         "    call  _cpp_vtable_call\n"
+
+         "    cmp   $10, %rax               # typelib_TypeClass_FLOAT\n"
+         "    je    .Lfloat\n"
+         "    cmp   $11, %rax               # typelib_TypeClass_DOUBLE\n"
+         "    je    .Lfloat\n"
+
+         "    movq  -144(%rbp), %rax        # Return value (int case)\n"
+         "    movq  -136(%rbp), %rdx        # Return value (int case)\n"
+         "    movq  -144(%rbp), %xmm0       # Return value (int case)\n"
+         "    movq  -136(%rbp), %xmm1       # Return value (int case)\n"
+         "    jmp   .Lfinish\n"
+
+         ".Lfloat:\n"
+         "    movlpd    -144(%rbp), %xmm0   # Return value (float/double case)\n"
+
+         ".Lfinish:\n"
+         "    addq  $160, %rsp\n"
+         );
+}
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/call.s b/bridges/source/cpp_uno/gcc3_macosx_x86-64/call.s
deleted file mode 100644
index 8b8072f..0000000
--- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/call.s
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-	.text
-	.align 4, 0x90
-	.globl _privateSnippetExecutor
-_privateSnippetExecutor:
-	.cfi_startproc
-.LFB3:
-	pushq	%rbp
-.LCFI0:
-	.cfi_def_cfa_offset 16
-	.cfi_offset %rbp, -16
-	movq	%rsp, %rbp
-.LCFI1:
-	subq	$160, %rsp
-.LCFI2:
-	.cfi_def_cfa_register %rbp
-	movq	%r10, -152(%rbp)		# Save (nVtableOffset << 32) + nFunctionIndex
-
-	movq	%rdi, -112(%rbp)		# Save GP registers
-	movq	%rsi, -104(%rbp)
-	movq	%rdx, -96(%rbp)
-	movq	%rcx, -88(%rbp)
-	movq	%r8 , -80(%rbp)
-	movq	%r9 , -72(%rbp)
-	
-	movsd	%xmm0, -64(%rbp)		# Save FP registers
-	movsd	%xmm1, -56(%rbp)
-	movsd	%xmm2, -48(%rbp)
-	movsd	%xmm3, -40(%rbp)
-	movsd	%xmm4, -32(%rbp)
-	movsd	%xmm5, -24(%rbp)
-	movsd	%xmm6, -16(%rbp)
-	movsd	%xmm7, -8(%rbp)
-
-	leaq	-144(%rbp), %r9			# 6th param: sal_uInt64 * pRegisterReturn
-	leaq	16(%rbp), %r8			# 5rd param: void ** ovrflw
-	leaq	-64(%rbp), %rcx			# 4th param: void ** fpreg
-	leaq	-112(%rbp), %rdx		# 3rd param: void ** gpreg
-	movl	-148(%rbp), %esi		# 2nd param: sal_int32 nVtableOffset
-	movl	-152(%rbp), %edi		# 1st param: sal_int32 nFunctionIndex
-	
-	call	_cpp_vtable_call
-
-	cmp	$10, %rax					# typelib_TypeClass_FLOAT
-	je	.Lfloat
-	cmp	$11, %rax					# typelib_TypeClass_DOUBLE
-	je	.Lfloat
-
-	movq	-144(%rbp), %rax		# Return value (int case)
-	movq	-136(%rbp), %rdx		# Return value (int case)
-	movq	-144(%rbp), %xmm0		# Return value (int case)
-	movq	-136(%rbp), %xmm1		# Return value (int case)
-	jmp	.Lfinish
-.Lfloat:
-	movlpd	-144(%rbp), %xmm0		# Return value (float/double case)
-
-.Lfinish:
-	leave
-	ret
-	.cfi_endproc
-
-.subsections_via_symbols
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno.cxx
index 89ab462..bc194c4 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/cpp2uno.cxx
@@ -396,7 +396,7 @@ extern "C" typelib_TypeClass cpp_vtable_call(
 }
 
 //==================================================================================================
-extern "C" void privateSnippetExecutor( ... );
+extern "C" void privateSnippetExecutor();
 
 const int codeSnippetSize = 24;
 
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
index f84958b..910a5e4 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/share.hxx
@@ -35,41 +35,102 @@
 namespace CPPU_CURRENT_NAMESPACE
 {
 
-// ----- following decl from libstdc++-v3/libsupc++/unwind-cxx.h and unwind.h
+// From opensource.apple.com: libunwind-35.1/include/unwind.h
+
+typedef enum {
+    _URC_NO_REASON = 0,
+    _URC_FOREIGN_EXCEPTION_CAUGHT = 1,
+    _URC_FATAL_PHASE2_ERROR = 2,
+    _URC_FATAL_PHASE1_ERROR = 3,
+    _URC_NORMAL_STOP = 4,
+    _URC_END_OF_STACK = 5,
+    _URC_HANDLER_FOUND = 6,
+    _URC_INSTALL_CONTEXT = 7,
+    _URC_CONTINUE_UNWIND = 8
+} _Unwind_Reason_Code;
 
 struct _Unwind_Exception
 {
-    unsigned exception_class __attribute__((__mode__(__DI__)));
-    void * exception_cleanup;
-    unsigned private_1 __attribute__((__mode__(__word__)));
-    unsigned private_2 __attribute__((__mode__(__word__)));
-} __attribute__((__aligned__));
+    uint64_t                   exception_class;
+    void                     (*exception_cleanup)(_Unwind_Reason_Code reason, struct _Unwind_Exception* exc);
+    uintptr_t                  private_1;        // non-zero means forced unwind
+    uintptr_t                  private_2;        // holds sp that phase1 found for phase2 to use
+#if !__LP64__
+    // The gcc implementation of _Unwind_Exception used attribute mode on the above fields
+    // which had the side effect of causing this whole struct to round up to 32 bytes in size.
+    // To be more explicit, we add pad fields added for binary compatibility.
+    uint32_t                reserved[3];
+#endif
+};
 
-struct __cxa_exception
-{
-    ::std::type_info *exceptionType;
-    void (*exceptionDestructor)(void *);
 
-    ::std::unexpected_handler unexpectedHandler;
-    ::std::terminate_handler terminateHandler;
+// From libcppabi-24.2/include/unwind-cxx.h
 
-    __cxa_exception *nextException;
+typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
 
-    int handlerCount;
+// A C++ exception object consists of a header, which is a wrapper around
+// an unwind object header with additional C++ specific information,
+// followed by the exception object itself.
 
-    int handlerSwitchValue;
-    const unsigned char *actionRecord;
-    const unsigned char *languageSpecificData;
-    void *catchTemp;
-    void *adjustedPtr;
+struct __cxa_exception
+{
+#if __LP64__
+    // This is a new field to support C++ 0x exception_ptr.
+    // For binary compatibility it is at the start of this
+    // struct which is prepended to the object thrown in
+    // __cxa_allocate_exception.
+  size_t referenceCount;
+#endif
+  // Manage the exception object itself.
+  std::type_info *exceptionType;
+  void (*exceptionDestructor)(void *);
+
+  // The C++ standard has entertaining rules wrt calling set_terminate
+  // and set_unexpected in the middle of the exception cleanup process.
+  std::unexpected_handler unexpectedHandler;
+  std::terminate_handler terminateHandler;
+
+  // The caught exception stack threads through here.
+  __cxa_exception *nextException;
+
+  // How many nested handlers have caught this exception.  A negated
+  // value is a signal that this object has been rethrown.
+  int handlerCount;
+
+#ifdef __ARM_EABI_UNWINDER__
+  // Stack of exceptions in cleanups.
+  __cxa_exception* nextPropagatingException;
+
+  // The nuber of active cleanup handlers for this exception.
+  int propagationCount;
+#else
+  // Cache parsed handler data from the personality routine Phase 1
+  // for Phase 2 and __cxa_call_unexpected.
+  int handlerSwitchValue;
+  const unsigned char *actionRecord;
+  const unsigned char *languageSpecificData;
+  _Unwind_Ptr catchTemp;
+  void *adjustedPtr;
+#endif
+#if !__LP64__
+    // This is a new field to support C++ 0x exception_ptr.
+    // For binary compatibility it is placed where the compiler
+    // previously adding padded to 64-bit align unwindHeader.
+  size_t referenceCount;
+#endif
 
-    _Unwind_Exception unwindHeader;
+  // The generic exception header.  Must be last.
+  _Unwind_Exception unwindHeader;
 };
 
+// Each thread in a C++ program has access to a __cxa_eh_globals object.
 struct __cxa_eh_globals
 {
-    __cxa_exception *caughtExceptions;
-    unsigned int uncaughtExceptions;
+  __cxa_exception *caughtExceptions;
+  unsigned int uncaughtExceptions;
+#ifdef __ARM_EABI_UNWINDER__
+  __cxa_exception* propagatingExceptions;
+#endif
 };
 
 }
commit 6beb0d37b03253be3aa42189b9995b512d9d8f72
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Sep 27 09:19:10 2012 +0300

    64-bit fix
    
    Change-Id: Ifa5b084da7f59f6e123bf49b49bf68725741e0ef

diff --git a/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm b/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm
index 5baf4d4..c094195 100644
--- a/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm
+++ b/lingucomponent/source/spellcheck/macosxspell/macspellimp.mm
@@ -269,7 +269,7 @@ sal_Int16 MacSpellChecker::GetSpellFailure( const OUString &rWord, const Locale
             aLang = [aLang  stringByAppendingString:aTaggedCountry];
         }
 
-        int aCount;
+        NSInteger aCount;
         NSRange range = [macSpell checkSpellingOfString:aNSStr startingAt:0 language:aLang wrap:sal_False inSpellDocumentWithTag:macTag wordCount:&aCount];
         int rVal = 0;
         if(range.length>0)
commit 97e7f62481d8d3b6653f292c5069df133c684f3e
Author: Rene Engelhard <rene at debian.org>
Date:   Thu Sep 27 21:23:03 2012 +0200

    move ucpp definitions into gbuild.mk (as e.g.xsltproc)
    
    Change-Id: Ib59ca9ac4d88db6e009c656e31ee866f4d9818e9

diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index 7e2ea13..a4c6e19 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -30,9 +30,6 @@
 
 gb_UnoApiPartTarget_IDLCTARGET := $(call gb_Executable_get_target_for_build,idlc)
 gb_UnoApiPartTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiPartTarget_IDLCTARGET)
-ifeq (,$(SYSTEM_UCPP))
-gb_UnoApiPartTarget_UCPPTARGET := $(call gb_Executable_get_target_for_build,ucpp)
-endif
 
 # The .urd files are actually created by the gb_UnoApiPartTarget__command,
 # invoked for the per-directory .done files.
diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk
index ee2f985..2a51440 100644
--- a/solenv/gbuild/gbuild.mk
+++ b/solenv/gbuild/gbuild.mk
@@ -404,6 +404,14 @@ gb_PYTHONTARGET := $(call gb_Executable_get_target_for_build,python)
 gb_PYTHON := $(gb_PYTHON_PRECOMMAND) $(gb_PYTHONTARGET)
 endif
 
+ifneq (,$(SYSTEM_UCPP))
+gb_UCPP := $(SYSTEM_UCPP)
+gb_UCPPTARGET :=
+else
+gb_UCPP := ucpp
+gb_UCPPTARGET := $(call gb_Executable_get_target_for_build,ucpp)
+endif
+
 .PHONY: help
 help:
 	@cat $(SRCDIR)/solenv/gbuild/gbuild.help.txt
commit 7b9fb8f6736248f1c218ef1667eae6523487368d
Author: Rene Engelhard <rene at debian.org>
Date:   Thu Sep 27 20:49:25 2012 +0200

    add --with-idlc-cpp to allow  use of "normal" cpp
    
    Change-Id: Ib32bb0b3e9cf4ce6aeb60a417a2f07d72facf41d

diff --git a/configure.in b/configure.in
index 09fb9cb..17b13c6 100644
--- a/configure.in
+++ b/configure.in
@@ -2078,6 +2078,16 @@ AC_ARG_WITH(mingw-cross-compiler,
     ],
 ,)
 
+AC_ARG_WITH(idlc-cpp,
+    AS_HELP_STRING([--with-idlc-cpp],
+        [Specify the C Preprocessor to use for idlc.])
+    [
+                          Usage:     --with-idlc-cpp=cpp
+
+                          Default is ucpp.
+    ]
+,)
+
 AC_ARG_WITH(build-version,
     AS_HELP_STRING([--with-build-version],
         [Allows the builder to add a custom version tag that will appear in the
@@ -6318,13 +6328,20 @@ else
 fi
 AC_SUBST(BUILD_DMAKE)
 
-AC_MSG_CHECKING([which ucpp tp use])
-if test -n "$with_system_ucpp" -a "$with_system_ucpp" != "no"; then
-    AC_MSG_RESULT([external])
-    AC_PATH_PROG(SYSTEM_UCPP, ucpp)
+AC_MSG_CHECKING([which C preprocessor to use in idlc])
+if test -n "$with_idlc_cpp"; then
+    AC_MSG_RESULT([$with_idlc_cpp])
+    AC_PATH_PROG(SYSTEM_UCPP, $with_idlc_cpp)
 else
-    AC_MSG_RESULT([internal])
-    BUILD_TYPE="$BUILD_TYPE UCPP"
+    AC_MSG_RESULT([ucpp])
+    AC_MSG_CHECKING([which ucpp tp use])
+    if test -n "$with_system_ucpp" -a "$with_system_ucpp" != "no"; then
+        AC_MSG_RESULT([external])
+        AC_PATH_PROG(SYSTEM_UCPP, ucpp)
+    else
+        AC_MSG_RESULT([internal])
+        BUILD_TYPE="$BUILD_TYPE UCPP"
+    fi
 fi
 AC_SUBST(SYSTEM_UCPP)
 
commit c0fb5ed758c9ed8c1bb6b8344592c4781f475443
Author: Rene Engelhard <rene at debian.org>
Date:   Thu Sep 27 19:51:33 2012 +0200

    add --with-system-ucpp
    
    Change-Id: Ic322d1be23033049fa3b5cd60c00479bb6cae3ca

diff --git a/Module_cross_tail_build.mk b/Module_cross_tail_build.mk
index 61b5145..e15848b 100644
--- a/Module_cross_tail_build.mk
+++ b/Module_cross_tail_build.mk
@@ -84,7 +84,9 @@ $(eval $(call gb_Module_add_moduledirs,cross_tail_build,\
 		translations \
 	) \
 	ucbhelper \
-	ucpp \
+	$(if $(filter UCPP,$(BUILD_TYPE)),\
+		ucpp \
+	) \
 	udkapi \
 	udm \
 	unoil \
diff --git a/Module_tail_build.mk b/Module_tail_build.mk
index 8e5c1c1..3155b7b 100644
--- a/Module_tail_build.mk
+++ b/Module_tail_build.mk
@@ -187,7 +187,9 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\
     twain \
     ucb \
 	ucbhelper \
-	ucpp \
+	$(if $(filter UCPP,$(BUILD_TYPE)),\
+		ucpp \
+	) \
 	udkapi \
 	udm \
     unixODBC \
diff --git a/Repository.mk b/Repository.mk
index 79f2004..68ddbfc 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -62,7 +62,9 @@ $(eval $(call gb_Helper_register_executables,NONE, \
     svidl \
     transex3 \
     typesconfig \
-    ucpp \
+    $(if $(filter UCPP,$(BUILD_TYPE)),\
+            ucpp \
+    ) \
     ulfconv \
     ulfex \
     xml2cmp \
diff --git a/config_host.mk.in b/config_host.mk.in
index 6b0a4e8..81890c6 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -594,6 +594,7 @@ export THES_SYSTEM_DIR=@THES_SYSTEM_DIR@
 @x_Cygwin@ export TMP=@TMP_DIRECTORY@
 export TMPDIR=@TEMP_DIRECTORY@
 export TYPO_EXTENSION_PACK=@TYPO_EXTENSION_PACK@
+export SYSTEM_UCPP=@SYSTEM_UCPP@
 export UNIXWRAPPERNAME=@UNIXWRAPPERNAME@
 export UPD=@UPD@
 export USE_FT_EMBOLDEN=@USE_FT_EMBOLDEN@
diff --git a/configure.in b/configure.in
index 37c5f09..09fb9cb 100644
--- a/configure.in
+++ b/configure.in
@@ -1383,6 +1383,11 @@ AC_ARG_WITH(system-icu,
         [Use icu already on system.]),,
     [with_system_icu="$with_system_libs"])
 
+AC_ARG_WITH(system-ucpp,
+    AS_HELP_STRING([--with-system-ucpp],
+        [Use ucpp already on system.]),,
+    [])
+
 AC_ARG_WITH(system-openldap,
     AS_HELP_STRING([--with-system-openldap],
         [Use the OpenLDAP LDAP SDK already on system.]),,
@@ -6313,6 +6318,16 @@ else
 fi
 AC_SUBST(BUILD_DMAKE)
 
+AC_MSG_CHECKING([which ucpp tp use])
+if test -n "$with_system_ucpp" -a "$with_system_ucpp" != "no"; then
+    AC_MSG_RESULT([external])
+    AC_PATH_PROG(SYSTEM_UCPP, ucpp)
+else
+    AC_MSG_RESULT([internal])
+    BUILD_TYPE="$BUILD_TYPE UCPP"
+fi
+AC_SUBST(SYSTEM_UCPP)
+
 dnl ===================================================================
 dnl Check for epm (not needed for Windows)
 dnl ===================================================================
diff --git a/idlc/Executable_idlc.mk b/idlc/Executable_idlc.mk
index 32ecda6..ef2df89 100644
--- a/idlc/Executable_idlc.mk
+++ b/idlc/Executable_idlc.mk
@@ -46,6 +46,13 @@ $(eval $(call gb_Executable_add_scanners,idlc,\
     idlc/source/scanner \
 ))
 
+ifneq (,$(SYSTEM_UCPP))
+$(eval $(call gb_Executable_add_defs,idlc,\
+    -DSYSTEM_UCPP \
+    -DUCPP=\"file:$(SYSTEM_UCPP)\" \
+))
+endif
+
 $(eval $(call gb_Executable_add_exception_objects,idlc,\
     idlc/source/idlcmain \
     idlc/source/idlc \
diff --git a/idlc/prj/build.lst b/idlc/prj/build.lst
index 5113694..e2c515a 100644
--- a/idlc/prj/build.lst
+++ b/idlc/prj/build.lst
@@ -1,3 +1,3 @@
-ic	idlc	:	ucpp registry NULL
+ic	idlc	:	UCPP:ucpp registry NULL
 ic	idlc					usr1	-	all	ic_mkout NULL
 ic	idlc\prj				nmake	-	all	ic_prj NULL
diff --git a/idlc/source/idlccompile.cxx b/idlc/source/idlccompile.cxx
index 0491046..1acbf84 100644
--- a/idlc/source/idlccompile.cxx
+++ b/idlc/source/idlccompile.cxx
@@ -299,6 +299,7 @@ sal_Int32 compileFile(const OString * pathname)
 
     OUString cpp;
     OUString startDir;
+#ifndef SYSTEM_UCPP
     if (osl_getExecutableFile(&cpp.pData) != osl_Process_E_None) {
         OSL_ASSERT(false);
     }
@@ -311,7 +312,9 @@ sal_Int32 compileFile(const OString * pathname)
 #else
     cpp += OUString( RTL_CONSTASCII_USTRINGPARAM("ucpp"));
 #endif
-
+#else // SYSTEM_UCPP
+    cpp = OUString( RTL_CONSTASCII_USTRINGPARAM(UCPP));
+#endif
     oslProcess      hProcess = NULL;
     oslProcessError procError = osl_Process_E_None;
 
diff --git a/odk/pack/copying/makefile.mk b/odk/pack/copying/makefile.mk
index f9f4d85..8e6cbb4 100644
--- a/odk/pack/copying/makefile.mk
+++ b/odk/pack/copying/makefile.mk
@@ -50,13 +50,17 @@ IDL_CHAPTER_REFS=idl_chapter_refs.txt
 EXELIST = \
     $(DESTDIRBIN)/cppumaker$(EXEPOSTFIX) 	\
     $(DESTDIRBIN)/regcompare$(EXEPOSTFIX) 	\
-	$(DESTDIRBIN)/ucpp$(EXEPOSTFIX) 	\
     $(DESTDIRBIN)/idlc$(EXEPOSTFIX) 	\
     $(DESTDIRBIN)/javamaker$(EXEPOSTFIX) 	\
     $(DESTDIRBIN)/autodoc$(EXEPOSTFIX) \
     $(DESTDIRBIN)/unoapploader$(EXEPOSTFIX) \
     $(DESTDIRBIN)/uno-skeletonmaker$(EXEPOSTFIX)
 
+.IF "$(SYSTEM_UCPP)" == ""
+EXELIST += \
+	$(DESTDIRBIN)/ucpp$(EXEPOSTFIX)
+.ENDIF
+
 .IF "$(GUI)"=="WNT"
 EXELIST += \
     $(DESTDIRBIN)/climaker$(EXEPOSTFIX)
diff --git a/odk/util/check.pl b/odk/util/check.pl
index a685b7f..0840713 100644
--- a/odk/util/check.pl
+++ b/odk/util/check.pl
@@ -43,9 +43,12 @@ if (-d "$StartDir") {
     # check binaries
     print "check binaries: ";
     if (-d "$StartDir/bin") {
-	my @binarylist = ( "idlc","ucpp","cppumaker","javamaker",
+	my @binarylist = ( "idlc","cppumaker","javamaker",
                "regcompare","autodoc",
                "unoapploader", "uno-skeletonmaker" );
+    if ($ENV{SYSTEM_UCPP} eq "") {
+	push @binarylist,"ucpp";
+    }
 
     foreach $i (@binarylist)
     {
diff --git a/solenv/gbuild/UnoApiTarget.mk b/solenv/gbuild/UnoApiTarget.mk
index c085c4c..7e2ea13 100644
--- a/solenv/gbuild/UnoApiTarget.mk
+++ b/solenv/gbuild/UnoApiTarget.mk
@@ -30,7 +30,9 @@
 
 gb_UnoApiPartTarget_IDLCTARGET := $(call gb_Executable_get_target_for_build,idlc)
 gb_UnoApiPartTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiPartTarget_IDLCTARGET)
+ifeq (,$(SYSTEM_UCPP))
 gb_UnoApiPartTarget_UCPPTARGET := $(call gb_Executable_get_target_for_build,ucpp)
+endif
 
 # The .urd files are actually created by the gb_UnoApiPartTarget__command,
 # invoked for the per-directory .done files.
commit 4e6907b5d526241c93767fd25d8c2866c034a8d8
Author: Matúš Kukan <matus.kukan at gmail.com>
Date:   Thu Sep 27 22:24:51 2012 +0200

    tubes: let's use ctor, dtor and less methods in the test
    
    They are not independent anyway.
    This way it may fail only once in constructor and avoid segmentation
    faults.
    
    Change-Id: I304f688b187f9870bf664517112550ad9a2a87c7

diff --git a/tubes/qa/test_manager.cxx b/tubes/qa/test_manager.cxx
index 2ccbe32..6296eb3 100644
--- a/tubes/qa/test_manager.cxx
+++ b/tubes/qa/test_manager.cxx
@@ -49,25 +49,17 @@ class TestTeleTubes: public CppUnit::TestFixture
 {
 public:
 
-    TestTeleTubes() {}
-    ~TestTeleTubes() {}
+    TestTeleTubes();
+    ~TestTeleTubes();
     // This could happen in costructor wasn't there TestTeleTubes instance for each test:
-    void testInitialize();
-    void testInitTeleManager();
     void testContactList();
-    void testStartBuddySession();
-    void testSendPacket();
-    void testDestroyTeleTubes();
+    void testSession();
     void testFailAlways();
 
     // Order is significant.
     CPPUNIT_TEST_SUITE( TestTeleTubes );
-    CPPUNIT_TEST( testInitialize );
-    CPPUNIT_TEST( testInitTeleManager );
     CPPUNIT_TEST( testContactList );
-    CPPUNIT_TEST( testStartBuddySession );
-    CPPUNIT_TEST( testSendPacket );
-    CPPUNIT_TEST( testDestroyTeleTubes );
+    CPPUNIT_TEST( testSession );
 #if 0
     CPPUNIT_TEST( testFailAlways );     // test failure displays SAL_LOG, uncomment for debugging
 #endif
@@ -105,7 +97,7 @@ static gboolean timed_out( void * )
     return FALSE;
 }
 
-void TestTeleTubes::testInitialize()
+TestTeleTubes::TestTeleTubes()
 {
     g_timeout_add_seconds (10, timed_out, NULL);
     try
@@ -135,10 +127,7 @@ void TestTeleTubes::testInitialize()
 
     mpCollaboration1 = new TestCollaboration();
     mpCollaboration2 = new TestCollaboration();
-}
 
-void TestTeleTubes::testInitTeleManager()
-{
     CPPUNIT_ASSERT( TeleManager::init( true));
 }
 
@@ -189,7 +178,7 @@ static void lcl_FileSent( bool success, void * )
 }
 */
 
-void TestTeleTubes::testStartBuddySession()
+void TestTeleTubes::testSession()
 {
     TeleConference* pConference = NULL;
     CPPUNIT_ASSERT( mpOffererAccount != 0);
@@ -209,17 +198,14 @@ void TestTeleTubes::testStartBuddySession()
     pConference = TeleManager::getConference();
     CPPUNIT_ASSERT( pConference != NULL);
     mpCollaboration2->SetConference( pConference );
-}
 
-void TestTeleTubes::testSendPacket()
-{
     mpCollaboration1->SendPacket( "from 1 to 2");
 
     while (!mbPacketReceived)
         g_main_context_iteration( NULL, TRUE);
 }
 
-void TestTeleTubes::testDestroyTeleTubes()
+TestTeleTubes::~TestTeleTubes()
 {
     if (mpOffererAccount) {
         g_object_unref(mpOffererAccount);
commit 4917f0ceb2a7b1bb3ba878373f71f38d156278af
Author: Matúš Kukan <matus.kukan at gmail.com>
Date:   Thu Sep 27 22:07:53 2012 +0200

    tubes: catch exception to get more info
    
    Also add timeout as a first thing to not loop forever if something else
    goes wrong.
    
    Change-Id: I3c752f74bfd32c1a0a6d1ce85408271a530fb379

diff --git a/tubes/qa/test_manager.cxx b/tubes/qa/test_manager.cxx
index 545947d..2ccbe32 100644
--- a/tubes/qa/test_manager.cxx
+++ b/tubes/qa/test_manager.cxx
@@ -107,9 +107,18 @@ static gboolean timed_out( void * )
 
 void TestTeleTubes::testInitialize()
 {
-    utl::LocalFileHelper::ConvertPhysicalNameToURL(
-            OUString::createFromAscii( getenv("SRCDIR") ) + "/tubes/qa/test-config.ini",
-            maTestConfigIniURL );
+    g_timeout_add_seconds (10, timed_out, NULL);
+    try
+    {
+        utl::LocalFileHelper::ConvertPhysicalNameToURL(
+                OUString::createFromAscii( getenv("SRCDIR") ) + "/tubes/qa/test-config.ini",
+                maTestConfigIniURL );
+    }
+    catch (const com::sun::star::uno::Exception& e)
+    {
+        CPPUNIT_ASSERT_MESSAGE( OUStringToOString( "Exception while getting config.ini url: "
+                    + e.Message, RTL_TEXTENCODING_UTF8).getStr(), false);
+    }
     rtl::Bootstrap aTestConfig( maTestConfigIniURL );
 
     TeleManager::addSuffixToNames( "TeleTest");
@@ -124,7 +133,6 @@ void TestTeleTubes::testInitialize()
         aTestConfig.getFrom("accepter", aAccepterIdentifier));
     maAccepterIdentifier = OUStringToOString( aAccepterIdentifier, RTL_TEXTENCODING_UTF8);
 
-    g_timeout_add_seconds (10, timed_out, NULL);
     mpCollaboration1 = new TestCollaboration();
     mpCollaboration2 = new TestCollaboration();
 }
commit c563ca3843387a2cc5a7a667856154ae2f13985b
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Thu Sep 27 22:02:40 2012 +0200

    Bin some newly unused methods
    
    Change-Id: I1bbbdbb68f073d19b7d99b5ccb4985efd5bde80c

diff --git a/oox/inc/oox/ole/axcontrol.hxx b/oox/inc/oox/ole/axcontrol.hxx
index 285cb74..30187a4 100644
--- a/oox/inc/oox/ole/axcontrol.hxx
+++ b/oox/inc/oox/ole/axcontrol.hxx
@@ -812,9 +812,6 @@ public:
     virtual ApiControlType getControlType() const;
     virtual void        convertProperties( PropertyMap& rPropMap, const ControlConverter& rConv ) const;
 
-    /** Returns the caption with the specified zero-based index. */
-    ::rtl::OUString     getCaption( sal_Int32 nIndex ) const;
-
 private:
     AxStringArray       maCaptions;         ///< Captions of all tabs.
     sal_uInt32          mnBackColor;        ///< Fill color.
@@ -906,10 +903,6 @@ public:
     virtual ApiControlType getControlType() const;
     virtual void        convertProperties( PropertyMap& rPropMap, const ControlConverter& rConv ) const;
 
-    /** Sets the tabstrip control model related to this multipage control.
-        Contains all formatting attributes of the page tabs. */
-    void                setTabStripModel( const AxTabStripModelRef& rxTabStrip );
-
 private:
     AxTabStripModelRef  mxTabStrip;
 };
diff --git a/oox/inc/oox/ole/vbacontrol.hxx b/oox/inc/oox/ole/vbacontrol.hxx
index 8c56ac6..9edd454 100644
--- a/oox/inc/oox/ole/vbacontrol.hxx
+++ b/oox/inc/oox/ole/vbacontrol.hxx
@@ -123,8 +123,6 @@ public:
 
     /** Returns the programmatical name of the control. */
     ::rtl::OUString     getControlName() const;
-    /** Returns the unique identifier of this control. */
-    sal_Int32           getControlId() const;
 
     /** Creates the UNO control model, inserts it into the passed container,
         and converts all control properties. */
diff --git a/oox/inc/oox/ole/vbamodule.hxx b/oox/inc/oox/ole/vbamodule.hxx
index 65cd41a..91f5b62 100644
--- a/oox/inc/oox/ole/vbamodule.hxx
+++ b/oox/inc/oox/ole/vbamodule.hxx
@@ -74,8 +74,6 @@ public:
                             const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& rxDocObjectNA ) const;
 
 private:
-    void extractOleOverrideFromAttr( const rtl::OUString& rAttribute,
-                                     const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& rxOleNameOverrides ) const;
     /** Reads and returns the VBA source code from the passed storage. */
     ::rtl::OUString     readSourceCode( StorageBase& rVbaStrg ) const;
 
diff --git a/oox/source/ole/axcontrol.cxx b/oox/source/ole/axcontrol.cxx
index 0190f7f..8592ba6 100644
--- a/oox/source/ole/axcontrol.cxx
+++ b/oox/source/ole/axcontrol.cxx
@@ -2319,11 +2319,6 @@ void AxTabStripModel::convertProperties( PropertyMap& rPropMap, const ControlCon
     AxFontDataModel::convertProperties( rPropMap, rConv );
 }
 
-OUString AxTabStripModel::getCaption( sal_Int32 nIndex ) const
-{
-    return ContainerHelper::getVectorElement( maCaptions, nIndex, OUString() );
-}
-
 // ============================================================================
 
 AxContainerModelBase::AxContainerModelBase( bool bFontSupport ) :
@@ -2489,11 +2484,6 @@ void AxMultiPageModel::convertProperties( PropertyMap& rPropMap, const ControlCo
     AxContainerModelBase::convertProperties( rPropMap, rConv );
 }
 
-void AxMultiPageModel::setTabStripModel( const AxTabStripModelRef& rxTabStrip )
-{
-    mxTabStrip = rxTabStrip;
-}
-
 // ============================================================================
 
 AxUserFormModel::AxUserFormModel()
diff --git a/oox/source/ole/vbacontrol.cxx b/oox/source/ole/vbacontrol.cxx
index 8f68491..91474c6 100644
--- a/oox/source/ole/vbacontrol.cxx
+++ b/oox/source/ole/vbacontrol.cxx
@@ -363,11 +363,6 @@ OUString VbaFormControl::getControlName() const
     return mxSiteModel.get() ? mxSiteModel->getName() : OUString();
 }
 
-sal_Int32 VbaFormControl::getControlId() const
-{
-    return mxSiteModel.get() ? mxSiteModel->getId() : -1;
-}
-
 void VbaFormControl::createAndConvert( sal_Int32 nCtrlIndex,
         const Reference< XNameContainer >& rxParentNC, const ControlConverter& rConv ) const
 {
diff --git a/oox/source/ole/vbamodule.cxx b/oox/source/ole/vbamodule.cxx
index 0766f97..1a404de 100644
--- a/oox/source/ole/vbamodule.cxx
+++ b/oox/source/ole/vbamodule.cxx
@@ -327,32 +327,6 @@ OUString VbaModule::readSourceCode( StorageBase& rVbaStrg ) const
     return aSourceCode.makeStringAndClear();
 }
 
-void VbaModule::extractOleOverrideFromAttr( const OUString& rAttribute,
-                                            const Reference< container::XNameContainer >& rxOleNameOverrides ) const
-{
-    // format of the attribute we are interested in is
-    // Attribute VB_Control = "ControlName", intString, MSForms, ControlTypeAsString
-    // e.g.
-    // Attribute VB_Control = "CommandButton1, 201, 19, MSForms, CommandButton"
-    OUString sControlAttribute = CREATE_OUSTRING( "Attribute VB_Control = \"" );
-    if ( rxOleNameOverrides.is() && rAttribute.indexOf( sControlAttribute ) !=  -1 )
-    {
-        OUString sRest = rAttribute.copy( sControlAttribute.getLength() );
-        sal_Int32 nPos = sRest.indexOf( ',' );
-        OUString sCntrlName = sRest.copy( 0, nPos );
-
-        sal_Int32 nCntrlId = sRest.copy( nPos + 1 ).copy( 0, sRest.indexOf( ',', nPos + 1) ).toInt32();
-        OSL_TRACE("In module %s, assiging %d controlname %s",
-            rtl::OUStringToOString( maName, RTL_TEXTENCODING_UTF8 ).getStr(), nCntrlId,
-            rtl::OUStringToOString( sCntrlName, RTL_TEXTENCODING_UTF8 ).getStr() );
-        if ( !rxOleNameOverrides->hasByName( maName ) )
-            rxOleNameOverrides->insertByName( maName, Any( Reference< container::XIndexContainer> ( new OleIdToNameContainer ) ) );
-        Reference< container::XIndexContainer > xIdToOleName;
-        if ( rxOleNameOverrides->getByName( maName ) >>= xIdToOleName )
-            xIdToOleName->insertByIndex( nCntrlId, makeAny( sCntrlName ) );
-    }
-}
-
 void VbaModule::createModule( const OUString& rVBASourceCode,
                               const Reference< container::XNameContainer >& rxBasicLib,
                               const Reference< container::XNameAccess >& rxDocObjectNA ) const
diff --git a/unusedcode.easy b/unusedcode.easy
index 71c68b7..a4612b7 100755
--- a/unusedcode.easy
+++ b/unusedcode.easy
@@ -87,11 +87,7 @@ jfw_plugin::VendorBase::createInstance()
 oox::drawingml::TextListStyle::dump() const
 oox::ole::AxFormPageModel::AxFormPageModel()
 oox::ole::AxMultiPageModel::AxMultiPageModel()
-oox::ole::AxMultiPageModel::setTabStripModel(boost::shared_ptr<oox::ole::AxTabStripModel> const&)
 oox::ole::AxTabStripModel::AxTabStripModel()
-oox::ole::AxTabStripModel::getCaption(int) const
-oox::ole::VbaFormControl::getControlId() const
-oox::ole::VbaModule::extractOleOverrideFromAttr(rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::container::XNameContainer> const&) const
 oox::xls::BiffDrawingObjectBase::BiffDrawingObjectBase(oox::xls::WorksheetHelper const&)
 sd::ClientBox::GetMinOutputSizePixel() const
 sd::ClientBox::RemoveUnlocked()
commit 74e4137cf89d3e1e8b73853702636e3ff70a3b4e
Author: Xisco Fauli <anistenis at gmail.com>
Date:   Thu Sep 27 22:12:21 2012 +0200

    pyfax: Translate the template at run-time
    
    Change-Id: Ied94eaeb33dcfab582ac1d4702b736cf81c5d7ca

diff --git a/wizards/com/sun/star/wizards/common/TextElement.py b/wizards/com/sun/star/wizards/common/TextElement.py
new file mode 100644
index 0000000..f035808
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/TextElement.py
@@ -0,0 +1,41 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+#   Licensed to the Apache Software Foundation (ASF) under one or more
+#   contributor license agreements. See the NOTICE file distributed
+#   with this work for additional information regarding copyright
+#   ownership. The ASF licenses this file to you under the Apache
+#   License, Version 2.0 (the "License"); you may not use this file
+#   except in compliance with the License. You may obtain a copy of
+#   the License at http://www.apache.org/licenses/LICENSE-2.0 .
+#
+import traceback
+from .Helper import Helper
+from com.sun.star.text.PlaceholderType import TEXT
+
+class TextElement(object):
+
+    def __init__(self, item, placeHolderText, hint, xmsf):
+        self.item = item
+        self.placeHolderText = placeHolderText
+        self.xmsf = xmsf
+        self.paraStyle = Helper.getUnoPropertyValue(
+            item.Start, "ParaStyleName")
+
+    def write(self):
+        try:
+            if self.item is not None:
+                self.item.String = ""
+                cursor = self.item.Text.createTextCursorByRange(
+                    self.item.Start)
+                cursor.String = self.placeHolderText
+                Helper.setUnoPropertyValue(
+                    cursor, "ParaStyleName", self.paraStyle)
+        except Exception, e:
+            traceback.print_exc()
diff --git a/wizards/com/sun/star/wizards/fax/CallWizard.py b/wizards/com/sun/star/wizards/fax/CallWizard.py
index 427a703..8ef1d24 100644
--- a/wizards/com/sun/star/wizards/fax/CallWizard.py
+++ b/wizards/com/sun/star/wizards/fax/CallWizard.py
@@ -30,7 +30,6 @@ class CallWizard(unohelper.Base, XJobExecutor):
 		self.ctx = ctx
 
 	def trigger(self, args):
-		print "hello"
 		try:
 			fw = FaxWizardDialogImpl(self.ctx.ServiceManager)
 			fw.startWizard(self.ctx.ServiceManager)
diff --git a/wizards/com/sun/star/wizards/fax/FaxDocument.py b/wizards/com/sun/star/wizards/fax/FaxDocument.py
index 95072de..f86a3f5 100644
--- a/wizards/com/sun/star/wizards/fax/FaxDocument.py
+++ b/wizards/com/sun/star/wizards/fax/FaxDocument.py
@@ -15,9 +15,9 @@
 #   except in compliance with the License. You may obtain a copy of
 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 #
-
-from ..text.TextDocument import TextDocument, traceback, Helper,\
-	TextFieldHandler, Configuration
+from ..text.TextDocument import *
+    #TextDocument, traceback, Helper,\
+    #TextFieldHandler, Configuration
 from ..text.TextSectionHandler import TextSectionHandler
 from ..common.PropertyNames import PropertyNames
 
@@ -51,8 +51,8 @@ class FaxDocument(TextDocument):
 
     def switchFooter(self, sPageStyle, bState, bPageNumber, sText):
         if TextDocument.xTextDocument is not None:
-            TextDocument.xTextDocument.lockControllers()
             try:
+                TextDocument.xTextDocument.lockControllers()
                 xPageStyleCollection = \
                     TextDocument.xTextDocument.StyleFamilies.getByName("PageStyles")
                 xPageStyle = xPageStyleCollection.getByName(sPageStyle)
@@ -84,6 +84,7 @@ class FaxDocument(TextDocument):
 
                 TextDocument.xTextDocument.unlockControllers()
             except Exception:
+                TextDocument.xTextDocument.lockControllers()
                 traceback.print_exc()
 
     def hasElement(self, sElement):
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
index e008aeb..249c249 100644
--- a/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogImpl.py
@@ -32,6 +32,7 @@ from ..common.NoValidPathException import NoValidPathException
 from ..common.HelpIds import HelpIds
 from ..common.FileAccess import FileAccess
 from ..common.Desktop import Desktop
+from ..common.TextElement import TextElement
 from ..document.OfficeDocument import OfficeDocument
 
 from com.sun.star.awt.VclWindowPeerAttribute import YES_NO, DEF_NO
@@ -67,15 +68,17 @@ class FaxWizardDialogImpl(FaxWizardDialog):
 
     @classmethod
     def main(self, args):
-        #only being called when starting wizard remotely
+        #Call the wizard remotely
         try:
             ConnectStr = \
                 "uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext"
             xLocMSF = Desktop.connect(ConnectStr)
             lw = FaxWizardDialogImpl(xLocMSF)
             lw.startWizard(xLocMSF)
-        except Exception, e:
-            traceback.print_exc()
+        except Exception as e:
+			print ("Wizard failure exception " + str(type(e)) +
+				   " message " + str(e) + " args " + str(e.args) +
+				   traceback.format_exc())
 
     def startWizard(self, xMSF):
         self.running = True
@@ -232,6 +235,30 @@ class FaxWizardDialogImpl(FaxWizardDialog):
         except CloseVetoException, e:
             traceback.print_exc()
 
+    def drawConstants(self):
+        '''Localise the template'''
+        constRangeList = self.searchFillInItems(1)
+        
+        for i in xrange(constRangeList.Count):
+            item = constRangeList.getByIndex(i)
+            text = item.String.lower()
+            aux = TextElement(item, self.resources.dictConstants[text],
+                "hint", self.xMSF)
+            aux.write()
+            
+    def searchFillInItems(self, typeSearch):
+        sd = TextDocument.xTextDocument.createSearchDescriptor()
+        
+        if typeSearch == 0:
+            sd.setSearchString("<[^>]+>")
+        elif typeSearch == 1:
+            sd.setSearchString("#[^#]+#")
+            
+        sd.setPropertyValue("SearchRegularExpression", True)
+        sd.setPropertyValue("SearchWords", True)
+        
+        return TextDocument.xTextDocument.findAll(sd)
+
     def insertRoadmap(self):
         self.addRoadmap()
         self.insertRoadMapItems(
@@ -430,6 +457,7 @@ class FaxWizardDialogImpl(FaxWizardDialog):
                 self.BusinessFiles[1][selectedItemPos], False)
             self.initializeElements()
             self.setElements()
+            self.drawConstants()
 
     def optPrivateFaxItemChanged(self):
         FaxWizardDialogImpl.lstBusinessStylePos = None
diff --git a/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py b/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py
index c057a5a..ef60232 100644
--- a/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py
+++ b/wizards/com/sun/star/wizards/fax/FaxWizardDialogResources.py
@@ -25,6 +25,15 @@ class FaxWizardDialogResources(Resource):
     RID_FAXWIZARDSALUTATION_START = 3290
     RID_FAXWIZARDROADMAP_START = 3300
     RID_RID_COMMON_START = 500
+    
+    resToPlaceHolder = "#to#"
+    resFromPlaceHolder = "#from#"
+    resFaxconstPlaceHolder = "#faxconst#"
+    resTelconstPlaceHolder = "#telconst#"
+    resEmailconstPlaceHolder = "#emailconst#"
+    resConsist1PlaceHolder = "#consist1#"
+    resConsist2PlaceHolder = "#consist2#"
+    resConsist3PlaceHolder = "#consist3#"
 
 
     def __init__(self, xmsf):
@@ -40,8 +49,6 @@ class FaxWizardDialogResources(Resource):
 
         self.resFaxWizardDialog_title = self.getResText(
             FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 1)
-        self.resLabel9_value = self.getResText(
-            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 2)
         self.resoptBusinessFax_value = self.getResText(
             FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 3)
         self.resoptPrivateFax_value = self.getResText(
@@ -118,6 +125,26 @@ class FaxWizardDialogResources(Resource):
             FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 39)
         self.resLabel2_value = self.getResText(
             FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 40)
+            
+        #Create a Dictionary for the constants values.
+        self.dictConstants = {
+        FaxWizardDialogResources.resToPlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 41),
+        FaxWizardDialogResources.resFromPlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 42),
+        FaxWizardDialogResources.resFaxconstPlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 43),
+        FaxWizardDialogResources.resTelconstPlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 44),
+        FaxWizardDialogResources.resEmailconstPlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 45),
+        FaxWizardDialogResources.resConsist1PlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 46),
+        FaxWizardDialogResources.resConsist2PlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 47),
+        FaxWizardDialogResources.resConsist3PlaceHolder : self.getResText(
+            FaxWizardDialogResources.RID_FAXWIZARDDIALOG_START + 48)}
+        
         self.loadRoadmapResources()
         self.loadSalutationResources()
         self.loadGreetingResources()
commit 0e66cce3a146023fe3509217d32223ba162150b7
Author: Tor Lillqvist <tml at iki.fi>
Date:   Thu Sep 27 14:11:27 2012 +0300

    WaE: format specifiers in debug output
    
    Change-Id: Ifab851a1294f2e09f31bec9ca517ef6f62b73550

diff --git a/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
index c12c26c..e171203 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_intel/cpp2uno.cxx
@@ -438,7 +438,7 @@ unsigned char * codeSnippet(
     OSL_ASSERT(p - code <= codeSnippetSize);
 #if OSL_DEBUG_LEVEL > 1
     fprintf(stderr,
-            "==> codeSnippet to %s, functionIndex=%d%s, vtableOffset=%d\n",
+            "==> codeSnippet to %s, functionIndex=%lu%s, vtableOffset=%"SAL_PRIdINT32"\n",
             (exec == privateSnippetExecutorGeneral ? "General" :
              (exec == privateSnippetExecutorVoid ? "Void" :
               (exec == privateSnippetExecutorHyper ? "Hyper" :
commit 0ab561bffadad1eab9eb98c05106f4c0132ccb36
Author: Tim Retout <tim at retout.co.uk>
Date:   Thu Sep 27 19:22:32 2012 +0100

    installer: Move two copies of make_systemcall into systemactions.pm
    
    Change-Id: I526fae59d28e75d27259867e3fc7e7c99be0d437

diff --git a/solenv/bin/modules/installer/epmfile.pm b/solenv/bin/modules/installer/epmfile.pm
index 58bca0b..157e83d 100644
--- a/solenv/bin/modules/installer/epmfile.pm
+++ b/solenv/bin/modules/installer/epmfile.pm
@@ -2227,7 +2227,7 @@ sub create_packages_without_epm
                 my $pkginfoorig = "$destinationdir/$packagename/pkginfo";
                 my $pkginfotmp = "$destinationdir/$packagename" . ".pkginfo.tmp";
                 $systemcall = "cp -p $pkginfoorig $pkginfotmp";
-                 make_systemcall($systemcall);
+                installer::systemactions::make_systemcall($systemcall);
 
                 $faspac = $$compressorref;
                 $infoline = "Found compressor: $faspac\n";
@@ -2236,13 +2236,14 @@ sub create_packages_without_epm
                 installer::logger::print_message( "... $faspac ...\n" );
                 installer::logger::include_timestamp_into_logfile("Starting $faspac");
 
-                 $systemcall = "/bin/sh $faspac -a -q -d $destinationdir $packagename";  # $faspac has to be the absolute path!
-                 make_systemcall($systemcall);
+                $systemcall = "/bin/sh $faspac -a -q -d $destinationdir $packagename";  # $faspac has to be the absolute path!
+                installer::systemactions::make_systemcall($systemcall);
 
-                 # Setting time stamp for pkginfo, because faspac-so.sh changed the pkginfo file,
-                 # updated the size and checksum, but not the time stamp.
-                 $systemcall = "touch -r $pkginfotmp $pkginfoorig";
-                 make_systemcall($systemcall);
+                # Setting time stamp for pkginfo, because faspac-so.sh
+                # changed the pkginfo file, updated the size and
+                # checksum, but not the time stamp.
+                $systemcall = "touch -r $pkginfotmp $pkginfoorig";
+                installer::systemactions::make_systemcall($systemcall);
                 if ( -f $pkginfotmp ) { unlink($pkginfotmp); }
 
                 installer::logger::include_timestamp_into_logfile("End of $faspac");
@@ -2530,31 +2531,6 @@ sub remove_temporary_epm_files
     }
 }
 
-######################################################
-# Making the systemcall
-######################################################
-
-sub make_systemcall
-{
-    my ($systemcall) = @_;
-
-    my $returnvalue = system($systemcall);
-
-    my $infoline = "Systemcall: $systemcall\n";
-    push( @installer::globals::logfileinfo, $infoline);
-
-    if ($returnvalue)
-    {
-        $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
-        push( @installer::globals::logfileinfo, $infoline);
-    }
-    else
-    {
-        $infoline = "Success: Executed \"$systemcall\" successfully!\n";
-        push( @installer::globals::logfileinfo, $infoline);
-    }
-}
-
 ###########################################################
 # Creating a better directory structure in the solver.
 ###########################################################
@@ -2683,11 +2659,11 @@ sub unpack_tar_gz_file
 
         # unpacking gunzip
         my $systemcall = "cd $destdir; cat $packagename | gunzip | tar -xf -";
-        make_systemcall($systemcall);
+        installer::systemactions::make_systemcall($systemcall);
 
         # deleting the tar.gz files
         $systemcall = "cd $destdir; rm -f $packagename";
-        make_systemcall($systemcall);
+        installer::systemactions::make_systemcall($systemcall);
 
         # Finding new content -> that is the package name
         my ($newcontent, $allcontent ) = installer::systemactions::find_new_content_in_directory($destdir, $oldcontent);
@@ -2709,7 +2685,7 @@ sub copy_and_unpack_tar_gz_files
     my ($sourcefile, $destdir) = @_;
 
     my $systemcall = "cd $destdir; cat $sourcefile | gunzip | tar -xf -";
-    make_systemcall($systemcall);
+    installer::systemactions::make_systemcall($systemcall);
 }
 
 ######################################################
diff --git a/solenv/bin/modules/installer/systemactions.pm b/solenv/bin/modules/installer/systemactions.pm
index 702b6fe..22d83fb 100644
--- a/solenv/bin/modules/installer/systemactions.pm
+++ b/solenv/bin/modules/installer/systemactions.pm
@@ -1358,4 +1358,29 @@ sub remove_empty_dirs_in_folder
 
 }
 
+######################################################
+# Making systemcall
+######################################################
+
+sub make_systemcall
+{
+    my ($systemcall) = @_;
+
+    my $returnvalue = system($systemcall);
+
+    my $infoline = "Systemcall: $systemcall\n";
+    push( @installer::globals::logfileinfo, $infoline);
+
+    if ($returnvalue)
+    {
+        $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
+        push( @installer::globals::logfileinfo, $infoline);
+    }
+    else
+    {
+        $infoline = "Success: Executed \"$systemcall\" successfully!\n";
+        push( @installer::globals::logfileinfo, $infoline);
+    }
+}
+
 1;
diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm
index b6a1959..f860f63 100644
--- a/solenv/bin/modules/installer/worker.pm
+++ b/solenv/bin/modules/installer/worker.pm
@@ -871,31 +871,6 @@ sub replace_variables_in_string
     return $string;
 }
 
-######################################################
-# Making systemcall
-######################################################
-
-sub make_systemcall
-{
-    my ($systemcall) = @_;
-
-    my $returnvalue = system($systemcall);
-
-    my $infoline = "Systemcall: $systemcall\n";
-    push( @installer::globals::logfileinfo, $infoline);
-
-    if ($returnvalue)
-    {
-        $infoline = "ERROR: Could not execute \"$systemcall\"!\n";
-        push( @installer::globals::logfileinfo, $infoline);
-    }
-    else
-    {
-        $infoline = "Success: Executed \"$systemcall\" successfully!\n";
-        push( @installer::globals::logfileinfo, $infoline);
-    }
-}
-
 #################################################################

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list