mirror of
https://github.com/artizirk/wdisplays.git
synced 2024-11-22 08:50: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);
|
wl_list_insert(outputs, &output->link);
|
||||||
fill_output_from_form(output, GTK_WIDGET(form_iter->data));
|
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;
|
state->apply_pending = false;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,8 @@ static const struct zwlr_output_configuration_v1_listener config_listener = {
|
|||||||
.cancelled = config_handle_cancelled,
|
.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 =
|
struct zwlr_output_configuration_v1 *config =
|
||||||
zwlr_output_manager_v1_create_configuration(state->output_manager, state->serial);
|
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);
|
zwlr_output_configuration_v1_apply(config);
|
||||||
|
|
||||||
|
wl_display_roundtrip(display);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void wd_frame_destroy(struct wd_frame *frame) {
|
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.
|
* 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.
|
* Queues capture of the next frame of all screens.
|
||||||
|
Loading…
Reference in New Issue
Block a user