rem: filename = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_APP_DATADIR, "totem/totem.glade", TRUE, NULL); if (filename == NULL)
context: main (int argc, char **argv){	Totem *totem;	char *filename;	GConfClient *gc;	GdkPixbuf *pix;	bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");	textdomain (GETTEXT_PACKAGE);	g_set_application_name (_("Totem Movie Player"));	if (XInitThreads () == 0)	{		gtk_init (&argc, &argv);		totem_action_error_and_exit (_("Could not initialise the thread-safe libraries."), _("Verify your system installation. Totem will now exit."), NULL);	}	g_thread_init (NULL);	gdk_threads_init ();	gtk_init (&argc, &argv);	options[0].arg = bacon_video_widget_get_popt_table ();	gnome_program_init ("totem", VERSION,			LIBGNOMEUI_MODULE,			argc, argv,			GNOME_PARAM_APP_DATADIR, DATADIR,			GNOME_PARAM_POPT_TABLE, options,			GNOME_PARAM_NONE);	glade_init ();	gnome_vfs_init ();	if ((gc = gconf_client_get_default ()) == NULL)	{		totem_action_error_and_exit (_("Totem couln't initialise the configuration engine."), _("Make sure that GNOME is properly installed."), NULL);	}	gnome_authentication_manager_init ();	filename = gnome_program_locate_file (NULL,			GNOME_FILE_DOMAIN_APP_DATADIR,			"totem/totem.glade", TRUE, NULL);	if (filename == NULL)	{		totem_action_error_and_exit (_("Couldn't load the main interface (totem.glade)."), _("Make sure that Totem is properly installed."), NULL);	}	totem = g_new0 (Totem, 1);	/* IPC stuff */	totem->conn = bacon_message_connection_new (GETTEXT_PACKAGE);	if (bacon_message_connection_get_is_server (totem->conn) == FALSE)	{		process_command_line (totem->conn, argc, argv);		bacon_message_connection_free (totem->conn);		g_free (totem);		gdk_notify_startup_complete ();		exit (0);	}	/* Init totem itself */	totem->prev_volume = -1;	totem->gc = gc;	/* Main window */	totem->xml = glade_xml_new (filename, NULL, NULL);	if (totem->xml == NULL)	{		g_free (filename);		totem_action_error_and_exit (_("Couldn't load the main interface (totem.glade)."), _("Make sure that Totem is properly installed."), NULL);	}	g_free (filename);	totem_named_icons_init (totem, FALSE);	totem->win = glade_xml_get_widget (totem->xml, "totem_main_window");	filename = g_build_filename (DATADIR,			"totem", "media-player-48.png", NULL);	gtk_window_set_default_icon_from_file (filename, NULL);	g_free (filename);	/* The playlist */	filename = g_build_filename (DATADIR,			"totem", "playlist-playing.png", NULL);	pix = gdk_pixbuf_new_from_file (filename, NULL);	g_free (filename);	filename = g_build_filename (DATADIR,			"totem", "playlist.glade", NULL);	totem->playlist = TOTEM_PLAYLIST (totem_playlist_new (filename, pix));	g_free (filename);	if (totem->playlist == NULL)	{		totem_action_error_and_exit (_("Couldn't load the interface for the playlist."), _("Make sure that Totem is properly installed."), totem);	}	filename = g_build_filename (DATADIR,			"totem", "playlist-24.png", NULL);	gtk_window_set_icon_from_file (GTK_WINDOW (totem->playlist),			filename, NULL);	g_free (filename);	/* The rest of the widgets */	totem->state = STATE_STOPPED;	totem->seek = glade_xml_get_widget (totem->xml, "tmw_seek_hscale");	totem->seekadj = gtk_range_get_adjustment (GTK_RANGE (totem->seek));	g_object_set_data (G_OBJECT (totem->seek), "fs", GINT_TO_POINTER (0));	totem->volume = glade_xml_get_widget (totem->xml, "tmw_volume_hscale");	totem->voladj = gtk_range_get_adjustment (GTK_RANGE (totem->volume));	g_object_set_data (G_OBJECT (totem->volume), "fs", GINT_TO_POINTER (0));	totem->exit_popup = glade_xml_get_widget		(totem->xml, "totem_exit_fullscreen_window");	totem->control_popup = glade_xml_get_widget		(totem->xml, "totem_controls_window");	totem->fs_seek = glade_xml_get_widget (totem->xml, "tcw_seek_hscale");	totem->fs_seekadj = gtk_range_get_adjustment		(GTK_RANGE (totem->fs_seek));	g_object_set_data (G_OBJECT (totem->fs_seek), "fs", GINT_TO_POINTER (1));	totem->fs_volume = glade_xml_get_widget		(totem->xml, "tcw_volume_hscale");	totem->fs_voladj = gtk_range_get_adjustment		(GTK_RANGE (totem->fs_volume));	g_object_set_data (G_OBJECT (totem->fs_volume), "fs", GINT_TO_POINTER (1));	totem->volume_first_time = 1;	totem->fs_pp_button = glade_xml_get_widget		(totem->xml, "tcw_pp_button");	totem->statusbar = glade_xml_get_widget (totem->xml, "tmw_statusbar");	totem->seek_lock = totem->vol_lock = totem->vol_fs_lock = FALSE;	/* Properties */	totem->properties = bacon_video_widget_properties_new ();	totem_setup_recent (totem);	totem_callback_connect (totem);	totem_setup_window (totem);	/* Show ! gtk_main_iteration trickery to show all the widgets	 * we have so far */	gtk_widget_show_all (totem->win);	update_fullscreen_size (totem);	long_action ();	totem->controls_visibility = TOTEM_CONTROLS_VISIBLE;	/* Show ! (again) the video widget this time. */	video_widget_create (totem);	long_action ();	/* The prefs after the video widget is connected */	totem_setup_preferences (totem);	/* Command-line handling */	process_options (totem, &argc, &argv);	if (argc >= 1)	{		if (totem_action_open_files (totem, argv))			totem_action_play_pause (totem);		else			totem_action_set_mrl (totem, NULL);	} else {		totem_action_restore_pl (totem);	}	if (bacon_message_connection_get_is_server (totem->conn) != FALSE)	{		bacon_message_connection_set_callback (totem->conn,				(BaconMessageReceivedFunc)				totem_message_connection_receive_cb, totem);	}#ifdef HAVE_REMOTE	totem->remote = totem_remote_new ();	g_signal_connect (totem->remote, "button_pressed",			  G_CALLBACK (totem_button_pressed_remote_cb), totem);#endif /* HAVE_REMOTE */	gtk_main ();	return 0;}