[Libreoffice-commits] core.git: 25 commits - chart2/source configure.ac connectivity/source cui/source dbaccess/Library_dbu.mk dbaccess/source extensions/source fpicker/source i18nlangtag/source i18npool/source include/i18nlangtag include/vcl pyuno/source sc/Library_vbaobj.mk sc/source sfx2/Library_sfx.mk solenv/gbuild svl/source svtools/source svx/source vcl/generic vcl/inc vcl/quartz vcl/README vcl/source vcl/unx vcl/win xmloff/source

Tor Lillqvist tml at collabora.com
Fri Sep 12 12:05:15 PDT 2014


 chart2/source/controller/chartapiwrapper/WrappedStockProperties.cxx |   10 
 chart2/source/view/inc/AbstractShapeFactory.hxx                     |    2 
 chart2/source/view/inc/OpenglShapeFactory.hxx                       |    2 
 chart2/source/view/inc/ShapeFactory.hxx                             |    2 
 chart2/source/view/main/OpenglShapeFactory.cxx                      |    2 
 chart2/source/view/main/ShapeFactory.cxx                            |    2 
 configure.ac                                                        |   15 
 connectivity/source/drivers/file/FPreparedStatement.cxx             |    2 
 cui/source/dialogs/hltpbase.cxx                                     |    2 
 cui/source/inc/hldoctp.hxx                                          |    2 
 cui/source/inc/hlinettp.hxx                                         |    2 
 cui/source/inc/hltpbase.hxx                                         |    2 
 dbaccess/Library_dbu.mk                                             |   13 
 dbaccess/source/core/api/CacheSet.cxx                               |    6 
 dbaccess/source/core/api/CacheSet.hxx                               |    6 
 dbaccess/source/core/api/KeySet.cxx                                 |   12 
 dbaccess/source/core/api/KeySet.hxx                                 |    6 
 dbaccess/source/core/api/RowSetCache.cxx                            |   16 
 dbaccess/source/core/dataaccess/commanddefinition.cxx               |    2 
 dbaccess/source/core/dataaccess/commanddefinition.hxx               |    2 
 dbaccess/source/core/dataaccess/definitioncontainer.cxx             |    4 
 dbaccess/source/core/dataaccess/documentcontainer.cxx               |    4 
 dbaccess/source/core/dataaccess/documentdefinition.cxx              |    2 
 dbaccess/source/core/inc/definitioncontainer.hxx                    |    2 
 dbaccess/source/ui/browser/brwctrlr.cxx                             |    6 
 dbaccess/source/ui/browser/exsrcbrw.cxx                             |    2 
 dbaccess/source/ui/browser/unodatbr.cxx                             |    6 
 dbaccess/source/ui/control/FieldControls.cxx                        |    8 
 dbaccess/source/ui/dlg/RelationDlg.cxx                              |    2 
 dbaccess/source/ui/inc/FieldControls.hxx                            |    8 
 dbaccess/source/ui/inc/JoinDesignView.hxx                           |    2 
 dbaccess/source/ui/inc/JoinTableView.hxx                            |    2 
 dbaccess/source/ui/inc/QueryDesignView.hxx                          |    2 
 dbaccess/source/ui/inc/QueryTableView.hxx                           |    2 
 dbaccess/source/ui/inc/QueryTextView.hxx                            |    2 
 dbaccess/source/ui/inc/RelControliFace.hxx                          |    2 
 dbaccess/source/ui/inc/RelationDlg.hxx                              |    2 
 dbaccess/source/ui/inc/RelationTableView.hxx                        |    2 
 dbaccess/source/ui/inc/brwctrlr.hxx                                 |    4 
 dbaccess/source/ui/inc/queryview.hxx                                |    2 
 dbaccess/source/ui/inc/unodatbr.hxx                                 |    2 
 dbaccess/source/ui/querydesign/JoinDesignView.cxx                   |    2 
 dbaccess/source/ui/querydesign/JoinTableView.cxx                    |   10 
 dbaccess/source/ui/querydesign/QueryDesignView.cxx                  |    2 
 dbaccess/source/ui/querydesign/QueryTableView.cxx                   |    8 
 dbaccess/source/ui/querydesign/QueryTextView.cxx                    |    2 
 dbaccess/source/ui/querydesign/querydlg.cxx                         |    2 
 dbaccess/source/ui/querydesign/querydlg.hxx                         |    2 
 dbaccess/source/ui/relationdesign/RelationTableView.cxx             |    6 
 dbaccess/source/ui/tabledesign/TableController.cxx                  |    2 
 extensions/source/propctrlr/browserline.hxx                         |    2 
 extensions/source/propctrlr/browserlistbox.cxx                      |    2 
 extensions/source/propctrlr/browserlistbox.hxx                      |    2 
 extensions/source/propctrlr/commoncontrol.hxx                       |   14 
 extensions/source/propctrlr/composeduiupdate.cxx                    |   10 
 extensions/source/propctrlr/composeduiupdate.hxx                    |    2 
 extensions/source/propctrlr/formcomponenthandler.cxx                |    8 
 extensions/source/propctrlr/propcontroller.cxx                      |    4 
 extensions/source/propctrlr/propcontroller.hxx                      |    4 
 extensions/source/propctrlr/propertycomposer.cxx                    |    2 
 extensions/source/propctrlr/propertycomposer.hxx                    |    2 
 extensions/source/propctrlr/proplinelistener.hxx                    |    2 
 extensions/source/propctrlr/sqlcommanddesign.hxx                    |    2 
 extensions/source/update/ui/updatecheckui.cxx                       |   18 
 fpicker/source/office/OfficeControlAccess.cxx                       |    6 
 fpicker/source/office/iodlg.cxx                                     |    8 
 fpicker/source/office/iodlg.hxx                                     |    4 
 fpicker/source/office/pickercallbacks.hxx                           |    4 
 i18nlangtag/source/languagetag/languagetag.cxx                      |  367 ++++++++++
 i18npool/source/search/textsearch.cxx                               |    1 
 include/i18nlangtag/applelangid.hxx                                 |  143 +++
 include/vcl/outdev.hxx                                              |    2 
 pyuno/source/module/pyuno_module.cxx                                |    4 
 sc/Library_vbaobj.mk                                                |   17 
 sc/source/ui/view/tabcont.cxx                                       |    2 
 sfx2/Library_sfx.mk                                                 |   16 
 solenv/gbuild/Dictionary.mk                                         |    2 
 solenv/gbuild/Extension.mk                                          |    2 
 svl/source/numbers/zforscan.hxx                                     |    2 
 svtools/source/misc/sampletext.cxx                                  |   61 +
 svx/source/sdr/contact/viewobjectcontact.cxx                        |   16 
 vcl/README                                                          |    8 
 vcl/generic/fontmanager/fontmanager.cxx                             |   15 
 vcl/inc/graphite_layout.hxx                                         |    2 
 vcl/inc/graphite_serverfont.hxx                                     |    2 
 vcl/inc/sallayout.hxx                                               |    6 
 vcl/quartz/ctlayout.cxx                                             |   10 
 vcl/source/fontsubset/sft.cxx                                       |    4 
 vcl/source/gdi/pdfwriter_impl.cxx                                   |   18 
 vcl/source/gdi/sallayout.cxx                                        |   12 
 vcl/source/glyphs/graphite_layout.cxx                               |    4 
 vcl/source/outdev/map.cxx                                           |   25 
 vcl/source/outdev/text.cxx                                          |  117 ---
 vcl/unx/generic/gdi/salgdi.cxx                                      |    5 
 vcl/win/source/gdi/winlayout.cxx                                    |   22 
 xmloff/source/core/ProgressBarHelper.cxx                            |    9 
 96 files changed, 811 insertions(+), 391 deletions(-)

New commits:
commit af90ec3e7751f2f4f27428f580bbc487fd7ce7db
Author: Tor Lillqvist <tml at collabora.com>
Date:   Fri Sep 12 20:03:54 2014 +0300

    Use $(LIBO_SHARE_FOLDER) instead of hardcoded 'share'
    
    Change-Id: I073d44c0e3e8c6eff0e885f827fa661e3c8e5206

diff --git a/solenv/gbuild/Dictionary.mk b/solenv/gbuild/Dictionary.mk
index 651d5ae9..8b8c8c5 100644
--- a/solenv/gbuild/Dictionary.mk
+++ b/solenv/gbuild/Dictionary.mk
@@ -185,7 +185,7 @@ endef
 # all installed files of the dictionary.
 
 gb_Dictionary_ALL_LANGS := $(filter-out en-US,$(gb_WITH_LANG))
-gb_Dictionary_INSTDIR := share/extensions
+gb_Dictionary_INSTDIR := $(LIBO_SHARE_FOLDER)/extensions
 
 $(dir $(call gb_Dictionary_get_target,%)).dir :
 	$(if $(wildcard $(dir $@)),,mkdir -p $(dir $@))
diff --git a/solenv/gbuild/Extension.mk b/solenv/gbuild/Extension.mk
index a908006..ee3841f 100644
--- a/solenv/gbuild/Extension.mk
+++ b/solenv/gbuild/Extension.mk
@@ -151,7 +151,7 @@ endef
 # gb_Extension__Extension_deliver extension package-name
 define gb_Extension__Extension_deliver
 $(call gb_GeneratedPackage_GeneratedPackage,$(2),$(dir $(call gb_Extension_get_rootdir,$(1))))
-$(call gb_GeneratedPackage_add_dir,$(2),$(INSTROOT)/share/extensions/$(1),$(notdir $(call gb_Extension_get_rootdir,$(1))))
+$(call gb_GeneratedPackage_add_dir,$(2),$(INSTROOT)/$(LIBO_SHARE_FOLDER)/extensions/$(1),$(notdir $(call gb_Extension_get_rootdir,$(1))))
 
 $(call gb_GeneratedPackage_get_target,$(2)) : $(call gb_Extension_get_target,$(1))
 $(call gb_Extension__get_final_target,$(1)) : $(call gb_GeneratedPackage_get_target,$(2))
commit 91eb279ecdbc8183c18d9b4d856ffadf0148250d
Author: Norbert Thiebaud <nthiebaud at gmail.com>
Date:   Fri Sep 12 16:30:40 2014 +0200

    Revert "vcl: use DeviceCoordinate for GetCaretPositions in sallayout"
    
    This reverts commit 1b42acdaeae134f94580d6e1eba89da16741d596.

diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index b05edab..df0cd27 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -1722,8 +1722,6 @@ public:
 
     SAL_DLLPRIVATE DeviceCoordinate LogicWidthToDeviceCoordinate( long nWidth ) const;
     SAL_DLLPRIVATE DeviceCoordinate LogicHeightToDeviceCoordinate( long nHeight ) const;
-    SAL_DLLPRIVATE long DeviceCoordinateToLogicWidth(DeviceCoordinate width) const;
-    SAL_DLLPRIVATE long DeviceCoordinateToLogicHeight(DeviceCoordinate height) const;
 
 private:
 
diff --git a/vcl/README b/vcl/README
index c00a3e1..65113a6 100644
--- a/vcl/README
+++ b/vcl/README
@@ -188,11 +188,3 @@ other programs, use the "pdfunzip" tool:
 
 LD_LIBRARY_PATH=$PWD/instdir/ure/lib workdir/LinkTarget/Executable/pdfunzip input.pdf output.pdf
 
-=== DeviceCoordinate ===
-
-The type DeviceCoordinate is meant to represent coordinate in the native Device space
-The implementation is platform dependant. it is a scalar type, but can by int/long/float/double...
-Originally such coordinate was represented with int or long... DeviceCoordinate
-was introduced to allow for sub-point coordiante (iow float/double), which is
-quite important when dealing with HiDPI devices.
-
diff --git a/vcl/inc/graphite_layout.hxx b/vcl/inc/graphite_layout.hxx
index 11a9f6b..3295468 100644
--- a/vcl/inc/graphite_layout.hxx
+++ b/vcl/inc/graphite_layout.hxx
@@ -127,7 +127,7 @@ public:
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const SAL_OVERRIDE;
     virtual void  ApplyDXArray(ImplLayoutArgs &rArgs, std::vector<int> & rDeltaWidth);
 
-    virtual void  GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const SAL_OVERRIDE;
+    virtual void  GetCaretPositions( int nArraySize, long* pCaretXArray ) const SAL_OVERRIDE;
 
     // methods using glyph indexing
     virtual int   GetNextGlyphs(int nLen, sal_GlyphId* pGlyphIdxAry, ::Point & rPos, int&,
diff --git a/vcl/inc/graphite_serverfont.hxx b/vcl/inc/graphite_serverfont.hxx
index 00ebfb2..0d533e0 100644
--- a/vcl/inc/graphite_serverfont.hxx
+++ b/vcl/inc/graphite_serverfont.hxx
@@ -80,7 +80,7 @@ public:
         {
             return maImpl.GetTextBreak(max_width, extra, factor);
         }
-        virtual void GetCaretPositions( int as, DeviceCoordinate* cxa ) const SAL_OVERRIDE
+        virtual void    GetCaretPositions( int as, long* cxa ) const SAL_OVERRIDE
         {
             maImpl.GetCaretPositions(as, cxa);
         }
diff --git a/vcl/inc/sallayout.hxx b/vcl/inc/sallayout.hxx
index 0138f8a..3a2061b 100644
--- a/vcl/inc/sallayout.hxx
+++ b/vcl/inc/sallayout.hxx
@@ -174,7 +174,7 @@ public:
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra=0, int nFactor=1) const = 0;
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const = 0;
     virtual DeviceCoordinate GetTextWidth() const { return FillDXArray( NULL ); }
-    virtual void    GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const = 0;
+    virtual void    GetCaretPositions( int nArraySize, long* pCaretXArray ) const = 0;
     virtual bool    IsKashidaPosValid ( int /*nCharPos*/ ) const { return true; } // i60594
 
     // methods using glyph indexing
@@ -231,7 +231,7 @@ public:
     virtual void    DrawText( SalGraphics& ) const SAL_OVERRIDE;
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const SAL_OVERRIDE;
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const SAL_OVERRIDE;
-    virtual void    GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const SAL_OVERRIDE;
+    virtual void    GetCaretPositions( int nArraySize, long* pCaretXArray ) const SAL_OVERRIDE;
     virtual int     GetNextGlyphs( int nLen, sal_GlyphId* pGlyphIdxAry, Point& rPos,
                                    int&, DeviceCoordinate* pGlyphAdvAry, int* pCharPosAry,
                                    const PhysicalFontFace** pFallbackFonts ) const SAL_OVERRIDE;
