config_host/config_options.h.in               |   12 ++++++++++++
 include/comphelper/accessibletexthelper.hxx   |    3 ++-
 include/comphelper/accessiblewrapper.hxx      |    6 +++---
 include/comphelper/proxyaggregation.hxx       |    3 ++-
 include/svtools/DocumentToGraphicRenderer.hxx |    3 ++-
 include/toolkit/awt/vclxfont.hxx              |    3 ++-
 include/toolkit/awt/vclxwindows.hxx           |   19 ++++++++++---------
 include/vcl/opengl/OpenGLHelper.hxx           |    3 ++-
 include/vcl/tabctrl.hxx                       |    2 +-
 include/vcl/toolkit/ivctrl.hxx                |    3 ++-
 include/vcl/toolkit/scrbar.hxx                |    3 ++-
 include/vcl/toolkit/svtabbx.hxx               |    5 +++--
 include/vcl/toolkit/treelist.hxx              |    5 +++--
 include/vcl/toolkit/treelistbox.hxx           |    3 ++-
 include/vcl/toolkit/treelistentry.hxx         |    3 ++-
 include/vcl/toolkit/vclmedit.hxx              |    3 ++-
 include/vcl/txtattr.hxx                       |    3 ++-
 oox/inc/drawingml/graphicproperties.hxx       |    1 +
 oox/inc/drawingml/scene3dhelper.hxx           |    5 ++++-
 oox/source/drawingml/fillproperties.cxx       |    5 +++--
 oox/source/drawingml/scene3dhelper.cxx        |    5 +++--
 oox/source/drawingml/shape.cxx                |   25 +++++++++----------------
 22 files changed, 74 insertions(+), 49 deletions(-)

New commits:
commit d8079e980e3e5947df9430089444a5f31e0c5de6
Author:     Regina Henschel <rb.hensc...@t-online.de>
AuthorDate: Wed Feb 28 18:37:00 2024 +0100
Commit:     Regina Henschel <rb.hensc...@t-online.de>
CommitDate: Sat Mar 2 10:01:52 2024 +0100

    tdf#159912 extruded shapes already rotate background
    
    ... so do not rotate the background image again. But because of
    tdf#159515 the patch blocks extrusion for images that are imported as
    background fill of a custom shape. To test that the fix works, you need
    to change the code in shape.cxx. Remove the parameter bBlockExtrusion in
    call of setExtrusionProperties() method and comment out the definition
    of bBlockExtrusion variable.
    
    Because of the blocked extrusion a unit test for tdf#159912 is currently
    not possible.
    
    Find more details about the patch in comment 4 in the bug report.
    
    Change-Id: Ifa13988b18fbd5d63604ab0d0f3006e7ff480c02
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164107
    Tested-by: Jenkins
    Reviewed-by: Regina Henschel <rb.hensc...@t-online.de>

diff --git a/oox/inc/drawingml/graphicproperties.hxx 
b/oox/inc/drawingml/graphicproperties.hxx
index 48d1acf61931..15ccedb99a2e 100644
--- a/oox/inc/drawingml/graphicproperties.hxx
+++ b/oox/inc/drawingml/graphicproperties.hxx
@@ -38,6 +38,7 @@ struct GraphicProperties
     BlipFillProperties      maBlipProps;            ///< Properties for the 
graphic.
     OUString                m_sMediaPackageURL;     ///< Audio/Video URL.
     bool                    mbIsCustomShape = false;
+    bool                    mbIsExtruded = false;
     css::uno::Reference<css::io::XInputStream> m_xMediaStream; ///< 
Audio/Video input stream.
 
     /** Writes the properties to the passed property map. */
diff --git a/oox/inc/drawingml/scene3dhelper.hxx 
b/oox/inc/drawingml/scene3dhelper.hxx
index 95ee6889907d..8dd62186d895 100644
--- a/oox/inc/drawingml/scene3dhelper.hxx
+++ b/oox/inc/drawingml/scene3dhelper.hxx
@@ -32,12 +32,15 @@ public:
             be created. The extrusion color is not handled as extrusion 
property but as secondary
             color in the style of the shape. If no 3D exist or the camera is 
invalid, the parameter
             value is unchanged.
+        @param [in] This optional parameter bBlockExtrusion can be removed 
when tdf#159912 is
+            fixed. For details see the bugreport.
         @return Returns true if extrusion properties are generated. Returns 
false if there is no 3D
             or if rendering without 3D is currently better. rPropertyMap is 
unchanged in such case.
     */
     bool setExtrusionProperties(const oox::drawingml::Shape3DPropertiesPtr 
p3DProperties,
                                 const sal_Int32& rnMSOShapeRotation, 
oox::PropertyMap& rPropertyMap,
-                                double& rRotZ, oox::drawingml::Color& 
rExtrusionColor);
+                                double& rRotZ, oox::drawingml::Color& 
rExtrusionColor,
+                                const bool bBlockExtrusion = false);
 
 private:
     /** Calculates angles suitable for API from OOXML scene3d angles.
diff --git a/oox/source/drawingml/fillproperties.cxx 
b/oox/source/drawingml/fillproperties.cxx
index 596e18f2176e..73563c5c333a 100644
--- a/oox/source/drawingml/fillproperties.cxx
+++ b/oox/source/drawingml/fillproperties.cxx
@@ -855,7 +855,8 @@ void GraphicProperties::pushToPropMap( PropertyMap& 
rPropMap, const GraphicHelpe
 
             // It is a bitmap filled and rotated graphic.
             // When custom shape is rotated, bitmap have to be rotated too.
-            if(rPropMap.hasProperty(PROP_RotateAngle))
+            // Only in extruded mode the bitmap is transformed together with 
the shape
+            if(rPropMap.hasProperty(PROP_RotateAngle) && !mbIsExtruded)
             {
                 tools::Long nAngle = 
rPropMap.getProperty(PROP_RotateAngle).get<tools::Long>();
                 xGraphic = lclRotateGraphic(xGraphic, Degree10(nAngle/10) );
@@ -863,7 +864,7 @@ void GraphicProperties::pushToPropMap( PropertyMap& 
rPropMap, const GraphicHelpe
 
             // We have not core feature that flips graphic in the shape.
             // Here we are applying flip property to bitmap directly.
-            if(bFlipH || bFlipV)
+            if((bFlipH || bFlipV) && !mbIsExtruded)
                 xGraphic = lclMirrorGraphic(xGraphic, bFlipH, bFlipV );
 
             if(eColorMode == ColorMode_GREYS)
diff --git a/oox/source/drawingml/scene3dhelper.cxx 
b/oox/source/drawingml/scene3dhelper.cxx
index 96a7ca3e0574..d69abca24225 100644
--- a/oox/source/drawingml/scene3dhelper.cxx
+++ b/oox/source/drawingml/scene3dhelper.cxx
@@ -375,7 +375,8 @@ void Scene3DHelper::addProjectionGeometryToMap(
 bool Scene3DHelper::setExtrusionProperties(const 
oox::drawingml::Shape3DPropertiesPtr p3DProperties,
                                            const sal_Int32& rnMSOShapeRotation,
                                            oox::PropertyMap& rPropertyMap, 
double& rRotZ,
-                                           oox::drawingml::Color& 
rExtrusionColor)
+                                           oox::drawingml::Color& 
rExtrusionColor,
+                                           const bool bBlockExtrusion)
 {
     // We convert rnMSOShapeRotation, so that Shape::createAndInsert() can use 
rRotZ the same way in
     // all cases.
@@ -410,7 +411,7 @@ bool Scene3DHelper::setExtrusionProperties(const 
oox::drawingml::Shape3DProperti
     // in any case, so that Shape::createAndInsert() knows about it.
     rExtrusionColor = (*p3DProperties).maExtrusionColor;
 
-    if (!bCreateExtrusion)
+    if (!bCreateExtrusion || bBlockExtrusion)
         return false;
 
     // Create the extrusion properties in rPropertyMap so that they can be 
directly used.
diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx
index d9a3f8b8db59..eb43f0e6657c 100644
--- a/oox/source/drawingml/shape.cxx
+++ b/oox/source/drawingml/shape.cxx
@@ -951,26 +951,20 @@ Reference< XShape > const & Shape::createAndInsert(
 
     // Look for 3D. Its z-rotation and extrusion color become shape 
properties. Do it early as
     // graphics might use 3D too and in that case should be imported as custom 
shape as well.
+    // FixMe. tdf#159515. We currently do not use extrusion, if an image has a 
3D-scene.
+    bool bBlockExtrusion = aServiceName == 
"com.sun.star.drawing.GraphicObjectShape" &&
+                           mp3DPropertiesPtr->mnPreset.has_value();
     double fShapeRotateInclCamera = 0.0; // unit rad; same orientation as 
shape property RotateAngle
     Color aExtrusionColor;
     Scene3DHelper aScene3DHelper;
     bool bHas3DEffect = aScene3DHelper.setExtrusionProperties(
         mp3DPropertiesPtr, mnRotation, 
getCustomShapeProperties()->getExtrusionPropertyMap(),
-        fShapeRotateInclCamera, aExtrusionColor);
-    // Currently the other places use unit 1/60000deg and MSO shape rotate 
orientation, thus convert.
+        fShapeRotateInclCamera, aExtrusionColor, bBlockExtrusion);
+    // Currently the other places use unit 1/60000deg and MSO shape rotate 
orientation.
     sal_Int32 nShapeRotateInclCamera = 
-basegfx::rad2deg<60000>(fShapeRotateInclCamera);
 
     bool bIs3DGraphic = aServiceName == 
"com.sun.star.drawing.GraphicObjectShape" && bHas3DEffect;
-    if (bIs3DGraphic)
-    {
-        // The parts which use bIs3DGraphic are commented out for now (3x) 
because the export does
-        // not re-create the image, and because the rendering of images with 
transparent parts is
-        // broken in extrusion mode (tdf#159515). In principle it works that 
way to get 3D-effects
-        // on images.
-        SAL_INFO("oox.drawingml",
-        "Shape::createAndInsert: image with 3D effect conversion disabled");
-    }
-    // bIsCustomShape |= bIs3DGraphic;
+    bIsCustomShape |= bIs3DGraphic;
 
     // The extrusion color does not belong to the extrusion properties but is 
secondary color in
     // the style of the shape, FillColor2 in API.
@@ -983,11 +977,11 @@ Reference< XShape > const & Shape::createAndInsert(
     // ToDo: MS Office 'automatic' color uses line color if it exists, LO uses 
fill color. We might
     // need to change color here in case of 'automatic'.
 
-    // if (bIsCroppedGraphic || bIs3DGraphic), disabled for now, see comment 
#965
-    if (bIsCroppedGraphic)
+    if (bIsCroppedGraphic || bIs3DGraphic)
     {
         aServiceName = "com.sun.star.drawing.CustomShape";
         mpGraphicPropertiesPtr->mbIsCustomShape = true;
+        mpGraphicPropertiesPtr->mbIsExtruded = bIs3DGraphic;
     }
     bool bUseRotationTransform = ( !mbWps ||
             aServiceName == "com.sun.star.drawing.LineShape" ||
@@ -1428,8 +1422,7 @@ Reference< XShape > const & Shape::createAndInsert(
         FillProperties aFillProperties = getActualFillProperties(pTheme, 
&rShapeOrParentShapeFillProps);
         if (getFillProperties().moFillType.has_value() && 
getFillProperties().moFillType.value() == XML_grpFill)
             getFillProperties().assignUsed(aFillProperties);
-        // if(!bIsCroppedGraphic && !bIs3DGraphic), disabled for now, see 
comment #960
-        if (!bIsCroppedGraphic)
+        if(!bIsCroppedGraphic && !bIs3DGraphic)
             aFillProperties.pushToPropMap(aShapeProps, rGraphicHelper, 
mnRotation, nFillPhClr,
                                           css::awt::Size(aShapeRectHmm.Width, 
aShapeRectHmm.Height),
                                           nFillPhClrTheme, mbFlipH, mbFlipV, 
bIsCustomShape);
commit 621e16205363c1eea0be57017997396dee63df4b
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Fri Mar 1 15:58:23 2024 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sat Mar 2 09:36:01 2024 +0100

    add UNLESS_MERGELIBS_MORE and use to reduce symbol visibility
    
    Change-Id: I2e6c2dcd06c76e0f5f68a1debde3a20665104b27
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164219
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/config_host/config_options.h.in b/config_host/config_options.h.in
index abce3417e45a..e87f6e8db806 100644
--- a/config_host/config_options.h.in
+++ b/config_host/config_options.h.in
@@ -24,5 +24,17 @@
 #define IF_MERGELIBS(x)
 #endif
 
+// Used to turn off visibility for some classes/symbols when linking with 
--enable-mergelibs=more
+//
+#if ENABLE_MERGELIBS_MORE
+#define UNLESS_MERGELIBS_MORE(x)
+#else
+#define UNLESS_MERGELIBS_MORE(x) x
+#endif
+#if ENABLE_MERGELIBS_MORE
+#define IF_MERGELIBS_MORE(x) x
+#else
+#define IF_MERGELIBS_MORE(x)
+#endif
 
 #endif
diff --git a/include/comphelper/accessibletexthelper.hxx 
b/include/comphelper/accessibletexthelper.hxx
index 30730469be91..433cd357badc 100644
--- a/include/comphelper/accessibletexthelper.hxx
+++ b/include/comphelper/accessibletexthelper.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_ACCESSIBLETEXTHELPER_HXX
 #define INCLUDED_COMPHELPER_ACCESSIBLETEXTHELPER_HXX
 
+#include <config_options.h>
 #include <com/sun/star/accessibility/XAccessibleText.hpp>
 #include <com/sun/star/accessibility/TextSegment.hpp>
 #include <comphelper/accessiblecomponenthelper.hxx>
@@ -114,7 +115,7 @@ namespace comphelper
     /** a helper class for implementing an AccessibleExtendedComponent which 
at the same time
         supports an XAccessibleText interface
     */
