diff options
author | Dennis Francis <dennisfrancis.in@gmail.com> | 2015-09-18 07:33:27 +0530 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2015-10-17 23:23:37 +0200 |
commit | 96a39faaf0e143c01d7d1ba79c31743697650e7d (patch) | |
tree | 72d251b239e37325de8fadf77a15ab97958093c1 /include | |
parent | 90907c49809e29a1484abc999b2bc560c52e8972 (diff) |
Resolves: tdf#94848 crash on focus with un-cleared but dead mpSubEdit
was... fixes memleak : clear self referring VclPtr in MetricBox
Clears self referring VclPtr called mpField in MetricBox (inherited from FormatterBase class)
via dispose() method of MetricBox.
Reviewed-on: https://gerrit.libreoffice.org/18674
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit 36c11cb71c6ec107cc08b16109e468765abc9867)
Change-Id: I375e03e814de3c6e47c36b1fc6f625b04521a5e2
memleak:clear self referring VclPtr in *Field and *Box classes
Clears self referring VclPtr called mpField via FormatterBase in :
1. MetricField, PatternField, NumericField, CurrencyField, DateField,
TimeField
2. PatternBox, NumericBox, CurrencyBox, DateBox, TimeBox
via respective dispose() methods.
Change-Id: I7f92fefd49756cabe7db7d240781260a2d4cd298
Reviewed-on: https://gerrit.libreoffice.org/18701
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit a44e03b5d7822d026a3b2fbaf039522f085defed)
Reviewed-on: https://gerrit.libreoffice.org/19397
Reviewed-by: Dennis Francis <dennisfrancis.in@gmail.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
(cherry picked from commit 1995ad7d080b1a9da29f0ebfb06641451d6f3653)
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/field.hxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/vcl/field.hxx b/include/vcl/field.hxx index dc461b781771..8d9236646e6f 100644 --- a/include/vcl/field.hxx +++ b/include/vcl/field.hxx @@ -489,6 +489,7 @@ public: virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE; virtual bool Notify( NotifyEvent& rNEvt ) SAL_OVERRIDE; virtual void Modify() SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -518,6 +519,7 @@ public: virtual void First() SAL_OVERRIDE; virtual void Last() SAL_OVERRIDE; virtual bool set_property(const OString &rKey, const OString &rValue) SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -588,6 +590,7 @@ public: { return ConvertDoubleValue( static_cast<double>(nValue), nDecDigits, eInUnit, eOutUnit ); } virtual bool set_property(const OString &rKey, const OString &rValue) SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -610,6 +613,7 @@ public: virtual void Down() SAL_OVERRIDE; virtual void First() SAL_OVERRIDE; virtual void Last() SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -644,6 +648,7 @@ public: Date GetFirst() const { return maFirst; } void SetLast( const Date& rNewLast ) { maLast = rNewLast; } Date GetLast() const { return maLast; } + virtual void dispose() SAL_OVERRIDE; }; @@ -679,6 +684,7 @@ public: tools::Time GetLast() const { return maLast; } void SetExtFormat( ExtTimeFieldFormat eFormat ); + virtual void dispose() SAL_OVERRIDE; }; @@ -697,6 +703,7 @@ public: virtual void Modify() SAL_OVERRIDE; virtual void ReformatAll() SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -720,6 +727,7 @@ public: virtual void ReformatAll() SAL_OVERRIDE; void InsertValue( sal_Int64 nValue, sal_Int32 nPos = COMBOBOX_APPEND ); + virtual void dispose() SAL_OVERRIDE; }; @@ -752,6 +760,8 @@ public: // Needed, because GetValue() with nPos hide these functions virtual sal_Int64 GetValue( FieldUnit eOutUnit ) const SAL_OVERRIDE; virtual sal_Int64 GetValue() const SAL_OVERRIDE; + + virtual void dispose() SAL_OVERRIDE; }; @@ -773,6 +783,7 @@ public: virtual void ReformatAll() SAL_OVERRIDE; virtual sal_Int64 GetValue() const SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -791,6 +802,7 @@ public: virtual void Modify() SAL_OVERRIDE; virtual void ReformatAll() SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; @@ -810,6 +822,7 @@ public: virtual void Modify() SAL_OVERRIDE; virtual void ReformatAll() SAL_OVERRIDE; + virtual void dispose() SAL_OVERRIDE; }; #endif // INCLUDED_VCL_FIELD_HXX |