diff options
author | Keith Packard <keithp@keithp.com> | 2014-09-04 08:36:07 -0700 |
---|---|---|
committer | Julien Cristau <jcristau@debian.org> | 2014-09-15 06:48:55 +0200 |
commit | c48d07cf0e6edfc92dcb97de66c2484a8ddba452 (patch) | |
tree | 2285f9160ef0ed6ef743c1c4a8c4d57556c6bcb9 | |
parent | fbe977941abb0a6db19b345652b6106d849899c1 (diff) |
glx/present: Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap
Present didn't provide the 'kind' argument to the
present_complete_notify hook that GLX uses to construct
GLX_BufferSwapComplete events, so GLX was reporting events for
PresentCompleteKindMSC notifications, which resulted in duplicate
GLX_BufferSwapComplete events and crashes in clutter.
See the gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=733282
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit bf338efc678258d2d366dff2ed873752f98f0bfc)
[backport to 1.16: check 'kind' in the caller to avoid ABI change]
Signed-off-by: Julien Cristau <jcristau@debian.org>
-rw-r--r-- | present/present_event.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/present/present_event.c b/present/present_event.c index ff57eba41..e9b827651 100644 --- a/present/present_event.c +++ b/present/present_event.c @@ -173,7 +173,7 @@ present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 se } } } - if (complete_notify) + if (complete_notify && kind == PresentCompleteKindPixmap) (*complete_notify)(window, mode, serial, ust, msc); } |