vcl/source/window/dialog.cxx | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-)
New commits: commit b7e4b1a27b55dff4792ccd32b0c6658956dcf27a Author: Henry Castro <hcas...@collabora.com> AuthorDate: Tue Dec 10 20:34:51 2019 -0400 Commit: Henry Castro <hcas...@collabora.com> CommitDate: Wed Dec 11 03:18:24 2019 +0100 lok: dialog: check if exists a LOK Window Notifier When the dialog is about to show, it requires to send to client side the "created" message. However, in the constructor has already assigned a notifier from the parent window. Change-Id: I1120ad1c1c70449048d6739b8564d1c1f6b1c7e3 Reviewed-on: https://gerrit.libreoffice.org/84908 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Henry Castro <hcas...@collabora.com> diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx index a8e5240ec68c..d3710414385b 100644 --- a/vcl/source/window/dialog.cxx +++ b/vcl/source/window/dialog.cxx @@ -752,18 +752,26 @@ void Dialog::StateChanged( StateChangedType nType ) { if (nType == StateChangedType::InitShow) { - if (comphelper::LibreOfficeKit::isActive() && !GetLOKNotifier()) + if (comphelper::LibreOfficeKit::isActive()) { - vcl::ILibreOfficeKitNotifier* pViewShell = mpDialogImpl->m_aInstallLOKNotifierHdl.Call(nullptr); - if (pViewShell) + std::vector<vcl::LOKPayloadItem> aItems; + aItems.emplace_back("type", "dialog"); + aItems.emplace_back("size", GetSizePixel().toString()); + if (!GetText().isEmpty()) + aItems.emplace_back("title", GetText().toUtf8()); + + if (const vcl::ILibreOfficeKitNotifier* pNotifier = GetLOKNotifier()) { - SetLOKNotifier(pViewShell); - std::vector<vcl::LOKPayloadItem> aItems; - aItems.emplace_back("type", "dialog"); - aItems.emplace_back("size", GetSizePixel().toString()); - if (!GetText().isEmpty()) - aItems.emplace_back("title", GetText().toUtf8()); - pViewShell->notifyWindow(GetLOKWindowId(), "created", aItems); + pNotifier->notifyWindow(GetLOKWindowId(), "created", aItems); + } + else + { + vcl::ILibreOfficeKitNotifier* pViewShell = mpDialogImpl->m_aInstallLOKNotifierHdl.Call(nullptr); + if (pViewShell) + { + SetLOKNotifier(pViewShell); + pViewShell->notifyWindow(GetLOKWindowId(), "created", aItems); + } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits