window decoration changes applied immediately
[psensor.git] / src / main.c
index a1af9bc..6d23b80 100644 (file)
@@ -227,11 +227,14 @@ static void cb_alarm_raised(struct psensor *sensor, void *data)
 static void
 associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
 {
-       struct psensor **sensor_cur = sensors;
        bool ret;
+       struct psensor *s;
+       double d, high_temp;
 
-       while (*sensor_cur) {
-               struct psensor *s = *sensor_cur;
+       high_temp = config_get_default_high_threshold_temperature();
+
+       while (*sensors) {
+               s = *sensors;
 
                s->cb_alarm_raised = cb_alarm_raised;
                s->cb_alarm_raised_data = ui;
@@ -239,8 +242,14 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
                ret = config_get_sensor_alarm_high_threshold
                        (s->id, &s->alarm_high_threshold);
 
-               if (!ret && s->max != UNKNOWN_DBL_VALUE)
-                       s->alarm_high_threshold = s->max;
+               if (!ret) {
+                       if (s->max == UNKNOWN_DBL_VALUE) {
+                               if (s->type & SENSOR_TYPE_TEMP)
+                                       s->alarm_high_threshold = high_temp;
+                       } else {
+                               s->alarm_high_threshold = s->max;
+                       }
+               }
 
                ret = config_get_sensor_alarm_low_threshold
                        (s->id, &s->alarm_low_threshold);
@@ -248,7 +257,7 @@ associate_cb_alarm_raised(struct psensor **sensors, struct ui_psensor *ui)
                if (!ret && s->min != UNKNOWN_DBL_VALUE)
                        s->alarm_low_threshold = s->min;
 
-               sensor_cur++;
+               sensors++;
        }
 }