diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-02 22:45:51 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-02 22:45:51 +0300 |
| commit | e22cba35ef7b405758097a5f9436aae8fb4caaf0 (patch) | |
| tree | a25cf28ad45a3b34c4dc25d54e3095f6c8be2b3a /src/kitty_graphics/surface.rs | |
| parent | 5a2dee700eeeea68267a4d16777307632f77172f (diff) | |
fix: keep direct graphics bound to its client (#3549)
Diffstat (limited to 'src/kitty_graphics/surface.rs')
| -rw-r--r-- | src/kitty_graphics/surface.rs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/kitty_graphics/surface.rs b/src/kitty_graphics/surface.rs index 0e69a145..bf2482b6 100644 --- a/src/kitty_graphics/surface.rs +++ b/src/kitty_graphics/surface.rs @@ -339,6 +339,7 @@ pub(crate) fn collect_scene( cell_size, &uploaded_images, &delivered_terminal_images, + client_id, ); if let (Some(popup), Some((width, height)), Some((_, target))) = ( @@ -476,12 +477,8 @@ pub(crate) fn collect_scene( .iter() .filter_map(|(key, slot)| { let layer = slot.layer.as_ref()?; - let retained_for_client = layer.resident_client() == Some(client_id) - || slot - .direct_gate - .as_ref() - .is_some_and(|gate| gate.client_id == client_id); - retained_for_client.then(|| pane_layer_asset_key(app, key, layer))? + (slot.direct_client() == Some(client_id)) + .then(|| pane_layer_asset_key(app, key, layer))? }) .collect::<Vec<_>>(); retained_assets.sort_by_key(|key| format!("{:?}", key.source)); |
