summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorDennis Francis <dennisfrancis.in@gmail.com>2015-09-18 18:51:13 +0530
committerCaolán McNamara <caolanm@redhat.com>2015-09-23 07:32:55 +0000
commita44e03b5d7822d026a3b2fbaf039522f085defed (patch)
tree45bd79867d4c81cad3adefab9d3b6cad509b4b1d /vcl
parent92c8d74c543aa94cd512369072975dca7006d5b3 (diff)
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>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/control/field.cxx30
-rw-r--r--vcl/source/control/field2.cxx36
2 files changed, 66 insertions, 0 deletions
diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx
index 3738147fd398..040cfa87d9a0 100644
--- a/vcl/source/control/field.cxx
+++ b/vcl/source/control/field.cxx
@@ -800,6 +800,12 @@ NumericField::NumericField( vcl::Window* pParent, const ResId& rResId ) :
Show();
}
+void NumericField::dispose()
+{
+ NumericFormatter::SetField( NULL );
+ SpinField::dispose();
+}
+
bool NumericField::set_property(const OString &rKey, const OString &rValue)
{
if (rKey == "digits")
@@ -949,6 +955,12 @@ NumericBox::NumericBox( vcl::Window* pParent, WinBits nWinStyle ) :
Show();
}
+void NumericBox::dispose()
+{
+ NumericFormatter::SetField( NULL );
+ ComboBox::dispose();
+}
+
Size NumericBox::CalcMinimumSize() const
{
Size aRet(calcMinimumSize(*this, *this));
@@ -1612,6 +1624,12 @@ MetricField::MetricField( vcl::Window* pParent, const ResId& rResId ) :
Show();
}
+void MetricField::dispose()
+{
+ MetricFormatter::SetField( NULL );
+ SpinField::dispose();
+}
+
Size MetricField::CalcMinimumSize() const
{
return calcMinimumSize(*this, *this);
@@ -2010,6 +2028,12 @@ CurrencyField::CurrencyField( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void CurrencyField::dispose()
+{
+ CurrencyFormatter::SetField( NULL );
+ SpinField::dispose();
+}
+
bool CurrencyField::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && !rNEvt.GetKeyEvent()->GetKeyCode().IsMod2() )
@@ -2088,6 +2112,12 @@ CurrencyBox::CurrencyBox( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void CurrencyBox::dispose()
+{
+ CurrencyFormatter::SetField( NULL );
+ ComboBox::dispose();
+}
+
bool CurrencyBox::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && !rNEvt.GetKeyEvent()->GetKeyCode().IsMod2() )
diff --git a/vcl/source/control/field2.cxx b/vcl/source/control/field2.cxx
index b3241e113115..ddcd40c8f5ef 100644
--- a/vcl/source/control/field2.cxx
+++ b/vcl/source/control/field2.cxx
@@ -819,6 +819,12 @@ PatternField::PatternField( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void PatternField::dispose()
+{
+ PatternFormatter::SetField( NULL );
+ SpinField::dispose();
+}
+
bool PatternField::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && !rNEvt.GetKeyEvent()->GetKeyCode().IsMod2() )
@@ -865,6 +871,12 @@ PatternBox::PatternBox( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void PatternBox::dispose()
+{
+ PatternFormatter::SetField( NULL );
+ ComboBox::dispose();
+}
+
bool PatternBox::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && !rNEvt.GetKeyEvent()->GetKeyCode().IsMod2() )
@@ -1716,6 +1728,12 @@ DateField::DateField( vcl::Window* pParent, WinBits nWinStyle ) :
ResetLastDate();
}
+void DateField::dispose()
+{
+ DateFormatter::SetField( NULL );
+ SpinField::dispose();
+}
+
bool DateField::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && IsStrictFormat() &&
@@ -1815,6 +1833,12 @@ DateBox::DateBox( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void DateBox::dispose()
+{
+ DateFormatter::SetField( NULL );
+ ComboBox::dispose();
+}
+
bool DateBox::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && IsStrictFormat() &&
@@ -2489,6 +2513,12 @@ TimeField::TimeField( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void TimeField::dispose()
+{
+ TimeFormatter::SetField( NULL );
+ SpinField::dispose();
+}
+
bool TimeField::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && !rNEvt.GetKeyEvent()->GetKeyCode().IsMod2() )
@@ -2626,6 +2656,12 @@ TimeBox::TimeBox( vcl::Window* pParent, WinBits nWinStyle ) :
Reformat();
}
+void TimeBox::dispose()
+{
+ TimeFormatter::SetField( NULL );
+ ComboBox::dispose();
+}
+
bool TimeBox::PreNotify( NotifyEvent& rNEvt )
{
if ( (rNEvt.GetType() == MouseNotifyEvent::KEYINPUT) && !rNEvt.GetKeyEvent()->GetKeyCode().IsMod2() )