Skip to content

Commit a1c1039

Browse files
authored
Fix path tool overlays (#3810)
* Add vector data to merge function Use destructuring to avoid issues like this in the future * Remove unnecessary explict copying
1 parent 71b4c98 commit a1c1039

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

node-graph/libraries/rendering/src/renderer.rs

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -284,11 +284,21 @@ impl RenderMetadata {
284284
/// Merge another RenderMetadata into this one.
285285
/// Values from `other` take precedence for duplicate keys.
286286
pub fn merge(&mut self, other: &RenderMetadata) {
287-
self.upstream_footprints.extend(other.upstream_footprints.iter().map(|(k, v)| (*k, *v)));
288-
self.local_transforms.extend(other.local_transforms.iter().map(|(k, v)| (*k, *v)));
289-
self.first_element_source_id.extend(other.first_element_source_id.iter().map(|(k, v)| (*k, *v)));
290-
self.click_targets.extend(other.click_targets.iter().map(|(k, v)| (*k, v.clone())));
291-
self.clip_targets.extend(other.clip_targets.iter().copied());
287+
// Destructure Self to get errors when new fields are added to the struct
288+
let RenderMetadata {
289+
upstream_footprints,
290+
local_transforms,
291+
first_element_source_id,
292+
click_targets,
293+
clip_targets,
294+
vector_data,
295+
} = self;
296+
upstream_footprints.extend(other.upstream_footprints.iter());
297+
local_transforms.extend(other.local_transforms.iter());
298+
first_element_source_id.extend(other.first_element_source_id.iter());
299+
click_targets.extend(other.click_targets.iter().map(|(k, v)| (*k, v.clone())));
300+
clip_targets.extend(other.clip_targets.iter());
301+
vector_data.extend(other.vector_data.iter().map(|(id, data)| (*id, data.clone())));
292302
}
293303
}
294304

0 commit comments

Comments
 (0)