[gnome-system-monitor/f15/master] fix >4cpu issue

Matthias Clasen mclasen at fedoraproject.org
Sat Mar 26 22:44:13 UTC 2011


commit fe67a66b0b338a5b9ed05063f419c8fe75419413
Author: Matthias Clasen <mclasen at redhat.com>
Date:   Sat Mar 26 18:43:17 2011 -0400

    fix >4cpu issue

 gnome-system-monitor.spec |   10 ++++++++-
 more-than-4-cpus.patch    |   50 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 59 insertions(+), 1 deletions(-)
---
diff --git a/gnome-system-monitor.spec b/gnome-system-monitor.spec
index ead5eb3..bdf1cd4 100644
--- a/gnome-system-monitor.spec
+++ b/gnome-system-monitor.spec
@@ -12,12 +12,16 @@
 Summary: Process and resource monitor
 Name: gnome-system-monitor
 Version: 2.99.3
-Release: 1%{?dist}
+Release: 2%{?dist}
 License: GPLv2+
 Group: Applications/System
 URL: http://www.gnome.org/
 #VCS: git:git://git.gnome.org/gnome-system-monitor
 Source: http://download.gnome.org/sources/gnome-system-monitor/2.99/%{name}-%{version}.tar.bz2
+
+# https://bugzilla.gnome.org/show_bug.cgi?id=635939
+Patch0: more-than-4-cpus.patch
+
 BuildRequires: libgtop2-devel >= %{libgtop2_version}
 BuildRequires: libwnck-devel >= %{libwnck_version}
 BuildRequires: pango-devel >= %{pango_version}
@@ -49,6 +53,7 @@ such as CPU and memory.
 
 %prep
 %setup -q
+%patch0 -p1 -b .4cpu
 
 %build
 %configure --enable-selinux --disable-scrollkeeper
@@ -85,6 +90,9 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas || :
 
 
 %changelog
+* Sat Mar 26 2011 Matthias Clasen <mclasen at redhat.com> - 2.99.3-2
+- Fix runtime error with > 4 cpus
+
 * Fri Mar 25 2011 Matthias Clasen <mclasen at redhat.com> - 2.99.3-1
 - Update to 2.99.3
 
diff --git a/more-than-4-cpus.patch b/more-than-4-cpus.patch
new file mode 100644
index 0000000..3fe89ac
--- /dev/null
+++ b/more-than-4-cpus.patch
@@ -0,0 +1,50 @@
+From 9f6a52fa2b1a9e423808959a2ce7fea37f67656c Mon Sep 17 00:00:00 2001
+From: Marc-Antoine Perennou <Marc-Antoine at Perennou.com>
+Date: Fri, 25 Mar 2011 18:11:21 +0100
+Subject: [PATCH] Temporary workaround for CPU with more than 4 cores
+
+We do not provide colors after cpu-color3 in the schema
+Use only the 4 colors from the scheme for now
+---
+ src/callbacks.cpp |    2 +-
+ src/procman.cpp   |    4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/callbacks.cpp b/src/callbacks.cpp
+index 88d1f3d..7c7e6e3 100644
+--- a/src/callbacks.cpp
++++ b/src/callbacks.cpp
+@@ -235,7 +235,7 @@ cb_cpu_color_changed (GSMColorButton *cp, gpointer data)
+ 	gint i = GPOINTER_TO_INT (data);
+ 	GSettings *settings = g_settings_new (GSM_GSETTINGS_SCHEMA);
+ 
+-	g_snprintf(key, sizeof key, "cpu-color%d", i);
++	g_snprintf(key, sizeof key, "cpu-color%d", i%4);
+ 
+ 	change_settings_color(settings, key, cp);
+ }
+diff --git a/src/procman.cpp b/src/procman.cpp
+index 9b9292a..daebdc7 100644
+--- a/src/procman.cpp
++++ b/src/procman.cpp
+@@ -181,7 +181,7 @@ color_changed_cb (GSettings *settings, const gchar *key, gpointer data)
+ 
+ 	if (g_str_has_prefix (key, "cpu-color")) {
+ 		for (int i = 0; i < procdata->config.num_cpus; i++) {
+-			string cpu_key = make_string(g_strdup_printf("cpu-color%d", i));
++			string cpu_key = make_string(g_strdup_printf("cpu-color%d", i%4));
+ 			if (cpu_key == key) {
+ 				gdk_color_parse (color, &procdata->config.cpu_color[i]);
+ 				procdata->cpu_graph->colors.at(i) = procdata->config.cpu_color[i];
+@@ -279,7 +279,7 @@ procman_data_new (GSettings *settings)
+         
+ 	for (int i = 0; i < pd->config.num_cpus; i++) {
+ 		gchar *key;
+-		key = g_strdup_printf ("cpu-color%d", i);
++		key = g_strdup_printf ("cpu-color%d", i%4);
+ 
+ 		color = g_settings_get_string (settings, key);
+ 		if (!color)
+-- 
+1.7.4.1.433.gcd306.dirty
+


More information about the scm-commits mailing list