vcl/inc/unx/gtk/gtkdata.hxx | 11 +++++++++++ vcl/unx/gtk3/gtkframe.cxx | 10 +--------- vcl/unx/gtk3/gtkinst.cxx | 28 ++++++---------------------- vcl/unx/gtk3/gtksalmenu.cxx | 11 ++--------- 4 files changed, 20 insertions(+), 40 deletions(-)
New commits: commit 65543a53c4058a6e491bc3ef8ca71970a1bc50b7 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon May 10 20:25:28 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Tue May 11 09:43:50 2021 +0200 gtk4: centralize g_main_loop_run ifdefry Change-Id: I1a984783cf4c39500ab6dfdb59e5d1c604de4b5b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115361 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/inc/unx/gtk/gtkdata.hxx b/vcl/inc/unx/gtk/gtkdata.hxx index 2a741e855b94..ddf8a4b63aec 100644 --- a/vcl/inc/unx/gtk/gtkdata.hxx +++ b/vcl/inc/unx/gtk/gtkdata.hxx @@ -53,6 +53,17 @@ inline ::Window widget_get_xid(GtkWidget *widget) } #endif +inline void main_loop_run(GMainLoop* pLoop) +{ +#if !GTK_CHECK_VERSION(4, 0, 0) + gdk_threads_leave(); +#endif + g_main_loop_run(pLoop); +#if !GTK_CHECK_VERSION(4, 0, 0) + gdk_threads_enter(); +#endif +} + class GtkSalTimer final : public SalTimer { struct SalGtkTimeoutSource *m_pTimeout; diff --git a/vcl/unx/gtk3/gtkframe.cxx b/vcl/unx/gtk3/gtkframe.cxx index f8effa137620..610fdb5ebd1f 100644 --- a/vcl/unx/gtk3/gtkframe.cxx +++ b/vcl/unx/gtk3/gtkframe.cxx @@ -4112,15 +4112,7 @@ public: gtk_drag_get_data(m_pWidget, m_pContext, it->second, m_nTime); if (g_main_loop_is_running(m_pLoop)) - { -#if !GTK_CHECK_VERSION(4, 0, 0) - gdk_threads_leave(); -#endif - g_main_loop_run(m_pLoop); -#if !GTK_CHECK_VERSION(4, 0, 0) - gdk_threads_enter(); -#endif - } + main_loop_run(m_pLoop); g_main_loop_unref(m_pLoop); m_pLoop = nullptr; diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index c696627af246..b8ddee717811 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -4894,13 +4894,7 @@ struct DialogRunner m_pLoop = g_main_loop_new(nullptr, false); m_nResponseId = GTK_RESPONSE_NONE; -#if !GTK_CHECK_VERSION(4, 0, 0) - gdk_threads_leave(); -#endif - g_main_loop_run(m_pLoop); -#if !GTK_CHECK_VERSION(4, 0, 0) - gdk_threads_enter(); -#endif + main_loop_run(m_pLoop); g_main_loop_unref(m_pLoop); @@ -5106,11 +5100,7 @@ private: gtk_menu_popup(GTK_MENU(pMenu), nullptr, nullptr, nullptr, nullptr, button, event_time); if (g_main_loop_is_running(pLoop)) - { - gdk_threads_leave(); - g_main_loop_run(pLoop); - gdk_threads_enter(); - } + main_loop_run(pLoop); g_main_loop_unref(pLoop); g_signal_handler_disconnect(pMenu, nSignalId); @@ -8645,11 +8635,8 @@ private: } if (g_main_loop_is_running(pLoop)) - { - gdk_threads_leave(); - g_main_loop_run(pLoop); - gdk_threads_enter(); - } + main_loop_run(pLoop); + g_main_loop_unref(pLoop); g_signal_handler_disconnect(m_pMenu, nSignalId); } @@ -8934,11 +8921,8 @@ public: } if (g_main_loop_is_running(pLoop)) - { - gdk_threads_leave(); - g_main_loop_run(pLoop); - gdk_threads_enter(); - } + main_loop_run(pLoop); + g_main_loop_unref(pLoop); g_signal_handler_disconnect(m_pMenu, nSignalId); gtk_menu_detach(m_pMenu); diff --git a/vcl/unx/gtk3/gtksalmenu.cxx b/vcl/unx/gtk3/gtksalmenu.cxx index b35bb59c14aa..ac28c3ca5961 100644 --- a/vcl/unx/gtk3/gtksalmenu.cxx +++ b/vcl/unx/gtk3/gtksalmenu.cxx @@ -536,15 +536,8 @@ bool GtkSalMenu::ShowNativePopupMenu(FloatingWindow* pWin, const tools::Rectangl #endif if (g_main_loop_is_running(pLoop)) - { -#if !GTK_CHECK_VERSION(4, 0, 0) - gdk_threads_leave(); -#endif - g_main_loop_run(pLoop); -#if !GTK_CHECK_VERSION(4, 0, 0) - gdk_threads_enter(); -#endif - } + main_loop_run(pLoop); + g_main_loop_unref(pLoop); mpVCLMenu->Deactivate(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits