It now constrains the value to be no less than 0 when z_offset_layer_0 is negative or
z_offset_taper_layers is 0, otherwise the value must be such that the gap between subsequent
layers is not less than 80% of the normal layer height.
If the print head was lowered for the first layer, the tapering will always cause the
subsequent layers to be at least the normal layer height above the previous layer so the
tapering can occur over any number of layers.
On the other hand, if the print head was raised for the first layer, we demand that either
tapering is not used (value is 0) or that the tapering occurs over sufficient layers so that
the inter-layer gaps are not too small.
Now the offset cannot be such that the first layer would be less than 1/2 of its normal height.
Warnings shown when first layer is less than 80% or more than 200% of its normal height.
CURA-4204
When a new material is created during project file loading, the material
for each stack is set according to the parent material ID, but actually
the child material should be used. This fix uses a hack to find the
corresponding child material for a stack so when a user chooses to
create a new material during project file loading, the material can be
correctly set.
CURA-4188
The newly created extruder stacks don't have user containers, so the
user changes cannot be saved. This fix makes sure that in the upgrade,
user containers will be created.
Since the zero point is always in the centre, we can just re-use this loop to prevent code duplication and gain a minor speed increase.
Contributes to issue CURA-4150.
This definition was provided to me via e-mail. The initial data was badly formatted, so I corrected it and verified back with Michael Wildermuth that the new profile worked. Apparently it works, so thank you Michael.
```
cura.desktop: error: (will be fatal in the future): value "cura-icon.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path
```
__Solution:__ Remove `.png`. __PLEASE NOTE__ that for this to work, cura-icon.png must be located in one of the directories in which desktops search for icons, such as `/usr/share/icons/hicolor/128x128/apps/`. Please make sure it ends up there (also in the AppImage, too.)
```
cura.desktop: error: value "application/sla;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png" for string list key "MimeType" in group "Desktop Entry" does not have a semicolon (';') as trailing character
```
__Solution:__ Add `;`
Reference:
https://travis-ci.org/AppImage/AppImageHub/builds/266072586#L538-L539