That was the whole point of this change. Instead degrade gracefully. It won't load the material file but give an error message saying that the material is corrupt. Then it won't be able to load the stack as well because the material doesn't exist, and give an error about the stack as well.
Contributes to issue CURA-5045.
These are the new translation files that the translation bureau sent to us. I've renamed them to fit in our architecture but for the rest they are unaltered.
Contributes to issue CURA-5166.
If a render is triggered before this decorator is set it would crash. The rest of the code is robust against this being None, but here it would give a TypeError.
CURA-5202
Plugin metadata that comes from the plugin server is also saved into
PluginRegistry's metadata collection, so it's all mixed. Plugins that
are just installed cannot be loaded immediately, and this causes an
error in checkCanUpgrade().
CURA-5045
- If a container cannot be deserialized in project loading, it should fail
right on the spot because even if it continues, it still won't work.
- In other places, at least log deserialization errors if any of them show
up.
Only the deserialize() functions themselves may pass the ContainerFormatError on, because their callers will have to handle those errors anyway.
Contributes to issue CURA-5045.
CURA-5203
When open a file that's associated with Cura, dialogs that need to
pop up may not work because QML is still in the middle of initialization,
so we need to wait for QML to finish before doing anything else such
as opening files.
Engine implementation pending. This setting is intended for debugging problems with interrupted walls. It should probably not be published in a final release.
Contributes to issue CURA-5189.
The problem was that Python's ConfigParser doesn't preserve case. Everything becomes lowercase. Some post-processing scripts have uppercase characters in their setting keys and these weren't preserved.
This fix configures the ConfigParser to pass the setting keys untransformed. The transformation function becomes the str() function which just passes the input through untransformed.
This way it can be called from other crash handling routines there too, such as ConfigurationErrorMessage which may be triggered by arbitrary configuration errors in Uranium.
Contributes to issue CURA-5045.
When any extruder position doesn't match when adding a container, don't add any of the extruders. Don't add faulty half-data to the registry!
Contributes to issue CURA-5045.