Kaydet (Commit) 0943adb2 authored tarafından Caolán McNamara's avatar Caolán McNamara

Resolves: tdf#95021 crash on closing macro dialog editor

VclPtr related, dialog dtor is never called, so timer
is never stopped and timer refers to deleted parent
data

Change-Id: I804ba082817802c0017e61c6b86c5d3694995ea8
üst 0d33c288
......@@ -97,6 +97,12 @@ DialogWindow::DialogWindow(DialogWindowLayout* pParent, ScriptDocument const& rD
SetReadOnly(true);
}
void DialogWindow::dispose()
{
pEditor.reset();
BaseWindow::dispose();
}
void DialogWindow::LoseFocus()
{
if ( IsModified() )
......
......@@ -57,13 +57,14 @@ class DialogWindow: public BaseWindow
{
private:
DialogWindowLayout& rLayout;
std::unique_ptr<DlgEditor> pEditor; // never nullptr
std::unique_ptr<DlgEditor> pEditor;
std::unique_ptr<SfxUndoManager> pUndoMgr; // never nullptr
OUString aCurPath;
protected:
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) override;
virtual void Resize() override;
virtual void dispose() override;
virtual void MouseButtonDown( const MouseEvent& rMEvt ) override;
virtual void MouseButtonUp( const MouseEvent& rMEvt ) override;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment