[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue Jul 23 09:58:11 UTC 2019
vcl/unx/gtk3/gtk3gtkinst.cxx | 6 ++++++
1 file changed, 6 insertions(+)
New commits:
commit 0324ad6d99650eccb01729f18f95c2f7f4b3ce68
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Jul 22 21:37:32 2019 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Jul 23 11:57:19 2019 +0200
async modal dialogs need to inc/dec parent frame modality
like sync ones do, so vcl knows those frames are modal-locked,
so e.g. a blank calc document with a modal async dialog open,
e.g. page dialog, is not considered a candidate for reuse
if soffice is instructed, e.g. via command line pipe, to
open another calc document
Change-Id: Id24c2ca5277e5a0e379a3e4f718514ca5e9feb03
Reviewed-on: https://gerrit.libreoffice.org/76145
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
Tested-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 0094a2cd1627..af20ca70ca06 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -3180,6 +3180,8 @@ public:
m_xDialogController = rDialogController;
m_aFunc = func;
+ if (get_modal())
+ m_aDialogRun.inc_modal_count();
show();
m_nResponseSignalId = g_signal_connect(m_pDialog, "response", G_CALLBACK(signalAsyncResponse), this);
@@ -3198,6 +3200,8 @@ public:
m_xRunAsyncSelf = rxSelf;
m_aFunc = func;
+ if (get_modal())
+ m_aDialogRun.inc_modal_count();
show();
m_nResponseSignalId = g_signal_connect(m_pDialog, "response", G_CALLBACK(signalAsyncResponse), this);
@@ -4847,6 +4851,8 @@ void GtkInstanceDialog::asyncresponse(gint ret)
return;
}
+ if (get_modal())
+ m_aDialogRun.dec_modal_count();
hide();
m_aFunc(GtkToVcl(ret));
m_aFunc = nullptr;
More information about the Libreoffice-commits
mailing list