Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e262ecc1e | ||
|
|
3eebb4cc8f | ||
|
|
b00d98777f | ||
|
|
e348a9fa46 |
27 changed files with 240 additions and 184 deletions
|
|
@ -1,7 +1,7 @@
|
|||
From e78e96157efb523272404a85a9433c7b9803c1db Mon Sep 17 00:00:00 2001
|
||||
From a815e5f51f75684a53d8fa14b596e03b738cd281 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Thu, 29 Aug 2019 14:18:28 +0200
|
||||
Subject: [PATCH xserver 01/24] dix: Add GetCurrentClient helper
|
||||
Subject: [PATCH xserver 01/25] dix: Add GetCurrentClient helper
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
|
@ -112,5 +112,5 @@ index b6e2bcfde..d65060cb6 100644
|
|||
extern _X_EXPORT void SetInputCheck(HWEventQueuePtr /*c0 */ ,
|
||||
HWEventQueuePtr /*c1 */ );
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From c0981af6a683266e3f2adfdd7d6539104f502233 Mon Sep 17 00:00:00 2001
|
||||
From 0a3046286e69b171c319ff419c94cf62929246bf Mon Sep 17 00:00:00 2001
|
||||
From: Robert Mader <robert.mader@posteo.de>
|
||||
Date: Mon, 22 Jan 2018 22:02:32 +0100
|
||||
Subject: [PATCH xserver 02/24] xwayland: Add wp_viewport wayland extension
|
||||
Subject: [PATCH xserver 02/25] xwayland: Add wp_viewport wayland extension
|
||||
support
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -81,10 +81,10 @@ index 36bf2133a..4a8d171bb 100644
|
|||
xwayland_glamor = []
|
||||
eglstream_srcs = []
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index ed9f2e3c2..2084f2afb 100644
|
||||
index b353167c3..a70c1002f 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -923,6 +923,9 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
@@ -912,6 +912,9 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
wl_registry_bind(registry, id, &zxdg_output_manager_v1_interface, 1);
|
||||
xwl_screen_init_xdg_output(xwl_screen);
|
||||
}
|
||||
|
|
@ -95,7 +95,7 @@ index ed9f2e3c2..2084f2afb 100644
|
|||
else if (xwl_screen->glamor) {
|
||||
xwl_glamor_init_wl_registry(xwl_screen, registry, id, interface,
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index daa719209..f949ea157 100644
|
||||
index b9495b313..91ae21eeb 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -48,6 +48,7 @@
|
||||
|
|
@ -115,5 +115,5 @@ index daa719209..f949ea157 100644
|
|||
|
||||
#define XWL_FORMAT_ARGB8888 (1 << 0)
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From ce5eef7d33d7ba37cabee6b2bb020ed62abe6208 Mon Sep 17 00:00:00 2001
|
||||
From 30859f64d1718d1476648dcddbb3d81c2f932828 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Mader <robert.mader@posteo.de>
|
||||
Date: Tue, 2 Jul 2019 12:03:12 +0200
|
||||
Subject: [PATCH xserver 03/24] xwayland: Use buffer_damage instead of surface
|
||||
Subject: [PATCH xserver 03/25] xwayland: Use buffer_damage instead of surface
|
||||
damage if available
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -28,10 +28,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
(cherry picked from commit 7c6f17790d3aedb164481264b0f05a8a14103731)
|
||||
---
|
||||
hw/xwayland/xwayland-cursor.c | 12 ++++++------
|
||||
hw/xwayland/xwayland-present.c | 6 +++---
|
||||
hw/xwayland/xwayland-present.c | 10 +++++-----
|
||||
hw/xwayland/xwayland.c | 29 +++++++++++++++++++++++------
|
||||
hw/xwayland/xwayland.h | 3 +++
|
||||
4 files changed, 35 insertions(+), 15 deletions(-)
|
||||
4 files changed, 37 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-cursor.c b/hw/xwayland/xwayland-cursor.c
|
||||
index 66720bcc0..cbc715061 100644
|
||||
|
|
@ -64,27 +64,31 @@ index 66720bcc0..cbc715061 100644
|
|||
xwl_cursor->frame_cb = wl_surface_frame(xwl_cursor->surface);
|
||||
wl_callback_add_listener(xwl_cursor->frame_cb, &frame_listener, xwl_cursor);
|
||||
diff --git a/hw/xwayland/xwayland-present.c b/hw/xwayland/xwayland-present.c
|
||||
index 5ba7dce08..58c32941d 100644
|
||||
index d177abdd8..f4027f91e 100644
|
||||
--- a/hw/xwayland/xwayland-present.c
|
||||
+++ b/hw/xwayland/xwayland-present.c
|
||||
@@ -495,9 +495,9 @@ xwl_present_flip(WindowPtr present_window,
|
||||
@@ -505,11 +505,11 @@ xwl_present_flip(WindowPtr present_window,
|
||||
/* Realign timer */
|
||||
xwl_present_reset_timer(xwl_present_window);
|
||||
|
||||
- wl_surface_damage(xwl_window->surface, 0, 0,
|
||||
- wl_surface_damage(xwl_window->surface,
|
||||
- damage_box->x1 - present_window->drawable.x,
|
||||
- damage_box->y1 - present_window->drawable.y,
|
||||
- damage_box->x2 - damage_box->x1,
|
||||
- damage_box->y2 - damage_box->y1);
|
||||
+ xwl_surface_damage(xwl_window->xwl_screen, xwl_window->surface, 0, 0,
|
||||
+ xwl_surface_damage(xwl_window->xwl_screen, xwl_window->surface,
|
||||
+ damage_box->x1 - present_window->drawable.x,
|
||||
+ damage_box->y1 - present_window->drawable.y,
|
||||
+ damage_box->x2 - damage_box->x1,
|
||||
+ damage_box->y2 - damage_box->y1);
|
||||
|
||||
wl_surface_commit(xwl_window->surface);
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 2084f2afb..942981834 100644
|
||||
index a70c1002f..811257b00 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -803,6 +803,16 @@ xwl_destroy_window(WindowPtr window)
|
||||
@@ -792,6 +792,16 @@ xwl_destroy_window(WindowPtr window)
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -101,7 +105,7 @@ index 2084f2afb..942981834 100644
|
|||
static void
|
||||
xwl_window_post_damage(struct xwl_window *xwl_window)
|
||||
{
|
||||
@@ -839,13 +849,15 @@ xwl_window_post_damage(struct xwl_window *xwl_window)
|
||||
@@ -828,13 +838,15 @@ xwl_window_post_damage(struct xwl_window *xwl_window)
|
||||
*/
|
||||
if (RegionNumRects(region) > 256) {
|
||||
box = RegionExtents(region);
|
||||
|
|
@ -122,7 +126,7 @@ index 2084f2afb..942981834 100644
|
|||
}
|
||||
|
||||
xwl_window_create_frame_callback(xwl_window);
|
||||
@@ -904,8 +916,13 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
@@ -893,8 +905,13 @@ registry_global(void *data, struct wl_registry *registry, uint32_t id,
|
||||
struct xwl_screen *xwl_screen = data;
|
||||
|
||||
if (strcmp(interface, "wl_compositor") == 0) {
|
||||
|
|
@ -138,7 +142,7 @@ index 2084f2afb..942981834 100644
|
|||
else if (strcmp(interface, "wl_shm") == 0) {
|
||||
xwl_screen->shm = wl_registry_bind(registry, id, &wl_shm_interface, 1);
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index f949ea157..fa78b5ab9 100644
|
||||
index 91ae21eeb..1244d2e91 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -382,6 +382,9 @@ struct xwl_output {
|
||||
|
|
@ -149,8 +153,8 @@ index f949ea157..fa78b5ab9 100644
|
|||
+ struct wl_surface *surface,
|
||||
+ int32_t x, int32_t y, int32_t width, int32_t height);
|
||||
|
||||
Bool xwl_screen_init_cursor(struct xwl_screen *xwl_screen);
|
||||
void xwl_screen_roundtrip (struct xwl_screen *xwl_screen);
|
||||
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 6ff9bf9f005ce81b587d3b4345232c73fc12da53 Mon Sep 17 00:00:00 2001
|
||||
From 32987e08e7f1e79ee50ce032cc6c1b6d28e6a50d Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 26 Jun 2019 16:46:54 +0200
|
||||
Subject: [PATCH xserver 04/24] xwayland: Add fake output modes to xrandr
|
||||
Subject: [PATCH xserver 04/25] xwayland: Add fake output modes to xrandr
|
||||
output mode lists
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -25,10 +25,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
3 files changed, 124 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index aa6f37864..2ccc3ca60 100644
|
||||
index ae646c663..4036ba681 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -245,14 +245,110 @@ update_screen_size(struct xwl_output *xwl_output, int width, int height)
|
||||
@@ -208,14 +208,110 @@ update_screen_size(struct xwl_output *xwl_output, int width, int height)
|
||||
update_desktop_dimensions();
|
||||
}
|
||||
|
||||
|
|
@ -141,7 +141,7 @@ index aa6f37864..2ccc3ca60 100644
|
|||
Bool need_rotate;
|
||||
|
||||
/* Clear out the "done" received flags */
|
||||
@@ -271,12 +367,16 @@ apply_output_change(struct xwl_output *xwl_output)
|
||||
@@ -234,12 +330,16 @@ apply_output_change(struct xwl_output *xwl_output)
|
||||
mode_height = xwl_output->width;
|
||||
}
|
||||
|
||||
|
|
@ -163,10 +163,10 @@ index aa6f37864..2ccc3ca60 100644
|
|||
xorg_list_for_each_entry(it, &xwl_screen->output_list, link) {
|
||||
/* output done event is sent even when some property
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 942981834..3c50396f1 100644
|
||||
index 811257b00..e84515f94 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -152,6 +152,23 @@ xwl_screen_get(ScreenPtr screen)
|
||||
@@ -154,6 +154,23 @@ xwl_screen_get(ScreenPtr screen)
|
||||
return dixLookupPrivate(&screen->devPrivates, &xwl_screen_private_key);
|
||||
}
|
||||
|
||||
|
|
@ -191,10 +191,10 @@ index 942981834..3c50396f1 100644
|
|||
xwl_window_set_allow_commits(struct xwl_window *xwl_window, Bool allow,
|
||||
const char *debug_msg)
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index fa78b5ab9..c66997f00 100644
|
||||
index 1244d2e91..200e18a8d 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -389,6 +389,7 @@ void xwl_surface_damage(struct xwl_screen *xwl_screen,
|
||||
@@ -391,6 +391,7 @@ void xwl_screen_roundtrip (struct xwl_screen *xwl_screen);
|
||||
Bool xwl_screen_init_cursor(struct xwl_screen *xwl_screen);
|
||||
|
||||
struct xwl_screen *xwl_screen_get(ScreenPtr screen);
|
||||
|
|
@ -203,5 +203,5 @@ index fa78b5ab9..c66997f00 100644
|
|||
void xwl_tablet_tool_set_cursor(struct xwl_tablet_tool *tool);
|
||||
void xwl_seat_set_cursor(struct xwl_seat *xwl_seat);
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From d837f7003d22c5e0d5bd05d41e872e7ee331dfa4 Mon Sep 17 00:00:00 2001
|
||||
From 09dcf01f5ea8d1f828a58e54edd608e6918d0b59 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Mader <robert.mader@posteo.de>
|
||||
Date: Mon, 22 Jan 2018 17:57:38 +0100
|
||||
Subject: [PATCH xserver 05/24] xwayland: Use RandR 1.2 interface (rev 2)
|
||||
Subject: [PATCH xserver 05/25] xwayland: Use RandR 1.2 interface (rev 2)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
|
@ -29,10 +29,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 81 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index 2ccc3ca60..67e99bdab 100644
|
||||
index 4036ba681..633ebb89e 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -561,12 +561,80 @@ xwl_randr_get_info(ScreenPtr pScreen, Rotation * rotations)
|
||||
@@ -524,12 +524,80 @@ xwl_randr_get_info(ScreenPtr pScreen, Rotation * rotations)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ index 2ccc3ca60..67e99bdab 100644
|
|||
|
||||
Bool
|
||||
xwl_screen_init_output(struct xwl_screen *xwl_screen)
|
||||
@@ -580,7 +648,20 @@ xwl_screen_init_output(struct xwl_screen *xwl_screen)
|
||||
@@ -543,7 +611,20 @@ xwl_screen_init_output(struct xwl_screen *xwl_screen)
|
||||
|
||||
rp = rrGetScrPriv(xwl_screen->screen);
|
||||
rp->rrGetInfo = xwl_randr_get_info;
|
||||
|
|
@ -135,5 +135,5 @@ index 2ccc3ca60..67e99bdab 100644
|
|||
return TRUE;
|
||||
}
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 80ca38c4428a499a795084dc696c390b707749b9 Mon Sep 17 00:00:00 2001
|
||||
From ca0616ca4ca1badff2674fa5db8f290935b81e7f Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Thu, 29 Aug 2019 22:45:12 +0200
|
||||
Subject: [PATCH xserver 06/24] xwayland: Add per client private data
|
||||
Subject: [PATCH xserver 06/25] xwayland: Add per client private data
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
|
@ -21,10 +21,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
2 files changed, 19 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 3c50396f1..b0e37ceb9 100644
|
||||
index e84515f94..f422cfc29 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -135,11 +135,18 @@ ddxProcessArgument(int argc, char *argv[], int i)
|
||||
@@ -137,11 +137,18 @@ ddxProcessArgument(int argc, char *argv[], int i)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -43,7 +43,7 @@ index 3c50396f1..b0e37ceb9 100644
|
|||
static struct xwl_window *
|
||||
xwl_window_get(WindowPtr window)
|
||||
{
|
||||
@@ -1143,6 +1150,13 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
@@ -1145,6 +1152,13 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
return FALSE;
|
||||
if (!dixRegisterPrivateKey(&xwl_damage_private_key, PRIVATE_WINDOW, 0))
|
||||
return FALSE;
|
||||
|
|
@ -58,7 +58,7 @@ index 3c50396f1..b0e37ceb9 100644
|
|||
dixSetPrivate(&pScreen->devPrivates, &xwl_screen_private_key, xwl_screen);
|
||||
xwl_screen->screen = pScreen;
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index c66997f00..593e92b64 100644
|
||||
index 200e18a8d..19626d394 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -379,8 +379,13 @@ struct xwl_output {
|
||||
|
|
@ -76,5 +76,5 @@ index c66997f00..593e92b64 100644
|
|||
void xwl_surface_damage(struct xwl_screen *xwl_screen,
|
||||
struct wl_surface *surface,
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 879fed575deea57462217fc31eb331db8d23637c Mon Sep 17 00:00:00 2001
|
||||
From 4bc5480d2e63cceecdc18b4bfda4fb4624f8fb43 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Thu, 29 Aug 2019 23:04:36 +0200
|
||||
Subject: [PATCH xserver 07/24] xwayland: Add support for storing per client
|
||||
Subject: [PATCH xserver 07/25] xwayland: Add support for storing per client
|
||||
per output emulated resolution
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -31,10 +31,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
2 files changed, 84 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index 67e99bdab..82ff5db70 100644
|
||||
index 633ebb89e..64794dee7 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -245,6 +245,73 @@ update_screen_size(struct xwl_output *xwl_output, int width, int height)
|
||||
@@ -208,6 +208,73 @@ update_screen_size(struct xwl_output *xwl_output, int width, int height)
|
||||
update_desktop_dimensions();
|
||||
}
|
||||
|
||||
|
|
@ -109,7 +109,7 @@ index 67e99bdab..82ff5db70 100644
|
|||
const int32_t xwl_output_fake_modes[][2] = {
|
||||
/* 4:3 (1.33) */
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index 593e92b64..0e6f92e63 100644
|
||||
index 19626d394..c886d77e9 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -379,7 +379,21 @@ struct xwl_output {
|
||||
|
|
@ -134,7 +134,7 @@ index 593e92b64..0e6f92e63 100644
|
|||
};
|
||||
|
||||
void xwl_window_create_frame_callback(struct xwl_window *xwl_window);
|
||||
@@ -425,6 +439,9 @@ void xwl_output_destroy(struct xwl_output *xwl_output);
|
||||
@@ -427,6 +441,9 @@ void xwl_output_destroy(struct xwl_output *xwl_output);
|
||||
|
||||
void xwl_output_remove(struct xwl_output *xwl_output);
|
||||
|
||||
|
|
@ -145,5 +145,5 @@ index 593e92b64..0e6f92e63 100644
|
|||
float VRefresh, Bool Reduced, Bool Interlaced);
|
||||
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From a640802d33e0daccf2d4045ecb3e70cbf56bf0ac Mon Sep 17 00:00:00 2001
|
||||
From 2f2a6b8556bd104740d76126640abcfe4705047c Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 2 Jul 2019 11:55:26 +0200
|
||||
Subject: [PATCH xserver 08/24] xwayland: Add support for randr-resolution
|
||||
Subject: [PATCH xserver 08/25] xwayland: Add support for randr-resolution
|
||||
change emulation using viewport
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -37,10 +37,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
4 files changed, 276 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
|
||||
index fa46ac3e7..97b8cd132 100644
|
||||
index a05d178ff..7d75a8f54 100644
|
||||
--- a/hw/xwayland/xwayland-input.c
|
||||
+++ b/hw/xwayland/xwayland-input.c
|
||||
@@ -486,6 +486,11 @@ dispatch_pointer_motion_event(struct xwl_seat *xwl_seat)
|
||||
@@ -488,6 +488,11 @@ dispatch_pointer_motion_event(struct xwl_seat *xwl_seat)
|
||||
int dx = xwl_seat->focus_window->window->drawable.x;
|
||||
int dy = xwl_seat->focus_window->window->drawable.y;
|
||||
|
||||
|
|
@ -53,10 +53,10 @@ index fa46ac3e7..97b8cd132 100644
|
|||
y = dy + sy;
|
||||
} else {
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index 82ff5db70..99ab1b288 100644
|
||||
index 64794dee7..e09d00108 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -408,6 +408,42 @@ err:
|
||||
@@ -371,6 +371,42 @@ err:
|
||||
FatalError("Failed to allocate memory for list of RR modes");
|
||||
}
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ index 82ff5db70..99ab1b288 100644
|
|||
static void
|
||||
apply_output_change(struct xwl_output *xwl_output)
|
||||
{
|
||||
@@ -650,21 +686,36 @@ xwl_randr_screen_set_size(ScreenPtr pScreen,
|
||||
@@ -613,21 +649,36 @@ xwl_randr_screen_set_size(ScreenPtr pScreen,
|
||||
static Bool
|
||||
xwl_randr_crtc_set(ScreenPtr pScreen,
|
||||
RRCrtcPtr crtc,
|
||||
|
|
@ -143,10 +143,10 @@ index 82ff5db70..99ab1b288 100644
|
|||
|
||||
static Bool
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index b0e37ceb9..1ab5b3a28 100644
|
||||
index f422cfc29..87870a5f1 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -176,6 +176,23 @@ xwl_screen_has_resolution_change_emulation(struct xwl_screen *xwl_screen)
|
||||
@@ -178,6 +178,23 @@ xwl_screen_has_resolution_change_emulation(struct xwl_screen *xwl_screen)
|
||||
return xwl_screen->rootless && xwl_screen_has_viewport_support(xwl_screen);
|
||||
}
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
static void
|
||||
xwl_window_set_allow_commits(struct xwl_window *xwl_window, Bool allow,
|
||||
const char *debug_msg)
|
||||
@@ -512,6 +529,150 @@ xwl_pixmap_get(PixmapPtr pixmap)
|
||||
@@ -501,6 +518,150 @@ xwl_pixmap_get(PixmapPtr pixmap)
|
||||
return dixLookupPrivate(&pixmap->devPrivates, &xwl_pixmap_private_key);
|
||||
}
|
||||
|
||||
|
|
@ -321,7 +321,7 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
static void
|
||||
xwl_window_init_allow_commits(struct xwl_window *xwl_window)
|
||||
{
|
||||
@@ -582,6 +743,8 @@ ensure_surface_for_window(WindowPtr window)
|
||||
@@ -571,6 +732,8 @@ ensure_surface_for_window(WindowPtr window)
|
||||
|
||||
xwl_window->xwl_screen = xwl_screen;
|
||||
xwl_window->window = window;
|
||||
|
|
@ -330,7 +330,7 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
xwl_window->surface = wl_compositor_create_surface(xwl_screen->compositor);
|
||||
if (xwl_window->surface == NULL) {
|
||||
ErrorF("wl_display_create_surface failed\n");
|
||||
@@ -623,6 +786,7 @@ ensure_surface_for_window(WindowPtr window)
|
||||
@@ -612,6 +775,7 @@ ensure_surface_for_window(WindowPtr window)
|
||||
|
||||
dixSetPrivate(&window->devPrivates, &xwl_window_private_key, xwl_window);
|
||||
xorg_list_init(&xwl_window->link_damage);
|
||||
|
|
@ -338,7 +338,7 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
|
||||
#ifdef GLAMOR_HAS_GBM
|
||||
xorg_list_init(&xwl_window->frame_callback_list);
|
||||
@@ -716,8 +880,12 @@ xwl_unrealize_window(WindowPtr window)
|
||||
@@ -705,8 +869,12 @@ xwl_unrealize_window(WindowPtr window)
|
||||
if (!xwl_window)
|
||||
return ret;
|
||||
|
||||
|
|
@ -351,7 +351,7 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
unregister_damage(window);
|
||||
|
||||
if (xwl_window->frame_callback)
|
||||
@@ -767,6 +935,33 @@ xwl_set_window_pixmap(WindowPtr window,
|
||||
@@ -756,6 +924,33 @@ xwl_set_window_pixmap(WindowPtr window,
|
||||
ensure_surface_for_window(window);
|
||||
}
|
||||
|
||||
|
|
@ -385,15 +385,15 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
static void
|
||||
frame_callback(void *data,
|
||||
struct wl_callback *callback,
|
||||
@@ -1218,6 +1413,7 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
@@ -1233,6 +1428,7 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
xorg_list_init(&xwl_screen->output_list);
|
||||
xorg_list_init(&xwl_screen->seat_list);
|
||||
xorg_list_init(&xwl_screen->damage_window_list);
|
||||
+ xorg_list_init(&xwl_screen->window_list);
|
||||
xwl_screen->depth = 24;
|
||||
|
||||
xwl_screen->display = wl_display_connect(NULL);
|
||||
@@ -1316,6 +1512,9 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
if (!monitorResolution)
|
||||
@@ -1332,6 +1528,9 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
xwl_screen->CloseScreen = pScreen->CloseScreen;
|
||||
pScreen->CloseScreen = xwl_close_screen;
|
||||
|
||||
|
|
@ -404,7 +404,7 @@ index b0e37ceb9..1ab5b3a28 100644
|
|||
xwl_screen->SetWindowPixmap = pScreen->SetWindowPixmap;
|
||||
pScreen->SetWindowPixmap = xwl_set_window_pixmap;
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index 0e6f92e63..9adf3af76 100644
|
||||
index c886d77e9..36c4c4c8b 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -135,10 +135,12 @@ struct xwl_screen {
|
||||
|
|
@ -434,7 +434,7 @@ index 0e6f92e63..9adf3af76 100644
|
|||
struct wl_callback *frame_callback;
|
||||
Bool allow_commits;
|
||||
#ifdef GLAMOR_HAS_GBM
|
||||
@@ -409,6 +415,9 @@ Bool xwl_screen_init_cursor(struct xwl_screen *xwl_screen);
|
||||
@@ -411,6 +417,9 @@ Bool xwl_screen_init_cursor(struct xwl_screen *xwl_screen);
|
||||
|
||||
struct xwl_screen *xwl_screen_get(ScreenPtr screen);
|
||||
Bool xwl_screen_has_resolution_change_emulation(struct xwl_screen *xwl_screen);
|
||||
|
|
@ -444,7 +444,7 @@ index 0e6f92e63..9adf3af76 100644
|
|||
|
||||
void xwl_tablet_tool_set_cursor(struct xwl_tablet_tool *tool);
|
||||
void xwl_seat_set_cursor(struct xwl_seat *xwl_seat);
|
||||
@@ -442,6 +451,12 @@ void xwl_output_remove(struct xwl_output *xwl_output);
|
||||
@@ -444,6 +453,12 @@ void xwl_output_remove(struct xwl_output *xwl_output);
|
||||
struct xwl_emulated_mode *xwl_output_get_emulated_mode_for_client(
|
||||
struct xwl_output *xwl_output, ClientPtr client);
|
||||
|
||||
|
|
@ -458,5 +458,5 @@ index 0e6f92e63..9adf3af76 100644
|
|||
float VRefresh, Bool Reduced, Bool Interlaced);
|
||||
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 62e8b2ff7471f1a48b8bac9f41cceecea4931c03 Mon Sep 17 00:00:00 2001
|
||||
From aedd71a61ac2d78c347180e7d87e5918b795609e Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 8 Jul 2019 14:00:27 +0200
|
||||
Subject: [PATCH xserver 09/24] xwayland: Add xwlRRModeToDisplayMode() helper
|
||||
Subject: [PATCH xserver 09/25] xwayland: Add xwlRRModeToDisplayMode() helper
|
||||
function
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -20,7 +20,7 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 28 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-vidmode.c b/hw/xwayland/xwayland-vidmode.c
|
||||
index 0bcd11401..a59c9f6a9 100644
|
||||
index d25d1aca1..428af716d 100644
|
||||
--- a/hw/xwayland/xwayland-vidmode.c
|
||||
+++ b/hw/xwayland/xwayland-vidmode.c
|
||||
@@ -78,13 +78,37 @@ mode_refresh(const xRRModeInfo *mode_info)
|
||||
|
|
@ -97,5 +97,5 @@ index 0bcd11401..a59c9f6a9 100644
|
|||
return TRUE;
|
||||
}
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 3ecabb250841ff0423744cd2291aaebf87b4239a Mon Sep 17 00:00:00 2001
|
||||
From 719c1d2ef99784043883787d04afc0437f3a9b8f Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 8 Jul 2019 18:35:27 +0200
|
||||
Subject: [PATCH xserver 10/24] xwayland: Add xwlVidModeGetCurrentRRMode helper
|
||||
Subject: [PATCH xserver 10/25] xwayland: Add xwlVidModeGetCurrentRRMode helper
|
||||
to the vidmode code
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -30,7 +30,7 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 56 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-vidmode.c b/hw/xwayland/xwayland-vidmode.c
|
||||
index a59c9f6a9..e9aea7269 100644
|
||||
index 428af716d..7cf982fcc 100644
|
||||
--- a/hw/xwayland/xwayland-vidmode.c
|
||||
+++ b/hw/xwayland/xwayland-vidmode.c
|
||||
@@ -103,26 +103,56 @@ xwlRRModeToDisplayMode(RRModePtr rrmode, DisplayModePtr mode)
|
||||
|
|
@ -189,5 +189,5 @@ index a59c9f6a9..e9aea7269 100644
|
|||
|
||||
static void
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 86e32a877ded8d67ec26ed2bcc06bd80ec2a5915 Mon Sep 17 00:00:00 2001
|
||||
From 98e6cadf2ba8490c303cdc94106baf3f31006299 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 9 Jul 2019 09:31:13 +0200
|
||||
Subject: [PATCH xserver 11/24] xwayland: Add vidmode mode changing emulation
|
||||
Subject: [PATCH xserver 11/25] xwayland: Add vidmode mode changing emulation
|
||||
support
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -19,7 +19,7 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 86 insertions(+), 44 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-vidmode.c b/hw/xwayland/xwayland-vidmode.c
|
||||
index e9aea7269..56aac693a 100644
|
||||
index 7cf982fcc..99a4d2c92 100644
|
||||
--- a/hw/xwayland/xwayland-vidmode.c
|
||||
+++ b/hw/xwayland/xwayland-vidmode.c
|
||||
@@ -106,26 +106,25 @@ xwlRRModeToDisplayMode(RRModePtr rrmode, DisplayModePtr mode)
|
||||
|
|
@ -232,5 +232,5 @@ index e9aea7269..56aac693a 100644
|
|||
|
||||
static Bool
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From fd95c9a52e35e994e140a925cfc01587257d4511 Mon Sep 17 00:00:00 2001
|
||||
From 3d359d03573dee270b72f0cea1ea9061c2c886c3 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 26 Aug 2019 12:26:34 +0200
|
||||
Subject: [PATCH xserver 12/24] xwayland: xwl_window_should_enable_viewport:
|
||||
Subject: [PATCH xserver 12/25] xwayland: xwl_window_should_enable_viewport:
|
||||
Add extra test
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -25,10 +25,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 1ab5b3a28..85036adfe 100644
|
||||
index 87870a5f1..9175396f7 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -649,6 +649,23 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -638,6 +638,23 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -53,5 +53,5 @@ index 1ab5b3a28..85036adfe 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From dda4a8b2f672eb5791f39222dd0996e07b416eb7 Mon Sep 17 00:00:00 2001
|
||||
From 48bc25613f91b69d9ee68e8211f8bf22317aa40a Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 2 Sep 2019 17:32:45 +0200
|
||||
Subject: [PATCH xserver 13/24] xwayland: Set _XWAYLAND_RANDR_EMU_MONITOR_RECTS
|
||||
Subject: [PATCH xserver 13/25] xwayland: Set _XWAYLAND_RANDR_EMU_MONITOR_RECTS
|
||||
property for resolution emulation
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
|
|
@ -37,7 +37,7 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
3 files changed, 103 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index 99ab1b288..20c254962 100644
|
||||
index e09d00108..0d6b9ac9f 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -29,6 +29,7 @@
|
||||
|
|
@ -46,9 +46,9 @@ index 99ab1b288..20c254962 100644
|
|||
#include <randrstr.h>
|
||||
+#include <X11/Xatom.h>
|
||||
|
||||
#define DEFAULT_DPI 96
|
||||
#define ALL_ROTATIONS (RR_Rotate_0 | \
|
||||
@@ -428,6 +429,80 @@ xwl_output_find_mode(struct xwl_output *xwl_output,
|
||||
RR_Rotate_90 | \
|
||||
@@ -391,6 +392,80 @@ xwl_output_find_mode(struct xwl_output *xwl_output,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ index 99ab1b288..20c254962 100644
|
|||
void
|
||||
xwl_output_set_emulated_mode(struct xwl_output *xwl_output, ClientPtr client,
|
||||
RRModePtr mode, Bool from_vidmode)
|
||||
@@ -442,6 +517,8 @@ xwl_output_set_emulated_mode(struct xwl_output *xwl_output, ClientPtr client,
|
||||
@@ -405,6 +480,8 @@ xwl_output_set_emulated_mode(struct xwl_output *xwl_output, ClientPtr client,
|
||||
xwl_output_add_emulated_mode_for_client(xwl_output, client, mode, from_vidmode);
|
||||
|
||||
xwl_screen_check_resolution_change_emulation(xwl_output->xwl_screen);
|
||||
|
|
@ -139,10 +139,10 @@ index 99ab1b288..20c254962 100644
|
|||
|
||||
static void
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 85036adfe..e43f3de96 100644
|
||||
index 9175396f7..32442d88e 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -690,6 +690,27 @@ xwl_screen_check_resolution_change_emulation(struct xwl_screen *xwl_screen)
|
||||
@@ -679,6 +679,27 @@ xwl_screen_check_resolution_change_emulation(struct xwl_screen *xwl_screen)
|
||||
xwl_window_check_resolution_change_emulation(xwl_window);
|
||||
}
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ index 85036adfe..e43f3de96 100644
|
|||
static void
|
||||
xwl_window_init_allow_commits(struct xwl_window *xwl_window)
|
||||
{
|
||||
@@ -855,6 +876,8 @@ xwl_realize_window(WindowPtr window)
|
||||
@@ -844,6 +865,8 @@ xwl_realize_window(WindowPtr window)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -180,10 +180,10 @@ index 85036adfe..e43f3de96 100644
|
|||
}
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index 9adf3af76..eb8c4bd70 100644
|
||||
index 36c4c4c8b..1317ae5bb 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -418,6 +418,7 @@ Bool xwl_screen_has_resolution_change_emulation(struct xwl_screen *xwl_screen);
|
||||
@@ -420,6 +420,7 @@ Bool xwl_screen_has_resolution_change_emulation(struct xwl_screen *xwl_screen);
|
||||
struct xwl_output *xwl_screen_get_first_output(struct xwl_screen *xwl_screen);
|
||||
void xwl_screen_check_resolution_change_emulation(struct xwl_screen *xwl_screen);
|
||||
Bool xwl_window_has_viewport_enabled(struct xwl_window *xwl_window);
|
||||
|
|
@ -191,7 +191,7 @@ index 9adf3af76..eb8c4bd70 100644
|
|||
|
||||
void xwl_tablet_tool_set_cursor(struct xwl_tablet_tool *tool);
|
||||
void xwl_seat_set_cursor(struct xwl_seat *xwl_seat);
|
||||
@@ -456,6 +457,8 @@ RRModePtr xwl_output_find_mode(struct xwl_output *xwl_output,
|
||||
@@ -458,6 +459,8 @@ RRModePtr xwl_output_find_mode(struct xwl_output *xwl_output,
|
||||
void xwl_output_set_emulated_mode(struct xwl_output *xwl_output,
|
||||
ClientPtr client, RRModePtr mode,
|
||||
Bool from_vidmode);
|
||||
|
|
@ -201,5 +201,5 @@ index 9adf3af76..eb8c4bd70 100644
|
|||
RRModePtr xwayland_cvt(int HDisplay, int VDisplay,
|
||||
float VRefresh, Bool Reduced, Bool Interlaced);
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From aa0f9ba1aa3f12f7e65ed64ac03114f27c8bff1f Mon Sep 17 00:00:00 2001
|
||||
From 12a0f852e3276cb5c60e44b8b0d6ddd97975fd42 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 27 Jan 2020 11:08:00 +0100
|
||||
Subject: [PATCH xserver 14/24] xwayland: Cache client-id for the
|
||||
Subject: [PATCH xserver 14/25] xwayland: Cache client-id for the
|
||||
window-manager client
|
||||
|
||||
Instead of iterating over all clients which are listening for events on the
|
||||
|
|
@ -24,10 +24,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
2 files changed, 34 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index e43f3de96..f4d433bca 100644
|
||||
index 32442d88e..f99cdf81f 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -576,20 +576,11 @@ xwl_window_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -565,20 +565,11 @@ xwl_window_enable_viewport(struct xwl_window *xwl_window,
|
||||
}
|
||||
|
||||
static Bool
|
||||
|
|
@ -51,7 +51,7 @@ index e43f3de96..f4d433bca 100644
|
|||
}
|
||||
|
||||
static ClientPtr
|
||||
@@ -603,7 +594,7 @@ xwl_window_get_owner(struct xwl_window *xwl_window)
|
||||
@@ -592,7 +583,7 @@ xwl_window_get_owner(struct xwl_window *xwl_window)
|
||||
* decoration window. In that case return the client of the
|
||||
* first *and only* child of the toplevel (decoration) window.
|
||||
*/
|
||||
|
|
@ -60,7 +60,7 @@ index e43f3de96..f4d433bca 100644
|
|||
if (window->firstChild && window->firstChild == window->lastChild)
|
||||
return wClient(window->firstChild);
|
||||
else
|
||||
@@ -698,9 +689,7 @@ xwl_screen_check_resolution_change_emulation(struct xwl_screen *xwl_screen)
|
||||
@@ -687,9 +678,7 @@ xwl_screen_check_resolution_change_emulation(struct xwl_screen *xwl_screen)
|
||||
Bool
|
||||
xwl_window_is_toplevel(WindowPtr window)
|
||||
{
|
||||
|
|
@ -71,7 +71,7 @@ index e43f3de96..f4d433bca 100644
|
|||
return FALSE;
|
||||
|
||||
/* CSD and override-redirect toplevel windows */
|
||||
@@ -975,6 +964,30 @@ xwl_set_window_pixmap(WindowPtr window,
|
||||
@@ -964,6 +953,30 @@ xwl_set_window_pixmap(WindowPtr window,
|
||||
ensure_surface_for_window(window);
|
||||
}
|
||||
|
||||
|
|
@ -102,7 +102,7 @@ index e43f3de96..f4d433bca 100644
|
|||
static void
|
||||
xwl_resize_window(WindowPtr window,
|
||||
int x, int y,
|
||||
@@ -1552,6 +1565,9 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
@@ -1568,6 +1581,9 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
xwl_screen->CloseScreen = pScreen->CloseScreen;
|
||||
pScreen->CloseScreen = xwl_close_screen;
|
||||
|
||||
|
|
@ -113,7 +113,7 @@ index e43f3de96..f4d433bca 100644
|
|||
pScreen->ResizeWindow = xwl_resize_window;
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index eb8c4bd70..126af8823 100644
|
||||
index 1317ae5bb..f5ffadfcc 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -118,6 +118,7 @@ struct xwl_screen {
|
||||
|
|
@ -133,5 +133,5 @@ index eb8c4bd70..126af8823 100644
|
|||
|
||||
struct xorg_list output_list;
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 1f39cb2ef51c72ec0c448c5d9571540bb0d9f3eb Mon Sep 17 00:00:00 2001
|
||||
From 5448ffeb9b06d20e821174c04d2280933e3ca993 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
|
||||
Subject: [PATCH xserver 15/25] 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
|
||||
|
|
@ -17,10 +17,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 7 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index f4d433bca..320589dde 100644
|
||||
index f99cdf81f..8de3dd36b 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -550,17 +550,13 @@ xwl_window_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -539,17 +539,13 @@ xwl_window_enable_viewport(struct xwl_window *xwl_window,
|
||||
struct xwl_output *xwl_output,
|
||||
struct xwl_emulated_mode *emulated_mode)
|
||||
{
|
||||
|
|
@ -46,5 +46,5 @@ index f4d433bca..320589dde 100644
|
|||
wp_viewport_set_source(xwl_window->viewport,
|
||||
wl_fixed_from_int(0),
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 8cedbfd448edf410a45c57addcee0e7304f11b86 Mon Sep 17 00:00:00 2001
|
||||
From 2896f732af4c74f124d767808a24005342d8f125 Mon Sep 17 00:00:00 2001
|
||||
From: Roman Gilg <subdiff@gmail.com>
|
||||
Date: Fri, 3 Jan 2020 17:27:28 +0100
|
||||
Subject: [PATCH xserver 16/24] xwayland: Recurse on finding the none-wm owner
|
||||
Subject: [PATCH xserver 16/25] xwayland: Recurse on finding the none-wm owner
|
||||
|
||||
An X11 window manager might add a chain of parent windows when reparenting to a
|
||||
decoration window.
|
||||
|
|
@ -28,10 +28,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 8 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 320589dde..f42b80b90 100644
|
||||
index 8de3dd36b..c38c4180b 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -580,19 +580,18 @@ window_is_wm_window(WindowPtr window)
|
||||
@@ -569,19 +569,18 @@ window_is_wm_window(WindowPtr window)
|
||||
}
|
||||
|
||||
static ClientPtr
|
||||
|
|
@ -56,7 +56,7 @@ index 320589dde..f42b80b90 100644
|
|||
else
|
||||
return NULL; /* Should never happen, skip resolution emulation */
|
||||
}
|
||||
@@ -613,7 +612,7 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -602,7 +601,7 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
if (!xwl_screen_has_resolution_change_emulation(xwl_screen))
|
||||
return FALSE;
|
||||
|
||||
|
|
@ -65,7 +65,7 @@ index 320589dde..f42b80b90 100644
|
|||
if (!owner)
|
||||
return FALSE;
|
||||
|
||||
@@ -692,8 +691,8 @@ xwl_window_is_toplevel(WindowPtr window)
|
||||
@@ -681,8 +680,8 @@ xwl_window_is_toplevel(WindowPtr window)
|
||||
if (window_get_damage(window))
|
||||
return TRUE;
|
||||
|
||||
|
|
@ -77,5 +77,5 @@ index 320589dde..f42b80b90 100644
|
|||
|
||||
static void
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 939a78925a1d591e6aaf291a6609b9c6e54ee6ce Mon Sep 17 00:00:00 2001
|
||||
From dd83985179b4a3c2613c96922eafeea40e21b7d2 Mon Sep 17 00:00:00 2001
|
||||
From: Roman Gilg <subdiff@gmail.com>
|
||||
Date: Wed, 15 Jan 2020 10:07:58 +0100
|
||||
Subject: [PATCH xserver 17/24] xwayland: Make window_get_none_wm_owner return
|
||||
Subject: [PATCH xserver 17/25] xwayland: Make window_get_none_wm_owner return
|
||||
a Window instead of a Client
|
||||
|
||||
Make window_get_none_wm_owner return the first non-wm-window instead of the
|
||||
|
|
@ -25,10 +25,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index f42b80b90..d70d729ae 100644
|
||||
index c38c4180b..b3b80beae 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -579,10 +579,10 @@ window_is_wm_window(WindowPtr window)
|
||||
@@ -568,10 +568,10 @@ window_is_wm_window(WindowPtr window)
|
||||
return CLIENT_ID(window->drawable.id) == xwl_screen->wm_client_id;
|
||||
}
|
||||
|
||||
|
|
@ -42,7 +42,7 @@ index f42b80b90..d70d729ae 100644
|
|||
|
||||
/* If the toplevel window is owned by the window-manager, then the
|
||||
* actual client toplevel window has been reparented to some window-manager
|
||||
@@ -591,12 +591,12 @@ window_get_none_wm_owner(WindowPtr window)
|
||||
@@ -580,12 +580,12 @@ window_get_none_wm_owner(WindowPtr window)
|
||||
*/
|
||||
if (window_is_wm_window(window)) {
|
||||
if (window->firstChild && window->firstChild == window->lastChild)
|
||||
|
|
@ -57,7 +57,7 @@ index f42b80b90..d70d729ae 100644
|
|||
}
|
||||
|
||||
static Bool
|
||||
@@ -608,14 +608,17 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -597,14 +597,17 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
struct xwl_emulated_mode *emulated_mode;
|
||||
struct xwl_output *xwl_output;
|
||||
ClientPtr owner;
|
||||
|
|
@ -78,5 +78,5 @@ index f42b80b90..d70d729ae 100644
|
|||
* This path gets hit by most games / libs (e.g. SDL, SFML, OGRE)
|
||||
*/
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From c5d9cb5f4bc4f703b66fc524a76247c742490b30 Mon Sep 17 00:00:00 2001
|
||||
From be8c65e84dc4bee97bd0115a89c037fb47053d4c Mon Sep 17 00:00:00 2001
|
||||
From: Roman Gilg <subdiff@gmail.com>
|
||||
Date: Fri, 3 Jan 2020 17:55:28 +0100
|
||||
Subject: [PATCH xserver 18/24] xwayland: Check emulation on client toplevel
|
||||
Subject: [PATCH xserver 18/25] xwayland: Check emulation on client toplevel
|
||||
resize
|
||||
|
||||
When a reparented window is resized directly check the emulation instead of
|
||||
|
|
@ -25,10 +25,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
2 files changed, 11 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index d70d729ae..14227a327 100644
|
||||
index b3b80beae..b2e46336c 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -609,6 +609,7 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -598,6 +598,7 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
struct xwl_output *xwl_output;
|
||||
ClientPtr owner;
|
||||
WindowPtr window;
|
||||
|
|
@ -36,7 +36,7 @@ index d70d729ae..14227a327 100644
|
|||
|
||||
if (!xwl_screen_has_resolution_change_emulation(xwl_screen))
|
||||
return FALSE;
|
||||
@@ -618,6 +619,7 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -607,6 +608,7 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
return FALSE;
|
||||
|
||||
owner = wClient(window);
|
||||
|
|
@ -44,7 +44,7 @@ index d70d729ae..14227a327 100644
|
|||
|
||||
/* 1. Test if the window matches the emulated mode on one of the outputs
|
||||
* This path gets hit by most games / libs (e.g. SDL, SFML, OGRE)
|
||||
@@ -627,10 +629,10 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -616,10 +618,10 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
if (!emulated_mode)
|
||||
continue;
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ index d70d729ae..14227a327 100644
|
|||
|
||||
*emulated_mode_ret = emulated_mode;
|
||||
*xwl_output_ret = xwl_output;
|
||||
@@ -646,9 +648,9 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
@@ -635,9 +637,9 @@ xwl_window_should_enable_viewport(struct xwl_window *xwl_window,
|
||||
emulated_mode = xwl_output_get_emulated_mode_for_client(xwl_output, owner);
|
||||
if (xwl_output && xwl_window->window->overrideRedirect &&
|
||||
emulated_mode && emulated_mode->from_vidmode &&
|
||||
|
|
@ -72,7 +72,7 @@ index d70d729ae..14227a327 100644
|
|||
|
||||
*emulated_mode_ret = emulated_mode;
|
||||
*xwl_output_ret = xwl_output;
|
||||
@@ -768,8 +770,6 @@ ensure_surface_for_window(WindowPtr window)
|
||||
@@ -757,8 +759,6 @@ ensure_surface_for_window(WindowPtr window)
|
||||
|
||||
xwl_window->xwl_screen = xwl_screen;
|
||||
xwl_window->window = window;
|
||||
|
|
@ -81,7 +81,7 @@ index d70d729ae..14227a327 100644
|
|||
xwl_window->surface = wl_compositor_create_surface(xwl_screen->compositor);
|
||||
if (xwl_window->surface == NULL) {
|
||||
ErrorF("wl_display_create_surface failed\n");
|
||||
@@ -997,20 +997,15 @@ xwl_resize_window(WindowPtr window,
|
||||
@@ -986,20 +986,15 @@ xwl_resize_window(WindowPtr window,
|
||||
struct xwl_window *xwl_window;
|
||||
|
||||
xwl_screen = xwl_screen_get(screen);
|
||||
|
|
@ -105,7 +105,7 @@ index d70d729ae..14227a327 100644
|
|||
|
||||
static void
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index 126af8823..01aef27d2 100644
|
||||
index f5ffadfcc..0d0baac9b 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -184,7 +184,6 @@ struct xwl_window {
|
||||
|
|
@ -117,5 +117,5 @@ index 126af8823..01aef27d2 100644
|
|||
struct wl_shell_surface *shell_surface;
|
||||
WindowPtr window;
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 63b0c0d76d1020f0cac331f3eff30fba07f79965 Mon Sep 17 00:00:00 2001
|
||||
From 555e00dbf71d7c5b792bacd789cdde9c42203ff1 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 15 Jan 2020 14:36:45 +0100
|
||||
Subject: [PATCH xserver 19/24] xwayland: Also check
|
||||
Subject: [PATCH xserver 19/25] xwayland: Also check
|
||||
resolution-change-emulation when the xwl_window itself moves
|
||||
|
||||
The recent change to use the top-level non-window-manager Window drawable
|
||||
|
|
@ -28,10 +28,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 14227a327..298ef3ac8 100644
|
||||
index b2e46336c..e07dabcfa 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -1004,7 +1004,7 @@ xwl_resize_window(WindowPtr window,
|
||||
@@ -993,7 +993,7 @@ xwl_resize_window(WindowPtr window,
|
||||
xwl_screen->ResizeWindow = screen->ResizeWindow;
|
||||
screen->ResizeWindow = xwl_resize_window;
|
||||
|
||||
|
|
@ -41,5 +41,5 @@ index 14227a327..298ef3ac8 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 309e6e549adc5a164541d16822745c022cd8574b Mon Sep 17 00:00:00 2001
|
||||
From 46ccf740dc5e81d84b2e8c19f6211eaf1d8d06de Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Thu, 9 Jan 2020 11:00:36 +0100
|
||||
Subject: [PATCH xserver 20/24] xwayland: Also hook screen's MoveWindow method
|
||||
Subject: [PATCH xserver 20/25] xwayland: Also hook screen's MoveWindow method
|
||||
|
||||
Not only hook the ResizeWindow method of the screen (which really is
|
||||
MoveAndResize) but also hook the MoveWindow method for checking if we
|
||||
|
|
@ -24,10 +24,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
2 files changed, 26 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 298ef3ac8..1294ff1d8 100644
|
||||
index e07dabcfa..4f19f3710 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -1008,6 +1008,28 @@ xwl_resize_window(WindowPtr window,
|
||||
@@ -997,6 +997,28 @@ xwl_resize_window(WindowPtr window,
|
||||
xwl_window_check_resolution_change_emulation(xwl_window);
|
||||
}
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ index 298ef3ac8..1294ff1d8 100644
|
|||
static void
|
||||
frame_callback(void *data,
|
||||
struct wl_callback *callback,
|
||||
@@ -1564,6 +1586,9 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
@@ -1580,6 +1602,9 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
|
||||
xwl_screen->ResizeWindow = pScreen->ResizeWindow;
|
||||
pScreen->ResizeWindow = xwl_resize_window;
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ index 298ef3ac8..1294ff1d8 100644
|
|||
xwl_screen->SetWindowPixmap = pScreen->SetWindowPixmap;
|
||||
pScreen->SetWindowPixmap = xwl_set_window_pixmap;
|
||||
diff --git a/hw/xwayland/xwayland.h b/hw/xwayland/xwayland.h
|
||||
index 01aef27d2..72225374b 100644
|
||||
index 0d0baac9b..451c08e23 100644
|
||||
--- a/hw/xwayland/xwayland.h
|
||||
+++ b/hw/xwayland/xwayland.h
|
||||
@@ -138,6 +138,7 @@ struct xwl_screen {
|
||||
|
|
@ -79,5 +79,5 @@ index 01aef27d2..72225374b 100644
|
|||
struct xorg_list output_list;
|
||||
struct xorg_list seat_list;
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 52bbef1f55d17229684b0d76a478ec639c4032ed Mon Sep 17 00:00:00 2001
|
||||
From d64f12d119e4abe3ef337741bf7b38f8de2f9da9 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 7 Oct 2019 14:27:49 +0200
|
||||
Subject: [PATCH xserver 21/24] xwayland: Fix emulated modes not being removed
|
||||
Subject: [PATCH xserver 21/25] xwayland: Fix emulated modes not being removed
|
||||
when screen rotation is used
|
||||
|
||||
The code building the mode-list does the following to deal with screen
|
||||
|
|
@ -32,10 +32,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index 20c254962..7d705d919 100644
|
||||
index 0d6b9ac9f..4bc9cd6b8 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -309,8 +309,11 @@ xwl_output_remove_emulated_mode_for_client(struct xwl_output *xwl_output,
|
||||
@@ -272,8 +272,11 @@ xwl_output_remove_emulated_mode_for_client(struct xwl_output *xwl_output,
|
||||
struct xwl_emulated_mode *emulated_mode;
|
||||
|
||||
emulated_mode = xwl_output_get_emulated_mode_for_client(xwl_output, client);
|
||||
|
|
@ -48,7 +48,7 @@ index 20c254962..7d705d919 100644
|
|||
}
|
||||
|
||||
/* From hw/xfree86/common/xf86DefModeSet.c with some obscure modes dropped */
|
||||
@@ -511,7 +514,8 @@ xwl_output_set_emulated_mode(struct xwl_output *xwl_output, ClientPtr client,
|
||||
@@ -474,7 +477,8 @@ xwl_output_set_emulated_mode(struct xwl_output *xwl_output, ClientPtr client,
|
||||
from_vidmode ? "vidmode" : "randr",
|
||||
mode->mode.width, mode->mode.height);
|
||||
|
||||
|
|
@ -59,5 +59,5 @@ index 20c254962..7d705d919 100644
|
|||
else
|
||||
xwl_output_add_emulated_mode_for_client(xwl_output, client, mode, from_vidmode);
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 57d0ad44fd0b04fff98e9b484816dc95068a90cc Mon Sep 17 00:00:00 2001
|
||||
From 677fd1ade4547008b0d67eec460770e002595c3c Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 4 Nov 2019 11:46:49 +0100
|
||||
Subject: [PATCH xserver 22/24] xwayland: Call
|
||||
Subject: [PATCH xserver 22/25] xwayland: Call
|
||||
xwl_window_check_resolution_change_emulation() on newly created O-R windows
|
||||
|
||||
Some clients, which use vidmode to change the resolution when going fullscreen,
|
||||
|
|
@ -28,10 +28,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 1294ff1d8..6b86e56bd 100644
|
||||
index 4f19f3710..5bb7a68e9 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -819,6 +819,11 @@ ensure_surface_for_window(WindowPtr window)
|
||||
@@ -808,6 +808,11 @@ ensure_surface_for_window(WindowPtr window)
|
||||
|
||||
xwl_window_init_allow_commits(xwl_window);
|
||||
|
||||
|
|
@ -44,5 +44,5 @@ index 1294ff1d8..6b86e56bd 100644
|
|||
|
||||
err_surf:
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 87a1a7b9f8f7d848302057b9ca54f6729e82bbe7 Mon Sep 17 00:00:00 2001
|
||||
From 049333a0ecf8574a0612bf27850f9682f0f70533 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 4 Nov 2019 14:32:29 +0100
|
||||
Subject: [PATCH xserver 23/24] xwayland: Fix setting of
|
||||
Subject: [PATCH xserver 23/25] xwayland: Fix setting of
|
||||
_XWAYLAND_RANDR_EMU_MONITOR_RECTS prop on new windows
|
||||
|
||||
For window-manager managed windows, xwl_realize_window is only called for
|
||||
|
|
@ -35,18 +35,18 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 9 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 6b86e56bd..e721d6cb5 100644
|
||||
index 5bb7a68e9..1600c00cd 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -749,6 +749,7 @@ ensure_surface_for_window(WindowPtr window)
|
||||
@@ -738,6 +738,7 @@ ensure_surface_for_window(WindowPtr window)
|
||||
struct xwl_screen *xwl_screen;
|
||||
struct xwl_window *xwl_window;
|
||||
struct wl_region *region;
|
||||
+ WindowPtr toplevel;
|
||||
|
||||
if (xwl_window_get(window))
|
||||
if (xwl_window_from_window(window))
|
||||
return TRUE;
|
||||
@@ -819,7 +820,14 @@ ensure_surface_for_window(WindowPtr window)
|
||||
@@ -808,7 +809,14 @@ ensure_surface_for_window(WindowPtr window)
|
||||
|
||||
xwl_window_init_allow_commits(xwl_window);
|
||||
|
||||
|
|
@ -62,7 +62,7 @@ index 6b86e56bd..e721d6cb5 100644
|
|||
/* CSD or O-R toplevel window, check viewport on creation */
|
||||
xwl_window_check_resolution_change_emulation(xwl_window);
|
||||
}
|
||||
@@ -868,8 +876,6 @@ xwl_realize_window(WindowPtr window)
|
||||
@@ -857,8 +865,6 @@ xwl_realize_window(WindowPtr window)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -72,5 +72,5 @@ index 6b86e56bd..e721d6cb5 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 231d5e2da2e1b0aee3cfe6febc54daf7a0e4b4c7 Mon Sep 17 00:00:00 2001
|
||||
From f1d77ed7ac9ee9bc2f0cf60b0e4604bae092ebd0 Mon Sep 17 00:00:00 2001
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 4 Nov 2019 15:01:18 +0100
|
||||
Subject: [PATCH xserver 24/24] xwayland: Remove unnecessary
|
||||
Subject: [PATCH xserver 24/25] xwayland: Remove unnecessary
|
||||
xwl_window_is_toplevel() check from xwl_output_set_window_randr_emu_props()
|
||||
|
||||
Since the recent fix to call xwl_output_set_window_randr_emu_props() from
|
||||
|
|
@ -21,10 +21,10 @@ Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
|
||||
index 7d705d919..084b669e4 100644
|
||||
index 4bc9cd6b8..9d3372c8e 100644
|
||||
--- a/hw/xwayland/xwayland-output.c
|
||||
+++ b/hw/xwayland/xwayland-output.c
|
||||
@@ -468,9 +468,6 @@ static void
|
||||
@@ -431,9 +431,6 @@ static void
|
||||
xwl_output_set_randr_emu_prop(WindowPtr window,
|
||||
struct xwl_output_randr_emu_prop *prop)
|
||||
{
|
||||
|
|
@ -34,7 +34,7 @@ index 7d705d919..084b669e4 100644
|
|||
if (prop->rect_count) {
|
||||
dixChangeWindowProperty(serverClient, window, prop->atom,
|
||||
XA_CARDINAL, 32, PropModeReplace,
|
||||
@@ -483,7 +480,8 @@ xwl_output_set_randr_emu_prop(WindowPtr window,
|
||||
@@ -446,7 +443,8 @@ xwl_output_set_randr_emu_prop(WindowPtr window,
|
||||
static void
|
||||
xwl_output_set_randr_emu_prop_callback(void *resource, XID id, void *user_data)
|
||||
{
|
||||
|
|
@ -45,5 +45,5 @@ index 7d705d919..084b669e4 100644
|
|||
|
||||
static void
|
||||
--
|
||||
2.25.2
|
||||
2.28.0
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
From b5c62ae463101712a2ed91e976b28af5d1e73064 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com>
|
||||
Date: Fri, 6 Nov 2020 10:14:19 +0100
|
||||
Subject: [PATCH xserver 25/25] xwayland: Make window_get_client_toplevel
|
||||
non-recursive
|
||||
|
||||
Noticed while reading the code.
|
||||
|
||||
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
|
||||
(cherry picked from commit df3aa4922fd7e256169e541188b724f67ca948e1)
|
||||
---
|
||||
hw/xwayland/xwayland.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
|
||||
index 1600c00cd..a5756ea14 100644
|
||||
--- a/hw/xwayland/xwayland.c
|
||||
+++ b/hw/xwayland/xwayland.c
|
||||
@@ -578,11 +578,11 @@ window_get_client_toplevel(WindowPtr window)
|
||||
* decoration/wrapper windows. In that case recurse by checking the client
|
||||
* of the first *and only* child of the decoration/wrapper window.
|
||||
*/
|
||||
- if (window_is_wm_window(window)) {
|
||||
- if (window->firstChild && window->firstChild == window->lastChild)
|
||||
- return window_get_client_toplevel(window->firstChild);
|
||||
- else
|
||||
+ while (window_is_wm_window(window)) {
|
||||
+ if (!window->firstChild || window->firstChild != window->lastChild)
|
||||
return NULL; /* Should never happen, skip resolution emulation */
|
||||
+
|
||||
+ window = window->firstChild;
|
||||
}
|
||||
|
||||
return window;
|
||||
--
|
||||
2.28.0
|
||||
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (xorg-server-1.20.8.tar.bz2) = ab0ec0fcbf490c61558b9297f61b58fd2dedb676c78bef6431dc9166054743b43a0091b88a8b3f4e81d1f539909440ee7e188a298cefabe13ea89159639cd805
|
||||
SHA512 (xorg-server-1.20.11.tar.bz2) = 1017015b9fd5d53788abe3641d877e6df8609841fa5c1847c0a5e133ddcc1b758a5d695304ebd36828099ec201a85b6b70b46f5ea4f81c5bd3a16fa6e175e3c2
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
Summary: X.Org X11 X server
|
||||
Name: xorg-x11-server
|
||||
Version: 1.20.8
|
||||
Version: 1.20.11
|
||||
Release: 1%{?gitdate:.%{gitdate}}%{?dist}
|
||||
URL: http://www.x.org
|
||||
License: MIT
|
||||
|
|
@ -93,8 +93,10 @@ Patch5: 0001-autobind-GPUs-to-the-screen.patch
|
|||
Patch6: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch
|
||||
|
||||
# Backports from current stable "server-1.20-branch":
|
||||
# <empty>
|
||||
|
||||
# Backports from "master" upstream:
|
||||
# <empty>
|
||||
|
||||
# Backported Xwayland randr resolution change emulation support
|
||||
Patch501: 0001-dix-Add-GetCurrentClient-helper.patch
|
||||
|
|
@ -121,6 +123,7 @@ Patch521: 0021-xwayland-Fix-emulated-modes-not-being-removed-when-s.patch
|
|||
Patch522: 0022-xwayland-Call-xwl_window_check_resolution_change_emu.patch
|
||||
Patch523: 0023-xwayland-Fix-setting-of-_XWAYLAND_RANDR_EMU_MONITOR_.patch
|
||||
Patch524: 0024-xwayland-Remove-unnecessary-xwl_window_is_toplevel-c.patch
|
||||
Patch525: 0025-xwayland-Make-window_get_client_toplevel-non-recursi.patch
|
||||
|
||||
BuildRequires: systemtap-sdt-devel
|
||||
BuildRequires: git
|
||||
|
|
@ -546,6 +549,18 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
|
|||
|
||||
|
||||
%changelog
|
||||
* Wed Apr 14 2021 Olivier Fourdan <ofourdan@redhat.com> - 1.20.11-1
|
||||
- xserver 1.20.11 (CVE-2021-3472 / ZDI-CAN-1259)
|
||||
|
||||
* Wed Dec 2 2020 Olivier Fourdan <ofourdan@redhat.com> - 1.20.10-1
|
||||
- xserver 1.20.10 (CVE-2020-14360, CVE-2020-25712)
|
||||
|
||||
* Thu Oct 8 2020 Olivier Fourdan <ofourdan@redhat.com> - 1.20.9-1
|
||||
- xserver 1.20.9 + all current fixes from upstream
|
||||
|
||||
* Fri Jul 31 2020 Adam Jackson <ajax@redhat.com> - 1.20.8-2
|
||||
- Fix information disclosure bug in pixmap allocation (CVE-2020-14347)
|
||||
|
||||
* Mon Mar 30 2020 Olivier Fourdan <ofourdan@redhat.com> - 1.20.8-1
|
||||
- xserver 1.20.8
|
||||
- Backport latest Xwayland randr resolution change emulation support
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue