From c48d07cf0e6edfc92dcb97de66c2484a8ddba452 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 4 Sep 2014 08:36:07 -0700 Subject: [PATCH] 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 Reviewed-by: Eric Anholt (cherry picked from commit bf338efc678258d2d366dff2ed873752f98f0bfc) [backport to 1.16: check 'kind' in the caller to avoid ABI change] Signed-off-by: Julien Cristau --- present/present_event.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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); }