Projects
openEuler:24.03:SP1:Everything:64G
xorg-x11-server
_service:tar_scm:0015-xwayland-Reuse-viewport-i...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:0015-xwayland-Reuse-viewport-instead-of-recreating.patch of Package xorg-x11-server
From 1f39cb2ef51c72ec0c448c5d9571540bb0d9f3eb Mon Sep 17 00:00:00 2001 From: Roman Gilg <subdiff@gmail.com> Date: Fri, 3 Jan 2020 17:12:14 +0100 Subject: [PATCH xserver 15/24] xwayland: Reuse viewport instead of recreating When a viewport is already created we can reuse this object instead of destroying it and getting a new one for updating the source rectangle and destination size. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Olivier Fourdan <ofourdan@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com> (cherry picked from commit 948e02872feb641a176b3af82b6ef1201c97bb16) --- hw/xwayland/xwayland.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c index f4d433bca..320589dde 100644 --- a/hw/xwayland/xwayland.c +++ b/hw/xwayland/xwayland.c @@ -550,17 +550,13 @@ xwl_window_enable_viewport(struct xwl_window *xwl_window, struct xwl_output *xwl_output, struct xwl_emulated_mode *emulated_mode) { - /* If necessary disable old viewport to apply new settings */ - if (xwl_window_has_viewport_enabled(xwl_window)) - xwl_window_disable_viewport(xwl_window); - - DebugF("XWAYLAND: enabling viewport %dx%d -> %dx%d\n", - emulated_mode->width, emulated_mode->height, - xwl_output->width, xwl_output->height); - - xwl_window->viewport = - wp_viewporter_get_viewport(xwl_window->xwl_screen->viewporter, - xwl_window->surface); + if (!xwl_window_has_viewport_enabled(xwl_window)) { + DebugF("XWAYLAND: enabling viewport %dx%d -> %dx%d\n", + emulated_mode->width, emulated_mode->height, + xwl_output->width, xwl_output->height); + xwl_window->viewport = wp_viewporter_get_viewport(xwl_window->xwl_screen->viewporter, + xwl_window->surface); + } wp_viewport_set_source(xwl_window->viewport, wl_fixed_from_int(0), -- 2.25.2
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2