Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'intern/ghost/intern/GHOST_WindowWayland.cpp')
-rw-r--r--intern/ghost/intern/GHOST_WindowWayland.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/intern/ghost/intern/GHOST_WindowWayland.cpp b/intern/ghost/intern/GHOST_WindowWayland.cpp
index 58c6025f24c..d395888f600 100644
--- a/intern/ghost/intern/GHOST_WindowWayland.cpp
+++ b/intern/ghost/intern/GHOST_WindowWayland.cpp
@@ -370,11 +370,16 @@ static void frame_handle_configure(struct libdecor_frame *frame,
size_next[1] = win->size[1] / win->scale;
}
+ const int size_prev[2] = {UNPACK2(win->size)};
win->size[0] = win->scale * size_next[0];
win->size[1] = win->scale * size_next[1];
- wl_egl_window_resize(win->egl_window, UNPACK2(win->size), 0, 0);
- win->ghost_window->notify_size();
+ const bool do_resize = (size_prev[0] != win->size[0]) || (size_prev[1] != win->size[1]);
+
+ if (do_resize) {
+ wl_egl_window_resize(win->egl_window, UNPACK2(win->size), 0, 0);
+ win->ghost_window->notify_size();
+ }
if (!libdecor_configuration_get_window_state(configuration, &window_state)) {
window_state = LIBDECOR_WINDOW_STATE_NONE;