diff options
| -rw-r--r-- | src/xdisp.c | 5 | ||||
| -rw-r--r-- | src/xterm.c | 2 | ||||
| -rw-r--r-- | src/xwidget.c | 5 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 7274c129d2c..6fed6287496 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -14691,6 +14691,11 @@ try_window_reusing_current_matrix (struct window *w) | |||
| 14691 | struct glyph_row *start_row; | 14691 | struct glyph_row *start_row; |
| 14692 | int start_vpos, min_y, max_y; | 14692 | int start_vpos, min_y, max_y; |
| 14693 | 14693 | ||
| 14694 | return 0; | ||
| 14695 | //xwidgets doesnt like blit scrolling and stuff, try this for now | ||
| 14696 | //should be optimized, perhaps by just inhibiting optimizations of windows containing xwidgets. | ||
| 14697 | |||
| 14698 | |||
| 14694 | #if GLYPH_DEBUG | 14699 | #if GLYPH_DEBUG |
| 14695 | if (inhibit_try_window_reusing) | 14700 | if (inhibit_try_window_reusing) |
| 14696 | return 0; | 14701 | return 0; |
diff --git a/src/xterm.c b/src/xterm.c index 4790b75f923..41d7ffd73fc 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -10384,7 +10384,7 @@ static struct redisplay_interface x_redisplay_interface = | |||
| 10384 | x_write_glyphs, | 10384 | x_write_glyphs, |
| 10385 | x_insert_glyphs, | 10385 | x_insert_glyphs, |
| 10386 | x_clear_end_of_line, | 10386 | x_clear_end_of_line, |
| 10387 | x_scroll_run, | 10387 | x_scroll_run, //maybe xwidgets dont work too well with scrolling by blitting |
| 10388 | x_after_update_window_line, | 10388 | x_after_update_window_line, |
| 10389 | x_update_window_begin, | 10389 | x_update_window_begin, |
| 10390 | x_update_window_end, | 10390 | x_update_window_end, |
diff --git a/src/xwidget.c b/src/xwidget.c index 78e2e718c0b..ac00ebeff7b 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -354,10 +354,15 @@ x_draw_xwidget_glyph_string (struct glyph_string *s) | |||
| 354 | 354 | ||
| 355 | BUG it seems this method for some reason is called with bad s->x and s->y sometimes. | 355 | BUG it seems this method for some reason is called with bad s->x and s->y sometimes. |
| 356 | When this happens the xwidget doesnt move on screen as it should. | 356 | When this happens the xwidget doesnt move on screen as it should. |
| 357 | This maybe might perhaps be because of x_scroll_run. Maybe emacs decide to scroll the screen by blitting sometime, | ||
| 358 | for reasons unknown. then maybe emacs doesnt try to actualy call the paint routines, which means this here code will never | ||
| 359 | run so the xwidget wont know it has been moved. hmm. | ||
| 357 | 360 | ||
| 361 | |||
| 358 | BUG the phantoming code doesnt work very well when the live xwidget is off screen. | 362 | BUG the phantoming code doesnt work very well when the live xwidget is off screen. |
| 359 | you will get weirdo display artefacts. Composition ought to solve this, since that means the live window is | 363 | you will get weirdo display artefacts. Composition ought to solve this, since that means the live window is |
| 360 | always available in an off-screen buffer. My current attempt at composition doesnt work properly however. | 364 | always available in an off-screen buffer. My current attempt at composition doesnt work properly however. |
| 365 | |||
| 361 | 366 | ||
| 362 | */ | 367 | */ |
| 363 | int box_line_hwidth = eabs (s->face->box_line_width); | 368 | int box_line_hwidth = eabs (s->face->box_line_width); |