summaryrefslogtreecommitdiff
path: root/include/vcl
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2019-10-24 08:43:59 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-10-24 10:48:37 +0200
commit7364a206a67f73513590fbb55e9e1d630c97aab1 (patch)
tree77d0a5e90dc6acb6550bba2808aaaccbb846a1f1 /include/vcl
parent6c6b00300c5430466804619394b84beea01b3187 (diff)
tdf#128077 crash with calc dialogs and multiple windows
regression from commit bf359d01ac8b1e0292e8a92c38e58c03e6c17d8b add a Dialog::runAsync for the non-controller case we end up destroying the dialog controller while the controller is in it's own method, so keep it alive for the duration. Change-Id: I0f26b4d40351ad62378f58c560f1a6d69d57a88e Reviewed-on: https://gerrit.libreoffice.org/81425 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include/vcl')
-rw-r--r--include/vcl/weld.hxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx
index 043803435d43..300cdf04641f 100644
--- a/include/vcl/weld.hxx
+++ b/include/vcl/weld.hxx
@@ -27,6 +27,7 @@
#include <com/sun/star/accessibility/XAccessibleRelationSet.hpp>
#include <com/sun/star/accessibility/XAccessible.hpp>
+#include <memory>
#include <vector>
namespace com
@@ -1964,7 +1965,7 @@ public:
virtual ~Builder() {}
};
-class VCL_DLLPUBLIC DialogController
+class VCL_DLLPUBLIC DialogController : public std::enable_shared_from_this<DialogController>
{
public:
virtual Dialog* getDialog() = 0;