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