<p>Hi experts,</p>
<p>I build a bin to receive video streams from udpsrc and finally use&nbsp; xvimagesink&nbsp; to render video frames,&nbsp; I also create a drawable widget with gtk_drawing_area_new() and use gst_x_overlay_set_xwindow_id() to set the output to this widget. But I meet a problem that if this widget or part of it being covered by a menu or something, after it exposes again the covered section keeps blank, 
</p>
<p>I try to resolve it by connecting the &quot;expose-event&quot; signal to my expose_cb() function, in this function I call gst_x_overlay_set_xwindow_id() again and gtk_widget_show(),&nbsp; but after I have done all of these it seems still not work.
<br>What I should do in the expose function or anywhere to let it redraw the blanked section?<br>Thanks a lot.<br>below is part of the source code,<br>----------------------------------------------------------------------------------------
<br>static gboolean expose_cb(GtkWidget * widget, GdkEventExpose * event, gpointer data)<br>{<br>&nbsp;&nbsp;&nbsp; gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(data),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GDK_WINDOW_XWINDOW(widget-&gt;window));
<br>&nbsp;&nbsp;&nbsp; gtk_widget_show_all(widget);<br>}</p>
<p>int main()<br>{<br>...<br>&nbsp; gstreamer_main_video_image = gtk_drawing_area_new();<br>...<br>&nbsp; screen_sink = gst_bin_get_by_name (GST_BIN (appdata.bin), &quot;screensink&quot;);<br>...<br>&nbsp; gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(screen_sink),
<br>&nbsp;&nbsp;&nbsp; GDK_WINDOW_XWINDOW(gstreamer_main_video_image-&gt;window));<br>&nbsp;&nbsp; g_signal_connect(gstreamer_main_video_image, &quot;expose-event&quot;, G_CALLBACK(expose_cb),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; screen_sink);<br>&nbsp; gtk_widget_show_all(gstreamer_window);
<br>...<br>}<br>----------------------------------------------------------------------------------------<br>Thanks</p>
<p>Krist<br></p>