[Libreoffice-commits] .: 7 commits - bin/java-set-classpath.in configmgr/source configure.in desktop/scripts desktop/source extensions/inc extensions/source offapi/com offapi/UnoApi_offapi.mk pyuno/source pyuno/zipcore sal/osl scp2/source sd/inc sd/source set_soenv.in smoketestoo_native/makefile.mk solenv/bin sw/inc sw/source unotools/source

Stephan Bergmann sbergmann at kemper.freedesktop.org
Thu Oct 20 14:06:33 PDT 2011


 bin/java-set-classpath.in                             |    2 
 configmgr/source/components.cxx                       |    8 
 configure.in                                          |   16 +
 desktop/scripts/unopkg.sh                             |    2 
 desktop/source/app/check_ext_deps.cxx                 |    2 
 desktop/source/deployment/gui/dp_gui_updatedialog.cxx |    2 
 desktop/source/deployment/misc/dp_dependencies.cxx    |    2 
 desktop/source/deployment/misc/dp_misc.cxx            |    2 
 extensions/inc/pch/precompiled_extensions.hxx         |    2 
 extensions/source/scanner/sanedlg.cxx                 |   17 +
 extensions/source/scanner/sanedlg.hrc                 |    1 
 extensions/source/scanner/sanedlg.hxx                 |    7 
 extensions/source/scanner/sanedlg.src                 |    7 
 extensions/source/scanner/scanner.cxx                 |    8 
 extensions/source/scanner/scanner.hxx                 |    7 
 extensions/source/scanner/scanunx.cxx                 |   46 ++--
 extensions/source/scanner/scanwin.cxx                 |    2 
 extensions/source/scanner/scn.component               |    2 
 extensions/source/update/check/updatecheck.cxx        |    2 
 extensions/source/update/check/updatehdl.cxx          |    2 
 extensions/source/update/check/updateprotocol.cxx     |    2 
 extensions/source/update/feed/updatefeed.cxx          |   13 -
 offapi/UnoApi_offapi.mk                               |    1 
 offapi/com/sun/star/scanner/ScannerManager.idl        |    3 
 offapi/com/sun/star/scanner/XScannerManager2.idl      |   62 +++++
 pyuno/source/loader/makefile.mk                       |    4 
 pyuno/source/loader/pyuno_loader.cxx                  |    2 
 pyuno/zipcore/python.cxx                              |   70 ++----
 pyuno/zipcore/python.sh                               |   12 -
 sal/osl/unx/process_impl.cxx                          |    6 
 sal/osl/w32/process.cxx                               |    6 
 scp2/source/ooo/common_brand.scp                      |   55 +++--
 scp2/source/ooo/profile_ooo.scp                       |   15 -
 scp2/source/ooo/profileitem_ooo.scp                   |  195 ------------------
 scp2/source/python/file_python.scp                    |   33 +--
 scp2/source/python/module_python.scp                  |    2 
 scp2/source/python/module_python_mailmerge.scp        |    4 
 scp2/source/python/profileitem_python.scp             |    2 
 sd/inc/pch/precompiled_sd.hxx                         |    2 
 sd/source/ui/inc/DrawViewShell.hxx                    |    4 
 sd/source/ui/view/drviews8.cxx                        |    2 
 sd/source/ui/view/drviewsa.cxx                        |    2 
 set_soenv.in                                          |    1 
 smoketestoo_native/makefile.mk                        |    7 
 solenv/bin/modules/installer/worker.pm                |    3 
 sw/inc/pch/precompiled_sw.hxx                         |    2 
 sw/inc/swmodule.hxx                                   |    6 
 sw/source/ui/app/swmodule.cxx                         |    6 
 sw/source/ui/uiview/uivwimp.cxx                       |   10 
 sw/source/ui/uiview/view.cxx                          |    4 
 unotools/source/config/configmgr.cxx                  |    2 
 51 files changed, 299 insertions(+), 378 deletions(-)

New commits:
commit 638804f7e2c26047da15af26dfb8eb35b9ee0feb
Author: Rob Snelders <programming at ertai.nl>
Date:   Thu Oct 20 21:25:46 2011 +0200

    Added a scanbutton to the scan-dialog

diff --git a/extensions/inc/pch/precompiled_extensions.hxx b/extensions/inc/pch/precompiled_extensions.hxx
index 4582abb..7b266a1 100644
--- a/extensions/inc/pch/precompiled_extensions.hxx
+++ b/extensions/inc/pch/precompiled_extensions.hxx
@@ -271,7 +271,7 @@
 #include "com/sun/star/registry/XSimpleRegistry.hpp"
 #include "com/sun/star/resource/XResourceBundleLoader.hpp"
 #include "com/sun/star/scanner/ScannerException.hpp"
-#include "com/sun/star/scanner/XScannerManager.hpp"
+#include "com/sun/star/scanner/XScannerManager2.hpp"
 #include "com/sun/star/script/ContextInformation.hpp"
 #include "com/sun/star/script/FailReason.hpp"
 #include "com/sun/star/script/FinishEngineEvent.hpp"
diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx
index 39b8862..c83406f 100644
--- a/extensions/source/scanner/sanedlg.cxx
+++ b/extensions/source/scanner/sanedlg.cxx
@@ -48,16 +48,18 @@ ResId SaneResId( sal_uInt32 nID )
     return ResId( nID, *pResMgr );
 }
 
-SaneDlg::SaneDlg( Window* pParent, Sane& rSane ) :
+SaneDlg::SaneDlg( Window* pParent, Sane& rSane, bool bScanEnabled ) :
         ModalDialog( pParent, SaneResId( RID_SANE_DIALOG ) ),
         mrSane( rSane ),
         mbIsDragging( sal_False ),
+        mbScanEnabled( bScanEnabled ),
         mbDragDrawn( sal_False ),
         maMapMode( MAP_APPFONT ),
         maOKButton( this, SaneResId( RID_SCAN_OK ) ),
         maCancelButton( this, SaneResId( RID_SCAN_CANCEL ) ),
         maDeviceInfoButton( this, SaneResId( RID_DEVICEINFO_BTN ) ),
         maPreviewButton( this, SaneResId( RID_PREVIEW_BTN ) ),
+        maScanButton( this, SaneResId( RID_SCAN_BTN ) ),
         maButtonOption( this, SaneResId( RID_SCAN_BUTTON_OPTION_BTN ) ),
         maOptionsTxt( this, SaneResId( RID_SCAN_OPTION_TXT ) ),
         maOptionTitle( this, SaneResId( RID_SCAN_OPTIONTITLE_TXT ) ),
@@ -86,7 +88,8 @@ SaneDlg::SaneDlg( Window* pParent, Sane& rSane ) :
         maStringEdit( this, SaneResId( RID_SCAN_STRING_OPTION_EDT ) ),
         maNumericEdit( this, SaneResId( RID_SCAN_NUMERIC_OPTION_EDT ) ),
         maOptionBox( this, SaneResId( RID_SCAN_OPTION_BOX ) ),
-        mpRange( 0 )
+        mpRange( 0 ),
+        doScan( false )
 {
     if( Sane::IsSane() )
     {
@@ -97,6 +100,7 @@ SaneDlg::SaneDlg( Window* pParent, Sane& rSane ) :
 
     maDeviceInfoButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
     maPreviewButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
+    maScanButton.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
     maButtonOption.SetClickHdl( LINK( this, SaneDlg, ClickBtnHdl ) );
     maDeviceBox.SetSelectHdl( LINK( this, SaneDlg, SelectHdl ) );
     maOptionBox.SetSelectHdl( LINK( this, SaneDlg, OptionsBoxSelectHdl ) );
@@ -189,6 +193,7 @@ void SaneDlg::InitFields()
     maReslBox.Clear();
     maMinTopLeft = Point( 0, 0 );
     maMaxBottomRight = Point( PREVIEW_WIDTH,  PREVIEW_HEIGHT );
+    maScanButton.Show( mbScanEnabled );
 
     if( ! mrSane.IsOpen() )
         return;
@@ -476,13 +481,14 @@ IMPL_LINK( SaneDlg, ClickBtnHdl, Button*, pButton )
             ReloadSaneOptionsHdl( NULL );
         }
     }
-    if( pButton == &maOKButton )
+    if( pButton == &maOKButton || pButton == &maScanButton )
     {
         double fRes = (double)maReslBox.GetValue();
         SetAdjustedNumericalValue( "resolution", fRes );
         UpdateScanArea( sal_True );
         SaveState();
         EndDialog( mrSane.IsOpen() ? 1 : 0 );
+        doScan = (pButton == &maScanButton);
     }
     else if( pButton == &maCancelButton )
     {
@@ -1376,4 +1382,9 @@ sal_Bool SaneDlg::SetAdjustedNumericalValue(
     return sal_True;
 }
 
+bool SaneDlg::getDoScan()
+{
+    return doScan;
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/scanner/sanedlg.hrc b/extensions/source/scanner/sanedlg.hrc
index ca89312..2c20ad1 100644
--- a/extensions/source/scanner/sanedlg.hrc
+++ b/extensions/source/scanner/sanedlg.hrc
@@ -62,6 +62,7 @@
 #define RID_SCAN_BITMAP_MINUS             32
 #define RID_SCAN_ADVANCED_BOX             33
 #define RID_SCAN_ADVANCED_TXT             34
+#define RID_SCAN_BTN                      35
 
 #define RID_SANE_DEVICEINFO_TXT         1001
 #define RID_SANE_SCANERROR_TXT          1002
diff --git a/extensions/source/scanner/sanedlg.hxx b/extensions/source/scanner/sanedlg.hxx
index c3f72ea..b7fe581 100644
--- a/extensions/source/scanner/sanedlg.hxx
+++ b/extensions/source/scanner/sanedlg.hxx
@@ -53,6 +53,7 @@ private:
     Point           maMinTopLeft, maMaxBottomRight;
     sal_Bool            mbDragEnable;
     sal_Bool            mbIsDragging;
+    bool            mbScanEnabled;
     int             mnDragMode;
     sal_Bool            mbDragDrawn;
     DragDirection   meDragDirection;
@@ -65,6 +66,7 @@ private:
     CancelButton    maCancelButton;
     PushButton      maDeviceInfoButton;
     PushButton      maPreviewButton;
+    PushButton      maScanButton;
     PushButton      maButtonOption;
 
     FixedText       maOptionsTxt;
@@ -107,6 +109,8 @@ private:
     double*         mpRange;
     double          mfMin, mfMax;
 
+    bool            doScan;
+
     DECL_LINK( ClickBtnHdl, Button* );
     DECL_LINK( SelectHdl, ListBox* );
     DECL_LINK( ModifyHdl, Edit* );
@@ -141,10 +145,11 @@ private:
     virtual void MouseButtonDown( const MouseEvent& rMEvt );
     virtual void MouseButtonUp( const MouseEvent& rMEvt );
 public:
-    SaneDlg( Window*, Sane& );
+    SaneDlg( Window*, Sane&, bool );
     ~SaneDlg();
 
     virtual short Execute();
+    bool getDoScan();
 };
 
 
diff --git a/extensions/source/scanner/sanedlg.src b/extensions/source/scanner/sanedlg.src
index 961f0ed..fc17d3e 100644
--- a/extensions/source/scanner/sanedlg.src
+++ b/extensions/source/scanner/sanedlg.src
@@ -59,6 +59,13 @@ ModalDialog RID_SANE_DIALOG
         Size = MAP_APPFONT ( 55 , 22 ) ;
         Text [ en-US ] = "Create\nPreview" ;
     };
