[gnome-system-monitor] Reverted process table updates based on visibility checks as column indexing seems to behave strange



commit 56633a73ce95ac5806b1dcc3477da802b415f209
Author: Robert Roth <robert roth off gmail com>
Date:   Tue Dec 11 03:15:17 2012 +0200

    Reverted process table updates based on visibility checks as column indexing seems to behave strange

 src/proctable.cpp |   39 +++++++++++++++++++--------------------
 src/util.cpp      |   16 +++++++---------
 src/util.h        |   21 +++++++++------------
 3 files changed, 35 insertions(+), 41 deletions(-)
---
diff --git a/src/proctable.cpp b/src/proctable.cpp
index 9cc1e36..0d87f16 100644
--- a/src/proctable.cpp
+++ b/src/proctable.cpp
@@ -633,29 +633,28 @@ static void
 update_info_mutable_cols(ProcInfo *info)
 {
     GtkTreeModel *model;
-    GtkTreeView *tree = GTK_TREE_VIEW(ProcmanApp::get()->tree);
-    model = gtk_tree_view_get_model(tree);
+    model = gtk_tree_view_get_model(GTK_TREE_VIEW(ProcmanApp::get()->tree));
 
     using procman::tree_store_update;
 
-    tree_store_update(tree, model, &info->node, COL_STATUS, info->status);
-    tree_store_update(tree, model, &info->node, COL_USER, info->user.c_str());
-    tree_store_update(tree, model, &info->node, COL_VMSIZE, info->vmsize);
-    tree_store_update(tree, model, &info->node, COL_MEMRES, info->memres);
-    tree_store_update(tree, model, &info->node, COL_MEMWRITABLE, info->memwritable);
-    tree_store_update(tree, model, &info->node, COL_MEMSHARED, info->memshared);
-    tree_store_update(tree, model, &info->node, COL_MEMXSERVER, info->memxserver);
-    tree_store_update(tree, model, &info->node, COL_CPU, info->pcpu);
-    tree_store_update(tree, model, &info->node, COL_CPU_TIME, info->cpu_time);
-    tree_store_update(tree, model, &info->node, COL_START_TIME, info->start_time);
-    tree_store_update(tree, model, &info->node, COL_NICE, info->nice);
-    tree_store_update(tree, model, &info->node, COL_MEM, info->mem);
-    tree_store_update(tree, model, &info->node, COL_WCHAN, info->wchan);
-    tree_store_update(tree, model, &info->node, COL_CGROUP, info->cgroup_name);
-    tree_store_update(tree, model, &info->node, COL_UNIT, info->unit);
-    tree_store_update(tree, model, &info->node, COL_SESSION, info->session);
-    tree_store_update(tree, model, &info->node, COL_SEAT, info->seat);
-    tree_store_update(tree, model, &info->node, COL_OWNER, info->owner.c_str());
+    tree_store_update(model, &info->node, COL_STATUS, info->status);
+    tree_store_update(model, &info->node, COL_USER, info->user.c_str());
+    tree_store_update(model, &info->node, COL_VMSIZE, info->vmsize);
+    tree_store_update(model, &info->node, COL_MEMRES, info->memres);
+    tree_store_update(model, &info->node, COL_MEMWRITABLE, info->memwritable);
+    tree_store_update(model, &info->node, COL_MEMSHARED, info->memshared);
+    tree_store_update(model, &info->node, COL_MEMXSERVER, info->memxserver);
+    tree_store_update(model, &info->node, COL_CPU, info->pcpu);
+    tree_store_update(model, &info->node, COL_CPU_TIME, info->cpu_time);
+    tree_store_update(model, &info->node, COL_START_TIME, info->start_time);
+    tree_store_update(model, &info->node, COL_NICE, info->nice);
+    tree_store_update(model, &info->node, COL_MEM, info->mem);
+    tree_store_update(model, &info->node, COL_WCHAN, info->wchan);
+    tree_store_update(model, &info->node, COL_CGROUP, info->cgroup_name);
+    tree_store_update(model, &info->node, COL_UNIT, info->unit);
+    tree_store_update(model, &info->node, COL_SESSION, info->session);
+    tree_store_update(model, &info->node, COL_SEAT, info->seat);
+    tree_store_update(model, &info->node, COL_OWNER, info->owner.c_str());
 }
 
 
diff --git a/src/util.cpp b/src/util.cpp
index bdecc53..874ede4 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -579,18 +579,16 @@ namespace procman
     }
 
     template<>
-    void tree_store_update<const char>(GtkTreeView* tree, GtkTreeModel* model, GtkTreeIter* iter, int column, const char* new_value)
+    void tree_store_update<const char>(GtkTreeModel* model, GtkTreeIter* iter, int column, const char* new_value)
     {
-        GtkTreeViewColumn* tree_column = gtk_tree_view_get_column(tree, column+1);
-        if (gtk_tree_view_column_get_visible(tree_column)) {
-            char* current_value;
+        char* current_value;
 
-            gtk_tree_model_get(model, iter, column, &current_value, -1);
+        gtk_tree_model_get(model, iter, column, &current_value, -1);
 
-            if (g_strcmp0(current_value, new_value) != 0)
-                gtk_tree_store_set(GTK_TREE_STORE(model), iter, column, new_value, -1);
-            g_free(current_value);
-        }
+        if (g_strcmp0(current_value, new_value) != 0)
+            gtk_tree_store_set(GTK_TREE_STORE(model), iter, column, new_value, -1);
+
+        g_free(current_value);
     }
 
 
diff --git a/src/util.h b/src/util.h
index ab74c06..9bd4b2c 100644
--- a/src/util.h
+++ b/src/util.h
@@ -121,33 +121,30 @@ namespace procman
     //
 
     template<typename T>
-    void tree_store_update(GtkTreeView* tree, GtkTreeModel* model, GtkTreeIter* iter, int column, const T& new_value)
+    void tree_store_update(GtkTreeModel* model, GtkTreeIter* iter, int column, const T& new_value)
     {
-        GtkTreeViewColumn* tree_column = gtk_tree_view_get_column(tree, column+1);
-        if (gtk_tree_view_column_get_visible(tree_column)) {
-            T current_value;
+        T current_value;
 
-            gtk_tree_model_get(model, iter, column, &current_value, -1);
+        gtk_tree_model_get(model, iter, column, &current_value, -1);
 
-            if (current_value != new_value)
-                gtk_tree_store_set(GTK_TREE_STORE(model), iter, column, new_value, -1);
-        }
+        if (current_value != new_value)
+            gtk_tree_store_set(GTK_TREE_STORE(model), iter, column, new_value, -1);
     }
 
     // undefined
     // catch every thing about pointers
     // just to make sure i'm not doing anything wrong
     template<typename T>
-    void tree_store_update(GtkTreeView* tree, GtkTreeModel* model, GtkTreeIter* iter, int column, T* new_value);
+    void tree_store_update(GtkTreeModel* model, GtkTreeIter* iter, int column, T* new_value);
 
     // specialized versions for strings
     template<>
-    void tree_store_update<const char>(GtkTreeView* tree, GtkTreeModel* model, GtkTreeIter* iter, int column, const char* new_value);
+    void tree_store_update<const char>(GtkTreeModel* model, GtkTreeIter* iter, int column, const char* new_value);
 
     template<>
-    inline void tree_store_update<char>(GtkTreeView* tree, GtkTreeModel* model, GtkTreeIter* iter, int column, char* new_value)
+    inline void tree_store_update<char>(GtkTreeModel* model, GtkTreeIter* iter, int column, char* new_value)
     {
-        tree_store_update<const char>(tree, model, iter, column, new_value);
+        tree_store_update<const char>(model, iter, column, new_value);
     }
 
     gchar* format_size(guint64 size, guint64 max = 0, bool want_bits = false);



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