aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2011-08-10 10:48:13 +0200
committerJoakim Verona2011-08-10 10:48:13 +0200
commitf49bb00c8056c4590910dbb9928c84cb18431a8a (patch)
tree5992f00508577e0ecb608f90ed4b25f72067c02f
parentfbe9606448e83b91187a7589dd307c2112dfc593 (diff)
downloademacs-f49bb00c8056c4590910dbb9928c84cb18431a8a.tar.gz
emacs-f49bb00c8056c4590910dbb9928c84cb18431a8a.zip
found a way to inhibit blit scrolling which restores proper xwidget movement
-rw-r--r--README.xwidget22
-rw-r--r--src/dispnew.c6
2 files changed, 25 insertions, 3 deletions
diff --git a/README.xwidget b/README.xwidget
index 78f19067c1d..01902702033 100644
--- a/README.xwidget
+++ b/README.xwidget
@@ -1052,13 +1052,29 @@ this used to work great. now it doesn't.
1052suspects: 1052suspects:
1053- XCopyArea 1053- XCopyArea
1054 - x_shift_glyphs_for_insert 1054 - x_shift_glyphs_for_insert
1055 - x_scroll_run 1055 - x_scroll_run. this is run by the try_window* functions, and
1056 inhibiting them dösnt help. but also callid in scrolling_window.
1057
1058
1056- try_window_reusing_current_matrix 1059- try_window_reusing_current_matrix
1057- I used to enable GLYPH_DEBUG which I currently don't. it disables 1060- I used to enable GLYPH_DEBUG which I currently don't. it disables
1058 many optimisations. 1061 many optimisations. this was fixed.
1059- lookup_xwidget then produce_xwidget_glyph gets called always but not 1062- lookup_xwidget then produce_xwidget_glyph gets called always but not
1060x_draw_xwidget_glyph_string probably because of scroll optimization. 1063x_draw_xwidget_glyph_string probably because of scroll optimization.
1061movement detection could possibly be moved to produce_xwidget_glyph 1064movement detection could possibly be moved to produce_xwidget_glyph(not)
1065
1066no longer helps:
1067(setq inhibit-try-window-id t)
1068(setq inhibit-try-window-reusing t)
1069
1070workaround:
1071(run-with-timer 1 1 'redraw-display)
1072
1073seems to work:
1074inhibiting scrolling_window(). and this seem to be enaugh to restore
1075old behaviour, GLYPH_DEBUG doesn't seem needed.
1076
1077
1062** DONE GLYPH_DEBUG doesn't work 1078** DONE GLYPH_DEBUG doesn't work
1063 CLOSED: [2011-08-08 Mon 17:30] 1079 CLOSED: [2011-08-08 Mon 17:30]
1064was stupid accidental line removal that was hard to spot 1080was stupid accidental line removal that was hard to spot
diff --git a/src/dispnew.c b/src/dispnew.c
index b4d2dc2334a..4cffc32b0d7 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -4295,6 +4295,12 @@ scrolling_window (struct window *w, int header_line_p)
4295 break; 4295 break;
4296 } 4296 }
4297 4297
4298#ifdef HAVE_XWIDGETS
4299 //currently this is needed to detect xwidget movement reliably. or probably not.
4300 printf("scrolling_window\n");
4301 return 0;
4302#endif
4303
4298 /* Give up if some rows in the desired matrix are not enabled. */ 4304 /* Give up if some rows in the desired matrix are not enabled. */
4299 if (!MATRIX_ROW (desired_matrix, i)->enabled_p) 4305 if (!MATRIX_ROW (desired_matrix, i)->enabled_p)
4300 return -1; 4306 return -1;