Fix node insertion crash caused by mismatched DefinitionIdentifier serialization (#4353)

This commit is contained in:
Timon
2026-07-22 09:38:07 +00:00
parent 6f8c4b2adb
commit f5b1fee85f
3 changed files with 10 additions and 9 deletions
@@ -23,7 +23,6 @@ use graphene_std::raster_types::{CPU, Raster};
use graphene_std::transform::Footprint;
use graphene_std::vector::Vector;
use graphene_std::*;
use serde_json::Value;
use std::collections::{HashMap, VecDeque};
pub struct NodePropertiesContext<'a> {
@@ -89,12 +88,8 @@ impl DefinitionIdentifier {
DefinitionIdentifier::Network(data) => format!("NETWORK:{}", data),
}
}
}
impl From<Value> for DefinitionIdentifier {
fn from(value: Value) -> Self {
let s = value.as_str().expect("DefinitionIdentifier value must be a string");
pub fn from_serialized(s: &str) -> Self {
match s.split_once(':') {
Some(("PROTONODE", data)) => DefinitionIdentifier::ProtoNode(ProtoNodeIdentifier::with_owned_string(data.to_string())),
Some(("NETWORK", data)) => DefinitionIdentifier::Network(data.to_string()),