[gtk/wip/Jehan/wrong-monitor-wayland-master] gdk: Wayland output `done()` listener not scale factor aware.
- From: Jehan <jehanp src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/Jehan/wrong-monitor-wayland-master] gdk: Wayland output `done()` listener not scale factor aware.
- Date: Sun, 21 Jun 2020 17:11:37 +0000 (UTC)
commit ba6e372cc8a4dc92dd4047d87a53a924a0ac7810
Author: Jehan <jehan girinstud io>
Date: Sun Jun 21 19:09:25 2020 +0200
gdk: Wayland output `done()` listener not scale factor aware.
As can be seen on other Wayland handlers, GdkWaylandMonitor width and
height are in device pixels whereas we are saving GdkMonitor size in
application pixels.
gdk/wayland/gdkdisplay-wayland.c | 5 +++++
1 file changed, 5 insertions(+)
---
diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
index cd8fe1e3cc..d7a384cc91 100644
--- a/gdk/wayland/gdkdisplay-wayland.c
+++ b/gdk/wayland/gdkdisplay-wayland.c
@@ -2379,12 +2379,17 @@ output_handle_done (void *data,
struct wl_output *wl_output)
{
GdkWaylandMonitor *monitor = (GdkWaylandMonitor *)data;
+ gint scale;
GDK_NOTE (MISC,
g_message ("handle done output %d", monitor->id));
monitor->wl_output_done = TRUE;
+ scale = gdk_monitor_get_scale_factor (GDK_MONITOR (monitor));
+ monitor->width = monitor->width / scale;
+ monitor->height = monitor->height / scale;
+
if (!should_expect_xdg_output_done (monitor) || monitor->xdg_output_done)
apply_monitor_change (monitor);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]