int drv_generic_gpio_draw(WIDGET * W)
{
WIDGET_GPO *gpo = W->data;
- int num = gpo->num;
- int val = gpo->val;
+ int num, val;
+
+ num = W->row;
+ val = P2N(&gpo->expression);
if (num < 0 || num >= GPOS) {
error("%s: gpio_draw(%d): GPO out of range (0..%d)", Driver, num + 1, GPOS);
property_eval(&GPO->expression);
property_eval(&GPO->update);
- GPO->num = W->row;
- GPO->val = P2N(&GPO->expression);
-
/* finally, draw it! */
if (W->class->draw)
W->class->draw(W);
typedef struct WIDGET_GPO {
PROPERTY expression; /* main GPO expression */
PROPERTY update; /* update interval (msec) */
- int num; /* GPO number */
- int val; /* GPO value */
} WIDGET_GPO;