[Libreoffice-commits] core.git: include/vcl vcl/source

Stephan Bergmann sbergman at redhat.com
Fri Mar 9 21:46:00 UTC 2018


 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 <sbergman at redhat.com>
Date:   Fri Mar 9 21:49:49 2018 +0100

    Make VCL_DLLPUBLIC virtual functions non-inline
    
    at least Linux-rpm_deb-x86 at 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 <ci at libreoffice.org>
    Reviewed-by: Stephan Bergmann <sbergman at 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: */


More information about the Libreoffice-commits mailing list