diff --git a/types/wlr_subcompositor.c b/types/wlr_subcompositor.c index 8ee5a949..2b9b97cd 100644 --- a/types/wlr_subcompositor.c +++ b/types/wlr_subcompositor.c @@ -324,6 +324,9 @@ static void subsurface_handle_surface_client_commit( } subsurface->has_cache = true; subsurface->cached_seq = wlr_surface_lock_pending(surface); + } else if (subsurface->has_cache) { + wlr_surface_unlock_cached(surface, subsurface->cached_seq); + subsurface->has_cache = false; } }