summaryrefslogtreecommitdiff
path: root/user
diff options
context:
space:
mode:
Diffstat (limited to 'user')
-rw-r--r--user/x11vnc/APKBUILD2
-rw-r--r--user/x11vnc/time64.patch78
2 files changed, 80 insertions, 0 deletions
diff --git a/user/x11vnc/APKBUILD b/user/x11vnc/APKBUILD
index e699202f7..b9154729b 100644
--- a/user/x11vnc/APKBUILD
+++ b/user/x11vnc/APKBUILD
@@ -12,6 +12,7 @@ makedepends="cairo-dev libjpeg-turbo-dev libvncserver-dev libxcursor-dev
openssl-dev utmps-dev zlib-dev autoconf automake"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/LibVNC/x11vnc/archive/$pkgver.tar.gz
+ time64.patch
utmps.patch
"
@@ -41,4 +42,5 @@ package() {
}
sha512sums="69f65ee312f8dede6051b401304987502a213c6c28c7f41e855734f11de1fae14d5d493dc9c28b2e4b7c0be55f8dbd3b35dd2610aae910183772c3e626736fec x11vnc-0.9.16.tar.gz
+764dc0d22f4b167b7683b1551a6d8cc8ea6745fdd9791422404ef604186930615b52ef1bf66fd03dd9c6eed18845ff4a1e5a235eee80810177e082359a8c4766 time64.patch
8aaa6d1fd9e795a60cad162f2b21fe96cd3a7076a0c4fae6e6b0021881bd019312a678fa3ed69b694da36ee64cc0601812da5df96c6461baf68b7e70adf6cd4e utmps.patch"
diff --git a/user/x11vnc/time64.patch b/user/x11vnc/time64.patch
new file mode 100644
index 000000000..663684716
--- /dev/null
+++ b/user/x11vnc/time64.patch
@@ -0,0 +1,78 @@
+--- x11vnc-0.9.16/src/uinput.c.old 2019-01-05 13:22:11.000000000 +0000
++++ x11vnc-0.9.16/src/uinput.c 2020-01-24 04:49:39.479206612 +0000
+@@ -710,6 +710,7 @@
+ static void ptr_move(int dx, int dy) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tv;
+ int d = direct_rel_fd < 0 ? fd : direct_rel_fd;
+
+ if (injectable && strchr(injectable, 'M') == NULL) {
+@@ -720,7 +721,9 @@
+
+ if (db) fprintf(stderr, "ptr_move(%d, %d) fd=%d\n", dx, dy, d);
+
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tv, NULL);
++ ev.input_event_sec = tv.tv_sec;
++ ev.input_event_usec = tv.tv_usec;
+ ev.type = EV_REL;
+ ev.code = REL_Y;
+ ev.value = dy;
+@@ -755,6 +758,7 @@
+ static void ptr_abs(int x, int y, int p) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tv;
+ int x0, y0;
+ int d = direct_abs_fd < 0 ? fd : direct_abs_fd;
+
+@@ -773,7 +777,9 @@
+
+ if (db) fprintf(stderr, "ptr_abs(%d, %d => %d %d, p=%d) fd=%d\n", x0, y0, x, y, p, d);
+
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tv, NULL);
++ ev.input_event_sec = tv.tv_sec;
++ ev.input_event_usec = tv.tv_usec;
+ ev.type = EV_ABS;
+ ev.code = ABS_Y;
+ ev.value = y;
+@@ -950,6 +956,7 @@
+ static void button_click(int down, int btn) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tv;
+ int d = direct_btn_fd < 0 ? fd : direct_btn_fd;
+
+ if (injectable && strchr(injectable, 'B') == NULL) {
+@@ -959,7 +966,9 @@
+ if (db) fprintf(stderr, "button_click: btn %d %s fd=%d\n", btn, down ? "down" : "up", d);
+
+ memset(&ev, 0, sizeof(ev));
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tv, NULL);
++ ev.input_event_sec = tv.tv_sec;
++ ev.input_event_usec = tv.tv_usec;
+ ev.type = EV_KEY;
+ ev.value = down;
+
+@@ -1230,6 +1239,7 @@
+ void uinput_key_command(int down, int keysym, rfbClientPtr client) {
+ #ifdef UINPUT_OK
+ struct input_event ev;
++ struct timeval tv;
+ int scancode;
+ allowed_input_t input;
+ int d = direct_key_fd < 0 ? fd : direct_key_fd;
+@@ -1253,7 +1263,9 @@
+ if (db) fprintf(stderr, "uinput_key_command: %d -> %d %s fd=%d\n", keysym, scancode, down ? "down" : "up", d);
+
+ memset(&ev, 0, sizeof(ev));
+- gettimeofday(&ev.time, NULL);
++ gettimeofday(&tv, NULL);
++ ev.input_event_sec = tv.tv_sec;
++ ev.input_event_usec = tv.tv_usec;
+ ev.type = EV_KEY;
+ ev.code = (unsigned char) scancode;
+ ev.value = down;