mirror of
https://github.com/artizirk/wdisplays.git
synced 2024-11-22 00:40:59 +02:00
Use correct versions when binding globals
Changes to protocols aren't forward-compatible. It's not possible to use version n+1 when a client has been designed to work with version n. For instance in wlr-screencopy v5 a new event has been added. Binding to version 5 without upgrading the client leads to libwayland errors because libwayland doesn't know how to handle the event. The client needs to maintain its own version requirements. Closes: https://github.com/cyclopsian/wdisplays/issues/18
This commit is contained in:
parent
dd7e1e22ee
commit
5198a9c94b
@ -534,20 +534,20 @@ static void registry_handle_global(void *data, struct wl_registry *registry,
|
|||||||
|
|
||||||
if (strcmp(interface, zwlr_output_manager_v1_interface.name) == 0) {
|
if (strcmp(interface, zwlr_output_manager_v1_interface.name) == 0) {
|
||||||
state->output_manager = wl_registry_bind(registry, name,
|
state->output_manager = wl_registry_bind(registry, name,
|
||||||
&zwlr_output_manager_v1_interface, version);
|
&zwlr_output_manager_v1_interface, 1);
|
||||||
zwlr_output_manager_v1_add_listener(state->output_manager,
|
zwlr_output_manager_v1_add_listener(state->output_manager,
|
||||||
&output_manager_listener, state);
|
&output_manager_listener, state);
|
||||||
} else if (strcmp(interface, zxdg_output_manager_v1_interface.name) == 0) {
|
} else if (strcmp(interface, zxdg_output_manager_v1_interface.name) == 0) {
|
||||||
state->xdg_output_manager = wl_registry_bind(registry, name,
|
state->xdg_output_manager = wl_registry_bind(registry, name,
|
||||||
&zxdg_output_manager_v1_interface, version);
|
&zxdg_output_manager_v1_interface, 2);
|
||||||
} else if(strcmp(interface, zwlr_screencopy_manager_v1_interface.name) == 0) {
|
} else if(strcmp(interface, zwlr_screencopy_manager_v1_interface.name) == 0) {
|
||||||
state->copy_manager = wl_registry_bind(registry, name,
|
state->copy_manager = wl_registry_bind(registry, name,
|
||||||
&zwlr_screencopy_manager_v1_interface, version);
|
&zwlr_screencopy_manager_v1_interface, 1);
|
||||||
} else if(strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) {
|
} else if(strcmp(interface, zwlr_layer_shell_v1_interface.name) == 0) {
|
||||||
state->layer_shell = wl_registry_bind(registry, name,
|
state->layer_shell = wl_registry_bind(registry, name,
|
||||||
&zwlr_layer_shell_v1_interface, version);
|
&zwlr_layer_shell_v1_interface, 1);
|
||||||
} else if(strcmp(interface, wl_shm_interface.name) == 0) {
|
} else if(strcmp(interface, wl_shm_interface.name) == 0) {
|
||||||
state->shm = wl_registry_bind(registry, name, &wl_shm_interface, version);
|
state->shm = wl_registry_bind(registry, name, &wl_shm_interface, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user