vcl/unx/gtk3/gtksys.cxx | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
New commits: commit cbfeec278196f2083db52cb6b1eb627b624b44aa Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Mon May 10 10:56:43 2021 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Mon May 10 13:08:37 2021 +0200 gtk4: get monitor size Change-Id: I833fbb041c97b10cdca57b21aa7c467a7add646a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115316 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/unx/gtk3/gtksys.cxx b/vcl/unx/gtk3/gtksys.cxx index 79b59d2ccbf8..a1ca0cdd63be 100644 --- a/vcl/unx/gtk3/gtksys.cxx +++ b/vcl/unx/gtk3/gtksys.cxx @@ -214,21 +214,24 @@ unsigned int GtkSalSystem::GetDisplayBuiltInScreen() #endif } -tools::Rectangle GtkSalSystem::GetDisplayScreenPosSizePixel (unsigned int nScreen) +tools::Rectangle GtkSalSystem::GetDisplayScreenPosSizePixel(unsigned int nScreen) { -#if !GTK_CHECK_VERSION(4, 0, 0) + GdkRectangle aRect; +#if GTK_CHECK_VERSION(4, 0, 0) + GListModel* pList = gdk_display_get_monitors(mpDisplay); + GdkMonitor* pMonitor = static_cast<GdkMonitor*>(g_list_model_get_item(pList, nScreen)); + if (!pMonitor) + return tools::Rectangle(); + gdk_monitor_get_geometry(pMonitor, &aRect); +#else gint nMonitor; GdkScreen *pScreen; - GdkRectangle aRect; pScreen = getScreenMonitorFromIdx (nScreen, nMonitor); if (!pScreen) return tools::Rectangle(); gdk_screen_get_monitor_geometry (pScreen, nMonitor, &aRect); - return tools::Rectangle (Point(aRect.x, aRect.y), Size(aRect.width, aRect.height)); -#else - (void)nScreen; - return tools::Rectangle(); #endif + return tools::Rectangle (Point(aRect.x, aRect.y), Size(aRect.width, aRect.height)); } // convert ~ to indicate mnemonic to '_' _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits