[ooo-build-commit] Branch 'ooo/OOO320' - 2 commits - formula/source framework/source officecfg/registry xmlhelp/source

Jan Holesovsky kendy at kemper.freedesktop.org
Tue Oct 27 01:23:39 PDT 2009


 formula/source/core/api/FormulaCompiler.cxx                |   14 +++---
 framework/source/helper/statusindicatorfactory.cxx         |   19 +++++++-
 framework/source/loadenv/loadenv.cxx                       |   28 +++++++++----
 officecfg/registry/schema/org/openoffice/Office/Common.xcs |   15 ++++++
 xmlhelp/source/cxxhelp/provider/databases.cxx              |    5 +-
 xmlhelp/source/cxxhelp/provider/urlparameter.cxx           |    1 
 6 files changed, 64 insertions(+), 18 deletions(-)

New commits:
commit 7e9617c6aeaee27ab2bc9a58c6777a18702e66bb
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Mon Oct 26 16:21:22 2009 +0000

    CWS-TOOLING: integrate CWS calc32stopper3_OOO320
    2009-10-12 14:26:09 +0200 er  r276833 : disable dump again
    2009-10-12 13:46:57 +0200 er  r276832 : #i102294# setValue: yet another DST glitch
    2009-10-12 13:21:48 +0200 iha  r276828 : #i105767# Y axis vanishes in case of zero rotated axis title
    2009-10-08 01:49:20 +0200 er  r276772 : NextSymbol: actually do reset ODF reference detection on file/sheet separator
    2009-10-08 00:18:58 +0200 er  r276771 : #i101639# use TabIDs in cached RangeArrays, not RefData Tabs
    2009-10-07 19:25:47 +0200 er  r276767 : #i105200# UpdateBroadcastAreas: hash key changes, remove area from all slots and reinsert
    2009-10-05 17:20:44 +0200 er  r276690 : #i105365# SI prefixes for ang, ang3, m/h, m/hr
    2009-10-05 16:21:29 +0200 er  r276686 : #i105161 intersection has higher precedence than union

diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index 5f8fd73..1a2720d 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -1183,10 +1183,10 @@ void FormulaCompiler::RangeLine()
 
 //---------------------------------------------------------------------------
 
-void FormulaCompiler::UnionLine()
+void FormulaCompiler::IntersectionLine()
 {
     RangeLine();
-    while (pToken->GetOpCode() == ocUnion)
+    while (pToken->GetOpCode() == ocIntersect)
     {
         FormulaTokenRef p = pToken;
         NextToken();
@@ -1197,14 +1197,14 @@ void FormulaCompiler::UnionLine()
 
 //---------------------------------------------------------------------------
 
-void FormulaCompiler::IntersectionLine()
+void FormulaCompiler::UnionLine()
 {
-    UnionLine();
-    while (pToken->GetOpCode() == ocIntersect)
+    IntersectionLine();
+    while (pToken->GetOpCode() == ocUnion)
     {
         FormulaTokenRef p = pToken;
         NextToken();
-        UnionLine();
+        IntersectionLine();
         PutCode(p);
     }
 }
@@ -1224,7 +1224,7 @@ void FormulaCompiler::UnaryLine()
         PutCode( p );
     }
     else
-        IntersectionLine();
+        UnionLine();
 }
 
 //---------------------------------------------------------------------------
commit c66bf3407ad679e4c7ea201473c38a7d0cbd84ab
Author: Ivo Hinkelmann <ihi at openoffice.org>
Date:   Mon Oct 26 15:32:52 2009 +0000

    CWS-TOOLING: integrate CWS fwk123_OOO320
    2009-10-14 10:18:49 +0200 cd  r276885 : #i99971# Use AttachThreadInput to force SetForegroundWindow
    2009-10-14 08:56:20 +0200 mav  r276881 : #i105476# let the allocated memory live long anough
    2009-10-14 08:53:51 +0200 mav  r276880 : #i105476# let ZipFile use mutex while creating the requested stream
    2009-10-14 08:51:52 +0200 mav  r276879 : #i105476# let buffered IO use mutex ( patch from MHU )
    2009-10-09 12:20:22 +0200 cd  r276803 : #i99971# Use configuration to control window to front/focus handling
    2009-10-09 12:19:22 +0200 cd  r276802 : #i99971# New configuration item to force set focus and window to front for new document windows
    2009-10-09 12:18:23 +0200 cd  r276801 : #i99971# Introduction of a new show flag to force window to front
    2009-10-06 11:04:16 +0200 ab  r276695 : #i105386# Call xmlInitParser() before registering input callbacks

