I think I found the problem. If I modify MARK_FRAME_SUBWINDOWS_CHANGED
in frame-impl.h to also mark the mirror as dirty then the problem is
fixed. I'm guessing that the problem lies elsewhere, however.
-Aaron
diff -u frame-impl.h~ frame-impl.h
--- frame-impl.h~ Sat Jul 6 14:05:52 2002
+++ frame-impl.h Thu Jan 30 23:46:13 2003
@@ -324,6 +324,7 @@
#define MARK_FRAME_SUBWINDOWS_CHANGED(f) do { \
struct frame *mfgc_f = (f); \
mfgc_f->subwindows_changed = 1; \
+ mfgc_f->mirror_dirty = 1; \
mfgc_f->modiff++; \
if (!NILP (mfgc_f->device)) \
{ \