* check for a valid foldername
[modest] / src / maemo / modest-maemo-global-settings-dialog.c
index a6d1601..7f3d2ca 100644 (file)
@@ -162,9 +162,10 @@ idle_select_default_focus (gpointer data)
        /* Grab focus, we need to block in order to prevent a
           recursive call to this callback */
        g_signal_handler_block (G_OBJECT (ppriv->notebook), priv->switch_handler);
+       gdk_threads_enter ();
        gtk_widget_grab_focus (helper->focus_widget);
+       gdk_threads_leave ();
        g_signal_handler_unblock (G_OBJECT (ppriv->notebook), priv->switch_handler);
-
        g_free (helper);
 
        return FALSE;
@@ -251,7 +252,12 @@ modest_maemo_global_settings_dialog_finalize (GObject *obj)
        priv = MODEST_MAEMO_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (obj);
        ppriv = MODEST_GLOBAL_SETTINGS_DIALOG_GET_PRIVATE (obj);
 
-       if (priv->switch_handler) {
+       if (priv->switch_handler && ppriv->notebook) {
+               /* TODO: This causes a g_warning:
+                modest[13409]: GLIB WARNING ** GLib-GObject - invalid unclassed pointer in cast to `GObject'
+               modest[13409]: GLIB WARNING ** GLib-GObject - instance with invalid (NULL) class pointer
+               modest[13409]: GLIB CRITICAL ** GLib-GObject - g_signal_handler_disconnect: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
+                */
                g_signal_handler_disconnect (G_OBJECT (ppriv->notebook), priv->switch_handler);
                priv->switch_handler = 0;
        }
@@ -436,7 +442,7 @@ on_range_error (HildonNumberEditor *editor,
 #else
        case HILDON_NUMBER_EDITOR_ERROR_MAXIMUM_VALUE_EXCEED:
 #endif
-               msg = g_strdup_printf (_("ckct_ib_maximum_value"), MSG_SIZE_MAX_VAL);
+               msg = g_strdup_printf (dgettext("hildon-libs", "ckct_ib_maximum_value"), MSG_SIZE_MAX_VAL);
                new_val = MSG_SIZE_MAX_VAL;
                break;
 #ifdef MODEST_HAVE_HILDON0_WIDGETS
@@ -444,7 +450,7 @@ on_range_error (HildonNumberEditor *editor,
 #else
        case HILDON_NUMBER_EDITOR_ERROR_MINIMUM_VALUE_EXCEED:
 #endif
-               msg = g_strdup_printf (_("ckct_ib_minimum_value"), MSG_SIZE_MIN_VAL);
+               msg = g_strdup_printf (dgettext("hildon-libs", "ckct_ib_minimum_value"), MSG_SIZE_MIN_VAL);
                new_val = MSG_SIZE_MIN_VAL;
                break;
 #ifdef MODEST_HAVE_HILDON0_WIDGETS
@@ -452,7 +458,7 @@ on_range_error (HildonNumberEditor *editor,
 #else
        case HILDON_NUMBER_EDITOR_ERROR_ERRONEOUS_VALUE:
 #endif
-               msg = g_strdup_printf (_("ckct_ib_set_a_value_within_range"), 
+               msg = g_strdup_printf (dgettext("hildon-libs", "ckct_ib_set_a_value_within_range"), 
                                       MSG_SIZE_MIN_VAL, 
                                       MSG_SIZE_MAX_VAL);
                /* FIXME: use the previous */
@@ -477,8 +483,8 @@ on_range_error (HildonNumberEditor *editor,
 static ModestConnectedVia
 current_connection (void)
 {
-       TnyAccountStore *account_store;
-       TnyDevice *device;
+       TnyAccountStore *account_store = NULL;
+       TnyDevice *device = NULL;
        ModestConnectedVia retval = MODEST_CONNECTED_VIA_ANY;
        
        account_store = TNY_ACCOUNT_STORE (modest_runtime_get_account_store ());
@@ -493,15 +499,17 @@ current_connection (void)
                ConIcIap *iap = tny_maemo_conic_device_get_iap (
                        TNY_MAEMO_CONIC_DEVICE (device), iap_id);
                const gchar *bearer_type = con_ic_iap_get_bearer_type (iap);
-                       
-               if (!strcmp (bearer_type, CON_IC_BEARER_WLAN_INFRA) ||
-                   !strcmp (bearer_type, CON_IC_BEARER_WLAN_ADHOC))
-                       retval = MODEST_CONNECTED_VIA_WLAN;
-               else
-                       retval = MODEST_CONNECTED_VIA_ANY;
+               if (bearer_type) {
+                       if (!strcmp (bearer_type, CON_IC_BEARER_WLAN_INFRA) ||
+                           !strcmp (bearer_type, CON_IC_BEARER_WLAN_ADHOC))
+                               retval = MODEST_CONNECTED_VIA_WLAN;
+                       else
+                               retval = MODEST_CONNECTED_VIA_ANY;
+               }
        
                g_object_unref (iap);
        }
+       
        g_object_unref (device);
 
        return retval;