rem: gtx->priv->fullscreen_mode = fullscreen;
context: gtk_xine_set_fullscreen (GtkXine *gtx, gboolean fullscreen){	g_return_if_fail (gtx != NULL);	g_return_if_fail (GTK_IS_XINE (gtx));	g_return_if_fail (gtx->priv->xine != NULL);	if (fullscreen == gtx->priv->fullscreen_mode)		return;	XLockDisplay (gtx->priv->display);	gtx->priv->fullscreen_mode = fullscreen;	if (gtx->priv->fullscreen_mode)	{		GdkWindowAttr attr;		attr.title = DEFAULT_TITLE;		attr.event_mask = GDK_STRUCTURE_MASK | GDK_EXPOSURE_MASK			| GDK_FOCUS_CHANGE_MASK;		attr.x = 0;		attr.y = 0;		attr.width = gdk_screen_width ();		attr.height = gdk_screen_height ();		attr.wclass = GDK_INPUT_OUTPUT;		attr.window_type = GDK_WINDOW_TOPLEVEL;		attr.override_redirect = FALSE;		gtx->priv->fullscreen_window = gdk_window_new			(gdk_get_default_root_window (), &attr,			 GDK_WA_TITLE | GDK_WA_X | GDK_WA_Y);		/* TODO add check for full-screen from fullscreen_callback		 * in terminal-window.c (profterm) */		gdk_window_set_fullscreen (gtx->priv->fullscreen_window, TRUE);		/* Map window. */		gdk_window_show (gtx->priv->fullscreen_window);		gdk_window_raise (gtx->priv->fullscreen_window);		/* Wait for map */		gdk_flush ();/*FIXME */ 	XSetInputFocus (gtx->priv->display, GDK_WINDOW_XWINDOW (gdk_window_get_toplevel (gtk_widget_get_parent_window (GTK_WIDGET (gtx)))), RevertToNone, CurrentTime);		gtx->priv->vo_driver->gui_data_exchange			(gtx->priv->vo_driver,			 GUI_DATA_EX_DRAWABLE_CHANGED,			 (void*) GDK_WINDOW_XID (gtx->priv->fullscreen_window));		/* switch off mouse cursor */		gtk_xine_set_show_cursor (gtx, FALSE);		/* setup the mouse motion stuff */		gtx->priv->invisible = gtk_invisible_new ();		gtk_widget_show (gtx->priv->invisible);		gdk_window_set_user_data (gtx->priv->fullscreen_window,				gtx->priv->invisible);		gdk_window_set_events (gtx->priv->fullscreen_window,				GDK_POINTER_MOTION_MASK);		g_signal_connect (GTK_OBJECT (gtx->priv->invisible),				"motion-notify-event",				GTK_SIGNAL_FUNC (motion_notify_event_cb), gtx);		/* Disable the screen saver */		scrsaver_disable (gtx->priv->display);		/* FIXME Bogger, sometimes it seems that some Expose event		 * is going down the drain and Xine doesn't redraw us */#if 0		{			GdkRectangle rect;			rect.x = 0;			rect.y = 0;			rect.width = gdk_screen_height ();			rect.height = gdk_screen_width ();			gdk_window_invalidate_rect				(gtx->priv->fullscreen_window,				&rect, FALSE);		}		gdk_window_move (gtx->priv->fullscreen_window, 0, 0);#endif	} else {		gtx->priv->vo_driver->gui_data_exchange			(gtx->priv->vo_driver,			 GUI_DATA_EX_DRAWABLE_CHANGED,			 (void *) gtx->priv->video_window);		gdk_window_set_fullscreen (gtx->priv->fullscreen_window, FALSE);		gdk_window_destroy (gtx->priv->fullscreen_window);		gtk_widget_destroy (gtx->priv->invisible);		gtx->priv->invisible = NULL;		scrsaver_enable (gtx->priv->display);	}	XUnlockDisplay (gtx->priv->display);}