diff --git a/framework/source/helper/statusindicatorfactory.cxx b/framework/source/helper/statusindicatorfactory.cxx
index a6256c7..d9ba66f 100644
--- a/framework/source/helper/statusindicatorfactory.cxx
+++ b/framework/source/helper/statusindicatorfactory.cxx
@@ -67,6 +67,7 @@
 // includes of other projects
 #include <comphelper/sequenceashashmap.hxx>
 #include <comphelper/mediadescriptor.hxx>
+#include <comphelper/configurationhelper.hxx>
 #include <vcl/svapp.hxx>
 #include <vos/mutex.hxx>
 
@@ -361,6 +362,7 @@ void StatusIndicatorFactory::implts_makeParentVisibleIfAllowed()
 
     css::uno::Reference< css::frame::XFrame > xFrame      (m_xFrame.get()      , css::uno::UNO_QUERY);
     css::uno::Reference< css::awt::XWindow >  xPluggWindow(m_xPluggWindow.get(), css::uno::UNO_QUERY);
+    css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR( m_xSMGR.get(), css::uno::UNO_QUERY);
 
     aReadLock.unlock();
     // <- SAFE ----------------------------------
@@ -432,8 +434,21 @@ void StatusIndicatorFactory::implts_makeParentVisibleIfAllowed()
     // is visible too.
     impl_showProgress();
 
