pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
wip/prusaslicer: Update from 2.4.0 to 2.4.1
Module Name: pkgsrc-wip
Committed By: Paul Ripke <stix%stix.id.au@localhost>
Pushed By: stix
Date: Fri Mar 11 17:04:02 2022 +1100
Changeset: 0463b57b3d4f0527883d899a4c098b4f3d2685e3
Modified Files:
prusaslicer/Makefile
prusaslicer/PLIST
prusaslicer/distinfo
prusaslicer/patches/patch-CMakeLists.txt
prusaslicer/patches/patch-src_CMakeLists_txt
prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
Added Files:
prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt
prusaslicer/patches/patch-src_libslic3r_GCodeSender.cpp
prusaslicer/patches/patch-src_slic3r_CMakeLists.txt
prusaslicer/patches/patch-src_slic3r_Utils_Serial.cpp
Removed Files:
prusaslicer/patches/patch-src_slic3r_GUI_HintNotification.cpp
Log Message:
wip/prusaslicer: Update from 2.4.0 to 2.4.1
Also import patch to fix build with cereal>=1.3.1.
Bugs fixed with respect to PrusaSlicer 2.4.1-rc1
- macOS specific: Several dialogs showed black text on black background on
macOS 10.13 High Sierra and older (#3775, #7603)
Localization
- Updated Catalan localization (#8021 - thanks @davidjuanesb)
Profiles
- Added profiles for Anycubic 4Max Pro 2.0, based on
https://hartrusion.com/en/prusaslicer-config-for-anycubic-4max-pro-2-0/
PrusaSlicer 2.4.1-rc1
Summary
This is a release candidate of PrusaSlicer 2.4.1, following 2.4.1-beta1 and
2.4.1-beta3. This release only fixes several bugs found in beta3. For list of
new features in the 2.4 series, please read the release logs of all
2.4.0/2.4.1 releases.
The release candidate builds save their profiles to the same directory as the
last release. If you already tested any of the PrusaSlicer 2.4.1 beta builds,
you will be offered to import the recent beta profiles.
Bugs fixed
- G-Code Substitutions were incorrectly applied on initial and final M73
internal placeholders, which unexpectedly mangled the M73 commands #7978
- G-Code Substitutions were incorrectly applied on the commented-out
configuration block at the end of the G-Code #7952 (this was fixed in beta3
already)
- Windows specific: When loading a 3MF by double clicking the file, the
project name was sometimes (depending on current local codepage) mangled
when the file name contained non-ASCII characters. This could also have
caused occasional crashes when sending file to print host (#7681, #7173 and
#7845)
- macOS specific: The fix of Cmd+M shortcut not minimizing the application
which was made in beta3 was reverted, because it made PrusaSlicer crash on
older macOS versions(#7981). The fix has been postponed into PrusaSlicer 2.5
release.
PrusaSlicer 2.4.1-beta3
Summary
This is another beta version of PrusaSlicer 2.4.1, a third patch release of
PrusaSlicer 2.4.0 (beta2 was not released publicly). This patch release adds
several little improvements and fixes some bugs found in the 2.4.1-beta1.
This release saves its configuration into a dedicated beta configuration
folder to avoid breaking production profiles. PrusaSlicer 2.4.1-beta3 will
offer to copy configuration from any older release into the beta configuration
folder on the first invocation.
Improvements with respect to 2.4.1-beta1
- In 2.4.1-beta1, we added a check that G92 E0 is present in layer change
G-Code when relative extruder addressing is used. This is needed to prevent
error accumulation in firmware. From this version, the check is only applied
for Marlin firmware, because as far as we know, other firmware flavors do
not suffer from this issue. #7846
- Related to the previous improvement: our G-Code preview works by mimicking
the Marlin firmware, therefore if the G92 E0 was missing and the error
accumulation became visible, it would also be visible in the G-Code preview.
Because only Marlin firmware suffers from this issue in reality and there is
an explicit check for the G92 E0 when Marlin is selected, we have now
modified the G-Code Preview so the loss of precision problem is not
visualized. #4881, #5073, #6336
- Clicking 'Delete All' button to delete all currently defined G-Code
substitutions is newly followed by a confirmation dialog, so it is not
possible to delete the entries by mistake #7850
Bugs fixed
- Fixed wrapping of text in modal dialogs, unnecessary line breaks were
sometimes present
- 'Compare presets' dialog was missing an info text about values being
truncated #7852
- When a 3MF with an SLA project was loaded and there were no SLA printers
installed, the presets from the 3MF should have been temporarily installed.
Instead, the list of SLA materials was incorrect and possibly even empty.
This is quite an old bug.
- Fixed an issue with a gap in the brim when the inner brim was used
- When the outer brim of an object was very wide, it could overflow into a
hole in another object
- Saving a preset after a modification incorrectly marked the currently
opened project as saved #7849
- Some settings showed confusing indeterminate labels when they were
modified per object in Object Manipulation panel #7887
- Improved robustness of multi-material painting, which sometimes produced
gaps in the painted area of did not propagate it deep enough into the
original volume #7838, #6892
- Linux specific: Print Settings and Filament/Material Settings controls
were disabled after a specific sequence of loading projects and switching
between FDM and SLA mode.
- macOS specific: Cmd+M did not minimize the application as it should have.
This is now fixed for Intel Macs, the problem persists on ARMs.
- Exporting a volume as STL did not take into account possible transformation
(rotation and scaling) of the model. This bug was introduced in
2.4.1-beta1. #7906
- Fixed incorrectly shown cut contour in the Cut tool when cutting in SLA mode
and the object was elevated because of supports
Localization
- Updated CS, DE, ES, FR, IT, and PL dictionaries
PrusaSlicer 2.4.1-beta1
Summary
This is a beta version of PrusaSlicer 2.4.1, a first patch release of
PrusaSlicer 2.4.0. This patch release adds several small improvements and 3rd
party profiles, fixes some bugs found in the 2.4.0 final and typos found in
translations.
This release saves its configuration into dedicated beta configuration folder
to avoid breaking production profiles. PrusaSlicer 2.4.1-beta1 will offer to
copy configuration from PrusaSlicer 2.4.0 or any older release into the beta
configuration folder on first invocation.
Improvements with respect to 2.4.0
G-Code substitutions
PrusaSlicer supports processing of the generated G-code with an external
post-processor for a long time. Launching an external post-processor is
versatile, however it is complex to setup, the post-processing scripts must be
distributed with the project and the interpreter running the post-processing
script (for example Python) has to be available. We collected many real world
use-cases for the post-processing scripts and concluded that many of them
could be covered by a simple "Find and Replace" tool with regular expression
matching and substitutions.
To make life easier for everyone who only needs basic post-processing, we now
integrated such a tool directly into PrusaSlicer. It is accessible from Print
Settings -> Output options and allows to add a number of find and replace
pairs, with optional regex matching, case sensitivity and whole word matching,
similar to what common text editors offer. The G-Code is processed before it
is previewed, so your changes will be visible in the G-Code preview.
image
We hope this tool will make common post-processing tasks simpler, such as
adding custom annotations, adjustments of output format such as in #6996),
ringing cancellation, adjustments of per feature extrusion rate and similar.
Regular expression syntax of Perl is supported as described in boost Perl
regular expression syntax, where a "single line" modifier mimics the Perl's
s/ modifier. With regular expressions active, the "Replace with" pattern
supports the "extended" syntax as described in boost extended format syntax.
Lookahead and lookbehind are supported by the regular expression engine, but
only for fixed length patterns. With regular expression disabled, \n, \r, \t,
\0 and \\ placeholders are supported in both "Find" and "Replace with"
patterns similarly to Notepad++'s "extended" syntax.
The G-code find/replace post-processor processes G-code in blocks, where a
single G-code block is generated for each layer starting with the Z up to move
to the next layer. Multiple find/replace patterns are applied one by one to
one G-code block before processing the next G-code block. Matching multi-line
patterns is possible, however only inside one G-code block, most likely inside
a single layer. Regular expressions are powerful but tricky, thus we recommend
the regular expressions 101 online playground to get familiar with regular
expressions and to test and fine tune the regular expressions modifying G-code
before entering them into PrusaSlicer. Don't forget to switch the regex flavor
to ECMAScript in the regular expressions 101 online playground.
An example of a quite powerful G-code modification by a reasonably complex
regular expression: Increase the extrusion rate of top solid infill from the
default 95 percent to 98 percent.
Find: (;TYPE:Top solid infill\n)(.*?)(;TYPE:|$)(?!Top solid infill)
Replace with: ${1}M221 S98\n${2}M221 S95\n${3}
Modifiers: regexp, single line
Other improvements
- Seam placement was improved. In 2.4.0, seams on internal perimeters were
placed close to external seams to reduce long travels between seams, with
additional staggering of internal seams wrt. to the external seams, so that
they do not overlap. This sometimes produced an internal seam on a straight
perimeter segment, even thought there was a convenient corner nearby,
producing a visible bulge on the outer surface. The internal seams are now
placed close to the external seam, but not at all costs. The staggering is
now disabled as it often produced unnecessary jerking of the printer. Also,
there was a bug in the seam placement algorithm, which again caused
excessive travels in some cases #7690 #7686 #7784.
- In Spiral Vase mode, the G-code viewer used to assign a layer to each G-code
segment of a spiral producing an excessive number of layers thus making
G-code inspection difficult. The G-code viewer newly assigns a layer to a
single spiral turn #4440.
- A new option "Ask for unsaved changes in project" was added into Preferences
to control whether the user shall be asked to save a project on closing an
application or when loading a different project. The existing three options
"Ask for unsaved changes when..." always referred to the changes in presets,
thus they are now reworded to make it clear #7114.
- Machine limits table in Printer Settings is now available for
RepRapFirmware, while until now it was only enabled for Marlin #7347 thanks
@n8bot.
- Implemented new placeholders for output file name:
- initial_filament_type and printing_filament_types (useful for
multi-material prints) #5300, #7684, #7673
- initial_tool and initial_extruder - zero based index of first extruder
- num_printing_extruders - number of printing extruders.
- New option "Restore window position on start" was added to Preferences. We
have received reports of rare crashes on application start-up when trying to
restore application main window position on some multi-display setups. While
we were not able to fix the crash, we newly detect a crash during the window
position restore and we suggest to disable the window restore option on the
next application startup as a workaround #2939, #5573.
- Windows specific: The build_win.bat script newly supports a low CPU priority
compilation option #7828 thanks @Jebtrix.
- FDM printer firmware usually keeps an absolute extruder axis position using
a single precision float representation, which leads to a loss of accuracy
if the extruder axis is not resetted regularly. In extruder absolute mode
'G92 E0 is issued at each retraction by PrusaSlicer, while in extruder
relative mode it is newly enforced, that either layer_gcode or
before_layer_gcode contains 'G92 E0'. On the other side, in extruder
absolute mode, 'G92 E0' in layer change custom G-code breaks slicer's
assumption leading to horrible over-extrusions, thus 'G92 E0' is newly
tested for and prohibited with extruder absolute addressing #6336 #5073.
Bugs fixed
- Windows specific: Fixed crash on some machines at the very start of the
application. The bug was introduced to PrusaSlicer 2.4.0-beta1 with the dark
mode support #7560 #7574 #7613.
- Windows specific: Dark mode is now enabled for all the new Windows builds.
Let's hope that Microsoft will maintain the undocumented API that
PrusaSlicer and other applications rely upon #7546.
- Fixed a rare crash in Configuration Wizard under certain conditions, mainly
on OSX #7655.
- 'Place on face' function was very slow when used on some complex models
#7587.
- When 'Reload from disk' attempts to load an invalid file, an error message
is newly shown, while previously the error was silently ignored #7550.
- 'Export to STL' did not work for individual parts and modifiers, the option
was grayed out. This was a regression wrt. PrusaSlicer 2.3.3 #7647.
- Windows specific: Button in focus and the default button was not
highlighted. The issue was introduced with the dark mode support in
PrusaSlicer 2.4.0-beta1. Because of missing Win32 dark mode support for
buttons, we had to resort to flat rendering of buttons. However with flat
rendering, Win32 buttons do not support highlight of a default or active
button and we had to implement a workaround ourselves #7564.
- Cancelling "Fix by NetFabb" might have left a temp file opened. This is now
fixed #7632.
- Windows specific: Fixed color of the text in Firmware updater window when
firmware flashing is done.
- Fixed crash during slicing when a negative volume was used on painted areas
of a multi-material model #7618.
- Fixed mangled text in "did you know" notifications when breaking a long line
at a non-ASCII character #7611, thanks @odaki.
- Fixed crash on closing the application on OSX Sierra and older #7583.
- SLA pad model was sometimes not generated correctly, which was visible
during preview visualization.
- Removed empty G1 command which appeared before bridging perimeters were
printed #7714
- Fixed some text encoding issues in Print host queue dialog.
- The "Unsaved Changes dialog" used to inform that some of the differing keys
are too long to be displayed fully and that one may open a pop-up window to
show the full content of the differing keys. This was broken in 2.4.0 and it
works again now #7734.
- Avoid crossing perimeters was improved in PrusaSlicer 2.4.0 to not move
along the outermost perimeters. This feature did not work reliably for thin
islands, which should be now improved #7699.
- The Yes/No/OK/Cancel buttons on various dialogs were displayed using the
system language and not translated to the language set in PrusaSlicer. This
is now fixed by providing dictionaries for these buttons #7542.
- Fixed possible crash during print host upload, likely related to #7681.
- The G-Code Preview parser did not skip whitespaces between axis letter and
number, so e.g. G1 X 10 would not be correctly displayed in Preview. This
was a bug introduced in PrusaSlicer 2.4.0 due to G-code export speed-up
#7773.
- Some excessively wide message boxes were sometimes shown for example when
showing a very long file path. The texts in message boxes are newly wrapped
to keep the width of these message boxes reasonable.
- When printing with a single extruder only with a multi-material printer
profile active while the printing extruder was not the default one, the
G-code viewer did incorrectly considered the printer to not support
multi-material printing, thus the cog icon below the vertical slider did not
offer the 'Set extruder sequence' option. This is now fixed.
- When the type of an object part was changed from a printable part to a
modifier, the part should be rendered transparent, but the transparency was
not updated immediately.
- Cut tool sometimes showed the cut contours incorrectly after object parts
were added and removed.
- Fixed crash when editing thumbnails in Printer settings #7781.
- Fixed an incorrect invalidation of PrusaSlicer configuration in case old
PrusaSlicer is started, which reports that it does not support the current
configuration thus it proposes to downgrade configuration to a version it
understands. In case the user refuses to downgrade, the configuration was
incorrectly marked as downgraded #7780.
- OSX specific: "Did you know hints" referencing Cmd-F hot key will now show
Cmd-F, not Ctrl-F #7820.
Localization
- Added Catalan localization #7566 thanks @davidjuanesb.
- Updated CZ, PL, IT, ES, DE, FR translations (including previously not
translated phrases and typo fixes)
- Added Hungarian localization #5479 thanks @zomatt.
Profiles
- Added Artillery Hornet profile based on slic3r/slic3r-profiles#14 by
@newbeetle
- Added RatRig V-Core and V-Minion bundle based on slic3r/slic3r-profiles#13
by @top-gun
- Added Jubilee bundle based on
https://github.com/machineagency/jubilee/tree/main/software/slicer_settings/prusa_slic3r
by @yvessa
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=0463b57b3d4f0527883d899a4c098b4f3d2685e3
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
prusaslicer/Makefile | 2 +-
prusaslicer/PLIST | 74 ++++++++++++++++++++++
prusaslicer/distinfo | 21 +++---
prusaslicer/patches/patch-CMakeLists.txt | 14 +++-
prusaslicer/patches/patch-src_CMakeLists_txt | 13 +++-
.../patches/patch-src_libslic3r_CMakeLists.txt | 16 +++++
.../patches/patch-src_libslic3r_GCodeSender.cpp | 22 +++++++
.../patches/patch-src_slic3r_CMakeLists.txt | 16 +++++
.../patches/patch-src_slic3r_GUI_GUI__App.cpp | 30 ++++-----
.../patch-src_slic3r_GUI_HintNotification.cpp | 25 --------
.../patch-src_slic3r_GUI_PrintHostDialogs.cpp | 4 +-
prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp | 20 +++---
.../patches/patch-src_slic3r_Utils_Serial.cpp | 22 +++++++
13 files changed, 215 insertions(+), 64 deletions(-)
diffs:
diff --git a/prusaslicer/Makefile b/prusaslicer/Makefile
index 9244b1da6d..befd0e72b3 100644
--- a/prusaslicer/Makefile
+++ b/prusaslicer/Makefile
@@ -1,6 +1,6 @@
# $NetBSD$
-PKGVERSION= 2.4.0
+PKGVERSION= 2.4.1
PKGNAME= prusaslicer-${PKGVERSION}
DISTNAME= PrusaSlicer-${PKGVERSION:S/rc/-rc/}
CATEGORIES= cad
diff --git a/prusaslicer/PLIST b/prusaslicer/PLIST
index 934764d353..0c331e97a9 100644
--- a/prusaslicer/PLIST
+++ b/prusaslicer/PLIST
@@ -227,6 +227,8 @@ share/PrusaSlicer/localization/es/PrusaSlicer.mo
share/PrusaSlicer/localization/es/PrusaSlicer_es.po
share/PrusaSlicer/localization/fr/PrusaSlicer.mo
share/PrusaSlicer/localization/fr/PrusaSlicer_fr.po
+share/PrusaSlicer/localization/hu/PrusaSlicer.mo
+share/PrusaSlicer/localization/hu/PrusaSlicer_hu.po
share/PrusaSlicer/localization/it/PrusaSlicer.mo
share/PrusaSlicer/localization/it/PrusaSlicer_it.po
share/PrusaSlicer/localization/ja/PrusaSlicer.mo
@@ -250,12 +252,61 @@ share/PrusaSlicer/localization/tr/PrusaSlicer.mo
share/PrusaSlicer/localization/tr/PrusaSlicer_tr.po
share/PrusaSlicer/localization/uk/PrusaSlicer.mo
share/PrusaSlicer/localization/uk/PrusaSlicer_uk.po
+share/PrusaSlicer/localization/wx_locale/af.po
+share/PrusaSlicer/localization/wx_locale/an.po
+share/PrusaSlicer/localization/wx_locale/ar.po
+share/PrusaSlicer/localization/wx_locale/ca.po
+share/PrusaSlicer/localization/wx_locale/ca%valencia.po@localhost
+share/PrusaSlicer/localization/wx_locale/cs.po
+share/PrusaSlicer/localization/wx_locale/da.po
+share/PrusaSlicer/localization/wx_locale/de.po
+share/PrusaSlicer/localization/wx_locale/el.po
+share/PrusaSlicer/localization/wx_locale/en.mo
+share/PrusaSlicer/localization/wx_locale/en.po
+share/PrusaSlicer/localization/wx_locale/es.po
+share/PrusaSlicer/localization/wx_locale/eu.po
+share/PrusaSlicer/localization/wx_locale/fa_IR.po
+share/PrusaSlicer/localization/wx_locale/fi.po
+share/PrusaSlicer/localization/wx_locale/fr.po
+share/PrusaSlicer/localization/wx_locale/gl_ES.po
+share/PrusaSlicer/localization/wx_locale/hi.po
+share/PrusaSlicer/localization/wx_locale/hr.po
+share/PrusaSlicer/localization/wx_locale/hu.po
+share/PrusaSlicer/localization/wx_locale/id.po
+share/PrusaSlicer/localization/wx_locale/it.po
+share/PrusaSlicer/localization/wx_locale/ja.po
+share/PrusaSlicer/localization/wx_locale/ko.po
+share/PrusaSlicer/localization/wx_locale/ko_KR.po
+share/PrusaSlicer/localization/wx_locale/lt.po
+share/PrusaSlicer/localization/wx_locale/lv.po
+share/PrusaSlicer/localization/wx_locale/ms.po
+share/PrusaSlicer/localization/wx_locale/nb.po
+share/PrusaSlicer/localization/wx_locale/ne.po
+share/PrusaSlicer/localization/wx_locale/nl.po
+share/PrusaSlicer/localization/wx_locale/pl.po
+share/PrusaSlicer/localization/wx_locale/pt.po
+share/PrusaSlicer/localization/wx_locale/pt_BR.po
+share/PrusaSlicer/localization/wx_locale/ro.po
+share/PrusaSlicer/localization/wx_locale/ru.po
+share/PrusaSlicer/localization/wx_locale/sk.po
+share/PrusaSlicer/localization/wx_locale/sl.po
+share/PrusaSlicer/localization/wx_locale/sq.po
+share/PrusaSlicer/localization/wx_locale/sv.po
+share/PrusaSlicer/localization/wx_locale/ta.po
+share/PrusaSlicer/localization/wx_locale/tr.po
+share/PrusaSlicer/localization/wx_locale/uk.po
+share/PrusaSlicer/localization/wx_locale/vi.po
+share/PrusaSlicer/localization/wx_locale/zh_CN.po
+share/PrusaSlicer/localization/wx_locale/zh_TW.po
share/PrusaSlicer/localization/zh_CN/PrusaSlicer.mo
share/PrusaSlicer/localization/zh_CN/PrusaSlicer_zh_CN.po
share/PrusaSlicer/localization/zh_TW/PrusaSlicer.mo
share/PrusaSlicer/localization/zh_TW/PrusaSlicer_zh_TW.po
share/PrusaSlicer/profiles/Anycubic.idx
share/PrusaSlicer/profiles/Anycubic.ini
+share/PrusaSlicer/profiles/Anycubic/4MAXPRO20_bed.stl
+share/PrusaSlicer/profiles/Anycubic/4MAXPRO20_texture.svg
+share/PrusaSlicer/profiles/Anycubic/4MAXPRO20_thumbnail.png
share/PrusaSlicer/profiles/Anycubic/AK.png
share/PrusaSlicer/profiles/Anycubic/AK.svg
share/PrusaSlicer/profiles/Anycubic/AKLP_Bed.stl
@@ -273,9 +324,12 @@ share/PrusaSlicer/profiles/Anycubic/mega0_bed.stl
share/PrusaSlicer/profiles/Artillery.idx
share/PrusaSlicer/profiles/Artillery.ini
share/PrusaSlicer/profiles/Artillery/Genius_thumbnail.png
+share/PrusaSlicer/profiles/Artillery/Hornet_thumbnail.png
share/PrusaSlicer/profiles/Artillery/X1_thumbnail.png
share/PrusaSlicer/profiles/Artillery/bed-genius.png
share/PrusaSlicer/profiles/Artillery/bed-genius.stl
+share/PrusaSlicer/profiles/Artillery/bed-hornet.png
+share/PrusaSlicer/profiles/Artillery/bed-hornet.stl
share/PrusaSlicer/profiles/Artillery/bed-x1.png
share/PrusaSlicer/profiles/Artillery/bed-x1.stl
share/PrusaSlicer/profiles/BIBO.idx
@@ -310,6 +364,7 @@ share/PrusaSlicer/profiles/Creality/ENDER2PRO_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER2_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER3BLTOUCH_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER3MAX_thumbnail.png
+share/PrusaSlicer/profiles/Creality/ENDER3PRO_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER3S1_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER3V2_thumbnail.png
share/PrusaSlicer/profiles/Creality/ENDER3_thumbnail.png
@@ -368,6 +423,11 @@ share/PrusaSlicer/profiles/INAT.idx
share/PrusaSlicer/profiles/INAT.ini
share/PrusaSlicer/profiles/INAT/PROTON_X_RAIL_thumbnail.png
share/PrusaSlicer/profiles/INAT/PROTON_X_ROD_thumbnail.png
+share/PrusaSlicer/profiles/Jubilee.idx
+share/PrusaSlicer/profiles/Jubilee.ini
+share/PrusaSlicer/profiles/Jubilee/Jubilee_bed.stl
+share/PrusaSlicer/profiles/Jubilee/Jubilee_texture.svg
+share/PrusaSlicer/profiles/Jubilee/Jubilee_thumbnail.png
share/PrusaSlicer/profiles/LulzBot.idx
share/PrusaSlicer/profiles/LulzBot.ini
share/PrusaSlicer/profiles/LulzBot/MINI_AERO_thumbnail.png
@@ -397,6 +457,20 @@ share/PrusaSlicer/profiles/PrusaResearch/sl1.svg
share/PrusaSlicer/profiles/PrusaResearch/sl1_bed.stl
share/PrusaSlicer/profiles/PrusaResearch/sl1s.svg
share/PrusaSlicer/profiles/PrusaResearch/sl1s_bed.stl
+share/PrusaSlicer/profiles/RatRig.idx
+share/PrusaSlicer/profiles/RatRig.ini
+share/PrusaSlicer/profiles/RatRig/VC3_300_thumbnail.png
+share/PrusaSlicer/profiles/RatRig/VC3_400_thumbnail.png
+share/PrusaSlicer/profiles/RatRig/VC3_500_thumbnail.png
+share/PrusaSlicer/profiles/RatRig/VMINION_thumbnail.png
+share/PrusaSlicer/profiles/RatRig/rr-vc-300.stl
+share/PrusaSlicer/profiles/RatRig/rr-vc-300.svg
+share/PrusaSlicer/profiles/RatRig/rr-vc-400.stl
+share/PrusaSlicer/profiles/RatRig/rr-vc-400.svg
+share/PrusaSlicer/profiles/RatRig/rr-vc-500.stl
+share/PrusaSlicer/profiles/RatRig/rr-vc-500.svg
+share/PrusaSlicer/profiles/RatRig/rr-vminion.stl
+share/PrusaSlicer/profiles/RatRig/rr-vminion.svg
share/PrusaSlicer/profiles/TriLAB.idx
share/PrusaSlicer/profiles/TriLAB.ini
share/PrusaSlicer/profiles/TriLAB/AQI_thumbnail.png
diff --git a/prusaslicer/distinfo b/prusaslicer/distinfo
index 2d0b12b13c..40ae354707 100644
--- a/prusaslicer/distinfo
+++ b/prusaslicer/distinfo
@@ -1,30 +1,32 @@
$NetBSD$
-BLAKE2s (PrusaSlicer-2.4.0.tar.gz) = cd9ea388c82a3eb687d7d3639446cea40d57fa069657fa8940e210cbe3d66d78
-SHA512 (PrusaSlicer-2.4.0.tar.gz) = e923e4e6273dbcfc3e2bc0e28f9eb8cda8530747c0a834f48aea715d75ba1d02be9cfee043689efccdaee40de00114f7964e43accad245b9acd801b997868e3c
-Size (PrusaSlicer-2.4.0.tar.gz) = 46397442 bytes
-SHA1 (patch-CMakeLists.txt) = 9d6c8e2f1f491b18b6781799bd5e99775e3e3e79
+BLAKE2s (PrusaSlicer-2.4.1.tar.gz) = 9049b61a662e314312c5ec74961864d9f9068896e63c1056c1fe6a23bf1b1d28
+SHA512 (PrusaSlicer-2.4.1.tar.gz) = 895388ec39e46e30ea7bdecba42793e898ceb6c6b331dad815a726ed2f7e2e8719c71c32c6ce7fff1781fa06aac8e9afb615784d3b2001bd0d6e24ba23f0866a
+Size (PrusaSlicer-2.4.1.tar.gz) = 55572739 bytes
+SHA1 (patch-CMakeLists.txt) = 4a986df0bcf0628116b5370498b6c23ba62dff71
SHA1 (patch-cmake_modules_FindOpenVDB.cmake) = 4f2afc423a70fe60617b33ff7f26859b39775faa
-SHA1 (patch-src_CMakeLists_txt) = 1a65b80d1e1008a7ca218b9f840e66c4923a4b3a
+SHA1 (patch-src_CMakeLists_txt) = 8075d2af2ee1b730d522e5b4776358a848836dc1
SHA1 (patch-src_avrdude_arduino.c) = ff02a4cab1c2d8c82ec7b22c7447ed5ec360ac57
SHA1 (patch-src_avrdude_libavrdude.h) = 62d48054b147985249664f257dbd8bbd670df233
+SHA1 (patch-src_libslic3r_CMakeLists.txt) = 449b59f6cf5ca3f104e5faa5527b0ef23a00f4c9
+SHA1 (patch-src_libslic3r_GCodeSender.cpp) = 07dde2f6762c9ef180512ea20f735fb4d96a8f2c
SHA1 (patch-src_libslic3r_LocalesUtils.cpp) = 33a473cadbc05eba7f0c218110e53babea36568c
SHA1 (patch-src_libslic3r_LocalesUtils.hpp) = 7339ef576cbd16f30271c13b706d2487ae78b457
SHA1 (patch-src_libslic3r_Platform.cpp) = 3066585efc98ba4963e41bda5952df38a7b095a0
SHA1 (patch-src_libslic3r_Platform.hpp) = 5626058616d04396bff6c8550951d04fe03249e4
SHA1 (patch-src_libslic3r_Thread.cpp) = 2e6e81e77e3efef5657ac55fb6b834b2ebec5d9a
+SHA1 (patch-src_slic3r_CMakeLists.txt) = b0a8a0ca0da0db7dafb8097d2db2d40cac23583c
SHA1 (patch-src_slic3r_GUI_ConfigWizard.cpp) = 523d2eeb26c9f580ccdeb034743c301dcc56c727
SHA1 (patch-src_slic3r_GUI_ConfigWizard__private.hpp) = 7ac3e3a9a67ebe7c99fbfc17ed9c0b2750d96974
SHA1 (patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp) = d61919d6f053cd598741255bffc29e80c79863df
SHA1 (patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp) = dd35d8a5c0ccaae50b969352f0f23f974a2ee89f
SHA1 (patch-src_slic3r_GUI_ExtraRenderers.cpp) = ac803510123ff016b8fa6f22d491c898166e0929
SHA1 (patch-src_slic3r_GUI_GLCanvas3D.cpp) = 7abaef0d1ffd79fd1fc2de5e8dc445a073386353
-SHA1 (patch-src_slic3r_GUI_GUI__App.cpp) = 0a3f722c5cf3e54d037e441d8bf08afd94d81af6
+SHA1 (patch-src_slic3r_GUI_GUI__App.cpp) = 1df0066ab3b240e909c5341696aff5dbcbf9050a
SHA1 (patch-src_slic3r_GUI_GUI__App.hpp) = 9a4e30158b67fb6b73fc1b5ce45c458fb60c60a4
SHA1 (patch-src_slic3r_GUI_GUI__Preview.cpp) = 8555c73aa6aa3d65b4d34fc93ccb1fbb2957a76f
SHA1 (patch-src_slic3r_GUI_GUI__Preview.hpp) = 904556d0f85f28a8174845089647bb3691783f37
SHA1 (patch-src_slic3r_GUI_GUI__Utils.cpp) = bcbc83109ba7806e6371d0ef10f3c05cc480d730
-SHA1 (patch-src_slic3r_GUI_HintNotification.cpp) = 955712c3a937f89824813b48fe561519e3410e69
SHA1 (patch-src_slic3r_GUI_InstanceCheck.cpp) = c9ae1ec2db2b493578cc128383fa4cf0b3e2ae6a
SHA1 (patch-src_slic3r_GUI_InstanceCheck.hpp) = 2af0741f480c41d5cc5bd9d3e55480c8e6ab029c
SHA1 (patch-src_slic3r_GUI_Mouse3DController.cpp) = bf8bf60e17e304a2022b9a80852d7ab38fc2451d
@@ -33,9 +35,10 @@ SHA1 (patch-src_slic3r_GUI_NotificationManager.cpp) = 4e774bfdd777cba3e46ac4358b
SHA1 (patch-src_slic3r_GUI_Plater.cpp) = 5235502df6c7227befd58e29de0b4a0ab7f1975f
SHA1 (patch-src_slic3r_GUI_PresetComboBoxes.cpp) = 89654aa2e0384b35b61a19a22399683e7f4417ae
SHA1 (patch-src_slic3r_GUI_PresetComboBoxes.hpp) = 0c84c1b706a1f4e00f60c1677c7edf53845d4467
-SHA1 (patch-src_slic3r_GUI_PrintHostDialogs.cpp) = a5ce3c0a88d67fb78407856825e9cb2a1a6cfb20
+SHA1 (patch-src_slic3r_GUI_PrintHostDialogs.cpp) = 0fcdcd9f36202f4b8be169b214a4feb376da15a4
SHA1 (patch-src_slic3r_GUI_RemovableDriveManager.cpp) = 413499908128be48106d5fd6aea5d413bb959b35
-SHA1 (patch-src_slic3r_GUI_Tab.cpp) = 3c0f617eeb0d1a137e0050e416a52bc32d7a559e
+SHA1 (patch-src_slic3r_GUI_Tab.cpp) = 6b615054719ad3bd3bfcc7e5c7c2a57ae5e66041
SHA1 (patch-src_slic3r_GUI_UnsavedChangesDialog.cpp) = c2e4e2bfccd8492506c4f794b7085fa2c1cbe846
SHA1 (patch-src_slic3r_GUI_UnsavedChangesDialog.hpp) = cb399a0d751be5c9b25fcf88554612a17bc44d3c
SHA1 (patch-src_slic3r_GUI_wxExtensions.cpp) = 14a6b3c6a6c0b082b126dcaf1fc869404fa3e9c9
+SHA1 (patch-src_slic3r_Utils_Serial.cpp) = d9723518f192c752b824e33c6c1c80e7905ddf05
diff --git a/prusaslicer/patches/patch-CMakeLists.txt b/prusaslicer/patches/patch-CMakeLists.txt
index 99eede1ec4..34beb39192 100644
--- a/prusaslicer/patches/patch-CMakeLists.txt
+++ b/prusaslicer/patches/patch-CMakeLists.txt
@@ -1,8 +1,10 @@
$NetBSD$
Use GTK3, since that's how we build wxWidgets.
+Use namespaces to link against libcereal >= 1.3.1 from:
+https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
---- CMakeLists.txt.orig 2021-12-17 14:00:02.000000000 +0000
+--- CMakeLists.txt.orig 2022-03-10 10:35:03.000000000 +0000
+++ CMakeLists.txt
@@ -38,7 +38,7 @@ CMAKE_DEPENDENT_OPTION(SLIC3R_DESKTOP_IN
@@ -13,3 +15,13 @@ Use GTK3, since that's how we build wxWidgets.
set(IS_CROSS_COMPILE FALSE)
+@@ -474,6 +474,9 @@ endif ()
+
+ # Find the Cereal serialization library
+ find_package(cereal REQUIRED)
++if (NOT TARGET cereal::cereal)
++ add_library(cereal::cereal ALIAS cereal)
++endif ()
+
+ # l10n
+ set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")
diff --git a/prusaslicer/patches/patch-src_CMakeLists_txt b/prusaslicer/patches/patch-src_CMakeLists_txt
index b9e43a3688..e87051b5bc 100644
--- a/prusaslicer/patches/patch-src_CMakeLists_txt
+++ b/prusaslicer/patches/patch-src_CMakeLists_txt
@@ -3,8 +3,10 @@ $NetBSD$
Use libhidapi from pkgsrc.
Only use libdl on Linux.
Allow use of stable track wxWidgets on NetBSD.
+Use namespaces to link against libcereal >= 1.3.1 from:
+https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
---- src/CMakeLists.txt.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/CMakeLists.txt.orig 2022-03-10 10:35:03.000000000 +0000
+++ src/CMakeLists.txt
@@ -22,8 +22,6 @@ add_subdirectory(libslic3r)
@@ -29,6 +31,15 @@ Allow use of stable track wxWidgets on NetBSD.
else ()
find_package(wxWidgets 3.1 QUIET COMPONENTS base core adv html gl)
+@@ -125,7 +123,7 @@ if (NOT WIN32 AND NOT APPLE)
+ set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
+ endif ()
+
+-target_link_libraries(PrusaSlicer libslic3r cereal)
++target_link_libraries(PrusaSlicer libslic3r cereal::cereal)
+ if (APPLE)
+ # add_compile_options(-stdlib=libc++)
+ # add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE)
@@ -151,8 +149,10 @@ target_link_libraries(PrusaSlicer libsli
target_link_libraries(PrusaSlicer ws2_32 uxtheme setupapi)
elseif (APPLE)
diff --git a/prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt b/prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt
new file mode 100644
index 0000000000..0e6834d2cd
--- /dev/null
+++ b/prusaslicer/patches/patch-src_libslic3r_CMakeLists.txt
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Use namespaces to link against libcereal >= 1.3.1 from:
+https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
+
+--- src/libslic3r/CMakeLists.txt.orig 2022-03-10 10:35:03.000000000 +0000
++++ src/libslic3r/CMakeLists.txt
+@@ -337,7 +337,7 @@ target_include_directories(libslic3r PUB
+ target_link_libraries(libslic3r
+ libnest2d
+ admesh
+- cereal
++ cereal::cereal
+ libigl
+ miniz
+ boost_libs
diff --git a/prusaslicer/patches/patch-src_libslic3r_GCodeSender.cpp b/prusaslicer/patches/patch-src_libslic3r_GCodeSender.cpp
new file mode 100644
index 0000000000..7e72dc3a49
--- /dev/null
+++ b/prusaslicer/patches/patch-src_libslic3r_GCodeSender.cpp
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- src/libslic3r/GCodeSender.cpp.orig 2022-03-10 10:35:03.000000000 +0000
++++ src/libslic3r/GCodeSender.cpp
+@@ -8,7 +8,7 @@
+ #include <boost/date_time/posix_time/posix_time.hpp>
+ #include <boost/lexical_cast.hpp>
+
+-#if defined(__APPLE__) || defined(__OpenBSD__)
++#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ #include <termios.h>
+ #endif
+ #ifdef __APPLE__
+@@ -146,7 +146,7 @@ GCodeSender::set_baud_rate(unsigned int
+ if (ioctl(handle, TCSETS2, &ios))
+ printf("Error in TCSETS2: %s\n", strerror(errno));
+
+-#elif __OpenBSD__
++#elif __OpenBSD__ || __NetBSD__
+ struct termios ios;
+ ::tcgetattr(handle, &ios);
+ ::cfsetspeed(&ios, baud_rate);
diff --git a/prusaslicer/patches/patch-src_slic3r_CMakeLists.txt b/prusaslicer/patches/patch-src_slic3r_CMakeLists.txt
new file mode 100644
index 0000000000..63f21fedfc
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_CMakeLists.txt
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Use namespaces to link against libcereal >= 1.3.1 from:
+https://github.com/prusa3d/PrusaSlicer/commit/0ffcfd8393457fd035576436752267c9a1e6bbcc
+
+--- src/slic3r/CMakeLists.txt.orig 2022-03-10 10:35:03.000000000 +0000
++++ src/slic3r/CMakeLists.txt
+@@ -260,7 +260,7 @@ add_library(libslic3r_gui STATIC ${SLIC3
+
+ encoding_check(libslic3r_gui)
+
+-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
++target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
+
+ if (MSVC)
+ target_link_libraries(libslic3r_gui Setupapi.lib)
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
index aa47130f26..f5173126af 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_GUI__App.cpp
@@ -2,7 +2,7 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/GUI_App.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/GUI_App.cpp.orig 2022-03-10 10:35:03.000000000 +0000
+++ src/slic3r/GUI/GUI_App.cpp
@@ -374,7 +374,7 @@ private:
};
@@ -13,7 +13,7 @@ Treat NetBSD like Linux.
bool static check_old_linux_datadir(const wxString& app_name) {
// If we are on Linux and the datadir does not exist yet, look into the old
// location where the datadir was before version 2.3. If we find it there,
-@@ -833,7 +833,7 @@ wxGLContext* GUI_App::init_glcontext(wxG
+@@ -839,7 +839,7 @@ wxGLContext* GUI_App::init_glcontext(wxG
bool GUI_App::init_opengl()
{
@@ -22,7 +22,7 @@ Treat NetBSD like Linux.
bool status = m_opengl_mgr.init_gl();
m_opengl_initialized = true;
return status;
-@@ -873,7 +873,7 @@ void GUI_App::init_app_config()
+@@ -880,7 +880,7 @@ void GUI_App::init_app_config()
// Mac : "~/Library/Application Support/Slic3r"
if (data_dir().empty()) {
@@ -31,7 +31,7 @@ Treat NetBSD like Linux.
set_data_dir(wxStandardPaths::Get().GetUserDataDir().ToUTF8().data());
#else
// Since version 2.3, config dir on Linux is in ${XDG_CONFIG_HOME}.
-@@ -1063,7 +1063,7 @@ bool GUI_App::on_init_inner()
+@@ -1072,7 +1072,7 @@ bool GUI_App::on_init_inner()
wxCHECK_MSG(wxDirExists(resources_dir), false,
wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir));
@@ -40,16 +40,16 @@ Treat NetBSD like Linux.
if (! check_old_linux_datadir(GetAppName())) {
std::cerr << "Quitting, user chose to move their data to new location." << std::endl;
return false;
-@@ -1152,7 +1152,7 @@ bool GUI_App::on_init_inner()
- // create splash screen with updated bmp
- scrn = new SplashScreen(bmp.IsOk() ? bmp : create_scaled_bitmap("PrusaSlicer", nullptr, 400),
- wxSPLASH_CENTRE_ON_SCREEN | wxSPLASH_TIMEOUT, 4000, splashscreen_pos);
+@@ -1173,7 +1173,7 @@ bool GUI_App::on_init_inner()
+ if (!default_splashscreen_pos)
+ // revert "restore_win_position" value if application wasn't crashed
+ get_app_config()->set("restore_win_position", "1");
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
wxYield();
#endif
scrn->SetText(_L("Loading configuration")+ dots);
-@@ -1294,7 +1294,7 @@ bool GUI_App::on_init_inner()
+@@ -1313,7 +1313,7 @@ bool GUI_App::on_init_inner()
// An ugly solution to GH #5537 in which GUI_App::init_opengl (normally called from events wxEVT_PAINT
// and wxEVT_SET_FOCUS before GUI_App::post_init is called) wasn't called before GUI_App::post_init and OpenGL wasn't initialized.
@@ -58,7 +58,7 @@ Treat NetBSD like Linux.
if (update_gui_after_init && m_opengl_initialized) {
#else
if (update_gui_after_init) {
-@@ -1814,7 +1814,7 @@ bool GUI_App::switch_language()
+@@ -1899,7 +1899,7 @@ bool GUI_App::switch_language()
}
}
@@ -67,7 +67,7 @@ Treat NetBSD like Linux.
static const wxLanguageInfo* linux_get_existing_locale_language(const wxLanguageInfo* language,
const wxLanguageInfo* system_language)
{
-@@ -2003,7 +2003,7 @@ bool GUI_App::load_language(wxString lan
+@@ -2088,7 +2088,7 @@ bool GUI_App::load_language(wxString lan
m_language_info_best = wxLocale::FindLanguageInfo(best_language);
BOOST_LOG_TRIVIAL(trace) << boost::format("Best translation language detected (may be different from user locales): %1%") % m_language_info_best->CanonicalName.ToUTF8().data();
}
@@ -76,7 +76,7 @@ Treat NetBSD like Linux.
wxString lc_all;
if (wxGetEnv("LC_ALL", &lc_all) && ! lc_all.IsEmpty()) {
// Best language returned by wxWidgets on Linux apparently does not respect LC_ALL.
-@@ -2056,7 +2056,7 @@ bool GUI_App::load_language(wxString lan
+@@ -2141,7 +2141,7 @@ bool GUI_App::load_language(wxString lan
} else if (m_language_info_system != nullptr && language_info->CanonicalName.BeforeFirst('_') == m_language_info_system->CanonicalName.BeforeFirst('_'))
language_info = m_language_info_system;
@@ -85,7 +85,7 @@ Treat NetBSD like Linux.
// If we can't find this locale , try to use different one for the language
// instead of just reporting that it is impossible to switch.
if (! wxLocale::IsAvailable(language_info->Language)) {
-@@ -2156,7 +2156,7 @@ void GUI_App::add_config_menu(wxMenuBar
+@@ -2241,7 +2241,7 @@ void GUI_App::add_config_menu(wxMenuBar
local_menu->Append(config_id_base + ConfigMenuSnapshots, _L("&Configuration Snapshots") + dots, _L("Inspect / activate configuration snapshots"));
local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _L("Take Configuration &Snapshot"), _L("Capture a configuration snapshot"));
local_menu->Append(config_id_base + ConfigMenuUpdate, _L("Check for Configuration Updates"), _L("Check for configuration updates"));
@@ -94,7 +94,7 @@ Treat NetBSD like Linux.
//if (DesktopIntegrationDialog::integration_possible())
local_menu->Append(config_id_base + ConfigMenuDesktopIntegration, _L("Desktop Integration"), _L("Desktop Integration"));
#endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION)
-@@ -2200,7 +2200,7 @@ void GUI_App::add_config_menu(wxMenuBar
+@@ -2285,7 +2285,7 @@ void GUI_App::add_config_menu(wxMenuBar
case ConfigMenuUpdate:
check_updates(true);
break;
@@ -103,7 +103,7 @@ Treat NetBSD like Linux.
case ConfigMenuDesktopIntegration:
show_desktop_integration_dialog();
break;
-@@ -2817,7 +2817,7 @@ bool GUI_App::run_wizard(ConfigWizard::R
+@@ -2899,7 +2899,7 @@ bool GUI_App::run_wizard(ConfigWizard::R
void GUI_App::show_desktop_integration_dialog()
{
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_HintNotification.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_HintNotification.cpp
deleted file mode 100644
index d0ab57ceab..0000000000
--- a/prusaslicer/patches/patch-src_slic3r_GUI_HintNotification.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD$
-
-Treat NetBSD like Linux.
-
---- src/slic3r/GUI/HintNotification.cpp.orig 2021-12-17 14:00:02.000000000 +0000
-+++ src/slic3r/GUI/HintNotification.cpp
-@@ -715,8 +715,11 @@ void NotificationManager::HintNotificati
- if (is_finished())
- return;
-
-+ // stix
-+ // wxGetApp().imgui()->new_frame();
- count_spaces();
- count_lines();
-+ // ImGui::EndFrame();
-
- m_multiline = true;
-
-@@ -1058,4 +1061,4 @@ void NotificationManager::HintNotificati
- }
- }
- } //namespace Slic3r
--} //namespace GUI
-\ No newline at end of file
-+} //namespace GUI
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
index 1c3500c50d..0b46be5e16 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_PrintHostDialogs.cpp
@@ -2,10 +2,10 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/PrintHostDialogs.cpp.orig 2022-03-10 10:35:03.000000000 +0000
+++ src/slic3r/GUI/PrintHostDialogs.cpp
@@ -121,7 +121,7 @@ PrintHostSendDialog::PrintHostSendDialog
- }
+ add_button(wxID_CANCEL);
finalize();
-#ifdef __linux__
diff --git a/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp b/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
index 3ee5dfc071..b0c177e88d 100644
--- a/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
+++ b/prusaslicer/patches/patch-src_slic3r_GUI_Tab.cpp
@@ -2,7 +2,7 @@ $NetBSD$
Treat NetBSD like Linux.
---- src/slic3r/GUI/Tab.cpp.orig 2021-12-17 14:00:02.000000000 +0000
+--- src/slic3r/GUI/Tab.cpp.orig 2022-03-10 10:35:03.000000000 +0000
+++ src/slic3r/GUI/Tab.cpp
@@ -320,7 +320,7 @@ void Tab::create_preset_tab()
// This helps to process all the cursor key events on Windows in the tree control,
@@ -13,16 +13,16 @@ Treat NetBSD like Linux.
// Events queue is opposite On Linux. wxEVT_SET_FOCUS invokes after wxEVT_TREE_SEL_CHANGED,
// and a result wxEVT_KILL_FOCUS doesn't invoke for the TextCtrls.
// see https://github.com/prusa3d/PrusaSlicer/issues/5720
-@@ -1744,7 +1744,7 @@ void TabPrint::update_description_lines(
- if (m_active_page && m_active_page->title() == "Output options" && m_post_process_explanation) {
- m_post_process_explanation->SetText(
- _L("Post processing scripts shall modify G-code file in place."));
+@@ -1762,7 +1762,7 @@ void TabPrint::update_description_lines(
+ if (m_post_process_explanation) {
+ m_post_process_explanation->SetText(
+ _L("Post processing scripts shall modify G-code file in place."));
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__NetBSD__)
- m_post_process_explanation->SetPathEnd("post-processing-scripts_283913");
+ m_post_process_explanation->SetPathEnd("post-processing-scripts_283913");
#endif // __linux__
- }
-@@ -3117,7 +3117,7 @@ void Tab::load_current_preset()
+ }
+@@ -3151,7 +3151,7 @@ void Tab::load_current_preset()
else
#endif
wxGetApp().tab_panel()->InsertPage(wxGetApp().tab_panel()->FindPage(this), tab, tab->title());
@@ -31,7 +31,7 @@ Treat NetBSD like Linux.
int page_id = wxGetApp().tab_panel()->FindPage(tab);
wxGetApp().tab_panel()->GetPage(page_id)->Show(true);
#endif // __linux__
-@@ -3491,7 +3491,7 @@ bool Tab::tree_sel_change_delayed()
+@@ -3525,7 +3525,7 @@ bool Tab::tree_sel_change_delayed()
// There is a bug related to Ubuntu overlay scrollbars, see https://github.com/prusa3d/PrusaSlicer/issues/898 and https://github.com/prusa3d/PrusaSlicer/issues/952.
// The issue apparently manifests when Show()ing a window with overlay scrollbars while the UI is frozen. For this reason,
// we will Thaw the UI prematurely on Linux. This means destroing the no_updates object prematurely.
@@ -40,7 +40,7 @@ Treat NetBSD like Linux.
std::unique_ptr<wxWindowUpdateLocker> no_updates(new wxWindowUpdateLocker(this));
#else
/* On Windows we use DoubleBuffering during rendering,
-@@ -3537,7 +3537,7 @@ bool Tab::tree_sel_change_delayed()
+@@ -3571,7 +3571,7 @@ bool Tab::tree_sel_change_delayed()
if (wxGetApp().mainframe!=nullptr && wxGetApp().mainframe->is_active_and_shown_tab(this))
activate_selected_page(throw_if_canceled);
diff --git a/prusaslicer/patches/patch-src_slic3r_Utils_Serial.cpp b/prusaslicer/patches/patch-src_slic3r_Utils_Serial.cpp
new file mode 100644
index 0000000000..204816e1f7
--- /dev/null
+++ b/prusaslicer/patches/patch-src_slic3r_Utils_Serial.cpp
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- src/slic3r/Utils/Serial.cpp.orig 2022-03-10 10:35:03.000000000 +0000
++++ src/slic3r/Utils/Serial.cpp
+@@ -49,7 +49,7 @@
+ #include <sys/select.h>
+ #endif
+
+-#if defined(__APPLE__) || defined(__OpenBSD__)
++#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__NetBSD__)
+ #include <termios.h>
+ #elif defined __linux__
+ #include <fcntl.h>
+@@ -342,7 +342,7 @@ void Serial::set_baud_rate(unsigned baud
+ ios.c_cc[VTIME] = 1;
+ handle_errno(::ioctl(handle, TCSETS2, &ios));
+
+-#elif __OpenBSD__
++#elif __OpenBSD__ || __NetBSD__
+ struct termios ios;
+ handle_errno(::tcgetattr(handle, &ios));
+ handle_errno(::cfsetspeed(&ios, baud_rate));
Home |
Main Index |
Thread Index |
Old Index