changeset 1752:84acc03a7080

[xemacs-hg @ 2003-10-15 09:09:35 by stephent] Fdelete_window fix 2003-09-30 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in: Clean up the *clean and *lock targets. 2003-09-22 Stephen J. Turnbull <stephen@xemacs.org> * Makefile.in.in (XE_CFLAGS): New variant on CFLAGS for XEMACS_CC.
author stephent
date Wed, 15 Oct 2003 09:09:38 +0000
parents 5a9a66ba67ca
children 588465af3ca1
files src/ChangeLog src/window.c
diffstat 2 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Oct 15 08:56:39 2003 +0000
+++ b/src/ChangeLog	Wed Oct 15 09:09:38 2003 +0000
@@ -1,3 +1,8 @@
+2003-10-11  Olivier Galibert  <galibert@pobox.com>
+
+	* window.c (Fdelete_window): Dirty the mirror structure _before_
+	marking the window deleted.
+
 2003-10-14  Jerry James  <james@xemacs.org>
 
 	* Makefile.in.in (shlib_objs): Remove emodules.o.
--- a/src/window.c	Wed Oct 15 08:56:39 2003 +0000
+++ b/src/window.c	Wed Oct 15 09:09:38 2003 +0000
@@ -2305,9 +2305,13 @@
   else if (!NILP (w->vchild))
     delete_all_subwindows (XWINDOW (w->vchild));
 
+  /* Warning: mark_window_as_deleted calls window_unmap_subwindows and
+     therefore redisplay, so it requires the mirror structure to be
+     correct.  We must dirty the mirror before it is called.  */
+  f->mirror_dirty = 1;
+
   mark_window_as_deleted (w);
 
-  f->mirror_dirty = 1;
   return Qnil;
 }