55 lines
1.7 KiB
Diff
55 lines
1.7 KiB
Diff
From 6c2165171ecef153db63b17bcd8ec4a20e866c91 Mon Sep 17 00:00:00 2001
|
|
From: yangchenguang <yangchenguang@kylinsec.com.cn>
|
|
Date: Thu, 13 Apr 2023 11:19:01 +0800
|
|
Subject: [PATCH 2/4] fix(*): update the xscreen size when x11 screen change
|
|
size
|
|
|
|
Signed-off-by: yangchenguang <yangchenguang@kylinsec.com.cn>
|
|
---
|
|
gdk/x11/gdkscreen-x11.c | 13 ++++++++-----
|
|
1 file changed, 8 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
|
|
index bb4df05..6646ee4 100644
|
|
--- a/gdk/x11/gdkscreen-x11.c
|
|
+++ b/gdk/x11/gdkscreen-x11.c
|
|
@@ -1186,9 +1186,10 @@ _gdk_x11_screen_size_changed (GdkScreen *screen,
|
|
#ifdef HAVE_RANDR
|
|
GdkX11Display *display_x11;
|
|
#endif
|
|
+ Screen *xscreen = gdk_x11_screen_get_xscreen (screen);
|
|
|
|
- width = gdk_x11_screen_get_width (screen);
|
|
- height = gdk_x11_screen_get_height (screen);
|
|
+ width = xscreen->width;
|
|
+ height = xscreen->height;
|
|
|
|
#ifdef HAVE_RANDR
|
|
display_x11 = GDK_X11_DISPLAY (gdk_screen_get_display (screen));
|
|
@@ -1201,7 +1202,6 @@ _gdk_x11_screen_size_changed (GdkScreen *screen,
|
|
if (event->type == ConfigureNotify)
|
|
{
|
|
XConfigureEvent *rcevent = (XConfigureEvent *) event;
|
|
- Screen *xscreen = gdk_x11_screen_get_xscreen (screen);
|
|
|
|
xscreen->width = rcevent->width;
|
|
xscreen->height = rcevent->height;
|
|
@@ -1212,9 +1212,12 @@ _gdk_x11_screen_size_changed (GdkScreen *screen,
|
|
|
|
process_monitors_change (screen);
|
|
|
|
- if (width != gdk_x11_screen_get_width (screen) ||
|
|
- height != gdk_x11_screen_get_height (screen))
|
|
+ if (width != xscreen->width ||
|
|
+ height != xscreen->height)
|
|
+ {
|
|
+ process_monitors_change (screen);
|
|
g_signal_emit_by_name (screen, "size-changed");
|
|
+ }
|
|
}
|
|
|
|
void
|
|
--
|
|
2.33.0
|
|
|