[Libreoffice-commits] core.git: 3 commits - compilerplugins/clang include/vcl svtools/source vcl/source xmloff/inc xmloff/Library_xo.mk xmloff/source

Noel Grandin noel at peralex.com
Mon Oct 5 23:42:46 PDT 2015


 compilerplugins/clang/mergeclasses.results            |    4 
 include/vcl/layout.hxx                                |   32 -------
 svtools/source/contnr/fileview.cxx                    |   44 +++-------
 vcl/source/window/layout.cxx                          |   74 +++++++++++-------
 xmloff/Library_xo.mk                                  |    1 
 xmloff/inc/forms/property_handler.hxx                 |    7 -
 xmloff/source/forms/handler/property_handler_base.cxx |   32 -------
 xmloff/source/forms/handler/property_handler_base.hxx |   41 ---------
 xmloff/source/forms/handler/vcl_date_handler.hxx      |    2 
 xmloff/source/forms/handler/vcl_time_handler.hxx      |    2 
 10 files changed, 70 insertions(+), 169 deletions(-)

New commits:
commit 946b9a04c4a9d252661fe7190213c225fa79bf92
Author: Noel Grandin <noel at peralex.com>
Date:   Mon Oct 5 16:00:07 2015 +0200

    loplugin:mergeclasses
    
    and move the boost-depending code inside the module, no need to expose
    that dependency and include that header in all client code.
    
    Change-Id: Ib991572d7a54a9ad16825d688e76f8e3a824803c

diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results
index 412b395..9981e45 100644
--- a/compilerplugins/clang/mergeclasses.results
+++ b/compilerplugins/clang/mergeclasses.results
@@ -91,7 +91,6 @@ merge UpdateCheckConfigListener with UpdateCheck
 merge ValueGetter with CellValueGetter
 merge ValueSetter with CellValueSetter
 merge VariableTextField with VariableDateTimeField
-merge VclGrid::GridEntry with VclGrid::ExtendedGridEntry
 merge Viewport3D with Camera3D
 merge XFDate with XFDateStart
 merge XFDateTimePart with XFTimePart
diff --git a/include/vcl/layout.hxx b/include/vcl/layout.hxx
index ac6f44f..0be5645 100644
--- a/include/vcl/layout.hxx
+++ b/include/vcl/layout.hxx
@@ -18,7 +18,6 @@
 #include <vcl/vclmedit.hxx>
 #include <vcl/window.hxx>
 #include <vcl/vclptr.hxx>
-#include <boost/multi_array.hpp>
 #include <set>
 
 class VCL_DLLPUBLIC VclContainer : public vcl::Window
@@ -310,36 +309,6 @@ private:
     int m_nRowSpacing;
     int m_nColumnSpacing;
 
-    struct GridEntry
-    {
-        VclPtr<vcl::Window> pChild;
-        sal_Int32 nSpanWidth;
-        sal_Int32 nSpanHeight;
-        GridEntry()
-            : pChild(0)
-            , nSpanWidth(0)
-            , nSpanHeight(0)
-        {
-        }
-    };
-
-    typedef boost::multi_array<GridEntry, 2> array_type;
-
-    struct ExtendedGridEntry : GridEntry
-    {
-        int x;
-        int y;
-        ExtendedGridEntry()
-            : x(-1)
-            , y(-1)
-        {
-        }
-    };
-
-    typedef boost::multi_array<ExtendedGridEntry, 2> ext_array_type;
-
-    array_type assembleGrid() const;
-    static bool isNullGrid(const array_type& A);
 public:
     struct Value
     {
@@ -348,7 +317,6 @@ public:
         Value() : m_nValue(0), m_bExpand(false) {}
     };
 private:
-    static void calcMaxs(const array_type &A, std::vector<Value> &rWidths, std::vector<Value> &rHeights);
 
     Size calculateRequisitionForSpacings(sal_Int32 nRowSpacing, sal_Int32 nColSpacing) const;
     virtual Size calculateRequisition() const SAL_OVERRIDE;
diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index a15bcbb..893640f 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -14,6 +14,7 @@
 #include <vcl/svapp.hxx>
 #include <vcl/settings.hxx>
 #include "window.h"
+#include <boost/multi_array.hpp>
 
 VclContainer::VclContainer(vcl::Window *pParent, WinBits nStyle)
     : Window(WINDOW_CONTAINER)
@@ -748,11 +749,34 @@ void VclButtonBox::sort_native_button_order()
     VclBuilder::reorderWithinParent(aChilds, true);
 }
 
-VclGrid::array_type VclGrid::assembleGrid() const
+struct GridEntry
 {
-    ext_array_type A;
+    VclPtr<vcl::Window> pChild;
+    sal_Int32 nSpanWidth;
+    sal_Int32 nSpanHeight;
+    int x;
+    int y;
+    GridEntry()
+        : pChild(0)
+        , nSpanWidth(0)
+        , nSpanHeight(0)
+        , x(-1)
+        , y(-1)
+    {
+    }
+};
 
-    for (vcl::Window* pChild = GetWindow(GetWindowType::FirstChild); pChild;
+typedef boost::multi_array<GridEntry, 2> array_type;
+
+static array_type assembleGrid(const VclGrid &rGrid);
+static bool isNullGrid(const array_type& A);
+static void calcMaxs(const array_type &A, std::vector<VclGrid::Value> &rWidths, std::vector<VclGrid::Value> &rHeights);
+
+array_type assembleGrid(const VclGrid &rGrid)
+{
+    array_type A;
+
+    for (vcl::Window* pChild = rGrid.GetWindow(GetWindowType::FirstChild); pChild;
         pChild = pChild->GetWindow(GetWindowType::Next))
     {
         sal_Int32 nLeftAttach = std::max<sal_Int32>(pChild->get_grid_left_attach(), 0);
@@ -772,7 +796,7 @@ VclGrid::array_type VclGrid::assembleGrid() const
             A.resize(boost::extents[nCurrentMaxXPos+1][nCurrentMaxYPos+1]);
         }
 
-        ExtendedGridEntry &rEntry = A[nLeftAttach][nTopAttach];
+        GridEntry &rEntry = A[nLeftAttach][nTopAttach];
         rEntry.pChild = pChild;
         rEntry.nSpanWidth = nWidth;
         rEntry.nSpanHeight = nHeight;
@@ -783,7 +807,7 @@ VclGrid::array_type VclGrid::assembleGrid() const
         {
             for (sal_Int32 nSpanY = 0; nSpanY < nHeight; ++nSpanY)
             {
-                ExtendedGridEntry &rSpan = A[nLeftAttach+nSpanX][nTopAttach+nSpanY];
+                GridEntry &rSpan = A[nLeftAttach+nSpanX][nTopAttach+nSpanY];
                 rSpan.x = nLeftAttach;
                 rSpan.y = nTopAttach;
             }
@@ -806,13 +830,13 @@ VclGrid::array_type VclGrid::assembleGrid() const
             if (pChild && pChild->IsVisible())
             {
                 aNonEmptyCols[x] = true;
-                if (get_column_homogeneous())
+                if (rGrid.get_column_homogeneous())
                 {
                     for (sal_Int32 nSpanX = 1; nSpanX < rEntry.nSpanWidth; ++nSpanX)
                         aNonEmptyCols[x+nSpanX] = true;
                 }
                 aNonEmptyRows[y] = true;
-                if (get_row_homogeneous())
+                if (rGrid.get_row_homogeneous())
                 {
                     for (sal_Int32 nSpanY = 1; nSpanY < rEntry.nSpanHeight; ++nSpanY)
                         aNonEmptyRows[y+nSpanY] = true;
@@ -821,17 +845,17 @@ VclGrid::array_type VclGrid::assembleGrid() const
         }
     }
 
-    if (!get_column_homogeneous())
+    if (!rGrid.get_column_homogeneous())
     {
         //reduce the spans of elements that span empty columns
         for (sal_Int32 x = 0; x < nMaxX; ++x)
         {
-            std::set<ExtendedGridEntry*> candidates;
+            std::set<GridEntry*> candidates;
             for (sal_Int32 y = 0; y < nMaxY; ++y)
             {
                 if (aNonEmptyCols[x])
                     continue;
-                ExtendedGridEntry &rSpan = A[x][y];
+                GridEntry &rSpan = A[x][y];
                 //cell x/y is spanned by the widget at cell rSpan.x/rSpan.y,
                 //just points back to itself if there's no cell spanning
                 if ((rSpan.x == -1) || (rSpan.y == -1))
@@ -840,29 +864,29 @@ VclGrid::array_type VclGrid::assembleGrid() const
                     //with no widget in it, or spanned by any other widget
                     continue;
                 }
-                ExtendedGridEntry &rEntry = A[rSpan.x][rSpan.y];
+                GridEntry &rEntry = A[rSpan.x][rSpan.y];
                 candidates.insert(&rEntry);
             }
-            for (std::set<ExtendedGridEntry*>::iterator aI = candidates.begin(), aEnd = candidates.end();
+            for (std::set<GridEntry*>::iterator aI = candidates.begin(), aEnd = candidates.end();
                 aI != aEnd; ++aI)
             {
-                ExtendedGridEntry *pEntry = *aI;
+                GridEntry *pEntry = *aI;
                 --pEntry->nSpanWidth;
             }
         }
     }
 
-    if (!get_row_homogeneous())
+    if (!rGrid.get_row_homogeneous())
     {
         //reduce the spans of elements that span empty rows
         for (sal_Int32 y = 0; y < nMaxY; ++y)
         {
-            std::set<ExtendedGridEntry*> candidates;
+            std::set<GridEntry*> candidates;
             for (sal_Int32 x = 0; x < nMaxX; ++x)
             {
                 if (aNonEmptyRows[y])
                     continue;
-                ExtendedGridEntry &rSpan = A[x][y];
+                GridEntry &rSpan = A[x][y];
                 //cell x/y is spanned by the widget at cell rSpan.x/rSpan.y,
                 //just points back to itself if there's no cell spanning
                 if ((rSpan.x == -1) || (rSpan.y == -1))
@@ -871,13 +895,13 @@ VclGrid::array_type VclGrid::assembleGrid() const
                     //with no widget in it, or spanned by any other widget
                     continue;
                 }
-                ExtendedGridEntry &rEntry = A[rSpan.x][rSpan.y];
+                GridEntry &rEntry = A[rSpan.x][rSpan.y];
                 candidates.insert(&rEntry);
             }
-            for (std::set<ExtendedGridEntry*>::iterator aI = candidates.begin(), aEnd = candidates.end();
+            for (std::set<GridEntry*>::iterator aI = candidates.begin(), aEnd = candidates.end();
                 aI != aEnd; ++aI)
             {
-                ExtendedGridEntry *pEntry = *aI;
+                GridEntry *pEntry = *aI;
                 --pEntry->nSpanHeight;
             }
         }
@@ -905,7 +929,7 @@ VclGrid::array_type VclGrid::assembleGrid() const
     return B;
 }
 
-bool VclGrid::isNullGrid(const array_type &A)
+static bool isNullGrid(const array_type &A)
 {
     sal_Int32 nMaxX = A.shape()[0];
     sal_Int32 nMaxY = A.shape()[1];
@@ -915,7 +939,7 @@ bool VclGrid::isNullGrid(const array_type &A)
     return false;
 }
 
-void VclGrid::calcMaxs(const array_type &A, std::vector<Value> &rWidths, std::vector<Value> &rHeights)
+static void calcMaxs(const array_type &A, std::vector<VclGrid::Value> &rWidths, std::vector<VclGrid::Value> &rHeights)
 {
     sal_Int32 nMaxX = A.shape()[0];
     sal_Int32 nMaxY = A.shape()[1];
@@ -944,7 +968,7 @@ void VclGrid::calcMaxs(const array_type &A, std::vector<Value> &rWidths, std::ve
 
             if (nWidth == 1 || nHeight == 1)
             {
-                Size aChildSize = getLayoutRequisition(*pChild);
+                Size aChildSize = VclContainer::getLayoutRequisition(*pChild);
                 if (nWidth == 1)
                     rWidths[x].m_nValue = std::max(rWidths[x].m_nValue, aChildSize.Width());
                 if (nHeight == 1)
@@ -970,7 +994,7 @@ void VclGrid::calcMaxs(const array_type &A, std::vector<Value> &rWidths, std::ve
             if (nWidth == 1 && nHeight == 1)
                 continue;
 
-            Size aChildSize = getLayoutRequisition(*pChild);
+            Size aChildSize = VclContainer::getLayoutRequisition(*pChild);
 
             if (nWidth > 1)
             {
@@ -1053,7 +1077,7 @@ Size VclGrid::calculateRequisition() const
 
 Size VclGrid::calculateRequisitionForSpacings(sal_Int32 nRowSpacing, sal_Int32 nColSpacing) const
 {
-    array_type A = assembleGrid();
+    array_type A = assembleGrid(*this);
 
     if (isNullGrid(A))
         return Size();
@@ -1093,7 +1117,7 @@ Size VclGrid::calculateRequisitionForSpacings(sal_Int32 nRowSpacing, sal_Int32 n
 
 void VclGrid::setAllocation(const Size& rAllocation)
 {
-    array_type A = assembleGrid();
+    array_type A = assembleGrid(*this);
 
     if (isNullGrid(A))
         return;
commit d451de7f08ba984f103364e167c8c6d097e493a8
Author: Noel Grandin <noel at peralex.com>
Date:   Mon Oct 5 14:55:06 2015 +0200

    loplugin:mergeclasses
    
    Change-Id: I592eef7503bd0b492f73ea5216f436302ad79ca8

diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results
index 0ed5086..412b395 100644
--- a/compilerplugins/clang/mergeclasses.results
+++ b/compilerplugins/clang/mergeclasses.results
@@ -326,4 +326,4 @@ merge ww8::WW8Struct with ww8::WW8Sttb
 merge xmloff::IEventAttacher with xmloff::OElementImport
 merge xmloff::IEventAttacherManager with xmloff::ODefaultEventAttacherManager
 merge xmloff::IFormsExportContext with xmloff::OFormLayerXMLExport_Impl
-merge xmloff::IPropertyHandler with xmloff::PropertyHandlerBase
+
diff --git a/xmloff/Library_xo.mk b/xmloff/Library_xo.mk
index bbda106..9575643 100644
--- a/xmloff/Library_xo.mk
+++ b/xmloff/Library_xo.mk
@@ -176,7 +176,6 @@ $(eval $(call gb_Library_add_exception_objects,xo,\
     xmloff/source/forms/property_meta_data \
     xmloff/source/forms/valueproperties \
     xmloff/source/forms/handler/form_handler_factory \
-    xmloff/source/forms/handler/property_handler_base \
     xmloff/source/forms/handler/vcl_date_handler \
     xmloff/source/forms/handler/vcl_time_handler \
     xmloff/source/meta/MetaExportComponent \
diff --git a/xmloff/inc/forms/property_handler.hxx b/xmloff/inc/forms/property_handler.hxx
index 48658f1..daa1f0f 100644
--- a/xmloff/inc/forms/property_handler.hxx
+++ b/xmloff/inc/forms/property_handler.hxx
@@ -35,8 +35,7 @@ namespace xmloff
 
     typedef ::std::map< PropertyId, ::com::sun::star::uno::Any >    PropertyValues;
 
-    //= IPropertyHandler
-    class IPropertyHandler : public ::salhelper::SimpleReferenceObject
+    class PropertyHandlerBase : public ::salhelper::SimpleReferenceObject
     {
     public:
         /** retrieves the XML attribute value for the given property values
@@ -54,11 +53,11 @@ namespace xmloff
         virtual bool
             getPropertyValues( const OUString& i_attributeValue, PropertyValues& o_propertyValues ) const = 0;
 
-        virtual ~IPropertyHandler() { }
+        virtual ~PropertyHandlerBase() {}
     };
 
     //= PPropertyHandler
-    typedef ::rtl::Reference< IPropertyHandler >    PPropertyHandler;
+    typedef rtl::Reference< PropertyHandlerBase >    PPropertyHandler;
 
     //= PropertyHandlerFactory
     typedef PPropertyHandler (*PropertyHandlerFactory)( const PropertyId i_propertyId );
diff --git a/xmloff/source/forms/handler/property_handler_base.cxx b/xmloff/source/forms/handler/property_handler_base.cxx
deleted file mode 100644
index ea8f16b..0000000
--- a/xmloff/source/forms/handler/property_handler_base.cxx
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include "property_handler_base.hxx"
-
-namespace xmloff
-{
-
-    //= PropertyHandlerBase
-    PropertyHandlerBase::~PropertyHandlerBase()
-    {
-    }
-
-} // namespace xmloff
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmloff/source/forms/handler/property_handler_base.hxx b/xmloff/source/forms/handler/property_handler_base.hxx
deleted file mode 100644
index 0cf4d0d..0000000
--- a/xmloff/source/forms/handler/property_handler_base.hxx
+++ /dev/null
@@ -1,41 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_PROPERTY_HANDLER_BASE_HXX
-#define INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_PROPERTY_HANDLER_BASE_HXX
-
-#include "forms/property_handler.hxx"
-
-namespace xmloff
-{
-
-    //= PropertyHandlerBase
-    class PropertyHandlerBase : public IPropertyHandler
-    {
-    protected:
-        PropertyHandlerBase() {}
-
-        virtual ~PropertyHandlerBase();
-    };
-
-} // namespace xmloff
-
-#endif // INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_PROPERTY_HANDLER_BASE_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/xmloff/source/forms/handler/vcl_date_handler.hxx b/xmloff/source/forms/handler/vcl_date_handler.hxx
index d188ca5..673efc7 100644
--- a/xmloff/source/forms/handler/vcl_date_handler.hxx
+++ b/xmloff/source/forms/handler/vcl_date_handler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_VCL_DATE_HANDLER_HXX
 #define INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_VCL_DATE_HANDLER_HXX
 
-#include "property_handler_base.hxx"
+#include "forms/property_handler.hxx"
 
 namespace xmloff
 {
diff --git a/xmloff/source/forms/handler/vcl_time_handler.hxx b/xmloff/source/forms/handler/vcl_time_handler.hxx
index 67a95ef..7dcc873 100644
--- a/xmloff/source/forms/handler/vcl_time_handler.hxx
+++ b/xmloff/source/forms/handler/vcl_time_handler.hxx
@@ -20,7 +20,7 @@
 #ifndef INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_VCL_TIME_HANDLER_HXX
 #define INCLUDED_XMLOFF_SOURCE_FORMS_HANDLER_VCL_TIME_HANDLER_HXX
 
-#include "property_handler_base.hxx"
+#include "forms/property_handler.hxx"
 
 namespace xmloff
 {
commit 4e2a8b78be17001cf7a3f648261559754a24e555
Author: Noel Grandin <noel at peralex.com>
Date:   Mon Oct 5 14:33:35 2015 +0200

    loplugin:mergeclasses
    
    Change-Id: I7c8c60aab31517d595a7e37c3789fa1e515ec3ee

diff --git a/compilerplugins/clang/mergeclasses.results b/compilerplugins/clang/mergeclasses.results
index 40dfe8f..0ed5086 100644
--- a/compilerplugins/clang/mergeclasses.results
+++ b/compilerplugins/clang/mergeclasses.results
@@ -1,5 +1,4 @@
 merge (anonymous namespace)::Data with cppu::PropertySetMixinImpl::Impl
-merge (anonymous namespace)::ITimeoutHandler with SvtFileView_Impl
 merge (anonymous namespace)::VCLXToolkit_Impl with (anonymous namespace)::VCLXToolkit
 merge AbstractMailMergeWizard with AbstractMailMergeWizard_Impl
 merge AbstractSearchProgress with AbstractSearchProgress_Impl
diff --git a/svtools/source/contnr/fileview.cxx b/svtools/source/contnr/fileview.cxx
index fa2a2c4..e0f9214 100644
--- a/svtools/source/contnr/fileview.cxx
+++ b/svtools/source/contnr/fileview.cxx
@@ -113,42 +113,21 @@ namespace o3tl
 namespace
 {
 
-    //= ITimeoutHandler
-
-    class CallbackTimer;
-    class ITimeoutHandler
-    {
-    public:
-        virtual void onTimeout( CallbackTimer* _pInstigator ) = 0;
-
-    protected:
-        ~ITimeoutHandler() {}
-    };
-
-
     //= CallbackTimer
 
     class CallbackTimer : public ::salhelper::Timer
     {
     protected:
-        ITimeoutHandler* m_pTimeoutHandler;
+        SvtFileView_Impl* m_pTimeoutHandler;
 
     public:
-        CallbackTimer( ITimeoutHandler* _pHandler ) : m_pTimeoutHandler( _pHandler ) { }
+        CallbackTimer( SvtFileView_Impl* _pHandler ) : m_pTimeoutHandler( _pHandler ) { }
 
     protected:
         virtual void SAL_CALL onShot() SAL_OVERRIDE;
     };
 
 
-    void SAL_CALL CallbackTimer::onShot()
-    {
-        OSL_ENSURE( m_pTimeoutHandler, "CallbackTimer::onShot: nobody interested in?" );
-        ITimeoutHandler* pHandler( m_pTimeoutHandler );
-        if ( pHandler )
-            pHandler->onTimeout( this );
-    }
-
 }
 
 
@@ -330,7 +309,6 @@ public:
 
 
 class SvtFileView_Impl  :public ::svt::IEnumerationResultHandler
-                        ,public ITimeoutHandler
 {
 protected:
     VclPtr<SvtFileView>                 mpAntiImpl;
@@ -417,16 +395,14 @@ public:
 
     inline void             EndEditing( bool _bCancel );
 
+    void                    onTimeout();
+
 protected:
     DECL_LINK_TYPED( SelectionMultiplexer, SvTreeListBox*, void );
 
-protected:
     // IEnumerationResultHandler overridables
     virtual void        enumerationDone( ::svt::EnumerationResult eResult ) SAL_OVERRIDE;
             void        implEnumerationSuccess();
-
-    // ITimeoutHandler
-    virtual void onTimeout( CallbackTimer* _pInstigator ) SAL_OVERRIDE;
 };
 
 inline void SvtFileView_Impl::EnableDelete( bool bEnable )
@@ -1835,7 +1811,7 @@ void SvtFileView_Impl::CancelRunningAsyncAction()
 }
 
 
-void SvtFileView_Impl::onTimeout( CallbackTimer* )
+void SvtFileView_Impl::onTimeout()
 {
     SolarMutexGuard aSolarGuard;
     ::osl::MutexGuard aGuard( maMutex );
@@ -2262,4 +2238,14 @@ void QueryDeleteDlg_Impl::dispose()
 
 }
 
+namespace {
+    void SAL_CALL CallbackTimer::onShot()
+    {
+        OSL_ENSURE( m_pTimeoutHandler, "CallbackTimer::onShot: nobody interested in?" );
+        SvtFileView_Impl* pHandler( m_pTimeoutHandler );
+        if ( pHandler )
+            pHandler->onTimeout();
+    }
+}
+
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list