summaryrefslogtreecommitdiffstats
path: root/src/modules/module-stream-restore.c
diff options
context:
space:
mode:
authorTanu Kaskinen <ext-tanu.kaskinen@nokia.com>2009-12-03 15:34:26 +0200
committerColin Guthrie <cguthrie@mandriva.org>2009-12-03 21:50:20 +0000
commitf42022a7d3157a3f3346b49c749d2262abea34c4 (patch)
tree86ab982062e5d1df0eaa3ebe26d62ea426f894d0 /src/modules/module-stream-restore.c
parent00debf42437402dadbe5f0a5ff284582c4399aec (diff)
stream-restore: At startup, create dbus entries only for valid database entries.
Diffstat (limited to 'src/modules/module-stream-restore.c')
-rw-r--r--src/modules/module-stream-restore.c9
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);