diff --git a/libmm-glib/mm-manager.c b/libmm-glib/mm-manager.c index 37f3ac4f..81f2041a 100644 --- a/libmm-glib/mm-manager.c +++ b/libmm-glib/mm-manager.c @@ -595,9 +595,28 @@ initable_init_async (GAsyncInitable *initable, /*****************************************************************************/ +static void +register_dbus_errors (void) +{ + static volatile guint32 aux = 0; + + if (aux) + return; + + /* Register all known own errors */ + aux |= MM_CORE_ERROR; + aux |= MM_MOBILE_EQUIPMENT_ERROR; + aux |= MM_CONNECTION_ERROR; + aux |= MM_SERIAL_ERROR; + aux |= MM_MESSAGE_ERROR; + aux |= MM_CDMA_ACTIVATION_ERROR; +} + static void mm_manager_init (MMManager *manager) { + register_dbus_errors (); + /* Setup private data */ manager->priv = G_TYPE_INSTANCE_GET_PRIVATE ((manager), MM_TYPE_MANAGER,