summaryrefslogtreecommitdiff
path: root/sw/source/uibase/utlui/glbltree.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/uibase/utlui/glbltree.cxx')
-rw-r--r--sw/source/uibase/utlui/glbltree.cxx22
1 files changed, 16 insertions, 6 deletions
diff --git a/sw/source/uibase/utlui/glbltree.cxx b/sw/source/uibase/utlui/glbltree.cxx
index 2f4b0a5009f6..5c5a1aa75d93 100644
--- a/sw/source/uibase/utlui/glbltree.cxx
+++ b/sw/source/uibase/utlui/glbltree.cxx
@@ -180,8 +180,18 @@ SwGlobalTree::SwGlobalTree(vcl::Window* pParent, const ResId& rResId) :
SwGlobalTree::~SwGlobalTree()
{
+ disposeOnce();
+}
+
+void SwGlobalTree::dispose()
+{
delete pSwGlblDocContents;
+ pSwGlblDocContents = NULL;
delete pDocInserter;
+ pDocInserter = NULL;
+ pDefParentWin.clear();
+ aUpdateTimer.Stop();
+ SvTreeListBox::dispose();
}
sal_Int8 SwGlobalTree::ExecuteDrop( const ExecuteDropEvent& rEvt )
@@ -505,12 +515,12 @@ void SwGlobalTree::SelectHdl()
SwNavigationPI* pNavi = GetParentWindow();
bool bReadonly = !pActiveShell ||
pActiveShell->GetView().GetDocShell()->IsReadOnly();
- pNavi->aGlobalToolBox.EnableItem(FN_GLOBAL_EDIT, nSelCount == 1 && !bReadonly);
- pNavi->aGlobalToolBox.EnableItem(FN_GLOBAL_OPEN, nSelCount <= 1 && !bReadonly);
- pNavi->aGlobalToolBox.EnableItem(FN_GLOBAL_UPDATE, GetEntryCount() > 0 && !bReadonly);
- pNavi->aGlobalToolBox.EnableItem(FN_ITEM_UP,
+ pNavi->aGlobalToolBox->EnableItem(FN_GLOBAL_EDIT, nSelCount == 1 && !bReadonly);
+ pNavi->aGlobalToolBox->EnableItem(FN_GLOBAL_OPEN, nSelCount <= 1 && !bReadonly);
+ pNavi->aGlobalToolBox->EnableItem(FN_GLOBAL_UPDATE, GetEntryCount() > 0 && !bReadonly);
+ pNavi->aGlobalToolBox->EnableItem(FN_ITEM_UP,
nSelCount == 1 && nAbsPos && !bReadonly);
- pNavi->aGlobalToolBox.EnableItem(FN_ITEM_DOWN,
+ pNavi->aGlobalToolBox->EnableItem(FN_ITEM_DOWN,
nSelCount == 1 && nAbsPos < GetEntryCount() - 1 && !bReadonly);
}
@@ -1001,7 +1011,7 @@ void SwGlobalTree::ExcecuteContextMenuAction( sal_uInt16 nSelectedPopupEntry
IMPL_LINK_NOARG(SwGlobalTree, Timeout)
{
- if(!HasFocus() && Update( false ))
+ if(!IsDisposed() && !HasFocus() && Update( false ))
Display();
return 0;
}