static void
XTframe_up_to_date (struct frame *f)
{
+#ifdef HAVE_XSYNC
+ XSyncValue add;
+ XSyncValue current;
+ Bool overflow_p;
+#endif
+
eassert (FRAME_X_P (f));
block_input ();
FRAME_MOUSE_UPDATE (f);
if (FRAME_X_OUTPUT (f)->ext_sync_end_pending_p
&& FRAME_X_EXTENDED_COUNTER (f) != None)
{
- XSyncValue add;
- Bool overflow_p;
+ current = FRAME_X_OUTPUT (f)->current_extended_counter_value;
+
+ if (XSyncValueLow32 (current) % 2)
+ XSyncIntToValue (&add, 1);
+ else
+ XSyncIntToValue (&add, 2);
- XSyncIntToValue (&add, 1);
XSyncValueAdd (&FRAME_X_OUTPUT (f)->current_extended_counter_value,
- add, add, &overflow_p);
+ current, add, &overflow_p);
if (overflow_p)
emacs_abort ();