[ooo-build-commit] Branch 'ooo/OOO320' - 2 commits - tools/source tools/workben vcl/source vcl/unx

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Jan 8 18:55:26 PST 2010


 tools/source/fsys/urlobj.cxx         |   18 +++++++----------
 tools/workben/urltest.cxx            |   14 +++++++++++++
 vcl/source/helper/xconnection.cxx    |   36 +++++++++++++++++++++++++++++++----
 vcl/unx/source/app/saldisp.cxx       |    6 -----
 vcl/unx/source/plugadapt/salplug.cxx |    4 ++-
 5 files changed, 58 insertions(+), 20 deletions(-)

New commits:
commit e25c9f92d07da99159c99bd98ba3d8331e24f834
Author: Oliver Bolte <obo at openoffice.org>
Date:   Fri Jan 8 15:05:02 2010 +0000

    CWS-TOOLING: integrate CWS fwk135
    2010-01-07 17:18:32 +0100 sb  r277881 : #i53184# further fix in INetURLObject::setAbsURIRef for UNC server names containing underscores

diff --git a/tools/source/fsys/urlobj.cxx b/tools/source/fsys/urlobj.cxx
index 4129559..05225a6 100644
--- a/tools/source/fsys/urlobj.cxx
+++ b/tools/source/fsys/urlobj.cxx
@@ -1022,16 +1022,14 @@ bool INetURLObject::setAbsURIRef(rtl::OUString const & rTheAbsURIRef,
                     if (pEnd - pPos >= 2 && pPos[0] == '/' && pPos[1] == '/')
                     {
                         sal_Unicode const * p1 = pPos + 2;
-                        if (
-                             p1 == pEnd || *p1 == nFragmentDelimiter || *p1 == '/' || 
-                             (
-                               (
-                                 scanDomain(p1, pEnd) > 0 ||
-                                 scanIPv6reference(p1, pEnd)
-                               ) &&
-                               (p1 == pEnd || *p1 == nFragmentDelimiter || *p1 == '/')
-                             )
-                           )
+                        while (p1 != pEnd && *p1 != '/' &&
+                               *p1 != nFragmentDelimiter)
+                        {
+                            ++p1;
+                        }
+                        if (parseHostOrNetBiosName(
+                                pPos + 2, p1, bOctets, ENCODE_ALL,
+                                RTL_TEXTENCODING_DONTKNOW, true, NULL))
                         {
                             aSynAbsURIRef.
                                 appendAscii(RTL_CONSTASCII_STRINGPARAM("//"));
diff --git a/tools/workben/urltest.cxx b/tools/workben/urltest.cxx
index 591e3ee..01948e2 100644
--- a/tools/workben/urltest.cxx
+++ b/tools/workben/urltest.cxx
@@ -1629,6 +1629,20 @@ main()
             rtl::OUString(urlobj.GetMainURL(INetURLObject::NO_DECODE)));
     }
 
+    if (true) { // #i53184#
+        rtl::OUString url(RTL_CONSTASCII_USTRINGPARAM("file://comp_name/path"));
+        bSuccess &= assertEqual(
+            rtl::OUString(
+                RTL_CONSTASCII_USTRINGPARAM("#i53184# smart INET_PROT_FILE")),
+            INetURLObject(url, INET_PROT_FILE).GetMainURL(
+                INetURLObject::NO_DECODE),
+            url);
+        bSuccess &= assertEqual(
+            rtl::OUString(
+                RTL_CONSTASCII_USTRINGPARAM("#i53184# strict")),
+            INetURLObject(url).GetMainURL(INetURLObject::NO_DECODE), url);
+    }
+
     if (true) {
         rtl::OUString path;
         path = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/a/b/c"));
commit 4c664f1bfa32a647332eb7deb45ecb987c5dbf25
Author: Oliver Bolte <obo at openoffice.org>
Date:   Fri Jan 8 09:22:30 2010 +0000

    CWS-TOOLING: integrate CWS dba32k
    2010-01-07 10:56:59 +0100 fs  r277873 : #i108123# getDataSourcePrefixFromMediaType: care for types where the config says 'no extension', but the actual file contains an extension
    2010-01-05 18:11:23 +0100 pl  r277862 : #i108068# always release solar mutex before calling into UNO
    2010-01-05 12:47:51 +0100 oj  r277856 : #i107793# set props in endDoc
    2010-01-05 09:59:29 +0100 fs  r277852 : #i10000#
    2010-01-05 08:51:21 +0100 oj  r277851 : #i107794# fix for WChar
    2010-01-04 14:58:14 +0100 fs  r277849 : #i108019#
    2010-01-04 14:57:49 +0100 fs  r277848 : #i108040#
    2010-01-04 13:56:14 +0100 fs  r277843 : #i107917# do not access xDataSource for reading, but use getDataSource()
    2010-01-04 12:08:25 +0100 fs  r277841 : #i107845# when composing the new filter, *first* use the old filter, then the new one - order matters
    2010-01-04 11:57:05 +0100 fs  r277840 : manual CWS creation: create CWS dba32k from OOO320_m8 tag

diff --git a/vcl/source/helper/xconnection.cxx b/vcl/source/helper/xconnection.cxx
index 89b6169..94232c5 100644
--- a/vcl/source/helper/xconnection.cxx
+++ b/vcl/source/helper/xconnection.cxx
@@ -30,10 +30,31 @@
 
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_vcl.hxx"
-#include <svsys.h>
-#include <vcl/xconnection.hxx>
-#include <vcl/svdata.hxx>
-#include <vcl/salinst.hxx>
+
+#include "svsys.h"
+#include "vcl/xconnection.hxx"
+#include "vcl/svdata.hxx"
+#include "vcl/salinst.hxx"
+#include "vcl/svapp.hxx"
+
+namespace vcl
+{
+    class SolarMutexReleaser
+    {
+        ULONG mnReleased;
+    public:
+        SolarMutexReleaser()
+        {
+            mnReleased = Application::ReleaseSolarMutex();
+        }
+        
+        ~SolarMutexReleaser()
+        {
+            if( mnReleased )
+                Application::AcquireSolarMutex( mnReleased );
+        }
+    };
+}
 
 using namespace rtl;
 using namespace osl;
@@ -41,6 +62,7 @@ using namespace vcl;
 using namespace com::sun::star::uno;
 using namespace com::sun::star::awt;
 
+
 DisplayConnection::DisplayConnection()
 {
     ImplSVData* pSVData = ImplGetSVData();
@@ -108,6 +130,8 @@ Any SAL_CALL DisplayConnection::getIdentifier() throw()
 
 void DisplayConnection::dispatchDowningEvent()
 {
+    SolarMutexReleaser aRel;
+    
     MutexGuard aGuard( m_aMutex );
     Any aEvent;
     std::list< Reference< XEventHandler > > aLocalList( m_aHandlers );
@@ -117,6 +141,8 @@ void DisplayConnection::dispatchDowningEvent()
 
 bool DisplayConnection::dispatchEvent( void* pThis, void* pData, int nBytes )
 {
+    SolarMutexReleaser aRel;
+
     DisplayConnection* This = (DisplayConnection*)pThis;
     MutexGuard aGuard( This->m_aMutex );
 
@@ -131,6 +157,8 @@ bool DisplayConnection::dispatchEvent( void* pThis, void* pData, int nBytes )
 
 bool DisplayConnection::dispatchErrorEvent( void* pThis, void* pData, int nBytes )
 {
+    SolarMutexReleaser aRel;
+
     DisplayConnection* This = (DisplayConnection*)pThis;
     MutexGuard aGuard( This->m_aMutex );
 
diff --git a/vcl/unx/source/app/saldisp.cxx b/vcl/unx/source/app/saldisp.cxx
index 0c2bc74..b9d3a59 100644
--- a/vcl/unx/source/app/saldisp.cxx
+++ b/vcl/unx/source/app/saldisp.cxx
@@ -2307,11 +2307,7 @@ long SalX11Display::Dispatch( XEvent *pEvent )
             return 0;
 
     SalInstance* pInstance = GetSalData()->m_pInstance;
-    if( pInstance->GetEventCallback() )
-    {
-        YieldMutexReleaser aReleaser;
-        pInstance->CallEventCallback( pEvent, sizeof( XEvent ) );
-    }
+    pInstance->CallEventCallback( pEvent, sizeof( XEvent ) );
 
     switch( pEvent->type )
     {
diff --git a/vcl/unx/source/plugadapt/salplug.cxx b/vcl/unx/source/plugadapt/salplug.cxx
index 2165df6..57251f2 100644
--- a/vcl/unx/source/plugadapt/salplug.cxx
+++ b/vcl/unx/source/plugadapt/salplug.cxx
@@ -219,8 +219,10 @@ SalInstance *CreateSalInstance()
 
     if( !(pUsePlugin && *pUsePlugin) )
         pInst = check_headless_plugin();
+    else
+        pInst = tryInstance( OUString::createFromAscii( pUsePlugin ) );
     
-    if( ! pInst && !(pUsePlugin && *pUsePlugin) )
+    if( ! pInst )
         pInst = autodetect_plugin();
     
     // fallback to gen


More information about the ooo-build-commit mailing list