+    PushButton RID_SCAN_BTN
+    {
+        HelpID = "extensions:PushButton:RID_SANE_DIALOG:RID_SCAN_BTN";
+        Pos = MAP_APPFONT ( THIRD_COLUMN , 98 ) ;
+        Size = MAP_APPFONT ( 55 , 14 ) ;
+        Text [ en-US ] = "Scan" ;
+    };
     FixedLine RID_PREVIEW_BOX
     {
         Pos = MAP_APPFONT ( PREVIEW_UPPER_LEFT - 5 , PREVIEW_UPPER_TOP - 8 ) ;
diff --git a/extensions/source/scanner/scanner.cxx b/extensions/source/scanner/scanner.cxx
index e833c4f..ea5e49e 100644
--- a/extensions/source/scanner/scanner.cxx
+++ b/extensions/source/scanner/scanner.cxx
@@ -59,7 +59,7 @@ ScannerManager::~ScannerManager()
 ANY SAL_CALL ScannerManager::queryInterface( const Type& rType ) throw( RuntimeException )
 {
     const ANY aRet( cppu::queryInterface( rType,
-                                          static_cast< XScannerManager* >( this ),
+                                          static_cast< XScannerManager2* >( this ),
                                           static_cast< AWT::XBitmap* >( this ) ) );
 
     return( aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ) );
@@ -104,4 +104,10 @@ SEQ( OUString ) ScannerManager::getSupportedServiceNames_Static() throw ()
     return aSNS;
 }
 
