From a6b7ac68268e55ec8b4ee7fa9e930b86e17fae85 Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Thu, 3 Dec 2009 15:31:11 +0200 Subject: stream-restore: Fix a few assertion misuses with the D-Bus code. --- src/modules/module-stream-restore.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/modules/module-stream-restore.c') diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c index 02c312e3..ce923621 100644 --- a/src/modules/module-stream-restore.c +++ b/src/modules/module-stream-restore.c @@ -647,7 +647,7 @@ static void handle_add_entry(DBusConnection *conn, DBusMessage *msg, void *userd } else { dbus_entry = dbus_entry_new(u, name); - pa_assert(pa_hashmap_put(u->dbus_entries, dbus_entry->entry_name, dbus_entry) >= 0); + pa_assert_se(pa_hashmap_put(u->dbus_entries, dbus_entry->entry_name, dbus_entry) == 0); e->muted_valid = TRUE; e->volume_valid = !!map.channels; @@ -1245,10 +1245,10 @@ static void subscribe_callback(pa_core *c, pa_subscription_event_type_t t, uint3 #ifdef HAVE_DBUS if (created_new_entry) { de = dbus_entry_new(u, name); - pa_hashmap_put(u->dbus_entries, de->entry_name, de); + pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0); send_new_entry_signal(de); } else { - pa_assert((de = pa_hashmap_get(u->dbus_entries, name))); + pa_assert_se(de = pa_hashmap_get(u->dbus_entries, name)); if (device_updated) send_device_updated_signal(de, &entry); @@ -1859,7 +1859,7 @@ static int extension_cb(pa_native_protocol *p, pa_module *m, pa_native_connectio } else { de = dbus_entry_new(u, name); - pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de)); + pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0); send_new_entry_signal(de); } #endif @@ -2050,7 +2050,7 @@ int pa__init(pa_module*m) { pa_datum_free(&key); de = dbus_entry_new(u, name); - pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de) >= 0); + pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0); pa_xfree(name); -- cgit From 00debf42437402dadbe5f0a5ff284582c4399aec Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Thu, 3 Dec 2009 15:32:23 +0200 Subject: stream-restore: Add a missing pa_xnew0() call in handle_add_entry(). --- src/modules/module-stream-restore.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/modules/module-stream-restore.c') diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c index ce923621..a1273fe9 100644 --- a/src/modules/module-stream-restore.c +++ b/src/modules/module-stream-restore.c @@ -649,6 +649,7 @@ static void handle_add_entry(DBusConnection *conn, DBusMessage *msg, void *userd dbus_entry = dbus_entry_new(u, name); pa_assert_se(pa_hashmap_put(u->dbus_entries, dbus_entry->entry_name, dbus_entry) == 0); + e = pa_xnew0(struct entry, 1); e->muted_valid = TRUE; e->volume_valid = !!map.channels; e->device_valid = !!device[0]; -- cgit From f42022a7d3157a3f3346b49c749d2262abea34c4 Mon Sep 17 00:00:00 2001 From: Tanu Kaskinen Date: Thu, 3 Dec 2009 15:34:26 +0200 Subject: stream-restore: At startup, create dbus entries only for valid database entries. --- src/modules/module-stream-restore.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/modules/module-stream-restore.c') diff --git a/src/modules/module-stream-restore.c b/src/modules/module-stream-restore.c index a1273fe9..becdb54a 100644 --- a/src/modules/module-stream-restore.c +++ b/src/modules/module-stream-restore.c @@ -2044,14 +2044,19 @@ int pa__init(pa_module*m) { pa_datum next_key; char *name; struct dbus_entry *de; + struct entry *e; done = !pa_database_next(u->database, &key, &next_key, NULL); name = pa_xstrndup(key.data, key.size); pa_datum_free(&key); - de = dbus_entry_new(u, name); - pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0); + /* Use read_entry() for checking that the entry is valid. */ + if ((e = read_entry(u, name))) { + de = dbus_entry_new(u, name); + pa_assert_se(pa_hashmap_put(u->dbus_entries, de->entry_name, de) == 0); + pa_xfree(e); + } pa_xfree(name); -- cgit