mirror of
https://github.com/artizirk/wdisplays.git
synced 2024-11-21 16:30:59 +02:00
Force roundtrip after applying settings
This commit is contained in:
parent
3d69ae73d3
commit
27d7067762
@ -150,7 +150,10 @@ static gboolean send_apply(gpointer data) {
|
||||
wl_list_insert(outputs, &output->link);
|
||||
fill_output_from_form(output, GTK_WIDGET(form_iter->data));
|
||||
}
|
||||
wd_apply_state(state, outputs);
|
||||
GdkWindow *window = gtk_widget_get_window(state->stack);
|
||||
GdkDisplay *display = gdk_window_get_display(window);
|
||||
struct wl_display *wl_display = gdk_wayland_display_get_wl_display(display);
|
||||
wd_apply_state(state, outputs, wl_display);
|
||||
state->apply_pending = false;
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -100,7 +100,8 @@ static const struct zwlr_output_configuration_v1_listener config_listener = {
|
||||
.cancelled = config_handle_cancelled,
|
||||
};
|
||||
|
||||
void wd_apply_state(struct wd_state *state, struct wl_list *new_outputs) {
|
||||
void wd_apply_state(struct wd_state *state, struct wl_list *new_outputs,
|
||||
struct wl_display *display) {
|
||||
struct zwlr_output_configuration_v1 *config =
|
||||
zwlr_output_manager_v1_create_configuration(state->output_manager, state->serial);
|
||||
|
||||
@ -154,6 +155,8 @@ void wd_apply_state(struct wd_state *state, struct wl_list *new_outputs) {
|
||||
}
|
||||
|
||||
zwlr_output_configuration_v1_apply(config);
|
||||
|
||||
wl_display_roundtrip(display);
|
||||
}
|
||||
|
||||
static void wd_frame_destroy(struct wd_frame *frame) {
|
||||
|
@ -281,7 +281,7 @@ void wd_add_output_management_listener(struct wd_state *state, struct wl_display
|
||||
/*
|
||||
* Sends updated display configuration back to the compositor.
|
||||
*/
|
||||
void wd_apply_state(struct wd_state *state, struct wl_list *new_outputs);
|
||||
void wd_apply_state(struct wd_state *state, struct wl_list *new_outputs, struct wl_display *display);
|
||||
|
||||
/*
|
||||
* Queues capture of the next frame of all screens.
|
||||
|
Loading…
Reference in New Issue
Block a user