diff options
author | Jan Djärv <[email protected]> | 2003-03-14 19:13:17 +0000 |
---|---|---|
committer | Jan Djärv <[email protected]> | 2003-03-14 19:13:17 +0000 |
commit | 0cb35f4e5eee28ef019aaccc03e65b02556b8521 (patch) | |
tree | ecebd3b0a9fb7e2baede1924e126060a3a11618b /src/gtkutil.c | |
parent | cea9be546103f4ab47fb4a18bc3db06bbd49efe5 (diff) |
Clear frame didn't redraw scrollbars, fixed that.
Diffstat (limited to 'src/gtkutil.c')
-rw-r--r-- | src/gtkutil.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/gtkutil.c b/src/gtkutil.c index 51cc2f1cf1..0b8f929461 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -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); |