summaryrefslogtreecommitdiff
path: root/svtools/source/brwbox/editbrowsebox.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/brwbox/editbrowsebox.cxx')
-rw-r--r--svtools/source/brwbox/editbrowsebox.cxx21
1 files changed, 14 insertions, 7 deletions
diff --git a/svtools/source/brwbox/editbrowsebox.cxx b/svtools/source/brwbox/editbrowsebox.cxx
index 7c13d24fa146..c95369f2521c 100644
--- a/svtools/source/brwbox/editbrowsebox.cxx
+++ b/svtools/source/brwbox/editbrowsebox.cxx
@@ -127,7 +127,7 @@ namespace svt
ImplInitSettings(true, true, true);
- pCheckBoxPaint = new CheckBoxControl(&GetDataWindow());
+ pCheckBoxPaint = VclPtr<CheckBoxControl>::Create(&GetDataWindow());
pCheckBoxPaint->SetPaintTransparent( true );
pCheckBoxPaint->SetBackground();
}
@@ -183,6 +183,11 @@ namespace svt
EditBrowseBox::~EditBrowseBox()
{
+ disposeOnce();
+ }
+
+ void EditBrowseBox::dispose()
+ {
if (nStartEvent)
Application::RemoveUserEvent(nStartEvent);
if (nEndEvent)
@@ -190,8 +195,10 @@ namespace svt
if (nCellModifiedEvent)
Application::RemoveUserEvent(nCellModifiedEvent);
- delete pCheckBoxPaint;
-
+ pCheckBoxPaint.disposeAndClear();
+ m_pFocusWhileRequest.clear();
+ pHeader.clear();
+ BrowseBox::dispose();
}
@@ -203,7 +210,7 @@ namespace svt
}
- BrowserHeader* EditBrowseBox::CreateHeaderBar(BrowseBox* pParent)
+ VclPtr<BrowserHeader> EditBrowseBox::CreateHeaderBar(BrowseBox* pParent)
{
pHeader = imp_CreateHeaderBar(pParent);
if (!IsUpdateMode())
@@ -212,9 +219,9 @@ namespace svt
}
- BrowserHeader* EditBrowseBox::imp_CreateHeaderBar(BrowseBox* pParent)
+ VclPtr<BrowserHeader> EditBrowseBox::imp_CreateHeaderBar(BrowseBox* pParent)
{
- return new EditBrowserHeader(pParent);
+ return VclPtr<EditBrowserHeader>::Create(pParent);
}
@@ -251,7 +258,7 @@ namespace svt
if (IsEditing())
{
EnableAndShow();
- if (!aController->GetWindow().HasFocus() && (m_pFocusWhileRequest == Application::GetFocusWindow()))
+ if (!aController->GetWindow().HasFocus() && (m_pFocusWhileRequest.get() == Application::GetFocusWindow()))
aController->GetWindow().GrabFocus();
}
return 0;