Addressbook: Flushing DBus properties after setting new locale.
authorMateusz Polrola <mateuszx.potrola@intel.com>
Wed, 12 Feb 2014 15:06:30 +0000 (16:06 +0100)
committerPatrick Ohly <patrick.ohly@intel.com>
Wed, 5 Mar 2014 10:41:08 +0000 (11:41 +0100)
DBus signals about change of locale property for given address book are
deferred until all address books will update their locale.
Depending on the number of address books and their size delay between
changing address book's locale property and receiving signal about that
takes about one or two minutes.
Flushing DBus properties after changing locale property of address book
causes immediate emission of DBus signal.

addressbook/libedata-book/e-data-book.c

index 6f3b2c7..f2dc1f2 100644 (file)
@@ -2162,9 +2162,12 @@ e_data_book_set_locale (EDataBook *book,
        success = e_book_backend_set_locale (
                backend, locale, cancellable, error);
 
-       if (success)
+       if (success) {
                e_dbus_address_book_set_locale (
                        book->priv->dbus_interface, locale);
+               g_dbus_interface_skeleton_flush (
+                       book->priv->dbus_interface);
+       }
 
        g_object_unref (backend);