From 546eac464604a4107d3786b80de4d6c7190cd181 Mon Sep 17 00:00:00 2001 From: Jonathan Li Date: Tue, 7 Aug 2018 23:49:45 +0100 Subject: [PATCH] gsdx:gtk3: Fix fetching of monitor resolution The user may not have configured a primary monitor, so get the resolution of the monitor that the mouse cursor is currently located on. --- plugins/GSdx/GSLinuxDialog.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/GSdx/GSLinuxDialog.cpp b/plugins/GSdx/GSLinuxDialog.cpp index 022e9b44fc..957d06b1f1 100644 --- a/plugins/GSdx/GSLinuxDialog.cpp +++ b/plugins/GSdx/GSLinuxDialog.cpp @@ -36,9 +36,14 @@ static GtkWidget* s_hack_frame; bool BigEnough() { #if GTK3_MONITOR_API - GdkMonitor *monitor = gdk_display_get_primary_monitor(gdk_display_get_default()); - // int scale = gdk_monitor_get_scale_factor(monitor); - GdkRectangle my_geometry; + GdkDisplay *display = gdk_display_get_default(); + GdkSeat *seat = gdk_display_get_default_seat(display); + GdkDevice *pointer = gdk_seat_get_pointer(seat); + int x; + int y; + gdk_device_get_position(pointer, nullptr, &x, &y); + GdkMonitor *monitor = gdk_display_get_monitor_at_point(display, x, y); + GdkRectangle my_geometry{}; gdk_monitor_get_geometry(monitor, &my_geometry); return my_geometry.height > 1000; #else