diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/xterm.c b/src/xterm.c index 9f8afa61cf1..dc9637d35c7 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -6736,7 +6736,7 @@ x_sync_update_begin (struct frame *f) | |||
| 6736 | x_sync_wait_for_frame_drawn_event (f); | 6736 | x_sync_wait_for_frame_drawn_event (f); |
| 6737 | 6737 | ||
| 6738 | /* Since Emacs needs a non-urgent redraw, ensure that value % 4 == | 6738 | /* Since Emacs needs a non-urgent redraw, ensure that value % 4 == |
| 6739 | 0. */ | 6739 | 1. Later, add 3 to create the even counter value. */ |
| 6740 | if (XSyncValueLow32 (value) % 4 == 2) | 6740 | if (XSyncValueLow32 (value) % 4 == 2) |
| 6741 | XSyncIntToValue (&add, 3); | 6741 | XSyncIntToValue (&add, 3); |
| 6742 | else | 6742 | else |
| @@ -6748,7 +6748,7 @@ x_sync_update_begin (struct frame *f) | |||
| 6748 | if (overflow) | 6748 | if (overflow) |
| 6749 | XSyncIntToValue (&FRAME_X_COUNTER_VALUE (f), 3); | 6749 | XSyncIntToValue (&FRAME_X_COUNTER_VALUE (f), 3); |
| 6750 | 6750 | ||
| 6751 | eassert (XSyncValueLow32 (FRAME_X_COUNTER_VALUE (f)) % 4 != 1); | 6751 | eassert (XSyncValueLow32 (FRAME_X_COUNTER_VALUE (f)) % 4 == 1); |
| 6752 | 6752 | ||
| 6753 | XSyncSetCounter (FRAME_X_DISPLAY (f), | 6753 | XSyncSetCounter (FRAME_X_DISPLAY (f), |
| 6754 | FRAME_X_EXTENDED_COUNTER (f), | 6754 | FRAME_X_EXTENDED_COUNTER (f), |
| @@ -6772,7 +6772,15 @@ x_sync_update_finish (struct frame *f) | |||
| 6772 | if (!(XSyncValueLow32 (value) % 2)) | 6772 | if (!(XSyncValueLow32 (value) % 2)) |
| 6773 | return; | 6773 | return; |
| 6774 | 6774 | ||
| 6775 | XSyncIntToValue (&add, 1); | 6775 | if ((XSyncValueLow32 (value) % 4) == 1) |
| 6776 | /* This means the frame is non-urgent and should be drawn at the | ||
| 6777 | next redraw point. */ | ||
| 6778 | XSyncIntToValue (&add, 3); | ||
| 6779 | else | ||
| 6780 | /* Otherwise, the frame is urgent and should be drawn as soon as | ||
| 6781 | possible. */ | ||
| 6782 | XSyncIntToValue (&add, 1); | ||
| 6783 | |||
| 6776 | XSyncValueAdd (&FRAME_X_COUNTER_VALUE (f), | 6784 | XSyncValueAdd (&FRAME_X_COUNTER_VALUE (f), |
| 6777 | value, add, &overflow); | 6785 | value, add, &overflow); |
| 6778 | 6786 | ||