static void carrick_list_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { CarrickListPrivate *priv = LIST_PRIVATE (object); switch (property_id) { case PROP_ICON_FACTORY: priv->icon_factory = CARRICK_ICON_FACTORY (g_value_get_object (value)); break; case PROP_NOTIFICATIONS: priv->notes = CARRICK_NOTIFICATION_MANAGER (g_value_get_object (value)); break; case PROP_MODEL: carrick_list_set_model (CARRICK_LIST (object), CARRICK_NETWORK_MODEL (g_value_get_object (value))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); } }
static void carrick_network_model_dispose (GObject *object) { CarrickNetworkModel *self = CARRICK_NETWORK_MODEL (object); CarrickNetworkModelPrivate *priv = self->priv; GList *list_iter = NULL; gchar *path = NULL; GtkTreeIter iter; GtkListStore *store = GTK_LIST_STORE (self); if (priv->connection) { dbus_g_connection_unref (priv->connection); priv->connection = NULL; } for (list_iter = priv->services; list_iter != NULL; list_iter = list_iter->next) { path = list_iter->data; if (network_model_have_service_by_path (store, &iter, path) == TRUE) gtk_list_store_remove (store, &iter); g_free (path); } if (priv->services) { g_list_free (priv->services); priv->services = NULL; } G_OBJECT_CLASS (carrick_network_model_parent_class)->dispose(object); }