63ca78e
--- gnome-applets-2.16.0.1/cpufreq/src/cpufreq-applet.c.cpufreq-changes	2006-10-23 23:44:40.000000000 -0400
63ca78e
+++ gnome-applets-2.16.0.1/cpufreq/src/cpufreq-applet.c	2006-10-23 23:45:42.000000000 -0400
63ca78e
@@ -54,6 +54,7 @@
63ca78e
         gboolean          show_perc;
63ca78e
         gboolean          show_unit;
63ca78e
         gboolean          show_icon;
63ca78e
+        gboolean          do_refresh;
63ca78e
 
63ca78e
         CPUFreqMonitor   *monitor;
63ca78e
 
63ca78e
@@ -222,6 +223,8 @@
63ca78e
         applet->size = panel_applet_get_size (PANEL_APPLET (applet));
63ca78e
         applet->orient = panel_applet_get_orient (PANEL_APPLET (applet));
63ca78e
 
63ca78e
+	applet->do_refresh = TRUE;
63ca78e
+
63ca78e
         gtk_widget_show (GTK_WIDGET (applet));
63ca78e
 }
63ca78e
 
63ca78e
@@ -663,7 +666,6 @@
63ca78e
         gint            perc;
63ca78e
         guint           cpu;
63ca78e
         gchar          *governor;
63ca78e
-        static gboolean do_refresh = TRUE;
63ca78e
 
63ca78e
         cpu = cpufreq_monitor_get_cpu (monitor);
63ca78e
         freq = cpufreq_monitor_get_frequency (monitor);
63ca78e
@@ -713,9 +715,9 @@
63ca78e
         g_free (text_tip);
63ca78e
 
63ca78e
         /* Call refresh only the first time */
63ca78e
-        if (do_refresh) {
63ca78e
+        if (applet->do_refresh) {
63ca78e
                 cpufreq_applet_refresh (applet);
63ca78e
-                do_refresh = FALSE;
63ca78e
+                applet->do_refresh = FALSE;
63ca78e
         }
63ca78e
 }
63ca78e
 
63ca78e
@@ -844,6 +846,18 @@
63ca78e
 }
63ca78e
 
63ca78e
 static void
63ca78e
+cpufreq_applet_prefs_cpu_changed (CPUFreqPrefs  *prefs,
63ca78e
+                                  GParamSpec    *arg1,
63ca78e
+                                  CPUFreqApplet *applet)
63ca78e
+{
63ca78e
+	gint cpu;
63ca78e
+
63ca78e
+	cpu = cpufreq_prefs_get_cpu (prefs);
63ca78e
+	cpufreq_monitor_set_cpu (applet->monitor, cpu);
63ca78e
+        cpufreq_applet_update (applet, applet->monitor);
63ca78e
+}
63ca78e
+
63ca78e
+static void
63ca78e
 cpufreq_applet_setup (CPUFreqApplet *applet)
63ca78e
 {
63ca78e
         BonoboUIComponent *popup_component;
63ca78e
@@ -873,9 +887,11 @@
63ca78e
                           "notify::show-text-mode",
63ca78e
                           G_CALLBACK (cpufreq_applet_prefs_show_mode_changed),
63ca78e
                           (gpointer) applet);
63ca78e
+        g_signal_connect (G_OBJECT (applet->prefs),
63ca78e
+                          "notify::cpu",
63ca78e
+                          G_CALLBACK (cpufreq_applet_prefs_cpu_changed),
63ca78e
+                          (gpointer) applet);
63ca78e
         
63ca78e
-        cpufreq_applet_update_visibility (applet);
63ca78e
-
63ca78e
         /* Monitor */
63ca78e
         applet->monitor = cpufreq_monitor_factory_create_monitor (
63ca78e
                 cpufreq_prefs_get_cpu (applet->prefs));
63ca78e
@@ -884,6 +900,8 @@
63ca78e
                                   G_CALLBACK (cpufreq_applet_update),
63ca78e
                                   (gpointer) applet);
63ca78e
            
63ca78e
+        cpufreq_applet_update_visibility (applet);
63ca78e
+
63ca78e
         /* Setup the menus */
63ca78e
         panel_applet_setup_menu_from_file (PANEL_APPLET (applet),
63ca78e
                                            DATADIR,