lw_copy_widget_value_args (new, old);
changed = True;
}
+ else if (new->args && new->args == old->args && new->args->args_changed == True)
+ {
+ changed = True;
+ }
return changed;
}
update_one_widget_instance (instance, deep_p);
for (val = info->val; val; val = val->next)
- val->change = NO_CHANGE;
+ {
+ val->change = NO_CHANGE;
+ if (val->args)
+ val->args->args_changed = False;
+ }
}
void
update_one_widget_instance (instance, True);
for (val = instance->info->val; val; val = val->next)
- val->change = NO_CHANGE;
+ {
+ val->change = NO_CHANGE;
+ if (val->args)
+ val->args->args_changed = False;
+ }
}
/* strcasecmp() is not sufficiently portable or standard,
}
static widget_creation_function
-find_in_table (const char *type, widget_creation_entry *table)
+find_in_table (const char *type, const widget_creation_entry table[])
{
- widget_creation_entry *cur;
+ const widget_creation_entry *cur;
for (cur = table; cur->type; cur++)
if (!ascii_strcasecmp (type, cur->type))
return cur->function;
if (wv->args->nargs > 10)
return;
+ /* Register the change. */
+ wv->args->args_changed = True;
/* If the arg is already there then we must replace it. */
for (i = 0; i < wv->args->nargs; i++)
{