include/vcl/weld.hxx | 8 +++++--- vcl/source/app/salvtables.cxx | 10 ++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-)
New commits: commit 573caba6f3056797ed3a1235efecdbaffa7eeb44 Author: Stephan Bergmann <sberg...@redhat.com> Date: Fri Mar 9 21:49:49 2018 +0100 Make VCL_DLLPUBLIC virtual functions non-inline at least Linux-rpm_deb-x86@71-TDF tinderbox was having a hiccup: > /tinderbox/buildslave/build/workdir/CxxObject/sd/source/ui/func/fuinsert.o: In function `weld::DialogController::run()': > /tinderbox/buildslave/source/libo-master/include/vcl/weld.hxx:551: undefined reference to `weld::MessageDialogController::getDialog()' Change-Id: Ib05808a7a283b5aad7329a82c0de3125db4f8506 Reviewed-on: https://gerrit.libreoffice.org/51018 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index 30cbaef2f607..7a82cfb2c6df 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -551,13 +551,13 @@ public: short run() { return getDialog()->run(); } static bool runAsync(const std::shared_ptr<DialogController>& rController, const std::function<void(sal_Int32)>&); - virtual ~DialogController() {} + virtual ~DialogController(); }; class VCL_DLLPUBLIC GenericDialogController : public DialogController { private: - virtual Dialog* getDialog() override { return m_xDialog.get(); } + virtual Dialog* getDialog() override; protected: std::unique_ptr<weld::Builder> m_xBuilder; @@ -566,6 +566,7 @@ protected: public: GenericDialogController(weld::Widget* pParent, const OUString& rUIFile, const OString& rDialogId); + ~GenericDialogController() override; void set_title(const OUString& rTitle) { m_xDialog->set_title(rTitle); } void set_help_id(const OString& rHelpId) { m_xDialog->set_help_id(rHelpId); } }; @@ -573,7 +574,7 @@ public: class VCL_DLLPUBLIC MessageDialogController : public DialogController { private: - virtual Dialog* getDialog() override { return m_xDialog.get(); } + virtual Dialog* getDialog() override; protected: std::unique_ptr<weld::Builder> m_xBuilder; @@ -582,6 +583,7 @@ protected: public: MessageDialogController(weld::Widget* pParent, const OUString& rUIFile, const OString& rDialogId); + ~MessageDialogController() override; void set_title(const OUString& rTitle) { m_xDialog->set_title(rTitle); } void set_help_id(const OString& rHelpId) { m_xDialog->set_help_id(rHelpId); } }; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index b59122356e47..d1faaadd5cdb 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -1474,17 +1474,27 @@ namespace weld return rController->getDialog()->runAsync(rController, func); } + DialogController::~DialogController() = default; + + Dialog* GenericDialogController::getDialog() { return m_xDialog.get(); } + GenericDialogController::GenericDialogController(weld::Widget* pParent, const OUString &rUIFile, const OString& rDialogId) : m_xBuilder(Application::CreateBuilder(pParent, rUIFile)) , m_xDialog(m_xBuilder->weld_dialog(rDialogId)) { } + GenericDialogController::~GenericDialogController() = default; + + Dialog* MessageDialogController::getDialog() { return m_xDialog.get(); } + MessageDialogController::MessageDialogController(weld::Widget* pParent, const OUString &rUIFile, const OString& rDialogId) : m_xBuilder(Application::CreateBuilder(pParent, rUIFile)) , m_xDialog(m_xBuilder->weld_message_dialog(rDialogId)) { } + + MessageDialogController::~MessageDialogController() = default; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits