}
#endif
+static gboolean sc_exiting = FALSE;
+static gboolean sc_starting = FALSE;
+
int main(int argc, char *argv[])
{
gchar *userrc;
gint num_folder_class = 0;
START_TIMING("startup");
+ sc_starting = TRUE;
+
if (!claws_init(&argc, &argv)) {
return 0;
}
if (!run_wizard(mainwin, FALSE))
exit(1);
account_read_config_all();
- if(!account_get_list())
+ if(!account_get_list()) {
exit_claws(mainwin);
+ exit(1);
+ }
}
if (!folder_have_mailbox()) {
prefs_destroy_cache();
main_window_cursor_normal(mainwin);
- alertpanel_error(_("Claws Mail has detected a configured "
+ if (folder_get_list() != NULL) {
+ alertpanel_error(_("Claws Mail has detected a configured "
+ "mailbox, but is it incomplete. It is "
+ "possibly due to a failing IMAP account. Use "
+ "\"Rebuild folder tree\" on the mailbox's folder "
+ "to try to fix it."));
+ } else {
+ alertpanel_error(_("Claws Mail has detected a configured "
"mailbox, but could not load it. It is "
"probably provided by an out-of-date "
"external plugin. Please reinstall the "
- "plugin and try again.\nIt may also be "
- "due to a failing IMAP account."));
- exit(1);
+ "plugin and try again."));
+ exit_claws(mainwin);
+ exit(1);
+ }
}
static_mainwindow = mainwin;
}
prefs_destroy_cache();
+
+ sc_starting = FALSE;
END_TIMING();
+
gtk_main();
exit_claws(mainwin);
folder_item_free_cache(item, TRUE);
}
-static gboolean sc_exiting = FALSE;
-
static void exit_claws(MainWindow *mainwin)
{
gchar *filename;
return sc_exiting;
}
+gboolean claws_is_starting(void)
+{
+ return sc_starting;
+}
+
/*
* CLAWS: want this public so crash dialog can delete the
* lock file too