diff options
author | Tanu Kaskinen <ext-tanu.kaskinen@nokia.com> | 2009-12-03 15:34:26 +0200 |
---|---|---|
committer | Colin Guthrie <cguthrie@mandriva.org> | 2009-12-03 21:50:20 +0000 |
commit | f42022a7d3157a3f3346b49c749d2262abea34c4 (patch) | |
tree | 86ab982062e5d1df0eaa3ebe26d62ea426f894d0 /src/modules | |
parent | 00debf42437402dadbe5f0a5ff284582c4399aec (diff) |
stream-restore: At startup, create dbus entries only for valid database entries.
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/module-stream-restore.c | 9 |
1 files changed, 7 insertions, 2 deletions
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); |