diff options
author | Adam Jackson <ajax@redhat.com> | 2023-02-02 12:26:27 -0500 |
---|---|---|
committer | Olivier Fourdan <ofourdan@redhat.com> | 2023-04-24 10:13:27 +0200 |
commit | b98fc07d3442a289c6bef82df50dd0a2d01de71a (patch) | |
tree | 97e63464d70bb02f2253eacfe215a48451a7bfdb /present/present_event.c | |
parent | 7c791b15504cc86a929acaa88161f012cdbba59f (diff) | |
download | xserver-server-21.1-branch.tar.gz |
present: Send a PresentConfigureNotify event for destroyed windowsserver-21.1-branch
This enables fixing a deadlock case on the client side, where the client
ends up blocked waiting for a Present event that will never come because
the window was destroyed. The new PresentWindowDestroyed flag allows the
client to avoid blocking indefinitely.
Signed-off-by: Adam Jackson <ajax@redhat.com>
See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6685
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
(cherry picked from commit 462b06033e66a32308d940eb5fc47f5e4c914dc0)
Diffstat (limited to 'present/present_event.c')
-rw-r--r-- | present/present_event.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/present/present_event.c b/present/present_event.c index 435b26b70..849732dc8 100644 --- a/present/present_event.c +++ b/present/present_event.c @@ -102,7 +102,8 @@ present_event_swap(xGenericEvent *from, xGenericEvent *to) } void -present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, WindowPtr sibling) +present_send_config_notify(WindowPtr window, int x, int y, int w, int h, + int bw, WindowPtr sibling, CARD32 flags) { present_window_priv_ptr window_priv = present_window_priv(window); @@ -122,7 +123,7 @@ present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int bw, .off_y = 0, .pixmap_width = w, .pixmap_height = h, - .pixmap_flags = 0 + .pixmap_flags = flags }; present_event_ptr event; |