aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widget_icon.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/widget_icon.c b/widget_icon.c
index bb21918..4f12aac 100644
--- a/widget_icon.c
+++ b/widget_icon.c
@@ -1,4 +1,4 @@
-/* $Id: widget_icon.c,v 1.20 2005/12/18 16:18:36 reinelt Exp $
+/* $Id: widget_icon.c,v 1.21 2006/01/22 10:01:09 reinelt Exp $
*
* icon widget handling
*
@@ -21,6 +21,9 @@
*
*
* $Log: widget_icon.c,v $
+ * Revision 1.21 2006/01/22 10:01:09 reinelt
+ * allow 'static' icons with speed=0
+ *
* Revision 1.20 2005/12/18 16:18:36 reinelt
* GPO's added again
*
@@ -187,7 +190,9 @@ void widget_icon_update(void *Self)
if (Icon->speed_tree != NULL) {
Eval(Icon->speed_tree, &result);
Icon->speed = R2N(&result);
- if (Icon->speed < 10)
+ if (Icon->speed <= 0)
+ Icon->speed = 0;
+ else if (Icon->speed < 10)
Icon->speed = 10;
DelResult(&result);
}
@@ -196,24 +201,25 @@ void widget_icon_update(void *Self)
if (Icon->visible_tree != NULL) {
Eval(Icon->visible_tree, &result);
Icon->visible = R2N(&result);
- if (Icon->visible < 1)
+ if (Icon->visible < 0)
Icon->visible = 0;
DelResult(&result);
}
-
+
/* rotate icon bitmap */
Icon->curmap++;
if (Icon->curmap >= Icon->maxmap)
Icon->curmap = 0;
}
-
+
/* finally, draw it! */
if (W->class->draw)
W->class->draw(W);
-
+
/* add a new one-shot timer */
- timer_add(widget_icon_update, Self, Icon->speed, 1);
-
+ if (Icon->speed > 0) {
+ timer_add(widget_icon_update, Self, Icon->speed, 1);
+ }
}