atomically. The code was taken from the llvm project, it is complex
and hopefully it covers all the Windows file system quirks. Vojtech
has highest hopes, that this will fix the various PrusaSlicer.ini
file corruptions.
Enabled the locales switching and error handling on Linux as well,
where now the missing locales are reported and running the locale-gen
tool is recommended.
If the user launched Wizard from the menu and checked the reset
checkbox, snapshot was not taken in case no new bundles were
to be installed from resources (ie. most of the time).
Snapshot is now taken as appropriate.
For an unknown reason, if the scrolling is performed on Windows
with the two finger gesture on touch pad, there is no Idle event
generated on some computers.
The Idle is not generated on Vojtech's laptop, it is generated
on Enrico's laptop.
evt.Skip() solves the issue on Vojtech's laptop.
Source files are checked using a small utility in src/build-utils
This is done to prevent bugs in build and localization caused
by weird non-UTF-8 encodings interpreted by MSVC in terms of local codepages
rather than UTF-8.
A static symbol Slic3r::SEMVER is introduced, which holds
the running slicer's Semver object.
This is mainly done to make testing updater behaviour
_much_ easier. Additionaly to cleanup some questionable code
(Semver was being parsed multiple times / in multiple places
in the frontend.)
This fixes a problem where old slicer having found newer incompatible bundle
would not report an incompatibility.
The installed index check was performed too early before
bundle compatibility check. This fix moves the installed index check
to the point where a bundle would've been update (as it should be).
Since the value inserted from the keyboard or clipboard is not updated under OSX,
we forcibly set the input value for SpinControl every time during editing.
Thus we can't set min control value bigger then 0.
Otherwise, it couldn't be possible to input from keyboard value less then min_val.
Changed messagebox text after changing extruder diameter with single extruder printers so it is more obvious why it shows
In case nozzle diameters differ and someone checks 'single_extruder_mm', PrusaSlicer asks whether all diameters should be unified. Answering NO did not undo the SEMM check. It does now.
Calling a printf-like function without a format string will cause gcc to
emit a warhing and causes a build failure on distros which build
everything with -Werror=format-security.
Signed-off-by: Jason Tibbitts <j@tib.bs>