mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-20 01:40:14 -05:00
replace gettimeofday with clock_gettime
POSIX.1-2008 has marked gettimeofday(2) as obsolete, recommending the use of clock_gettime(2) instead. CLOCK_MONOTONIC has been used instead of CLOCK_REALTIME because it is unaffected by manual changes in the system clock. This makes it better for our purposes, namely, measuring the difference between two points in time. tv_sec has been casted to long in most places since POSIX does not define the actual type of time_t.
This commit is contained in:
parent
0d649408a0
commit
0da19a81bc
12 changed files with 123 additions and 103 deletions
9
input.c
9
input.c
|
|
@ -8,7 +8,6 @@
|
|||
#include <errno.h>
|
||||
#include <wctype.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/timerfd.h>
|
||||
#include <sys/epoll.h>
|
||||
#include <fcntl.h>
|
||||
|
|
@ -2164,12 +2163,12 @@ wl_pointer_button(void *data, struct wl_pointer *wl_pointer,
|
|||
|
||||
if (state == WL_POINTER_BUTTON_STATE_PRESSED) {
|
||||
/* Time since last click */
|
||||
struct timeval now, since_last;
|
||||
gettimeofday(&now, NULL);
|
||||
timersub(&now, &seat->mouse.last_time, &since_last);
|
||||
struct timespec now, since_last;
|
||||
clock_gettime(CLOCK_MONOTONIC, &now);
|
||||
timespec_sub(&now, &seat->mouse.last_time, &since_last);
|
||||
|
||||
if (seat->mouse.last_released_button == button &&
|
||||
since_last.tv_sec == 0 && since_last.tv_usec <= 300 * 1000)
|
||||
since_last.tv_sec == 0 && since_last.tv_nsec <= 300 * 1000 * 1000)
|
||||
{
|
||||
seat->mouse.count++;
|
||||
} else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue