[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