rem: q = gtk_message_queue_new ("totem", argv[0]);
add: q = gtk_message_queue_new ("totem", filename);
context: main (int argc, char **argv){	Totem *totem;	char *filename;	int width = 0;	GConfClient *gc;	GtkMessageQueue *q;	GError *err = NULL;	bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");	textdomain (GETTEXT_PACKAGE);	gnome_program_init ("totem", VERSION,			LIBGNOMEUI_MODULE,			argc, argv,			GNOME_PARAM_APP_DATADIR, DATADIR,			NULL);	glade_gnome_init ();	gnome_vfs_init ();	gconf_init (argc, argv, &err);	if (err != NULL || (gc = gconf_client_get_default ()) == NULL)	{		char *str;		str = g_strdup_printf (_("Totem couln't initialise the \n"					"configuration engine:\n%s"),				err->message);		totem_action_error (str, NULL);		g_free (str);		exit (1);	}	q = NULL;	if (gconf_client_get_bool			(gc, "/apps/totem/launch_once", NULL) == TRUE)	{		q = gtk_message_queue_new ("totem", argv[0]);		process_queue (q, argv);	}	totem = g_new (Totem, 1);	totem->mrl = NULL;	totem->seek_lock = FALSE;	totem->vol_lock = FALSE;	totem->popup_timeout = 0;	totem->gtx = NULL;	totem->gc = gc;	totem->queue = q;	filename = gnome_program_locate_file (NULL,			GNOME_FILE_DOMAIN_APP_DATADIR,			"totem/totem.glade", TRUE, NULL);	if (filename == NULL)	{		totem_action_error (_("Couldn't load the main interface"					" (totem.glade).\nMake sure that Totem"					" is properly installed."), NULL);		exit (1);	}	totem->xml = glade_xml_new (filename, NULL, NULL);	if (totem->xml == NULL)	{		g_free (filename);		totem_action_error (_("Couldn't load the main interface"					" (totem.glade).\nMake sure that Totem"					" is properly installed."), NULL);		exit (1);	}	g_free (filename);	totem->win = glade_xml_get_widget (totem->xml, "app1");	totem->playlist = GTK_PLAYLIST (gtk_playlist_new ());	if (totem->playlist == NULL)	{		totem_action_error (_("Couldn't load the interface for the playlist."					"\nMake sure that Totem"					" is properly installed."),				GTK_WINDOW (totem->win));		exit (1);	}	totem->seek = glade_xml_get_widget (totem->xml, "hscale1");	totem->seekadj = gtk_range_get_adjustment (GTK_RANGE (totem->seek));	totem->volume = glade_xml_get_widget (totem->xml, "hscale2");	totem->voladj = gtk_range_get_adjustment (GTK_RANGE (totem->volume));	totem->exit_popup = glade_xml_get_widget (totem->xml, "window1");	totem->control_popup = glade_xml_get_widget (totem->xml, "window2");	totem->fs_seek = glade_xml_get_widget (totem->xml, "hscale4");	totem->fs_seekadj = gtk_range_get_adjustment		(GTK_RANGE (totem->fs_seek));	totem->fs_volume     = glade_xml_get_widget (totem->xml, "hscale5");	totem->fs_voladj = gtk_range_get_adjustment		(GTK_RANGE (totem->fs_volume));	totem->fs_pp_button = glade_xml_get_widget (totem->xml, "fs_pp_button");	/* Calculate the height of the control popup window */	gtk_window_get_size (GTK_WINDOW (totem->control_popup),			&width, &totem->control_popup_height);	totem_setup_recent (totem);	totem_setup_preferences (totem);	totem_callback_connect (totem);	/* Show ! gtk_main_iteration trickery to show all the widgets	 * we have so far */	gtk_widget_show_all (totem->win);	long_action ();	/* Show ! (again) the video widget this time. */	video_widget_create (totem);	if (argc > 1)	{		/* Use gtk_xine_check to wait until xine has finished		 * initialising completely, otherwise this can turn up nasty */		while (gtk_xine_check (GTK_XINE (totem->gtx)) == FALSE)			usleep (100000);		totem_action_open_files (totem, argv, TRUE);		totem_action_play_pause (totem);	} else {		totem_action_set_mrl (totem, NULL);	}#ifdef HAVE_REMOTE	totem->remote = totem_remote_new ();	g_signal_connect (totem->remote, "button_pressed",			  G_CALLBACK (totem_button_pressed_remote_cb), totem);#endif	gtk_main ();	return 0;}