Initialization speedup
authorPhilip Van Hoof <philip@codeminded.be>
Wed, 13 Jun 2007 08:32:41 +0000 (08:32 +0000)
committerPhilip Van Hoof <philip@codeminded.be>
Wed, 13 Jun 2007 08:32:41 +0000 (08:32 +0000)
pmo-trunk-r2193

src/modest-mail-operation-queue.c
src/modest-main.c

index d1acf14..53cd086 100644 (file)
@@ -325,7 +325,7 @@ modest_mail_operation_queue_cancel_all (ModestMailOperationQueue *self)
 {
        ModestMailOperationQueuePrivate *priv;
        GSList* operations_to_cancel = NULL;
 {
        ModestMailOperationQueuePrivate *priv;
        GSList* operations_to_cancel = NULL;
-       GSList* cur;
+       GSList* cur = NULL;
 
        g_return_if_fail (MODEST_IS_MAIL_OPERATION_QUEUE (self));
 
 
        g_return_if_fail (MODEST_IS_MAIL_OPERATION_QUEUE (self));
 
index bd59104..44a3505 100644 (file)
@@ -71,11 +71,20 @@ static gchar*           check_account (const gchar *account);
 
 static ModestErrorCode  start_ui      (const gchar *account,
                                       const gchar* mailto, const gchar *cc,
 
 static ModestErrorCode  start_ui      (const gchar *account,
                                       const gchar* mailto, const gchar *cc,
-                                      const gchar *bcc, const gchar* subject, const gchar *body);
+                                      const gchar *bcc, const gchar* subject, const gchar *body, GtkWidget **ui);
 
 static ModestErrorCode  send_mail     (const gchar* account,
                                       const gchar* mailto, const gchar *cc, const gchar *bcc,
                                       const gchar* subject, const gchar *body);
 
 static ModestErrorCode  send_mail     (const gchar* account,
                                       const gchar* mailto, const gchar *cc, const gchar *bcc,
                                       const gchar* subject, const gchar *body);
+
+static void 
+on_show (GtkWidget *widget, gpointer user_data)
+{
+       if (modest_conf_get_bool (modest_runtime_get_conf(),
+               MODEST_CONF_CONNECT_AT_STARTUP, NULL))
+       modest_platform_connect_and_wait(NULL);
+}
+
 int
 main (int argc, char *argv[])
 {
 int
 main (int argc, char *argv[])
 {
@@ -134,12 +143,11 @@ main (int argc, char *argv[])
                        retval = MODEST_ERR_UI;
                        goto cleanup;
                } else {
                        retval = MODEST_ERR_UI;
                        goto cleanup;
                } else {
-                       if (modest_conf_get_bool (modest_runtime_get_conf(),
-                                                 MODEST_CONF_CONNECT_AT_STARTUP, NULL))
-                               modest_platform_connect_and_wait(NULL);
-                       
+                       GtkWidget *ui = NULL;
                        retval = start_ui (account_or_default,
                        retval = start_ui (account_or_default,
-                                          mailto, cc, bcc, subject, body);
+                                          mailto, cc, bcc, subject, body, &ui);
+                       if (ui) 
+                               g_signal_connect (G_OBJECT (ui), "show", G_CALLBACK(on_show), NULL);
                }
        } else {
                if (!account_or_default) {
                }
        } else {
                if (!account_or_default) {
@@ -168,7 +176,7 @@ cleanup:
 
 static ModestErrorCode 
 start_ui (const gchar *account_name, const gchar* mailto, const gchar *cc, const gchar *bcc,
 
 static ModestErrorCode 
 start_ui (const gchar *account_name, const gchar* mailto, const gchar *cc, const gchar *bcc,
-         const gchar* subject, const gchar *body)
+         const gchar* subject, const gchar *body, GtkWidget **ui)
 {
        ModestWindow *win = NULL;
 
 {
        ModestWindow *win = NULL;
 
@@ -227,6 +235,7 @@ start_ui (const gchar *account_name, const gchar* mailto, const gchar *cc, const
        } else {
                ModestWindowMgr *mgr = modest_runtime_get_window_mgr ();
                modest_window_mgr_register_window (mgr, win);
        } else {
                ModestWindowMgr *mgr = modest_runtime_get_window_mgr ();
                modest_window_mgr_register_window (mgr, win);
+               *ui = (GtkWidget*) win;
                g_object_unref (win);
        }
        
                g_object_unref (win);
        }