[empathy: 52/80] Don't use global variables



commit a5a993d4b067029c8fc6c904762c12aec6740831
Author: Emilio Pozuelo Monfort <emilio pozuelo collabora co uk>
Date:   Wed Apr 27 12:42:37 2011 +0100

    Don't use global variables

 libempathy-gtk/empathy-log-window.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)
---
diff --git a/libempathy-gtk/empathy-log-window.c b/libempathy-gtk/empathy-log-window.c
index 1f62998..c564276 100644
--- a/libempathy-gtk/empathy-log-window.c
+++ b/libempathy-gtk/empathy-log-window.c
@@ -617,16 +617,11 @@ event_get_target (TplEvent *event)
   return sender;
 }
 
-static gboolean parent_found;
-static GtkTreeIter model_parent;
-
 static gboolean
 model_is_parent (GtkTreeModel *model,
-    GtkTreePath *path,
     GtkTreeIter *iter,
-    gpointer data)
+    TplEvent *event)
 {
-  TplEvent *event = data;
   TplEvent *stored_event;
   TplEntity *target;
   TpAccount *account;
@@ -660,8 +655,7 @@ model_is_parent (GtkTreeModel *model,
       if (ABS (tpl_event_get_timestamp (event) - timestamp) < MAX_GAP)
         {
           /* The gap is smaller than 30 min */
-          model_parent = *iter;
-          parent_found = found = TRUE;
+          found = TRUE;
         }
     }
 
@@ -693,20 +687,27 @@ get_parent_iter_for_message (TplEvent *event,
 {
   GtkTreeStore *store;
   GtkTreeModel *model;
+  GtkTreeIter iter;
+  gboolean parent_found = FALSE;
+  gboolean next;
 
   store = log_window->store_events;
   model = GTK_TREE_MODEL (store);
 
-  parent_found = FALSE;
-  gtk_tree_model_foreach (model, model_is_parent, event);
+  for (next = gtk_tree_model_get_iter_first (model, &iter);
+       next;
+       next = gtk_tree_model_iter_next (model, &iter))
+    {
+      if ((parent_found = model_is_parent (model, &iter, event)))
+        break;
+    }
 
   if (parent_found)
     {
-      *parent = model_parent;
+      *parent = iter;
     }
   else
     {
-      GtkTreeIter iter;
       GDateTime *date;
       gchar *body, *pretty_date;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]