rem: vw->priv->event_window = gdk_window_new ( widget->window, &attributes, attributes_mask);  gdk_window_set_user_data (vw->priv->event_window, widget);  gdk_window_show (vw->priv->event_window);  widget->style = gtk_style_attach (widget->style, widget->window);  gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);  gst_video_widget_update_cursor (vw);
add: GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);    attributes.window_type = GDK_WINDOW_CHILD; attributes.x = widget->allocation.x; attributes.y = widget->allocation.y; attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); attributes.colormap = gtk_widget_get_colormap (widget); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= GDK_EXPOSURE_MASK;  attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;  widget->window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask);  gdk_window_set_user_data (widget->window, widget);    attributes.window_type = GDK_WINDOW_CHILD; attributes.x = 0; attributes.y = 0; attributes.width = widget->allocation.width; attributes.height = widget->allocation.height; attributes.wclass = GDK_INPUT_ONLY; attributes.event_mask = GDK_ALL_EVENTS_MASK;  attributes_mask = GDK_WA_X | GDK_WA_Y;  vw->priv->event_window = gdk_window_new (widget->window, &attributes, attributes_mask);  gdk_window_set_user_data (vw->priv->event_window, widget);  gdk_window_show (vw->priv->event_window);  widget->style = gtk_style_attach (widget->style, widget->window);  gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);  gst_video_widget_update_cursor (vw);
context: gst_video_widget_realize (GtkWidget *widget){	GstVideoWidget *vw = GST_VIDEO_WIDGET (widget);	GdkWindowAttr attributes;	gint attributes_mask;		g_return_if_fail (vw != NULL);		GTK_WIDGET_SET_FLAGS (widget, GTK_REALIZED);		/* Creating our widget's window */		attributes.window_type = GDK_WINDOW_CHILD;	attributes.x = widget->allocation.x;	attributes.y = widget->allocation.y;	attributes.width = widget->allocation.width;	attributes.height = widget->allocation.height;	attributes.wclass = GDK_INPUT_OUTPUT;	attributes.visual = gtk_widget_get_visual (widget);	attributes.colormap = gtk_widget_get_colormap (widget);	attributes.event_mask = gtk_widget_get_events (widget);	attributes.event_mask |= GDK_EXPOSURE_MASK;									attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;		widget->window = gdk_window_new (	gtk_widget_get_parent_window (widget), 										&attributes, attributes_mask);		gdk_window_set_user_data (widget->window, widget);	/* Creating our event window */		attributes.window_type = GDK_WINDOW_CHILD;	attributes.x = 0;	attributes.y = 0;	attributes.width = widget->allocation.width;	attributes.height = widget->allocation.height;	attributes.wclass = GDK_INPUT_ONLY;	attributes.event_mask = GDK_ALL_EVENTS_MASK;		attributes_mask = GDK_WA_X | GDK_WA_Y;  	vw->priv->event_window = gdk_window_new (								widget->window,								&attributes, attributes_mask);									gdk_window_set_user_data (vw->priv->event_window, widget);		gdk_window_show (vw->priv->event_window);		widget->style = gtk_style_attach (widget->style, widget->window);		gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL);		gst_video_widget_update_cursor (vw);	}