aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-01-16 21:44:47 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2012-01-16 21:44:50 +0800
commit1eef5e7b371f1344300785d2b8a2c048fb7c3e8f (patch)
treed5bf6384d061b3872cc84febcbdacdac56f56dbe /libempathy-gtk
parentb0919fe6aab968756a0a7feb072fc49764862709 (diff)
downloadgsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar
gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.gz
gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.bz2
gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.lz
gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.xz
gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.tar.zst
gsoc2013-empathy-1eef5e7b371f1344300785d2b8a2c048fb7c3e8f.zip
individual-view: remove GTK+ workarounds
They have been properly fixed since a while.
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-individual-view.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/libempathy-gtk/empathy-individual-view.c b/libempathy-gtk/empathy-individual-view.c
index 0c0e62a85..dad975b3c 100644
--- a/libempathy-gtk/empathy-individual-view.c
+++ b/libempathy-gtk/empathy-individual-view.c
@@ -1637,54 +1637,6 @@ individual_view_row_has_child_toggled_cb (GtkTreeModel *model,
g_free (name);
}
-/* FIXME: This is a workaround for bgo#621076 */
-static void
-individual_view_verify_group_visibility (EmpathyIndividualView *view,
- GtkTreePath *path)
-{
- EmpathyIndividualViewPriv *priv = GET_PRIV (view);
- GtkTreeModel *model;
- GtkTreePath *parent_path;
- GtkTreeIter parent_iter;
-
- if (gtk_tree_path_get_depth (path) < 2)
- return;
-
- /* A group row is visible if and only if at least one if its child is visible.
- * So when a row is inserted/deleted/changed in the base model, that could
- * modify the visibility of its parent in the filter model.
- */
-
- model = GTK_TREE_MODEL (priv->store);
- parent_path = gtk_tree_path_copy (path);
- gtk_tree_path_up (parent_path);
- if (gtk_tree_model_get_iter (model, &parent_iter, parent_path))
- {
- /* This tells the filter to verify the visibility of that row, and
- * show/hide it if necessary */
- gtk_tree_model_row_changed (GTK_TREE_MODEL (priv->store),
- parent_path, &parent_iter);
- }
- gtk_tree_path_free (parent_path);
-}
-
-static void
-individual_view_store_row_changed_cb (GtkTreeModel *model,
- GtkTreePath *path,
- GtkTreeIter *iter,
- EmpathyIndividualView *view)
-{
- individual_view_verify_group_visibility (view, path);
-}
-
-static void
-individual_view_store_row_deleted_cb (GtkTreeModel *model,
- GtkTreePath *path,
- EmpathyIndividualView *view)
-{
- individual_view_verify_group_visibility (view, path);
-}
-
static gboolean
individual_view_is_visible_individual (EmpathyIndividualView *self,
FolksIndividual *individual,
@@ -1815,14 +1767,6 @@ individual_view_filter_visible_func (GtkTreeModel *model,
g_object_unref (individual);
g_free (group);
- /* FIXME: Work around bgo#626552/bgo#621076 */
- if (visible)
- {
- GtkTreePath *path = gtk_tree_model_get_path (model, iter);
- individual_view_verify_group_visibility (self, path);
- gtk_tree_path_free (path);
- }
-
return visible;
}
@@ -2820,11 +2764,6 @@ empathy_individual_view_set_store (EmpathyIndividualView *self,
/* Destroy the old filter and remove the old store */
if (priv->store != NULL)
{
- g_signal_handlers_disconnect_by_func (priv->store,
- individual_view_store_row_changed_cb, self);
- g_signal_handlers_disconnect_by_func (priv->store,
- individual_view_store_row_deleted_cb, self);
-
g_signal_handlers_disconnect_by_func (priv->filter,
individual_view_row_has_child_toggled_cb, self);
@@ -2851,13 +2790,6 @@ empathy_individual_view_set_store (EmpathyIndividualView *self,
G_CALLBACK (individual_view_row_has_child_toggled_cb), self);
gtk_tree_view_set_model (GTK_TREE_VIEW (self),
GTK_TREE_MODEL (priv->filter));
-
- tp_g_signal_connect_object (priv->store, "row-changed",
- G_CALLBACK (individual_view_store_row_changed_cb), self, 0);
- tp_g_signal_connect_object (priv->store, "row-inserted",
- G_CALLBACK (individual_view_store_row_changed_cb), self, 0);
- tp_g_signal_connect_object (priv->store, "row-deleted",
- G_CALLBACK (individual_view_store_row_deleted_cb), self, 0);
}
}