comparison src/redisplay.c @ 905:c15f25529e61

[xemacs-hg @ 2002-07-06 21:05:42 by andyp] toolbar redisplay patch
author andyp
date Sat, 06 Jul 2002 21:05:58 +0000
parents 79c6ff3eef26
children 37bdd24225ef
comparison
equal deleted inserted replaced
904:47c30044fc4e 905:c15f25529e61
433 int asynch_device_change_pending; 433 int asynch_device_change_pending;
434 434
435 /* non-nil if any toolbar has changed */ 435 /* non-nil if any toolbar has changed */
436 int toolbar_changed; 436 int toolbar_changed;
437 int toolbar_changed_set; 437 int toolbar_changed_set;
438
439 /* Nonzero if some frame has changed the layout of internal elements
440 (gutters or toolbars). */
441 int frame_layout_changed;
438 442
439 /* non-nil if any gutter has changed */ 443 /* non-nil if any gutter has changed */
440 int gutter_changed; 444 int gutter_changed;
441 int gutter_changed_set; 445 int gutter_changed_set;
442 446
6569 caused by an Expose event generated by the visibility change 6573 caused by an Expose event generated by the visibility change
6570 being handled. */ 6574 being handled. */
6571 update_frame_menubars (f); 6575 update_frame_menubars (f);
6572 #endif /* HAVE_MENUBARS */ 6576 #endif /* HAVE_MENUBARS */
6573 #ifdef HAVE_TOOLBARS 6577 #ifdef HAVE_TOOLBARS
6574 /* Update the toolbars. */ 6578 /* Update the toolbars geometry. We don't update the toolbars
6575 update_frame_toolbars (f); 6579 themselves at this point since the space they are trying to
6580 occupy may currently by occupied by gutter elements. Instead we
6581 update the geometry, then update the gutter geometry, then update
6582 the gutters - which will cause mapped windows to be repositioned
6583 - and finally update the toolbars. */
6584 update_frame_toolbars_geometry (f);
6576 #endif /* HAVE_TOOLBARS */ 6585 #endif /* HAVE_TOOLBARS */
6577 /* Gutter update proper has to be done inside display when no frame 6586 /* Gutter update proper has to be done inside display when no frame
6578 size changes can occur, thus we separately update the gutter 6587 size changes can occur, thus we separately update the gutter
6579 geometry here if it needs it. */ 6588 geometry here if it needs it. */
6580 update_frame_gutter_geometry (f); 6589 update_frame_gutter_geometry (f);
6649 redisplay_windows (f->root_window, 1); 6658 redisplay_windows (f->root_window, 1);
6650 6659
6651 MAYBE_DEVMETH (d, frame_output_end, (f)); 6660 MAYBE_DEVMETH (d, frame_output_end, (f));
6652 6661
6653 update_frame_title (f); 6662 update_frame_title (f);
6663
6664 #ifdef HAVE_TOOLBARS
6665 /* Finally update the toolbars. It seems its possible to get in a
6666 cycle between updating the gutter and the toolbars. Basically we
6667 want to end up with both being up-to-date and this doesn't seem
6668 possible in a single pass. */
6669 update_frame_toolbars (f);
6670 #endif /* HAVE_TOOLBARS */
6654 6671
6655 CLASS_RESET_CHANGED_FLAGS (f); 6672 CLASS_RESET_CHANGED_FLAGS (f);
6656 f->window_face_cache_reset = 0; 6673 f->window_face_cache_reset = 0;
6657 f->echo_area_garbaged = 0; 6674 f->echo_area_garbaged = 0;
6658 f->clear = 0; 6675 f->clear = 0;