- Timestamp:
- Jun 2, 2010, 9:41:22 PM (14 years ago)
- Branches:
- master, release-1.10, release-1.7, release-1.8, release-1.9
- Children:
- d15ea5f
- Parents:
- 678a505c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
window.c
r678a505c rf91767d 42 42 static void _owl_window_unrealize(owl_window *w); 43 43 44 static void _owl_window_redraw_cleanup(owl_window *w, WINDOW *win);45 46 44 static owl_window *cursor_owner; 47 45 … … 56 54 gobject_class->finalize = owl_window_finalize; 57 55 58 klass->redraw = _owl_window_redraw_cleanup;56 klass->redraw = NULL; 59 57 klass->resized = NULL; 60 58 … … 362 360 if (!w->dirty) return; 363 361 if (w->win) { 362 if (!owl_window_is_toplevel(w)) { 363 /* If a subwin, we might have gotten random touched lines from wsyncup or 364 * past drawing. That information is useless, so we discard it all */ 365 untouchwin(w->win); 366 } 364 367 g_signal_emit(w, window_signals[REDRAW], 0, w->win); 368 wsyncup(w->win); 365 369 } 366 370 w->dirty = 0; … … 383 387 _owl_window_redraw_subtree(owl_window_get_screen()); 384 388 update_panels(); 385 if (cursor_owner && cursor_owner->win) 389 if (cursor_owner && cursor_owner->win) { 390 /* untouch it to avoid drawing; window should be clean now, but we must 391 * clean up in case there was junk left over on a subwin (cleaning up after 392 * subwin drawing isn't sufficient because a wsyncup messes up subwin 393 * ancestors */ 394 untouchwin(cursor_owner->win); 386 395 wnoutrefresh(cursor_owner->win); 387 } 388 389 static void _owl_window_redraw_cleanup(owl_window *w, WINDOW *win) 390 { 391 wsyncup(win); 396 } 392 397 } 393 398
Note: See TracChangeset
for help on using the changeset viewer.