-    if (xParentWindow.is())
-        xParentWindow->setVisible(sal_True);
+    ::vos::OClearableGuard aSolarGuard(Application::GetSolarMutex());
+    Window* pWindow = VCLUnoHelper::GetWindow(xParentWindow);
+    if ( pWindow )
+    {
+        bool bForceFrontAndFocus(false);
+        ::comphelper::ConfigurationHelper::readDirectKey(
+            xSMGR,
+            ::rtl::OUString::createFromAscii("org.openoffice.Office.Common/View"),
+            ::rtl::OUString::createFromAscii("NewDocumentHandling"),
+            ::rtl::OUString::createFromAscii("ForceFocusAndToFront"),
+            ::comphelper::ConfigurationHelper::E_READONLY) >>= bForceFrontAndFocus;
+
+        pWindow->Show(sal_True, bForceFrontAndFocus ? SHOW_FOREGROUNDTASK : 0 );
+    }
+
     /*
     #i75167# dont disturb window manager handling .-)
     css::uno::Reference< css::awt::XTopWindow > xParentWindowTop(xParentWindow, css::uno::UNO_QUERY);
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index ed86195..d131a3b 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -1740,14 +1740,28 @@ void LoadEnv::impl_reactForLoadingState()
 void LoadEnv::impl_makeFrameWindowVisible(const css::uno::Reference< css::awt::XWindow >& xWindow      ,
                                                 sal_Bool bForceToFront)            
 {
-    css::uno::Reference< css::awt::XTopWindow > xTopWindow(xWindow, css::uno::UNO_QUERY);
-
-    if (xWindow.is())
-        xWindow->setVisible(sal_True);
-
-    if (xTopWindow.is() && bForceToFront)
-        xTopWindow->toFront();
+    // SAFE -> ----------------------------------
+    ReadGuard aReadLock(m_aLock);
+    css::uno::Reference< css::lang::XMultiServiceFactory > xSMGR( m_xSMGR.get(), css::uno::UNO_QUERY );
+    aReadLock.unlock();
+    // <- SAFE ----------------------------------
 
+    ::vos::OClearableGuard aSolarGuard(Application::GetSolarMutex());
+    Window* pWindow = VCLUnoHelper::GetWindow(xWindow);
+    if ( pWindow )
+    {
+        bool bForceFrontAndFocus(false);
+        css::uno::Any a = ::comphelper::ConfigurationHelper::readDirectKey(
+            xSMGR,
+            ::rtl::OUString::createFromAscii("org.openoffice.Office.Common/View"),
+            ::rtl::OUString::createFromAscii("NewDocumentHandling"),
+            ::rtl::OUString::createFromAscii("ForceFocusAndToFront"),
+            ::comphelper::ConfigurationHelper::E_READONLY);
+        a >>= bForceFrontAndFocus;
+
+        pWindow->Show(sal_True, (bForceFrontAndFocus || bForceToFront) ? SHOW_FOREGROUNDTASK : 0 );
+    }
+    
 /* #i19976#
     We tried to prevent a toFront() call in case the user putted the
     loading document into the background ..
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 72c0b76..f816a55 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -2105,7 +2105,7 @@ Dymamic border coloring means that when the mouse is hovered over a control, and
 				</info>
 			</set>
 		</group>
-        <group oor:name="Save">
+    <group oor:name="Save">
 			<info>
 				<author>MBA</author>
 				<desc>Contains general settings about the saving process.</desc>
@@ -2616,6 +2616,19 @@ Dymamic border coloring means that when the mouse is hovered over a control, and
 				</constraints>
 				<value>0</value>
 			</prop>
+			<group oor:name="NewDocumentHandling">
+				<info>
+					<author>CD</author>
+					<desc>Contains settings to change new document window behavior.</desc>
+				</info>
+				<prop oor:name="ForceFocusAndToFront" oor:type="xs:boolean">
+					<info>
+						<author>CD</author>
+						<desc>Every new document window will be forced to front and grabs the focus.</desc>
+					</info>
+					<value>true</value>
+				</prop>
+			</group>
 			<group oor:name="AppWindow">
 				<info>
 					<author>MBA</author>
diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx b/xmlhelp/source/cxxhelp/provider/databases.cxx
index e4ab2e1..a03f501 100644
--- a/xmlhelp/source/cxxhelp/provider/databases.cxx
+++ b/xmlhelp/source/cxxhelp/provider/databases.cxx
@@ -802,6 +802,10 @@ void KeywordInfo::KeywordElement::init( Databases *pDatabases,Db* pDb,const rtl:
 
     for( sal_uInt32 i = 0; i < id.size(); ++i )
     {
+        // the following object must live longer than the
+        // pointer returned by aDBData.getData()
+        DBData aDBData;
+
         listId[i] = id[i];
         listAnchor[i] = anchor[i];
 
@@ -813,7 +817,6 @@ void KeywordInfo::KeywordElement::init( Databases *pDatabases,Db* pDb,const rtl:
             DBHelp* pDBHelp = pDb->getDBHelp();
             if( pDBHelp != NULL )
             {
-                DBData aDBData;
                 bool bSuccess = pDBHelp->getValueForKey( idi, aDBData );
                 if( bSuccess )
                 {
diff --git a/xmlhelp/source/cxxhelp/provider/urlparameter.cxx b/xmlhelp/source/cxxhelp/provider/urlparameter.cxx
index f597429..50c2bdb 100644
--- a/xmlhelp/source/cxxhelp/provider/urlparameter.cxx
+++ b/xmlhelp/source/cxxhelp/provider/urlparameter.cxx
@@ -1080,6 +1080,7 @@ InputStreamTransformer::InputStreamTransformer( URLParameter* urlParam,
 
         ugblData = &userData;
 
+        xmlInitParser();
         xmlRegisterInputCallbacks(zipMatch, zipOpen, zipRead, uriClose);
         xmlRegisterInputCallbacks(helpMatch, helpOpen, helpRead, uriClose);
         xmlRegisterInputCallbacks(fileMatch, fileOpen, fileRead, fileClose);


More information about the ooo-build-commit mailing list