View Issue Details

IDProjectCategoryView StatusLast Update
0000139Medieval EngineersBugpublic2022-02-19 15:47
Reporterequinox Assigned Toequinox  
PrioritynormalSeverityminorReproducibilityhave not tried
Status resolvedResolutionfixed 
Product Version0.7.2 
Target Version0.7.3.33D4BBFixed in Version0.7.3.33D4BB 
Summary0000139: Definition requiring components can be initialized without a definition when deserializing
Description

When deserializing an entity component container that contains a component that is no longer part of the container's definition the component will still be created, but won't have a definition bound to it. For components that are marked as MyDefinitionRequiredAttribute this violates the contract of that attribute.

Instead, we should just drop these illegal components. In the vast majority of cases this happens when a modder removes an existing component from their block, and when that happens dropping the component is better than randomly crashing later, or forcing modders to create components that self destruct when they are initialized without a definition.

TagsNo tags attached.

Activities

There are no notes attached to this issue.

Issue History

Date Modified Username Field Change
2022-02-18 21:16 equinox New Issue
2022-02-18 21:16 equinox Assigned To => equinox
2022-02-18 21:16 equinox Status new => assigned
2022-02-18 21:16 equinox Status assigned => in progress
2022-02-18 21:16 equinox Target Version => 0.7.3.33D4BB
2022-02-18 21:16 equinox Product Version => 0.7.2
2022-02-19 15:47 equinox Status in progress => resolved
2022-02-19 15:47 equinox Resolution open => fixed
2022-02-19 15:47 equinox Fixed in Version => 0.7.3.33D4BB