[rhythmbox] dbus-media-server: don't update source parent when tracks change
- From: Jonathan Matthew <jmatthew src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rhythmbox] dbus-media-server: don't update source parent when tracks change
- Date: Tue, 17 Jan 2012 22:51:59 +0000 (UTC)
commit a235e5aa9a10a181f0f3ba9a69a6c2275354ef8a
Author: Jonathan Matthew <jonathan d14n org>
Date: Wed Jan 18 08:47:05 2012 +1000
dbus-media-server: don't update source parent when tracks change
.../rb-dbus-media-server-plugin.c | 43 ++++++++++---------
1 files changed, 23 insertions(+), 20 deletions(-)
---
diff --git a/plugins/dbus-media-server/rb-dbus-media-server-plugin.c b/plugins/dbus-media-server/rb-dbus-media-server-plugin.c
index 32db162..c052395 100644
--- a/plugins/dbus-media-server/rb-dbus-media-server-plugin.c
+++ b/plugins/dbus-media-server/rb-dbus-media-server-plugin.c
@@ -1645,24 +1645,27 @@ destroy_registration_data (SourceRegistrationData *source_data)
}
static void
-source_updated (SourceRegistrationData *source_data, gboolean count_changed)
+source_parent_updated (SourceRegistrationData *source_data)
{
- source_data->updated = TRUE;
-
- if (count_changed) {
- GList *l;
- for (l = source_data->plugin->categories; l != NULL; l = l->next) {
- CategoryRegistrationData *category_data = l->data;
- if (g_strcmp0 (source_data->parent_dbus_path, category_data->dbus_path) == 0) {
- category_data->updated = TRUE;
- break;
- }
- }
- if (l == NULL) {
- source_data->plugin->root_updated = TRUE;
+ GList *l;
+ for (l = source_data->plugin->categories; l != NULL; l = l->next) {
+ CategoryRegistrationData *category_data = l->data;
+ if (g_strcmp0 (source_data->parent_dbus_path, category_data->dbus_path) == 0) {
+ category_data->updated = TRUE;
+ break;
}
}
+ if (l == NULL) {
+ source_data->plugin->root_updated = TRUE;
+ }
+
+ emit_updated_in_idle (source_data->plugin);
+}
+static void
+source_updated (SourceRegistrationData *source_data)
+{
+ source_data->updated = TRUE;
emit_updated_in_idle (source_data->plugin);
}
@@ -1671,13 +1674,13 @@ source_updated (SourceRegistrationData *source_data, gboolean count_changed)
static void
row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, SourceRegistrationData *source_data)
{
- source_updated (source_data, TRUE);
+ source_updated (source_data);
}
static void
row_deleted_cb (GtkTreeModel *model, GtkTreePath *path, SourceRegistrationData *source_data)
{
- source_updated (source_data, TRUE);
+ source_updated (source_data);
}
static void
@@ -1694,7 +1697,7 @@ entry_prop_changed_cb (RhythmDBQueryModel *model,
return;
}
- source_updated (source_data, FALSE);
+ source_updated (source_data);
for (l = source_data->properties; l != NULL; l = l->next) {
SourcePropertyRegistrationData *prop_data = l->data;
RBRefString *value;
@@ -1746,13 +1749,13 @@ base_query_model_updated_cb (RBSource *source, GParamSpec *pspec, SourceRegistra
g_object_set (prop_data->model, "query-model", source_data->base_query_model, NULL);
}
- source_updated (source_data, TRUE);
+ source_updated (source_data);
}
static void
name_updated_cb (RBSource *source, GParamSpec *pspec, SourceRegistrationData *source_data)
{
- source_updated (source_data, FALSE);
+ source_updated (source_data);
}
static void
@@ -1828,7 +1831,7 @@ unregister_source_container (RBMediaServer2Plugin *plugin, SourceRegistrationDat
plugin->sources = g_list_remove (plugin->sources, source_data);
/* emit 'updated' signal on parent container */
- source_updated (source_data, FALSE);
+ source_parent_updated (source_data);
destroy_registration_data (source_data);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]