summaryrefslogtreecommitdiff
path: root/sw/source/uibase/utlui/gloslst.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase/utlui/gloslst.cxx')
-rw-r--r--sw/source/uibase/utlui/gloslst.cxx33
1 files changed, 24 insertions, 9 deletions
diff --git a/sw/source/uibase/utlui/gloslst.cxx b/sw/source/uibase/utlui/gloslst.cxx
index 7f18c24ab564..53980635be55 100644
--- a/sw/source/uibase/utlui/gloslst.cxx
+++ b/sw/source/uibase/utlui/gloslst.cxx
@@ -51,14 +51,17 @@ struct TripleString
class SwGlossDecideDlg : public ModalDialog
{
- OKButton* m_pOk;
- ListBox* m_pListLB;
+ VclPtr<OKButton> m_pOk;
+ VclPtr<ListBox> m_pListLB;
DECL_LINK(DoubleClickHdl, void*);
DECL_LINK(SelectHdl, void*);
- public:
- SwGlossDecideDlg(vcl::Window* pParent);
+public:
+ SwGlossDecideDlg(vcl::Window* pParent);
+ virtual ~SwGlossDecideDlg();
+ virtual void dispose() SAL_OVERRIDE;
+
ListBox& GetListBox() {return *m_pListLB;}
};
@@ -73,6 +76,18 @@ SwGlossDecideDlg::SwGlossDecideDlg(vcl::Window* pParent)
m_pListLB->SetSelectHdl(LINK(this, SwGlossDecideDlg, SelectHdl));
}
+SwGlossDecideDlg::~SwGlossDecideDlg()
+{
+ disposeOnce();
+}
+
+void SwGlossDecideDlg::dispose()
+{
+ m_pOk.clear();
+ m_pListLB.clear();
+ ModalDialog::dispose();
+}
+
IMPL_LINK_NOARG(SwGlossDecideDlg, DoubleClickHdl)
{
EndDialog(RET_OK);
@@ -143,16 +158,16 @@ bool SwGlossaryList::GetShortName(const OUString& rLongName,
}
else if(1 < nCount)
{
- SwGlossDecideDlg aDlg(0);
- OUString sTitle = aDlg.GetText() + " " + aTripleStrings.front().sBlock;
- aDlg.SetText(sTitle);
+ ScopedVclPtrInstance< SwGlossDecideDlg > aDlg(nullptr);
+ OUString sTitle = aDlg->GetText() + " " + aTripleStrings.front().sBlock;
+ aDlg->SetText(sTitle);
- ListBox& rLB = aDlg.GetListBox();
+ ListBox& rLB = aDlg->GetListBox();
for(std::vector<TripleString>::const_iterator i = aTripleStrings.begin(); i != aTripleStrings.end(); ++i)
rLB.InsertEntry(i->sGroup.getToken(0, GLOS_DELIM));
rLB.SelectEntryPos(0);
- if(RET_OK == aDlg.Execute() &&
+ if(RET_OK == aDlg->Execute() &&
LISTBOX_ENTRY_NOTFOUND != rLB.GetSelectEntryPos())
{
const TripleString& pTriple(aTripleStrings[rLB.GetSelectEntryPos()]);