>>>> "Andy" == Andy Piper <andyp(a)bea.com>
writes:
Andy> At 05:08 PM 1/20/02 +0100, Adrian Aichner wrote:
>>
>>>> "Andy" == Andy
Piper <andyp(a)bea.com> writes:
>>
Andy> I think we should do what Ben says and try commenting out
Andy> the call to update_window_scrollbars. The alternative would
>
> Something like this?
>
> Index: window.c
> ===================================================================
> RCS file: /pack/xemacscvs/XEmacs/xemacs/src/window.c,v
> retrieving revision 1.52.2.1.2.3
> diff -u -u -r1.52.2.1.2.3 window.c
> --- window.c 2001/12/01 05:54:21 1.52.2.1.2.3
> +++ window.c 2002/01/20 15:52:49
> @@ -386,9 +386,6 @@
mir-> current_display_lines = Dynarr_new
(display_line);
mir-> desired_display_lines = Dynarr_new (display_line);
>
> -#ifdef HAVE_SCROLLBARS
> - update_window_scrollbars (XWINDOW (win), mir, 0, 0);
> -#endif
mir-> buffer = NULL;
> }
Andy> No I mean in mark_redisplay(). We should update the window mirrors
Andy> before going into GC.
Andy> be to do this before we go into GC. We could do this by
Andy> having a run_pre_gc_actions which does the same as
Andy> run_post_gc_actions and then does the update there. I don't
>
> I wonder why the implementer of run_post_gc_actions has not
> implemented run_pre_gc_actions as well. Could you think of a reason
> why this would not be a good idea?
Andy> The reason Ben did not do this is because run_post_gc_actions is
Andy> supposed to be used for cleaning up things that cannot be deleted in
Andy> GC (e.g. GUI windows). Before GC is run this condition does not
Andy> exist. However, there is no reason I can think of why this isn't a
Andy> good idea.
I guess run_pre_gc_actions looks like a winner?
Will take a shot at this tonite.
> What would we set up for register_pre_gc_action?
>
> Just a function doing
>
> #ifdef HAVE_SCROLLBARS
> update_window_scrollbars (XWINDOW (win), mir, 0, 0);
> #endif
>
> perhaps?
Andy> Right, but looping over all frames as per mark_redisplay()
OK.
Andy> andy
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/