1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00

found a way to inhibit blit scrolling which restores proper xwidget movement

This commit is contained in:
Joakim Verona 2011-08-10 10:48:13 +02:00
parent fbe9606448
commit f49bb00c80
2 changed files with 25 additions and 3 deletions

View file

@ -1052,13 +1052,29 @@ this used to work great. now it doesn't.
suspects:
- XCopyArea
- x_shift_glyphs_for_insert
- x_scroll_run
- x_scroll_run. this is run by the try_window* functions, and
inhibiting them dösnt help. but also callid in scrolling_window.
- try_window_reusing_current_matrix
- I used to enable GLYPH_DEBUG which I currently don't. it disables
many optimisations.
many optimisations. this was fixed.
- lookup_xwidget then produce_xwidget_glyph gets called always but not
x_draw_xwidget_glyph_string probably because of scroll optimization.
movement detection could possibly be moved to produce_xwidget_glyph
movement detection could possibly be moved to produce_xwidget_glyph(not)
no longer helps:
(setq inhibit-try-window-id t)
(setq inhibit-try-window-reusing t)
workaround:
(run-with-timer 1 1 'redraw-display)
seems to work:
inhibiting scrolling_window(). and this seem to be enaugh to restore
old behaviour, GLYPH_DEBUG doesn't seem needed.
** DONE GLYPH_DEBUG doesn't work
CLOSED: [2011-08-08 Mon 17:30]
was stupid accidental line removal that was hard to spot

View file

@ -4295,6 +4295,12 @@ scrolling_window (struct window *w, int header_line_p)
break;
}
#ifdef HAVE_XWIDGETS
//currently this is needed to detect xwidget movement reliably. or probably not.
printf("scrolling_window\n");
return 0;
#endif
/* Give up if some rows in the desired matrix are not enabled. */
if (!MATRIX_ROW (desired_matrix, i)->enabled_p)
return -1;