summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSarper Akdemir <sarper.akdemir.extern@allotropia.de>2024-04-04 18:41:33 +0300
committerThorsten Behrens <thorsten.behrens@allotropia.de>2024-05-01 15:00:32 +0200
commit0f1b0cef8d105f55af73770ed39c2e32da33542b (patch)
treef3eb68f383e1e13adb6b1913a0bcb64ece076ff5
parenttdf#33603: introduce reworked notes panel (diff)
downloadcore-0f1b0cef8d105f55af73770ed39c2e32da33542b.tar.gz
core-0f1b0cef8d105f55af73770ed39c2e32da33542b.zip
related tdf#33603: fix notespanel missing outliner on mode change
When MainViewShell changed editing mode, two EventMultipexerEvents arrive in succession - if while processing the first one links are reset, second one was ignored. Do not remove EventMultiplexer listener on FillOutliner() Change-Id: I9c41c823ca74574238d1199ed38f92d9c75a113e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165807 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
-rw-r--r--sd/source/ui/view/NotesPanelView.cxx16
1 files changed, 7 insertions, 9 deletions
diff --git a/sd/source/ui/view/NotesPanelView.cxx b/sd/source/ui/view/NotesPanelView.cxx
index 0cbc7149e8ae..49fa38a05d88 100644
--- a/sd/source/ui/view/NotesPanelView.cxx
+++ b/sd/source/ui/view/NotesPanelView.cxx
@@ -52,6 +52,9 @@ NotesPanelView::NotesPanelView(DrawDocShell& rDocSh, vcl::Window* pWindow,
// fill Outliner with contents
FillOutliner();
+ mrNotesPanelViewShell.GetViewShellBase().GetEventMultiplexer()->AddEventListener(
+ LINK(this, NotesPanelView, EventMultiplexerListener));
+
// TODO: UNDO
// sd::UndoManager* pDocUndoMgr = dynamic_cast<sd::UndoManager*>(mpDocSh->GetUndoManager());
// if (pDocUndoMgr != nullptr)
@@ -60,8 +63,10 @@ NotesPanelView::NotesPanelView(DrawDocShell& rDocSh, vcl::Window* pWindow,
NotesPanelView::~NotesPanelView()
{
- ResetLinks();
+ mrNotesPanelViewShell.GetViewShellBase().GetEventMultiplexer()->RemoveEventListener(
+ LINK(this, NotesPanelView, EventMultiplexerListener));
+ ResetLinks();
// DisconnectFromApplication();
// mpProgress.reset();
}
@@ -93,16 +98,9 @@ void NotesPanelView::FillOutliner()
void NotesPanelView::SetLinks()
{
maOutliner.SetStatusEventHdl(LINK(this, NotesPanelView, StatusEventHdl));
- mrNotesPanelViewShell.GetViewShellBase().GetEventMultiplexer()->AddEventListener(
- LINK(this, NotesPanelView, EventMultiplexerListener));
}
-void NotesPanelView::ResetLinks()
-{
- maOutliner.SetStatusEventHdl(Link<EditStatus&, void>());
- mrNotesPanelViewShell.GetViewShellBase().GetEventMultiplexer()->RemoveEventListener(
- LINK(this, NotesPanelView, EventMultiplexerListener));
-}
+void NotesPanelView::ResetLinks() { maOutliner.SetStatusEventHdl(Link<EditStatus&, void>()); }
void NotesPanelView::removeListener()
{