diff options
| author | Jan Djärv | 2003-03-14 19:13:17 +0000 |
|---|---|---|
| committer | Jan Djärv | 2003-03-14 19:13:17 +0000 |
| commit | 0cb35f4e5eee28ef019aaccc03e65b02556b8521 (patch) | |
| tree | ecebd3b0a9fb7e2baede1924e126060a3a11618b /src/gtkutil.c | |
| parent | cea9be546103f4ab47fb4a18bc3db06bbd49efe5 (diff) | |
| download | emacs-0cb35f4e5eee28ef019aaccc03e65b02556b8521.tar.gz emacs-0cb35f4e5eee28ef019aaccc03e65b02556b8521.zip | |
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 51cc2f1cf1b..0b8f9294612 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -316,6 +316,24 @@ static handle_fixed_child (w, client_data) | |||
| 316 | } | 316 | } |
| 317 | } | 317 | } |
| 318 | 318 | ||
| 319 | /* This gets called after the frame F has been cleared. Since that is | ||
| 320 | done with X calls, we need to redraw GTK widget (scroll bars). */ | ||
| 321 | void | ||
| 322 | xg_frame_cleared (f) | ||
| 323 | FRAME_PTR f; | ||
| 324 | { | ||
| 325 | GtkWidget *wfixed = f->output_data.x->edit_widget; | ||
| 326 | |||
| 327 | if (wfixed) | ||
| 328 | { | ||
| 329 | gtk_container_foreach (GTK_CONTAINER (wfixed), | ||
| 330 | (GtkCallback) handle_fixed_child, | ||
| 331 | NULL); | ||
| 332 | gtk_container_set_reallocate_redraws (GTK_CONTAINER (wfixed), TRUE); | ||
| 333 | gdk_window_process_all_updates (); | ||
| 334 | } | ||
| 335 | } | ||
| 336 | |||
| 319 | /* Function to handle resize of our widgets. Since Emacs has some layouts | 337 | /* Function to handle resize of our widgets. Since Emacs has some layouts |
| 320 | that does not fit well with GTK standard containers, we do most layout | 338 | that does not fit well with GTK standard containers, we do most layout |
| 321 | manually. | 339 | manually. |
| @@ -346,12 +364,7 @@ xg_resize_widgets (f, pixelwidth, pixelheight) | |||
| 346 | 364 | ||
| 347 | gtk_widget_size_allocate (x->edit_widget, &all); | 365 | gtk_widget_size_allocate (x->edit_widget, &all); |
| 348 | 366 | ||
| 349 | gtk_container_foreach (GTK_CONTAINER (x->edit_widget), | 367 | xg_frame_cleared (f); |
| 350 | (GtkCallback) handle_fixed_child, | ||
| 351 | NULL); | ||
| 352 | gtk_container_set_reallocate_redraws (GTK_CONTAINER (x->edit_widget), | ||
| 353 | TRUE); | ||
| 354 | gdk_window_process_all_updates (); | ||
| 355 | 368 | ||
| 356 | change_frame_size (f, rows, columns, 0, 1, 0); | 369 | change_frame_size (f, rows, columns, 0, 1, 0); |
| 357 | SET_FRAME_GARBAGED (f); | 370 | SET_FRAME_GARBAGED (f); |