[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-4.2' - 8 commits - connectivity/source fpicker/source oox/source sal/osl sal/qa sal/rtl sc/source swext/mediawiki writerfilter/source

Julien Nabet serval2412 at yahoo.fr
Tue Jul 22 02:43:13 PDT 2014


 connectivity/source/parse/sqlbison.y                |    8 +-
 fpicker/source/win32/filepicker/WinFileOpenImpl.cxx |   17 +++--
 oox/source/drawingml/textrun.cxx                    |    3 -
 sal/osl/all/debugbase.cxx                           |   30 ++--------
 sal/qa/osl/file/osl_File.cxx                        |    4 -
 sal/qa/osl/module/osl_Module.cxx                    |    8 +-
 sal/qa/osl/mutex/osl_Mutex.cxx                      |    2 
 sal/qa/osl/process/osl_Thread.cxx                   |    2 
 sal/qa/osl/security/osl_Security.cxx                |    2 
 sal/rtl/alloc_global.cxx                            |    6 +-
 sal/rtl/hash.cxx                                    |    4 -
 sal/rtl/uri.cxx                                     |    2 
 sc/source/ui/dbgui/validate.cxx                     |   27 +++++++--
 sc/source/ui/inc/validate.hxx                       |    2 
 swext/mediawiki/src/filter/odt2mediawiki.xsl        |   59 +++++++++++++++++---
 writerfilter/source/rtftok/rtfdocumentimpl.cxx      |    2 
 16 files changed, 114 insertions(+), 64 deletions(-)

New commits:
commit 504a70f2b8919203448813800e45aa46295c2f46
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Mon Jul 21 11:36:27 2014 +0200

    Resolves fdo#81581: Mediawiki doesn't recognize underlining
    
    Cherry-picked from b8f4db5bad245c2e340b3217b10df994785eecd3
    
    Change-Id: I27ec27bd733e5161bbd18ba7cf813daa3ac6c089
    Reviewed-on: https://gerrit.libreoffice.org/10438
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/swext/mediawiki/src/filter/odt2mediawiki.xsl b/swext/mediawiki/src/filter/odt2mediawiki.xsl
index 64474b3..1205536 100644
--- a/swext/mediawiki/src/filter/odt2mediawiki.xsl
+++ b/swext/mediawiki/src/filter/odt2mediawiki.xsl
@@ -118,23 +118,26 @@
 	<!-- Italic character style. -->
 	<variable name="ITALIC_BIT" select="2"/>
 
+	<!-- Underline character style. -->
+	<variable name="UNDERLINE_BIT" select="4"/>
+
 	<!-- Subscript character style. -->
-	<variable name="SUBSCRIPT_BIT" select="4"/>
+	<variable name="SUBSCRIPT_BIT" select="8"/>
 
 	<!-- Superscript character style. -->
-	<variable name="SUPERSCRIPT_BIT" select="8"/>
+	<variable name="SUPERSCRIPT_BIT" select="16"/>
 
 	<!-- Typewriter character style. -->
-	<variable name="TYPEWRITER_BIT" select="16"/>
+	<variable name="TYPEWRITER_BIT" select="32"/>
 	
 	<!-- Preformatted text paragraph style. -->
-	<variable name="CODE_BIT" select="32"/>
+	<variable name="CODE_BIT" select="64"/>
 
 	<!-- Centered paragraph style. -->
-	<variable name="CENTER_BIT" select="64"/>
+	<variable name="CENTER_BIT" select="128"/>
 
 	<!-- Right aligned paragraph style. -->
-	<variable name="RIGHT_BIT" select="128"/>
+	<variable name="RIGHT_BIT" select="256"/>
 	
 	<!-- Constant defining the empty style. -->
 	<variable name="NO_STYLE" select="0"/>
@@ -976,6 +979,8 @@
 					select="($style mod (2 * $BOLD_BIT)) != 0"/>
 				<variable name="italic" 
 					select="($style mod (2 * $ITALIC_BIT)) - ($style mod ($ITALIC_BIT)) != 0"/>
+				<variable name="underline" 
+					select="($style mod (2 * $UNDERLINE_BIT)) - ($style mod ($UNDERLINE_BIT)) != 0"/>
 				<variable name="superscript" 
 					select="($style mod (2 * $SUPERSCRIPT_BIT)) - ($style mod ($SUPERSCRIPT_BIT)) != 0"/>
 				<variable name="subscript" 
@@ -989,6 +994,8 @@
 					select="($style-left mod (2 * $BOLD_BIT)) != 0"/>
 				<variable name="italic-left" 
 					select="($style-left mod (2 * $ITALIC_BIT)) - ($style-left mod ($ITALIC_BIT)) != 0"/>
+				<variable name="underline-left" 
+					select="($style-left mod (2 * $UNDERLINE_BIT)) - ($style-left mod ($UNDERLINE_BIT)) != 0"/>
 				<variable name="superscript-left" 
 					select="($style-left mod (2 * $SUPERSCRIPT_BIT)) - ($style-left mod ($SUPERSCRIPT_BIT)) != 0"/>
 				<variable name="subscript-left" 
@@ -1000,6 +1007,8 @@
 					select="($style-right mod (2 * $BOLD_BIT)) != 0"/>
 				<variable name="italic-right" 
 					select="($style-right mod (2 * $ITALIC_BIT)) - ($style-right mod ($ITALIC_BIT)) != 0"/>
+				<variable name="underline-right" 
+					select="($style-right mod (2 * $UNDERLINE_BIT)) - ($style-right mod ($UNDERLINE_BIT)) != 0"/>
 				<variable name="superscript-right" 
 					select="($style-right mod (2 * $SUPERSCRIPT_BIT)) - ($style-right mod ($SUPERSCRIPT_BIT)) != 0"/>
 				<variable name="subscript-right" 
@@ -1027,6 +1036,9 @@
 				<if test="not($code) and $typewriter and not($typewriter-left)">
 					<text><tt></text>
 				</if>
+				<if test="$underline and not($underline-left)">
+					<text><u></text>
+				</if>
 				<if test="$bold and not($bold-left)">
 					<text>'''</text>
 				</if>
@@ -1044,6 +1056,9 @@
 				<if test="$bold and not($bold-right)">
 					<text>'''</text>
 				</if>
+				<if test="$underline and not($underline-right)">
+					<text></u></text>
+				</if>
 				<if test="not($code) and $typewriter and not($typewriter-right)">
 					<text></tt></text>
 				</if>
@@ -1255,6 +1270,8 @@
 			select="($style-mask mod (2 * $BOLD_BIT)) = 0"/>
 		<variable name="italic-requested" 
 			select="($style-mask mod (2 * $ITALIC_BIT)) - ($style-mask mod ($ITALIC_BIT)) = 0"/>
+		<variable name="underline-requested" 
+			select="($style-mask mod (2 * $UNDERLINE_BIT)) - ($style-mask mod ($UNDERLINE_BIT)) = 0"/>
 		<variable name="superscript-requested" 
 			select="($style-mask mod (2 * $SUPERSCRIPT_BIT)) - ($style-mask mod ($SUPERSCRIPT_BIT)) = 0"/>
 		<variable name="subscript-requested" 
@@ -1321,6 +1338,32 @@
 			</choose>
 		</variable>
 
+		<variable name="underline-style">
+			<choose>
+				<when test="$underline-requested and boolean($text-properties/@style:text-underline-style='solid')">
+					<!-- Underline found in current style. -->
+					<value-of select="$UNDERLINE_BIT"/>
+				</when>
+				<otherwise>
+					<value-of select="$NO_STYLE"/>
+				</otherwise>
+			</choose>
+		</variable>
+		<variable name="underline-mask">
+			<choose>
+				<when test="$underline-requested and boolean($text-properties/@style:text-underline-style='solid')">
+					<!-- 
+						Other value than "underline" means that the character style is not 
+						underline and no parent style must be considered.
+					-->
+					<value-of select="$UNDERLINE_BIT"/>
+				</when>
+				<otherwise>
+					<value-of select="$NO_STYLE"/>
+				</otherwise>
+			</choose>
+		</variable>
+
 		<variable name="superscript-style">
 			<choose>
 				<when test="$superscript-requested and contains($text-properties/@style:text-position, 'super')">
@@ -1473,9 +1516,9 @@
 			guaranteed to be disjoint, therefore, addition can be use instead 
 			of bitwise or (which is missing in XPath). -->
 		<variable name="updated-style" 
-			select="$style-set + $bold-style + $italic-style + $superscript-style + $subscript-style + $code-style + $typewriter-style + $center-style + $right-style"/>
+			select="$style-set + $bold-style + $italic-style + $underline-style + $superscript-style + $subscript-style + $code-style + $typewriter-style + $center-style + $right-style"/>
 		<variable name="updated-mask" 
-			select="$style-mask + $bold-mask + $italic-mask + $superscript-mask + $subscript-mask + $code-mask + $typewriter-mask + $center-mask + $right-mask"/>
+			select="$style-mask + $bold-mask + $italic-mask + $underline-mask + $superscript-mask + $subscript-mask + $code-mask + $typewriter-mask + $center-mask + $right-mask"/>
 
 		<!-- Inspect linked and nested styles. -->
 		<choose>
commit 2115f27d792d83bffc2212ce7f50b03b5677ec71
Author: Aurimas Fišeras <aurimas at members.fsf.org>
Date:   Mon Jul 21 10:43:42 2014 +0300

    fdo#74295 win32 fpicker: correctly set the default file name
    
    Revert "Cleaning: remove use of old edt1 from dlg.h (Windows)"
    This reverts commit e9fd9c25269abe171e5f693a8c70b33ab5a01c85.
    
    Reviewed-on: https://gerrit.libreoffice.org/10429
    Reviewed-on: https://gerrit.libreoffice.org/10430
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>
    (cherry picked from commit a37d99eb176d0a302f92af287cc0d19ba2663bbc)
    (cherry picked from commit bb4ffcdf9a3682f13f0145055f81921a764c36f3)
    Signed-off-by: Andras Timar <andras.timar at collabora.com>
    (cherry picked from commit 6466d0fec06e095bc596593357846802a24bb4af)
    Signed-off-by: Andras Timar <andras.timar at collabora.com>

diff --git a/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx b/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx
index ee2760b..66e6caa 100644
--- a/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx
+++ b/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx
@@ -584,7 +584,7 @@ void SAL_CALL CWinFileOpenImpl::InitControlLabel(HWND hWnd)
 // Our approach is to align all static text controls with the
 // static text control "File name" of the FileOpen dialog,
 // all checkboxes and all list/comboboxes will be left aligned with
-// the standard combobox cmb13 (defined in MS platform sdk dlgs.h)
+// the standard combobox edt1/cmb13 (defined in MS platform sdk dlgs.h)
 // and all push buttons will be left aligned with the standard
 // "OK" button
 //-----------------------------------------------------------------
@@ -689,6 +689,8 @@ void CWinFileOpenImpl::EnlargeStdControlLabels() const
     HWND hFilterBoxLabel = GetDlgItem(m_hwndFileOpenDlg, stc2);
     HWND hFileNameBoxLabel = GetDlgItem(m_hwndFileOpenDlg, stc3);
     HWND hFileNameBox = GetDlgItem(m_hwndFileOpenDlg, cmb13);
+    if (!hFileNameBox)
+        hFileNameBox = GetDlgItem(m_hwndFileOpenDlg, edt1); // since Win2k it is cmb13 or edt1
 
     HWND hFilterBox = GetDlgItem(m_hwndFileOpenDlg, cmb1);
     HWND hOkButton = GetDlgItem(m_hwndFileOpenDlg, IDOK);
@@ -983,12 +985,15 @@ void SAL_CALL CWinFileOpenImpl::InitialSetDefaultName()
     // open dialog (reason: see above setDefaultName)
     if (m_bInitialSelChanged && m_defaultName.getLength())
     {
-        // from W2k there is a combobox instead
+        // under W2k by default there is a combobox instead
         // of an edit field for the file name edit field
-        // So the control id of this box is cmb13 and not
-        // edt1 as before
-        HWND hwndEdt1 = GetDlgItem(m_hwndFileOpenDlg, cmb13);
-        SetWindowText(hwndEdt1, reinterpret_cast<LPCTSTR>(m_defaultName.getStr()));
+        // the control id of this box is cmb13 and not
+        // edt1 as before.
+        // However, edt1 is still possible. See fdo#74295
+        HWND hFileNameBox = GetDlgItem(m_hwndFileOpenDlg, cmb13);
+        if (!hFileNameBox)
+            hFileNameBox = GetDlgItem(m_hwndFileOpenDlg, edt1);
+        SetWindowText(hFileNameBox, reinterpret_cast<LPCTSTR>(m_defaultName.getStr()));
     }
 
     m_bInitialSelChanged = sal_False;
commit a2be3fd31184ff0ba73f1603f762ab78bb206405
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Mar 25 12:18:05 2014 +0100

    Adapt to sal/log.hxx
    
    (cherry picked from commit 3c5d30c03b4b2d2c4d38d602afc839e7a922bca3)
    Signed-off-by: Michael Stahl <mstahl at redhat.com>
    
    Note: this avoids an abort() in smoketest due to leaking
    SvxUnoTextRangeBase
    
    Change-Id: I9c59495977e111d94077470f07591c91fa3c1665

diff --git a/sal/osl/all/debugbase.cxx b/sal/osl/all/debugbase.cxx
index 57238ce..75cd846 100644
--- a/sal/osl/all/debugbase.cxx
+++ b/sal/osl/all/debugbase.cxx
@@ -23,18 +23,10 @@
 #include "rtl/ustring.hxx"
 #include "osl/process.h"
 #include "osl/diagnose.hxx"
+#include "sal/log.hxx"
 #include "boost/bind.hpp"
 #include <vector>
 
-// define own ones, independent of OSL_DEBUG_LEVEL:
-#define DEBUGBASE_ENSURE_(c, f, l, m) \
-    do \
-    {  \
-        if (!(c) && _OSL_GLOBAL osl_assertFailedLine(f, l, m)) \
-            _OSL_GLOBAL osl_breakDebug(); \
-    } while (false)
-#define DEBUGBASE_ENSURE(c, m) DEBUGBASE_ENSURE_(c, OSL_THIS_FILE, __LINE__, m)
-
 namespace {
 
 typedef std::vector<rtl::OString, rtl::Allocator<rtl::OString> > OStringVec;
@@ -118,16 +110,10 @@ bool SAL_CALL osl_detail_ObjectRegistry_checkObjectCount(
         nSize = static_cast<std::size_t>(rData.m_nCount);
 
     bool const bRet = (nSize == nExpected);
-    if (! bRet) {
-        rtl::OStringBuffer buf;
-        buf.append( "unexpected number of " );
-        buf.append( rData.m_pName );
-        buf.append( ": " );
-        buf.append( static_cast<sal_Int64>(nSize) );
-        buf.append("; Expected: ");
-        buf.append( static_cast<sal_Int64>(nExpected) );
-        DEBUGBASE_ENSURE( false, buf.makeStringAndClear().getStr() );
-    }
+    SAL_WARN_IF(
+        !bRet, "sal.osl",
+        "unexpected number of " << rData.m_pName << ": " << nSize
+            << "; Expected: " << nExpected);
     return bRet;
 }
 
@@ -139,8 +125,7 @@ void SAL_CALL osl_detail_ObjectRegistry_registerObject(
         osl::MutexGuard const guard( osl_detail_ObjectRegistry_getMutex() );
         std::pair<osl::detail::VoidPointerSet::iterator, bool> const insertion(
             rData.m_addresses.insert(pObj) );
-        DEBUGBASE_ENSURE( insertion.second, "### insertion failed!?" );
-        static_cast<void>(insertion);
+        SAL_WARN_IF(!insertion.second, "sal.osl", "insertion failed!?");
     }
     else {
         osl_atomic_increment(&rData.m_nCount);
@@ -154,8 +139,7 @@ void SAL_CALL osl_detail_ObjectRegistry_revokeObject(
     if (rData.m_bStoreAddresses) {
         osl::MutexGuard const guard( osl_detail_ObjectRegistry_getMutex() );
         std::size_t const n = rData.m_addresses.erase(pObj);
-        DEBUGBASE_ENSURE( n == 1, "erased more than 1 entry!?" );
-        static_cast<void>(n);
+        SAL_WARN_IF(n != 1, "sal.osl", "erased more than 1 entry!?");
     }
     else {
         osl_atomic_decrement(&rData.m_nCount);
commit 78fa8d7b05cad951a6ed7db3a8a60372a02f6994
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Jan 28 20:00:40 2014 +0100

    bool improvements
    
    Change-Id: I7ae2b02e435d21390843c6c56877a8ce3a73f9f2
    (cherry picked from commit bd4053f895167978978023309925c85c3826b31a)
    Signed-off-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sal/osl/all/debugbase.cxx b/sal/osl/all/debugbase.cxx
index 8bc0c46..57238ce 100644
--- a/sal/osl/all/debugbase.cxx
+++ b/sal/osl/all/debugbase.cxx
@@ -32,7 +32,7 @@
     {  \
         if (!(c) && _OSL_GLOBAL osl_assertFailedLine(f, l, m)) \
             _OSL_GLOBAL osl_breakDebug(); \
-    } while (0)
+    } while (false)
 #define DEBUGBASE_ENSURE(c, m) DEBUGBASE_ENSURE_(c, OSL_THIS_FILE, __LINE__, m)
 
 namespace {
diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx
index 43f255c..54055fe 100644
--- a/sal/qa/osl/file/osl_File.cxx
+++ b/sal/qa/osl/file/osl_File.cxx
@@ -2587,7 +2587,7 @@ namespace osl_FileStatus
                 ::osl::FileBase::RC nError1 = testDirectory.open();
             ::rtl::OUString aFileName ("link.file");
             sal_Bool bOk = sal_False;
-            while (1) {
+            while (true) {
                 nError1 = testDirectory.getNextItem( rItem_link, 4 );
                 if (::osl::FileBase::E_None == nError1) {
                     sal_uInt32 mask_link = osl_FileStatus_Mask_FileName | osl_FileStatus_Mask_LinkTargetURL;
@@ -5639,7 +5639,7 @@ namespace osl_Directory
             CPPUNIT_ASSERT( ::osl::FileBase::E_None == nError1 );
             ::rtl::OUString aFileName ("link.file");
 
-            while (1) {
+            while (true) {
                 nError1 = testDirectory.getNextItem( rItem, 4 );
                 if (::osl::FileBase::E_None == nError1) {
                     ::osl::FileStatus   rFileStatus( osl_FileStatus_Mask_FileName | osl_FileStatus_Mask_Type );
diff --git a/sal/qa/osl/module/osl_Module.cxx b/sal/qa/osl/module/osl_Module.cxx
index d6358d4..ee547fb 100644
--- a/sal/qa/osl/module/osl_Module.cxx
+++ b/sal/qa/osl/module/osl_Module.cxx
@@ -189,7 +189,7 @@ namespace osl_Module
 
             if ( !( bRes ) )
             {
-                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module.",  sal_False  );
+                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module.", false );
             }
 
             ::osl::Module aMod( aFileURL );
@@ -221,7 +221,7 @@ namespace osl_Module
             bRes = osl::Module::getUrlFromAddress( ( void* ) &::osl_Module::testClass::myFunc, aFileURL ) ;
             if ( !( bRes ) )
             {
-                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module.",  sal_False  );
+                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module.", false );
             }
 
             CPPUNIT_ASSERT_MESSAGE( "#test comment#: test get Module URL from address.",
@@ -239,7 +239,7 @@ namespace osl_Module
             bRes = osl::Module::getUrlFromAddress( ( void* )pFunc, aFileURL );
             if ( !( bRes  ) )
             {
-                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module.",  sal_False  );
+                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module.", false );
             }
             aMod.unload( );
 
@@ -325,7 +325,7 @@ namespace osl_Module
             bRes = osl::Module::getUrlFromAddress( ( void* ) &::osl_Module::testClass::myFunc, aFileURL );
             if ( !( bRes  ) )
             {
-                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module - using executable instead",  sal_False  );
+                CPPUNIT_ASSERT_MESSAGE("Cannot locate current module - using executable instead", false );
             }
 
             ::osl::Module aMod;
diff --git a/sal/qa/osl/mutex/osl_Mutex.cxx b/sal/qa/osl/mutex/osl_Mutex.cxx
index 0e9ce85..3f86f9c 100644
--- a/sal/qa/osl/mutex/osl_Mutex.cxx
+++ b/sal/qa/osl/mutex/osl_Mutex.cxx
@@ -732,7 +732,7 @@ namespace osl_ClearableGuard
             // wait 1 second to assure the child thread has begun
             ThreadHelper::thread_sleep(1);
 
-            while (1)
+            while (true)
             {
                 if (aMutex.tryToAcquire() == sal_True)
                 {
diff --git a/sal/qa/osl/process/osl_Thread.cxx b/sal/qa/osl/process/osl_Thread.cxx
index 3e394aa..aeab4e9 100644
--- a/sal/qa/osl/process/osl_Thread.cxx
+++ b/sal/qa/osl/process/osl_Thread.cxx
@@ -626,7 +626,7 @@ namespace osl_Thread
     void suspendCountThread(OCountThread* _pCountThread)
     {
         sal_Int32 nValue = 0;
-        while (1)
+        while (true)
         {
             nValue = _pCountThread->getValue();
             if (nValue >= 3)
diff --git a/sal/qa/osl/security/osl_Security.cxx b/sal/qa/osl/security/osl_Security.cxx
index e9ad1a7..3ad78b0 100644
--- a/sal/qa/osl/security/osl_Security.cxx
+++ b/sal/qa/osl/security/osl_Security.cxx
@@ -280,7 +280,7 @@ namespace osl_Security
             {
                 ::osl::Security aSec;
                 osl_unloadUserProfile(aSec.getHandle());
-                CPPUNIT_ASSERT_MESSAGE( "empty function.", sal_True );
+                CPPUNIT_ASSERT_MESSAGE( "empty function.", true );
             }
 
         CPPUNIT_TEST_SUITE( UserProfile );
diff --git a/sal/rtl/alloc_global.cxx b/sal/rtl/alloc_global.cxx
index 8194b13..07cded3 100644
--- a/sal/rtl/alloc_global.cxx
+++ b/sal/rtl/alloc_global.cxx
@@ -291,7 +291,7 @@ void* SAL_CALL rtl_allocateMemory (sal_Size n) SAL_THROW_EXTERN_C()
         n >= SAL_MAX_INT32, "sal.rtl",
         "suspicious massive alloc " << n);
 #if !defined(FORCE_SYSALLOC)
-    while (1)
+    while (true)
     {
         if (alloc_mode == AMode_CUSTOM)
         {
@@ -314,7 +314,7 @@ void* SAL_CALL rtl_reallocateMemory (void * p, sal_Size n) SAL_THROW_EXTERN_C()
         n >= SAL_MAX_INT32, "sal.rtl",
         "suspicious massive alloc " << n);
 #if !defined(FORCE_SYSALLOC)
-    while (1)
+    while (true)
     {
         if (alloc_mode == AMode_CUSTOM)
         {
@@ -334,7 +334,7 @@ void* SAL_CALL rtl_reallocateMemory (void * p, sal_Size n) SAL_THROW_EXTERN_C()
 void SAL_CALL rtl_freeMemory (void * p) SAL_THROW_EXTERN_C()
 {
 #if !defined(FORCE_SYSALLOC)
-    while (1)
+    while (true)
     {
         if (alloc_mode == AMode_CUSTOM)
         {
diff --git a/sal/rtl/hash.cxx b/sal/rtl/hash.cxx
index 823e56a..47e8681 100644
--- a/sal/rtl/hash.cxx
+++ b/sal/rtl/hash.cxx
@@ -139,9 +139,9 @@ static int
 compareEqual (rtl_uString *pStringA, rtl_uString *pStringB)
 {
     if (pStringA == pStringB)
-        return 1;
+        return true;
     if (pStringA->length != pStringB->length)
-        return 0;
+        return false;
     return !rtl_ustr_compare_WithLength( pStringA->buffer, pStringA->length,
                                          pStringB->buffer, pStringB->length);
 }
diff --git a/sal/rtl/uri.cxx b/sal/rtl/uri.cxx
index 7e4402f..513fb51 100644
--- a/sal/rtl/uri.cxx
+++ b/sal/rtl/uri.cxx
@@ -142,7 +142,7 @@ sal_uInt32 readUcs4(sal_Unicode const ** pBegin, sal_Unicode const * pEnd,
                         || nWeight1 > 11
                         || (nWeight2 = getHexWeight(p[2])) < 0)
                     {
-                        bUTF8 = sal_False;
+                        bUTF8 = false;
                         break;
                     }
                     p += 3;
commit 91a731fa8c5b3d0e5f6a2c69a78794c4b086f7c7
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 13:14:19 2014 +0100

    Resolves: rhbz#1121341 crash on closing shrunk validity window
    
    Change-Id: I5fc1d6b909b3281ec3799b60bc3fd7b5f1163a75
    Reviewed-on: https://gerrit.libreoffice.org/10439
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx
index f40981c..49e0bce 100644
--- a/sc/source/ui/dbgui/validate.cxx
+++ b/sc/source/ui/dbgui/validate.cxx
@@ -151,12 +151,14 @@ void            ScTPValidationValue::RefInputDonePostHdl()
 
 }
 
-
 sal_Bool ScValidationDlg::Close()
 {
-    if( m_bOwnRefHdlr )
-        if( SfxTabPage* pPage = GetTabPage( TP_VALIDATION_VALUES ) )
-            static_cast<ScTPValidationValue*>(pPage)->RemoveRefDlg();
+    SfxTabPage* pPage = GetTabPage(TP_VALIDATION_VALUES);
+    if (pPage)
+        static_cast<ScTPValidationValue*>(pPage)->ParkRefs();
+
+    if (m_bOwnRefHdlr && pPage)
+        static_cast<ScTPValidationValue*>(pPage)->RemoveRefDlg();
 
     return ScValidationDlgBase::Close();
 }
@@ -168,7 +170,6 @@ ScValidationDlg::~ScValidationDlg()
     delete mpHBox;
 }
 
-
 // ============================================================================
 
 namespace {
@@ -338,6 +339,22 @@ ScTPValidationValue::ScTPValidationValue( Window* pParent, const SfxItemSet& rAr
     m_btnRef.Hide(); // cell range picker
 }
 
+void ScTPValidationValue::ParkRefs()
+{
+    //if there are children of the mpHBox, i.e.
+    //in shrunk mode, this will crash
+    //after the mpHBox is deleted
+    if( m_pRefEdit && m_pRefEdit->GetParent()!= this )
+    {
+        m_pRefEdit->SetParent( this );
+    }
+
+    if( m_btnRef.GetParent()!=this )
+    {
+        m_btnRef.SetParent( this );
+    }
+}
+
 ScTPValidationValue::~ScTPValidationValue()
 {
 }
diff --git a/sc/source/ui/inc/validate.hxx b/sc/source/ui/inc/validate.hxx
index 5cac401..12d1cec 100644
--- a/sc/source/ui/inc/validate.hxx
+++ b/sc/source/ui/inc/validate.hxx
@@ -182,6 +182,8 @@ public:
     virtual sal_Bool                FillItemSet( SfxItemSet& rArgSet );
     virtual void                Reset( const SfxItemSet& rArgSet );
 
+    void                        ParkRefs();
+
 private:
     void                        Init();
 
commit b1840efc0c769e2472ef608e672dd78645c1c7f1
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Jul 18 22:07:02 2014 +0200

    (related: fdo#78502) writerfilter: RTF import: fix invalid string copy
    
    ... in leveltext destination.
    
    Change-Id: I74de6d14170130bf33923854a0c9851dc7cc390f
    (cherry picked from commit b94bd40b915ab32d18d43fc60dfda932e4e00ca8)
    Reviewed-on: https://gerrit.libreoffice.org/10397
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 66abe80..73eb3f2 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -4278,7 +4278,7 @@ int RTFDocumentImpl::popState()
                 // The first character is the length of the string (the rest should be ignored).
                 sal_Int32 nLength(aStr.toChar());
                 OUString aValue;
-                if (nLength <= aStr.getLength())
+        if (nLength < aStr.getLength())
                     aValue = aStr.copy(1, nLength);
                 else
                     aValue = aStr;
commit ef9756a4f68c18bf83cfdab92c7dfd5028c16bb8
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date:   Sat Jul 19 07:45:20 2014 +0200

    fdo#81336 bison priority increase with bigger number
    
    Change-Id: Ib99f08c52379fd9df90c30b61cc246ee53022506
    Reviewed-on: https://gerrit.libreoffice.org/10403
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/connectivity/source/parse/sqlbison.y b/connectivity/source/parse/sqlbison.y
index 3484b0d..0a3772f 100644
--- a/connectivity/source/parse/sqlbison.y
+++ b/connectivity/source/parse/sqlbison.y
@@ -1155,12 +1155,12 @@ search_condition:
 		}
 	;
 predicate:
-		comparison_predicate     %dprec 2
+		comparison_predicate     %dprec 1
 	|       between_predicate
 	|       all_or_any_predicate
 	|       existence_test
 	|		unique_test
-	|		test_for_null    %dprec 1
+	|		test_for_null    %dprec 2
 	|       in_predicate
 	|       like_predicate
 	;
@@ -3950,11 +3950,11 @@ when_operand_list:
 	;
 when_operand:
 		row_value_constructor_elem
-	|	comparison_predicate_part_2        %dprec 2
+	|	comparison_predicate_part_2        %dprec 1
 	|	between_predicate_part_2
 	|	in_predicate_part_2
 	|	character_like_predicate_part_2
-	|	null_predicate_part_2              %dprec 1
+	|	null_predicate_part_2              %dprec 2
 ;
 searched_when_clause_list:
 		searched_when_clause
commit 60dc2f3a0c2945a7f78bce5e5c50b3f740cfc38f
Author: Matúš Kukan <matus.kukan at collabora.com>
Date:   Fri Jul 18 09:23:17 2014 +0200

    bnc#887230: always use theme color for hyperlinks in Impress
    
    Change-Id: I888f107c61037162439ad2d1ba99ad8185532f71
    (cherry picked from commit 92f74f6ccb5a55807724db85815f7ea0c49370e0)
    Reviewed-on: https://gerrit.libreoffice.org/10383
    Reviewed-by: Andras Timar <andras.timar at collabora.com>
    Tested-by: Andras Timar <andras.timar at collabora.com>

diff --git a/oox/source/drawingml/textrun.cxx b/oox/source/drawingml/textrun.cxx
index c4648c2..6c5259e 100644
--- a/oox/source/drawingml/textrun.cxx
+++ b/oox/source/drawingml/textrun.cxx
@@ -140,8 +140,7 @@ sal_Int32 TextRun::insertAt(
 
                 xTextFieldCursor->gotoEnd( sal_True );
 
-                if ( !maTextCharacterProperties.maCharColor.isUsed() )
-                    aTextCharacterProps.maCharColor.setSchemeClr( XML_hlink );
+                aTextCharacterProps.maCharColor.setSchemeClr( XML_hlink );
                 if ( !maTextCharacterProperties.moUnderline.has() )
                     aTextCharacterProps.moUnderline.set( XML_sng );
 


More information about the Libreoffice-commits mailing list