Make frame synchronization conditional on clock_gettime

* src/xfns.c (x_set_parent_frame)
(x_set_use_frame_synchronization):
* src/xterm.c (x_update_begin, show_back_buffer, x_update_end)
(x_display_set_last_user_time, handle_one_xevent):
* src/xterm.h (struct x_output): Define out vsync code when
!HAVE_CLOCK_GETTIME.  (bug#57346)
This commit is contained in:
Po Lu 2022-08-23 20:52:41 +08:00
parent 3b7fb723e6
commit a328bf65ef
3 changed files with 6 additions and 4 deletions

View file

@ -5156,7 +5156,8 @@ This function is an internal primitive--use `make-frame' instead. */)
((STRINGP (value)
&& !strcmp (SSDATA (value), "extended")) ? 2 : 1));
#if defined HAVE_XSYNCTRIGGERFENCE && !defined USE_GTK
#if defined HAVE_XSYNCTRIGGERFENCE && !defined USE_GTK \
&& defined HAVE_CLOCK_GETTIME
x_sync_init_fences (f);
#endif
#endif

View file

@ -7600,7 +7600,7 @@ x_display_set_last_user_time (struct x_display_info *dpyinfo, Time time,
#ifndef USE_GTK
struct frame *focus_frame;
Time old_time;
#if defined HAVE_XSYNC
#if defined HAVE_XSYNC && defined HAVE_CLOCK_GETTIME
uint64_t monotonic_time;
#endif
@ -27024,7 +27024,7 @@ x_free_frame_resources (struct frame *f)
XFreeCursor (FRAME_X_DISPLAY (f), f->output_data.x->bottom_left_corner_cursor);
/* Free sync fences. */
#if defined HAVE_XSYNCTRIGGERFENCE && !defined USE_GTK
#if defined HAVE_XSYNCTRIGGERFENCE && !defined USE_GTK && defined CLOCK_GETTIME
x_sync_free_fences (f);
#endif
}

View file

@ -1577,7 +1577,8 @@ extern void x_make_frame_invisible (struct frame *);
extern void x_iconify_frame (struct frame *);
extern void x_free_frame_resources (struct frame *);
extern void x_wm_set_size_hint (struct frame *, long, bool);
#if defined HAVE_XSYNCTRIGGERFENCE && !defined USE_GTK
#if defined HAVE_XSYNCTRIGGERFENCE && !defined USE_GTK \
&& defined HAVE_CLOCK_GETTIME
extern void x_sync_init_fences (struct frame *);
#endif