X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=src%2Fwindow.c;h=cdf35a0cd6696c603b4cecf9583060974764d912;hp=a63fe35946258a43adcbe2d0175eb998d9a66bac;hb=b73e352f264e9da0a00159dc29f318305cbe8636;hpb=afa9772e3fcbb4e80e3e4cfd1a40b4fccc6d08b8 diff --git a/src/window.c b/src/window.c index a63fe35..cdf35a0 100644 --- a/src/window.c +++ b/src/window.c @@ -1865,6 +1865,12 @@ will automatically call `save-buffers-kill-emacs'.) par = XWINDOW (parent); MARK_FRAME_WINDOWS_STRUCTURE_CHANGED (f); + /* It's quite likely that deleting a window will result in + subwindows needing to be deleted also (since they are cached + per-window). So we mark them as changed, so that the cachels will + get reset by redisplay and thus deleted subwindows can get + GC'd. */ + MARK_FRAME_SUBWINDOWS_CHANGED (f); /* Are we trying to delete any frame's selected window? Note that we could be dealing with a non-leaf window