mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-26 06:35:58 +01:00
wlr_compositer: Keep track if surface has committed a buffer before.
This would break if you are running with a NULL renderer.
This commit is contained in:
parent
2dd9549085
commit
394accbe4a
2 changed files with 4 additions and 1 deletions
|
@ -163,6 +163,7 @@ struct wlr_surface {
|
||||||
} previous;
|
} previous;
|
||||||
|
|
||||||
bool opaque;
|
bool opaque;
|
||||||
|
bool has_buffer;
|
||||||
|
|
||||||
int32_t preferred_buffer_scale;
|
int32_t preferred_buffer_scale;
|
||||||
bool preferred_buffer_transform_sent;
|
bool preferred_buffer_transform_sent;
|
||||||
|
|
|
@ -348,6 +348,8 @@ static void surface_state_move(struct wlr_surface_state *state,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void surface_apply_damage(struct wlr_surface *surface) {
|
static void surface_apply_damage(struct wlr_surface *surface) {
|
||||||
|
surface->has_buffer = surface->current.buffer;
|
||||||
|
|
||||||
if (surface->current.buffer == NULL) {
|
if (surface->current.buffer == NULL) {
|
||||||
// NULL commit
|
// NULL commit
|
||||||
if (surface->buffer != NULL) {
|
if (surface->buffer != NULL) {
|
||||||
|
@ -723,7 +725,7 @@ struct wlr_texture *wlr_surface_get_texture(struct wlr_surface *surface) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wlr_surface_has_buffer(struct wlr_surface *surface) {
|
bool wlr_surface_has_buffer(struct wlr_surface *surface) {
|
||||||
return wlr_surface_get_texture(surface) != NULL;
|
return surface->has_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wlr_surface_set_role(struct wlr_surface *surface,
|
bool wlr_surface_set_role(struct wlr_surface *surface,
|
||||||
|
|
Loading…
Reference in a new issue