Compare commits
4 Commits
Author | SHA1 | Date |
---|---|---|
Andri Yngvason | 991c766e75 | |
Andri Yngvason | 6421d76629 | |
Andri Yngvason | 743cfe18b3 | |
Andri Yngvason | 346d4b50fc |
|
@ -47,7 +47,6 @@ struct screencopy {
|
|||
|
||||
struct zwlr_screencopy_manager_v1* manager;
|
||||
struct zwlr_screencopy_frame_v1* frame;
|
||||
int version;
|
||||
|
||||
void* userdata;
|
||||
void (*on_done)(struct screencopy*);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
project(
|
||||
'wayvnc',
|
||||
'c',
|
||||
version: '0.4.0',
|
||||
version: '0.4.1',
|
||||
license: 'ISC',
|
||||
default_options: [
|
||||
'c_std=gnu11',
|
||||
|
|
16
src/main.c
16
src/main.c
|
@ -81,8 +81,6 @@ struct wayvnc {
|
|||
struct zwp_virtual_keyboard_manager_v1* keyboard_manager;
|
||||
struct zwlr_virtual_pointer_manager_v1* pointer_manager;
|
||||
|
||||
int pointer_manager_version;
|
||||
|
||||
const struct output* selected_output;
|
||||
const struct seat* selected_seat;
|
||||
|
||||
|
@ -133,8 +131,7 @@ static void registry_add(void* data, struct wl_registry* registry,
|
|||
|
||||
if (strcmp(interface, wl_output_interface.name) == 0) {
|
||||
struct wl_output* wl_output =
|
||||
wl_registry_bind(registry, id, &wl_output_interface,
|
||||
version);
|
||||
wl_registry_bind(registry, id, &wl_output_interface, 3);
|
||||
if (!wl_output)
|
||||
return;
|
||||
|
||||
|
@ -162,8 +159,7 @@ static void registry_add(void* data, struct wl_registry* registry,
|
|||
self->screencopy.manager =
|
||||
wl_registry_bind(registry, id,
|
||||
&zwlr_screencopy_manager_v1_interface,
|
||||
version);
|
||||
self->screencopy.version = version;
|
||||
MIN(3, version));
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -171,8 +167,7 @@ static void registry_add(void* data, struct wl_registry* registry,
|
|||
self->pointer_manager =
|
||||
wl_registry_bind(registry, id,
|
||||
&zwlr_virtual_pointer_manager_v1_interface,
|
||||
version);
|
||||
self->pointer_manager_version = version;
|
||||
MIN(2, version));
|
||||
return;
|
||||
};
|
||||
|
||||
|
@ -959,7 +954,10 @@ int main(int argc, char* argv[])
|
|||
self.pointer_backend.vnc = self.nvnc;
|
||||
self.pointer_backend.output = self.selected_output;
|
||||
|
||||
self.pointer_backend.pointer = self.pointer_manager_version == 2
|
||||
int pointer_manager_version =
|
||||
zwlr_virtual_pointer_manager_v1_get_version(self.pointer_manager);
|
||||
|
||||
self.pointer_backend.pointer = pointer_manager_version >= 2
|
||||
? zwlr_virtual_pointer_manager_v1_create_virtual_pointer_with_output(
|
||||
self.pointer_manager, self.selected_seat->wl_seat,
|
||||
out->wl_output)
|
||||
|
|
|
@ -130,7 +130,8 @@ static void screencopy_buffer(void* data,
|
|||
self->wl_shm_height = height;
|
||||
self->wl_shm_stride = stride;
|
||||
|
||||
if (self->version < 3) {
|
||||
int version = zwlr_screencopy_manager_v1_get_version(self->manager);
|
||||
if (version < 3) {
|
||||
self->have_linux_dmabuf = false;
|
||||
screencopy_buffer_done(data, frame);
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue