static void state_start_stop(void)
{
pid_t daemon_pid;
+gboolean daemon_running;
+static gboolean last_daemon_running,last_daemon_running_set=FALSE;
daemon_pid=is_daemon_running();
- gboolean daemon_running=((pid_t)-1!=daemon_pid);
+ daemon_running=((pid_t)-1!=daemon_pid);
+
+ /* Cache the result; maybe not needed. */
+ if (last_daemon_running_set && last_daemon_running==daemon_running)
+ return;
+ last_daemon_running=daemon_running;
+ last_daemon_running_set=TRUE;
+
gtk_widget_set_sensitive(GTK_WIDGET(ButtonStart),!daemon_running);
gtk_widget_set_sensitive(GTK_WIDGET(ButtonStop) , daemon_running);
gtk_widget_set_sensitive(GTK_WIDGET(PortHBox) ,!daemon_running);