diff --git a/subprojects/gst-plugins-good/sys/ximage/gstximagesrc.c b/subprojects/gst-plugins-good/sys/ximage/gstximagesrc.c index b97d82c0d4..28970083a1 100644 --- a/subprojects/gst-plugins-good/sys/ximage/gstximagesrc.c +++ b/subprojects/gst-plugins-good/sys/ximage/gstximagesrc.c @@ -547,9 +547,8 @@ gst_ximage_src_ximage_get (GstXImageSrc * ximagesrc) do { XDamageNotifyEvent *damage_ev = (XDamageNotifyEvent *) (&ev); - XNextEvent (ximagesrc->xcontext->disp, &ev); - - if (ev.type == ximagesrc->damage_event_base + XDamageNotify && + if (XCheckTypedEvent (ximagesrc->xcontext->disp, + ximagesrc->damage_event_base + XDamageNotify, &ev) && damage_ev->level == XDamageReportNonEmpty) { XDamageSubtract (ximagesrc->xcontext->disp, ximagesrc->damage, None,