comparison lwlib/lwlib.c @ 14879:70f79ccb9875

(merge_widget_value): Set the this_one_change field.
author Richard M. Stallman <rms@gnu.org>
date Mon, 25 Mar 1996 01:47:33 +0000
parents d9cafe0ebb7d
children d0d30042bdc4
comparison
equal deleted inserted replaced
14878:487b03096cc5 14879:70f79ccb9875
236 copy->key = safe_strdup (val->key); 236 copy->key = safe_strdup (val->key);
237 copy->enabled = val->enabled; 237 copy->enabled = val->enabled;
238 copy->selected = val->selected; 238 copy->selected = val->selected;
239 copy->edited = False; 239 copy->edited = False;
240 copy->change = change; 240 copy->change = change;
241 copy->this_one_change = change;
241 copy->contents = copy_widget_value_tree (val->contents, change); 242 copy->contents = copy_widget_value_tree (val->contents, change);
242 copy->call_data = val->call_data; 243 copy->call_data = val->call_data;
243 copy->next = copy_widget_value_tree (val->next, change); 244 copy->next = copy_widget_value_tree (val->next, change);
244 copy->toolkit_data = NULL; 245 copy->toolkit_data = NULL;
245 copy->free_toolkit_data = False; 246 copy->free_toolkit_data = False;
437 merge_widget_value (val1, val2, level) 438 merge_widget_value (val1, val2, level)
438 widget_value* val1; 439 widget_value* val1;
439 widget_value* val2; 440 widget_value* val2;
440 int level; 441 int level;
441 { 442 {
442 change_type change; 443 change_type change, this_one_change;
443 widget_value* merged_next; 444 widget_value* merged_next;
444 widget_value* merged_contents; 445 widget_value* merged_contents;
445 446
446 if (!val1) 447 if (!val1)
447 { 448 {
528 } 529 }
529 530
530 val1->contents = merged_contents; 531 val1->contents = merged_contents;
531 } 532 }
532 533
534 this_one_change = change;
535
533 merged_next = merge_widget_value (val1->next, val2->next, level); 536 merged_next = merge_widget_value (val1->next, val2->next, level);
534 537
535 if (val1->next && !merged_next) 538 if (val1->next && !merged_next)
536 { 539 {
537 EXPLAIN (val1->name, change, STRUCTURAL_CHANGE, "(following gone)", 540 EXPLAIN (val1->name, change, STRUCTURAL_CHANGE, "(following gone)",
546 change = max (change, merged_next->change); 549 change = max (change, merged_next->change);
547 } 550 }
548 551
549 val1->next = merged_next; 552 val1->next = merged_next;
550 553
554 val1->this_one_change = this_one_change;
551 val1->change = change; 555 val1->change = change;
552 556
553 if (change > NO_CHANGE && val1->toolkit_data) 557 if (change > NO_CHANGE && val1->toolkit_data)
554 { 558 {
555 if (val1->free_toolkit_data) 559 if (val1->free_toolkit_data)