mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-29 00:31:01 -08:00
Clear frame didn't redraw scrollbars, fixed that.
This commit is contained in:
parent
cea9be5461
commit
0cb35f4e5e
3 changed files with 27 additions and 6 deletions
|
|
@ -1,5 +1,7 @@
|
|||
2003-03-14 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
|
||||
|
||||
* xterm.c (x_clear_frame): Call xg_frame_cleared for GTK.
|
||||
|
||||
* gtkutil.c (struct xg_last_sb_pos): New structure.
|
||||
(handle_fixed_child): New function.
|
||||
(xg_resize_widgets): Call handle_fixed_child on all scroll bar widgets
|
||||
|
|
@ -11,6 +13,7 @@
|
|||
and force a redraw on the scroll bar.
|
||||
(xg_set_toolkit_scroll_bar_thumb): Do not change/redraw scroll bar
|
||||
if xg_last_sb_pos shows the positions are up to date.
|
||||
(xg_frame_cleared): New function.
|
||||
|
||||
2003-03-13 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
|
|
|
|||
|
|
@ -316,6 +316,24 @@ static handle_fixed_child (w, client_data)
|
|||
}
|
||||
}
|
||||
|
||||
/* This gets called after the frame F has been cleared. Since that is
|
||||
done with X calls, we need to redraw GTK widget (scroll bars). */
|
||||
void
|
||||
xg_frame_cleared (f)
|
||||
FRAME_PTR f;
|
||||
{
|
||||
GtkWidget *wfixed = f->output_data.x->edit_widget;
|
||||
|
||||
if (wfixed)
|
||||
{
|
||||
gtk_container_foreach (GTK_CONTAINER (wfixed),
|
||||
(GtkCallback) handle_fixed_child,
|
||||
NULL);
|
||||
gtk_container_set_reallocate_redraws (GTK_CONTAINER (wfixed), TRUE);
|
||||
gdk_window_process_all_updates ();
|
||||
}
|
||||
}
|
||||
|
||||
/* Function to handle resize of our widgets. Since Emacs has some layouts
|
||||
that does not fit well with GTK standard containers, we do most layout
|
||||
manually.
|
||||
|
|
@ -346,12 +364,7 @@ xg_resize_widgets (f, pixelwidth, pixelheight)
|
|||
|
||||
gtk_widget_size_allocate (x->edit_widget, &all);
|
||||
|
||||
gtk_container_foreach (GTK_CONTAINER (x->edit_widget),
|
||||
(GtkCallback) handle_fixed_child,
|
||||
NULL);
|
||||
gtk_container_set_reallocate_redraws (GTK_CONTAINER (x->edit_widget),
|
||||
TRUE);
|
||||
gdk_window_process_all_updates ();
|
||||
xg_frame_cleared (f);
|
||||
|
||||
change_frame_size (f, rows, columns, 0, 1, 0);
|
||||
SET_FRAME_GARBAGED (f);
|
||||
|
|
|
|||
|
|
@ -5343,6 +5343,11 @@ x_clear_frame ()
|
|||
x_scroll_bar_clear (f);
|
||||
|
||||
XFlush (FRAME_X_DISPLAY (f));
|
||||
|
||||
#ifdef USE_GTK
|
||||
xg_frame_cleared (f);
|
||||
#endif
|
||||
|
||||
UNBLOCK_INPUT;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue