diff options
Diffstat (limited to 'src/main.c')
| -rw-r--r-- | src/main.c | 21 | 
1 files changed, 15 insertions, 6 deletions
| @@ -165,7 +165,7 @@ int main(int argc, char **argv)      editor = create_editor(); -    gtk_widget_show(editor); +    gtk_widget_show_now(editor);      init_work_queue(G_OBJECT(editor)); @@ -181,13 +181,22 @@ int main(int argc, char **argv)      /* Charge le dernier projet */ -    if (!g_generic_config_get_value(config, MPK_LAST_PROJECT, &filename)) -        filename = NULL; +    gboolean load_last_project(GGenConfig *cfg) +    { + +        if (!g_generic_config_get_value(cfg, MPK_LAST_PROJECT, &filename)) +            filename = NULL; + +        if (filename == NULL) project = g_study_project_new(G_OBJECT(editor)); +        else project = g_study_project_open(G_OBJECT(editor), filename); -    if (filename == NULL) project = g_study_project_new(G_OBJECT(editor)); -    else project = g_study_project_open(G_OBJECT(editor), filename); +        set_current_project(project); + +        return G_SOURCE_REMOVE; + +    } -    set_current_project(project); +    g_idle_add((GSourceFunc)load_last_project, config);      /* Exécution du programme */ | 
