Kaydet (Commit) 33df62ef authored tarafından Caolán McNamara's avatar Caolán McNamara Kaydeden (comit) Maxim Monastirsky

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

(cherry picked from commit 0943adb2)

Change-Id: I804ba082817802c0017e61c6b86c5d3694995ea8
Reviewed-on: https://gerrit.libreoffice.org/19926Reviewed-by: 's avatarMaxim Monastirsky <momonasmon@gmail.com>
Tested-by: 's avatarMaxim Monastirsky <momonasmon@gmail.com>
üst 0ff2015b
......@@ -98,6 +98,12 @@ DialogWindow::DialogWindow(DialogWindowLayout* pParent, ScriptDocument const& rD
SetReadOnly(true);
}
void DialogWindow::dispose()
{
pEditor.reset();
BaseWindow::dispose();
}
void DialogWindow::LoseFocus()
{
if ( IsModified() )
......
......@@ -56,13 +56,14 @@ class DialogWindow: public BaseWindow
{
private:
DialogWindowLayout& rLayout;
boost::scoped_ptr<DlgEditor> pEditor; // never nullptr
boost::scoped_ptr<DlgEditor> pEditor;
boost::scoped_ptr<SfxUndoManager> pUndoMgr; // never nullptr
OUString aCurPath;
protected:
virtual void Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect) SAL_OVERRIDE;
virtual void Resize() SAL_OVERRIDE;
virtual void dispose() SAL_OVERRIDE;
virtual void MouseButtonDown( const MouseEvent& rMEvt ) SAL_OVERRIDE;
virtual void MouseButtonUp( const MouseEvent& rMEvt ) SAL_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