}
}
-static gboolean
+static gboolean UNUSED
print_startup_time (gpointer data)
{
g_timer_stop (startup);
}
\f
-
-struct init_source
-{
- GSource parent;
- int state;
- GMainLoop *loop;
- gchar *file;
-};
-
-
gboolean
init_prepare (GSource *source, gint *timeout_)
{
{
struct init_source *is = (struct init_source *)ss;
- bool finished = initialize (is->file, is->state++);
+ bool finished = initialize (is);
+ is->state++;
if (finished)
{
startup = g_timer_new ();
g_timer_start (startup);
- if ( ! gtk_parse_args (&argc, &argv) )
- {
- perror ("Error parsing arguments");
- exit (1);
- }
-
if ( (vers = gtk_check_version (GTK_MAJOR_VERSION,
GTK_MINOR_VERSION,
GTK_MICRO_VERSION)) )
exit (EXIT_FAILURE);
argv_parser_destroy (parser);
- /* Initialise GDK. Theoretically this call can remove options from argc,argv if
- it thinks they are gdk options.
- However there shouldn't be any here because of the gtk_parse_args call above. */
+ /* Initialise GDK. GTK gets initialized later. */
gdk_init (&argc, &argv);
GMainContext *context = g_main_context_new ();
g_source_attach (ss, context);
+ ((struct init_source *) ss)->argc = &argc;
+ ((struct init_source *) ss)->argv = &argv;
((struct init_source *) ss)->loop = loop;
((struct init_source *) ss)->file = optind < argc ? argv[optind] : NULL;