@@ -332,7 +332,7 @@ public:
     virtual DeviceCoordinate GetTextWidth() const SAL_OVERRIDE;
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const SAL_OVERRIDE;
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const SAL_OVERRIDE;
-    virtual void    GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const SAL_OVERRIDE;
+    virtual void    GetCaretPositions( int nArraySize, long* pCaretXArray ) const SAL_OVERRIDE;
 
     // used by display layers
     virtual int     GetNextGlyphs( int nLen, sal_GlyphId* pGlyphIdxAry, Point& rPos, int&,
diff --git a/vcl/quartz/ctlayout.cxx b/vcl/quartz/ctlayout.cxx
index fb73b78..cd9771a 100644
--- a/vcl/quartz/ctlayout.cxx
+++ b/vcl/quartz/ctlayout.cxx
@@ -45,7 +45,7 @@ public:
     virtual DeviceCoordinate GetTextWidth() const SAL_OVERRIDE;
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const SAL_OVERRIDE;
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const SAL_OVERRIDE;
-    virtual void    GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const SAL_OVERRIDE;
+    virtual void    GetCaretPositions( int nArraySize, long* pCaretXArray ) const SAL_OVERRIDE;
     virtual bool    GetBoundRect( SalGraphics&, Rectangle& ) const SAL_OVERRIDE;
 
     virtual void    InitFont( void) const SAL_OVERRIDE;
@@ -840,7 +840,7 @@ sal_Int32 CTLayout::GetTextBreak( DeviceCoordinate nMaxWidth, DeviceCoordinate n
     return nIndex;
 }
 
-void CTLayout::GetCaretPositions( int nMaxIndex, DeviceCoordinate* pCaretXArray ) const
+void CTLayout::GetCaretPositions( int nMaxIndex, long* pCaretXArray ) const
 {
     DBG_ASSERT( ((nMaxIndex>0)&&!(nMaxIndex&1)),
         "CTLayout::GetCaretPositions() : invalid number of caret pairs requested");
@@ -848,7 +848,7 @@ void CTLayout::GetCaretPositions( int nMaxIndex, DeviceCoordinate* pCaretXArray
     // initialize the caret positions
     for( int i = 0; i < nMaxIndex; ++i )
     {
-        pCaretXArray[ i ] = (DeviceCoordinate)-1;
+        pCaretXArray[ i ] = -1;
     }
     for( int n = 0; n <= mnCharCount; ++n )
     {
@@ -859,12 +859,12 @@ void CTLayout::GetCaretPositions( int nMaxIndex, DeviceCoordinate* pCaretXArray
 
         // update previous trailing position
         if( n > 0 )
-            pCaretXArray[ 2*n-1 ] = (DeviceCoordinate) fPos1;
+            pCaretXArray[ 2*n-1 ] = lrint( fPos1 );
 
         // update current leading position
         if( 2*n >= nMaxIndex )
             break;
-        pCaretXArray[ 2*n+0 ] = (DeviceCoordinate) fPos1;
+        pCaretXArray[ 2*n+0 ] = lrint( fPos1 );
     }
 }
 
diff --git a/vcl/source/gdi/sallayout.cxx b/vcl/source/gdi/sallayout.cxx
index a3124c4..c30a99a 100644
--- a/vcl/source/gdi/sallayout.cxx
+++ b/vcl/source/gdi/sallayout.cxx
@@ -1247,7 +1247,7 @@ void GenericSalLayout::KashidaJustify( long nKashidaIndex, int nKashidaWidth )
     }
 }
 
-void GenericSalLayout::GetCaretPositions( int nMaxIndex, DeviceCoordinate* pCaretXArray ) const
+void GenericSalLayout::GetCaretPositions( int nMaxIndex, long* pCaretXArray ) const
 {
     // initialize result array
     long nXPos = -1;
@@ -1990,28 +1990,26 @@ DeviceCoordinate MultiSalLayout::FillDXArray( DeviceCoordinate* pCharWidths ) co
     return nMaxWidth;
 }
 
-void MultiSalLayout::GetCaretPositions( int nMaxIndex, DeviceCoordinate* pCaretXArray ) const
+void MultiSalLayout::GetCaretPositions( int nMaxIndex, long* pCaretXArray ) const
 {
     SalLayout& rLayout = *mpLayouts[ 0 ];
     rLayout.GetCaretPositions( nMaxIndex, pCaretXArray );
 
     if( mnLevel > 1 )
     {
-        DeviceCoordinate* pTempPos = (DeviceCoordinate*)alloca( nMaxIndex * sizeof(DeviceCoordinate) );
+        long* pTempPos = (long*)alloca( nMaxIndex * sizeof(long) );
         for( int n = 1; n < mnLevel; ++n )
         {
             mpLayouts[ n ]->GetCaretPositions( nMaxIndex, pTempPos );
             double fUnitMul = mnUnitsPerPixel;
             fUnitMul /= mpLayouts[n]->GetUnitsPerPixel();
             for( int i = 0; i < nMaxIndex; ++i )
-            {
                 if( pTempPos[i] >= 0 )
                 {
-                    DeviceCoordinate w = pTempPos[i];
-                    w = (DeviceCoordinate)(w * fUnitMul + 0.5);
+                    long w = pTempPos[i];
+                    w = static_cast<long>(w*fUnitMul + 0.5);
                     pCaretXArray[i] = w;
                 }
-            }
         }
     }
 }
diff --git a/vcl/source/glyphs/graphite_layout.cxx b/vcl/source/glyphs/graphite_layout.cxx
index 508a0db..6f7cbb2 100644
--- a/vcl/source/glyphs/graphite_layout.cxx
+++ b/vcl/source/glyphs/graphite_layout.cxx
@@ -1090,14 +1090,14 @@ void GraphiteLayout::kashidaJustify(std::vector<int>& rDeltaWidths, sal_GlyphId
 
 }
 
-void GraphiteLayout::GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const
+void GraphiteLayout::GetCaretPositions( int nArraySize, long* pCaretXArray ) const
 {
     // For each character except the last discover the caret positions
     // immediately before and after that character.
     // This is used for underlines in the GUI amongst other things.
     // It may be used from MultiSalLayout, in which case it must take into account
     // glyphs that have been moved.
-    std::fill(pCaretXArray, pCaretXArray + nArraySize, (DeviceCoordinate)-1);
+    std::fill(pCaretXArray, pCaretXArray + nArraySize, -1);
     // the layout method doesn't modify the layout even though it isn't
     // const in the interface
     bool bRtl = (mnLayoutFlags & SAL_LAYOUT_BIDI_RTL);//const_cast<GraphiteLayout*>(this)->maLayout.rightToLeft();
diff --git a/vcl/source/outdev/map.cxx b/vcl/source/outdev/map.cxx
index 2cea0d3..396a2c4 100644
--- a/vcl/source/outdev/map.cxx
+++ b/vcl/source/outdev/map.cxx
@@ -2142,31 +2142,6 @@ long Window::ImplLogicUnitToPixelY( long nY, MapUnit eUnit )
     return nY;
 }
 
-long OutputDevice::DeviceCoordinateToLogicWidth(DeviceCoordinate width) const
-{
-    if ( !mbMap )
-    {
-        return (long)width;
-    }
-#if VCL_FLOAT_DEVICE_PIXEL
-    return (long)(width / (maMapRes.mfScaleX * mnDPIX));
-#else
-    return ImplDevicePixelToLogicWidth(width);
-#endif
-}
-
-long OutputDevice::DeviceCoordinateToLogicHeight(DeviceCoordinate height) const
-{
-    if ( !mbMap )
-    {
-        return (long)height;
-    }
-#if VCL_FLOAT_DEVICE_PIXEL
-    return (long)(height / (maMapRes.mfScaleY * mnDPIY));
-#else
-    return ImplDevicePixelToLogicHeight(height);
-#endif
-}
 
 DeviceCoordinate OutputDevice::LogicWidthToDeviceCoordinate( long nWidth ) const
 {
diff --git a/vcl/source/outdev/text.cxx b/vcl/source/outdev/text.cxx
index 1dff2db..51117fe 100644
--- a/vcl/source/outdev/text.cxx
+++ b/vcl/source/outdev/text.cxx
@@ -1014,7 +1014,6 @@ long OutputDevice::GetTextArray( const OUString& rStr, long* pDXAry,
     {
         pDXPixelArray = (DeviceCoordinate*)alloca(nLen * sizeof(DeviceCoordinate));
     }
-    long nWidthRes;
     DeviceCoordinate nWidth = pSalLayout->FillDXArray( pDXPixelArray );
     int nWidthFactor = pSalLayout->GetUnitsPerPixel();
     pSalLayout->Release();
@@ -1027,41 +1026,36 @@ long OutputDevice::GetTextArray( const OUString& rStr, long* pDXAry,
             pDXPixelArray[ i ] += pDXPixelArray[ i-1 ];
         }
     }
-    if( nWidthFactor > 1 )
+    if( mbMap )
     {
         if( pDXPixelArray )
         {
             for( int i = 0; i < nLen; ++i )
             {
-                pDXPixelArray[i] /= nWidthFactor;
+                pDXPixelArray[i] = ImplDevicePixelToLogicWidth( pDXPixelArray[i] );
             }
         }
-        nWidth /= nWidthFactor;
+        nWidth = ImplDevicePixelToLogicWidth( nWidth );
     }
-    if( mbMap )
+    if( nWidthFactor > 1 )
     {
         if( pDXPixelArray )
         {
             for( int i = 0; i < nLen; ++i )
             {
-                pDXAry[i] = DeviceCoordinateToLogicWidth( pDXPixelArray[i] );
+                pDXPixelArray[i] /= nWidthFactor;
             }
         }
-        nWidthRes = DeviceCoordinateToLogicWidth( nWidth );
+        nWidth /= nWidthFactor;
     }
-    else
+    if(pDXAry)
     {
-        if( pDXPixelArray )
+        for( int i = 0; i < nLen; ++i )
         {
-            for( int i = 0; i < nLen; ++i )
-            {
-                pDXAry[i] = (long)pDXPixelArray[i];
-            }
+            pDXAry[i] = basegfx::fround(pDXPixelArray[i]);
         }
-        nWidthRes = (long) nWidth;
     }
-
-    return nWidth;
+    return basegfx::fround(nWidth);
 
 #else /* ! VCL_FLOAT_DEVICE_PIXEL */
 
@@ -1097,7 +1091,7 @@ long OutputDevice::GetTextArray( const OUString& rStr, long* pDXAry,
 bool OutputDevice::GetCaretPositions( const OUString& rStr, long* pCaretXArray,
                                       sal_Int32 nIndex, sal_Int32 nLen,
                                       long* pDXAry, long nLayoutWidth,
-                                      bool /* bCellBreaking */ ) const
+                                      bool bCellBreaking ) const
 {
 
     if( nIndex >= rStr.getLength() )
@@ -1111,121 +1105,50 @@ bool OutputDevice::GetCaretPositions( const OUString& rStr, long* pCaretXArray,
     if( !pSalLayout )
         return false;
 
-#if VCL_FLOAT_DEVICE_PIXEL
-    int nWidthFactor = pSalLayout->GetUnitsPerPixel();
-    DeviceCoordinate* pDevCaretXArray = (DeviceCoordinate*)alloca(2 * nLen * sizeof(DeviceCoordinate));
-
-    pSalLayout->GetCaretPositions( 2*nLen, pDevCaretXArray );
-    DeviceCoordinate nWidth = pSalLayout->GetTextWidth();
-    pSalLayout->Release();
-
-    // fixup unknown caret positions
-    int i;
-    for( i = 0; i < 2 * nLen; ++i )
-    {
-        if( pDevCaretXArray[ i ] >= 0 )
-        {
-            break;
-        }
-    }
-    DeviceCoordinate nXPos = pCaretXArray[ i ];
-    for( i = 0; i < 2 * nLen; ++i )
-    {
-        if( pCaretXArray[ i ] >= 0 )
-        {
-            nXPos = pCaretXArray[ i ];
-        }
-        else
-        {
-            pCaretXArray[ i ] = nXPos;
-        }
-    }
-    if( nWidthFactor != 1 )
-    {
-        for( i = 0; i < 2*nLen; ++i )
-        {
-            pDevCaretXArray[i] /= nWidthFactor;
-        }
-    }
-
-    // handle window mirroring
-    if( IsRTLEnabled() )
-    {
-        for( i = 0; i < 2 * nLen; ++i )
-        {
-            pDevCaretXArray[i] = nWidth - pDevCaretXArray[i] - 1;
-        }
-    }
-
-    // convert from font units to logical units
-    if( mbMap )
-    {
-        for( i = 0; i < 2*nLen; ++i )
-        {
-            pCaretXArray[i] = DeviceCoordinateToLogicWidth( pDevCaretXArray[i] );
-        }
-    }
-    else
-    {
-        for( i = 0; i < 2*nLen; ++i )
-        {
-            pCaretXArray[i] = (long)pDevCaretXArray[i];
-        }
-    }
-#else
     int nWidthFactor = pSalLayout->GetUnitsPerPixel();
-
     pSalLayout->GetCaretPositions( 2*nLen, pCaretXArray );
-    DeviceCoordinate nWidth = pSalLayout->GetTextWidth();
+    long nWidth = pSalLayout->GetTextWidth();
     pSalLayout->Release();
 
     // fixup unknown caret positions
     int i;
     for( i = 0; i < 2 * nLen; ++i )
-    {
         if( pCaretXArray[ i ] >= 0 )
-        {
             break;
-        }
-    }
-    DeviceCoordinate nXPos = pCaretXArray[ i ];
+    long nXPos = pCaretXArray[ i ];
     for( i = 0; i < 2 * nLen; ++i )
     {
         if( pCaretXArray[ i ] >= 0 )
-        {
             nXPos = pCaretXArray[ i ];
-        }
         else
-        {
             pCaretXArray[ i ] = nXPos;
-        }
     }
 
     // handle window mirroring
     if( IsRTLEnabled() )
     {
         for( i = 0; i < 2 * nLen; ++i )
-        {
             pCaretXArray[i] = nWidth - pCaretXArray[i] - 1;
-        }
     }
 
     // convert from font units to logical units
     if( mbMap )
     {
         for( i = 0; i < 2*nLen; ++i )
-        {
             pCaretXArray[i] = ImplDevicePixelToLogicWidth( pCaretXArray[i] );
-        }
     }
+
     if( nWidthFactor != 1 )
     {
         for( i = 0; i < 2*nLen; ++i )
-        {
             pCaretXArray[i] /= nWidthFactor;
-        }
     }
-#endif
+
+    // if requested move caret position to cell limits
+    if( bCellBreaking )
+    {
+        ; // FIXME
+    }
 
     return true;
 }
diff --git a/vcl/win/source/gdi/winlayout.cxx b/vcl/win/source/gdi/winlayout.cxx
index 3c8f19e..eff3f9c 100644
--- a/vcl/win/source/gdi/winlayout.cxx
+++ b/vcl/win/source/gdi/winlayout.cxx
@@ -147,7 +147,7 @@ public:
 
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const;
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const SAL_OVERRIDE;
-    virtual void    GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const;
+    virtual void    GetCaretPositions( int nArraySize, long* pCaretXArray ) const;
 
     // for glyph+font+script fallback
     virtual void    MoveGlyph( int nStart, long nNewXPos );
@@ -667,9 +667,9 @@ sal_Int32 SimpleWinLayout::GetTextBreak( DeviceCoordinate nMaxWidth, DeviceCoord
     return -1;
 }
 
-void SimpleWinLayout::GetCaretPositions( int nMaxIdx, DeviceCoordinate* pCaretXArray ) const
+void SimpleWinLayout::GetCaretPositions( int nMaxIdx, long* pCaretXArray ) const
 {
-    DeviceCoordinate nXPos = mnBaseAdv;
+    long nXPos = mnBaseAdv;
 
     if( !mpGlyphs2Chars )
     {
@@ -684,13 +684,13 @@ void SimpleWinLayout::GetCaretPositions( int nMaxIdx, DeviceCoordinate* pCaretXA
     {
         int  i;
         for( i = 0; i < nMaxIdx; ++i )
-            pCaretXArray[ i ] = (DeviceCoordinate)-1;
+            pCaretXArray[ i ] = -1;
 
         // assign glyph positions to character positions
         for( i = 0; i < mnGlyphCount; ++i )
         {
             int nCurrIdx = mpGlyphs2Chars[ i ] - mnMinCharPos;
-            DeviceCoordinate nXRight = nXPos + mpCharWidths[ nCurrIdx ];
+            long nXRight = nXPos + mpCharWidths[ nCurrIdx ];
             nCurrIdx *= 2;
             if( !(mpGlyphRTLFlags && mpGlyphRTLFlags[i]) )
             {
@@ -968,7 +968,7 @@ public:
 
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const;
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra, int nFactor) const SAL_OVERRIDE;
-    virtual void    GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const;
+    virtual void    GetCaretPositions( int nArraySize, long* pCaretXArray ) const;
     virtual bool    IsKashidaPosValid ( int nCharPos ) const;
 
     // for glyph+font+script fallback
@@ -2158,16 +2158,16 @@ sal_Int32 UniscribeLayout::GetTextBreak( DeviceCoordinate nMaxWidth, DeviceCoord
     return -1;
 }
 
-void UniscribeLayout::GetCaretPositions( int nMaxIdx, DeviceCoordinate* pCaretXArray ) const
+void UniscribeLayout::GetCaretPositions( int nMaxIdx, long* pCaretXArray ) const
 {
     int i;
     for( i = 0; i < nMaxIdx; ++i )
         pCaretXArray[ i ] = -1;
-    DeviceCoordinate* const pGlyphPos = (DeviceCoordinate*)alloca( (mnGlyphCount+1) * sizeof(DeviceCoordinate) );
+    long* const pGlyphPos = (long*)alloca( (mnGlyphCount+1) * sizeof(long) );
     for( i = 0; i <= mnGlyphCount; ++i )
         pGlyphPos[ i ] = -1;
 
-    DeviceCoordinate nXPos = 0;
+    long nXPos = 0;
     for( int nItem = 0; nItem < mnItemCount; ++nItem )
     {
         const VisualItem& rVisualItem = mpVisualItems[ nItem ];
@@ -2643,7 +2643,7 @@ public:
     virtual sal_Int32 GetTextBreak(DeviceCoordinate nMaxWidth, DeviceCoordinate nCharExtra=0, int nFactor=1) const SAL_OVERRIDE;
     virtual DeviceCoordinate FillDXArray( DeviceCoordinate* pDXArray ) const;
 
-    virtual void  GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const;
+    virtual void  GetCaretPositions( int nArraySize, long* pCaretXArray ) const;
 
     // methods using glyph indexing
     virtual int   GetNextGlyphs(int nLen, sal_GlyphId* pGlyphIdxAry, ::Point & rPos, int&,
@@ -2787,7 +2787,7 @@ DeviceCoordinate GraphiteWinLayout::FillDXArray( DeviceCoordinate* pDXArray ) co
     return maImpl.FillDXArray(pDXArray);
 }
 
-void GraphiteWinLayout::GetCaretPositions( int nArraySize, DeviceCoordinate* pCaretXArray ) const
+void GraphiteWinLayout::GetCaretPositions( int nArraySize, long* pCaretXArray ) const
 {
     maImpl.GetCaretPositions(nArraySize, pCaretXArray);
 }
commit e660e1ed73a6eea3f70fcb36a7bc950c57de80fe
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Sep 12 18:42:11 2014 +0200

    pyuno: remove obsolete NOOPT comment about GCC 3.2
    
    Change-Id: Ie280325ddc45a79f3b73ae10f6e9cf952657091b

diff --git a/pyuno/source/module/pyuno_module.cxx b/pyuno/source/module/pyuno_module.cxx
index 00e60d9..1a1547f 100644
--- a/pyuno/source/module/pyuno_module.cxx
+++ b/pyuno/source/module/pyuno_module.cxx
@@ -615,10 +615,6 @@ static PyObject *getClass( SAL_UNUSED_PARAMETER PyObject *, PyObject *args )
     }
     catch(const RuntimeException & e)
     {
-        // NOOPT !!!
-        // gcc 3.2.3 crashes here in the regcomp test scenario
-        // only since migration to python 2.3.4 ???? strange thing
-        // optimization switched off for this module !
         raisePyExceptionWithAny( makeAny(e) );
     }
     return NULL;
commit ed05120b23869f12c3dee07f94ee73a624ba15e2
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Sep 12 18:37:04 2014 +0200

    well enabling optimizations with SunStudio is just asking for trouble...
    
    Change-Id: I396b1f612432ffe5f77cae505f2a57ca0f2068a2

diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx
index d95600d..ef8217b 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -569,7 +569,6 @@ sal_Int32 TextSearch::GetDiff( const sal_Unicode cChr ) const
 }
 
 
-// TextSearch::NSrchFrwrd is mis-optimized on unxsoli (#i105945#)
 SearchResult TextSearch::NSrchFrwrd( const OUString& searchStr, sal_Int32 startPos, sal_Int32 endPos )
         throw(RuntimeException)
 {
diff --git a/sc/source/ui/view/tabcont.cxx b/sc/source/ui/view/tabcont.cxx
index 3bfeb99..66484c2 100644
--- a/sc/source/ui/view/tabcont.cxx
+++ b/sc/source/ui/view/tabcont.cxx
@@ -382,8 +382,6 @@ void ScTabControl::UpdateStatus()
             if ( rMark.GetTableSelect(i) != (bool) IsPageSelected(static_cast<sal_uInt16>(i)+1) )
                 bModified = true;
 
-        // #i99576# the following loop is mis-optimized on unxsoli4 and the reason
-        // why this file is in NOOPTFILES.
         if ( bModified )
             for (i=0; i<nCount; i++)
                 SelectPage( static_cast<sal_uInt16>(i)+1, rMark.GetTableSelect(i) );
commit 7ce8ba33f38671d7cae8b0e759c38b4a8668488a
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Sep 12 17:59:49 2014 +0200

    STL assert in connectivity::file::OPreparedStatement::checkAndResizeParameters
    
    Change-Id: I48f4ceaf1d01d449eba169534f6512f9aadca886

diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx b/connectivity/source/drivers/file/FPreparedStatement.cxx
index 66dff0a..199b4f6 100644
--- a/connectivity/source/drivers/file/FPreparedStatement.cxx
+++ b/connectivity/source/drivers/file/FPreparedStatement.cxx
@@ -403,7 +403,7 @@ void OPreparedStatement::checkAndResizeParameters(sal_Int32 parameterIndex)
     {
         sal_Int32 i = m_aParameterRow->get().size();
         (m_aParameterRow->get()).resize(parameterIndex+1);
-        for ( ;i <= parameterIndex+1; ++i )
+        for ( ; i <= parameterIndex; ++i)
         {
             if ( !(m_aParameterRow->get())[i].is() )
                 (m_aParameterRow->get())[i] = new ORowSetValueDecorator;
commit 787d98f3ff9d8e6604f12b579ca203ea977151c0
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Sep 12 17:19:54 2014 +0200

    xmloff: remove yet another SunStudio workaround
    
    Change-Id: Ic9ec167d921c4c5f08914476bdbdd6a31a9391c1

diff --git a/xmloff/source/core/ProgressBarHelper.cxx b/xmloff/source/core/ProgressBarHelper.cxx
index e5b2666..a530970 100644
--- a/xmloff/source/core/ProgressBarHelper.cxx
+++ b/xmloff/source/core/ProgressBarHelper.cxx
@@ -20,8 +20,6 @@
 #include <xmloff/ProgressBarHelper.hxx>
 #include <xmloff/xmltoken.hxx>
 
-#include <stdlib.h>
-
 using namespace ::com::sun::star;
 
 static const sal_Int32 nDefaultProgressBarRange = 1000000;
@@ -52,12 +50,7 @@ sal_Int32 ProgressBarHelper::ChangeReference(sal_Int32 nNewReference)
         {
             double fPercent(nNewReference / nReference);
             double fValue(nValue * fPercent);
-#if OSL_DEBUG_LEVEL > 0
-            // workaround for toolchain bug on solaris/x86 Sun C++ 5.5
-            // just call some function here
-            (void) abs(nValue);
-#endif
-            nValue = static_cast< sal_Int32 >(fValue);
+            nValue = static_cast<sal_Int32>(fValue);
             nReference = nNewReference;
         }
         else
commit ef7b63ba359e222eecad03fd5f15b79af2f0ac02
Author: Michael Stahl <mstahl at redhat.com>
Date:   Fri Sep 12 14:40:03 2014 +0200

    svl: remove misleading comment obsoleted by 18fa868f
    
    Change-Id: Ib598a77cef98376089620b8f06fa34cfbf9a7a02

diff --git a/svl/source/numbers/zforscan.hxx b/svl/source/numbers/zforscan.hxx
index a8492f0..03d5efa 100644
--- a/svl/source/numbers/zforscan.hxx
+++ b/svl/source/numbers/zforscan.hxx
@@ -237,8 +237,6 @@ private: // Private section
 
     static inline bool StringEqualsChar( const OUString& rStr, sal_Unicode ch )
         { return rStr.getLength() == 1 && rStr[0] == ch; }
-        // Yes, for efficiency get the character first and then compare length
-        // because in most places where this is used the string is one char.
 
     // remove "..." and \... quotes from rStr, return how many chars removed
     static sal_Int32 RemoveQuotes( OUString& rStr );
commit 1f8710fd9bef46d0648ab0379f02d7cb3c344954
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Sep 11 11:40:05 2014 +0200

    sfx2: remove optimization disabling workaround for GCC 4.2 bug
    
    i#116803 was filed against OOo Linux baseline (some GCC 4.2.x); let's
    hope the current GCC versions that are required for C++11 work fine.
    
    Change-Id: Ie95b52c801564519aec348ae3fd56b14e2408234
    Reviewed-on: https://gerrit.libreoffice.org/11396
    Tested-by: LibreOffice gerrit bot <gerrit at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
index 8ce0196..998dc63 100644
--- a/sfx2/Library_sfx.mk
+++ b/sfx2/Library_sfx.mk
@@ -133,6 +133,7 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/config/evntconf \
     sfx2/source/control/bindings \
     sfx2/source/control/ctrlitem \
+	sfx2/source/control/dispatch \
 	sfx2/source/control/itemdel \
     sfx2/source/control/minfitem \
     sfx2/source/control/msg \
@@ -294,21 +295,6 @@ $(eval $(call gb_Library_add_exception_objects,sfx,\
     sfx2/source/view/viewsh \
 ))
 
-# i116803: crash in impress when
-# "opening stylist, select graphic style, select modify from context menu, cancel dialog, close stylist"
-# only on unxlngi6 and unxlngi6.pro platform
-ifeq ($(OS),LINUX)
-$(eval $(call gb_Library_add_cxxobjects,sfx,\
-       sfx2/source/control/dispatch \
-    , $(gb_COMPILERNOOPTFLAGS) $(if $(call gb_LinkTarget__debug_enabled,sfx),$(gb_DEBUG_CFLAGS)) $(gb_LinkTarget_EXCEPTIONFLAGS) \
-))
-else
-$(eval $(call gb_Library_add_exception_objects,sfx,\
-       sfx2/source/control/dispatch \
-))
-endif
-
-
 $(eval $(call gb_SdiTarget_SdiTarget,sfx2/sdi/sfxslots,sfx2/sdi/sfx))
 
 $(eval $(call gb_SdiTarget_set_include,sfx2/sdi/sfxslots,\
commit 715bf79404b268a2b3e5184dd2aa3b55097c67fc
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Sep 11 11:36:38 2014 +0200

    dbaccess: remove optimization disabling workaround for GCC 4.2 bug
    
    i#102305 was filed against OOo Linux baseline (some GCC 4.2.x); let's
    hope the current GCC versions that are required for C++11 work fine.
    
    Change-Id: I0ff00a44bb8fbb48845756cebd4ad69e0ab0c7aa
    Reviewed-on: https://gerrit.libreoffice.org/11395
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/dbaccess/Library_dbu.mk b/dbaccess/Library_dbu.mk
index fa551c5..c9b4f40 100644
--- a/dbaccess/Library_dbu.mk
+++ b/dbaccess/Library_dbu.mk
@@ -251,6 +251,7 @@ $(eval $(call gb_Library_add_exception_objects,dbu,\
     dbaccess/source/ui/uno/ColumnModel \
     dbaccess/source/ui/uno/ColumnPeer \
     dbaccess/source/ui/uno/composerdialogs \
+	dbaccess/source/ui/uno/copytablewizard \
     dbaccess/source/ui/uno/dbinteraction \
     dbaccess/source/ui/uno/DBTypeWizDlg \
     dbaccess/source/ui/uno/DBTypeWizDlgSetup \
@@ -268,16 +269,4 @@ $(eval $(call gb_Library_add_exception_objects,dbu,\
 ))
 endif
 
-# workaround for issue http://qa.openoffice.org/issues/show_bug.cgi?id=102305 Linux specific
-ifeq ($(COM),GCC)
-$(eval $(call gb_Library_add_cxxobjects,dbu,\
-    dbaccess/source/ui/uno/copytablewizard \
-    , $(gb_LinkTarget_EXCEPTIONFLAGS) $(gb_COMPILERNOOPTFLAGS) $(if $(call gb_LinkTarget__debug_enabled,dbu),$(gb_DEBUG_CFLAGS)) \
-))
-else
-$(eval $(call gb_Library_add_exception_objects,dbu,\
-    dbaccess/source/ui/uno/copytablewizard \
-))
-endif
-
 # vim: set noet sw=4 ts=4:
commit e227d6141a9fedf4a35eb9ebee85fd7e09341bfe
Author: Michael Stahl <mstahl at redhat.com>
Date:   Thu Sep 11 11:34:12 2014 +0200

    sc: remove optimization disabling workaround for GCC 4.5 bug
    
    ... since we need newer GCC for C++11 anyway.
    
    Change-Id: I5408d9066b9f1efec234fe05551fed2d8fb583ed
    Reviewed-on: https://gerrit.libreoffice.org/11394
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sc/Library_vbaobj.mk b/sc/Library_vbaobj.mk
index 00f31ad..92d3e06 100644
--- a/sc/Library_vbaobj.mk
+++ b/sc/Library_vbaobj.mk
@@ -104,6 +104,7 @@ $(eval $(call gb_Library_add_exception_objects,vbaobj,\
 	sc/source/ui/vba/vbapivottables \
 	sc/source/ui/vba/vbarange \
 	sc/source/ui/vba/vbasheetobject \
+	sc/source/ui/vba/vbasheetobjects \
 	sc/source/ui/vba/vbastyle \
 	sc/source/ui/vba/vbastyles \
 	sc/source/ui/vba/vbatextboxshape \
@@ -118,22 +119,6 @@ $(eval $(call gb_Library_add_exception_objects,vbaobj,\
 	sc/source/ui/vba/vbawsfunction \
 ))
 
-#http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50255
-ifeq ($(COM)-$(OS)-$(CPUNAME)$(COM_GCC_IS_CLANG),GCC-LINUX-INTEL)
-sc_gccthunkBroken := $(shell expr $(GCC_VERSION) \>= 40500 \& $(GCC_VERSION) \< 40602)
-endif
-
-ifeq ($(sc_gccthunkBroken),1)
-$(eval $(call gb_Library_add_cxxobjects,vbaobj,\
-    sc/source/ui/vba/vbasheetobjects \
-    , $(gb_COMPILERNOOPTFLAGS) $(if $(call gb_LinkTarget__debug_enabled,vbaobj),$(gb_DEBUG_CFLAGS)) $(gb_LinkTarget_EXCEPTIONFLAGS) \
-))
-else
-$(eval $(call gb_Library_add_exception_objects,vbaobj,\
-    sc/source/ui/vba/vbasheetobjects \
-))
-endif
-
 ifeq ($(OS),WNT)
 $(eval $(call gb_Library_use_system_win32_libs,vbaobj,\
 	advapi32 \
commit 92f4c7418ff786146eb23a5a0b6bcaaec6ae7065
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 12 16:55:08 2014 +0100

    Related: fdo#82259 BiauKai makes some crazy claims
    
    Change-Id: I002dd4834e0813b81548d6f275e261b37859f646

diff --git a/svtools/source/misc/sampletext.cxx b/svtools/source/misc/sampletext.cxx
index 4eaa38a..1472c01 100644
--- a/svtools/source/misc/sampletext.cxx
+++ b/svtools/source/misc/sampletext.cxx
@@ -26,6 +26,12 @@ static UScriptCode lcl_getHardCodedScriptNameForFont (const OutputDevice &rDevic
         // that it only covers "Phoenician" when in fact it's a Chinese font.
         return USCRIPT_HAN;
     }
+    else if (rName == "BiauKai")
+    {
+        // "BiauKai" makes crazy claims to cover BUGINESE, SUNDANESE, etc
+        // but in fact it's a Traditional Chinese font.
+        return USCRIPT_TRADITIONAL_HAN;
+    }
     else if (rName.startsWith("Bangla "))
     {
         // "Bangla Sangam MN" claims it supports MALAYALAM, but it doesn't
commit 0e076a0a57a7d73ff2480e3642fd157585110a22
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 12 16:52:09 2014 +0100

    Related: fdo#82259 we don't actually care about the ttf version here
    
    Change-Id: I75253c8cc4ab6325447d29fcb30a1992d8eb83ec

diff --git a/vcl/source/fontsubset/sft.cxx b/vcl/source/fontsubset/sft.cxx
index 1b5b477..f0d1007 100644
--- a/vcl/source/fontsubset/sft.cxx
+++ b/vcl/source/fontsubset/sft.cxx
@@ -2647,10 +2647,10 @@ bool getTTCoverage(
     const unsigned char* pTable, size_t nLength)
 {
     bool bRet = false;
-    sal_uInt16 nVersion = GetUInt16(pTable, 0, 1);
     // parse OS/2 header
-    if ( nVersion >= 0x0001 && nLength >= 58 )
+    if (nLength >= 58)
     {
+        pTable+=4; //skip Version
         rUnicodeRange.append(GetUInt32(pTable, 42, 1));
         rUnicodeRange.append(GetUInt32(pTable, 46, 1));
         rUnicodeRange.append(GetUInt32(pTable, 50, 1));
commit 75b982c4b615acea9380b2507277c94078ba189e
Author: Giuseppe Bilotta <giuseppe.bilotta at gmail.com>
Date:   Fri Sep 12 16:37:13 2014 +0200

    vcl: avoid calling GetResolution() twice
    
    Since we want both horizontal and vertical resolution, just get both
    with the same call.
    
    Change-Id: I7b08b94e792b069b86e334608d6d6dc3901ad181
    Reviewed-on: https://gerrit.libreoffice.org/11423
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/vcl/unx/generic/gdi/salgdi.cxx b/vcl/unx/generic/gdi/salgdi.cxx
index d99c406..10d3746 100644
--- a/vcl/unx/generic/gdi/salgdi.cxx
+++ b/vcl/unx/generic/gdi/salgdi.cxx
@@ -481,8 +481,9 @@ void X11SalGraphics::GetResolution( sal_Int32 &rDPIX, sal_Int32 &rDPIY ) // cons
         return;
     }
 
-    rDPIX = pDisplay->GetResolution().A();
-    rDPIY = pDisplay->GetResolution().B();
+    Pair dpi = pDisplay->GetResolution();
+    rDPIX = dpi.A();
+    rDPIY = dpi.B();
 
     if ( rDPIY > 200 )
     {
commit aa2fbfc4faa24cf7ee5aa9afdafddbd536ac4fec
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Sep 12 16:34:56 2014 +0200

    Found out that Mac OS X 10.9 has working threadsafe statics
    
    Change-Id: Ia50181989dfacee342bfa025cbdf718edaa27832

diff --git a/configure.ac b/configure.ac
index 84d697b..45018fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5880,7 +5880,20 @@ if test "$GCC" = "yes"; then
     dnl manual/abi.html#abi.versioning.history>; 4.3.0 is 20080306, 4.2.4 is
     dnl 20080519, 4.3.1 is 20080606) for Clang (for which GCC_VERSION is notoriously
     dnl "too old"):
-    if test "$_os" != Darwin -a "$_os" != Android; then
+    if test "$_os" = Darwin; then
+        dnl On Mac OS X, both /usr/lib/libstdc++.6.dylib and
+        dnl /usr/lib/libc++1.dylib delegate to /usr/lib/libc++abi.dylib for the
+        dnl __cxa_guard_* functionality; up to 10.8, libc++abi.dylib is
+        dnl apparently provided by a libcppabi project that has broken semantics
+        dnl (cf. <http://www.opensource.apple.com/source/libcppabi/libcppabi-26/
+        dnl src/cxa_guard.cxx>), while in 10.9 (verified at least on 10.9.4) it
+        dnl is apparently provided by LLVM's libcxxabi project, which has good
+        dnl semantics (cf. <http://llvm.org/svn/llvm-project/libcxxabi/trunk/
+        dnl src/cxa_guard.cpp>):
+        if test "$MAC_OS_X_VERSION_MIN_REQUIRED" -ge 1090; then
+            HAVE_THREADSAFE_STATICS=TRUE
+        fi
+    elif test "$_os" != Android; then
         if test "$COM_GCC_IS_CLANG" = TRUE; then
             AC_LANG_PUSH([C++])
             AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
commit b396ae62f7e224dbc5fe71d19d987804a02f398f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Sep 12 16:15:27 2014 +0200

    dbaccess: sal_Bool -> bool
    
    Change-Id: Ifad71823e72be71cbd9f9f58a51f4553ff54e4d4

diff --git a/dbaccess/source/core/api/CacheSet.cxx b/dbaccess/source/core/api/CacheSet.cxx
index 83e28fc..65c5e83 100644
--- a/dbaccess/source/core/api/CacheSet.cxx
+++ b/dbaccess/source/core/api/CacheSet.cxx
@@ -573,17 +573,17 @@ bool SAL_CALL OCacheSet::previous(  ) throw(SQLException, RuntimeException)
     return m_xDriverSet->previous();
 }
 
-bool OCacheSet::last_checked( sal_Bool /*i_bFetchRow*/)
+bool OCacheSet::last_checked( bool /*i_bFetchRow*/)
 {
     return last();
 }
 
-bool OCacheSet::previous_checked( sal_Bool /*i_bFetchRow*/ )
+bool OCacheSet::previous_checked( bool /*i_bFetchRow*/ )
 {
     return previous();
 }
 
-bool OCacheSet::absolute_checked( sal_Int32 row,sal_Bool /*i_bFetchRow*/ )
+bool OCacheSet::absolute_checked( sal_Int32 row,bool /*i_bFetchRow*/ )
 {
     return absolute(row);
 }
diff --git a/dbaccess/source/core/api/CacheSet.hxx b/dbaccess/source/core/api/CacheSet.hxx
index a42c3ee..8228278 100644
--- a/dbaccess/source/core/api/CacheSet.hxx
+++ b/dbaccess/source/core/api/CacheSet.hxx
@@ -141,9 +141,9 @@ namespace dbaccess
         virtual bool columnValuesUpdated(ORowSetValueVector::Vector& o_aCachedRow,const ORowSetValueVector::Vector& i_aRow);
         virtual bool updateColumnValues(const ORowSetValueVector::Vector& io_aCachedRow,ORowSetValueVector::Vector& io_aRow,const ::std::vector<sal_Int32>& i_aChangedColumns);
         virtual void fillMissingValues(ORowSetValueVector::Vector& io_aRow) const;
-        virtual bool previous_checked( sal_Bool i_bFetchRow );
-        virtual bool absolute_checked( sal_Int32 row,sal_Bool i_bFetchRow );
-        virtual bool last_checked( sal_Bool i_bFetchRow);
+        virtual bool previous_checked( bool i_bFetchRow );
+        virtual bool absolute_checked( sal_Int32 row,bool i_bFetchRow );
+        virtual bool last_checked( bool i_bFetchRow);
     };
 }
 #endif // INCLUDED_DBACCESS_SOURCE_CORE_API_CACHESET_HXX
diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx
index a9ed584..2c75718 100644
--- a/dbaccess/source/core/api/KeySet.cxx
+++ b/dbaccess/source/core/api/KeySet.cxx
@@ -1210,10 +1210,10 @@ bool SAL_CALL OKeySet::first(  ) throw(SQLException, RuntimeException)
 
 bool SAL_CALL OKeySet::last(  ) throw(SQLException, RuntimeException)
 {
-    return last_checked(sal_True);
+    return last_checked(true);
 }
 
-bool OKeySet::last_checked( sal_Bool /* i_bFetchRow */ )
+bool OKeySet::last_checked( bool /* i_bFetchRow */ )
 {
     m_bInserted = m_bUpdated = m_bDeleted = false;
     bool fetchedRow = fillAllRows();
@@ -1237,10 +1237,10 @@ sal_Int32 SAL_CALL OKeySet::getRow(  ) throw(SQLException, RuntimeException)
 
 bool SAL_CALL OKeySet::absolute( sal_Int32 row ) throw(SQLException, RuntimeException)
 {
-    return absolute_checked(row,sal_True);
+    return absolute_checked(row,true);
 }
 
-bool OKeySet::absolute_checked( sal_Int32 row, sal_Bool /* i_bFetchRow */ )
+bool OKeySet::absolute_checked( sal_Int32 row, bool /* i_bFetchRow */ )
 {
     m_bInserted = m_bUpdated = m_bDeleted = false;
     OSL_ENSURE(row,"absolute(0) isn't allowed!");
@@ -1309,7 +1309,7 @@ bool SAL_CALL OKeySet::relative( sal_Int32 rows ) throw(SQLException, RuntimeExc
     return absolute(getRow()+rows);
 }
 
-bool OKeySet::previous_checked( sal_Bool /* i_bFetchRow */ )
+bool OKeySet::previous_checked( bool /* i_bFetchRow */ )
 {
     m_bInserted = m_bUpdated = m_bDeleted = false;
     if(m_aKeyIter != m_aKeyMap.begin())
@@ -1322,7 +1322,7 @@ bool OKeySet::previous_checked( sal_Bool /* i_bFetchRow */ )
 
 bool SAL_CALL OKeySet::previous(  ) throw(SQLException, RuntimeException)
 {
-    return previous_checked(sal_True);
+    return previous_checked(true);
 }
 
 bool OKeySet::doTryRefetch_throw()  throw(SQLException, RuntimeException)
diff --git a/dbaccess/source/core/api/KeySet.hxx b/dbaccess/source/core/api/KeySet.hxx
index 5cc816b..49e60fb 100644
--- a/dbaccess/source/core/api/KeySet.hxx
+++ b/dbaccess/source/core/api/KeySet.hxx
@@ -228,9 +228,9 @@ namespace dbaccess
         virtual void SAL_CALL moveToCurrentRow(  ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) SAL_OVERRIDE;
 
 
-        virtual bool previous_checked( sal_Bool i_bFetchRow ) SAL_OVERRIDE;
-        virtual bool absolute_checked( sal_Int32 row,sal_Bool i_bFetchRow ) SAL_OVERRIDE;
-        virtual bool last_checked( sal_Bool i_bFetchRow) SAL_OVERRIDE;
+        virtual bool previous_checked( bool i_bFetchRow ) SAL_OVERRIDE;
+        virtual bool absolute_checked( sal_Int32 row,bool i_bFetchRow ) SAL_OVERRIDE;
+        virtual bool last_checked( bool i_bFetchRow) SAL_OVERRIDE;
     };
 }
 #endif // INCLUDED_DBACCESS_SOURCE_CORE_API_KEYSET_HXX
diff --git a/dbaccess/source/core/api/RowSetCache.cxx b/dbaccess/source/core/api/RowSetCache.cxx
index f4e84dc..07cfa19 100644
--- a/dbaccess/source/core/api/RowSetCache.cxx
+++ b/dbaccess/source/core/api/RowSetCache.cxx
@@ -722,7 +722,7 @@ bool ORowSetCache::afterLast(  )
 
         if(!m_bRowCountFinal)
         {
-            m_pCacheSet->last_checked(sal_False);
+            m_pCacheSet->last_checked(false);
             m_bRowCountFinal = true;
             m_nRowCount = m_pCacheSet->getRow();// + 1 removed
         }
@@ -774,7 +774,7 @@ bool ORowSetCache::fillMatrix(sal_Int32& _nNewStartPos, sal_Int32 &_nNewEndPos)
 
             if(!m_bRowCountFinal)
             {
-                if(m_pCacheSet->previous_checked(sal_False)) // because we stand after the last row
+                if(m_pCacheSet->previous_checked(false)) // because we stand after the last row
                     m_nRowCount = m_pCacheSet->getRow(); // here we have the row count
                 if(!m_nRowCount)
                     m_nRowCount = i-1; // it can be that getRow return zero
@@ -815,7 +815,7 @@ bool ORowSetCache::fillMatrix(sal_Int32& _nNewStartPos, sal_Int32 &_nNewEndPos)
     {
         if(!m_pCacheSet->next())
         {
-            if(m_pCacheSet->previous_checked(sal_False)) // because we stand after the last row
+            if(m_pCacheSet->previous_checked(false)) // because we stand after the last row
                 m_nRowCount = m_pCacheSet->getRow(); // here we have the row count
             m_bRowCountFinal = true;
         }
@@ -853,7 +853,7 @@ bool ORowSetCache::moveWindow()
                 // but only when we don't know it already
                 if ( !m_bRowCountFinal )
                 {
-                    bOk = m_pCacheSet->absolute_checked( m_nPosition + 1,sal_False );
+                    bOk = m_pCacheSet->absolute_checked( m_nPosition + 1,false );
                     if ( bOk )
                         m_nRowCount = std::max(sal_Int32(m_nPosition+1),m_nRowCount);
                 }
@@ -861,7 +861,7 @@ bool ORowSetCache::moveWindow()
             if(!bOk && !m_bRowCountFinal)
             {
                 // because we stand after the last row
-                m_nRowCount = m_pCacheSet->previous_checked(sal_False) ? m_pCacheSet->getRow() : 0;
+                m_nRowCount = m_pCacheSet->previous_checked(false) ? m_pCacheSet->getRow() : 0;
                 m_bRowCountFinal = true;
             }
         }
@@ -1018,7 +1018,7 @@ bool ORowSetCache::moveWindow()
                     bOk = m_pCacheSet->next();
                 if(!bOk)
                 {
-                    m_pCacheSet->previous_checked(sal_False); // because we stand after the last row
+                    m_pCacheSet->previous_checked(false); // because we stand after the last row
                     m_nRowCount      = nPos; // here we have the row count
                     OSL_ENSURE(nPos == m_pCacheSet->getRow(),"nPos is not valid!");
                     m_bRowCountFinal = true;
@@ -1045,7 +1045,7 @@ bool ORowSetCache::moveWindow()
 
                 if ( !m_bRowCountFinal )
                 {
-                    m_pCacheSet->previous_checked(sal_False);                   // because we stand after the last row
+                    m_pCacheSet->previous_checked(false);                   // because we stand after the last row
                     m_nRowCount      = std::max(m_nRowCount, nPos);    // here we have the row count
                     OSL_ENSURE(nPos == m_pCacheSet->getRow(),"nPos isn't valid!");
                     m_bRowCountFinal = true;
@@ -1058,7 +1058,7 @@ bool ORowSetCache::moveWindow()
                 aIter = m_pMatrix->begin();
 
                 nPos    = m_nStartPos + 1;
-                bCheck  = m_pCacheSet->absolute_checked(nPos, sal_True);
+                bCheck  = m_pCacheSet->absolute_checked(nPos, true);
                 for(; !aIter->is() && bCheck;++aIter, ++nPos)
                 {
                     OSL_ENSURE(aIter != m_pMatrix->end(),"Invalid iterator");
diff --git a/dbaccess/source/core/dataaccess/commanddefinition.cxx b/dbaccess/source/core/dataaccess/commanddefinition.cxx
index 7b5bc43..7d57df1 100644
--- a/dbaccess/source/core/dataaccess/commanddefinition.cxx
+++ b/dbaccess/source/core/dataaccess/commanddefinition.cxx
@@ -88,7 +88,7 @@ bool OCommandDefinition::getEscapeProcessing() throw( ::com::sun::star::uno::Run
     return getCommandDefinition().m_bEscapeProcessing;
 }
 
-void OCommandDefinition::setEscapeProcessing(sal_Bool p1) throw( ::com::sun::star::uno::RuntimeException )
+void OCommandDefinition::setEscapeProcessing(bool p1) throw( ::com::sun::star::uno::RuntimeException )
 {
     setPropertyValue(PROPERTY_ESCAPE_PROCESSING, Any(p1) );
 }
diff --git a/dbaccess/source/core/dataaccess/commanddefinition.hxx b/dbaccess/source/core/dataaccess/commanddefinition.hxx
index 940be33..476fd0b 100644
--- a/dbaccess/source/core/dataaccess/commanddefinition.hxx
+++ b/dbaccess/source/core/dataaccess/commanddefinition.hxx
@@ -129,7 +129,7 @@ public:
     virtual OUString getCommand() throw( ::com::sun::star::uno::RuntimeException );
     virtual void setCommand(const OUString&) throw( ::com::sun::star::uno::RuntimeException );
     virtual bool getEscapeProcessing() throw( ::com::sun::star::uno::RuntimeException );
-    virtual void setEscapeProcessing(sal_Bool) throw( ::com::sun::star::uno::RuntimeException );
+    virtual void setEscapeProcessing(bool) throw( ::com::sun::star::uno::RuntimeException );
     virtual OUString getUpdateTableName() throw( ::com::sun::star::uno::RuntimeException );
     virtual void setUpdateTableName(const OUString&) throw( ::com::sun::star::uno::RuntimeException );
     virtual OUString getUpdateCatalogName() throw( ::com::sun::star::uno::RuntimeException );
diff --git a/dbaccess/source/core/dataaccess/definitioncontainer.cxx b/dbaccess/source/core/dataaccess/definitioncontainer.cxx
index 226ab22..189612c 100644
--- a/dbaccess/source/core/dataaccess/definitioncontainer.cxx
+++ b/dbaccess/source/core/dataaccess/definitioncontainer.cxx
@@ -381,10 +381,10 @@ Any SAL_CALL ODefinitionContainer::getByName( const OUString& _rName ) throw(NoS
 {
     MutexGuard aGuard(m_aMutex);
 
-    return makeAny( implGetByName( _rName, sal_True ) );
+    return makeAny( implGetByName( _rName, true ) );
 }
 
-Reference< XContent > ODefinitionContainer::implGetByName(const OUString& _rName, sal_Bool _bReadIfNecessary) throw (NoSuchElementException)
+Reference< XContent > ODefinitionContainer::implGetByName(const OUString& _rName, bool _bReadIfNecessary) throw (NoSuchElementException)
 {
     Documents::iterator aMapPos = m_aDocumentMap.find(_rName);
     if (aMapPos == m_aDocumentMap.end())
diff --git a/dbaccess/source/core/dataaccess/documentcontainer.cxx b/dbaccess/source/core/dataaccess/documentcontainer.cxx
index dad805b..28c3349 100644
--- a/dbaccess/source/core/dataaccess/documentcontainer.cxx
+++ b/dbaccess/source/core/dataaccess/documentcontainer.cxx
@@ -656,7 +656,7 @@ OUString SAL_CALL ODocumentContainer::composeHierarchicalName( const OUString& i
     ::rtl::Reference<OContentHelper> pContent = NULL;
     try
     {
-        Reference<XUnoTunnel> xUnoTunnel(const_cast<ODocumentContainer*>(this)->implGetByName( _sName, sal_True ), UNO_QUERY );
+        Reference<XUnoTunnel> xUnoTunnel(const_cast<ODocumentContainer*>(this)->implGetByName( _sName, true ), UNO_QUERY );
         if ( xUnoTunnel.is() )
             pContent = reinterpret_cast<OContentHelper*>(xUnoTunnel->getSomething(OContentHelper::getUnoTunnelImplementationId()));
     }
@@ -721,7 +721,7 @@ void SAL_CALL ODocumentContainer::removeByName( const OUString& _rName ) throw(N
     if (!checkExistence(_rName))
         throw NoSuchElementException(_rName,*this);
 
-    Reference< XCommandProcessor > xContent( implGetByName( _rName, sal_True ), UNO_QUERY );
+    Reference< XCommandProcessor > xContent( implGetByName( _rName, true ), UNO_QUERY );
     if ( xContent.is() )
     {
         Command aCommand;
diff --git a/dbaccess/source/core/dataaccess/documentdefinition.cxx b/dbaccess/source/core/dataaccess/documentdefinition.cxx
index 167a52e..7573bef 100644
--- a/dbaccess/source/core/dataaccess/documentdefinition.cxx
+++ b/dbaccess/source/core/dataaccess/documentdefinition.cxx
@@ -237,7 +237,7 @@ namespace dbaccess
         virtual void SAL_CALL saveObject(  ) throw (ObjectSaveVetoException, Exception, RuntimeException, std::exception) SAL_OVERRIDE
         {
         }
-        virtual void SAL_CALL onShowWindow( sal_Bool /*bVisible*/ ) throw (RuntimeException)
+        virtual void SAL_CALL onShowWindow( bool /*bVisible*/ ) throw (RuntimeException)
         {
         }
         // XComponentSupplier
diff --git a/dbaccess/source/core/inc/definitioncontainer.hxx b/dbaccess/source/core/inc/definitioncontainer.hxx
index fac9373..f1abf03 100644
--- a/dbaccess/source/core/inc/definitioncontainer.hxx
+++ b/dbaccess/source/core/inc/definitioncontainer.hxx
@@ -232,7 +232,7 @@ protected:
         @see    createObject
     */
     virtual ::com::sun::star::uno::Reference< ::com::sun::star::ucb::XContent >
-                implGetByName(const OUString& _rName, sal_Bool _bCreateIfNecessary) throw (::com::sun::star::container::NoSuchElementException);
+                implGetByName(const OUString& _rName, bool _bCreateIfNecessary) throw (::com::sun::star::container::NoSuchElementException);
 
     /** quickly checks if there already is an element with a given name. No access to the configuration occurs, i.e.
         if there is such an object which is not already loaded, it won't be loaded now.
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index e275b7d..96ee1a4 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -2127,7 +2127,7 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
             break;
 
         case ID_BROWSER_SAVERECORD:
-            if ( SaveModified( sal_False ) )
+            if ( SaveModified( false ) )
                 setCurrentModified( false );
             break;
 
@@ -2166,7 +2166,7 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
     }
 }
 
-bool SbaXDataBrowserController::SaveModified(sal_Bool bAskFor)
+bool SbaXDataBrowserController::SaveModified(bool bAskFor)
 {
     if ( bAskFor && GetState(ID_BROWSER_SAVERECORD).bEnabled )
     {
@@ -2463,7 +2463,7 @@ void SbaXDataBrowserController::criticalFail()
     m_nRowSetPrivileges = 0;
 }
 
-void SbaXDataBrowserController::LoadFinished(sal_Bool /*bWasSynch*/)
+void SbaXDataBrowserController::LoadFinished(bool /*bWasSynch*/)
 {
     m_nRowSetPrivileges = 0;
 
diff --git a/dbaccess/source/ui/browser/exsrcbrw.cxx b/dbaccess/source/ui/browser/exsrcbrw.cxx
index 44b9d13..abdaf7c 100644
--- a/dbaccess/source/ui/browser/exsrcbrw.cxx
+++ b/dbaccess/source/ui/browser/exsrcbrw.cxx
@@ -374,7 +374,7 @@ void SbaExternalSourceBrowser::Attach(const Reference< XRowSet > & xMaster)
         }
 #endif
 
-        LoadFinished(sal_True);
+        LoadFinished(true);
 
         Reference< XResultSetUpdate >  xUpdate(xMaster, UNO_QUERY);
         try
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index 4e8e4e7..a088b29 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -1621,7 +1621,7 @@ void SbaTableQueryBrowser::criticalFail()
     unloadAndCleanup( false );
 }
 
-void SbaTableQueryBrowser::LoadFinished(sal_Bool _bWasSynch)
+void SbaTableQueryBrowser::LoadFinished(bool _bWasSynch)
 {
     SbaXDataBrowserController::LoadFinished(_bWasSynch);
 
@@ -2421,7 +2421,7 @@ bool SbaTableQueryBrowser::implLoadAnything(const OUString& _rDataSourceName, co
             if ( m_bPreview )
                 initializePreviewMode();
 
-            LoadFinished(sal_True);
+            LoadFinished(true);
         }
 
         InvalidateAll();
@@ -3703,7 +3703,7 @@ bool SbaTableQueryBrowser::preReloadForm()
 void SbaTableQueryBrowser::postReloadForm()
 {
     InitializeGridModel(getFormComponent());
-    LoadFinished(sal_True);
+    LoadFinished(true);
 }
 
 Reference< XEmbeddedScripts > SAL_CALL SbaTableQueryBrowser::getScriptContainer() throw (RuntimeException, std::exception)
diff --git a/dbaccess/source/ui/control/FieldControls.cxx b/dbaccess/source/ui/control/FieldControls.cxx
index a155fe2..3a14cdd 100644
--- a/dbaccess/source/ui/control/FieldControls.cxx
+++ b/dbaccess/source/ui/control/FieldControls.cxx
@@ -48,7 +48,7 @@ OPropColumnEditCtrl::OPropColumnEditCtrl(Window* pParent,
 }
 
 void
-OPropColumnEditCtrl::SetSpecialReadOnly(sal_Bool _bReadOnly)
+OPropColumnEditCtrl::SetSpecialReadOnly(bool _bReadOnly)
 {
     SetReadOnly(_bReadOnly);
     lcl_setSpecialReadOnly(_bReadOnly,this);
@@ -64,14 +64,14 @@ OPropEditCtrl::OPropEditCtrl(Window* pParent, sal_uInt16 nHelpId, short nPositio
 }
 
 void
-OPropEditCtrl::SetSpecialReadOnly(sal_Bool _bReadOnly)
+OPropEditCtrl::SetSpecialReadOnly(bool _bReadOnly)
 {
     SetReadOnly(_bReadOnly);
     lcl_setSpecialReadOnly(_bReadOnly,this);
 }
 
 void
-OPropNumericEditCtrl::SetSpecialReadOnly(sal_Bool _bReadOnly)
+OPropNumericEditCtrl::SetSpecialReadOnly(bool _bReadOnly)
 {
     SetReadOnly(_bReadOnly);
     lcl_setSpecialReadOnly(_bReadOnly,this);
@@ -93,7 +93,7 @@ OPropListBoxCtrl::OPropListBoxCtrl(Window* pParent, sal_uInt16 nHelpId, short nP
 }
 
 void
-OPropListBoxCtrl::SetSpecialReadOnly(sal_Bool _bReadOnly)
+OPropListBoxCtrl::SetSpecialReadOnly(bool _bReadOnly)
 {
     SetReadOnly(_bReadOnly);
     lcl_setSpecialReadOnly(_bReadOnly,this);
diff --git a/dbaccess/source/ui/dlg/RelationDlg.cxx b/dbaccess/source/ui/dlg/RelationDlg.cxx
index 63d5351..28d3372 100644
--- a/dbaccess/source/ui/dlg/RelationDlg.cxx
+++ b/dbaccess/source/ui/dlg/RelationDlg.cxx
@@ -221,7 +221,7 @@ TTableConnectionData::value_type ORelationDialog::getConnectionData() const
     return m_pConnData;
 }
 
-void ORelationDialog::setValid(sal_Bool _bValid)
+void ORelationDialog::setValid(bool _bValid)
 {
     m_pPB_OK->Enable(_bValid);
 }
diff --git a/dbaccess/source/ui/inc/FieldControls.hxx b/dbaccess/source/ui/inc/FieldControls.hxx
index 5584549..3d7c3cd 100644
--- a/dbaccess/source/ui/inc/FieldControls.hxx
+++ b/dbaccess/source/ui/inc/FieldControls.hxx
@@ -41,7 +41,7 @@ namespace dbaui
         short GetPos() const { return m_nPos; }
         OUString GetHelp() const { return m_strHelpText; }
 
-        virtual void SetSpecialReadOnly(sal_Bool _bReadOnly);
+        virtual void SetSpecialReadOnly(bool _bReadOnly);
 
     };
 
@@ -59,7 +59,7 @@ namespace dbaui
         short GetPos() const { return m_nPos; }
         OUString GetHelp() const { return m_strHelpText; }
 
-        virtual void SetSpecialReadOnly(sal_Bool _bReadOnly);
+        virtual void SetSpecialReadOnly(bool _bReadOnly);
     };
 
     class OPropNumericEditCtrl : public NumericField
@@ -75,7 +75,7 @@ namespace dbaui
         short GetPos() const { return m_nPos; }
         OUString GetHelp() const { return m_strHelpText; }
 
-        virtual void SetSpecialReadOnly(sal_Bool _bReadOnly);
+        virtual void SetSpecialReadOnly(bool _bReadOnly);
 
     };
 
@@ -92,7 +92,7 @@ namespace dbaui
         short GetPos() const { return m_nPos; }
         OUString GetHelp() const { return m_strHelpText; }
 
-        virtual void SetSpecialReadOnly(sal_Bool _bReadOnly);
+        virtual void SetSpecialReadOnly(bool _bReadOnly);
 
     };
 
diff --git a/dbaccess/source/ui/inc/JoinDesignView.hxx b/dbaccess/source/ui/inc/JoinDesignView.hxx
index ed824bc..be66612 100644
--- a/dbaccess/source/ui/inc/JoinDesignView.hxx
+++ b/dbaccess/source/ui/inc/JoinDesignView.hxx
@@ -44,7 +44,7 @@ namespace dbaui
         virtual ~OJoinDesignView();
 
         // set the view readonly or not
-        virtual void setReadOnly(sal_Bool _bReadOnly);
+        virtual void setReadOnly(bool _bReadOnly);
         // set the statement for representation
         /// late construction
         virtual void Construct() SAL_OVERRIDE;
diff --git a/dbaccess/source/ui/inc/JoinTableView.hxx b/dbaccess/source/ui/inc/JoinTableView.hxx
index aa266ab..f3e39b9 100644
--- a/dbaccess/source/ui/inc/JoinTableView.hxx
+++ b/dbaccess/source/ui/inc/JoinTableView.hxx
@@ -150,7 +150,7 @@ namespace dbaui
 
             @return an iterator to next valid connection, so it can be used in any loop
         */
-        virtual bool RemoveConnection(OTableConnection* _pConnection,sal_Bool _bDelete);
+        virtual bool RemoveConnection(OTableConnection* _pConnection,bool _bDelete);
 
         /** allows to add new connections to join table view
 
diff --git a/dbaccess/source/ui/inc/QueryDesignView.hxx b/dbaccess/source/ui/inc/QueryDesignView.hxx
index 0bf604a..c09a014 100644
--- a/dbaccess/source/ui/inc/QueryDesignView.hxx
+++ b/dbaccess/source/ui/inc/QueryDesignView.hxx
@@ -86,7 +86,7 @@ namespace dbaui
         // clears the whole query
         virtual void clear() SAL_OVERRIDE;
         // set the view readonly or not
-        virtual void setReadOnly(sal_Bool _bReadOnly) SAL_OVERRIDE;
+        virtual void setReadOnly(bool _bReadOnly) SAL_OVERRIDE;
         // check if the statement is correct when not returning false
         virtual bool checkStatement();
         // set the statement for representation
diff --git a/dbaccess/source/ui/inc/QueryTableView.hxx b/dbaccess/source/ui/inc/QueryTableView.hxx
index 889156e..f42285e 100644
--- a/dbaccess/source/ui/inc/QueryTableView.hxx
+++ b/dbaccess/source/ui/inc/QueryTableView.hxx
@@ -75,7 +75,7 @@ namespace dbaui
         /// base class overwritten: create and delete Connections
         virtual void AddConnection(const OJoinExchangeData& jxdSource, const OJoinExchangeData& jxdDest) SAL_OVERRIDE;
 
-        virtual bool RemoveConnection( OTableConnection* _pConn ,sal_Bool _bDelete) SAL_OVERRIDE;
+        virtual bool RemoveConnection( OTableConnection* _pConn ,bool _bDelete) SAL_OVERRIDE;
 
         // transfer of connections from and to UndoAction
 
diff --git a/dbaccess/source/ui/inc/QueryTextView.hxx b/dbaccess/source/ui/inc/QueryTextView.hxx
index 178d5db..f1f7c04 100644
--- a/dbaccess/source/ui/inc/QueryTextView.hxx
+++ b/dbaccess/source/ui/inc/QueryTextView.hxx
@@ -44,7 +44,7 @@ namespace dbaui
         // clears the whole query
         virtual void clear();
         // set the view readonly or not
-        virtual void setReadOnly(sal_Bool _bReadOnly);
+        virtual void setReadOnly(bool _bReadOnly);
         // check if the statement is correct when not returning false
         virtual bool checkStatement();
         // set the statement for representation
diff --git a/dbaccess/source/ui/inc/RelControliFace.hxx b/dbaccess/source/ui/inc/RelControliFace.hxx
index 7a60255..a499b21 100644
--- a/dbaccess/source/ui/inc/RelControliFace.hxx
+++ b/dbaccess/source/ui/inc/RelControliFace.hxx
@@ -37,7 +37,7 @@ namespace dbaui
         /** setValid set the valid inside, can be used for OK buttons
             @param  _bValid true when the using control allows an update
         */
-        virtual void setValid(sal_Bool _bValid) = 0;
+        virtual void setValid(bool _bValid) = 0;
 
         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > getConnection() = 0;
 
diff --git a/dbaccess/source/ui/inc/RelationDlg.hxx b/dbaccess/source/ui/inc/RelationDlg.hxx
index 83167ac..1868552 100644
--- a/dbaccess/source/ui/inc/RelationDlg.hxx
+++ b/dbaccess/source/ui/inc/RelationDlg.hxx
@@ -79,7 +79,7 @@ namespace dbaui
         /** setValid set the valid inside, can be used for OK buttons
             @param  _bValid true when the using control allows an update
         */
-        virtual void setValid(sal_Bool _bValid) SAL_OVERRIDE;
+        virtual void setValid(bool _bValid) SAL_OVERRIDE;
 
         /** notifyConnectionChange is callback which is called when the table selection has changed and a new connection exists
             @param  _pConnectionData    the connection which exists between the new tables
diff --git a/dbaccess/source/ui/inc/RelationTableView.hxx b/dbaccess/source/ui/inc/RelationTableView.hxx
index cbc2b7a..aec5098 100644
--- a/dbaccess/source/ui/inc/RelationTableView.hxx
+++ b/dbaccess/source/ui/inc/RelationTableView.hxx
@@ -57,7 +57,7 @@ namespace dbaui
 
         virtual void RemoveTabWin( OTableWindow* pTabWin ) SAL_OVERRIDE;
         virtual void AddConnection(const OJoinExchangeData& jxdSource, const OJoinExchangeData& jxdDest) SAL_OVERRIDE;
-        virtual bool RemoveConnection(OTableConnection* pConn,sal_Bool _bDelete) SAL_OVERRIDE;
+        virtual bool RemoveConnection(OTableConnection* pConn,bool _bDelete) SAL_OVERRIDE;
 
         virtual void ReSync() SAL_OVERRIDE;
 
diff --git a/dbaccess/source/ui/inc/brwctrlr.hxx b/dbaccess/source/ui/inc/brwctrlr.hxx
index 1b72e38..bb2d19c 100644
--- a/dbaccess/source/ui/inc/brwctrlr.hxx
+++ b/dbaccess/source/ui/inc/brwctrlr.hxx
@@ -278,7 +278,7 @@ namespace dbaui
             // the default implementation also calls LoadFinished after a syncronous load, so be sure to do the same if you override
             // this metod and don't call the base class' method
 
-        virtual void LoadFinished(sal_Bool bWasSynch);
+        virtual void LoadFinished(bool bWasSynch);
             // called if the loading (the _complete_ loading process) is done (no matter if synchron or asynchron).
 
         virtual void criticalFail();
@@ -290,7 +290,7 @@ namespace dbaui
             // empty the frame where our view resides
         virtual bool CommitCurrent();
             // commit the current column (i.e. cell)
-        virtual bool SaveModified(sal_Bool bAskFor = sal_True);
+        virtual bool SaveModified(bool bAskFor = true);
             // save the modified record
 
         ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >   getBoundField(sal_uInt16 nViewPos = (sal_uInt16)-1) const;
diff --git a/dbaccess/source/ui/inc/queryview.hxx b/dbaccess/source/ui/inc/queryview.hxx
index 2a1b403..467b09f 100644
--- a/dbaccess/source/ui/inc/queryview.hxx
+++ b/dbaccess/source/ui/inc/queryview.hxx
@@ -39,7 +39,7 @@ namespace dbaui
         // clears the whole query
         virtual void clear() = 0;
         // set the view readonly or not
-        virtual void setReadOnly(sal_Bool _bReadOnly) SAL_OVERRIDE = 0;
+        virtual void setReadOnly(bool _bReadOnly) SAL_OVERRIDE = 0;
         // set the statement for representation
         virtual void setStatement(const OUString& _rsStatement) = 0;
         // returns the current sql statement
diff --git a/dbaccess/source/ui/inc/unodatbr.hxx b/dbaccess/source/ui/inc/unodatbr.hxx
index b86083a..1c00491 100644
--- a/dbaccess/source/ui/inc/unodatbr.hxx
+++ b/dbaccess/source/ui/inc/unodatbr.hxx
@@ -217,7 +217,7 @@ namespace dbaui
         virtual void AddColumnListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & xCol) SAL_OVERRIDE;
         virtual void RemoveColumnListener(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > & xCol) SAL_OVERRIDE;
 
-        virtual void LoadFinished(sal_Bool _bWasSynch) SAL_OVERRIDE;
+        virtual void LoadFinished(bool _bWasSynch) SAL_OVERRIDE;
 
         virtual void criticalFail() SAL_OVERRIDE;
 
diff --git a/dbaccess/source/ui/querydesign/JoinDesignView.cxx b/dbaccess/source/ui/querydesign/JoinDesignView.cxx
index 6372e15..4501497 100644
--- a/dbaccess/source/ui/querydesign/JoinDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinDesignView.cxx
@@ -91,7 +91,7 @@ void OJoinDesignView::resizeDocumentView(Rectangle& _rPlayground)
     _rPlayground.SetSize( Size( 0, 0 ) );
 }
 
-void OJoinDesignView::setReadOnly(sal_Bool /*_bReadOnly*/)
+void OJoinDesignView::setReadOnly(bool /*_bReadOnly*/)
 {
 }
 
diff --git a/dbaccess/source/ui/querydesign/JoinTableView.cxx b/dbaccess/source/ui/querydesign/JoinTableView.cxx
index e9d7dc8..9a954ea 100644
--- a/dbaccess/source/ui/querydesign/JoinTableView.cxx
+++ b/dbaccess/source/ui/querydesign/JoinTableView.cxx
@@ -228,7 +228,7 @@ sal_uLong OJoinTableView::GetTabWinCount()
     return m_aTableMap.size();
 }
 
-bool OJoinTableView::RemoveConnection( OTableConnection* _pConn,sal_Bool _bDelete )
+bool OJoinTableView::RemoveConnection( OTableConnection* _pConn,bool _bDelete )
 {
     DeselectConn(_pConn);
 
@@ -349,7 +349,7 @@ void OJoinTableView::RemoveTabWin( OTableWindow* pTabWin )
             ( pData == pTabConn->GetData()->getReferencedTable())
         )
         {
-          bRemove = RemoveConnection( pTabConn ,sal_True);
+          bRemove = RemoveConnection( pTabConn ,true);
           aIter = m_vTableConnection.rbegin();
         }
         else
@@ -845,7 +845,7 @@ void OJoinTableView::KeyInput( const KeyEvent& rEvt )
     if( !bCtrl && !bShift && (nCode==KEY_DELETE) )
     {
         if (GetSelectedConn())
-            RemoveConnection( GetSelectedConn() ,sal_True);
+            RemoveConnection( GetSelectedConn() ,true);
     }
     else
         Window::KeyInput( rEvt );
@@ -973,7 +973,7 @@ void OJoinTableView::ClearAll()
     ::std::vector<OTableConnection*>::iterator aIter = m_vTableConnection.begin();
     ::std::vector<OTableConnection*>::iterator aEnd = m_vTableConnection.end();
     for(;aIter != aEnd;++aIter)
-        RemoveConnection( *aIter ,sal_True);
+        RemoveConnection( *aIter ,true);
     m_vTableConnection.clear();
 
     m_pLastFocusTabWin  = NULL;
@@ -1122,7 +1122,7 @@ void OJoinTableView::executePopup(const Point& _aPos,OTableConnection* _pSelConn
     switch (aContextMenu.Execute(this, _aPos))
     {
         case SID_DELETE:
-            RemoveConnection( _pSelConnection ,sal_True);
+            RemoveConnection( _pSelConnection ,true);
             break;
         case ID_QUERY_EDIT_JOINCONNECTION:
             ConnDoubleClicked( _pSelConnection ); // is the same as double clicked
diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
index 1049b5d..3601fd0 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
@@ -2625,7 +2625,7 @@ void OQueryDesignView::resizeDocumentView(Rectangle& _rPlayground)
     _rPlayground.SetSize( Size( 0, 0 ) );
 }
 
-void OQueryDesignView::setReadOnly(sal_Bool _bReadOnly)
+void OQueryDesignView::setReadOnly(bool _bReadOnly)
 {
     m_pSelectionBox->SetReadOnly(_bReadOnly);
 }
diff --git a/dbaccess/source/ui/querydesign/QueryTableView.cxx b/dbaccess/source/ui/querydesign/QueryTableView.cxx
index 4626706..0d44b0d 100644
--- a/dbaccess/source/ui/querydesign/QueryTableView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTableView.cxx
@@ -683,11 +683,11 @@ void OQueryTableView::createNewConnection()
     }
 }
 
-bool OQueryTableView::RemoveConnection( OTableConnection* _pConnection,sal_Bool /*_bDelete*/ )
+bool OQueryTableView::RemoveConnection( OTableConnection* _pConnection,bool /*_bDelete*/ )
 {
 
     // we don't want that our connection will be deleted, we put it in the undo manager
-    bool bRet = OJoinTableView::RemoveConnection( _pConnection,sal_False);
+    bool bRet = OJoinTableView::RemoveConnection( _pConnection,false);
 
     // add undo action
     addUndoAction(  this,
@@ -802,7 +802,7 @@ void OQueryTableView::DropConnection(OQueryTableConnection* pConn)
 {
     // Pay attention to the selection
     // remove from me and the document
-    RemoveConnection( pConn ,sal_False);
+    RemoveConnection( pConn ,false);
 }
 
 void OQueryTableView::HideTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUndoAct* pUndoAction )
@@ -852,7 +852,7 @@ void OQueryTableView::HideTabWin( OQueryTableWindow* pTabWin, OQueryTabWinUndoAc
 
             // call base class because we append an undo action
             // but this time we are in a undo action list
-            OJoinTableView::RemoveConnection(pTmpEntry,sal_False);
+            OJoinTableView::RemoveConnection(pTmpEntry,false);
             aIter2 = rTabConList.begin();
             ++nCnt;
         }
diff --git a/dbaccess/source/ui/querydesign/QueryTextView.cxx b/dbaccess/source/ui/querydesign/QueryTextView.cxx
index b0d8364..3d1f4b0 100644
--- a/dbaccess/source/ui/querydesign/QueryTextView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryTextView.cxx
@@ -79,7 +79,7 @@ OUString OQueryTextView::getStatement()
     return m_pEdit->GetText();
 }
 
-void OQueryTextView::setReadOnly(sal_Bool _bReadOnly)
+void OQueryTextView::setReadOnly(bool _bReadOnly)
 {
     m_pEdit->SetReadOnly(_bReadOnly);
 }
diff --git a/dbaccess/source/ui/querydesign/querydlg.cxx b/dbaccess/source/ui/querydesign/querydlg.cxx
index 23db605..6263d0c 100644
--- a/dbaccess/source/ui/querydesign/querydlg.cxx
+++ b/dbaccess/source/ui/querydesign/querydlg.cxx
@@ -276,7 +276,7 @@ TTableConnectionData::value_type DlgQryJoin::getConnectionData() const
     return m_pConnData;
 }
 
-void DlgQryJoin::setValid(sal_Bool _bValid)
+void DlgQryJoin::setValid(bool _bValid)
 {
     m_pPB_OK->Enable(_bValid || eJoinType == CROSS_JOIN );
 }
diff --git a/dbaccess/source/ui/querydesign/querydlg.hxx b/dbaccess/source/ui/querydesign/querydlg.hxx
index 6dd0857..e8ce875 100644
--- a/dbaccess/source/ui/querydesign/querydlg.hxx
+++ b/dbaccess/source/ui/querydesign/querydlg.hxx
@@ -79,7 +79,7 @@ namespace dbaui
         /** setValid set the valid inside, can be used for OK buttons
             @param  _bValid true when the using control allows an update
         */
-        virtual void setValid(sal_Bool _bValid) SAL_OVERRIDE;
+        virtual void setValid(bool _bValid) SAL_OVERRIDE;
 
         virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > getConnection() SAL_OVERRIDE { return m_xConnection; }
 
diff --git a/dbaccess/source/ui/relationdesign/RelationTableView.cxx b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
index e54dcc6..84a84f5 100644
--- a/dbaccess/source/ui/relationdesign/RelationTableView.cxx
+++ b/dbaccess/source/ui/relationdesign/RelationTableView.cxx
@@ -228,7 +228,7 @@ void ORelationTableView::ConnDoubleClicked( OTableConnection* pConnection )
 
         case RET_NO:
             // tried at least one update, but did not succeed -> the original connection is lost
-            RemoveConnection( pConnection ,sal_True);
+            RemoveConnection( pConnection ,true);
             break;
 
         case RET_CANCEL:
@@ -255,13 +255,13 @@ void ORelationTableView::AddNewRelation()
     }
 }
 
-bool ORelationTableView::RemoveConnection( OTableConnection* pConn ,sal_Bool /*_bDelete*/)
+bool ORelationTableView::RemoveConnection( OTableConnection* pConn ,bool /*_bDelete*/)
 {
     ORelationTableConnectionData* pTabConnData = (ORelationTableConnectionData*)pConn->GetData().get();
     try
     {
         if ( m_bInRemove || pTabConnData->DropRelation())
-            return OJoinTableView::RemoveConnection( pConn ,sal_True);
+            return OJoinTableView::RemoveConnection( pConn ,true);
     }
     catch(SQLException& e)
     {
diff --git a/dbaccess/source/ui/tabledesign/TableController.cxx b/dbaccess/source/ui/tabledesign/TableController.cxx
index 14f24e6..dfdbcf4 100644
--- a/dbaccess/source/ui/tabledesign/TableController.cxx
+++ b/dbaccess/source/ui/tabledesign/TableController.cxx
@@ -1396,7 +1396,7 @@ void OTableController::assignTable()
                     setEditable( xMeta.is() && !xMeta->isReadOnly() && (isAlterAllowed() || isDropAllowed() || isAddAllowed()) );
                     if(!isEditable())
                     {
-                        sal_Bool t( sal_True );
+                        bool t( true );
                         ::std::for_each(m_vRowList.begin(),m_vRowList.end(),boost::bind( &OTableRow::SetReadOnly, _1, boost::cref( t )));
                     }
                     m_bNew = false;
commit 6fb5bf5266e678b6d10fc012fefaad69e2589f3f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Sep 12 15:57:45 2014 +0200

    fpicker: sal_Bool -> bool
    
    Change-Id: Iaf55e2106900be0319c96861b07abea24075bbbe

diff --git a/fpicker/source/office/OfficeControlAccess.cxx b/fpicker/source/office/OfficeControlAccess.cxx
index 0dbddcb..fe45acd 100644
--- a/fpicker/source/office/OfficeControlAccess.cxx
+++ b/fpicker/source/office/OfficeControlAccess.cxx
@@ -397,7 +397,7 @@ namespace svt
     {
         Any aRet;
 
-        Control* pControl = m_pFilePickerController->getControl( _nControlId, sal_False );
+        Control* pControl = m_pFilePickerController->getControl( _nControlId, false );
         DBG_ASSERT( pControl, "OControlAccess::GetValue: don't have this control in the current mode!" );
         if ( pControl )
         {
@@ -463,7 +463,7 @@ namespace svt
 
     void OControlAccess::setLabel( sal_Int16 nId, const OUString &rLabel )
     {
-        Control* pControl = m_pFilePickerController->getControl( nId, sal_True );
+        Control* pControl = m_pFilePickerController->getControl( nId, true );
         DBG_ASSERT( pControl, "OControlAccess::GetValue: don't have this control in the current mode!" );
         if ( pControl )
             pControl->SetText( rLabel );
@@ -474,7 +474,7 @@ namespace svt
     {
         OUString sLabel;
 
-        Control* pControl = m_pFilePickerController->getControl( nId, sal_True );
+        Control* pControl = m_pFilePickerController->getControl( nId, true );
         DBG_ASSERT( pControl, "OControlAccess::GetValue: don't have this control in the current mode!" );
         if ( pControl )
             sLabel = pControl->GetText();
diff --git a/fpicker/source/office/iodlg.cxx b/fpicker/source/office/iodlg.cxx
index ec215c9..1d84dc0 100644
--- a/fpicker/source/office/iodlg.cxx
+++ b/fpicker/source/office/iodlg.cxx
@@ -2366,7 +2366,7 @@ void SvtFileDialog::Resize()
         _pFileNotifier->notify( DIALOG_SIZE_CHANGED, 0 );
 }
 
-Control* SvtFileDialog::getControl( sal_Int16 _nControlId, sal_Bool _bLabelControl ) const
+Control* SvtFileDialog::getControl( sal_Int16 _nControlId, bool _bLabelControl ) const
 {
     Control* pReturn = NULL;
 
@@ -2491,12 +2491,12 @@ Control* SvtFileDialog::getControl( sal_Int16 _nControlId, sal_Bool _bLabelContr
 }
 
 
-void SvtFileDialog::enableControl( sal_Int16 _nControlId, sal_Bool _bEnable )
+void SvtFileDialog::enableControl( sal_Int16 _nControlId, bool _bEnable )
 {
-    Control* pControl = getControl( _nControlId, sal_False );
+    Control* pControl = getControl( _nControlId, false );
     if ( pControl )
         EnableControl( pControl, _bEnable );
-    Control* pLabel = getControl( _nControlId, sal_True );
+    Control* pLabel = getControl( _nControlId, true );
     if ( pLabel )
         EnableControl( pLabel, _bEnable );
 }
diff --git a/fpicker/source/office/iodlg.hxx b/fpicker/source/office/iodlg.hxx
index e4fad34..c7b38a3 100644
--- a/fpicker/source/office/iodlg.hxx
+++ b/fpicker/source/office/iodlg.hxx
@@ -298,8 +298,8 @@ private:
     sal_uInt16                  adjustFilter( const OUString& _rFilter );
 
     // IFilePickerController, needed by OControlAccess
-    virtual Control*            getControl( sal_Int16 _nControlId, sal_Bool _bLabelControl = sal_False ) const SAL_OVERRIDE;
-    virtual void                enableControl( sal_Int16 _nControlId, sal_Bool _bEnable ) SAL_OVERRIDE;
+    virtual Control*            getControl( sal_Int16 _nControlId, bool _bLabelControl = false ) const SAL_OVERRIDE;
+    virtual void                enableControl( sal_Int16 _nControlId, bool _bEnable ) SAL_OVERRIDE;
     virtual OUString            getCurFilter( ) const SAL_OVERRIDE;
 
     OUString                    implGetInitialURL( const OUString& _rPath, const OUString& _rFallback );
diff --git a/fpicker/source/office/pickercallbacks.hxx b/fpicker/source/office/pickercallbacks.hxx
index 0bf7949..84e2ba7 100644
--- a/fpicker/source/office/pickercallbacks.hxx
+++ b/fpicker/source/office/pickercallbacks.hxx
@@ -34,8 +34,8 @@ namespace svt
     class IFilePickerController
     {
     public:
-        virtual Control*    getControl( sal_Int16 _nControlId, sal_Bool _bLabelControl = sal_False ) const = 0;
-        virtual void        enableControl( sal_Int16 _nControlId, sal_Bool _bEnable ) = 0;
+        virtual Control*    getControl( sal_Int16 _nControlId, bool _bLabelControl = false ) const = 0;
+        virtual void        enableControl( sal_Int16 _nControlId, bool _bEnable ) = 0;
         virtual OUString    getCurFilter( ) const = 0;
 
     protected:
commit 102c2413c144603b7129f2a64f8e96993d1ad46a
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Sep 12 15:47:25 2014 +0200

    cui: sal_Bool -> bool
    
    Change-Id: Ib472f25eb1625dadca8c2078b3f9cdab98763c8d

diff --git a/cui/source/dialogs/hltpbase.cxx b/cui/source/dialogs/hltpbase.cxx
index c59eda4..7719ffb 100644
--- a/cui/source/dialogs/hltpbase.cxx
+++ b/cui/source/dialogs/hltpbase.cxx
@@ -544,7 +544,7 @@ bool SvxHyperlinkTabPageBase::ShouldOpenMarkWnd()
     return false;
 }
 
-void SvxHyperlinkTabPageBase::SetMarkWndShouldOpen(sal_Bool)
+void SvxHyperlinkTabPageBase::SetMarkWndShouldOpen(bool)
 {
 }
 
diff --git a/cui/source/inc/hldoctp.hxx b/cui/source/inc/hldoctp.hxx
index 70e440e..ea69d97 100644
--- a/cui/source/inc/hldoctp.hxx
+++ b/cui/source/inc/hldoctp.hxx
@@ -62,7 +62,7 @@ protected:
                              OUString& aStrIntName, OUString& aStrFrame,
                              SvxLinkInsertMode& eMode ) SAL_OVERRIDE;
     virtual bool   ShouldOpenMarkWnd () SAL_OVERRIDE {return mbMarkWndOpen;}
-    virtual void   SetMarkWndShouldOpen (sal_Bool bOpen) SAL_OVERRIDE {mbMarkWndOpen=bOpen;}
+    virtual void   SetMarkWndShouldOpen (bool bOpen) SAL_OVERRIDE {mbMarkWndOpen=bOpen;}
     OUString GetCurrentURL    ();
 
 public:
diff --git a/cui/source/inc/hlinettp.hxx b/cui/source/inc/hlinettp.hxx
index 7347c52..11f1eb8 100644
--- a/cui/source/inc/hlinettp.hxx
+++ b/cui/source/inc/hlinettp.hxx
@@ -74,7 +74,7 @@ protected:
                                      OUString& aStrIntName, OUString& aStrFrame,
                                      SvxLinkInsertMode& eMode ) SAL_OVERRIDE;
     virtual bool ShouldOpenMarkWnd () SAL_OVERRIDE {return ( mbMarkWndOpen && m_pRbtLinktypInternet->IsChecked() );}
-    virtual void SetMarkWndShouldOpen (sal_Bool bOpen) SAL_OVERRIDE {mbMarkWndOpen=bOpen;}
+    virtual void SetMarkWndShouldOpen (bool bOpen) SAL_OVERRIDE {mbMarkWndOpen=bOpen;}
 
 public:
     SvxHyperlinkInternetTp ( Window *pParent, IconChoiceDialog* pDlg, const SfxItemSet& rItemSet);
diff --git a/cui/source/inc/hltpbase.hxx b/cui/source/inc/hltpbase.hxx
index 4bb56d6..d63bd1c 100644
--- a/cui/source/inc/hltpbase.hxx
+++ b/cui/source/inc/hltpbase.hxx
@@ -144,7 +144,7 @@ public:
 
 protected:
     virtual bool ShouldOpenMarkWnd();
-    virtual void SetMarkWndShouldOpen(sal_Bool bOpen);
+    virtual void SetMarkWndShouldOpen(bool bOpen);
 
     void ShowMarkWnd ();
     void HideMarkWnd ()           { ( ( Window* ) mpMarkWnd )->Hide(); }
commit e0be487afd8c375455e8bbd0306bff73ddb1b51c
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 12 13:00:16 2014 +0100

    Related: fdo#82259 various "* MN" fonts incorrectly claim to support TAMIL
    
    Change-Id: Ie1f21052ff09fcf243a3cc0839cf7118efa09c68

diff --git a/svtools/source/misc/sampletext.cxx b/svtools/source/misc/sampletext.cxx
index 2800cc2..4eaa38a 100644
--- a/svtools/source/misc/sampletext.cxx
+++ b/svtools/source/misc/sampletext.cxx
@@ -18,11 +18,60 @@
 // that caused it to be added
 static UScriptCode lcl_getHardCodedScriptNameForFont (const OutputDevice &rDevice)
 {
-    // As of OSX 10.9, the system font "GB18030 Bitmap" incorrectly declares
-    // that it only covers "Phoenician" when in fact it's a Chinese font.
-    if (rDevice.GetFont().GetName().equalsIgnoreAsciiCase("GB18030 Bitmap")) {
+    const OUString &rName = rDevice.GetFont().GetName();
+
+    if (rName == "GB18030 Bitmap")
+    {
+        // As of OSX 10.9, the system font "GB18030 Bitmap" incorrectly declares
+        // that it only covers "Phoenician" when in fact it's a Chinese font.
         return USCRIPT_HAN;
     }
+    else if (rName.startsWith("Bangla "))
+    {
+        // "Bangla Sangam MN" claims it supports MALAYALAM, but it doesn't
+        // "Bangla MN" claims just DEVANAGARI and not an additional BENGALI
+        return USCRIPT_BENGALI;
+    }
+    else if (rName.startsWith("Gurmukhi "))
+    {
+        // "Gurmukhi MN" claims it supports TAMIL, but it doesn't
+        return USCRIPT_GURMUKHI;
+    }
+    else if (rName.startsWith("Kannada "))
+    {
+        // "Kannada MN" claims it supports TAMIL, but it doesn't
+        return USCRIPT_KANNADA;
+    }
+    else if (rName.startsWith("Lao "))
+    {
+        // "Lao Sangam MN" claims it supports TAMIL, but it doesn't
+        return USCRIPT_LAO;
+    }
+    else if (rName.startsWith("Malayalam "))
+    {
+        // "Malayalam MN" claims it supports TAMIL, but it doesn't
+        return USCRIPT_LAO;
+    }
+    else if (rName.startsWith("Sinhala "))
+    {
+        // "Sinhala MN" claims it supports CYRILLIC
+        return USCRIPT_SINHALA;
+    }
+    else if (rName.startsWith("Telugu "))
+    {
+        // "Telugu MN" claims it supports TAMIL, but it doesn't
+        return USCRIPT_TELUGU;
+    }
+    else if (rName.startsWith("Myanmar "))
+    {
+        return USCRIPT_MYANMAR;
+    }
+    else if (rName == "InaiMathi")
+    {
+        // "InaiMathi" claims it supports GOTHIC and CJK_UNIFIED_IDEOGRAPHS as well as
+        // TAMIL, but it doesn't
+        return USCRIPT_TAMIL;
+    }
 
     return USCRIPT_INVALID_CODE;
 }
commit 3202c44532ac59b7bd9fedae74201e4ba8c92013
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 12 11:49:03 2014 +0100

    use Apple Language Id conversion for matching font names
    
    Change-Id: Ic953c4ff0de6a90b0580bb22554750be08727349

diff --git a/vcl/generic/fontmanager/fontmanager.cxx b/vcl/generic/fontmanager/fontmanager.cxx
index 725fc87..e79c1d4 100644
--- a/vcl/generic/fontmanager/fontmanager.cxx
+++ b/vcl/generic/fontmanager/fontmanager.cxx
@@ -48,6 +48,7 @@
 
 #include <sal/macros.h>
 
+#include "i18nlangtag/applelangid.hxx"
 #include "i18nlangtag/mslangid.hxx"
 
 #include "parseAFM.hxx"
@@ -1114,7 +1115,8 @@ void PrintFontManager::analyzeTrueTypeFamilyName( void* pTTFont, ::std::list< OU
     int nNameRecords = GetTTNameRecords( (TrueTypeFont*)pTTFont, &pNameRecords );
     if( nNameRecords && pNameRecords )
     {
-        LanguageType aLang = MsLangId::getSystemLanguage();
+        LanguageTag aSystem("");
+        LanguageType eLang = aSystem.getLanguageType();
         int nLastMatch = -1;
         for( int i = 0; i < nNameRecords; i++ )
         {
@@ -1126,7 +1128,7 @@ void PrintFontManager::analyzeTrueTypeFamilyName( void* pTTFont, ::std::list< OU
             else if( pNameRecords[i].platformID == 3 )
             {
                 // this bases on the LanguageType actually being a Win LCID
-                if( pNameRecords[i].languageID == aLang )
+                if (pNameRecords[i].languageID == eLang)
                     nMatch = 8000;
                 else if( pNameRecords[i].languageID == LANGUAGE_ENGLISH_US )
                     nMatch = 2000;
@@ -1136,13 +1138,12 @@ void PrintFontManager::analyzeTrueTypeFamilyName( void* pTTFont, ::std::list< OU
                 else
                     nMatch = 1000;
             }
-            else if( pNameRecords[i].platformID == 1 )
+            else if (pNameRecords[i].platformID == 1)
             {
-/*
-                // to-do, mac to LanguageType conversion
-                if( pNameRecords[i].languageID == aLang )
+                LanguageTag aApple(makeLanguageTagFromAppleLanguageId(pNameRecords[i].languageID));
+                if (aApple == aSystem)
                     nMatch = 8000;
-                else*/ if( pNameRecords[i].languageID == 0 ) //English
+                else if (pNameRecords[i].languageID == APPLE_LANG_ENGLISH)
                     nMatch = 2000;
                 else
                     nMatch = 1000;
commit 9a502e6b1d6044e6f00db798dc2931f57eab161f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Sep 12 10:47:50 2014 +0100

    map Apple LanguageId to LanguageTag
    
    Change-Id: Ib203264ae89aef66f0e9b011ef9a34a8670500de

diff --git a/i18nlangtag/source/languagetag/languagetag.cxx b/i18nlangtag/source/languagetag/languagetag.cxx
index 25b6723..37e1893 100644
--- a/i18nlangtag/source/languagetag/languagetag.cxx
+++ b/i18nlangtag/source/languagetag/languagetag.cxx
@@ -10,6 +10,7 @@
 #include <config_folders.h>
 
 #include "i18nlangtag/languagetag.hxx"
+#include "i18nlangtag/applelangid.hxx"
 #include "i18nlangtag/mslangid.hxx"
 #include <rtl/ustrbuf.hxx>
 #include <rtl/bootstrap.hxx>
@@ -2745,4 +2746,370 @@ bool LanguageTag::isValidBcp47( const OUString& rString, OUString* o_pCanonicali
     return bValid;
 }
 
+LanguageTag makeLanguageTagFromAppleLanguageId(AppleLanguageId nLanguage)
+{
+    //map the simple ones via LanguageTypes, and the hard ones explictly
+    LanguageType nLang(LANGUAGE_DONTKNOW);
+
+    switch (nLanguage)
+    {
+        case APPLE_LANG_ENGLISH:
+            nLang = LANGUAGE_ENGLISH;
+            break;
+        case APPLE_LANG_FRENCH:
+            nLang = LANGUAGE_FRENCH;
+            break;
+        case APPLE_LANG_GERMAN:
+            nLang = LANGUAGE_GERMAN;
+            break;
+        case APPLE_LANG_ITALIAN:
+            nLang = LANGUAGE_ITALIAN;
+            break;
+        case APPLE_LANG_DUTCH:
+            nLang = LANGUAGE_DUTCH;
+            break;
+        case APPLE_LANG_SWEDISH:
+            nLang = LANGUAGE_SWEDISH;
+            break;
+        case APPLE_LANG_SPANISH:
+            nLang = LANGUAGE_SPANISH;
+            break;
+        case APPLE_LANG_DANISH:
+            nLang = LANGUAGE_DANISH;
+            break;
+        case APPLE_LANG_PORTUGUESE:
+            nLang = LANGUAGE_PORTUGUESE;
+            break;
+        case APPLE_LANG_NORWEGIAN:
+            nLang = LANGUAGE_NORWEGIAN;
+            break;
+        case APPLE_LANG_HEBREW:
+            nLang = LANGUAGE_HEBREW;
+            break;
+        case APPLE_LANG_JAPANESE:
+            nLang = LANGUAGE_JAPANESE;
+            break;
+        case APPLE_LANG_ARABIC:
+            nLang = LANGUAGE_ARABIC_PRIMARY_ONLY;
+            break;
+        case APPLE_LANG_FINNISH:
+            nLang = LANGUAGE_FINNISH;
+            break;
+        case APPLE_LANG_GREEK:
+            nLang = LANGUAGE_GREEK;
+            break;
+        case APPLE_LANG_ICELANDIC:
+            nLang = LANGUAGE_ICELANDIC;
+            break;
+        case APPLE_LANG_MALTESE:
+            nLang = LANGUAGE_MALTESE;
+            break;
+        case APPLE_LANG_TURKISH:
+            nLang = LANGUAGE_TURKISH;
+            break;
+        case APPLE_LANG_CROATIAN:
+            nLang = LANGUAGE_CROATIAN;
+            break;
+        case APPLE_LANG_CHINESE_TRADITIONAL:
+            nLang = LANGUAGE_CHINESE_TRADITIONAL;
+            break;
+        case APPLE_LANG_URDU:
+            nLang = LANGUAGE_URDU_PAKISTAN; //probably, otherwise we need a LANGUAGE_URDU_PRIMARY_ONLY
+            break;
+        case APPLE_LANG_HINDI:
+            nLang = LANGUAGE_HINDI;
+            break;
+        case APPLE_LANG_THAI:
+            nLang = LANGUAGE_THAI;
+            break;
+        case APPLE_LANG_KOREAN:
+            nLang = LANGUAGE_KOREAN;
+            break;
+        case APPLE_LANG_LITHUANIAN:
+            nLang = LANGUAGE_LITHUANIAN;
+            break;
+        case APPLE_LANG_POLISH:
+            nLang = LANGUAGE_POLISH;
+            break;
+        case APPLE_LANG_HUNGARIAN:
+            nLang = LANGUAGE_HUNGARIAN;
+            break;
+        case APPLE_LANG_ESTONIAN:
+            nLang = LANGUAGE_ESTONIAN;
+            break;
+        case APPLE_LANG_LATVIAN:
+            nLang = LANGUAGE_LATVIAN;
+            break;
+        case APPLE_LANG_SAMI:
+            nLang = LANGUAGE_SAMI_NORTHERN_NORWAY; //maybe
+            break;
+        case APPLE_LANG_FAROESE:
+            nLang = LANGUAGE_FAEROESE;
+            break;
+        case APPLE_LANG_FARSI:
+            nLang = LANGUAGE_FARSI;
+            break;
+        case APPLE_LANG_RUSSIAN:
+            nLang = LANGUAGE_RUSSIAN;
+            break;
+        case APPLE_LANG_CHINESE_SIMPLIFIED:
+            nLang = LANGUAGE_CHINESE_SIMPLIFIED;
+            break;
+        case APPLE_LANG_FLEMISH:
+            nLang = LANGUAGE_DUTCH_BELGIAN;
+            break;
+        case APPLE_LANG_IRISH_GAELIC:
+            nLang = LANGUAGE_GAELIC_IRELAND;
+            break;
+        case APPLE_LANG_ALBANIAN:
+            nLang = LANGUAGE_ALBANIAN;
+            break;
+        case APPLE_LANG_ROMANIAN:
+            nLang = LANGUAGE_ROMANIAN;
+            break;
+        case APPLE_LANG_CZECH:
+            nLang = LANGUAGE_CZECH;
+            break;
+        case APPLE_LANG_SLOVAK:
+            nLang = LANGUAGE_SLOVAK;
+            break;
+        case APPLE_LANG_SLOVENIAN:
+            nLang = LANGUAGE_SLOVENIAN;
+            break;
+        case APPLE_LANG_YIDDISH:
+            nLang = LANGUAGE_YIDDISH;
+            break;
+        case APPLE_LANG_SERBIAN:
+            nLang = LANGUAGE_SERBIAN_CYRILLIC_SERBIA;   //maybe
+            break;
+        case APPLE_LANG_MACEDONIAN:
+            nLang = LANGUAGE_MACEDONIAN;
+            break;
+        case APPLE_LANG_BULGARIAN:
+            nLang = LANGUAGE_BULGARIAN;
+            break;
+        case APPLE_LANG_UKRAINIAN:
+            nLang = LANGUAGE_UKRAINIAN;
+            break;
+        case APPLE_LANG_BYELORUSSIAN:
+            nLang = LANGUAGE_BELARUSIAN;
+            break;
+        case APPLE_LANG_UZBEK:
+            nLang = LANGUAGE_UZBEK_CYRILLIC; //maybe
+            break;
+        case APPLE_LANG_KAZAKH:
+            nLang = LANGUAGE_KAZAKH;
+            break;
+        case APPLE_LANG_AZERI_CYRILLIC:
+            nLang = LANGUAGE_AZERI_CYRILLIC;
+            break;
+        case APPLE_LANG_AZERI_ARABIC:
+            return LanguageTag("az-Arab");
+            break;
+        case APPLE_LANG_ARMENIAN:
+            nLang = LANGUAGE_ARMENIAN;
+            break;
+        case APPLE_LANG_GEORGIAN:
+            nLang = LANGUAGE_GEORGIAN;
+            break;
+        case APPLE_LANG_MOLDAVIAN:
+            nLang = LANGUAGE_ROMANIAN_MOLDOVA;
+            break;
+        case APPLE_LANG_KIRGHIZ:
+            nLang = LANGUAGE_KIRGHIZ;
+            break;
+        case APPLE_LANG_TAJIKI:
+            nLang = LANGUAGE_TAJIK;
+            break;
+        case APPLE_LANG_TURKMEN:
+            nLang = LANGUAGE_TURKMEN;
+            break;
+        case APPLE_LANG_MONGOLIAN_MONGOLIAN:
+            nLang = LANGUAGE_MONGOLIAN_MONGOLIAN_MONGOLIA;
+            break;
+        case APPLE_LANG_MONGOLIAN_CYRILLIC:
+            nLang = LANGUAGE_MONGOLIAN_CYRILLIC_MONGOLIA;
+            break;
+        case APPLE_LANG_PASHTO:
+            nLang = LANGUAGE_PASHTO;
+            break;
+        case APPLE_LANG_KURDISH:
+            nLang = LANGUAGE_USER_KURDISH_TURKEY; //maybe
+            break;
+        case APPLE_LANG_KASHMIRI:
+            nLang = LANGUAGE_KASHMIRI;
+            break;
+        case APPLE_LANG_SINDHI:
+            nLang = LANGUAGE_SINDHI;
+            break;
+        case APPLE_LANG_TIBETAN:
+            nLang = LANGUAGE_TIBETAN;
+            break;
+        case APPLE_LANG_NEPALI:
+            nLang = LANGUAGE_NEPALI;
+            break;
+        case APPLE_LANG_SANSKRIT:
+            nLang = LANGUAGE_SANSKRIT;
+            break;
+        case APPLE_LANG_MARATHI:
+            nLang = LANGUAGE_MARATHI;
+            break;
+        case APPLE_LANG_BENGALI:
+            nLang = LANGUAGE_BENGALI;
+            break;
+        case APPLE_LANG_ASSAMESE:
+            nLang = LANGUAGE_ASSAMESE;
+            break;
+        case APPLE_LANG_GUJARATI:
+            nLang = LANGUAGE_GUJARATI;
+            break;
+        case APPLE_LANG_PUNJABI:
+            nLang = LANGUAGE_PUNJABI;
+            break;
+        case APPLE_LANG_ORIYA:
+            nLang = LANGUAGE_ODIA;
+            break;
+        case APPLE_LANG_MALAYALAM:
+            nLang = LANGUAGE_MALAYALAM;
+            break;
+        case APPLE_LANG_KANNADA:
+            nLang = LANGUAGE_KANNADA;
+            break;
+        case APPLE_LANG_TAMIL:
+            nLang = LANGUAGE_TAMIL;
+            break;
+        case APPLE_LANG_TELUGU:
+            nLang = LANGUAGE_TELUGU;
+            break;
+        case APPLE_LANG_SINHALESE:
+            nLang = LANGUAGE_SINHALESE_SRI_LANKA;
+            break;
+        case APPLE_LANG_BURMESE:
+            nLang = LANGUAGE_BURMESE;
+            break;
+        case APPLE_LANG_KHMER:
+            nLang = LANGUAGE_KHMER;
+            break;
+        case APPLE_LANG_LAO:
+            nLang = LANGUAGE_LAO;
+            break;
+        case APPLE_LANG_VIETNAMESE:
+            nLang = LANGUAGE_VIETNAMESE;
+            break;
+        case APPLE_LANG_INDONESIAN:
+            nLang = LANGUAGE_INDONESIAN;
+            break;
+        case APPLE_LANG_TAGALONG:
+            nLang = LANGUAGE_USER_TAGALOG;
+            break;
+        case APPLE_LANG_MALAY_LATIN:
+            nLang = LANGUAGE_MALAY_MALAYSIA;
+            break;
+        case APPLE_LANG_MALAY_ARABIC:
+            return LanguageTag("ms-Arab");
+            break;
+        case APPLE_LANG_AMHARIC:
+            nLang = LANGUAGE_AMHARIC_ETHIOPIA;
+            break;
+        case APPLE_LANG_TIGRINYA:
+            nLang = LANGUAGE_TIGRIGNA_ETHIOPIA;
+            break;
+        case APPLE_LANG_GALLA:
+            nLang = LANGUAGE_OROMO;
+            break;
+        case APPLE_LANG_SOMALI:
+            nLang = LANGUAGE_SOMALI;
+            break;
+        case APPLE_LANG_SWAHILI:
+            nLang = LANGUAGE_SWAHILI;
+            break;
+        case APPLE_LANG_KINYARWANDA:
+            nLang = LANGUAGE_KINYARWANDA_RWANDA;
+            break;
+        case APPLE_LANG_RUNDI:
+            return LanguageTag("rn");
+            break;
+        case APPLE_LANG_NYANJA:
+            nLang = LANGUAGE_USER_NYANJA;
+            break;
+        case APPLE_LANG_MALAGASY:
+            nLang = LANGUAGE_MALAGASY_PLATEAU;
+            break;
+        case APPLE_LANG_ESPERANTO:
+            nLang = LANGUAGE_USER_ESPERANTO;
+            break;
+        case APPLE_LANG_WELSH:
+            nLang = LANGUAGE_WELSH;
+            break;
+        case APPLE_LANG_BASQUE:
+            nLang = LANGUAGE_BASQUE;
+            break;
+        case APPLE_LANG_CATALAN:
+            nLang = LANGUAGE_CATALAN;
+            break;
+        case APPLE_LANG_LATIN:
+            nLang = LANGUAGE_USER_LATIN;
+            break;
+        case APPLE_LANG_QUENCHUA:
+            nLang = LANGUAGE_QUECHUA_BOLIVIA; //maybe
+            break;
+        case APPLE_LANG_GUARANI:
+            nLang = LANGUAGE_GUARANI_PARAGUAY;
+            break;
+        case APPLE_LANG_AYMARA:
+            return LanguageTag("ay");
+            break;
+        case APPLE_LANG_TATAR:
+            nLang = LANGUAGE_TATAR;
+            break;
+        case APPLE_LANG_UIGHUR:
+            nLang = LANGUAGE_UIGHUR_CHINA;
+            break;
+        case APPLE_LANG_DZONGKHA:
+            nLang = LANGUAGE_DZONGKHA;
+            break;
+        case APPLE_LANG_JAVANESE_LATIN:
+            return LanguageTag("jv-Latn");
+            break;
+        case APPLE_LANG_SUNDANESE_LATIN:
+            return LanguageTag("su-Latn");
+            break;
+        case APPLE_LANG_GALICIAN:
+            nLang = LANGUAGE_GALICIAN;
+            break;
+        case APPLE_LANG_AFRIKAANS:
+            nLang = LANGUAGE_AFRIKAANS;
+            break;
+        case APPLE_LANG_BRETON:
+            nLang = LANGUAGE_BRETON_FRANCE;
+            break;
+        case APPLE_LANG_INUKTITUT:
+            nLang = LANGUAGE_INUKTITUT_LATIN_CANADA; //probably
+            break;
+        case APPLE_LANG_SCOTTISH_GAELIC:
+            nLang = LANGUAGE_GAELIC_SCOTLAND;
+            break;
+        case APPLE_LANG_MANX_GAELIC:
+            nLang = LANGUAGE_USER_MANX;
+            break;
+        case APPLE_LANG_IRISH_GAELIC_WITH_DOT_ABOVE:
+            return LanguageTag("ga-Latg");
+            break;
+        case APPLE_LANG_TONGAN:
+            return LanguageTag("to");
+            break;
+        case APPLE_LANG_GREEK_POLYTONIC:
+            nLang = LANGUAGE_USER_ANCIENT_GREEK;
+            break;
+        case APPLE_LANG_GREENLANDIC:
+            nLang = LANGUAGE_KALAALLISUT_GREENLAND;
+            break;
+        case APPLE_LANG_AZERI_LATIN:
+            nLang = LANGUAGE_AZERI_LATIN;
+            break;
+    }
+
+    return LanguageTag(nLang);
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/i18nlangtag/applelangid.hxx b/include/i18nlangtag/applelangid.hxx
new file mode 100644
index 0000000..5dc164a
--- /dev/null
+++ b/include/i18nlangtag/applelangid.hxx
@@ -0,0 +1,143 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list