aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-09-13 11:40:05 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-09-14 07:05:26 +0200
commit4196ef1a86bbac44461bfdae985cfc3a9696f488 (patch)
treebfa78df55be2e1d9dbd15a61531f3cda8852893b
parent861266777693162fdfeb54a3e1094ab05f0d3c4d (diff)
sms: don't try to delete parts if SMS not stored
-rw-r--r--src/mm-sms.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mm-sms.c b/src/mm-sms.c
index e65a1ca5..20ed2f90 100644
--- a/src/mm-sms.c
+++ b/src/mm-sms.c
@@ -971,7 +971,7 @@ typedef struct {
static void
sms_delete_parts_context_complete_and_free (SmsDeletePartsContext *ctx)
{
- g_simple_async_result_complete (ctx->result);
+ g_simple_async_result_complete_in_idle (ctx->result);
g_object_unref (ctx->result);
/* Unlock mem1 storage if we had the lock */
if (ctx->need_unlock)
@@ -1087,6 +1087,13 @@ sms_delete (MMSms *self,
ctx->self = g_object_ref (self);
ctx->modem = g_object_ref (self->priv->modem);
+ if (mm_sms_get_storage (self) == MM_SMS_STORAGE_UNKNOWN) {
+ mm_dbg ("Not removing parts from non-stored SMS");
+ g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
+ sms_delete_parts_context_complete_and_free (ctx);
+ return;
+ }
+
/* Select specific storage to delete from */
mm_broadband_modem_lock_sms_storages (
MM_BROADBAND_MODEM (self->priv->modem),