-    class COMPHELPER_DLLPUBLIC OAccessibleTextHelper : public 
cppu::ImplInheritanceHelper<
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleTextHelper : 
public cppu::ImplInheritanceHelper<
                                                            
OAccessibleExtendedComponentHelper,
                                                            
css::accessibility::XAccessibleText>,
                                   public OCommonAccessibleText
diff --git a/include/comphelper/accessiblewrapper.hxx 
b/include/comphelper/accessiblewrapper.hxx
index 089c143b971f..fa0e5832f448 100644
--- a/include/comphelper/accessiblewrapper.hxx
+++ b/include/comphelper/accessiblewrapper.hxx
@@ -62,7 +62,7 @@ namespace comphelper
     /** a class which aggregates a proxy for an XAccessible, and wrapping the 
context returned by this
         XAccessible.
     */
-    class COMPHELPER_DLLPUBLIC OAccessibleWrapper:public 
OAccessibleWrapper_Base
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OAccessibleWrapper:public OAccessibleWrapper_Base
                             ,public OComponentProxyAggregation
 
     {
@@ -139,7 +139,7 @@ namespace comphelper
 
         @seealso OAccessibleContextWrapper
     */
-    class COMPHELPER_DLLPUBLIC OAccessibleContextWrapperHelper
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OAccessibleContextWrapperHelper
                 :private OComponentProxyAggregationHelper
                 ,public OAccessibleContextWrapperHelper_Base
     {
@@ -240,7 +240,7 @@ namespace comphelper
                                             ,   
css::accessibility::XAccessibleContext
                                             >   
OAccessibleContextWrapper_CBase;
 
-    class COMPHELPER_DLLPUBLIC OAccessibleContextWrapper
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) OAccessibleContextWrapper
                     :public cppu::BaseMutex
                     ,public OAccessibleContextWrapper_CBase
                     ,public OAccessibleContextWrapperHelper
diff --git a/include/comphelper/proxyaggregation.hxx 
b/include/comphelper/proxyaggregation.hxx
index 48444355ce23..a9b13004d7f1 100644
--- a/include/comphelper/proxyaggregation.hxx
+++ b/include/comphelper/proxyaggregation.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_COMPHELPER_PROXYAGGREGATION_HXX
 #define INCLUDED_COMPHELPER_PROXYAGGREGATION_HXX
 
+#include <config_options.h>
 #include <cppuhelper/implbase1.hxx>
 #include <cppuhelper/interfacecontainer.h>
 #include <cppuhelper/basemutex.hxx>
@@ -178,7 +179,7 @@ namespace comphelper
 
     //= OComponentProxyAggregation
 
-    class COMPHELPER_DLLPUBLIC OComponentProxyAggregation : public 
cppu::BaseMutex
+    class UNLESS_MERGELIBS_MORE(COMPHELPER_DLLPUBLIC) 
OComponentProxyAggregation : public cppu::BaseMutex
                                         ,public 
cppu::WeakComponentImplHelperBase
                                         ,public 
OComponentProxyAggregationHelper
     {
diff --git a/include/svtools/DocumentToGraphicRenderer.hxx 
b/include/svtools/DocumentToGraphicRenderer.hxx
index a5dc8e115a8e..75af9b048a2c 100644
--- a/include/svtools/DocumentToGraphicRenderer.hxx
+++ b/include/svtools/DocumentToGraphicRenderer.hxx
@@ -20,6 +20,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <vector>
 
 #include <vcl/graph.hxx>
@@ -41,7 +42,7 @@ namespace com::sun::star {
     }
 }
 
-class SVT_DLLPUBLIC DocumentToGraphicRenderer
+class UNLESS_MERGELIBS_MORE(SVT_DLLPUBLIC) DocumentToGraphicRenderer
 {
     const css::uno::Reference<css::lang::XComponent>& mxDocument;
 
diff --git a/include/toolkit/awt/vclxfont.hxx b/include/toolkit/awt/vclxfont.hxx
index 3142a18123c1..c3276de03c9f 100644
--- a/include/toolkit/awt/vclxfont.hxx
+++ b/include/toolkit/awt/vclxfont.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_TOOLKIT_AWT_VCLXFONT_HXX
 #define INCLUDED_TOOLKIT_AWT_VCLXFONT_HXX
 
+#include <config_options.h>
 #include <memory>
 #include <toolkit/dllapi.h>
 #include <com/sun/star/awt/XFont2.hpp>
@@ -34,7 +35,7 @@ class FontMetric;
 
 
 
-class TOOLKIT_DLLPUBLIC VCLXFont final :
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXFont final :
                         public cppu::WeakImplHelper<
                             css::awt::XFont2>
 {
diff --git a/include/toolkit/awt/vclxwindows.hxx 
b/include/toolkit/awt/vclxwindows.hxx
index 60352097019d..317286d598e6 100644
--- a/include/toolkit/awt/vclxwindows.hxx
+++ b/include/toolkit/awt/vclxwindows.hxx
@@ -19,6 +19,7 @@
 
 #pragma once
 
+#include <config_options.h>
 #include <toolkit/dllapi.h>
 
 #include <com/sun/star/awt/XTextArea.hpp>
@@ -132,7 +133,7 @@ public:
 
 //  class VCLXCheckBox
 
-class TOOLKIT_DLLPUBLIC VCLXCheckBox final : public 
cppu::ImplInheritanceHelper<
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXCheckBox final : public 
cppu::ImplInheritanceHelper<
                         VCLXGraphicControl,
                         css::awt::XCheckBox,
                         css::awt::XButton>
@@ -181,7 +182,7 @@ public:
 
 //  class VCLXRadioButton
 
-class TOOLKIT_DLLPUBLIC VCLXRadioButton final : public 
cppu::ImplInheritanceHelper<
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXRadioButton final : public 
cppu::ImplInheritanceHelper<
                         VCLXGraphicControl,
                         css::awt::XRadioButton,
                         css::awt::XButton>
@@ -298,7 +299,7 @@ public:
 
 //  class VCLXScrollBar
 
-class TOOLKIT_DLLPUBLIC VCLXScrollBar final :
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) VCLXScrollBar final :
                         public cppu::ImplInheritanceHelper<VCLXWindow, 
css::awt::XScrollBar>
 {
 private:
@@ -535,25 +536,25 @@ protected:
     virtual void    GetPropertyIds( std::vector< sal_uInt16 > &aIds ) override 
{ return ImplGetPropertyIds( aIds ); }
 };
 
-class SAL_DLLPUBLIC_RTTI SVTXNumericField final : public 
cppu::ImplInheritanceHelper<SVTXFormattedField, css::awt::XNumericField>
+class UNLESS_MERGELIBS_MORE(TOOLKIT_DLLPUBLIC) SVTXNumericField final : public 
cppu::ImplInheritanceHelper<SVTXFormattedField, css::awt::XNumericField>
 {
 public:
                     SVTXNumericField();
                     virtual ~SVTXNumericField() override;
 
     // css::awt::XNumericField
-    TOOLKIT_DLLPUBLIC void SAL_CALL setValue( double Value ) override;
-    TOOLKIT_DLLPUBLIC double SAL_CALL getValue(  ) override;
+    void SAL_CALL setValue( double Value ) override;
+    double SAL_CALL getValue(  ) override;
     void SAL_CALL setMin( double Value ) override;
-    TOOLKIT_DLLPUBLIC double SAL_CALL getMin(  ) override;
+    double SAL_CALL getMin(  ) override;
     void SAL_CALL setMax( double Value ) override;
-    TOOLKIT_DLLPUBLIC double SAL_CALL getMax(  ) override;
+    double SAL_CALL getMax(  ) override;
     void SAL_CALL setFirst( double Value ) override;
     double SAL_CALL getFirst(  ) override;
     void SAL_CALL setLast( double Value ) override;
     double SAL_CALL getLast(  ) override;
     void SAL_CALL setSpinSize( double Value ) override;
-    TOOLKIT_DLLPUBLIC double SAL_CALL getSpinSize(  ) override;
+    double SAL_CALL getSpinSize(  ) override;
     void SAL_CALL setDecimalDigits( sal_Int16 nDigits ) override;
     sal_Int16 SAL_CALL getDecimalDigits(  ) override;
     void SAL_CALL setStrictFormat( sal_Bool bStrict ) override;
diff --git a/include/vcl/opengl/OpenGLHelper.hxx 
b/include/vcl/opengl/OpenGLHelper.hxx
index 45383bd6fb9d..715636147747 100644
--- a/include/vcl/opengl/OpenGLHelper.hxx
+++ b/include/vcl/opengl/OpenGLHelper.hxx
@@ -10,6 +10,7 @@
 #ifndef INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX
 #define INCLUDED_VCL_OPENGL_OPENGLHELPER_HXX
 
+#include <config_options.h>
 #include <epoxy/gl.h>
 #include <sal/detail/log.h>
 #include <vcl/dllapi.h>
@@ -42,7 +43,7 @@
     } while (false)
 
 // All member functions static and VCL_DLLPUBLIC. Basically a glorified 
namespace.
-struct VCL_DLLPUBLIC OpenGLHelper
+struct UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) OpenGLHelper
 {
     OpenGLHelper() = delete; // Should not be instantiated
 
diff --git a/include/vcl/tabctrl.hxx b/include/vcl/tabctrl.hxx
index f7db263d2eac..9ac3b334497e 100644
--- a/include/vcl/tabctrl.hxx
+++ b/include/vcl/tabctrl.hxx
@@ -39,7 +39,7 @@ class ToolBox;
 #define TAB_PAGE_NOTFOUND   (sal_uInt16(0xFFFF))
 #endif /* !TAB_APPEND */
 
-class VCL_DLLPUBLIC TabControl : public Control
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) TabControl : public Control
 {
 protected:
     std::unique_ptr<ImplTabCtrlData> mpTabCtrlData;
diff --git a/include/vcl/toolkit/ivctrl.hxx b/include/vcl/toolkit/ivctrl.hxx
index ca96bc8e5718..925afdf40225 100644
--- a/include/vcl/toolkit/ivctrl.hxx
+++ b/include/vcl/toolkit/ivctrl.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <memory>
 #include <vcl/dllapi.h>
 #include <vcl/ctrl.hxx>
@@ -174,7 +175,7 @@ public:
 
 class MnemonicGenerator;
 
-class VCL_DLLPUBLIC SvtIconChoiceCtrl final : public Control
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvtIconChoiceCtrl final : public 
Control
 {
     friend class SvxIconChoiceCtrl_Impl;
 
diff --git a/include/vcl/toolkit/scrbar.hxx b/include/vcl/toolkit/scrbar.hxx
index 30aa2e925404..408ca90d7483 100644
--- a/include/vcl/toolkit/scrbar.hxx
+++ b/include/vcl/toolkit/scrbar.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <vcl/dllapi.h>
 #include <vcl/ctrl.hxx>
 #include <vcl/scrollable.hxx>
@@ -30,7 +31,7 @@
 
 struct ImplScrollBarData;
 
-class VCL_DLLPUBLIC ScrollBar final : public Control
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) ScrollBar final : public Control
                               , public Scrollable
 {
 private:
diff --git a/include/vcl/toolkit/svtabbx.hxx b/include/vcl/toolkit/svtabbx.hxx
index 1fd7b8b16e12..94b0077f44fe 100644
--- a/include/vcl/toolkit/svtabbx.hxx
+++ b/include/vcl/toolkit/svtabbx.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <vcl/dllapi.h>
 #include <vcl/toolkit/treelistbox.hxx>
 #include <vcl/accessibletableprovider.hxx>
@@ -39,7 +40,7 @@ enum class SvTabJustify
     AdjustCenter = static_cast<int>(SvLBoxTabFlags::ADJUST_CENTER)
 };
 
-class VCL_DLLPUBLIC SvTabListBox : public SvTreeListBox
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTabListBox : public SvTreeListBox
 {
 private:
     std::vector<SvLBoxTab>      mvTabList;
@@ -90,7 +91,7 @@ namespace vcl {
     struct SvHeaderTabListBoxImpl;
 }
 
-class VCL_DLLPUBLIC SvHeaderTabListBox : public SvTabListBox, public 
vcl::IAccessibleTableProvider
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvHeaderTabListBox : public 
SvTabListBox, public vcl::IAccessibleTableProvider
 {
 private:
     bool                            m_bFirstPaint;
diff --git a/include/vcl/toolkit/treelist.hxx b/include/vcl/toolkit/treelist.hxx
index d0306ce915a0..0f33e95f9f27 100644
--- a/include/vcl/toolkit/treelist.hxx
+++ b/include/vcl/toolkit/treelist.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <vcl/dllapi.h>
 #include <vcl/toolkit/treelistentries.hxx>
 
@@ -61,7 +62,7 @@ struct SvSortData
     const SvTreeListEntry* pRight;
 };
 
-class VCL_DLLPUBLIC SvTreeList final
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeList final
 {
     friend class        SvListView;
 
@@ -199,7 +200,7 @@ public:
     void                Resort();
 };
 
-class VCL_DLLPUBLIC SvListView
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvListView
 {
     friend class SvTreeList;
 
diff --git a/include/vcl/toolkit/treelistbox.hxx 
b/include/vcl/toolkit/treelistbox.hxx
index dd5562ed13e5..7b452e0ae4bd 100644
--- a/include/vcl/toolkit/treelistbox.hxx
+++ b/include/vcl/toolkit/treelistbox.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <vcl/dllapi.h>
 
 #include <deque>
@@ -173,7 +174,7 @@ typedef std::pair<vcl::RenderContext&, const 
SvTreeListEntry&> svtree_measure_ar
 typedef std::tuple<vcl::RenderContext&, const tools::Rectangle&, const 
SvTreeListEntry&> svtree_render_args;
 typedef std::pair<SvTreeListEntry*, OUString> IterString;
 
-class VCL_DLLPUBLIC SvTreeListBox
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeListBox
                 :public Control
                 ,public SvListView
                 ,public DropTargetHelper
diff --git a/include/vcl/toolkit/treelistentry.hxx 
b/include/vcl/toolkit/treelistentry.hxx
index b8bffecefd30..58228711c377 100644
--- a/include/vcl/toolkit/treelistentry.hxx
+++ b/include/vcl/toolkit/treelistentry.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <vcl/dllapi.h>
 #include <tools/color.hxx>
 #include <vcl/toolkit/treelistbox.hxx>
@@ -52,7 +53,7 @@ namespace o3tl
     template<> struct typed_flags<SvTLEntryFlags> : 
is_typed_flags<SvTLEntryFlags, 0x801f> {};
 }
 
-class VCL_DLLPUBLIC SvTreeListEntry
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) SvTreeListEntry
 {
     friend class SvTreeList;
     friend class SvListView;
diff --git a/include/vcl/toolkit/vclmedit.hxx b/include/vcl/toolkit/vclmedit.hxx
index 2ca010451907..fd17e75fb48d 100644
--- a/include/vcl/toolkit/vclmedit.hxx
+++ b/include/vcl/toolkit/vclmedit.hxx
@@ -23,6 +23,7 @@
 #error "don't use this in new code"
 #endif
 
+#include <config_options.h>
 #include <tools/lineend.hxx>
 #include <vcl/wintypes.hxx>
 #include <vcl/toolkit/edit.hxx>
@@ -75,7 +76,7 @@ public:
     void            DisableSelectionOnFocus() { mbSelectOnTab = false; }
 };
 
-class VCL_DLLPUBLIC VclMultiLineEdit : public Edit
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) VclMultiLineEdit : public Edit
 {
     friend class VCLXAccessibleEdit;
 
diff --git a/include/vcl/txtattr.hxx b/include/vcl/txtattr.hxx
index 186fbe1ad611..e32fbc0b7cde 100644
--- a/include/vcl/txtattr.hxx
+++ b/include/vcl/txtattr.hxx
@@ -20,6 +20,7 @@
 #ifndef INCLUDED_VCL_TXTATTR_HXX
 #define INCLUDED_VCL_TXTATTR_HXX
 
+#include <config_options.h>
 #include <tools/color.hxx>
 #include <tools/debug.hxx>
 #include <tools/fontenum.hxx>
@@ -74,7 +75,7 @@ public:
 
 };
 
-class VCL_DLLPUBLIC TextAttribFontWeight final : public TextAttrib
+class UNLESS_MERGELIBS_MORE(VCL_DLLPUBLIC) TextAttribFontWeight final : public 
TextAttrib
 {
 private:
     FontWeight  meWeight;

Reply via email to