+sal_Bool SAL_CALL ScannerManager::configureScanner( ScannerContext& rContext )
+    throw( ScannerException )
+{
+    return configureScannerAndScan( rContext, NULL );
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/scanner/scanner.hxx b/extensions/source/scanner/scanner.hxx
index abe2ae3..f1b5ab5 100644
--- a/extensions/source/scanner/scanner.hxx
+++ b/extensions/source/scanner/scanner.hxx
@@ -39,7 +39,7 @@
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
 #include <com/sun/star/lang/XEventListener.hpp>
 #include <com/sun/star/lang/EventObject.hpp>
-#include <com/sun/star/scanner/XScannerManager.hpp>
+#include <com/sun/star/scanner/XScannerManager2.hpp>
 #include <com/sun/star/scanner/ScannerException.hpp>
 
 using namespace cppu;
@@ -61,7 +61,7 @@ using ::rtl::OUString;
 // - ScannerManager -
 // ------------------
 
-class ScannerManager : public OWeakObject, XScannerManager, AWT::XBitmap
+class ScannerManager : public OWeakObject, XScannerManager2, AWT::XBitmap
 {
 protected:
 
@@ -83,7 +83,8 @@ public:
 
     // XScannerManager
     virtual SEQ( ScannerContext ) SAL_CALL  getAvailableScanners() throw();
-    virtual sal_Bool SAL_CALL                   configureScanner( ScannerContext& scanner_context ) throw( ScannerException );
+    virtual sal_Bool SAL_CALL               configureScanner( ScannerContext& scanner_context ) throw( ScannerException );
+    virtual sal_Bool SAL_CALL               configureScannerAndScan( ScannerContext& scanner_context, const REF( com::sun::star::lang::XEventListener )& rxListener ) throw( ScannerException );
     virtual void SAL_CALL                   startScan( const ScannerContext& scanner_context, const REF( com::sun::star::lang::XEventListener )& rxListener ) throw( ScannerException );
     virtual ScanError SAL_CALL              getError( const ScannerContext& scanner_context ) throw( ScannerException );
     virtual REF( AWT::XBitmap ) SAL_CALL    getBitmap( const ScannerContext& scanner_context ) throw( ScannerException );
diff --git a/extensions/source/scanner/scanunx.cxx b/extensions/source/scanner/scanunx.cxx
index 1f481f6..286f40b 100644
--- a/extensions/source/scanner/scanunx.cxx
+++ b/extensions/source/scanner/scanunx.cxx
@@ -278,34 +278,42 @@ SEQ( ScannerContext ) ScannerManager::getAvailableScanners() throw()
 
 // -----------------------------------------------------------------------------
 
-sal_Bool ScannerManager::configureScanner( ScannerContext& scanner_context ) throw( ScannerException )
+sal_Bool ScannerManager::configureScannerAndScan( ScannerContext& scanner_context,
+					   const REF( com::sun::star::lang::XEventListener )& listener ) throw( ScannerException )
 {
-    osl::MutexGuard aGuard( theSaneProtector::get() );
-    sanevec &rSanes = theSanes::get().m_aSanes;
+    bool bRet;
+    bool bScan;
+    {
+        osl::MutexGuard aGuard( theSaneProtector::get() );
+        sanevec &rSanes = theSanes::get().m_aSanes;
 
 #if OSL_DEBUG_LEVEL > 1
-    fprintf( stderr, "ScannerManager::configureScanner\n" );
+        fprintf( stderr, "ScannerManager::configureScanner\n" );
 #endif
 
-    if( scanner_context.InternalData < 0 || (sal_uLong)scanner_context.InternalData >= rSanes.size() )
-        throw ScannerException(
-            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Scanner does not exist")),
-            REF( XScannerManager )( this ),
-            ScanError_InvalidContext
+        if( scanner_context.InternalData < 0 || (sal_uLong)scanner_context.InternalData >= rSanes.size() )
+            throw ScannerException(
+                ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Scanner does not exist")),
+                REF( XScannerManager )( this ),
+                ScanError_InvalidContext
             );
 
-    boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
-    if( pHolder->m_bBusy )
-        throw ScannerException(
-            ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Scanner is busy")),
-            REF( XScannerManager )( this ),
-            ScanError_ScanInProgress
+        boost::shared_ptr<SaneHolder> pHolder = rSanes[scanner_context.InternalData];
+        if( pHolder->m_bBusy )
+            throw ScannerException(
+                ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Scanner is busy")),
+                REF( XScannerManager )( this ),
+                ScanError_ScanInProgress
             );
 
-    pHolder->m_bBusy = true;
-    SaneDlg aDlg( NULL, pHolder->m_aSane );
-    sal_Bool bRet = (sal_Bool)aDlg.Execute();
-    pHolder->m_bBusy = false;
+        pHolder->m_bBusy = true;
+        SaneDlg aDlg( NULL, pHolder->m_aSane, listener.is() );
+        bRet = aDlg.Execute();
+        bScan = aDlg.getDoScan();
+        pHolder->m_bBusy = false;
+    }
+    if ( bScan )
+        startScan( scanner_context, listener );
 
     return bRet;
 }
diff --git a/extensions/source/scanner/scanwin.cxx b/extensions/source/scanner/scanwin.cxx
index 5f6d47e..7a7c86b 100644
--- a/extensions/source/scanner/scanwin.cxx
+++ b/extensions/source/scanner/scanwin.cxx
@@ -1004,7 +1004,7 @@ SEQ( ScannerContext ) SAL_CALL ScannerManager::getAvailableScanners() throw()
 
 // -----------------------------------------------------------------------------
 
-sal_Bool SAL_CALL ScannerManager::configureScanner( ScannerContext& rContext )
+sal_Bool SAL_CALL ScannerManager::configureScannerAndScan( ScannerContext& rContext, const uno::Reference< lang::XEventListener >& )
     throw( ScannerException )
 {
     osl::MutexGuard aGuard( maProtector );
diff --git a/extensions/source/scanner/scn.component b/extensions/source/scanner/scn.component
index d7daf3a..076b745 100644
--- a/extensions/source/scanner/scn.component
+++ b/extensions/source/scanner/scn.component
@@ -28,7 +28,7 @@
 
 <component loader="com.sun.star.loader.SharedLibrary"
     xmlns="http://openoffice.org/2010/uno-components">
-  <implementation name="com.sun.star.scanner.ScannerManager">
+   <implementation name="com.sun.star.scanner.ScannerManager">
     <service name="com.sun.star.scanner.ScannerManager"/>
   </implementation>
 </component>
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 69c0926..8ae72cb 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -2958,6 +2958,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/scanner,\
 	ScannerContext \
 	ScannerException \
 	XScannerManager \
+	XScannerManager2 \
 ))
 $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/script,\
 	LibraryNotLoadedException \
diff --git a/offapi/com/sun/star/scanner/ScannerManager.idl b/offapi/com/sun/star/scanner/ScannerManager.idl
index ad06759..c2b1b7e 100644
--- a/offapi/com/sun/star/scanner/ScannerManager.idl
+++ b/offapi/com/sun/star/scanner/ScannerManager.idl
@@ -40,6 +40,9 @@ module com { module sun { module star { module scanner {
 // DOCUMENTATION CHANGED FOR ScannerManager
 /** ScannerManager provides a simple method to access scanner devices
     (or other image producing devices)
+
+    Note that implementations should actually implement
+    <type>XScannerManager2</type>.
 */
 published service ScannerManager
 {
diff --git a/offapi/com/sun/star/scanner/XScannerManager2.idl b/offapi/com/sun/star/scanner/XScannerManager2.idl
new file mode 100644
index 0000000..df21f95
--- /dev/null
+++ b/offapi/com/sun/star/scanner/XScannerManager2.idl
@@ -0,0 +1,62 @@
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * [ Copyright (C) 2011 Rob Snelders <programming at ertai.nl> (initial
+ *   developer) ]
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_scanner_XScannerManager2_idl__
+#define __com_sun_star_scanner_XScannerManager2_idl__
+
+#include <com/sun/star/scanner/ScannerManager.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module scanner {
+
+//=============================================================================
+
+/**
+    Extension of <type>XScannerManager</type>.
+
+    @since LibreOffice 3.5
+*/
+published interface XScannerManager2: com::sun::star::scanner::XScannerManager
+{
+    //-------------------------------------------------------------------------
+    /** produce some kind of User Interface to let the user have a preview,
+        configure the scan area, etc., it, and scan it
+        returns FALSE if user cancelled this process
+    */
+    boolean configureScannerAndScan( [inout] com::sun::star::scanner::ScannerContext scanner_context,
+             [in] com::sun::star::lang::XEventListener listener )
+            raises( com::sun::star::scanner::ScannerException );
+
+};
+
+//=============================================================================
+
+}; }; }; };
+
+#endif
diff --git a/sd/inc/pch/precompiled_sd.hxx b/sd/inc/pch/precompiled_sd.hxx
index 51524bf..6a501d8 100644
--- a/sd/inc/pch/precompiled_sd.hxx
+++ b/sd/inc/pch/precompiled_sd.hxx
@@ -293,7 +293,7 @@
 #include "com/sun/star/presentation/XPresentationSupplier.hpp"
 #include "com/sun/star/registry/XRegistryKey.hpp"
 #include "com/sun/star/rendering/XSpriteCanvas.hpp"
-#include "com/sun/star/scanner/XScannerManager.hpp"
+#include "com/sun/star/scanner/XScannerManager2.hpp"
 #include "com/sun/star/sdbc/XResultSet.hpp"
 #include "com/sun/star/sdbc/XRow.hpp"
 #include "com/sun/star/style/LineSpacing.hpp"
diff --git a/sd/source/ui/inc/DrawViewShell.hxx b/sd/source/ui/inc/DrawViewShell.hxx
index 5e7a345..57b3238 100644
--- a/sd/source/ui/inc/DrawViewShell.hxx
+++ b/sd/source/ui/inc/DrawViewShell.hxx
@@ -36,7 +36,7 @@
 #include "TabControl.hxx"
 #include "pres.hxx"
 #include <com/sun/star/lang/XEventListener.hpp>
-#include <com/sun/star/scanner/XScannerManager.hpp>
+#include <com/sun/star/scanner/XScannerManager2.hpp>
 #include <unotools/caserotate.hxx>
 
 class SdPage;
@@ -451,7 +451,7 @@ private:
         SdPage* pPage,
         const sal_Int32 nInsertPosition = -1);
 
-    ::com::sun::star::uno::Reference< ::com::sun::star::scanner::XScannerManager >  mxScannerManager;
+    ::com::sun::star::uno::Reference< ::com::sun::star::scanner::XScannerManager2 > mxScannerManager;
     ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >      mxScannerListener;
     TransferableClipboardListener*                                                  mpClipEvtLstnr;
     sal_Bool                                                                            mbPastePossible;
diff --git a/sd/source/ui/view/drviews8.cxx b/sd/source/ui/view/drviews8.cxx
index b12c10e..726e9be 100644
--- a/sd/source/ui/view/drviews8.cxx
+++ b/sd/source/ui/view/drviews8.cxx
@@ -360,7 +360,7 @@ void DrawViewShell::FuTemp01(SfxRequest& rReq)
                     if( aContexts.getLength() )
                     {
                         ::com::sun::star::scanner::ScannerContext aContext( aContexts.getConstArray()[ 0 ] );
-                        mxScannerManager->configureScanner( aContext );
+                        mxScannerManager->configureScannerAndScan( aContext, mxScannerListener );
                     }
                 }
                 catch(...)
diff --git a/sd/source/ui/view/drviewsa.cxx b/sd/source/ui/view/drviewsa.cxx
index 5f7c07e..43ab2da 100644
--- a/sd/source/ui/view/drviewsa.cxx
+++ b/sd/source/ui/view/drviewsa.cxx
@@ -393,7 +393,7 @@ void DrawViewShell::Construct(DrawDocShell* pDocSh, PageKind eInitialPageKind)
 
     if( xMgr.is() )
     {
-        mxScannerManager = ::com::sun::star::uno::Reference< ::com::sun::star::scanner::XScannerManager >(
+        mxScannerManager = ::com::sun::star::uno::Reference< ::com::sun::star::scanner::XScannerManager2 >(
                            xMgr->createInstance( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.scanner.ScannerManager" )) ),
                            ::com::sun::star::uno::UNO_QUERY );
 
diff --git a/sw/inc/pch/precompiled_sw.hxx b/sw/inc/pch/precompiled_sw.hxx
index bc40045..b154f63 100644
--- a/sw/inc/pch/precompiled_sw.hxx
+++ b/sw/inc/pch/precompiled_sw.hxx
@@ -271,7 +271,7 @@
 #include "com/sun/star/packages/WrongPasswordException.hpp"
 #include "com/sun/star/packages/zip/ZipIOException.hpp"
 #include "com/sun/star/scanner/ScannerContext.hpp"
-#include "com/sun/star/scanner/XScannerManager.hpp"
+#include "com/sun/star/scanner/XScannerManager2.hpp"
 #include "com/sun/star/script/XEventAttacher.hpp"
 #include "com/sun/star/script/XEventAttacherManager.hpp"
 #include "com/sun/star/script/XLibraryContainer.hpp"
diff --git a/sw/inc/swmodule.hxx b/sw/inc/swmodule.hxx
index dd2b27c..7639237 100644
--- a/sw/inc/swmodule.hxx
+++ b/sw/inc/swmodule.hxx
@@ -72,7 +72,7 @@ struct SwDBData;
 #define VIEWOPT_DEST_VIEW_ONLY  3 //ViewOptions are set only at ::com::sun::star::sdbcx::View, not at the appl.
 
 namespace com{ namespace sun{ namespace star{ namespace scanner{
-    class XScannerManager;
+    class XScannerManager2;
 }}}}
 
 class SW_DLLPUBLIC SwModule: public SfxModule, public SfxListener, public utl::ConfigurationListener
@@ -113,7 +113,7 @@ class SW_DLLPUBLIC SwModule: public SfxModule, public SfxListener, public utl::C
     ::com::sun::star::uno::Reference<
         ::com::sun::star::linguistic2::XLinguServiceEventListener > xLngSvcEvtListener;
     ::com::sun::star::uno::Reference<
-        ::com::sun::star::scanner::XScannerManager >    m_xScannerManager;
+        ::com::sun::star::scanner::XScannerManager2 >    m_xScannerManager;
     ::com::sun::star::uno::Reference<
         ::com::sun::star::linguistic2::XLanguageGuessing >  m_xLanguageGuesser;
 
@@ -242,7 +242,7 @@ public:
     void    CreateLngSvcEvtListener();
 
     ::com::sun::star::uno::Reference<
-        ::com::sun::star::scanner::XScannerManager >
+        ::com::sun::star::scanner::XScannerManager2 >
             GetScannerManager();
 
     ::com::sun::star::uno::Reference<
diff --git a/sw/source/ui/app/swmodule.cxx b/sw/source/ui/app/swmodule.cxx
index 0e50081..4a66362 100644
--- a/sw/source/ui/app/swmodule.cxx
+++ b/sw/source/ui/app/swmodule.cxx
@@ -65,7 +65,7 @@
 #include <svx/extrusioncolorcontrol.hxx>
 #include <svx/fontworkgallery.hxx>
 #include <svx/modctrl.hxx>
-#include <com/sun/star/scanner/XScannerManager.hpp>
+#include <com/sun/star/scanner/XScannerManager2.hpp>
 #include <com/sun/star/container/XSet.hpp>
 #include <comphelper/processfactory.hxx>
 #include <docsh.hxx>
@@ -215,7 +215,7 @@ SwModule::SwModule( SfxObjectFactory* pWebFact,
     // at the view options.
     GetColorConfig();
 }
-uno::Reference< scanner::XScannerManager >
+uno::Reference< scanner::XScannerManager2 >
 SwModule::GetScannerManager()
 {
     if (!m_xScannerManager.is())
@@ -225,7 +225,7 @@ SwModule::GetScannerManager()
         if( xMgr.is() )
         {
             m_xScannerManager =
-                uno::Reference< scanner::XScannerManager >(
+                uno::Reference< scanner::XScannerManager2 >(
                     xMgr->createInstance(
                         rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
                             "com.sun.star.scanner.ScannerManager")) ),
diff --git a/sw/source/ui/uiview/uivwimp.cxx b/sw/source/ui/uiview/uivwimp.cxx
index aff53fe..b2faff6 100644
--- a/sw/source/ui/uiview/uivwimp.cxx
+++ b/sw/source/ui/uiview/uivwimp.cxx
@@ -33,7 +33,7 @@
 #include "globals.hrc"
 
 #include <tools/shl.hxx>
-#include <com/sun/star/scanner/XScannerManager.hpp>
+#include <com/sun/star/scanner/XScannerManager2.hpp>
 #include <com/sun/star/datatransfer/clipboard/XClipboardNotifier.hpp>
 #include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
@@ -131,19 +131,21 @@ void SwView_Impl::ExecuteScan( SfxRequest& rReq )
         case SID_TWAIN_SELECT:
         {
             sal_Bool bDone = sal_False;
-            Reference< XScannerManager > xScanMgr = SW_MOD()->GetScannerManager();
+            Reference< XScannerManager2 > xScanMgr = SW_MOD()->GetScannerManager();
 
             if( xScanMgr.is() )
             {
                 try
                 {
+                    SwScannerEventListener& rListener = GetScannerEventListener();
                     const Sequence< ScannerContext >
                         aContexts( xScanMgr->getAvailableScanners() );
 
                     if( aContexts.getLength() )
                     {
+                        Reference< XEventListener > xLstner = &rListener;
                         ScannerContext aContext( aContexts.getConstArray()[ 0 ] );
-                        bDone = xScanMgr->configureScanner( aContext );
+                        bDone = xScanMgr->configureScannerAndScan( aContext, xLstner );
                     }
                 }
                 catch(...)
@@ -164,7 +166,7 @@ void SwView_Impl::ExecuteScan( SfxRequest& rReq )
         {
             sal_Bool bDone = sal_False;
 
-            Reference< XScannerManager > xScanMgr = SW_MOD()->GetScannerManager();
+            Reference< XScannerManager2 > xScanMgr = SW_MOD()->GetScannerManager();
             if( xScanMgr.is() )
             {
                 SwScannerEventListener& rListener = GetScannerEventListener();
diff --git a/sw/source/ui/uiview/view.cxx b/sw/source/ui/uiview/view.cxx
index 9ddbc8c..d9cbad6 100644
--- a/sw/source/ui/uiview/view.cxx
+++ b/sw/source/ui/uiview/view.cxx
@@ -98,7 +98,7 @@
 #include <editeng/unolingu.hxx>
 #include <com/sun/star/frame/FrameSearchFlag.hpp>
 #include <com/sun/star/scanner/ScannerContext.hpp>
-#include <com/sun/star/scanner/XScannerManager.hpp>
+#include <com/sun/star/scanner/XScannerManager2.hpp>
 #include <toolkit/unohlp.hxx>
 #include <rtl/ustrbuf.hxx>
 #include <sax/tools/converter.hxx>
@@ -1682,7 +1682,7 @@ void SwView::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
 
 void SwView::ScannerEventHdl( const EventObject& /*rEventObject*/ )
 {
-    uno::Reference< XScannerManager > xScanMgr = SW_MOD()->GetScannerManager();
+    uno::Reference< XScannerManager2 > xScanMgr = SW_MOD()->GetScannerManager();
     if( xScanMgr.is() )
     {
         const ScannerContext    aContext( xScanMgr->getAvailableScanners().getConstArray()[ 0 ] );
commit fecde94354a46463d346a1a78962f39a5a6f9eb8
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 20 20:44:32 2011 +0200

    Undo basis/brand split: moved Python from basis to brand.
    
    The Windows-only code in pyuno/zipcore/python.cxx may still need fixing.

diff --git a/pyuno/source/loader/makefile.mk b/pyuno/source/loader/makefile.mk
index 3f7a33c..15c58d6 100644
--- a/pyuno/source/loader/makefile.mk
+++ b/pyuno/source/loader/makefile.mk
@@ -90,5 +90,5 @@ ALLTAR : $(MISC)/pythonloader.component
 $(MISC)/pythonloader.component .ERRREMOVE : \
 	$(SOLARENV)/bin/createcomponent.xslt pythonloader.component
 	$(XSLTPROC) --nonet --stringparam uri \
-	    'vnd.sun.star.expand:$$OOO_BASE_DIR/program/$(SHL1TARGETN:f)' -o $@ \
-	$(SOLARENV)/bin/createcomponent.xslt pythonloader.component
+	    'vnd.sun.star.expand:$$BRAND_BASE_DIR/program/$(SHL1TARGETN:f)' \
+            -o $@ $(SOLARENV)/bin/createcomponent.xslt pythonloader.component
diff --git a/pyuno/source/loader/pyuno_loader.cxx b/pyuno/source/loader/pyuno_loader.cxx
index f1dcf06..9e93e19 100644
--- a/pyuno/source/loader/pyuno_loader.cxx
+++ b/pyuno/source/loader/pyuno_loader.cxx
@@ -181,7 +181,7 @@ Reference< XInterface > CreateInstance( const Reference< XComponentContext > & c
     {
         OUString pythonPath;
         OUString pythonHome;
-        OUString path( RTL_CONSTASCII_USTRINGPARAM( "$OOO_BASE_DIR/program/" SAL_CONFIGFILE("pythonloader.uno" )));
+        OUString path( RTL_CONSTASCII_USTRINGPARAM( "$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("pythonloader.uno" )));
         rtl::Bootstrap::expandMacros(path); //TODO: detect failure
         rtl::Bootstrap bootstrap(path);
 
diff --git a/pyuno/zipcore/python.cxx b/pyuno/zipcore/python.cxx
index 68991de..775a0b7 100644
--- a/pyuno/zipcore/python.cxx
+++ b/pyuno/zipcore/python.cxx
@@ -103,31 +103,20 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) {
     wchar_t * bootstrapEnd = tools::buildPath(
         bootstrap + MY_LENGTH(L"vnd.sun.star.pathname:"), path, pathEnd,
         MY_STRING(L"fundamental.ini"));
-    if (bootstrapEnd == NULL ||
-        (tools::buildPath(path, path, pathEnd, MY_STRING(L"..\\basis-link"))
-         == NULL))
-    {
-        exit(EXIT_FAILURE);
-    }
-    pathEnd = tools::resolveLink(path);
-    wchar_t path1[MAX_PATH];
-    wchar_t * path1End = tools::buildPath(
-        path1, path, pathEnd, MY_STRING(L"\\program"));
-    if (path1End == NULL) {
+    if (bootstrapEnd == NULL) {
         exit(EXIT_FAILURE);
     }
     wchar_t pythonpath2[MAX_PATH];
     wchar_t * pythonpath2End = tools::buildPath(
         pythonpath2, path, pathEnd,
-        MY_STRING(L"\\program\\python-core-" MY_PYVERSION L"\\lib"));
+        MY_STRING(L"\\python-core-" MY_PYVERSION L"\\lib"));
     if (pythonpath2End == NULL) {
         exit(EXIT_FAILURE);
     }
     wchar_t pythonpath3[MAX_PATH];
     wchar_t * pythonpath3End = tools::buildPath(
         pythonpath3, path, pathEnd,
-        MY_STRING(
-            L"\\program\\python-core-" MY_PYVERSION L"\\lib\\site-packages"));
+        MY_STRING(L"\\python-core-" MY_PYVERSION L"\\lib\\site-packages"));
     if (pythonpath3End == NULL) {
         exit(EXIT_FAILURE);
     }
@@ -135,22 +124,14 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) {
     wchar_t pythonpath4[MAX_PATH];
     wchar_t * pythonpath4End = tools::buildPath(
         pythonpath4, path, pathEnd,
-        MY_STRING(L"\\program\\python-core-" MY_PYVERSION L"\\lib\\lib-dynload"));
+        MY_STRING(L"\\python-core-" MY_PYVERSION L"\\lib\\lib-dynload"));
     if (pythonpath4End == NULL) {
         exit(EXIT_FAILURE);
     }
-    wchar_t pythonpath5[MAX_PATH];
-    wchar_t * pythonpath5End = tools::buildPath(
-        pythonpath5, path, pathEnd,
-        MY_STRING(L"\\program\\python-core-" MY_PYVERSION L"\\lib\\lib-dynload"));
-    if (pythonpath5End == NULL) {
-        exit(EXIT_FAILURE);
-    }
 #endif
     wchar_t pythonhome[MAX_PATH];
     wchar_t * pythonhomeEnd = tools::buildPath(
-        pythonhome, path, pathEnd,
-        MY_STRING(L"\\program\\python-core-" MY_PYVERSION));
+        pythonhome, path, pathEnd, MY_STRING(L"\\python-core-" MY_PYVERSION));
     if (pythonhomeEnd == NULL) {
         exit(EXIT_FAILURE);
     }
@@ -158,25 +139,34 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) {
     wchar_t * pythonexeEnd = tools::buildPath(
         pythonexe, path, pathEnd,
 #ifdef __MINGW32__
-        MY_STRING(
-            L"\\program\\python-core-" MY_PYVERSION L"\\bin\\python.bin"));
+        MY_STRING(L"\\python-core-" MY_PYVERSION L"\\bin\\python.bin"));
 #else
-        MY_STRING(
-            L"\\program\\python-core-" MY_PYVERSION L"\\bin\\python.exe"));
+        MY_STRING(L"\\python-core-" MY_PYVERSION L"\\bin\\python.exe"));
 #endif
     if (pythonexeEnd == NULL) {
         exit(EXIT_FAILURE);
     }
-    if (tools::buildPath(path, path, pathEnd, MY_STRING(L"\\ure-link")) == NULL)
+    wchar_t urepath[MAX_PATH];
+    if (tools::buildPath(urepath, path, pathEnd, MY_STRING(L"..\\basis-link"))
+        == NULL)
+    {
+        exit(EXIT_FAILURE);
+    }
+    wchar_t * urepathEnd = urepathEnd = tools::resolveLink(urepath);
+    if (urepathEnd == NULL ||
+        (tools::buildPath(
+            urepath, urepath, urepathEnd, MY_STRING(L"\\ure-link"))
+         == NULL))
     {
         exit(EXIT_FAILURE);
     }
-    pathEnd = tools::resolveLink(path);
-    if (pathEnd == NULL) {
+    urepathEnd = tools::resolveLink(urepath);
+    if (urepathEnd == NULL) {
         exit(EXIT_FAILURE);
     }
-    pathEnd = tools::buildPath(path, path, pathEnd, MY_STRING(L"\\bin"));
-    if (pathEnd == NULL) {
+    urepathEnd = tools::buildPath(
+        urepath, urepath, urepathEnd, MY_STRING(L"\\bin"));
+    if (urepathEnd == NULL) {
         exit(EXIT_FAILURE);
     }
     std::size_t clSize = MY_LENGTH(L"\"") + 4 * (pythonexeEnd - pythonexe) +
@@ -226,9 +216,9 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) {
         }
     }
     wchar_t * value = new wchar_t[
-        (pathEnd - path) + MY_LENGTH(L";") + (path1End - path1) +
+        (urepathEnd - urepath) + MY_LENGTH(L";") + (pathEnd - path) +
         (n == 0 ? 0 : MY_LENGTH(L";") + (n - 1)) + 1]; //TODO: overflow
-    wsprintfW(value, L"%s;%s%s%s", path, path1, n == 0 ? L"" : L";", orig);
+    wsprintfW(value, L"%s;%s%s%s", urepath, path, n == 0 ? L"" : L";", orig);
     if (!SetEnvironmentVariableW(L"PATH", value)) {
         exit(EXIT_FAILURE);
     }
@@ -252,22 +242,20 @@ int wmain(int argc, wchar_t ** argv, wchar_t **) {
     }
 #ifdef __MINGW32__
     value = new wchar_t[
-        (path1End - path1) + MY_LENGTH(L";") + (pythonpath2End - pythonpath2) +
+        (pathEnd - path) + MY_LENGTH(L";") + (pythonpath2End - pythonpath2) +
         MY_LENGTH(L";") + (pythonpath4End - pythonpath4) +
-        MY_LENGTH(L";") + (pythonpath5End - pythonpath5) +
         MY_LENGTH(L";") + (pythonpath3End - pythonpath3) +
         (n == 0 ? 0 : MY_LENGTH(L";") + (n - 1)) + 1]; //TODO: overflow
     wsprintfW(
-        value, L"%s;%s;%s;%s;%s%s%s", path1, pythonpath2, pythonpath4,
-        pythonpath5, pythonpath3,
+        value, L"%s;%s;%s;%s%s%s", path, pythonpath2, pythonpath4, pythonpath3,
         n == 0 ? L"" : L";", orig);
 #else
     value = new wchar_t[
-        (path1End - path1) + MY_LENGTH(L";") + (pythonpath2End - pythonpath2) +
+        (pathEnd - path) + MY_LENGTH(L";") + (pythonpath2End - pythonpath2) +
         MY_LENGTH(L";") + (pythonpath3End - pythonpath3) +
         (n == 0 ? 0 : MY_LENGTH(L";") + (n - 1)) + 1]; //TODO: overflow
     wsprintfW(
-        value, L"%s;%s;%s%s%s", path1, pythonpath2, pythonpath3,
+        value, L"%s;%s;%s%s%s", path, pythonpath2, pythonpath3,
         n == 0 ? L"" : L";", orig);
 #endif
     if (!SetEnvironmentVariableW(L"PYTHONPATH", value)) {
diff --git a/pyuno/zipcore/python.sh b/pyuno/zipcore/python.sh
index e32f137..c6c2f4a 100644
--- a/pyuno/zipcore/python.sh
+++ b/pyuno/zipcore/python.sh
@@ -44,7 +44,7 @@ PATH=$sd_prog${PATH+:$PATH}
 export PATH
 
 # Set %%OOO_LIBRARY_PATH_VAR%% so that "import pyuno" finds libpyuno.so:
-%%OOO_LIBRARY_PATH_VAR%%=$sd_prog/../basis-link/program:$sd_prog/../basis-link/ure-link/lib${%%OOO_LIBRARY_PATH_VAR%%:+:$%%OOO_LIBRARY_PATH_VAR%%}
+%%OOO_LIBRARY_PATH_VAR%%=$sd_prog:$sd_prog/../basis-link/ure-link/lib${%%OOO_LIBRARY_PATH_VAR%%:+:$%%OOO_LIBRARY_PATH_VAR%%}
 export %%OOO_LIBRARY_PATH_VAR%%
 
 # Set UNO_PATH so that "officehelper.bootstrap()" can find soffice executable:
@@ -57,19 +57,19 @@ export UNO_PATH
 export URE_BOOTSTRAP
 
 NONMACSECTION
-PYTHONPATH=$sd_prog/../basis-link/program:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib/lib-dynload:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib/lib-tk:$sd_prog/../basis-link/program/python-core-%%PYVERSION%%/lib/site-packages${PYTHONPATH+:$PYTHONPATH}
+PYTHONPATH=$sd_prog:$sd_prog/python-core-%%PYVERSION%%/lib:$sd_prog/python-core-%%PYVERSION%%/lib/lib-dynload:$sd_prog/python-core-%%PYVERSION%%/lib/lib-tk:$sd_prog/python-core-%%PYVERSION%%/lib/site-packages${PYTHONPATH+:$PYTHONPATH}
 export PYTHONPATH
-PYTHONHOME=$sd_prog/../basis-link/program/python-core-%%PYVERSION%%
+PYTHONHOME=$sd_prog/python-core-%%PYVERSION%%
 export PYTHONHOME
 
 # execute binary
-exec "$sd_prog/../basis-link/program/python.bin" "$@"
+exec "$sd_prog/python.bin" "$@"
 MACSECTION
-PYTHONHOME=$sd_prog/../basis-link/program/OOoPython.framework
+PYTHONHOME=$sd_prog/OOoPython.framework
 export PYTHONHOME
 
 pybasislibdir=$PYTHONHOME/Versions/%%PYVERSION%%/lib/python%%PYVERSION%%
-PYTHONPATH=$sd_prog/../basis-link/program:$pybasislibdir:$pybasislibdir/lib-dynload:$pybasislibdir/lib-tk:$pybasislibdir/site-packages${PYTHONPATH+:$PYTHONPATH}
+PYTHONPATH=$sd_prog:$pybasislibdir:$pybasislibdir/lib-dynload:$pybasislibdir/lib-tk:$pybasislibdir/site-packages${PYTHONPATH+:$PYTHONPATH}
 export PYTHONPATH
 
 # execute binary
diff --git a/scp2/source/python/file_python.scp b/scp2/source/python/file_python.scp
index cfef220..be8cbe2 100644
--- a/scp2/source/python/file_python.scp
+++ b/scp2/source/python/file_python.scp
@@ -36,13 +36,13 @@ File gid_File_Lib_Pyuno
   #else
     Name = "pyuno.pyd";
   #endif
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Styles = (PACKED);
 End
 
 File gid_File_Lib_Pythonloader
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
   #ifdef UNX
     Name = STRING(CONCAT2(pythonloader.uno,UNXSUFFIX));
   #else
@@ -53,28 +53,28 @@ End
 
 File gid_File_Py_Unohelper
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "unohelper.py";
     Styles = (PACKED);
 End
 
 File gid_File_Py_Officehelper
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "officehelper.py";
     Styles = (PACKED);
 End
 
 File gid_File_Py_Uno
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "uno.py";
     Styles = (PACKED);
 End
 
 File gid_File_Py_Pythonloader
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "pythonloader.py";
     Styles = (PACKED);
 End
@@ -82,7 +82,7 @@ End
 #ifndef SYSTEM_PYTHON
 File gid_File_Py_Python_Core
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
   #ifdef MACOSX
     Name = "OOoPython.framework.zip";
     Styles = (ARCHIVE,USE_INTERNAL_RIGHTS);
@@ -96,7 +96,7 @@ End
 #ifndef MACOSX
 File gid_File_Py_Python_Bin
     BIN_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "python.bin";
     Styles = (PACKED);
 End
@@ -126,14 +126,14 @@ End
 #ifndef MACOSX
 File gid_File_Lib_Python_So
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = STRING(PY_FULL_DLL_NAME);
     Styles = (PACKED);
 End
 #ifdef UNX
 Shortcut gid_Shortcut_Lib_Python_So
     FileID = gid_File_Lib_Python_So;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = STRING(CONCAT3(libpython,PYMAJMIN,UNXSUFFIX));
     Styles = (NETWORK,RELATIVE);
 End
@@ -141,7 +141,7 @@ End
 #else //MACOSX
 //directory entries solely to be able to create the symlinks
 Directory gid_Dir_PythonFramework
-    ParentID = gid_Dir_Program;
+    ParentID = gid_Brand_Dir_Program;
     HostName = "OOoPython.framework";
 End
 
@@ -287,15 +287,6 @@ Unixlink gid_Unixlink_Python_libpython
     Styles = ();
 End
 #endif //MACOSX
-
-#ifdef WNT
-File gid_File_Lib_Python_So_Brand // Fix for system-python-problem on windows
-    TXT_FILE_BODY;
-    Dir = gid_Brand_Dir_Program;
-    Name = STRING(PY_FULL_DLL_NAME);
-    Styles = (PACKED);
-End
-#endif
 #endif
 
 #ifdef UNX
@@ -308,7 +299,7 @@ File gid_File_Pyuno
 #else
     Name = "pyuno.so";
 #endif
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Styles = (PACKED);
 End
 
diff --git a/scp2/source/python/module_python.scp b/scp2/source/python/module_python.scp
index eef3939..d80bc16 100644
--- a/scp2/source/python/module_python.scp
+++ b/scp2/source/python/module_python.scp
@@ -34,7 +34,7 @@ Module gid_Module_Optional_Pyuno
     MOD_NAME_DESC ( MODULE_OPTIONAL_PYTHON );
     ParentID = gid_Module_Optional;
     Sortkey = "750";
-    Files = (gid_File_Pyuno,gid_File_Lib_Pyuno,gid_File_Lib_Pythonloader,gid_File_Py_Unohelper,gid_File_Py_Officehelper,gid_File_Py_Uno,gid_File_Py_Pythonloader,gid_File_Py_Python_Core,gid_File_Py_Python_Bin,gid_File_Lib_Python_So,gid_Shortcut_Lib_Python_So,gid_File_Lib_Python_So_Brand,gid_File_Scripts_Python,gid_File_Share_Registry_Pyuno_Xcd);
+    Files = (gid_File_Pyuno,gid_File_Lib_Pyuno,gid_File_Lib_Pythonloader,gid_File_Py_Unohelper,gid_File_Py_Officehelper,gid_File_Py_Uno,gid_File_Py_Pythonloader,gid_File_Py_Python_Core,gid_File_Py_Python_Bin,gid_File_Lib_Python_So,gid_Shortcut_Lib_Python_So,gid_File_Scripts_Python,gid_File_Share_Registry_Pyuno_Xcd);
     Minimal = NO;
     Default = YES;
     Styles = ( );
diff --git a/scp2/source/python/module_python_mailmerge.scp b/scp2/source/python/module_python_mailmerge.scp
index 53ed507..222e33f 100644
--- a/scp2/source/python/module_python_mailmerge.scp
+++ b/scp2/source/python/module_python_mailmerge.scp
@@ -31,13 +31,13 @@
 #ifndef DISABLE_PYUNO
 File gid_File_Pymailmerge
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "mailmerge.py";
     Styles = (PACKED);
 End
 File gid_File_Pymailmerge_msgbox
     TXT_FILE_BODY;
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Name = "msgbox.py";
     Styles = (PACKED);
 End
diff --git a/scp2/source/python/profileitem_python.scp b/scp2/source/python/profileitem_python.scp
index e0cecee..46d515c 100644
--- a/scp2/source/python/profileitem_python.scp
+++ b/scp2/source/python/profileitem_python.scp
@@ -36,7 +36,7 @@ Profile gid_Profile_Pythonloader_Uno_Ini
   #else
     Name = "pythonloader.uno.ini";
   #endif
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Styles = (NETWORK);
 End
 
commit cf33eb5fb423bcf67d7cc335e2d8ec8066702648
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 20 20:43:07 2011 +0200

    Removed spurious "" around multi-word shell arg.

diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh
index 2303349..54918f0 100755
--- a/desktop/scripts/unopkg.sh
+++ b/desktop/scripts/unopkg.sh
@@ -110,6 +110,6 @@ unset XENVIRONMENT
 # SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS
 
 # execute binary
-exec "$sd_prog/unopkg.bin" "$@"  "$JVMFWKPARAMS" \
+exec "$sd_prog/unopkg.bin" "$@" $JVMFWKPARAMS \
     "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc"
 
commit fc98a971350bed06e75443d89cef41d6bd346f7c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 20 16:36:58 2011 +0200

    Introduced --disable-linkoo.

diff --git a/configure.in b/configure.in
index 6037452..df644ae 100644
--- a/configure.in
+++ b/configure.in
@@ -257,6 +257,10 @@ AC_ARG_ENABLE(dbgutil,
         [Include additional debugging utilities, such as assertions, object
          counting, etc. Larger build. Independent from --enable-debug]))
 
+AC_ARG_ENABLE(linkoo,
+    AS_HELP_STRING([--disable-linkoo],
+        [Disable linkoo for the smoketest installation.]))
+
 AC_ARG_ENABLE(lto,
     AS_HELP_STRING([--enable-lto],
         [Enable link-time optimization. Suitable for product builds.
@@ -2336,6 +2340,18 @@ fi
 AC_SUBST(PRODUCT)
 AC_SUBST(PROEXT)
 
+dnl Determine whether to use linkoo for the smoketest installation
+dnl ===================================================================
+AC_MSG_CHECKING([whether to use linkoo for the smoketest installation])
+if test "$enable_linkoo" = "no"; then
+    DISABLE_LINKOO="TRUE"
+    AC_MSG_RESULT([no])
+else
+    DISABLE_LINKOO=
+    AC_MSG_RESULT([yes])
+fi
+AC_SUBST(DISABLE_LINKOO)
+
 # Set the ENABLE_LTO variable
 # ===================================================================
 AC_MSG_CHECKING([whether to use link-time optimization])
diff --git a/set_soenv.in b/set_soenv.in
index 310ac75..dc2d996 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1783,6 +1783,7 @@ ToFile( "WITH_STLPORT",      "@WITH_STLPORT@", "e" );
 ToFile( "ALLOC",             "@ALLOC@",          "e" );
 ToFile( "ENABLE_LTO",        "@ENABLE_LTO@",        "e" );
 ToFile( "ENABLE_SYMBOLS",    "@ENABLE_SYMBOLS@",    "e" );
+ToFile( "DISABLE_LINKOO",    "@DISABLE_LINKOO@",    "e" );
 ToFile( "DISABLE_STRIP",     "@DISABLE_STRIP@",     "e" );
 ToFile( "LFS_CFLAGS",        "@LFS_CFLAGS@",     "e" );
 ToFile( "ENABLE_CRASHDUMP",  "@ENABLE_CRASHDUMP@",  "e" );
diff --git a/smoketestoo_native/makefile.mk b/smoketestoo_native/makefile.mk
index e83f839..cd80184 100755
--- a/smoketestoo_native/makefile.mk
+++ b/smoketestoo_native/makefile.mk
@@ -57,9 +57,14 @@ TEST_ARGUMENTS = smoketest.doc=$(BIN)/smoketestdoc.sxw
 CPPTEST_LIBRARY = $(SHL1TARGETN)
 
 .IF "$(OS)" != "WNT" || "$(CROSS_COMPILING)" == "YES"
+.IF "$(DISABLE_LINKOO)" == "TRUE"
+my_linkoo =
+.ELSE
+my_linkoo = -l
+.END
 localinstall :
     $(RM) -r $(installationtest_instpath)
     $(MKDIRHIER) $(installationtest_instpath)
-    ooinstall -l $(installationtest_instpath)/opt
+    ooinstall $(my_linkoo) $(installationtest_instpath)/opt
 cpptest : localinstall
 .END
commit daabd72e077b3b0a80dcde98aea87fe9a7ff06e5
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 20 16:35:20 2011 +0200

    Report failing Unixlink processing.

diff --git a/solenv/bin/modules/installer/worker.pm b/solenv/bin/modules/installer/worker.pm
index ada4372..312f300 100644
--- a/solenv/bin/modules/installer/worker.pm
+++ b/solenv/bin/modules/installer/worker.pm
@@ -779,8 +779,9 @@ sub install_simple ($$$$$$)
         my $onelink = ${$unixlinksarray}[$i];
         my $target = $onelink->{'Target'};
         my $destination = $onelink->{'destination'};
+        my $cmd = "ln -sf '$target' '$destdir$destination'";
 
-        `ln -sf '$target' '$destdir$destination'`;
+        system($cmd) && die "Failed \"$cmd\"";
         push @lines, "$destination\n";
     }
 
commit 10ce581cfc7a3fd74200910291a0fb916180e772
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 20 16:31:20 2011 +0200

    osl_getCommandArgCount can be called w/o prior osl_setCommandArgs.
    
    ...e.g., with "import uno" in a stand-alone pyhton process (where it
    is hopefully harmless that UNO does not get access to any -env
    command line args).

diff --git a/sal/osl/unx/process_impl.cxx b/sal/osl/unx/process_impl.cxx
index a41bc68..003e136 100644
--- a/sal/osl/unx/process_impl.cxx
+++ b/sal/osl/unx/process_impl.cxx
@@ -206,7 +206,11 @@ sal_uInt32 SAL_CALL osl_getCommandArgCount (void)
     sal_uInt32 result = 0;
 
     pthread_mutex_lock (&(g_command_args.m_mutex));
-    OSL_ASSERT(g_command_args.m_nCount > 0);
+    if (g_command_args.m_nCount == 0) {
+        OSL_TRACE(
+            OSL_LOG_PREFIX
+            "osl_getCommandArgCount w/o prior call to osl_setCommandArgs");
+    }
     if (g_command_args.m_nCount > 0)
         result = g_command_args.m_nCount - 1;
     pthread_mutex_unlock (&(g_command_args.m_mutex));
diff --git a/sal/osl/w32/process.cxx b/sal/osl/w32/process.cxx
index 718f293..18eecab 100644
--- a/sal/osl/w32/process.cxx
+++ b/sal/osl/w32/process.cxx
@@ -343,7 +343,11 @@ sal_uInt32 SAL_CALL osl_getCommandArgCount(void)
     sal_uInt32 result = 0;
 
     osl_acquireMutex (*osl_getGlobalMutex());
-    OSL_ASSERT(g_command_args.m_nCount > 0);
+    if (g_command_args.m_nCount == 0) {
+        OSL_TRACE(
+            OSL_LOG_PREFIX
+            "osl_getCommandArgCount w/o prior call to osl_setCommandArgs");
+    }
     if (g_command_args.m_nCount > 0)
     {
         /* We're not counting argv[0] here. */
commit b1eae75f53ad2ee88192241776ffa7d29725301a
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Oct 20 11:12:01 2011 +0200

    Undo basis/brand split: moved ini files from basis program/ to brand program/.
    
    Moved uno ini, folded fundamentalbasis ini into fundamental ini, merged
    version inis.

diff --git a/bin/java-set-classpath.in b/bin/java-set-classpath.in
index 672463e..4d22a75 100644
--- a/bin/java-set-classpath.in
+++ b/bin/java-set-classpath.in
@@ -36,7 +36,7 @@ if test "z$1" = "z" ; then
     exit 0;
 fi
 
-JVM_CONFIG_FILE=@OOINSTBASE@/basis-link/program/fundamentalbasisrc
+JVM_CONFIG_FILE=@OOINSTBASE@/program/fundamentalrc
 
 for path in $@ ; do
     if test "z${path%%/*}" != "z" ; then
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 650df69..0b5ea78 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -548,7 +548,7 @@ Components::Components(
         expand(
             rtl::OUString(
                 RTL_CONSTASCII_USTRINGPARAM(
-                    "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno")
+                    "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("uno")
                     ":BUNDLED_EXTENSIONS_USER}/registry/"
                     "com.sun.star.comp.deployment.configuration."
                     "PackageRegistryBackend/configmgr.ini"))),
@@ -558,7 +558,7 @@ Components::Components(
         expand(
             rtl::OUString(
                 RTL_CONSTASCII_USTRINGPARAM(
-                    "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno")
+                    "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("uno")
                     ":SHARED_EXTENSIONS_USER}/registry/"
                     "com.sun.star.comp.deployment.configuration."
                     "PackageRegistryBackend/configmgr.ini"))),
@@ -568,7 +568,7 @@ Components::Components(
         expand(
             rtl::OUString(
                 RTL_CONSTASCII_USTRINGPARAM(
-                    "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno")
+                    "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("uno")
                     ":UNO_USER_PACKAGES_CACHE}/registry/"
                     "com.sun.star.comp.deployment.configuration."
                     "PackageRegistryBackend/registry"))));
@@ -579,7 +579,7 @@ Components::Components(
         expand(
             rtl::OUString(
                 RTL_CONSTASCII_USTRINGPARAM(
-                    "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno")
+                    "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("uno")
                     ":UNO_USER_PACKAGES_CACHE}/registry/"
                     "com.sun.star.comp.deployment.configuration."
                     "PackageRegistryBackend/configmgr.ini"))),
diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx
index fbc5136..37b1bfe 100644
--- a/desktop/source/app/check_ext_deps.cxx
+++ b/desktop/source/app/check_ext_deps.cxx
@@ -375,7 +375,7 @@ static bool impl_needsCompatCheck()
 {
     bool bNeedsCheck = false;
     rtl::OUString aLastCheckBuildID;
-    rtl::OUString aCurrentBuildID( UNISTRING( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}" ) );
+    rtl::OUString aCurrentBuildID( UNISTRING( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}" ) );
     rtl::Bootstrap::expandMacros( aCurrentBuildID );
 
     try {
diff --git a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
index 3330683..f0b3f41 100644
--- a/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
+++ b/desktop/source/deployment/gui/dp_gui_updatedialog.cxx
@@ -1281,7 +1281,7 @@ IMPL_LINK(UpdateDialog, selectionHandler, void *, EMPTYARG)
                     sal_Int32 nPos = m_noDependencyCurVer.indexOf( sVersion );
                     if ( nPos >= 0 )
                     {
-                        ::rtl::OUString sCurVersion( RTL_CONSTASCII_USTRINGPARAM( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":Version:OOOPackageVersion}"));
+                        ::rtl::OUString sCurVersion( RTL_CONSTASCII_USTRINGPARAM( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":Version:OOOPackageVersion}"));
                         ::rtl::Bootstrap::expandMacros(sCurVersion);
                         m_noDependencyCurVer = m_noDependencyCurVer.replaceAt( nPos, sVersion.getLength(), sCurVersion );
                     }
diff --git a/desktop/source/deployment/misc/dp_dependencies.cxx b/desktop/source/deployment/misc/dp_dependencies.cxx
index 6b93754..9bbaa1f 100644
--- a/desktop/source/deployment/misc/dp_dependencies.cxx
+++ b/desktop/source/deployment/misc/dp_dependencies.cxx
@@ -62,7 +62,7 @@ lcl_versionIsNot(dp_misc::Order i_eOrder, ::rtl::OUString const& i_rVersion)
 {
     ::rtl::OUString aVersion(
         RTL_CONSTASCII_USTRINGPARAM(
-            "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version")
+            "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version")
             ":Version:OOOPackageVersion}"));
     ::rtl::Bootstrap::expandMacros(aVersion);
     return ::dp_misc::compareVersions(aVersion, i_rVersion) != i_eOrder;
diff --git a/desktop/source/deployment/misc/dp_misc.cxx b/desktop/source/deployment/misc/dp_misc.cxx
index 2bd0254..8e47e8f 100644
--- a/desktop/source/deployment/misc/dp_misc.cxx
+++ b/desktop/source/deployment/misc/dp_misc.cxx
@@ -82,7 +82,7 @@ struct UnoRc : public rtl::StaticWithInit<
     boost::shared_ptr<rtl::Bootstrap>, UnoRc> {
     const boost::shared_ptr<rtl::Bootstrap> operator () () {
         OUString unorc( RTL_CONSTASCII_USTRINGPARAM(
-                            "$OOO_BASE_DIR/program/" SAL_CONFIGFILE("uno")) );
+                            "$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("uno")) );
         ::rtl::Bootstrap::expandMacros( unorc );
         ::boost::shared_ptr< ::rtl::Bootstrap > ret(
             new ::rtl::Bootstrap( unorc ) );
diff --git a/extensions/source/update/check/updatecheck.cxx b/extensions/source/update/check/updatecheck.cxx
index 468be3e..09821ab 100644
--- a/extensions/source/update/check/updatecheck.cxx
+++ b/extensions/source/update/check/updatecheck.cxx
@@ -116,7 +116,7 @@ namespace
 
 static inline rtl::OUString getBuildId()
 {
-    rtl::OUString aPathVal(UNISTRING("${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}"));
+    rtl::OUString aPathVal(UNISTRING("${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}"));
     rtl::Bootstrap::expandMacros(aPathVal);
     return aPathVal;
 }
diff --git a/extensions/source/update/check/updatehdl.cxx b/extensions/source/update/check/updatehdl.cxx
index b25854f..7ee3aa4 100644
--- a/extensions/source/update/check/updatehdl.cxx
+++ b/extensions/source/update/check/updatehdl.cxx
@@ -895,7 +895,7 @@ void UpdateHandler::setFullVersion( rtl::OUString& rString )
     sal_Int32 nVerIndex = rString.indexOf( aProductVersion );
     if ( nVerIndex != -1 )
     {
-        rtl::OUString aPackageVersion = UNISTRING( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":OOOPackageVersion}" );
+        rtl::OUString aPackageVersion = UNISTRING( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":OOOPackageVersion}" );
         rtl::Bootstrap::expandMacros( aPackageVersion );
 
         if ( aPackageVersion.getLength() )
diff --git a/extensions/source/update/check/updateprotocol.cxx b/extensions/source/update/check/updateprotocol.cxx
index a304ee3..f20cda8 100644
--- a/extensions/source/update/check/updateprotocol.cxx
+++ b/extensions/source/update/check/updateprotocol.cxx
@@ -64,7 +64,7 @@ getBootstrapData(
     ::rtl::OUString & rBuildID,
     ::rtl::OUString & rInstallSetID)
 {
-    rBuildID = UNISTRING( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":ProductBuildid}" );
+    rBuildID = UNISTRING( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":ProductBuildid}" );
     rtl::Bootstrap::expandMacros( rBuildID );
     if ( ! rBuildID.getLength() )
         return false;
diff --git a/extensions/source/update/feed/updatefeed.cxx b/extensions/source/update/feed/updatefeed.cxx
index 6f6ce11..bb250ba 100644
--- a/extensions/source/update/feed/updatefeed.cxx
+++ b/extensions/source/update/feed/updatefeed.cxx
@@ -384,22 +384,9 @@ UpdateInformationProvider::UpdateInformationProvider(
     }
     rtl::OUString product(buf.makeStringAndClear());
 
-    rtl::OUString aBaseBuildId( UNISTRING( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}" ) );
-    rtl::Bootstrap::expandMacros( aBaseBuildId );
-
-    rtl::OUString aBrandBuildId( UNISTRING( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":buildid}" ) );
-    rtl::Bootstrap::expandMacros( aBrandBuildId );
-
     rtl::OUString aUserAgent( UNISTRING( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":UpdateUserAgent}" ) );
     rtl::Bootstrap::expandMacros( aUserAgent );
 
-    if ( ! aBaseBuildId.equals( aBrandBuildId ) )
-    {
-        sal_Int32 nIndex = aUserAgent.indexOf( aBrandBuildId, 0 );
-        if ( nIndex != -1 )
-            aUserAgent = aUserAgent.replaceAt( nIndex, aBrandBuildId.getLength(), aBaseBuildId );
-    }
-
     for (sal_Int32 i = 0;;) {
         i = aUserAgent.indexOfAsciiL(
             RTL_CONSTASCII_STRINGPARAM("<PRODUCT>"), i);
diff --git a/scp2/source/ooo/common_brand.scp b/scp2/source/ooo/common_brand.scp
index a0270cd..a55af98 100644
--- a/scp2/source/ooo/common_brand.scp
+++ b/scp2/source/ooo/common_brand.scp
@@ -1118,6 +1118,14 @@ ProfileItem gid_Brand_Profileitem_Version_Ooobaseversion
     Value = "${OOOBASEVERSION}";
 End
 
+ProfileItem gid_Brand_Profileitem_Version_Ooopackageversion
+    ProfileID = gid_Brand_Profile_Version_Ini;
+    ModuleID = gid_Module_Root_Brand;
+    Section = "Version";
+    Key = "OOOPackageVersion";
+    Value = "${OOOPACKAGEVERSION}";
+End
+
 ProfileItem gid_Brand_Profileitem_Version_Extensionupdateurl
     ProfileID = gid_Brand_Profile_Version_Ini;
     ModuleID = gid_Module_Root_Brand;
@@ -1152,7 +1160,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "BUNDLED_EXTENSIONS";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":BUNDLED_EXTENSIONS}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions_User
@@ -1160,7 +1168,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions_User
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "BUNDLED_EXTENSIONS_USER";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":BUNDLED_EXTENSIONS_USER}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS_USER}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions_Prereg
@@ -1168,7 +1176,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Bundled_Extensions_Prereg
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "BUNDLED_EXTENSIONS_PREREG";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":BUNDLED_EXTENSIONS_PREREG}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS_PREREG}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Packages_Cache
@@ -1176,7 +1184,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Packages_Cache
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "UNO_SHARED_PACKAGES_CACHE";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":UNO_SHARED_PACKAGES_CACHE}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":UNO_SHARED_PACKAGES_CACHE}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Extensions_User
@@ -1184,7 +1192,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Shared_Extensions_User
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "SHARED_EXTENSIONS_USER";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":SHARED_EXTENSIONS_USER}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":SHARED_EXTENSIONS_USER}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Uno_User_Packages_Cache
@@ -1192,7 +1200,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_User_Packages_Cache
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "UNO_USER_PACKAGES_CACHE";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":UNO_USER_PACKAGES_CACHE}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":UNO_USER_PACKAGES_CACHE}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Tmp_Extensions
@@ -1200,7 +1208,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Uno_Tmp_Extensions
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "TMP_EXTENSIONS";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":TMP_EXTENSIONS}";
+    Value = "${$ORIGIN/" PROFILENAME(uno) ":TMP_EXTENSIONS}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Types
@@ -1208,7 +1216,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Types
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_MORE_TYPES";
-    Value = "$ORIGIN/offapi.rdb $ORIGIN/oovbaapi.rdb ${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_MORE_TYPES}";
+    Value = "$ORIGIN/offapi.rdb $ORIGIN/oovbaapi.rdb ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_TYPES}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Services
@@ -1216,7 +1224,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Services
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_MORE_SERVICES";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_MORE_SERVICES} $ORIGIN/services.rdb";
+    Value = "${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_SERVICES} $ORIGIN/services.rdb";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Java_Types
@@ -1224,7 +1232,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_More_Java_Types
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_MORE_JAVA_TYPES";
-    Value = "$ORIGIN/classes/unoil.jar $ORIGIN/classes/ScriptFramework.jar ${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_MORE_JAVA_TYPES}";
+    Value = "$ORIGIN/classes/unoil.jar $ORIGIN/classes/ScriptFramework.jar ${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Jfw_Shared_Data
@@ -1232,7 +1240,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Jfw_Shared_Data
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_OVERRIDE_JAVA_JFW_SHARED_DATA";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_OVERRIDE_JAVA_JFW_SHARED_DATA}";
+    Value = "${BRAND_BASE_DIR}/share/config/javasettings_${_OS}_${_ARCH}.xml";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Jfw_User_Data
@@ -1240,7 +1248,7 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Jfw_User_Data
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_OVERRIDE_JAVA_JFW_USER_DATA";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_OVERRIDE_JAVA_JFW_USER_DATA}";
+    Value = "${${BRAND_BASE_DIR}/program/" PROFILENAME(bootstrap) ":UserInstallation}/user/config/javasettings_${_OS}_${_ARCH}.xml";
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Classpath_Urls
@@ -1248,7 +1256,16 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Java_Classpath_Urls
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_MORE_JAVA_CLASSPATH_URLS";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_MORE_JAVA_CLASSPATH_URLS}";
+    Value = "";
+#ifdef SYSTEM_BSH
+    ValueList1 = BSH_JAR;
+#endif
+#ifdef SYSTEM_HSQLDB
+    ValueList2 = HSQLDB_JAR;
+#endif
+#ifdef SYSTEM_SAXON
+    ValueList3 = SAXON_JAR;
+#endif
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Bin_Dir
@@ -1256,7 +1273,11 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Bin_Dir
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_BIN_DIR";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_BIN_DIR}";
+#if defined WNT
+    Value = "${.link:${OOO_BASE_DIR}/ure-link}/bin";
+#else
+    Value = "${OOO_BASE_DIR}/ure-link/bin";
+#endif
 End
 
 ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Lib_Dir
@@ -1264,7 +1285,11 @@ ProfileItem gid_Brand_Profileitem_Fundamental_Ure_Lib_Dir
     ProfileID = gid_Brand_Profile_Fundamental_Ini;
     Section = "Bootstrap";
     Key = "URE_LIB_DIR";
-    Value = "${${OOO_BASE_DIR}/program/" PROFILENAME(fundamentalbasis) ":URE_LIB_DIR}";
+#if defined WNT
+    Value = "${.link:${OOO_BASE_DIR}/ure-link}/bin";
+#else
+    Value = "${OOO_BASE_DIR}/ure-link/lib";
+#endif
 End
 
 #if !defined MACOSX
diff --git a/scp2/source/ooo/profile_ooo.scp b/scp2/source/ooo/profile_ooo.scp
index a249104..899f86b 100644
--- a/scp2/source/ooo/profile_ooo.scp
+++ b/scp2/source/ooo/profile_ooo.scp
@@ -34,19 +34,6 @@ Profile gid_Profile_Uno_Ini
   #else
     Name = "uno.ini";
   #endif
-    Dir = gid_Dir_Program;
+    Dir = gid_Brand_Dir_Program;
     Styles = (NETWORK);
 End
-
-Profile gid_Profile_Version_Ini_Basis
-    ModuleID = gid_Module_Root;
-    Name = PROFILENAME(version);
-    Dir = gid_Dir_Program;
-    Styles = ();
-End
-
-Profile gid_Profile_Fundamentalbasis_Ini
-    ModuleID = gid_Module_Root;
-    Name = PROFILENAME(fundamentalbasis);
-    Dir = gid_Dir_Program;
-End
diff --git a/scp2/source/ooo/profileitem_ooo.scp b/scp2/source/ooo/profileitem_ooo.scp
index 37d30a1..10ab481 100644
--- a/scp2/source/ooo/profileitem_ooo.scp
+++ b/scp2/source/ooo/profileitem_ooo.scp
@@ -271,198 +271,3 @@ ProfileItem gid_Profileitem_Uno_Pkg_UserUnoFile
     Key = "PKG_UserUnoFile";
     Value = "$UNO_USER_PACKAGES_CACHE/registry/com.sun.star.comp.deployment.component.PackageRegistryBackend/unorc";
 End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Bundled_Extensions
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "BUNDLED_EXTENSIONS";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Bundled_Extensions_User
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "BUNDLED_EXTENSIONS_USER";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS_USER}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Bundled_Extensions_Prereg
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "BUNDLED_EXTENSIONS_PREREG";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":BUNDLED_EXTENSIONS_PREREG}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Shared_Packages_Cache
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "UNO_SHARED_PACKAGES_CACHE";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":UNO_SHARED_PACKAGES_CACHE}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Shared_Extensions_User
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "SHARED_EXTENSIONS_USER";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":SHARED_EXTENSIONS_USER}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_User_Packages_Cache
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "UNO_USER_PACKAGES_CACHE";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":UNO_USER_PACKAGES_CACHE}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Uno_Tmp_Extensions
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "TMP_EXTENSIONS";
-    Value = "${$ORIGIN/" PROFILENAME(uno) ":TMP_EXTENSIONS}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Types
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_MORE_TYPES";
-    Value = "${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_TYPES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_TYPES}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Services
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_MORE_SERVICES";
-    Value = "${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_SERVICES} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_SERVICES}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_More_Java_Types
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_MORE_JAVA_TYPES";
-    Value = "${${$ORIGIN/" PROFILENAME(uno) ":PKG_UserUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_SharedUnoFile}:UNO_JAVA_CLASSPATH} ${${$ORIGIN/" PROFILENAME(uno) ":PKG_BundledUnoFile}:UNO_JAVA_CLASSPATH}";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_Java_Jfw_Shared_Data
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_OVERRIDE_JAVA_JFW_SHARED_DATA";
-    Value = "${BRAND_BASE_DIR}/share/config/javasettings_${_OS}_${_ARCH}.xml";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_Java_Jfw_User_Data
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_OVERRIDE_JAVA_JFW_USER_DATA";
-    Value = "${${BRAND_BASE_DIR}/program/" PROFILENAME(bootstrap) ":UserInstallation}/user/config/javasettings_${_OS}_${_ARCH}.xml";
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_Java_Classpath_Urls
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_MORE_JAVA_CLASSPATH_URLS";
-    Value = "";
-#ifdef SYSTEM_BSH
-    ValueList1 = BSH_JAR;
-#endif
-#ifdef SYSTEM_HSQLDB
-    ValueList2 = HSQLDB_JAR;
-#endif
-#ifdef SYSTEM_SAXON
-    ValueList3 = SAXON_JAR;
-#endif
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_Bin_Dir
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_BIN_DIR";
-#if defined WNT
-    Value = "${.link:$ORIGIN/../ure-link}/bin";
-#else
-    Value = "$ORIGIN/../ure-link/bin";
-#endif
-End
-
-ProfileItem gid_Profileitem_Fundamentalbasis_Ure_Lib_Dir
-    ModuleID = gid_Module_Root;
-    ProfileID = gid_Profile_Fundamentalbasis_Ini;
-    Section = "Bootstrap";
-    Key = "URE_LIB_DIR";
-#if defined WNT
-    Value = "${.link:$ORIGIN/../ure-link}/bin";
-#else
-    Value = "$ORIGIN/../ure-link/lib";
-#endif
-End
-
-// Basis layer: gid_Profile_Version_Ini_Basis
-
-ProfileItem gid_Basis_Profileitem_Version_Buildid
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "buildid";
-    Value = "<buildid>";
-End
-
-ProfileItem gid_Basis_Profileitem_Version_Productsource
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "ProductSource";
-    Value = "<sourceid>";
-End
-
-ProfileItem gid_Basis_Profileitem_Version_Productmajor
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "ProductMajor";
-    Value = "<productmajor>";
-End
-
-ProfileItem gid_Basis_Profileitem_Version_Productminor
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "ProductMinor";
-    Value = "<productminor>";
-End
-
-ProfileItem gid_Basis_Profileitem_Version_Productbuildid
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "ProductBuildid";
-    Value = "<productbuildid>";
-End
-
-ProfileItem gid_Basis_Profileitem_Version_Ooobaseversion
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "OOOBaseVersion";
-    Value = "${OOOBASEVERSION}";
-End
-
-ProfileItem gid_Basis_Profileitem_Version_Ooopackageversion
-    ProfileID = gid_Profile_Version_Ini_Basis;
-    ModuleID = gid_Module_Root;
-    Section = "Version";
-    Key = "OOOPackageVersion";
-    Value = "${OOOPACKAGEVERSION}";
-End
diff --git a/unotools/source/config/configmgr.cxx b/unotools/source/config/configmgr.cxx
index 913f809..00e4614 100644
--- a/unotools/source/config/configmgr.cxx
+++ b/unotools/source/config/configmgr.cxx
@@ -575,7 +575,7 @@ Any ConfigManager::GetDirectConfigProperty(ConfigProperty eProp)
 /*---------------------------------------------------------------------------*/
 void ConfigManager::getBasisAboutBoxProductVersion( OUString& rVersion )
 {
-    rtl::OUString aPackageVersion = UNISTRING( "${$OOO_BASE_DIR/program/" SAL_CONFIGFILE("version") ":OOOPackageVersion}" );
+    rtl::OUString aPackageVersion = UNISTRING( "${$BRAND_BASE_DIR/program/" SAL_CONFIGFILE("version") ":OOOPackageVersion}" );
     rtl::Bootstrap::expandMacros( aPackageVersion );
 
     if ( aPackageVersion.getLength() )


More information about the Libreoffice-commits mailing list