X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmaemo%2Fmodest-maemo-global-settings-dialog.c;h=f850350d34dd4a83263b7292cba84910de09e2ab;hp=1857c7265410a554838150309828355ecb77c0ff;hb=fa7f2e377f7c2a763cd18986b5fce8769c1e54a3;hpb=4cb357bdaeb4b1ff71af6a6afee624660761a51d diff --git a/src/maemo/modest-maemo-global-settings-dialog.c b/src/maemo/modest-maemo-global-settings-dialog.c index 1857c72..f850350 100644 --- a/src/maemo/modest-maemo-global-settings-dialog.c +++ b/src/maemo/modest-maemo-global-settings-dialog.c @@ -162,9 +162,14 @@ 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 (); + + /* This is a GDK lock because we are an idle callback and + * the code below is or does Gtk+ code */ + + gdk_threads_enter (); /* CHECKED */ gtk_widget_grab_focus (helper->focus_widget); - gdk_threads_leave (); + gdk_threads_leave (); /* CHECKED */ + g_signal_handler_unblock (G_OBJECT (ppriv->notebook), priv->switch_handler); g_free (helper); @@ -252,7 +257,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; } @@ -391,15 +401,6 @@ create_composing_page (ModestMaemoGlobalSettingsDialog *self) HILDON_CAPTION_MANDATORY); gtk_box_pack_start (GTK_BOX (vbox), caption, FALSE, FALSE, MODEST_MARGIN_HALF); - /* Reply */ - ppriv->include_reply = gtk_check_button_new (); - caption = hildon_caption_new (size_group, - _("mcen_va_options_include_original_inreply"), - ppriv->include_reply, - NULL, - HILDON_CAPTION_MANDATORY); - gtk_box_pack_start (GTK_BOX (vbox), caption, FALSE, FALSE, MODEST_MARGIN_HALF); - return vbox; } @@ -478,8 +479,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 ()); @@ -494,15 +495,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;