[Libreoffice-commits] core.git: Branch 'distro/collabora/cp-5.1' - 6 commits - basic/source cui/source sc/source svx/source vcl/source vcl/unx

Caolán McNamara caolanm at redhat.com
Fri Jul 22 13:00:48 UTC 2016


 basic/source/sbx/sbxscan.cxx     |    7 +++++++
 cui/source/options/optpath.cxx   |    1 -
 sc/source/core/tool/interpr4.cxx |    2 +-
 svx/source/fmcomp/gridcell.cxx   |   25 ++++++++++++++++---------
 vcl/source/control/field2.cxx    |    2 +-
 vcl/unx/gtk/a11y/atklistener.cxx |   16 +++++++++++++++-
 6 files changed, 40 insertions(+), 13 deletions(-)

New commits:
commit e81a237a6309c4ca147175770c6c4089b03d53e1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jul 20 13:04:54 2016 +0100

    Resolves: tdf#100845 exception during vcl painting -> std::terminate
    
    GetText throws under the circumstances described in the bug where
    the record is missing
    
    Change-Id: I03b0ce9a19d93a7eb8842831b433b80a20628541
    (cherry picked from commit d8e225304b7c8465f5e7f038ec02270445e1b600)
    Reviewed-on: https://gerrit.libreoffice.org/27341
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 90a26f7501b3829eba28e61f5dbae6ce6927b1f1)

diff --git a/svx/source/fmcomp/gridcell.cxx b/svx/source/fmcomp/gridcell.cxx
index 1daaf35..b939a19 100644
--- a/svx/source/fmcomp/gridcell.cxx
+++ b/svx/source/fmcomp/gridcell.cxx
@@ -3549,17 +3549,24 @@ void FmXTextCell::PaintFieldToCell(OutputDevice& rDev,
             nStyle |= DrawTextFlags::Left;
     }
 
-    Color* pColor = nullptr;
-    OUString aText = GetText(_rxField, xFormatter, &pColor);
-    if (pColor != nullptr)
+    try
     {
-        Color aOldTextColor( rDev.GetTextColor() );
-        rDev.SetTextColor( *pColor );
-        rDev.DrawText(rRect, aText, nStyle);
-        rDev.SetTextColor( aOldTextColor );
+        Color* pColor = nullptr;
+        OUString aText = GetText(_rxField, xFormatter, &pColor);
+        if (pColor != nullptr)
+        {
+            Color aOldTextColor( rDev.GetTextColor() );
+            rDev.SetTextColor( *pColor );
+            rDev.DrawText(rRect, aText, nStyle);
+            rDev.SetTextColor( aOldTextColor );
+        }
+        else
+            rDev.DrawText(rRect, aText, nStyle);
+    }
+    catch (const Exception& e)
+    {
+        SAL_WARN("svx.form", "PaintFieldToCell: caught an exception: " << e.Message);
     }
-    else
-        rDev.DrawText(rRect, aText, nStyle);
 }
 
 FmXEditCell::FmXEditCell( DbGridColumn* pColumn, DbCellControl& _rControl )
commit 16bf1b6da85a59383a7d88fc062cac1d93f6f06e
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Jul 21 11:28:57 2016 +0100

    Resolves: tdf#101011 atk needs a value for accessible-table-column-header
    
    This presumably became a problem after...
    
    commit 76c549eb01dcb7b5bf28a271ce00e386f3d388ba
    Author: Steve Yin <steve_y at apache.org>
    Date:   Fri Nov 29 13:03:27 2013 +0000
    
        Integrate branch of IAccessible2
    
    added a TABLE_COLUMN_HEADER_CHANGED usage which triggered it.
    
    Change-Id: If54b7a39a170566cf7def3548ba385fa5d99bb1c
    (cherry picked from commit 9b47a8b21f87fa77d2d61ac4a2c2bbc7c0d67a19)
    Reviewed-on: https://gerrit.libreoffice.org/27369
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit a768e5b7ff3a4788bbe6d23e427e34e9e81442c1)

