aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-iface-modem-messaging.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/mm-iface-modem-messaging.c b/src/mm-iface-modem-messaging.c
index bbc8054b..cf9c36a6 100644
--- a/src/mm-iface-modem-messaging.c
+++ b/src/mm-iface-modem-messaging.c
@@ -345,6 +345,9 @@ mm_iface_modem_messaging_set_preferred_storages (MMIfaceModemMessaging *self,
{
GError *error = NULL;
StorageContext *ctx;
+ MMSmsStorage default_mem1;
+ MMSmsStorage default_mem2;
+ MMSmsStorage default_mem3;
if (!MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (self)->set_preferred_storages ||
!MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (self)->set_preferred_storages_finish) {
@@ -369,6 +372,23 @@ mm_iface_modem_messaging_set_preferred_storages (MMIfaceModemMessaging *self,
return;
}
+ default_mem1 = MM_SMS_STORAGE_UNKNOWN;
+ default_mem2 = MM_SMS_STORAGE_UNKNOWN;
+ default_mem3 = MM_SMS_STORAGE_UNKNOWN;
+ g_object_get (self,
+ MM_IFACE_MODEM_MESSAGING_SMS_MEM1_STORAGE, &default_mem1,
+ MM_IFACE_MODEM_MESSAGING_SMS_MEM2_STORAGE, &default_mem2,
+ MM_IFACE_MODEM_MESSAGING_SMS_MEM3_STORAGE, &default_mem3,
+ NULL);
+
+ /* If unknown given, set defaults */
+ if (mem1 == MM_SMS_STORAGE_UNKNOWN)
+ mem1 = default_mem1;
+ if (mem2 == MM_SMS_STORAGE_UNKNOWN)
+ mem2 = default_mem2;
+ if (mem3 == MM_SMS_STORAGE_UNKNOWN)
+ mem3 = default_mem3;
+
MM_IFACE_MODEM_MESSAGING_GET_INTERFACE (self)->set_preferred_storages (
self, mem1, mem2, mem3, callback, user_data);
}