[Libreoffice-commits] core.git: include/vcl vcl/source

Caolán McNamara caolanm at redhat.com
Sun Jun 12 18:00:12 UTC 2016


 include/vcl/outdev.hxx       |    6 ------
 vcl/source/outdev/outdev.cxx |   22 ----------------------
 2 files changed, 28 deletions(-)

New commits:
commit 29eac0e49e372092cb119898e9f1116ab4e00532
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Sun Jun 12 16:18:00 2016 +0100

    Resolves: tdf#100313 OutputDevice::isDisposed doesn't work anymore
    
    since
    
    commit 51fe4d63dfdf0ea24d2fecf75d25cbe607ed1c09
    Author: melikeyurtoglu <aysemelikeyurtoglu at gmail.com>
    Date:   Tue May 3 00:34:05 2016 +0300
    
        tdf#97527 vcl: reference-count Menu
    
        Change-Id: Ia12434fede69ad247ed67691517437a9ada31acd
        Signed-off-by: melikeyurtoglu <aysemelikeyurtoglu at gmail.com>
        Reviewed-on: https://gerrit.libreoffice.org/24596
    
    which created a base-class VclReferenceBase for OutputDevice and
    Menu and so moved isDisposed from OutputDevice to VclReferenceBase,
    but *duplicated* the mbDisposed in VclReferenceBase so the
    bit set by disposeOnce in OutputDevice was a different bit to the
    bit returned by isDisposed from VclReferenceBase.
    
    Which meant that the fix of...
    
    commit 26c32cfee9fc9a769adba19f455e4d6c13b6d89d
    Author: Caolán McNamara <caolanm at redhat.com>
    Date:   Fri Nov 27 16:10:10 2015 +0000
    
        Resolves: rhbz#1283426 using vdevs based on now dead physical devs is unsafe
    
    no longer worked.
    
    Finish moving the mbDisposed to VclReferenceBase to fix this
    
    Change-Id: I9bc1ba3d03f3aae7c3f58eb277176d9521bdb05d

diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 1f32068..22d1979 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -418,7 +418,6 @@ private:
     mutable bool                    mbTextSpecial : 1;
     mutable bool                    mbRefPoint : 1;
     mutable bool                    mbEnableRTL : 1;
-    mutable bool                    mbDisposed : 1;
 
     /** @name Initialization and accessor functions
      */
@@ -426,15 +425,10 @@ private:
 
 protected:
                                 OutputDevice();
-public:
-    virtual                     ~OutputDevice();
 protected:
     virtual void                dispose() override;
 
 public:
-    void                        disposeOnce();
-
-public:
 
     /** Get the graphic context that the output device uses to draw on.
 
diff --git a/vcl/source/outdev/outdev.cxx b/vcl/source/outdev/outdev.cxx
index b1e6d61..a1c5f12 100644
--- a/vcl/source/outdev/outdev.cxx
+++ b/vcl/source/outdev/outdev.cxx
@@ -137,28 +137,6 @@ OutputDevice::OutputDevice() :
     // #i75163#
     mpOutDevData->mpViewTransform   = nullptr;
     mpOutDevData->mpInverseViewTransform = nullptr;
-
-    mbDisposed = false;
-}
-
-OutputDevice::~OutputDevice()
-{
-    disposeOnce();
-}
-
-void OutputDevice::disposeOnce()
-{
-    if ( mbDisposed )
-        return;
-    mbDisposed = true;
-
-    // catch badness where our OutputDevice sub-class was not
-    // wrapped safely in a VclPtr cosily.
-    // FIXME: as/when we make our destructors all protected,
-    // we should introduce this assert:
-    //    assert( mnRefCnt > 0 );
-
-    dispose();
 }
 
 void OutputDevice::dispose()


More information about the Libreoffice-commits mailing list