diff --git a/vcl/unx/gtk/a11y/atklistener.cxx b/vcl/unx/gtk/a11y/atklistener.cxx
index f9c25fd..b18f927 100644
--- a/vcl/unx/gtk/a11y/atklistener.cxx
+++ b/vcl/unx/gtk/a11y/atklistener.cxx
@@ -520,8 +520,22 @@ void AtkListener::notifyEvent( const accessibility::AccessibleEventObject& aEven
         }
 
         case accessibility::AccessibleEventId::TABLE_COLUMN_HEADER_CHANGED:
-            g_signal_emit_by_name( G_OBJECT( atk_obj ), "property_change::accessible-table-column-header");
+        {
+            accessibility::AccessibleTableModelChange aChange;
+            aEvent.NewValue >>= aChange;
+
+            AtkPropertyValues values;
+            memset(&values,  0, sizeof(AtkPropertyValues));
+            g_value_init (&values.new_value, G_TYPE_INT);
+            values.property_name = "accessible-table-column-header";
+
+            for (sal_Int32 nChangedColumn = aChange.FirstColumn; nChangedColumn <= aChange.LastColumn; ++nChangedColumn)
+            {
+                g_value_set_int (&values.new_value, nChangedColumn);
+                g_signal_emit_by_name(G_OBJECT(atk_obj), "property_change::accessible-table-column-header", &values, nullptr);
+            }
             break;
+        }
 
         case accessibility::AccessibleEventId::TABLE_CAPTION_CHANGED:
             g_signal_emit_by_name( G_OBJECT( atk_obj ), "property_change::accessible-table-caption");
commit 55d0469c8d1a576e9149ad7ddffda5a023b171c3
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Jul 21 21:44:06 2016 +0100

    Resolves: tdf#101054 crash on options->path with non-native file picker
    
    regression from...
    
    commit 3bbc0574d78d129359638b74612de2f93419eeb0
    Author: Caolán McNamara <caolanm at redhat.com>
    Date:   Tue Jul 5 10:16:51 2016 +0100
    
        Resolves: rhbz#1352835 path options doesn't promptly destroy folder picker
    
    only clear the xFolderPicker immediately in the non-async case
    
    Change-Id: Id6a411424d41262a9379ad3eb7976c8dd666a5cf
    (cherry picked from commit c1bd3156cf66318023f36d81ce809a38072588e4)
    Reviewed-on: https://gerrit.libreoffice.org/27418
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Tested-by: Jenkins <ci at libreoffice.org>
    (cherry picked from commit 354c148edce5cafa1efb136630618f3063ce3c99)

diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx
index db2db7c..5b9bfd0 100644
--- a/cui/source/options/optpath.cxx
+++ b/cui/source/options/optpath.cxx
@@ -732,7 +732,6 @@ IMPL_LINK_TYPED( SvxPathTabPage, DialogClosedHdl, DialogClosedEvent*, pEvt, void
         OUString sURL = xFolderPicker->getDirectory();
         ChangeCurrentEntry( sURL );
     }
-    xFolderPicker.clear();
 }
 
 void SvxPathTabPage::GetPathList(
commit 28f26e9719880674b1fb43e13ad6272d285bfb08
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Jul 21 12:18:36 2016 +0100

    Resolves: tdf#100558 last 'section' of date field not incremented
    
    presumably a regression from...
    
    commit 3cad6c806e5247ce20b78eb688551aa5d872b934
    Author: Chr. Rossmanith <ChrRossmanith at gmx.de>
    Date:   Fri Mar 1 21:47:10 2013 +0100
    
        Replace (Xub)String with OUString in vcl(field)
    
    where UniString::Search returned a max short on not-found
    while OUString::indexOf returns a -1
    
    Change-Id: Ia3ef80dd318375ccdb3bdcee9bed7b70bf67cae1
    (cherry picked from commit 82913e694a4169f9ddeef399e659aec78cc9c8d6)
    Reviewed-on: https://gerrit.libreoffice.org/27375
    Reviewed-by: Lionel Elie Mamane <lionel at mamane.lu>
    Tested-by: Jenkins <ci at libreoffice.org>
    (cherry picked from commit 836a7634b2042de4f08fcc2296fc33ca2d040a60)

diff --git a/vcl/source/control/field2.cxx b/vcl/source/control/field2.cxx
index b08bd788..c415b04 100644
--- a/vcl/source/control/field2.cxx
+++ b/vcl/source/control/field2.cxx
@@ -1343,7 +1343,7 @@ void DateField::ImplDateSpinArea( bool bUp )
                 for ( sal_Int8 i = 1; i <= 3; i++ )
                 {
                     nPos = aText.indexOf( aDateSep, nPos );
-                    if ( nPos >= (sal_Int32)aSelection.Max() )
+                    if (nPos < 0 || nPos >= (sal_Int32)aSelection.Max())
                     {
                         nDateArea = i;
                         break;
commit 9da9cabfc68a73d4ac9db7ec86f44c8713edb9e0
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Jul 11 14:20:37 2016 +0200

    Resolves: tdf#100847 also external svEmptyCell is 0 in numeric context
    
    Regression of 243f19a1878d52a4074b59041dc3bc57ab84e417 that now
    differentiates between numeric and string content of external
    references' cells.
    
    Change-Id: I7a9635357cc7651353067a38f9ac8bc295f88546
    (cherry picked from commit 89a5464a21046821648ec77f03db8316ceb4e6f8)
    Reviewed-on: https://gerrit.libreoffice.org/27111
    Reviewed-by: Markus Mohrhard <markus.mohrhard at googlemail.com>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 9c30e2aab23e34ba91dbe80b7dd5e5c352bbaeb0)
    Reviewed-on: https://gerrit.libreoffice.org/27372
    Tested-by: Jenkins <ci at libreoffice.org>
    (cherry picked from commit 38aceeda9df7a04bff344c82c4bc077217b1178d)

diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index c014130..0642fcd 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -1991,7 +1991,7 @@ double ScInterpreter::GetDouble()
             PopExternalSingleRef(pToken);
             if (!nGlobalError && pToken)
             {
-                if (pToken->GetType() == svDouble)
+                if (pToken->GetType() == svDouble || pToken->GetType() == svEmptyCell)
                     nVal = pToken->GetDouble();
                 else
                     nVal = ConvertStringToValue( pToken->GetString().getString());
commit d11ba6d14c364cb79089cb2947476227f1316e00
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jul 20 16:30:16 2016 +0100

    Resolves: tdf#98778 fix parsing of exponents
    
    regression from...
    
    commit 9e9f39d171cafa035d7b8e74187e25c3581cb89d
    Date:   Tue Mar 19 23:23:16 2013 +0100
    
        resolved rhbz#919020 Basic CDbl() and CSng() scan localized number
    
    Change-Id: I96535fd9bc9ec59d6e07739a3118c96eb2d8bd05
    Reviewed-on: https://gerrit.libreoffice.org/27342
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>
    (cherry picked from commit 2aed0d49d7891b9360916b65771222810aeeac96)
    Reviewed-on: https://gerrit.libreoffice.org/27350
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>
    (cherry picked from commit 43d1f9bfd4300e8bf5bcb631dcc2d849b4490d3a)

diff --git a/basic/source/sbx/sbxscan.cxx b/basic/source/sbx/sbxscan.cxx
index 2d4a629..2f90601 100644
--- a/basic/source/sbx/sbxscan.cxx
+++ b/basic/source/sbx/sbxscan.cxx
@@ -160,6 +160,13 @@ SbxError ImpScan( const OUString& rWSrc, double& nVal, SbxDataType& rType,
                     eScanType = SbxDOUBLE;
                 aBuf[ p - pStart ] = 'E';
                 p++;
+                if (*p == '+')
+                    ++p;
+                else if (*p == '-')
+                {
+                    aBuf.append('-');
+                    ++p;
+                }
             }
             else
             {


More information about the Libreoffice-commits mailing list