mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 03:19:40 +00:00
[832/906] x11: ignore Expose events not initiated by gst_gl_window_draw
This commit is contained in:
parent
c775bf584b
commit
d1376390ba
1 changed files with 15 additions and 21 deletions
|
@ -645,6 +645,20 @@ gst_gl_window_x11_handle_event (GstGLWindowX11 * window_x11)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Expose:
|
case Expose:
|
||||||
|
/* non-zero means that other Expose follows
|
||||||
|
* so just wait for the last one
|
||||||
|
* in theory we should not receive non-zero because
|
||||||
|
* we have no sub areas here but just in case */
|
||||||
|
if (event.xexpose.count != 0) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* just ignore request that does not come from us
|
||||||
|
* they are un-necessary and it overloads the drawer
|
||||||
|
*/
|
||||||
|
if (!event.xexpose.send_event)
|
||||||
|
break;
|
||||||
|
|
||||||
if (window->draw) {
|
if (window->draw) {
|
||||||
context = gst_gl_window_get_context (window);
|
context = gst_gl_window_get_context (window);
|
||||||
context_class = GST_GL_CONTEXT_GET_CLASS (context);
|
context_class = GST_GL_CONTEXT_GET_CLASS (context);
|
||||||
|
@ -657,29 +671,9 @@ gst_gl_window_x11_handle_event (GstGLWindowX11 * window_x11)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VisibilityNotify:
|
case VisibilityNotify:
|
||||||
{
|
/* actually nothing to do here */
|
||||||
switch (event.xvisibility.state) {
|
|
||||||
case VisibilityUnobscured:
|
|
||||||
if (window->draw)
|
|
||||||
window->draw (window->draw_data);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VisibilityPartiallyObscured:
|
|
||||||
if (window->draw)
|
|
||||||
window->draw (window->draw_data);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case VisibilityFullyObscured:
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
GST_DEBUG ("unknown xvisibility event: %d",
|
|
||||||
event.xvisibility.state);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
GST_DEBUG ("unknown XEvent type: %u", event.type);
|
GST_DEBUG ("unknown XEvent type: %u", event.type);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue