summaryrefslogtreecommitdiff
path: root/extensions/source/dbpilots/gridwizard.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/dbpilots/gridwizard.cxx')
-rw-r--r--extensions/source/dbpilots/gridwizard.cxx24
1 files changed, 19 insertions, 5 deletions
diff --git a/extensions/source/dbpilots/gridwizard.cxx b/extensions/source/dbpilots/gridwizard.cxx
index 882847b0f99f..aec86cd649ca 100644
--- a/extensions/source/dbpilots/gridwizard.cxx
+++ b/extensions/source/dbpilots/gridwizard.cxx
@@ -228,17 +228,16 @@ namespace dbp
}
- OWizardPage* OGridWizard::createPage(WizardState _nState)
+ VclPtr<TabPage> OGridWizard::createPage(WizardState _nState)
{
switch (_nState)
{
case GW_STATE_DATASOURCE_SELECTION:
- return new OTableSelectionPage(this);
+ return VclPtr<OTableSelectionPage>::Create(this);
case GW_STATE_FIELDSELECTION:
- return new OGridFieldsSelection(this);
+ return VclPtr<OGridFieldsSelection>::Create(this);
}
-
- return NULL;
+ return VclPtr<TabPage>();
}
@@ -319,6 +318,21 @@ namespace dbp
m_pSelFields->SetDoubleClickHdl(LINK(this, OGridFieldsSelection, OnEntryDoubleClicked));
}
+ OGridFieldsSelection::~OGridFieldsSelection()
+ {
+ disposeOnce();
+ }
+
+ void OGridFieldsSelection::dispose()
+ {
+ m_pExistFields.clear();
+ m_pSelectOne.clear();
+ m_pSelectAll.clear();
+ m_pDeselectOne.clear();
+ m_pDeselectAll.clear();
+ m_pSelFields.clear();
+ OGridPage::dispose();
+ }
void OGridFieldsSelection::ActivatePage()
{