vcl/jsdialog/jsdialogbuilder.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
New commits: commit 107a9cf3560d712f8975af112f85ddaffe802647 Author: Henry Castro <[email protected]> AuthorDate: Tue Dec 22 16:40:20 2020 -0400 Commit: Henry Castro <[email protected]> CommitDate: Wed Dec 23 14:47:13 2020 +0100 jsdialog: fix disable idle notify There is a possible crash due to nullptr deference Change-Id: I3e2034ad89832eec61f1d6910a5ffd34c56df6a7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108224 Tested-by: Jenkins Reviewed-by: Henry Castro <[email protected]> diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 11a84bc8bc64..50954dcec727 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -107,7 +107,8 @@ void JSDialogNotifyIdle::sendClose() { send(generateCloseMessage()); } void JSDialogSender::notifyDialogState(bool bForce) { - if (mpIdleNotify->getNotifierWindow()->IsDisableIdleNotify()) + auto aNotifierWnd = mpIdleNotify->getNotifierWindow(); + if (aNotifierWnd && aNotifierWnd->IsDisableIdleNotify()) return; if (bForce) @@ -401,15 +402,15 @@ std::unique_ptr<weld::Dialog> JSInstanceBuilder::weld_dialog(const OString& id) m_xBuilder->drop_ownership(pDialog); m_bHasTopLevelDialog = true; + if (id == "MacroSelectorDialog") + pDialog->SetDisableIdleNotify(true); + pRet.reset(pDialog ? new JSDialog(m_aOwnedToplevel, m_aOwnedToplevel, pDialog, this, false, m_sTypeOfJSON) : nullptr); RememberWidget("__DIALOG__", pRet.get()); - if (id == "MacroSelectorDialog") - pDialog->SetDisableIdleNotify(true); - const vcl::ILibreOfficeKitNotifier* pNotifier = pDialog->GetLOKNotifier(); if (pNotifier && id != "MacroSelectorDialog") { _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
