[Libreoffice-commits] core.git: Branch 'feature/priorities' - 646 commits - accessibility/source animations/source avmedia/source basctl/Module_basctl.mk basctl/source basegfx/source basic/inc basic/Library_sb.mk basic/Module_basic.mk basic/qa basic/source bean/com bin/findunusedcode bin/lolcat bin/parse-perfcheck.py bin/refcount_leak.py bridges/source bridges/test chart2/CppunitTest_chart2_export.mk chart2/CppunitTest_chart2_import.mk chart2/CppunitTest_chart2_xshape.mk chart2/qa chart2/source chart2/uiconfig cli_ure/source codemaker/source comphelper/Library_comphelper.mk comphelper/source config_host/config_features.h.in config_host.mk.in configmgr/CppunitTest_configmgr_unit.mk configmgr/qa configmgr/source configure.ac connectivity/inc connectivity/qa connectivity/source cppuhelper/test cppu/source cpputools/source cui/Library_cui.mk cui/source cui/uiconfig dbaccess/qa dbaccess/source dbaccess/uiconfig desktop/Module_desktop.mk desktop/source desktop/unx desktop/win32 distro-configs/LibreOffi ceAndroidAarch64.conf distro-configs/LibreOfficeAndroid.conf distro-configs/LibreOfficeAndroidX86.conf drawinglayer/source dtrans/source dtrans/test editeng/source extensions/source extensions/test extensions/workben external/glm external/icu external/libetonyek external/Module_external.mk external/nss filter/Configuration_filter.mk filter/CppunitTest_filter_eps_test.mk filter/Module_filter.mk filter/qa filter/source forms/qa forms/source formula/source fpicker/source framework/inc framework/source helpcontent2 hwpfilter/source i18npool/source icon-themes/crystal icon-themes/galaxy icon-themes/human icon-themes/oxygen icon-themes/sifr icon-themes/tango idlc/source idl/inc idl/source include/basebmp include/basic include/comphelper include/filter include/formula include/LibreOfficeKit include/o3tl include/oox include/package include/rsc include/rtl include/sal include/sax include/sfx2 include/svtools include/svx include/test include/tools include/ucbhelper include/unotools include/vc l include/xmloff include/xmlreader instsetoo_native/inc_openoffice io/source io/test javaunohelper/source jurt/com jvmfwk/plugins librelogo/Module_librelogo.mk lingucomponent/source linguistic/workben lotuswordpro/source Makefile.fetch mysqlc/source odk/examples offapi/com officecfg/Configuration_officecfg.mk officecfg/registry oox/source package/inc package/Library_package2.mk package/source postprocess/CustomTarget_registry.mk postprocess/Rdb_services.mk pyuno/CustomTarget_python_shell.mk pyuno/source pyuno/zipcore qadevOOo/runner readlicense_oo/docs registry/source registry/tools remotebridges/examples reportbuilder/java reportdesign/inc reportdesign/source RepositoryExternal.mk Repository.mk RepositoryModule_host.mk rsc/inc rsc/source sal/Library_sal.mk sal/osl sal/qa sal/rtl sal/test sal/workben sax/source sax/test scaddins/source sc/CppunitTest_sc_annotationobj.mk sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_annotationsobj.mk sc/CppunitTest_sc_cellrangeobj.mk sc/C ppunitTest_sc_chart_regression_test.mk sc/CppunitTest_sc_datapilotfieldobj.mk sc/CppunitTest_sc_datapilottableobj.mk sc/CppunitTest_sc_editfieldobj_cell.mk sc/CppunitTest_sc_editfieldobj_header.mk sc/CppunitTest_sc_html_export_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_modelobj.mk sc/CppunitTest_sc_namedrangeobj.mk sc/CppunitTest_sc_namedrangesobj.mk sc/CppunitTest_sc_opencl_test.mk sc/CppunitTest_sc_outlineobj.mk sc/CppunitTest_sc_rangelst_test.mk sc/CppunitTest_sc_styleloaderobj.mk sc/CppunitTest_sc_tablesheetobj.mk sc/CppunitTest_sc_tablesheetsobj.mk sc/CppunitTest_sc_ucalc.mk sc/inc sc/Library_scfilt.mk sc/Library_sc.mk sc/Library_scopencl.mk sc/Module_sc.mk scp2/AutoInstall.mk scp2/inc scp2/InstallModule_base.mk scp2/InstallModule_calc.mk scp2/InstallModule_crashrep.mk scp2/InstallModule_draw.mk scp2/InstallModule_impress.mk scp2/InstallModule_math.mk scp2/InstallModule_ooo.mk scp2/InstallModule_writer.mk scp2/source sc/qa scripting/Module_scripting.mk scripting /source sc/source sc/uiconfig sdext/source sd/inc sd/qa sd/source sd/uiconfig setup_native/scripts sfx2/inc sfx2/sdi sfx2/source sfx2/uiconfig shell/source slideshow/source smoketest/data solenv/bin solenv/doc solenv/gbuild solenv/gcc-wrappers solenv/gdb solenv/inc soltools/mkdepend starmath/inc starmath/source starmath/uiconfig stoc/source stoc/test svgio/CppunitTest_svgio.mk svgio/inc svgio/source svl/source svtools/README svtools/source svx/inc svx/source svx/uiconfig sw/CppunitTest_sw_rtfexport.mk sw/inc sw/Library_sw.mk sw/Module_sw.mk sw/qa sw/README sw/source sw/uiconfig test/Library_test.mk test/source toolkit/source toolkit/test tools/CppunitTest_tools_test.mk tools/Library_tl.mk tools/qa tools/source touch/Library_libotouch.mk touch/source translations tubes/source ucb/source udkapi/com UnoControls/source unodevtools/source unoidl/source unotest/source unotools/CppunitTest_unotools_fontdefs.mk unotools/qa unotools/source unusedcode.easy vbahelper/Module_vbahelper.mk vbahel per/source vcl/generic vcl/headless vcl/inc vcl/osx vcl/Package_fontunxppds.mk vcl/qa vcl/quartz vcl/source vcl/unx vcl/win vcl/workben winaccessibility/source wizards/com wizards/source writerfilter/inc writerfilter/qa writerfilter/source writerperfect/Library_wpftdraw.mk writerperfect/Library_wpftimpress.mk writerperfect/Library_wpftwriter.mk writerperfect/qa writerperfect/source xmlhelp/source xmloff/dtd xmloff/source xmlscript/source xmlscript/test xmlsecurity/source

Tor Lillqvist tml at collabora.com
Fri Oct 31 00:48:00 PDT 2014


Rebased ref, commits from common ancestor:
commit 4482f50197f8787f8e187def2cc96758e3c31800
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Oct 31 08:32:31 2014 +0200

    WaE: VarDecl, use "bool" instead of "sal_Bool" [loplugin:salbool]
    
    This likely is a false warning or over-enthusiasm in the salbool plug-in, but
    on the other hand, I don't understand why the recently added case needs to use
    different coding idioms from the preceding ones in the function? So make the
    code more uniform.
    
    Change-Id: I518022c59f6bd54740676cba95670e78b9a40d19

diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index ec71f6d..b34dd65 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -1248,9 +1248,8 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf
         break;
         case HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE:
         {
-            sal_Bool const bTmp(mpDoc->getIDocumentSettingAccess().get(
-                IDocumentSettingAccess::PROP_LINE_SPACING_SHRINKS_FIRST_LINE));
-            rValue <<= bTmp;
+            sal_Bool bTmp = mpDoc->getIDocumentSettingAccess().get( IDocumentSettingAccess::PROP_LINE_SPACING_SHRINKS_FIRST_LINE);
+            rValue.setValue( &bTmp, ::getBooleanCppuType() );
         }
         break;
         default:
commit 41538e2ab79dd0ff04c1ac389962ce9df147463c
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Oct 31 07:59:33 2014 +0200

    drop KeyCode::IsDefinedKeyCodeEqual
    
    because it's implementation is the same as operator==
    
    Change-Id: If9b63abcd13f899735d59d85be3da54406a6e324

diff --git a/include/vcl/keycod.hxx b/include/vcl/keycod.hxx
index 0309f12..3c96d45 100644
--- a/include/vcl/keycod.hxx
+++ b/include/vcl/keycod.hxx
@@ -34,36 +34,35 @@ namespace vcl
 class VCL_DLLPUBLIC KeyCode
 {
 private:
-    sal_uInt16      nCode;
-    KeyFuncType eFunc;
+    sal_uInt16      nKeyCodeAndModifiers;
+    KeyFuncType     eFunc;
 
 public:
-                KeyCode() { nCode = 0; eFunc = KeyFuncType::DONTKNOW; }
+                KeyCode() { nKeyCodeAndModifiers = 0; eFunc = KeyFuncType::DONTKNOW; }
                 KeyCode( const ResId& rResId );
                 KeyCode( sal_uInt16 nKey, sal_uInt16 nModifier = 0 )
-                    { nCode = nKey | nModifier; eFunc = KeyFuncType::DONTKNOW; }
+                    { nKeyCodeAndModifiers = nKey | nModifier; eFunc = KeyFuncType::DONTKNOW; }
                 KeyCode( sal_uInt16 nKey, bool bShift, bool bMod1, bool bMod2, bool bMod3 );
                 KeyCode( KeyFuncType eFunction );
 
-    sal_uInt16      GetFullCode() const { return nCode; }
-    KeyFuncType GetFullFunction() const { return eFunc; }
-    bool        IsDefinedKeyCodeEqual( const KeyCode& rKeyCode ) const;
+    sal_uInt16      GetFullCode() const { return nKeyCodeAndModifiers; }
+    KeyFuncType     GetFullFunction() const { return eFunc; }
 
     sal_uInt16      GetCode() const
-                    { return (nCode & KEY_CODE); }
+                    { return (nKeyCodeAndModifiers & KEY_CODE); }
 
     sal_uInt16      GetModifier() const
-                    { return (nCode & KEY_MODTYPE); }
+                    { return (nKeyCodeAndModifiers & KEY_MODTYPE); }
     bool            IsShift() const
-                    { return ((nCode & KEY_SHIFT) != 0); }
+                    { return ((nKeyCodeAndModifiers & KEY_SHIFT) != 0); }
     bool            IsMod1() const
-                    { return ((nCode & KEY_MOD1) != 0); }
+                    { return ((nKeyCodeAndModifiers & KEY_MOD1) != 0); }
     bool            IsMod2() const
-                    { return ((nCode & KEY_MOD2) != 0); }
+                    { return ((nKeyCodeAndModifiers & KEY_MOD2) != 0); }
     bool            IsMod3() const
-                    { return ((nCode & KEY_MOD3) != 0); }
+                    { return ((nKeyCodeAndModifiers & KEY_MOD3) != 0); }
     sal_uInt16      GetGroup() const
-                    { return (nCode & KEYGROUP_TYPE); }
+                    { return (nKeyCodeAndModifiers & KEYGROUP_TYPE); }
 
     OUString        GetName( vcl::Window* pWindow = NULL ) const;
 
@@ -81,22 +80,22 @@ public:
 
 inline vcl::KeyCode::KeyCode( sal_uInt16 nKey, bool bShift, bool bMod1, bool bMod2, bool bMod3 )
 {
-    nCode = nKey;
+    nKeyCodeAndModifiers = nKey;
     if( bShift )
-        nCode |= KEY_SHIFT;
+        nKeyCodeAndModifiers |= KEY_SHIFT;
     if( bMod1 )
-        nCode |= KEY_MOD1;
+        nKeyCodeAndModifiers |= KEY_MOD1;
     if( bMod2 )
-        nCode |= KEY_MOD2;
+        nKeyCodeAndModifiers |= KEY_MOD2;
     if( bMod3 )
-        nCode |= KEY_MOD3;
+        nKeyCodeAndModifiers |= KEY_MOD3;
     eFunc = KeyFuncType::DONTKNOW;
 }
 
 inline bool vcl::KeyCode::operator ==( const vcl::KeyCode& rKeyCode ) const
 {
     if ( (eFunc == KeyFuncType::DONTKNOW) && (rKeyCode.eFunc == KeyFuncType::DONTKNOW) )
-        return (nCode == rKeyCode.nCode);
+        return (nKeyCodeAndModifiers == rKeyCode.nKeyCodeAndModifiers);
     else
         return (GetFunction() == rKeyCode.GetFunction());
 }
@@ -104,21 +103,14 @@ inline bool vcl::KeyCode::operator ==( const vcl::KeyCode& rKeyCode ) const
 inline bool vcl::KeyCode::operator !=( const vcl::KeyCode& rKeyCode ) const
 {
     if ( (eFunc == KeyFuncType::DONTKNOW) && (rKeyCode.eFunc == KeyFuncType::DONTKNOW) )
-        return (nCode != rKeyCode.nCode);
+        return (nKeyCodeAndModifiers != rKeyCode.nKeyCodeAndModifiers);
     else
         return (GetFunction() != rKeyCode.GetFunction());
 }
 
-inline bool vcl::KeyCode::IsDefinedKeyCodeEqual( const vcl::KeyCode& rKeyCode ) const
-{
-    if ( (eFunc == KeyFuncType::DONTKNOW) && (rKeyCode.eFunc == KeyFuncType::DONTKNOW) )
-        return (GetFullCode() == rKeyCode.GetFullCode());
-    return (GetFunction() == rKeyCode.GetFunction());
-}
-
 inline vcl::KeyCode& vcl::KeyCode::operator = ( const vcl::KeyCode& rKeyCode )
 {
-    nCode = rKeyCode.nCode;
+    nKeyCodeAndModifiers = rKeyCode.nKeyCodeAndModifiers;
     eFunc = rKeyCode.eFunc;
 
     return *this;
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 0355ec0..743a0ee 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1453,7 +1453,7 @@ bool ImplCallHotKey( const vcl::KeyCode& rKeyCode )
     ImplHotKey*     pHotKeyData = pSVData->maAppData.mpFirstHotKey;
     while ( pHotKeyData )
     {
-        if ( pHotKeyData->maKeyCode.IsDefinedKeyCodeEqual( rKeyCode ) )
+        if ( pHotKeyData->maKeyCode == rKeyCode )
         {
             pHotKeyData->maLink.Call( pHotKeyData->mpUserData );
             return true;
diff --git a/vcl/source/window/keycod.cxx b/vcl/source/window/keycod.cxx
index 0c13f81..be3e282 100644
--- a/vcl/source/window/keycod.cxx
+++ b/vcl/source/window/keycod.cxx
@@ -71,12 +71,12 @@ bool ImplGetKeyCode( KeyFuncType eFunc, sal_uInt16& rCode1, sal_uInt16& rCode2,
 vcl::KeyCode::KeyCode( KeyFuncType eFunction )
 {
     sal_uInt16 nDummy;
-    ImplGetKeyCode( eFunction, nCode, nDummy, nDummy, nDummy );
+    ImplGetKeyCode( eFunction, nKeyCodeAndModifiers, nDummy, nDummy, nDummy );
     eFunc = eFunction;
 }
 
 vcl::KeyCode::KeyCode( const ResId& rResId )
-    : nCode(0)
+    : nKeyCodeAndModifiers(0)
     , eFunc(KeyFuncType::DONTKNOW)
 {
     rResId.SetRT( RSC_KEYCODE );
@@ -94,10 +94,10 @@ vcl::KeyCode::KeyCode( const ResId& rResId )
         if ( eFunc != KeyFuncType::DONTKNOW )
         {
             sal_uInt16 nDummy;
-            ImplGetKeyCode( eFunc, nCode, nDummy, nDummy, nDummy );
+            ImplGetKeyCode( eFunc, nKeyCodeAndModifiers, nDummy, nDummy, nDummy );
         }
         else
-            nCode = sal::static_int_cast<sal_uInt16>(nKeyCode | nModifier);
+            nKeyCodeAndModifiers = sal::static_int_cast<sal_uInt16>(nKeyCode | nModifier);
     }
 }
 
commit 72ce1368b504804529bbcdc14484e9abb2ffa398
Author: Noel Grandin <noel at peralex.com>
Date:   Fri Oct 31 07:26:39 2014 +0200

    convert COMMAND_WHEEL constants to an enum
    
    Change-Id: I413d821a984ab556bd19c52704c04de6d828f699

diff --git a/cui/source/options/optcolor.cxx b/cui/source/options/optcolor.cxx
index f7ca321..67d0890 100644
--- a/cui/source/options/optcolor.cxx
+++ b/cui/source/options/optcolor.cxx
@@ -958,7 +958,7 @@ void ColorConfigCtrl_Impl::Command( const CommandEvent& rCEvt )
         case COMMAND_AUTOSCROLL:
         {
             const CommandWheelData* pWheelData = rCEvt.GetWheelData();
-            if(pWheelData && !pWheelData->IsHorz() && COMMAND_WHEEL_ZOOM != pWheelData->GetMode())
+            if(pWheelData && !pWheelData->IsHorz() && CommandWheelMode::ZOOM != pWheelData->GetMode())
             {
                 HandleScrollCommand(rCEvt, 0, m_pVScroll);
             }
diff --git a/dbaccess/source/ui/querydesign/JoinTableView.cxx b/dbaccess/source/ui/querydesign/JoinTableView.cxx
index 46f0ddb..2944efc 100644
--- a/dbaccess/source/ui/querydesign/JoinTableView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinTableView.cxx
@@ -1242,7 +1242,7 @@ bool OJoinTableView::PreNotify(NotifyEvent& rNEvt)
             if (pCommand->GetCommand() == COMMAND_WHEEL)
             {
                 const CommandWheelData* pData = rNEvt.GetCommandEvent()->GetWheelData();
-                if (pData->GetMode() == COMMAND_WHEEL_SCROLL)
+                if (pData->GetMode() == CommandWheelMode::SCROLL)
                 {
                     if (pData->GetDelta() > 0)
                         ScrollPane(-10 * pData->GetScrollLines(), pData->IsHorz(), true);
diff --git a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
index 4894fab..e9732ee 100644
--- a/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
+++ b/desktop/source/deployment/gui/dp_gui_extlistbox.cxx
@@ -897,7 +897,7 @@ bool ExtensionBox_Impl::Notify( NotifyEvent& rNEvt )
              ( rNEvt.GetCommandEvent()->GetCommand() == COMMAND_WHEEL ) )
         {
             const CommandWheelData* pData = rNEvt.GetCommandEvent()->GetWheelData();
-            if ( pData->GetMode() == COMMAND_WHEEL_SCROLL )
+            if ( pData->GetMode() == CommandWheelMode::SCROLL )
             {
                 long nThumbPos = m_pScrollBar->GetThumbPos();
                 if ( pData->GetDelta() < 0 )
diff --git a/include/vcl/cmdevt.hxx b/include/vcl/cmdevt.hxx
index 95fbaa6..439e969 100644
--- a/include/vcl/cmdevt.hxx
+++ b/include/vcl/cmdevt.hxx
@@ -108,40 +108,45 @@ inline CommandInputContextData::CommandInputContextData( LanguageType eLang )
 // - CommandWheelData -
 
 
-#define COMMAND_WHEEL_SCROLL            ((sal_uInt16)0x0001)
-#define COMMAND_WHEEL_ZOOM              ((sal_uInt16)0x0002)
-#define COMMAND_WHEEL_ZOOM_SCALE        ((sal_uInt16)0x0003)
-#define COMMAND_WHEEL_DATAZOOM          ((sal_uInt16)0x0004)
+enum class CommandWheelMode
+{
+    NONE              = 0,
+    SCROLL            = 1,
+    ZOOM              = 2,
+    ZOOM_SCALE        = 3,
+    DATAZOOM          = 4
+};
 
+// Magic value used in mnLines field in CommandWheelData
 #define COMMAND_WHEEL_PAGESCROLL        ((sal_uLong)0xFFFFFFFF)
 
 class VCL_DLLPUBLIC CommandWheelData
 {
 private:
-    long            mnDelta;
-    long            mnNotchDelta;
-    sal_uLong           mnLines;
-    sal_uInt16          mnMode;
-    sal_uInt16          mnCode;
-    bool            mbHorz;
-    bool            mbDeltaIsPixel;
+    long              mnDelta;
+    long              mnNotchDelta;
+    sal_uLong         mnLines;
+    CommandWheelMode  mnWheelMode;
+    sal_uInt16        mnCode;
+    bool              mbHorz;
+    bool              mbDeltaIsPixel;
 
 public:
                     CommandWheelData();
                     CommandWheelData( long nWheelDelta, long nWheelNotchDelta,
                                       sal_uLong nScrollLines,
-                                      sal_uInt16 nWheelMode, sal_uInt16 nKeyModifier,
+                                      CommandWheelMode nWheelMode, sal_uInt16 nKeyModifier,
                                       bool bHorz = false, bool bDeltaIsPixel = false );
 
     long            GetDelta() const { return mnDelta; }
     long            GetNotchDelta() const { return mnNotchDelta; }
-    sal_uLong           GetScrollLines() const { return mnLines; }
+    sal_uLong       GetScrollLines() const { return mnLines; }
     bool            IsHorz() const { return mbHorz; }
     bool            IsDeltaPixel() const { return mbDeltaIsPixel; }
 
-    sal_uInt16          GetMode() const { return mnMode; }
+    CommandWheelMode GetMode() const { return mnWheelMode; }
 
-    sal_uInt16          GetModifier() const
+    sal_uInt16      GetModifier() const
                         { return (mnCode & (KEY_SHIFT | KEY_MOD1 | KEY_MOD2)); }
     bool            IsShift() const
                         { return ((mnCode & KEY_SHIFT) != 0); }
@@ -158,7 +163,7 @@ inline CommandWheelData::CommandWheelData()
     mnDelta         = 0;
     mnNotchDelta    = 0;
     mnLines         = 0;
-    mnMode          = 0;
+    mnWheelMode     = CommandWheelMode::NONE;
     mnCode          = 0;
     mbHorz          = false;
     mbDeltaIsPixel  = false;
@@ -166,13 +171,13 @@ inline CommandWheelData::CommandWheelData()
 
 inline CommandWheelData::CommandWheelData( long nWheelDelta, long nWheelNotchDelta,
                                            sal_uLong nScrollLines,
-                                           sal_uInt16 nWheelMode, sal_uInt16 nKeyModifier,
+                                           CommandWheelMode nWheelMode, sal_uInt16 nKeyModifier,
                                            bool bHorz, bool bDeltaIsPixel )
 {
     mnDelta         = nWheelDelta;
     mnNotchDelta    = nWheelNotchDelta;
     mnLines         = nScrollLines;
-    mnMode          = nWheelMode;
+    mnWheelMode     = nWheelMode;
     mnCode          = nKeyModifier;
     mbHorz          = bHorz;
     mbDeltaIsPixel  = bDeltaIsPixel;
diff --git a/sc/source/ui/dbgui/csvgrid.cxx b/sc/source/ui/dbgui/csvgrid.cxx
index b478f67..37a8f1e 100644
--- a/sc/source/ui/dbgui/csvgrid.cxx
+++ b/sc/source/ui/dbgui/csvgrid.cxx
@@ -970,7 +970,7 @@ void ScCsvGrid::Command( const CommandEvent& rCEvt )
             if( aRect.IsInside( rCEvt.GetMousePosPixel() ) )
             {
                 const CommandWheelData* pData = rCEvt.GetWheelData();
-                if( pData && (pData->GetMode() == COMMAND_WHEEL_SCROLL) && !pData->IsHorz() )
+                if( pData && (pData->GetMode() == CommandWheelMode::SCROLL) && !pData->IsHorz() )
                     Execute( CSVCMD_SETLINEOFFSET, GetFirstVisLine() - pData->GetNotchDelta() );
             }
         }
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index 12ec7d0..babb226 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -496,7 +496,7 @@ bool ScPreviewShell::ScrollCommand( const CommandEvent& rCEvt )
 {
     bool bDone = false;
     const CommandWheelData* pData = rCEvt.GetWheelData();
-    if ( pData && pData->GetMode() == COMMAND_WHEEL_ZOOM )
+    if ( pData && pData->GetMode() == CommandWheelMode::ZOOM )
     {
         long nOld = pPreview->GetZoom();
         long nNew = nOld;
diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx
index 9150af6..fe56acd 100644
--- a/sc/source/ui/view/tabview.cxx
+++ b/sc/source/ui/view/tabview.cxx
@@ -916,8 +916,8 @@ bool ScTabView::ScrollCommand( const CommandEvent& rCEvt, ScSplitPos ePos )
 
     bool bDone = false;
     const CommandWheelData* pData = rCEvt.GetWheelData();
-    if ( pData && (pData->GetMode() == COMMAND_WHEEL_ZOOM ||
-                   pData->GetMode() == COMMAND_WHEEL_ZOOM_SCALE ) )
+    if ( pData && (pData->GetMode() == CommandWheelMode::ZOOM ||
+                   pData->GetMode() == CommandWheelMode::ZOOM_SCALE ) )
     {
         if ( !aViewData.GetViewShell()->GetViewFrame()->GetFrame().IsInPlace() )
         {
@@ -927,7 +927,7 @@ bool ScTabView::ScrollCommand( const CommandEvent& rCEvt, ScSplitPos ePos )
             const Fraction& rOldY = aViewData.GetZoomY();
             long nOld = (long)(( rOldY.GetNumerator() * 100 ) / rOldY.GetDenominator());
             long nNew = nOld;
-            if ( pData->GetMode() == COMMAND_WHEEL_ZOOM_SCALE )
+            if ( pData->GetMode() == CommandWheelMode::ZOOM_SCALE )
             {
                 nNew = 100 * (long) ((nOld / 100.0) * (pData->GetDelta() / 100.0));
             } else
diff --git a/sd/source/ui/dlg/RemoteDialogClientBox.cxx b/sd/source/ui/dlg/RemoteDialogClientBox.cxx
index 2585668..cd99a24 100644
--- a/sd/source/ui/dlg/RemoteDialogClientBox.cxx
+++ b/sd/source/ui/dlg/RemoteDialogClientBox.cxx
@@ -613,7 +613,7 @@ bool ClientBox::Notify( NotifyEvent& rNEvt )
              ( rNEvt.GetCommandEvent()->GetCommand() == COMMAND_WHEEL ) )
         {
             const CommandWheelData* pData = rNEvt.GetCommandEvent()->GetWheelData();
-            if ( pData->GetMode() == COMMAND_WHEEL_SCROLL )
+            if ( pData->GetMode() == CommandWheelMode::SCROLL )
             {
                 long nThumbPos = m_aScrollBar.GetThumbPos();
                 if ( pData->GetDelta() < 0 )
diff --git a/sd/source/ui/view/viewshel.cxx b/sd/source/ui/view/viewshel.cxx
index 52bff55..bdc6959 100644
--- a/sd/source/ui/view/viewshel.cxx
+++ b/sd/source/ui/view/viewshel.cxx
@@ -619,7 +619,7 @@ bool ViewShell::HandleScrollCommand(const CommandEvent& rCEvt, ::sd::Window* pWi
                 {
                     // We ignore zooming with control+mouse wheel.
                     const CommandWheelData* pData = rCEvt.GetWheelData();
-                    if( pData && !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) && !pData->IsHorz() )
+                    if( pData && !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) && !pData->IsHorz() )
                     {
                         long nDelta = pData->GetDelta();
                         if( nDelta > 0 )
diff --git a/sfx2/source/sidebar/Deck.cxx b/sfx2/source/sidebar/Deck.cxx
index f294a1a..6e2f391 100644
--- a/sfx2/source/sidebar/Deck.cxx
+++ b/sfx2/source/sidebar/Deck.cxx
@@ -219,7 +219,7 @@ bool Deck::ProcessWheelEvent(CommandEvent* pCommandEvent)
     const CommandWheelData* pData = pCommandEvent->GetWheelData();
     if (pData==NULL
         || pData->GetModifier()
-        || pData->GetMode() != COMMAND_WHEEL_SCROLL
+        || pData->GetMode() != CommandWheelMode::SCROLL
         || pData->IsHorz())
         return false;
 
diff --git a/starmath/source/edit.cxx b/starmath/source/edit.cxx
index f7a751a..672a775 100644
--- a/starmath/source/edit.cxx
+++ b/starmath/source/edit.cxx
@@ -382,7 +382,7 @@ bool SmEditWindow::HandleWheelCommands( const CommandEvent &rCEvt )
     const CommandWheelData* pWData = rCEvt.GetWheelData();
     if (pWData)
     {
-        if (COMMAND_WHEEL_ZOOM == pWData->GetMode())
+        if (CommandWheelMode::ZOOM == pWData->GetMode())
             bCommandHandled = true;     // no zooming in Command window
         else
             bCommandHandled = HandleScrollCommand( rCEvt, pHScrollBar, pVScrollBar);
diff --git a/starmath/source/view.cxx b/starmath/source/view.cxx
index e77f209..5cdc210 100644
--- a/starmath/source/view.cxx
+++ b/starmath/source/view.cxx
@@ -581,7 +581,7 @@ void SmGraphicWindow::Command(const CommandEvent& rCEvt)
             case COMMAND_WHEEL:
             {
                 const CommandWheelData* pWData = rCEvt.GetWheelData();
-                if  ( pWData && COMMAND_WHEEL_ZOOM == pWData->GetMode() )
+                if  ( pWData && CommandWheelMode::ZOOM == pWData->GetMode() )
                 {
                     sal_uInt16 nTmpZoom = GetZoom();
                     if( 0L > pWData->GetDelta() )
diff --git a/svtools/source/contnr/imivctl1.cxx b/svtools/source/contnr/imivctl1.cxx
index 671fc67..bee6011 100644
--- a/svtools/source/contnr/imivctl1.cxx
+++ b/svtools/source/contnr/imivctl1.cxx
@@ -2294,7 +2294,7 @@ bool SvxIconChoiceCtrl_Impl::HandleScrollCommand( const CommandEvent& rCmd )
         case COMMAND_WHEEL:
         {
             const CommandWheelData* pData = rCmd.GetWheelData();
-            if( pData && (COMMAND_WHEEL_SCROLL == pData->GetMode()) && !pData->IsHorz() )
+            if( pData && (CommandWheelMode::SCROLL == pData->GetMode()) && !pData->IsHorz() )
             {
                 sal_uLong nScrollLines = pData->GetScrollLines();
                 if( nScrollLines == COMMAND_WHEEL_PAGESCROLL )
diff --git a/svtools/source/control/calendar.cxx b/svtools/source/control/calendar.cxx
index 348f9d7..acb7b029 100644
--- a/svtools/source/control/calendar.cxx
+++ b/svtools/source/control/calendar.cxx
@@ -1726,7 +1726,7 @@ void Calendar::Command( const CommandEvent& rCEvt )
     else if ( rCEvt.GetCommand() == COMMAND_WHEEL )
     {
         const CommandWheelData* pData = rCEvt.GetWheelData();
-        if ( pData->GetMode() == COMMAND_WHEEL_SCROLL )
+        if ( pData->GetMode() == CommandWheelMode::SCROLL )
         {
             long nNotchDelta = pData->GetNotchDelta();
             if ( nNotchDelta < 0 )
diff --git a/svtools/source/control/fmtfield.cxx b/svtools/source/control/fmtfield.cxx
index edb8ad3..c000833 100644
--- a/svtools/source/control/fmtfield.cxx
+++ b/svtools/source/control/fmtfield.cxx
@@ -788,7 +788,7 @@ bool FormattedField::Notify(NotifyEvent& rNEvt)
         if (pCommand->GetCommand() == COMMAND_WHEEL)
         {
             const CommandWheelData* pData = rNEvt.GetCommandEvent()->GetWheelData();
-            if ((pData->GetMode() == COMMAND_WHEEL_SCROLL) && ImplGetFormatter()->IsTextFormat(m_nFormatKey))
+            if ((pData->GetMode() == CommandWheelMode::SCROLL) && ImplGetFormatter()->IsTextFormat(m_nFormatKey))
             {
                 // same as above : prevent the base class from doing Up/Down-calls
                 // (normally I should put this test into the Up/Down methods itself, shouldn't I ?)
diff --git a/svtools/source/control/toolbarmenu.cxx b/svtools/source/control/toolbarmenu.cxx
index d59603a..6e9daef 100644
--- a/svtools/source/control/toolbarmenu.cxx
+++ b/svtools/source/control/toolbarmenu.cxx
@@ -1542,7 +1542,7 @@ void ToolbarMenu::Command( const CommandEvent& rCEvt )
     if ( rCEvt.GetCommand() == COMMAND_WHEEL )
     {
         const CommandWheelData* pData = rCEvt.GetWheelData();
-        if( !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) )
+        if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
         {
             implCursorUpDown( pData->GetDelta() > 0L, false );
         }
diff --git a/svtools/source/table/tabledatawindow.cxx b/svtools/source/table/tabledatawindow.cxx
index 2d6e837..5bb9fb1 100644
--- a/svtools/source/table/tabledatawindow.cxx
+++ b/svtools/source/table/tabledatawindow.cxx
@@ -219,7 +219,7 @@ namespace svt { namespace table
             if ( rCEvt.GetCommand() == COMMAND_WHEEL )
             {
                 const CommandWheelData* pData = rCEvt.GetWheelData();
-                if( !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) )
+                if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
                 {
                     nDone = HandleScrollCommand( rCEvt, m_rTableControl.getHorzScrollbar(), m_rTableControl.getVertScrollbar() );
                 }
diff --git a/sw/source/ui/dbui/createaddresslistdialog.cxx b/sw/source/ui/dbui/createaddresslistdialog.cxx
index 9b72fd4..86aba60 100644
--- a/sw/source/ui/dbui/createaddresslistdialog.cxx
+++ b/sw/source/ui/dbui/createaddresslistdialog.cxx
@@ -330,7 +330,7 @@ void SwAddressControl_Impl::Command( const CommandEvent& rCEvt )
         case COMMAND_AUTOSCROLL:
         {
             const CommandWheelData* pWheelData = rCEvt.GetWheelData();
-            if(pWheelData && !pWheelData->IsHorz() && COMMAND_WHEEL_ZOOM != pWheelData->GetMode())
+            if(pWheelData && !pWheelData->IsHorz() && CommandWheelMode::ZOOM != pWheelData->GetMode())
             {
                 HandleScrollCommand( rCEvt, 0, m_pScrollBar );
             }
diff --git a/sw/source/ui/dbui/mmaddressblockpage.cxx b/sw/source/ui/dbui/mmaddressblockpage.cxx
index 0da4e96..42530be 100644
--- a/sw/source/ui/dbui/mmaddressblockpage.cxx
+++ b/sw/source/ui/dbui/mmaddressblockpage.cxx
@@ -986,7 +986,7 @@ void SwAssignFieldsControl::Command( const CommandEvent& rCEvt )
         case COMMAND_AUTOSCROLL:
         {
             const CommandWheelData* pWheelData = rCEvt.GetWheelData();
-            if(pWheelData && !pWheelData->IsHorz() && COMMAND_WHEEL_ZOOM != pWheelData->GetMode())
+            if(pWheelData && !pWheelData->IsHorz() && CommandWheelMode::ZOOM != pWheelData->GetMode())
             {
                 HandleScrollCommand( rCEvt, 0, &m_aVScroll );
             }
diff --git a/sw/source/uibase/docvw/srcedtw.cxx b/sw/source/uibase/docvw/srcedtw.cxx
index fc2a2da..39e51cc 100644
--- a/sw/source/uibase/docvw/srcedtw.cxx
+++ b/sw/source/uibase/docvw/srcedtw.cxx
@@ -419,7 +419,7 @@ void  TextViewOutWin::Command( const CommandEvent& rCEvt )
         case COMMAND_AUTOSCROLL:
         {
             const CommandWheelData* pWData = rCEvt.GetWheelData();
-            if( !pWData || COMMAND_WHEEL_ZOOM != pWData->GetMode() )
+            if( !pWData || CommandWheelMode::ZOOM != pWData->GetMode() )
             {
                 ((SwSrcEditWindow*)GetParent())->HandleWheelCommand( rCEvt );
             }
@@ -766,7 +766,7 @@ void SwSrcEditWindow::Command( const CommandEvent& rCEvt )
         case COMMAND_AUTOSCROLL:
         {
             const CommandWheelData* pWData = rCEvt.GetWheelData();
-            if( !pWData || COMMAND_WHEEL_ZOOM != pWData->GetMode() )
+            if( !pWData || CommandWheelMode::ZOOM != pWData->GetMode() )
                 HandleScrollCommand( rCEvt, pHScrollbar, pVScrollbar );
         }
         break;
diff --git a/sw/source/uibase/uiview/pview.cxx b/sw/source/uibase/uiview/pview.cxx
index 4763079..9375cb1 100644
--- a/sw/source/uibase/uiview/pview.cxx
+++ b/sw/source/uibase/uiview/pview.cxx
@@ -1780,7 +1780,7 @@ bool SwPagePreview::HandleWheelCommands( const CommandEvent& rCEvt )
 {
     bool bOk = false;
     const CommandWheelData* pWData = rCEvt.GetWheelData();
-    if( pWData && COMMAND_WHEEL_ZOOM == pWData->GetMode() )
+    if( pWData && CommandWheelMode::ZOOM == pWData->GetMode() )
     {
         //only the Preference shouldn't control the Zoom, it is better to detect AT tools running. So the bridge can be used here
         if (!Application::GetSettings().GetMiscSettings().GetEnableATToolSupport())
diff --git a/sw/source/uibase/uiview/viewport.cxx b/sw/source/uibase/uiview/viewport.cxx
index 3528c83..c7509b9 100644
--- a/sw/source/uibase/uiview/viewport.cxx
+++ b/sw/source/uibase/uiview/viewport.cxx
@@ -1194,7 +1194,7 @@ bool SwView::HandleWheelCommands( const CommandEvent& rCEvt )
 {
     bool bOk = false;
     const CommandWheelData* pWData = rCEvt.GetWheelData();
-    if (pWData && COMMAND_WHEEL_ZOOM == pWData->GetMode())
+    if (pWData && CommandWheelMode::ZOOM == pWData->GetMode())
     {
         long nFact = m_pWrtShell->GetViewOptions()->GetZoom();
         if( 0L > pWData->GetDelta() )
@@ -1205,7 +1205,7 @@ bool SwView::HandleWheelCommands( const CommandEvent& rCEvt )
         SetZoom( SVX_ZOOM_PERCENT, nFact );
         bOk = true;
     }
-    else if (pWData && COMMAND_WHEEL_ZOOM_SCALE == pWData->GetMode())
+    else if (pWData && CommandWheelMode::ZOOM_SCALE == pWData->GetMode())
     {
         // mobile touch zoom (pinch) section
         // remember the center location to reach in logic
@@ -1240,7 +1240,7 @@ bool SwView::HandleWheelCommands( const CommandEvent& rCEvt )
 
             // scrolling the deltaX deltaY
             Point deltaPoint( deltaX, deltaY );
-            CommandWheelData cmd( 0, 0, 0, COMMAND_WHEEL_SCROLL, 0, false, true);
+            CommandWheelData cmd( 0, 0, 0, CommandWheelMode::SCROLL, 0, false, true);
             CommandEvent event(deltaPoint , COMMAND_WHEEL, true, &cmd );
             m_pEditWin->HandleScrollCommand(event, m_pHScrollbar, m_pVScrollbar);
         }
@@ -1249,13 +1249,13 @@ bool SwView::HandleWheelCommands( const CommandEvent& rCEvt )
     }
     else
     {
-        if (pWData && pWData->GetMode()==COMMAND_WHEEL_SCROLL)
+        if (pWData && pWData->GetMode()==CommandWheelMode::SCROLL)
         {
             // This influences whether quick help is shown
             m_bWheelScrollInProgress=true;
         }
 
-        if (pWData && (COMMAND_WHEEL_SCROLL==pWData->GetMode()) &&
+        if (pWData && (CommandWheelMode::SCROLL==pWData->GetMode()) &&
                 (COMMAND_WHEEL_PAGESCROLL == pWData->GetScrollLines()))
         {
             if (pWData->GetDelta()<0)
diff --git a/vcl/osx/salframeview.mm b/vcl/osx/salframeview.mm
index 7440436..98f3dad 100644
--- a/vcl/osx/salframeview.mm
+++ b/vcl/osx/salframeview.mm
@@ -758,14 +758,14 @@ private:
         mfMagnifyDeltaSum += [pEvent magnification];
 
         mfLastMagnifyTime = [pEvent timestamp];
-// TODO: change to 0.1 when COMMAND_WHEEL_ZOOM handlers allow finer zooming control
+// TODO: change to 0.1 when CommandWheelMode::ZOOM handlers allow finer zooming control
         static const float fMagnifyFactor = 0.25*500; // steps are 500 times smaller for -magnification
         static const float fMinMagnifyStep = 15.0 / fMagnifyFactor;
         if( fabs(mfMagnifyDeltaSum) <= fMinMagnifyStep )
             return;
 
         // adapt NSEvent-sensitivity to application expectations
-        // TODO: rather make COMMAND_WHEEL_ZOOM handlers smarter
+        // TODO: rather make CommandWheelMode::ZOOM handlers smarter
         const float fDeltaZ = mfMagnifyDeltaSum * fMagnifyFactor;
         int nDeltaZ = FRound( fDeltaZ );
         if( !nDeltaZ )
diff --git a/vcl/source/control/ilstbox.cxx b/vcl/source/control/ilstbox.cxx
index 228d3b6..5dea2fd 100644
--- a/vcl/source/control/ilstbox.cxx
+++ b/vcl/source/control/ilstbox.cxx
@@ -2500,7 +2500,7 @@ bool ImplListBox::Notify( NotifyEvent& rNEvt )
         if ( rCEvt.GetCommand() == COMMAND_WHEEL )
         {
             const CommandWheelData* pData = rCEvt.GetWheelData();
-            if( !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) )
+            if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
             {
                 nDone = HandleScrollCommand( rCEvt, mpHScrollBar, mpVScrollBar );
             }
@@ -2521,7 +2521,7 @@ bool ImplListBox::HandleWheelAsCursorTravel( const CommandEvent& rCEvt )
     if ( rCEvt.GetCommand() == COMMAND_WHEEL )
     {
         const CommandWheelData* pData = rCEvt.GetWheelData();
-        if( !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) )
+        if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
         {
             sal_uInt16 nKey = ( pData->GetDelta() < 0 ) ? KEY_DOWN : KEY_UP;
             KeyEvent aKeyEvent( 0, vcl::KeyCode( nKey ) );
diff --git a/vcl/source/control/spinfld.cxx b/vcl/source/control/spinfld.cxx
index 8bbdbb9..97e6633 100644
--- a/vcl/source/control/spinfld.cxx
+++ b/vcl/source/control/spinfld.cxx
@@ -563,7 +563,7 @@ bool SpinField::Notify( NotifyEvent& rNEvt )
                 )
             {
                 const CommandWheelData* pData = rNEvt.GetCommandEvent()->GetWheelData();
-                if ( pData->GetMode() == COMMAND_WHEEL_SCROLL )
+                if ( pData->GetMode() == CommandWheelMode::SCROLL )
                 {
                     if ( pData->GetDelta() < 0L )
                         Down();
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 9d4b167..590525f 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1809,7 +1809,7 @@ bool VclScrolledWindow::Notify(NotifyEvent& rNEvt)
         if ( rCEvt.GetCommand() == COMMAND_WHEEL )
         {
             const CommandWheelData* pData = rCEvt.GetWheelData();
-            if( !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) )
+            if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
             {
                 nDone = HandleScrollCommand(rCEvt, m_pHScroll.get(), m_pVScroll.get());
             }
diff --git a/vcl/source/window/menufloatingwindow.cxx b/vcl/source/window/menufloatingwindow.cxx
index e3a7c13..5b0ed08 100644
--- a/vcl/source/window/menufloatingwindow.cxx
+++ b/vcl/source/window/menufloatingwindow.cxx
@@ -1185,7 +1185,7 @@ void MenuFloatingWindow::Command( const CommandEvent& rCEvt )
     if ( rCEvt.GetCommand() == COMMAND_WHEEL )
     {
         const CommandWheelData* pData = rCEvt.GetWheelData();
-        if( !pData->GetModifier() && ( pData->GetMode() == COMMAND_WHEEL_SCROLL ) )
+        if( !pData->GetModifier() && ( pData->GetMode() == CommandWheelMode::SCROLL ) )
         {
 //          ImplCursorUpDown( pData->GetDelta() > 0L );
             ImplScroll( pData->GetDelta() > 0L );
diff --git a/vcl/source/window/openglwin.cxx b/vcl/source/window/openglwin.cxx
index b205df6..d132469 100644
--- a/vcl/source/window/openglwin.cxx
+++ b/vcl/source/window/openglwin.cxx
@@ -86,7 +86,7 @@ void OpenGLWindow::Command( const CommandEvent& rCEvt )
     if(rCEvt.GetCommand() == COMMAND_WHEEL)
     {
         const CommandWheelData* pData = rCEvt.GetWheelData();
-        if(pData->GetMode() == COMMAND_WHEEL_SCROLL)
+        if(pData->GetMode() == CommandWheelMode::SCROLL)
         {
             long nDelta = pData->GetDelta();
             mpRenderer->scroll(nDelta);
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index c701e33..227840f 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -4396,7 +4396,7 @@ void ToolBox::Command( const CommandEvent& rCEvt )
         if ( (mnCurLine > 1) || (mnCurLine+mnVisLines-1 < mnCurLines) )
         {
             const CommandWheelData* pData = rCEvt.GetWheelData();
-            if ( pData->GetMode() == COMMAND_WHEEL_SCROLL )
+            if ( pData->GetMode() == CommandWheelMode::SCROLL )
             {
                 if ( (mnCurLine > 1) && (pData->GetDelta() > 0) )
                     ShowLine( false );
diff --git a/vcl/source/window/window2.cxx b/vcl/source/window/window2.cxx
index fec0251..5f6c8a6 100644
--- a/vcl/source/window/window2.cxx
+++ b/vcl/source/window/window2.cxx
@@ -787,7 +787,7 @@ bool Window::HandleScrollCommand( const CommandEvent& rCmd,
             {
                 const CommandWheelData* pData = rCmd.GetWheelData();
 
-                if ( pData && (COMMAND_WHEEL_SCROLL == pData->GetMode()) )
+                if ( pData && (CommandWheelMode::SCROLL == pData->GetMode()) )
                 {
                     if (!pData->IsDeltaPixel())
                     {
diff --git a/vcl/source/window/winproc.cxx b/vcl/source/window/winproc.cxx
index a677af1..be88ec3e 100644
--- a/vcl/source/window/winproc.cxx
+++ b/vcl/source/window/winproc.cxx
@@ -1385,19 +1385,19 @@ static bool ImplHandleWheelEvent( vcl::Window* pWindow, const SalWheelMouseEvent
     if( aDogTag.IsDead() )
         return false;
 
-    sal_uInt16 nMode;
+    CommandWheelMode nMode;
     sal_uInt16 nCode = rEvt.mnCode;
     bool bHorz = rEvt.mbHorz;
     bool bPixel = rEvt.mbDeltaIsPixel;
     if ( scaleDirectly )
-        nMode = COMMAND_WHEEL_ZOOM_SCALE;
+        nMode = CommandWheelMode::ZOOM_SCALE;
     else if ( nCode & KEY_MOD1 )
-        nMode = COMMAND_WHEEL_ZOOM;
+        nMode = CommandWheelMode::ZOOM;
     else if ( nCode & KEY_MOD2 )
-        nMode = COMMAND_WHEEL_DATAZOOM;
+        nMode = CommandWheelMode::DATAZOOM;
     else
     {
-        nMode = COMMAND_WHEEL_SCROLL;
+        nMode = CommandWheelMode::SCROLL;
         // #i85450# interpret shift-wheel as horizontal wheel action
         if( (nCode & (KEY_SHIFT | KEY_MOD1 | KEY_MOD2 | KEY_MOD3)) == KEY_SHIFT )
             bHorz = true;
commit 7eb519e92b4b50546f222e8d0219b21af8e6ea18
Author: Noel Grandin <noel at peralex.com>
Date:   Thu Oct 30 15:05:55 2014 +0200

    KEY_ALLMOD is the same as KEY_MOD
    
    so just dump it
    
    Change-Id: I006045aea345e84ff1944fc1ed1daa94bd7bca61

diff --git a/include/rsc/rsc-vcl-shared-types.hxx b/include/rsc/rsc-vcl-shared-types.hxx
index ca3f513..7c6f598 100644
--- a/include/rsc/rsc-vcl-shared-types.hxx
+++ b/include/rsc/rsc-vcl-shared-types.hxx
@@ -139,7 +139,6 @@ namespace o3tl
 #define KEY_MOD2        ((sal_uInt16)0x4000)
 #define KEY_MOD3        ((sal_uInt16)0x8000)
 #define KEY_MODTYPE     ((sal_uInt16)0xF000)
-#define KEY_ALLMODTYPE  ((sal_uInt16)0xF000)
 
 #endif
 
diff --git a/include/vcl/keycod.hxx b/include/vcl/keycod.hxx
index cfa60fe..0309f12 100644
--- a/include/vcl/keycod.hxx
+++ b/include/vcl/keycod.hxx
@@ -54,8 +54,6 @@ public:
 
     sal_uInt16      GetModifier() const
                     { return (nCode & KEY_MODTYPE); }
-    sal_uInt16      GetAllModifier() const
-                    { return (nCode & KEY_ALLMODTYPE); }
     bool            IsShift() const
                     { return ((nCode & KEY_SHIFT) != 0); }
     bool            IsMod1() const
diff --git a/sd/source/ui/func/fupoor.cxx b/sd/source/ui/func/fupoor.cxx
index 66f6484..c98211e 100644
--- a/sd/source/ui/func/fupoor.cxx
+++ b/sd/source/ui/func/fupoor.cxx
@@ -435,7 +435,7 @@ bool FuPoor::KeyInput(const KeyEvent& rKEvt)
             {
                 // The page-up key switches layers or pages depending on the
                 // modifier key.
-                if ( ! rKEvt.GetKeyCode().GetAllModifier())
+                if ( ! rKEvt.GetKeyCode().GetModifier())
                 {
                     // With no modifier pressed we move to the previous
                     // slide.
@@ -482,7 +482,7 @@ bool FuPoor::KeyInput(const KeyEvent& rKEvt)
             {
                 // The page-down key switches layers or pages depending on the
                 // modifier key.
-                if ( ! rKEvt.GetKeyCode().GetAllModifier())
+                if ( ! rKEvt.GetKeyCode().GetModifier())
                 {
                     // With no modifier pressed we move to the next slide.
                     mpView->SdrEndTextEdit();
diff --git a/svtools/source/table/defaultinputhandler.cxx b/svtools/source/table/defaultinputhandler.cxx
index cfa98ea..6f36879 100644
--- a/svtools/source/table/defaultinputhandler.cxx
+++ b/svtools/source/table/defaultinputhandler.cxx
@@ -172,7 +172,7 @@ namespace svt { namespace table
         const _ActionMapEntry* pActions = aKnownActions;
         for ( ; pActions->eAction != invalidTableControlAction; ++pActions )
         {
-            if ( ( pActions->nKeyCode == nKeyCode ) && ( pActions->nKeyModifier == rKeyCode.GetAllModifier() ) )
+            if ( ( pActions->nKeyCode == nKeyCode ) && ( pActions->nKeyModifier == rKeyCode.GetModifier() ) )
             {
                 bHandled = _rControl.dispatchAction( pActions->eAction );
                 break;
diff --git a/vcl/osx/salmenu.cxx b/vcl/osx/salmenu.cxx
index 41e7711..6d13eed 100644
--- a/vcl/osx/salmenu.cxx
+++ b/vcl/osx/salmenu.cxx
@@ -742,7 +742,7 @@ void AquaSalMenu::SetAccelerator( unsigned /*nPos*/, SalMenuItem* pSalMenuItem,
 
     DBG_ASSERT( nCommandKey, "unmapped accelerator key" );
 
-    nModifier=rKeyCode.GetAllModifier();
+    nModifier=rKeyCode.GetModifier();
 
     // should always use the command key
     int nItemModifier = 0;
diff --git a/vcl/source/window/keyevent.cxx b/vcl/source/window/keyevent.cxx
index 6fcae4a5..6b980c2 100644
--- a/vcl/source/window/keyevent.cxx
+++ b/vcl/source/window/keyevent.cxx
@@ -33,7 +33,7 @@ KeyEvent KeyEvent::LogicalTextDirectionality (TextDirectionality eMode) const
     KeyEvent aClone(*this);
 
     sal_uInt16 nCode = maKeyCode.GetCode();
-    sal_uInt16 nMod  = maKeyCode.GetAllModifier();
+    sal_uInt16 nMod  = maKeyCode.GetModifier();
 
     switch (eMode)
     {
commit c91e045c12ac5dffc20c04c6f97db4892c1e558d
Author: Maxim Monastirsky <momonasmon at gmail.com>
Date:   Fri Oct 31 01:13:37 2014 +0200

    fdo#84792 Correct the link for cmd/sc_square.png
    
    Change-Id: I3f66b621b136b8c42c4acc16058276215fd39835

diff --git a/icon-themes/tango/links.txt b/icon-themes/tango/links.txt
index fb86d3f..65fb37e 100644
--- a/icon-themes/tango/links.txt
+++ b/icon-themes/tango/links.txt
@@ -301,7 +301,7 @@ cmd/lc_rect_rounded.png cmd/lc_basicshapes.round-rectangle.png
 cmd/lc_drawtext.png cmd/lc_text.png
 cmd/sc_circle.png cmd/sc_basicshapes.circle.png
 cmd/sc_ellipse.png cmd/sc_basicshapes.ellipse.png
-cmd/sc_square.png cmd/sc_basicshapes.square.png
+cmd/sc_square.png cmd/sc_basicshapes.quadrat.png
 cmd/sc_rect.png cmd/sc_basicshapes.rectangle.png
 cmd/sc_square_rounded.png cmd/sc_basicshapes.round-quadrat.png
 cmd/sc_rect_rounded.png cmd/sc_basicshapes.round-rectangle.png
commit 2633e57dafd5e566ba0ad9a11b9b37f8369fdc9a
Author: Maxim Monastirsky <momonasmon at gmail.com>
Date:   Fri Oct 31 00:54:35 2014 +0200

    fdo#84792 Correct the link for cmd/lc_square.png
    
    Change-Id: Icbb325517ec835d2bee7ac4693cfe939b741d7fd

diff --git a/icon-themes/tango/links.txt b/icon-themes/tango/links.txt
index 3bbd259..fb86d3f 100644
--- a/icon-themes/tango/links.txt
+++ b/icon-themes/tango/links.txt
@@ -294,7 +294,7 @@ cmd/lc_fontcolor.png cmd/lc_color.png
 cmd/sc_fontcolor.png cmd/sc_color.png
 cmd/lc_circle.png cmd/lc_basicshapes.circle.png
 cmd/lc_ellipse.png cmd/lc_basicshapes.ellipse.png
-cmd/lc_square.png cmd/lc_basicshapes.square.png
+cmd/lc_square.png cmd/lc_basicshapes.quadrat.png
 cmd/lc_rect.png cmd/lc_basicshapes.rectangle.png
 cmd/lc_square_rounded.png cmd/lc_basicshapes.round-quadrat.png
 cmd/lc_rect_rounded.png cmd/lc_basicshapes.round-rectangle.png
commit 6b7e9bb9a9d92b925adfd185abc048d62a4260ad
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Oct 31 00:28:01 2014 +0200

    Bin dummy source
    
    Change-Id: I41067a6a81e58793ba8b0491b4044de6e7f68e2b

diff --git a/touch/Library_libotouch.mk b/touch/Library_libotouch.mk
index 856a2c6..1d6b289 100644
--- a/touch/Library_libotouch.mk
+++ b/touch/Library_libotouch.mk
@@ -25,12 +25,4 @@ $(eval $(call gb_Library_add_exception_objects,libotouch,\
 
 endif
 
-ifeq ($(OS),IOS)
-
-$(eval $(call gb_Library_add_objcxx_objects,libotouch,\
-	touch/source/ios/ios \
-))
-
-endif
-
 # vim: set noet sw=4 ts=4:
diff --git a/touch/source/ios/ios.cxx b/touch/source/ios/ios.cxx
deleted file mode 100644
index 2b7f953..0000000
--- a/touch/source/ios/ios.cxx
+++ /dev/null
@@ -1,10 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
commit 593a44a12dbdc00a9f116efc754e3e17dff5dec6
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Oct 30 21:58:36 2014 +0000

    thread-pool: re-work termination semantics to avoid problems.
    
    We want a pre-spun-up, shared thread-pool that doesn't get its
    workers created & joined frequently.
    
    Change-Id: I29081e3a3e3849ca30e63fd080ee3315d99cbe8d

diff --git a/comphelper/source/misc/threadpool.cxx b/comphelper/source/misc/threadpool.cxx
index d2101ad..236a314 100644
--- a/comphelper/source/misc/threadpool.cxx
+++ b/comphelper/source/misc/threadpool.cxx
@@ -92,7 +92,7 @@ ThreadPool::ThreadPool( sal_Int32 nWorkers ) :
 
 ThreadPool::~ThreadPool()
 {
-    waitUntilWorkersDone();
+    waitAndCleanupWorkers();
 }
 
 struct ThreadPoolStatic : public rtl::StaticWithInit< boost::shared_ptr< ThreadPool >,
@@ -109,9 +109,7 @@ ThreadPool& ThreadPool::getSharedOptimalPool()
     return *ThreadPoolStatic::get().get();
 }
 
-/// wait until all the workers have completed and
-/// terminate all threads
-void ThreadPool::waitUntilWorkersDone()
+void ThreadPool::waitAndCleanupWorkers()
 {
     waitUntilEmpty();
 
@@ -169,7 +167,6 @@ void ThreadPool::waitUntilEmpty()
             pTask->doWork();
             delete pTask;
         }
-        mbTerminate = true;
     }
     else
     {
diff --git a/include/comphelper/threadpool.hxx b/include/comphelper/threadpool.hxx
index ae103f1..2e51719 100644
--- a/include/comphelper/threadpool.hxx
+++ b/include/comphelper/threadpool.hxx
@@ -39,14 +39,19 @@ public:
                 ThreadPool( sal_Int32 nWorkers );
     virtual    ~ThreadPool();
 
+    /// push a new task onto the work queue
     void        pushTask( ThreadTask *pTask /* takes ownership */ );
+
+    /// wait until all queued tasks are completed
     void        waitUntilEmpty();
-    void        waitUntilWorkersDone();
 
 private:
     class ThreadWorker;
     friend class ThreadWorker;
 
+    /// wait until all work is completed, then join all threads
+    void        waitAndCleanupWorkers();
+
     ThreadTask *waitForWork( osl::Condition &rNewWork );
     ThreadTask *popWork();
 
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index 62ea5bb..8488b46 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -336,8 +336,9 @@ void importSheetFragments( WorkbookFragment& rWorkbookHandler, SheetFragmentVect
             // bar updating.
             Application::Yield();
         }
-        // join all the threads:
-        aPool.waitUntilWorkersDone();
+        aPool.waitUntilEmpty();
+
+        // threads joined in ThreadPool destructor
     }
     else // single threaded iteration
     {
commit 62090f65b804a08a66ca26675ae610ed07c7c341
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Thu Oct 30 18:37:42 2014 +0000

    Move thread-pool down into comphelper for re-use elsewhere.
    
    Change-Id: Ib27b8b1ccc07ff194035d6c2ef3d45c429e3cea1

diff --git a/comphelper/Library_comphelper.mk b/comphelper/Library_comphelper.mk
index cfe48f6..84bf698 100644
--- a/comphelper/Library_comphelper.mk
+++ b/comphelper/Library_comphelper.mk
@@ -114,6 +114,7 @@ $(eval $(call gb_Library_add_exception_objects,comphelper,\
     comphelper/source/misc/string \
     comphelper/source/misc/synchronousdispatch \
     comphelper/source/misc/syntaxhighlight \
+    comphelper/source/misc/threadpool \
     comphelper/source/misc/types \
     comphelper/source/misc/weak \
     comphelper/source/misc/weakeventlistener \
diff --git a/sc/source/filter/oox/threadpool.cxx b/comphelper/source/misc/threadpool.cxx
similarity index 84%
rename from sc/source/filter/oox/threadpool.cxx
rename to comphelper/source/misc/threadpool.cxx
index 3fcfa75..d2101ad 100644
--- a/sc/source/filter/oox/threadpool.cxx
+++ b/comphelper/source/misc/threadpool.cxx
@@ -7,17 +7,22 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#include "threadpool.hxx"
+#include <comphelper/threadpool.hxx>
 
+#include <rtl/instance.hxx>
+#include <boost/shared_ptr.hpp>
+#include <thread>
 #include <algorithm>
 
+namespace comphelper {
+
 class ThreadPool::ThreadWorker : public salhelper::Thread
 {
     ThreadPool    *mpPool;
     osl::Condition maNewWork;
 public:
     ThreadWorker( ThreadPool *pPool ) :
-        salhelper::Thread("sheet-import-thread-pool"),
+        salhelper::Thread("thread-pool"),
         mpPool( pPool ) {}
 
     virtual void execute() SAL_OVERRIDE
@@ -90,6 +95,20 @@ ThreadPool::~ThreadPool()
     waitUntilWorkersDone();
 }
 
+struct ThreadPoolStatic : public rtl::StaticWithInit< boost::shared_ptr< ThreadPool >,
+                                                      ThreadPoolStatic >
+{
+    boost::shared_ptr< ThreadPool > operator () () {
+        sal_Int32 nThreads = std::max( std::thread::hardware_concurrency(), 1U );
+        return boost::shared_ptr< ThreadPool >( new ThreadPool( nThreads ) );
+    };
+};
+
+ThreadPool& ThreadPool::getSharedOptimalPool()
+{
+    return *ThreadPoolStatic::get().get();
+}
+
 /// wait until all the workers have completed and
 /// terminate all threads
 void ThreadPool::waitUntilWorkersDone()
@@ -161,4 +180,6 @@ void ThreadPool::waitUntilEmpty()
     assert( maTasks.empty() );
 }
 
+} // namespace comphelper
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/filter/oox/threadpool.hxx b/include/comphelper/threadpool.hxx
similarity index 73%
rename from sc/source/filter/oox/threadpool.hxx
rename to include/comphelper/threadpool.hxx
index 19b524c..ae103f1 100644
--- a/sc/source/filter/oox/threadpool.hxx
+++ b/include/comphelper/threadpool.hxx
@@ -7,8 +7,8 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
  */
 
-#ifndef INCLUDED_SC_SOURCE_FILTER_OOX_THREADPOOL_HXX
-#define INCLUDED_SC_SOURCE_FILTER_OOX_THREADPOOL_HXX
+#ifndef INCLUDED_COMPHELPER_THREADPOOL_HXX
+#define INCLUDED_COMPHELPER_THREADPOOL_HXX
 
 #include <sal/config.h>
 #include <salhelper/thread.hxx>
@@ -16,8 +16,12 @@
 #include <osl/conditn.hxx>
 #include <rtl/ref.hxx>
 #include <vector>
+#include <comphelper/comphelperdllapi.h>
 
-class ThreadTask
+namespace comphelper
+{
+
+class COMPHELPER_DLLPUBLIC ThreadTask
 {
 public:
     virtual      ~ThreadTask() {}
@@ -25,11 +29,16 @@ public:
 };
 
 /// A very basic thread pool implementation
-class ThreadPool
+class COMPHELPER_DLLPUBLIC ThreadPool
 {
 public:
+    /// returns a pointer to a shared pool with optimal thread
+    /// count for the CPU
+    static      ThreadPool& getSharedOptimalPool();
+
                 ThreadPool( sal_Int32 nWorkers );
     virtual    ~ThreadPool();
+
     void        pushTask( ThreadTask *pTask /* takes ownership */ );
     void        waitUntilEmpty();
     void        waitUntilWorkersDone();
@@ -48,6 +57,8 @@ private:
     std::vector< ThreadTask * >   maTasks;
 };
 
-#endif // INCLUDED_SC_SOURCE_FILTER_OOX_THREADPOOL_HXX
+} // namespace comphelper
+
+#endif // INCLUDED_COMPHELPER_THREADPOOL_HXX
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/Library_scfilt.mk b/sc/Library_scfilt.mk
index 00d32da..77c8486 100644
--- a/sc/Library_scfilt.mk
+++ b/sc/Library_scfilt.mk
@@ -214,7 +214,6 @@ $(eval $(call gb_Library_add_exception_objects,scfilt,\
 	sc/source/filter/oox/tablebuffer \
 	sc/source/filter/oox/tablefragment \
 	sc/source/filter/oox/themebuffer \
-	sc/source/filter/oox/threadpool \
 	sc/source/filter/oox/unitconverter \
 	sc/source/filter/oox/viewsettings \
 	sc/source/filter/oox/workbookfragment \
diff --git a/sc/source/filter/oox/workbookfragment.cxx b/sc/source/filter/oox/workbookfragment.cxx
index 26bf3b4..62ea5bb 100644
--- a/sc/source/filter/oox/workbookfragment.cxx
+++ b/sc/source/filter/oox/workbookfragment.cxx
@@ -46,7 +46,6 @@
 #include "worksheethelper.hxx"
 #include "worksheetfragment.hxx"
 #include "sheetdatacontext.hxx"
-#include "threadpool.hxx"
 #include "officecfg/Office/Common.hxx"
 
 #include "document.hxx"
@@ -58,6 +57,7 @@
 
 #include <oox/core/fastparser.hxx>
 #include <salhelper/thread.hxx>
+#include <comphelper/threadpool.hxx>
 #include <osl/conditn.hxx>
 
 #include <algorithm>
@@ -207,7 +207,7 @@ namespace {
 typedef std::pair<WorksheetGlobalsRef, FragmentHandlerRef> SheetFragmentHandler;
 typedef std::vector<SheetFragmentHandler> SheetFragmentVector;
 
-class WorkerThread : public ThreadTask
+class WorkerThread : public comphelper::ThreadTask
 {
     sal_Int32 &mrSheetsLeft;
     WorkbookFragment& mrWorkbookHandler;
@@ -311,7 +311,7 @@ void importSheetFragments( WorkbookFragment& rWorkbookHandler, SheetFragmentVect
         // test sequential read in this mode
         if( nThreads < 0)
             nThreads = 0;
-        ThreadPool aPool( nThreads );
+        comphelper::ThreadPool aPool( nThreads );
 
         sal_Int32 nSheetsLeft = 0;
         ProgressBarTimer aProgressUpdater;
commit 2f55701c550950ab4530df3c9ca305a819e3cabb
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Oct 31 00:02:05 2014 +0200

    Add a few informative SAL_INFOs
    
    Change-Id: I1ac6366714acd7ec3e74b7afb4670c73825d1032

diff --git a/sc/source/core/opencl/opencl_device.cxx b/sc/source/core/opencl/opencl_device.cxx
index 90b4f3d..2703040 100644
--- a/sc/source/core/opencl/opencl_device.cxx
+++ b/sc/source/core/opencl/opencl_device.cxx
@@ -249,6 +249,7 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
             //buildOption = "-D KHR_DP_EXTENSION -Dfp_t=double -Dfp_t4=double4 -Dfp_t16=double16";
             tmpStr.append(" -DKHR_DP_EXTENSION");
             buildOption = tmpStr.c_str();
+            SAL_INFO("sc.opencl.device", "... has cl_khr_fp64");
         }
         else if ((std::string(aExtInfo)).find("cl_amd_fp64") != std::string::npos)
         {
@@ -256,6 +257,7 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
             //buildOption = "-D AMD_DP_EXTENSION -Dfp_t=double -Dfp_t4=double4 -Dfp_t16=double16";
             tmpStr.append(" -DAMD_DP_EXTENSION");
             buildOption = tmpStr.c_str();
+            SAL_INFO("sc.opencl.device", "... has cl_amd_fp64");
         }
         delete[] aExtInfo;
 
@@ -265,6 +267,7 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
             device->score = (void*)new LibreOfficeDeviceScore;
             ((LibreOfficeDeviceScore*)device->score)->fTime = DBL_MAX;
             ((LibreOfficeDeviceScore*)device->score)->bNoCLErrors = true;
+            SAL_INFO("sc.opencl.device", "... no fp64 support");
         }
         else
         {
commit 03d90274bcb6fb617034161c6d4676050d7e9edb
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 30 22:47:26 2014 +0200

    Make sure the cached OpenCL profile file actually matches the devices present
    
    Re-evaluate scores if the profile file did not match.
    
    It used to work so that if the OpenCL devices available had changed (if just
    the OpenCL driver version had changed), we did not re-evaluate scores but
    instead selected the dummy software device. Which hardly was as intended.
    
    Change-Id: Ifd79c0226504323f275d2e1d02876a0fecc449e0

diff --git a/sc/source/core/opencl/opencl_device_selection.h b/sc/source/core/opencl/opencl_device_selection.h
index 1d5086d..fcfa41a 100644
--- a/sc/source/core/opencl/opencl_device_selection.h
+++ b/sc/source/core/opencl/opencl_device_selection.h
@@ -602,7 +602,17 @@ inline ds_status readProfileFromFile(ds_profile* profile, ds_score_deserializer
     }
 cleanup:
     if (contentStart != NULL) free(contentStart);
-    return status;
+    if (status != DS_SUCCESS)
+        return status;
+
+    // Check that all the devices present had valid cached scores. If
+    // not, return DS_INVALID_PROFILE and let the caller re-evaluate
+    // scores for present devices, and write a new profile file.
+    for (unsigned int i = 0; i < profile->numDevices; i++)
+        if (profile->devices[i].score == NULL)
+            return DS_INVALID_PROFILE;
+
+    return DS_SUCCESS;
 }
 
 inline ds_status getNumDeviceWithEmptyScore(ds_profile* profile, unsigned int* num)
commit 07accd020ba1e5dc8bba2909e9e6518140acb477
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 30 20:02:58 2014 +0200

    Use our standard SAL_INFO instead of homegrown LOG_PRINTF thingie
    
    Change-Id: I3bca38b16613d59c4620de33eaf61bebb269e1a8

diff --git a/sc/source/core/opencl/opencl_device.cxx b/sc/source/core/opencl/opencl_device.cxx
index bcb3c3f..90b4f3d 100644
--- a/sc/source/core/opencl/opencl_device.cxx
+++ b/sc/source/core/opencl/opencl_device.cxx
@@ -21,6 +21,7 @@
 #include <iostream>
 #include <sstream>
 #include <vector>
+#include <sal/log.hxx>
 #include <comphelper/random.hxx>
 #include <boost/scoped_ptr.hpp>
 
@@ -30,13 +31,11 @@
 #define OUTPUTSIZE 15360
 
 #define STRINGIFY(...) #__VA_ARGS__"\n"
-//#define LOG_PRINTF(x) (std::cout << x << std::endl)
-#define LOG_PRINTF(x)
 
 #define DS_CHECK_STATUS(status, name) \
     if (CL_SUCCESS != status) \
     { \
-        LOG_PRINTF("[OCL] Error code is " << status << " at " << name); \
+    SAL_INFO("sc.opencl.device", "Error code is " << status << " at " name); \
     }
 
 namespace sc { namespace OpenCLDevice {
@@ -226,7 +225,7 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
     if (DS_DEVICE_OPENCL_DEVICE == device->type)
     {
         /* Evaluating an OpenCL device */
-        LOG_PRINTF("[DS] Device: \"" << device->oclDeviceName << "\" (OpenCL) evaluation...");
+        SAL_INFO("sc.opencl.device", "Device: \"" << device->oclDeviceName << "\" (OpenCL) evaluation...");
         cl_int clStatus;
         /* Check for 64-bit float extensions */
         size_t aDevExtInfoSize = 0;
@@ -290,7 +289,7 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
                 clStatus = clGetProgramBuildInfo(clProgram, device->oclDeviceID, CL_PROGRAM_BUILD_LOG, 0, NULL, &length);
                 buildLog = (char*)malloc(length);
                 clGetProgramBuildInfo(clProgram, device->oclDeviceID, CL_PROGRAM_BUILD_LOG, length, buildLog, &length);
-                LOG_PRINTF("[OCL] Build Errors" << std::endl << buildLog);
+                SAL_INFO("sc.opencl.device", "Build Errors:\n" << buildLog);
                 free(buildLog);
 
                 device->score = (void*)new LibreOfficeDeviceScore;
@@ -352,7 +351,7 @@ ds_status evaluateScoreForDevice(ds_device* device, void* evalData)
     else
     {
         /* Evaluating an Native CPU device */
-        LOG_PRINTF("[DS] Device: \"CPU\" (Native) evaluation...");
+        SAL_INFO("sc.opencl.device", "Device: \"CPU\" (Native) evaluation...");
         timer kernelTime;
         timerStart(&kernelTime);
 
@@ -405,16 +404,16 @@ ds_status pickBestDevice(ds_profile* profile, int* bestDeviceIdx)
         }
         else
         {
-            LOG_PRINTF("Unusual null score");
+            SAL_INFO("sc.opencl.device", "Unusual null score");
         }
 
         if (DS_DEVICE_OPENCL_DEVICE == device.type)
         {
-            LOG_PRINTF("[DS] Device[" << d << "] " << device.oclDeviceName << " (OpenCL) score is " << fScore);
+            SAL_INFO("sc.opencl.device", "Device[" << d << "] " << device.oclDeviceName << " (OpenCL) score is " << fScore);
         }
         else
         {
-            LOG_PRINTF("[DS] Device[" << d << "] CPU (Native) score is " << fScore);
+            SAL_INFO("sc.opencl.device", "Device[" << d << "] CPU (Native) score is " << fScore);
         }
         if (fScore < bestScore)
         {
@@ -424,11 +423,11 @@ ds_status pickBestDevice(ds_profile* profile, int* bestDeviceIdx)
     }
     if (DS_DEVICE_OPENCL_DEVICE == profile->devices[*bestDeviceIdx].type)
     {
-        LOG_PRINTF("[DS] Selected Device[" << *bestDeviceIdx << "]: " << profile->devices[*bestDeviceIdx].oclDeviceName << "(OpenCL).");
+        SAL_INFO("sc.opencl.device", "Selected Device[" << *bestDeviceIdx << "]: " << profile->devices[*bestDeviceIdx].oclDeviceName << "(OpenCL).");
     }
     else
     {
-        LOG_PRINTF("[DS] Selected Device[" << *bestDeviceIdx << "]: CPU (Native).");
+        SAL_INFO("sc.opencl.device", "Selected Device[" << *bestDeviceIdx << "]: CPU (Native).");
     }
 
     return DS_SUCCESS;
@@ -476,13 +475,13 @@ ds_device getDeviceSelection(const char* sProfilePath, bool bForceSelection)
         else
         {
             status = DS_INVALID_PROFILE;
-            LOG_PRINTF("[DS] Performing forced profiling.");
+            SAL_INFO("sc.opencl.device", "Performing forced profiling.");
         }
         if (DS_SUCCESS != status)
         {
             if (!bForceSelection)
             {
-                LOG_PRINTF("[DS] Profile file not available (" << fileName << "); performing profiling.");
+                SAL_INFO("sc.opencl.device", "Profile file not available (" << fileName << "); performing profiling.");
             }
 
             /* Populate input data for micro-benchmark */
@@ -506,21 +505,21 @@ ds_device getDeviceSelection(const char* sProfilePath, bool bForceSelection)
                 status = writeProfileToFile(profile, serializeScore, fileName);
                 if (DS_SUCCESS == status)
                 {
-                    LOG_PRINTF("[DS] Scores written to file (" << fileName << ").");
+                    SAL_INFO("sc.opencl.device", "Scores written to file (" << fileName << ").");
                 }
                 else
                 {
-                    LOG_PRINTF("[DS] Error saving scores to file (" << fileName << "); scores not written to file.");
+                    SAL_INFO("sc.opencl.device", "Error saving scores to file (" << fileName << "); scores not written to file.");
                 }
             }
             else
             {
-                LOG_PRINTF("[DS] Unable to evaluate performance; scores not written to file.");
+                SAL_INFO("sc.opencl.device", "Unable to evaluate performance; scores not written to file.");
             }
         }
         else
         {
-            LOG_PRINTF("[DS] Profile read from file (" << fileName << ").");
+            SAL_INFO("sc.opencl.device", "Profile read from file (" << fileName << ").");
         }
 
         /* Pick best device */
@@ -534,20 +533,20 @@ ds_device getDeviceSelection(const char* sProfilePath, bool bForceSelection)
             int overrideDeviceIdx = matchDevice(profile, overrideDeviceStr);
             if (-1 != overrideDeviceIdx)
             {
-                LOG_PRINTF("[DS] Overriding Device Selection (SC_OPENCL_DEVICE_OVERRIDE=" << overrideDeviceStr << ").");
+                SAL_INFO("sc.opencl.device", "Overriding Device Selection (SC_OPENCL_DEVICE_OVERRIDE=" << overrideDeviceStr << ").");
                 bestDeviceIdx = overrideDeviceIdx;
                 if (DS_DEVICE_OPENCL_DEVICE == profile->devices[bestDeviceIdx].type)
                 {
-                    LOG_PRINTF("[DS] Selected Device[" << bestDeviceIdx << "]: " << profile->devices[bestDeviceIdx].oclDeviceName << " (OpenCL).");
+                    SAL_INFO("sc.opencl.device", "Selected Device[" << bestDeviceIdx << "]: " << profile->devices[bestDeviceIdx].oclDeviceName << " (OpenCL).");
                 }
                 else
                 {
-                    LOG_PRINTF("[DS] Selected Device[" << bestDeviceIdx << "]: CPU (Native).");
+                    SAL_INFO("sc.opencl.device", "Selected Device[" << bestDeviceIdx << "]: CPU (Native).");
                 }
             }
             else
             {
-                LOG_PRINTF("[DS] Ignoring invalid SC_OPENCL_DEVICE_OVERRIDE=" << overrideDeviceStr << ").");
+                SAL_INFO("sc.opencl.device", "Ignoring invalid SC_OPENCL_DEVICE_OVERRIDE=" << overrideDeviceStr << ").");
             }
         }
 
commit c554343856a4efdc3388498656ad518b0f03b41c
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 30 16:31:04 2014 +0200

    Use SAL_INFO instead of fprintf(stderr)
    
    Change-Id: I49bc06865c599e0a4417e24c70845a2bc25b7ff8

diff --git a/sc/source/core/tool/formulagroup.cxx b/sc/source/core/tool/formulagroup.cxx
index 32e83c6..b4a8827 100644
--- a/sc/source/core/tool/formulagroup.cxx
+++ b/sc/source/core/tool/formulagroup.cxx
@@ -478,7 +478,7 @@ public:
     {
         const char *pValue = getenv("FORMULA_GROUP_DUMMY");
         meMode = static_cast<Mode>(OString(pValue, strlen(pValue)).toInt32());
-        fprintf(stderr, "Using Dummy Formula Group interpreter mode %d\n", (int)meMode);
+        SAL_INFO("sc.formulagroup", "Using Dummy Formula Group interpreter mode " << (int)meMode);
     }
 
     virtual ScMatrixRef inverseMatrix(const ScMatrix& /*rMat*/)
@@ -527,7 +527,7 @@ FormulaGroupInterpreter *FormulaGroupInterpreter::getStatic()
 
         if ( !msInstance ) // software fallback
         {
-            fprintf(stderr, "Create S/W interp\n");
+            SAL_INFO("sc.formulagroup", "Create S/W interpreter");
             msInstance = new sc::FormulaGroupInterpreterSoftware();
         }
     }
commit 249d1b57faa046642298940be9a1c26ca08072a3
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Oct 30 20:20:54 2014 +0000

    pluralize
    
    Change-Id: I0ffb952b1a12889462c209d0c2d43ab75296c3d0

diff --git a/svx/uiconfig/ui/docrecoveryrecoverdialog.ui b/svx/uiconfig/ui/docrecoveryrecoverdialog.ui
index fe77eb8..0f4a1a8 100644
--- a/svx/uiconfig/ui/docrecoveryrecoverdialog.ui
+++ b/svx/uiconfig/ui/docrecoveryrecoverdialog.ui
@@ -76,7 +76,7 @@
                     <property name="xalign">0</property>
                     <property name="label" translatable="yes">Press 'Start Recovery' to start the recovery process of the documents listed below.
 
-Press 'Discard Recovery Data' to abandon attempting recovery of these document.
+Press 'Discard Recovery Data' to abandon attempting recovery of these documents.
 
 The 'Status' column shows whether the document can be recovered.</property>
                     <property name="wrap">True</property>
commit 8abb980a3fa32d3755b67ba4972eb56edaf36aa1
Author: Tor Lillqvist <tml at collabora.com>
Date:   Thu Oct 30 21:12:51 2014 +0200

    WaE: unused variable 'pXmlDoc'
    
    Change-Id: Ie232566340e3d7c77cabbfcea641f3d1b40de0bd

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 1ca3bce..11ba954 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -445,6 +445,7 @@ DECLARE_OOXMLEXPORT_TEST(testCropPixel, "crop-pixel.docx")
     {
         // This is 17667 in the original document, was 504666 (so the image
         // become invisible), now is around 19072.
+        (void) pXmlDoc;
 #ifndef MACOSX
         CPPUNIT_ASSERT(getXPath(pXmlDoc, "//a:srcRect", "l").toInt32() < 20000);
 #endif
commit 70485c1137e04a4b86eb25bb3d9a619ced52b3ea
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Oct 30 19:15:04 2014 +0000

    nothing to see here, move along
    
    brown bag fix for
    
    commit cdbfbd0f7c3ed3bd3235f97197d279c41913245b
    Date:   Thu Oct 30 09:21:40 2014 +0000
        coverity#735608 Division or modulo by float zero
        and
        coverity#735607 Division or modulo by float zero
    
    Change-Id: I8e04765cf5354d57a54b166a5e2af71b40b670bb

diff --git a/extensions/source/scanner/grid.cxx b/extensions/source/scanner/grid.cxx
index 44143f5..96fb625 100644
--- a/extensions/source/scanner/grid.cxx
+++ b/extensions/source/scanner/grid.cxx
@@ -308,7 +308,7 @@ void GridWindow::transform( const Point& rOriginal, double& x, double& y )
 {
     const long nWidth = m_aGridArea.GetWidth();
     const long nHeight = m_aGridArea.GetHeight();
-    if (!nWidth || nHeight)
+    if (!nWidth || !nHeight)
         return;
     x = ( rOriginal.X() - m_aGridArea.Left() ) * (m_fMaxX - m_fMinX) / (double)nWidth + m_fMinX;
     y = ( m_aGridArea.Bottom() - rOriginal.Y() ) * (m_fMaxY - m_fMinY) / (double)nHeight + m_fMinY;
commit f5296655650e75fee259acf1959c15eb2cea3a1e
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Thu Oct 30 13:10:46 2014 -0500

    disable specific oox_export unit for macosx
    
    the magic number in this test does not seems to agree with Mac Retina
    Display (Assumed because the non Retina tinderbox do not complain)
    
    Change-Id: I247215b59995e4ffc01720da4988e7eaa8ac78ca

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
index 3d76287..1ca3bce 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx
@@ -445,7 +445,9 @@ DECLARE_OOXMLEXPORT_TEST(testCropPixel, "crop-pixel.docx")
     {
         // This is 17667 in the original document, was 504666 (so the image
         // become invisible), now is around 19072.
+#ifndef MACOSX
         CPPUNIT_ASSERT(getXPath(pXmlDoc, "//a:srcRect", "l").toInt32() < 20000);
+#endif
     }
 }
 
commit 1ea6dd2111a0ecf7aface1af0ffb0c17bd6d79fe
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Thu Oct 30 13:08:46 2014 -0500

    address LTR issue with coretext rendering
    
    There was a snaffu with the handling of DXArray
    concerning the special case of the 'first' character
    and how that translate when the glyph order is not
    the same than the character order
    
    Change-Id: Ie9273ff22fa2d22ca0df2b583768ffb2b2a59930

diff --git a/vcl/quartz/ctlayout.cxx b/vcl/quartz/ctlayout.cxx
index a0bcd24..3a42ebc 100644
--- a/vcl/quartz/ctlayout.cxx
+++ b/vcl/quartz/ctlayout.cxx
@@ -141,7 +141,7 @@ bool CTLayout::LayoutText( ImplLayoutArgs& rArgs )
     // CFAttributedStringCreate copies the attribues parameter
     mpAttrString = CFAttributedStringCreate( NULL, aCFText, mpTextStyle->GetStyleDict() );
     mpCTLine = CTLineCreateWithAttributedString( mpAttrString );
-    SAL_INFO( "vcl.ct", "CTLineCreateWithAttributedString(\"" << GetOUString(aCFText) << "\") = " << mpCTLine );
+    SAL_INFO( "vcl.ct", "CTLineCreateWithAttributedString(\"" << GetOUString(aCFText) << "\") =p " << mpCTLine );
     CFRelease( aCFText);
 
     mnTrailingSpaceCount = 0;
@@ -176,48 +176,32 @@ void CTLayout::ApplyDXArray(ImplLayoutArgs& rArgs)
         delete[] iter->m_pAdjPositions;
         iter->m_pAdjPositions = new CGPoint[iter->m_nGlyphs];
 
+        SAL_INFO( "vcl.ct", "Apply DXArray Run status:"<< (void*)(uintptr_t)status);
+
         if(!(status & kCTRunStatusNonMonotonic))
         {
-            if(mnLayoutFlags & SAL_LAYOUT_VERTICAL)
+            /* simple 1 to 1 */
+            SAL_INFO( "vcl.ct", "nb glyph in vrun:" << iter->m_nGlyphs);
+            for(int i = 0 ; i < iter->m_nGlyphs; i++)
             {
-                /* simple 1 to 1 */
-                for(int i = 0 ; i < iter->m_nGlyphs; i++)
+                SAL_INFO( "vcl.ct", "StringIndices[ "<< i << " ] = " << iter->m_pStringIndices[i]);
+                int j = iter->m_pStringIndices[i];
+                if(j == 0)
                 {
-                    if(iter->m_pStringIndices[i] == 0)
-                    {
-                        iter->m_pAdjPositions[i].x = 0;
-                        SAL_INFO( "vcl.ct", "Apply DXArray["<< i << "]: 0.0 pos: " << iter->m_pPositions[i].x);
-                    }
-                    else
-                    {
-                        iter->m_pAdjPositions[i].x = rArgs.mpDXArray[iter->m_pStringIndices[i-1]];
-                        SAL_INFO( "vcl.ct", "Apply to i DXArray["<< iter->m_pStringIndices[i-1] << "]: " <<
-                                  rArgs.mpDXArray[iter->m_pStringIndices[i-1]] << " pos:( " << iter->m_pPositions[i].x << ", " << iter->m_pPositions[i].y);
-                    }
-                    iter->m_pAdjPositions[i].y = iter->m_pPositions[i].y;
+                    iter->m_pAdjPositions[i].x = 0;
+                    SAL_INFO( "vcl.ct", "m_pAdjPostion[" << i << "] = 0.0");
                 }
-            }
-            else
-            {
-                /* simple 1 to 1 */
-                for(int i = 0 ; i < iter->m_nGlyphs; i++)
+                else
                 {
-                    if(iter->m_pStringIndices[i] == 0)
-                    {
-                        iter->m_pAdjPositions[i].x = 0;
-                        SAL_INFO( "vcl.ct", "Apply DXArray["<< i << "]: 0.0 pos: " << iter->m_pPositions[i].x);
-                    }
-                    else
-                    {
-                        iter->m_pAdjPositions[i].x = rArgs.mpDXArray[iter->m_pStringIndices[i-1]];
-                        SAL_INFO( "vcl.ct", "Apply to i DXArray["<< iter->m_pStringIndices[i-1] << "]: " << rArgs.mpDXArray[iter->m_pStringIndices[i-1]] << " pos: " << iter->m_pPositions[i].x);
-                    }
-                    iter->m_pAdjPositions[i].y = iter->m_pPositions[i].y;
+                    iter->m_pAdjPositions[i].x = rArgs.mpDXArray[j - 1];
+                    SAL_INFO( "vcl.ct", "m_pAdjPostion[" << i << "] = rArgs.mpDXArray[ " << j - 1 << " ]= " << rArgs.mpDXArray[j -1]);
                 }
+                iter->m_pAdjPositions[i].y = iter->m_pPositions[i].y;
             }
         }
         else
         {
+            SAL_INFO( "vcl.ct", "drop DXArray info");
             delete[] iter->m_pAdjPositions;
             iter->m_pAdjPositions = NULL;
         }
@@ -379,7 +363,7 @@ bool CTLayout::DrawTextSpecial( SalGraphics& rGraphics, sal_uInt32 flags ) const
                 CFAttributedStringGetString(mpAttrString),
                 styledict);
         CTLineRef pCTLine = CTLineCreateWithAttributedString( pAttrStr );
-        SAL_INFO( "vcl.ct", "CTLineCreateWithAttributedString(" << pAttrStr << ") = " << pCTLine );
+        SAL_INFO( "vcl.ct", "CTLineCreateWithAttributedString(" << GetOUString(CFAttributedStringGetString(mpAttrSring)) << ") = " << pCTLine );
         CFRelease( pAttrStr );
 
         /* draw the text in 'outline' */
@@ -777,8 +761,8 @@ DeviceCoordinate CTLayout::FillDXArray( DeviceCoordinate* pDXArray ) const
         for( int i = 0; i != nGlyphCount; ++i )
         {
             const int nRelIdx = aIndexVec[i];
+            SAL_INFO( "vcl.ct", "pDXArray[ g:" << i << "-> c:" << nRelIdx << " ] = " << pDXArray[nRelIdx] << " + " << aSizeVec[i].width << " = " << pDXArray[nRelIdx] + aSizeVec[i].width);
             pDXArray[nRelIdx] += aSizeVec[i].width;
-            SAL_INFO( "vcl.ct", "Fill DXArray["<< nRelIdx << "]: " << pDXArray[nRelIdx] << " aSizeVer[" << i << "].width :" << aSizeVec[i].width);
         }
     }
     return nPixWidth;
commit d0c73da0ccaf3ad760714c5eb956eb52a09ccb59
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Thu Oct 30 13:06:59 2014 -0500

    add SAL_INFO to CTRundata
    
    Change-Id: I577f7582b4938dc5dcd75460dd889c5675ee3c17

diff --git a/vcl/quartz/CTRunData.cxx b/vcl/quartz/CTRunData.cxx
index 080052b..2bb5ed3 100644
--- a/vcl/quartz/CTRunData.cxx
+++ b/vcl/quartz/CTRunData.cxx
@@ -9,6 +9,7 @@
 
 #include <sal/types.h>
 #include <cassert>
+#include "quartz/utils.h"
 
 #include "CTRunData.hxx"
 
@@ -58,6 +59,11 @@ CTRunData::CTRunData( CTRunRef pRun, int start)
         ownership_flags |= CTRUNDATA_F_OWN_POSITIONS;
         CTRunGetPositions( pRun, aAll, (CGPoint*)m_pPositions );
     }
+    for(int i = 0; i < m_nGlyphs; i++)
+    {
+        SAL_INFO( "vcl.ct", "CTRunData Adv:" << (double)m_pAdvances[i].width << " s-idx:" << m_pStringIndices[i] << " pos:(" <<
+                  m_pPositions[i].x << ":" << m_pPositions[i].y << ")");
+    }
 }
 
 CTRunData::~CTRunData()
commit 5ecd416c011557ce663edd52a5bc95e991fb3b84
Author: Eike Rathke <erack at redhat.com>
Date:   Thu Oct 30 17:51:28 2014 +0100

    CID#736090 Improper use of negative value
    
    Change-Id: Ice6d473d56b16ca53a046888f38d0c570d4b3828

diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index 8102c78..d9140ed 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -52,6 +52,9 @@ bool lcl_GetTextWithBreaks( const EditTextObject& rData, ScDocument* pDoc, OUStr
 bool ScTable::SearchCell(const SvxSearchItem& rSearchItem, SCCOL nCol, SCROW nRow,
                          const ScMarkData& rMark, OUString& rUndoStr, ScDocument* pUndoDoc)
 {
+    if (!ValidColRow( nCol, nRow))
+        return false;
+
     bool    bFound = false;
     bool    bDoSearch = true;
     bool    bDoBack = rSearchItem.GetBackward();
commit 34c725d3fdf95841df43910715f61db980783bca
Author: Eike Rathke <erack at redhat.com>
Date:   Fri Oct 24 23:42:08 2014 +0200

    eliminate now unnecessary temporary OUString
    
    Change-Id: I8461cb3f9a3c1cd662b1bcbfc53ee56a498a7b35

diff --git a/svl/source/numbers/zforlist.cxx b/svl/source/numbers/zforlist.cxx
index d28d5f6..fba025a 100644
--- a/svl/source/numbers/zforlist.cxx
+++ b/svl/source/numbers/zforlist.cxx
@@ -1801,13 +1801,11 @@ SvNumberformat* SvNumberFormatter::ImpInsertFormat( const ::com::sun::star::i18n
         }
     }
     sal_Int32 nCheckPos = 0;
-    OUString sTempIn(aCodeStr);
-    SvNumberformat* pFormat = new SvNumberformat(sTempIn,
+    SvNumberformat* pFormat = new SvNumberformat(aCodeStr,
                                                  pFormatScanner,
                                                  pStringScanner,
                                                  nCheckPos,
                                                  ActLnge);
-    aCodeStr = sTempIn;
     if ( !pFormat || !(nCheckPos == 0) )
     {
         if (LocaleDataWrapper::areChecksEnabled())
commit 0c0e3e7539f683548e93616a30af8ac90c9abad0
Author: Andrea Gelmini <andrea.gelmini at gelma.net>
Date:   Thu Oct 30 12:04:11 2014 +0100

    Fixed typos. No automatic tools (sed, and so on).
    
    Change-Id: Ia43976d84eede6f699381bc4f3daf89b95e4cb4f
    Reviewed-on: https://gerrit.libreoffice.org/12150
    Reviewed-by: Bryan Quigley <gquigs at gmail.com>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/bridges/test/java_uno/nativethreadpool/readme b/bridges/test/java_uno/nativethreadpool/readme
index 76abefe..f0be4e8 100644
--- a/bridges/test/java_uno/nativethreadpool/readme
+++ b/bridges/test/java_uno/nativethreadpool/readme
@@ -21,7 +21,7 @@ pool as a C++ URP bridge.  This test currently only works on Linux Intel.
 
 There are two processes involved.  The client starts as a native process.  It
 first loads a Java component (Relay) via the in-process JNI bridge, which in
-turn starts to accept incomming URP connections.  The native part of the client
+turn starts to accept incoming URP connections.  The native part of the client
 then connects to the server, retrieves a thread-local token from it, and checks
 the token for correctness.  The server simply waits for a connection from the
 native part of the client, creates a connection to the Java part of the client,
diff --git a/configure.ac b/configure.ac
index 2796015..e39ce6b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2291,9 +2291,9 @@ AC_ARG_WITH(macosx-sdk,
                           e. g.: --with-macosx-sdk=10.8
 
                           there are 3 options to control the MacOSX build:
-                          --with-macosx-sdk (refered as 'sdk' below)
-                          --with-macosx-version-min-required (refered as 'min' below)
-                          --with-macosx-version-max-allowed (refered as 'max' below)
+                          --with-macosx-sdk (referred as 'sdk' below)
+                          --with-macosx-version-min-required (referred as 'min' below)
+                          --with-macosx-version-max-allowed (referred as 'max' below)
 
                           the connection between these value and the default they take is as follow:
                           ( ? means not specified on the command line, s means the SDK version found,
diff --git a/connectivity/source/drivers/odbc/ORealDriver.cxx b/connectivity/source/drivers/odbc/ORealDriver.cxx
index 6ff10e2..57bac98 100644
--- a/connectivity/source/drivers/odbc/ORealDriver.cxx
+++ b/connectivity/source/drivers/odbc/ORealDriver.cxx
@@ -331,7 +331,7 @@ oslGenericFunction ORealObdcDriver::getOdbcFunction(sal_Int32 _nIndex) const
 // ODBC Environment (common for all Connections):
 SQLHANDLE ORealObdcDriver::EnvironmentHandle(OUString &_rPath)
 {
-    // Is (for this instance) already a Enviroment made?
+    // Is (for this instance) already a Environment made?
     if (!m_pDriverHandle)
     {
         SQLHANDLE h = SQL_NULL_HANDLE;
diff --git a/cui/source/options/fontsubs.cxx b/cui/source/options/fontsubs.cxx
index e3fb38a..a0e92f9 100644
--- a/cui/source/options/fontsubs.cxx
+++ b/cui/source/options/fontsubs.cxx
@@ -244,7 +244,7 @@ IMPL_LINK(SvxFontSubstTabPage, SelectHdl, vcl::Window*, pWin)
     {
         SvTreeListEntry* pEntry;
         // nCol is stupidly the nCol'th text column, not counted!
-        // Therefor "0" as column.
+        // Therefore "0" as column.
         sal_uLong nPos = m_pCheckLB->GetEntryPos(m_pFont1CB->GetText(), 0);
 
         if (pWin == m_pApply)
diff --git a/dbaccess/source/ui/app/AppControllerDnD.cxx b/dbaccess/source/ui/app/AppControllerDnD.cxx
index 5957ac8..b32f45b 100644
--- a/dbaccess/source/ui/app/AppControllerDnD.cxx
+++ b/dbaccess/source/ui/app/AppControllerDnD.cxx
@@ -329,7 +329,7 @@ const SharedConnection& OApplicationController::ensureConnection( ::dbtools::SQL
     // because every access (read *or* write) to  m_xDataSourceConnection
     // is mutexed.
     // See http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
-    // for what I'm refering to.
+    // for what I'm referring to.
     // We cannot use the TLS (thread-local storage) solution
     // since support for TLS is not up to the snuff on Windows :-(
 
diff --git a/dbaccess/source/ui/dlg/tablespage.cxx b/dbaccess/source/ui/dlg/tablespage.cxx
index 4e03551..35e1ee9 100644
--- a/dbaccess/source/ui/dlg/tablespage.cxx
+++ b/dbaccess/source/ui/dlg/tablespage.cxx
@@ -179,7 +179,7 @@ namespace dbaui
             // the catalog entry
             SvTreeListEntry* pCatalog = m_pTablesList->GetEntryPosByName(sCatalog, pRootEntry);
             if (!(pCatalog || sCatalog.isEmpty()))
-                // the table (resp. its catalog) refered in this filter entry does not exist anymore
+                // the table (resp. its catalog) referred in this filter entry does not exist anymore
                 continue;
 
             if (bAllSchemas && pCatalog)
@@ -191,7 +191,7 @@ namespace dbaui
             // the schema entry
             SvTreeListEntry* pSchema = m_pTablesList->GetEntryPosByName(sSchema, (pCatalog ? pCatalog : pRootEntry));
             if (!(pSchema || sSchema.isEmpty()))
-                // the table (resp. its schema) refered in this filter entry does not exist anymore
+                // the table (resp. its schema) referred in this filter entry does not exist anymore
                 continue;
 
             if (bAllTables && pSchema)
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index 83f6ac0..392dd7a 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -1189,7 +1189,7 @@ TOTypeInfoSP queryPrimaryKeyType(const OTypeInfoMap& _rTypeInfo)
         // such auto increment column later on
         // so until we know how to do it, we create a column without autoincrement
         //  if ( !aIter->second->bAutoIncrement )
-        {   // therefor we have searched
+        {   // therefore we have searched
             if ( aIter->second->nType == DataType::INTEGER )
             {
                 pTypeInfo = aIter->second; // alternative
diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx b/dbaccess/source/ui/querydesign/QueryTableView.cxx
index a12731c..e3e92e2 100644
--- a/dbaccess/source/ui/querydesign/QueryTableView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx
@@ -209,7 +209,7 @@ namespace
 
             // now add the Conn itself
             OQueryTableConnection aNewConn(_pView, aNewConnData);
-            // refering to the local variable is not important, as NotifyQueryTabConn creates a new copy
+            // referring to the local variable is not important, as NotifyQueryTabConn creates a new copy
             // to add me (if not existent)
             _pView->NotifyTabConnection(aNewConn, false);
                 // don't create an Undo-Action for the new connection : the connection is
diff --git a/desktop/win32/source/guistdio/guistdio.inc b/desktop/win32/source/guistdio/guistdio.inc
index 47cf9b0..f918807 100644
--- a/desktop/win32/source/guistdio/guistdio.inc
+++ b/desktop/win32/source/guistdio/guistdio.inc
@@ -194,7 +194,7 @@ DWORD WINAPI InputThread( LPVOID pParam )
         //there could be more input coming. But if we read from the console
         //and the console input fits exactly in the buffer, then the next
         //ReadFile would block until the users presses return, etc.
-        //Therefor we check if last character is a new line.
+        //Therefore we check if last character is a new line.
         //To test this, set dwBufferSize to 4 and enter "no". This should produce
         //4 bytes with most code pages.
         if ( readAll == lastBufSize
diff --git a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
index 9a74fbb..ddbc224 100644
--- a/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
+++ b/drawinglayer/source/primitive3d/sdrextrudeprimitive3d.cxx
@@ -197,7 +197,7 @@ namespace drawinglayer
                         aNewLineGeometry.append(aReducedLoops);
 
                         // to create vertical edges at non-C1/C2 steady loops, use maCorrectedPolyPolygon
-                        // directly since the 3D Polygons do not suport this.
+                        // directly since the 3D Polygons do not support this.
                         //
                         // Unfortunately there is no bezier polygon provided by the chart module; one reason is
                         // that the API for extrude wants a 3D polygon geometry (for historical reasons, i guess)
diff --git a/extensions/workben/testcomponent.cxx b/extensions/workben/testcomponent.cxx
index bf79852..721d2b0 100644
--- a/extensions/workben/testcomponent.cxx
+++ b/extensions/workben/testcomponent.cxx
@@ -23,7 +23,7 @@
 // Expands the dll-names depending on the actual environment.
 // Example : testcomponent com.sun.star.io.Pipe stm
 
-// Therefor the testcode must exist in teststm and the testservice must be named test.com.sun.star.io.Pipe
+// Therefore the testcode must exist in teststm and the testservice must be named test.com.sun.star.io.Pipe
 
 
 #include <stdio.h>
diff --git a/filter/source/graphicfilter/ios2met/ios2met.cxx b/filter/source/graphicfilter/ios2met/ios2met.cxx
index b31fefb..80ea97b 100644
--- a/filter/source/graphicfilter/ios2met/ios2met.cxx
+++ b/filter/source/graphicfilter/ios2met/ios2met.cxx
@@ -2222,7 +2222,7 @@ void OS2METReader::ReadImageData(sal_uInt16 nDataID, sal_uInt16 nDataLen)
                     for (i=0; i<nColTabSize; i++) (p->pBMP)->WriteUInt32( GetPalette0RGB(i) );
                 }
             }
-            // OK, now the map data is being pushed. Unfortunatly OS2 and BMP
+            // OK, now the map data is being pushed. Unfortunately OS2 and BMP
             // do have a different RGB ordering when using 24-bit
             boost::scoped_array<sal_uInt8> pBuf(new sal_uInt8[nDataLen]);
             pOS2MET->Read(pBuf.get(),nDataLen);
diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx
index b7bf147..743409f 100644
--- a/filter/source/msfilter/msdffimp.cxx
+++ b/filter/source/msfilter/msdffimp.cxx
@@ -5742,7 +5742,7 @@ void SvxMSDffManager::CheckTxBxStoryChain()
     ---------------------------------
     remembering the Shape-Ids and the associated Blip-Numbers und TextBox-Infos
                     =========                    ============     =============
-    and remebering the File-Offsets for each Blip
+    and remembering the File-Offsets for each Blip
                        ============
 ******************************************************************************/
 void SvxMSDffManager::GetCtrlData( sal_uInt32 nOffsDgg_ )
diff --git a/framework/inc/classes/filtercachedata.hxx b/framework/inc/classes/filtercachedata.hxx
index 9563878..c490d11 100644
--- a/framework/inc/classes/filtercachedata.hxx
+++ b/framework/inc/classes/filtercachedata.hxx
@@ -368,7 +368,7 @@ class PerformanceHash   :   public  ::boost::unordered_map<    OUString
 {
     public:
 
-        //  try to free all used memory REALY!
+        //  try to free all used memory REALLY!
 
         inline void free()
         {
diff --git a/include/basebmp/bitmapdevice.hxx b/include/basebmp/bitmapdevice.hxx
index a4c38e8..d4230ca 100644
--- a/include/basebmp/bitmapdevice.hxx
+++ b/include/basebmp/bitmapdevice.hxx
@@ -702,7 +702,7 @@ BitmapDeviceSharedPtr BASEBMP_DLLPUBLIC createClipDevice( const basegfx::B2IVect
 
     This method creates a second bitmap device instance, which renders
     to the same memory as the original, with the same pixel coordinate
-    pairs refering to the same pixels in the memory buffer, but with
+    pairs referring to the same pixels in the memory buffer, but with
     rendering clipped to a rectangular area. Useful to implement
     rectangular clips (usually faster than setting up a 1bpp clip
     mask).
diff --git a/include/comphelper/propagg.hxx b/include/comphelper/propagg.hxx
index a5c2659..bbbe3e9 100644
--- a/include/comphelper/propagg.hxx
+++ b/include/comphelper/propagg.hxx
@@ -111,7 +111,7 @@ public:
                                 If one of the properties returned from the info service conflict with other handles
                                 alread present (e.g. through _rProperties), the property is handled as if -1 was returned.
                                 If NULL (or, for a special property, a call to getPreferredPropertyId returns -1),
-                                the aggregate property(ies) get a new handle which they can be refered by from outside.
+                                the aggregate property(ies) get a new handle which they can be referred by from outside.
         @param  _nFirstAggregateId
                                 if the object is about to create new handles for the aggregate properties, it uses
                                 id's ascending from this given id.
diff --git a/include/comphelper/serviceinfohelper.hxx b/include/comphelper/serviceinfohelper.hxx
index b9bbcbe..09ae3f2 100644
--- a/include/comphelper/serviceinfohelper.hxx
+++ b/include/comphelper/serviceinfohelper.hxx
@@ -25,7 +25,7 @@
 
 namespace comphelper {
 
-/** this class provides a basic helper for classes suporting the XServiceInfo Interface.
+/** this class provides a basic helper for classes supporting the XServiceInfo Interface.
  *
  *  you can overload the <code>getSupprotedServiceNames</code> to implement a XServiceInfo.
  *  you can use the static helper methods to combine your services with that of parent
diff --git a/include/tools/resid.hxx b/include/tools/resid.hxx
index 0966b3b..07976f7 100644
--- a/include/tools/resid.hxx
+++ b/include/tools/resid.hxx
@@ -47,7 +47,7 @@ class ResId
     mutable sal_uInt32      m_nResId;      // Resource Identifier
     mutable RESOURCE_TYPE   m_nRT;         // type for loading (mutable to be set later)
     mutable ResMgr *        m_pResMgr;     // load from this ResMgr (mutable for setting on demand)
-    mutable RESOURCE_TYPE   m_nRT2;        // type for loading (supercedes m_nRT)
+    mutable RESOURCE_TYPE   m_nRT2;        // type for loading (supersedes m_nRT)
     mutable sal_uInt32      m_nWinBits;    // container for original style bits on a window in a resource
 
     void ImplInit( sal_uInt32 nId, ResMgr& rMgr, RSHEADER_TYPE* pRes )
@@ -104,7 +104,7 @@ public:
 
     /** Get the effective type (m_nRT2 or m_nRT1)
 
-    A second resource type is used to supercede settings
+    A second resource type is used to supersede settings
     of the base class ( e.g. Window )
     */
     RESOURCE_TYPE   GetRT2() const
diff --git a/include/ucbhelper/resultset.hxx b/include/ucbhelper/resultset.hxx
index 85ed100..4646e62 100644
--- a/include/ucbhelper/resultset.hxx
+++ b/include/ucbhelper/resultset.hxx
@@ -502,7 +502,7 @@ public:
      * This method returns the total count of objects in the logical data array
      * of the supplier. The implementation of this method may be very
      * "expensive", because it can be necessary to obtain all data in order
-     * to determine the count. Therefor the ResultSet implementation calls
+     * to determine the count. Therefore the ResultSet implementation calls
      * it very seldom.
      *
      * @return the total count of objects; will always be non-negative.
diff --git a/include/xmloff/xmlimp.hxx b/include/xmloff/xmlimp.hxx
index 4e801f9..43afbea 100644
--- a/include/xmloff/xmlimp.hxx
+++ b/include/xmloff/xmlimp.hxx
@@ -411,7 +411,7 @@ public:
     SAL_DLLPRIVATE ::xmloff::RDFaImportHelper & GetRDFaImportHelper();
 
     // #i31958# XForms helper method
-    // (to be implemented by applications suporting XForms)
+    // (to be implemented by applications supporting XForms)
     virtual void initXForms();
 
     /** returns the upd and build id (f.e. "680m124$Build-8964" gives rMaster = 680 and rBuild = 8964)
diff --git a/jurt/com/sun/star/comp/loader/JavaLoader.java b/jurt/com/sun/star/comp/loader/JavaLoader.java
index 03b1a7f..bcec030 100644
--- a/jurt/com/sun/star/comp/loader/JavaLoader.java
+++ b/jurt/com/sun/star/comp/loader/JavaLoader.java
@@ -50,7 +50,7 @@ import com.sun.star.uno.AnyConverter;
  * The <code>JavaLoader</code> class provides the functionality of the
  * <code>com.sun.star.loader.Java</code> service.
  *
- * <p>Therefor the <code>JavaLoader</code> activates external UNO components
+ * <p>Therefore the <code>JavaLoader</code> activates external UNO components
  * which are implemented in Java.</p>
  *
  * <p>The loader is used by the <code>ServiceManger</code>.</p>
diff --git a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java b/jurt/com/sun/star/comp/servicemanager/ServiceManager.java
index 85f69fd..6bb0bf5 100644
--- a/jurt/com/sun/star/comp/servicemanager/ServiceManager.java
+++ b/jurt/com/sun/star/comp/servicemanager/ServiceManager.java
@@ -93,7 +93,7 @@ public class ServiceManager implements XMultiServiceFactory,
     /**
      * Creates a new instance of a specified service.
      *
-     * <p>Therefor the associated factory of the service is looked up and used
+     * <p>Therefore the associated factory of the service is looked up and used
      * to instanciate a new component. </p>
      *
      * @param   serviceSpecifier    indicates the service or component name.
@@ -111,7 +111,7 @@ public class ServiceManager implements XMultiServiceFactory,
     /**
      * Creates a new instance of a specified service with the given parameters.
      *
-     * <p>Therefor the associated factory of the service is  looked up and used
+     * <p>Therefore the associated factory of the service is  looked up and used
      * to instanciate a new component.</p>
      *
      * @return  newly created component.
diff --git a/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java b/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java
index 2e7d021..c9473ea 100644
--- a/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java
+++ b/jurt/com/sun/star/lib/uno/bridges/java_remote/java_remote_bridge.java
@@ -64,7 +64,7 @@ import com.sun.star.uno.Any;
 /**
  * This class implements a remote bridge.
  *
- * <p>Therefor various interfaces are implemented.</p>
+ * <p>Therefore various interfaces are implemented.</p>
  *
  * <p>The protocol to used is passed by name, the bridge
  * then looks for it under <code>com.sun.star.lib.uno.protocols</code>.</p>
diff --git a/jurt/com/sun/star/lib/util/UrlToFileMapper.java b/jurt/com/sun/star/lib/util/UrlToFileMapper.java
index 87b27c6..e8d1832 100644
--- a/jurt/com/sun/star/lib/util/UrlToFileMapper.java
+++ b/jurt/com/sun/star/lib/util/UrlToFileMapper.java
@@ -57,7 +57,7 @@ public final class UrlToFileMapper {
                     return null;
                 }
             } catch (URISyntaxException ex) {
-                throw new RuntimeException(ex); // should never happend
+                throw new RuntimeException(ex); // should never happen
             }
         }
     }
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
index 8bf31e7..4731c71 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
@@ -698,7 +698,7 @@ void bubbleSortVersion(vector<rtl::Reference<VendorBase> >& vec)
                 }
                 catch (MalformedVersionException & )
                 {
-                    //The second version is invalid, therefor it is regardes less.
+                    //The second version is invalid, therefore it is regardes less.
                     nCmp = 1;
                 }
             }
diff --git a/odk/examples/java/ToDo/ToDo.java b/odk/examples/java/ToDo/ToDo.java
index de80b92..af518ad 100644
--- a/odk/examples/java/ToDo/ToDo.java
+++ b/odk/examples/java/ToDo/ToDo.java
@@ -453,7 +453,7 @@ public class ToDo {
                                             ToDoImpl.INT_COLUMN_STARTDATE );
                                     }
 
-                                    // Get the GregorianCalender format for the
+                                    // Get the GregorianCalendar format for the
                                     // start date
                                     gregCalPreviousStartDate =
                                         this.getGregorianCalendarFromString(
diff --git a/offapi/com/sun/star/frame/XPopupMenuController.idl b/offapi/com/sun/star/frame/XPopupMenuController.idl
index d250a4c..89c354a 100644
--- a/offapi/com/sun/star/frame/XPopupMenuController.idl
+++ b/offapi/com/sun/star/frame/XPopupMenuController.idl
@@ -55,7 +55,7 @@ interface XPopupMenuController : com::sun::star::uno::XInterface
         <p>A controller should <b>never</b> update the pop-up menu structure on its
         own to prevent performance problems. A better way would be that a controller
         registers itself as status listener to for a command URL and immediately
-        deregister after that. Therefor status updates will not be send regularly
+        deregister after that. Therefore status updates will not be send regularly
         for a non visible pop-up menu.
         </p>
     */
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
index f260873..86422f2 100644
--- a/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
@@ -108,7 +108,7 @@ service AccessibleSpreadsheet
 
     /** This interface gives access to any cell that is at least partially
         visible on the screen. So this interface gives access to the same
-        things like the XAccessibleContext interface. Therefor it use more
+        things like the XAccessibleContext interface. Therefore it use more
         usable methods. Also it gives access to some table specific data.
      */
     interface ::com::sun::star::accessibility::XAccessibleTable;
diff --git a/offapi/com/sun/star/table/AccessibleTableView.idl b/offapi/com/sun/star/table/AccessibleTableView.idl
index 9ec9721..8344368 100644
--- a/offapi/com/sun/star/table/AccessibleTableView.idl
+++ b/offapi/com/sun/star/table/AccessibleTableView.idl
@@ -114,7 +114,7 @@ service AccessibleTableView
 
     /** This interface gives access to any cell that is at least partially
         visible on the screen. So this interface gives access to the same
-        things like the XAccessibleContext interface. Therefor it use more
+        things like the XAccessibleContext interface. Therefore it use more
         usable methods. Also it gives access to some table specific data.
      */
     interface ::com::sun::star::accessibility::XAccessibleTable;
diff --git a/sal/osl/w32/profile.cxx b/sal/osl/w32/profile.cxx
index 112b70e..1a0de62 100644
--- a/sal/osl/w32/profile.cxx
+++ b/sal/osl/w32/profile.cxx
@@ -2197,7 +2197,7 @@ static sal_Bool lookupProfile(const sal_Unicode *strPath, const sal_Unicode *str
     }
 
     /* if we have an userid option eg. "-userid:rh[/usr/home/rh/staroffice]",
-       this will supercede all other locations */
+       this will supersede all other locations */
     {

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list