Commit Graph
100 Commits
Author SHA1 Message Date
Noisyfox c965b2a5b3 Fix macOS object-list filament editor crash/glitch (#13700)
# Description

Fixes a macOS object-list filament editor crash/glitch where the
filament column could enter Cocoa native text editing and expose
`wxCustomRendererObject: 0x...` or crash while committing an invalid
`DataViewBitmapText` value.

The visible `wxCustomRendererObject` glitch was observed on macOS
through Cocoa `wxDataViewCtrl` editing. The underlying unsafe
assignment/variant/editor assumptions are not inherently macOS-only, so
the defensive data-path fixes are cross-platform.

Changes:
- Adds an explicit `DataViewBitmapText` assignment operator that avoids
copying the `wxObject` base, matching the existing copy constructor.
- Rejects unexpected variant types before reading object-list
name/filament values as `DataViewBitmapText`.
- Hardens filament editor value extraction against unexpected editor
controls.
- On macOS, routes filament-column editing through the custom
bitmap-choice renderer instead of `wxDataViewCtrl::EditItem()`, avoiding
native text editing of `wxCustomRendererObject`.



Fixes https://github.com/OrcaSlicer/OrcaSlicer/issues/13682

Previous PR with conversation:
[#13684](https://github.com/OrcaSlicer/OrcaSlicer/pull/13684)

This should fix the crash observed by @Noisyfox as we're addressing the
underlying problem of presenting the `wxCustomRendererObject`.

## Tests

Validated on macOS arm64. Repeated double-click/edit attempts on an
unselected object's filament cell no longer show
`wxCustomRendererObject` and no crash reproduced.

<!--
> A guide for users on how to download the artifacts from this PR.
-->

[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)
2026-05-17 19:48:12 +08:00
Noisyfox 1c0d0b89cc Keep painting after cut (#13472)
[How to Download Pull Requests Artifacts for
Testing](https://www.orcaslicer.com/wiki/how_to_download_pr_artifacts)


This can be enabled in Preference->Developer->Keep painted feature after
mesh change.

<img width="731" height="633" alt="init"
src="https://github.com/user-attachments/assets/8b195486-538e-4eda-9e77-bfdf1a794306"
/>


TODO:
- [ ] Bug fixes
- [ ] Make it faster
- Keep painting after other mesh operations such as reload from
disk/simplify/boolean operation etc:
  - [x] Planar cut
  - [x] Dovetail cut
  - [x] Cut with part assigned to other side
  - [x] Split to parts
  - [x] Split to objects
  - [x] Mesh boolean gizmo
  - [x] Mesh boolean in right click
- [x] Reload from disk/replace stl (won't work well if mesh changed too
much)
  - [x] Fix model
- [x] Simplify/smooth (this two won't work well due to too much mesh
changes)
- [x] Add options in settings since I think this will be experimental
for a long time until being tested by a lot of ppl
2026-05-17 14:38:37 +08:00
Noisyfox 1c21402981 Fix issue that printer name disappear if profile is modified (#13653)
Fix issue that printer name disappear if profile (other than the first one among its variants) is modified
for printers that have multiple variants with different nozzle size
2026-05-14 00:17:24 +08:00
Noisyfox 1e11e80bd1 Fix a regression that second extruder settings not properly handled for H2D/X2D (#13648)
Fix a regression that second extruder settings not properly handled for H2D/X2D (OrcaSlicer/OrcaSlicer#13559)

The problem here is how it deals with comparasion between signed & unsigned unmbers. It will convert both into unsigned then do the comparasion,
which means when `extruder_id` is `-1` (which is a valid value, means all extruders), it will be treated as `0xFFFFFFFF` which is obviously greater than `nozzle_volumes->size()`
then be reset to `0`. So when the parameter dialog is built (which will call this function with `extruder_id=-1`), only the first extruder will be set to the correct variant index.
2026-05-13 20:48:50 +08:00
Noisyfox ecab578052 Merge branch 'main' into dev/cut-keep-paint 2026-05-12 16:18:34 +08:00
Noisyfox b16a461320 Merge branch 'main' into dev/cut-keep-paint 2026-05-11 17:22:21 +08:00
Noisyfox 5b1766b1d5 Remap paint after smooth 2026-05-11 17:16:36 +08:00
Noisyfox b4b2982106 Remap paint after simplify 2026-05-11 17:00:54 +08:00
Noisyfox 3cbdb092d6 Always clear existing facets first if not kept 2026-05-11 17:00:31 +08:00
Noisyfox ea5119ec3f Remap paint after contour cut (cut with part assigned to other side using right mouse click) 2026-05-11 15:33:09 +08:00
Noisyfox b9c9f42f01 Remap paint after dovetail cut 2026-05-11 14:53:53 +08:00
Noisyfox 66f8d954af Simplify cut repaint code to make it more generic 2026-05-11 14:42:45 +08:00
Noisyfox 4aeb6a31db Revert "Refactor planar cut code so it can be reused by other cut type"
This reverts commit a0d1ccaf28.
2026-05-11 14:19:08 +08:00
Noisyfox 89ab4d27cb Revert "Remap paint after dovetail cut"
This reverts commit f3fe37eab3.
2026-05-11 14:19:03 +08:00
Noisyfox f3fe37eab3 Remap paint after dovetail cut 2026-05-10 23:35:09 +08:00
Noisyfox a0d1ccaf28 Refactor planar cut code so it can be reused by other cut type 2026-05-10 22:07:02 +08:00
Noisyfox 1299fcef4a Remap paint after repair model 2026-05-10 18:27:02 +08:00
Noisyfox d5f964ee4f Merge remote-tracking branch 'upstream/main' into dev/cut-keep-paint 2026-05-10 16:41:59 +08:00
Noisyfox 5c754e360e Spatial paint remapping after replace stl 2026-05-10 16:33:08 +08:00
Noisyfox 51d2c91c9b Remap paint after reload from disk 2026-05-10 16:26:19 +08:00
Noisyfox 73096a1161 Fix artifact during normal paint 2026-05-10 12:35:31 +08:00
Noisyfox 219ef664bd Fix issue that in certain cases the paint is not applied when faces are parallel to an axis, by adding a small tolerance to the bbox 2026-05-10 11:50:47 +08:00
Noisyfox f8a18e7656 Remap paint after mesh boolean (from context menu) 2026-05-10 00:41:18 +08:00
Noisyfox 3aadd6e080 Remap paint after mesh boolean 2026-05-09 21:48:52 +08:00
Noisyfox e6b3f6ccef Add option to keep existing painting while mapping new paintings to it 2026-05-09 21:47:40 +08:00
Noisyfox b3a513eab9 Remove redundent mmu facets assign because that's already done in new_object->add_volume(*volume) 2026-05-09 17:36:17 +08:00
Noisyfox fb0cf966cf Remap paint after split to parts 2026-05-09 17:06:19 +08:00
Noisyfox c2d33bea08 Remap paint after split to objects 2026-05-09 17:02:46 +08:00
Noisyfox bfde91685e Rearrange code a little bit to make it more reusable 2026-05-09 16:16:31 +08:00
Noisyfoxandlane.wei 8c7cc6972f FIX: context: fix the .gcode.3mf not shown issue (#13360)
filament_self_index difference caused

JIRA: no-jira

Change-Id: Ia70fe8a8095b8067fe13bbfc9e5c39d9f3ee05d3
(cherry picked from commit 3a55a3a1eef94f577376cd697c3b72cb46967672)

Co-authored-by: lane.wei <lane.wei@bambulab.com>
2026-05-09 13:15:17 +08:00
Noisyfox fb1f4a7d24 Automatically select external spool if it's the only installed filament (#13356)
* Clean up code

* Filament mapping select ext slot automatically when no AMS filament inserted (OrcaSlicer/OrcaSlicer#13103)

* Show warning if external filament type does not match the one in sliced file
2026-05-09 13:14:27 +08:00
Noisyfox 4490dccade Fix issue that support/seam/fuzzy skin painting not kept after split 2026-05-09 10:12:36 +08:00
Noisyfox 2f160ad8bc Rearrange code a little bit to make it more reusable 2026-05-08 22:54:20 +08:00
Noisyfox fad680fcc1 Simplify mesh transform 2026-05-08 21:23:38 +08:00
Noisyfox 83e9f17aa8 Fix issue that Geometry::deg2rad() do calculation in the same type as the parameter, which means if the parameter is int then you lose all the precision 2026-05-07 22:32:56 +08:00
Noisyfox 8b716d43e5 Merge branch 'main' into dev/cut-keep-paint 2026-05-07 08:49:57 +08:00
Noisyfox 100a9a20d1 Fix unicode preset name issue (#13503) 2026-05-06 23:45:32 +08:00
Noisyfox be141d32c1 Speed up calculation by caching barycentric independent variables 2026-05-05 21:53:58 +08:00
Noisyfox 5978e96ff5 Add option to enable/disable paint keep 2026-05-05 18:39:50 +08:00
Noisyfox 368563e14e Fix part offset 2026-05-05 18:11:44 +08:00
Noisyfox 01e0013b16 Don't remap paint unless it's the final cut 2026-05-05 17:08:53 +08:00
Noisyfox 4b489339c6 Check normal before expanding the painting to neighboring faces 2026-05-05 11:59:20 +08:00
Noisyfox e451df27f7 Fix issue of pojection calculation 2026-05-05 11:05:48 +08:00
Noisyfox 24458ba5a2 Remapping the paintings after cut 2026-05-04 20:41:00 +08:00
Noisyfox ded2e72dcc Refine code 2026-05-04 20:33:13 +08:00
Noisyfox 07173a8de4 Remove unused facets 2026-05-04 20:33:13 +08:00
Noisyfox 37de679533 Fix crash on launch caused by ref of tmp object (#13341) 2026-04-25 00:11:23 +08:00
Noisyfox 6e30443c62 Fix issue that filament combobox not working after adding extruder (#13194) 2026-04-24 22:29:26 +08:00
Noisyfox a162e3f031 Fix macos crash on close (#13215)
# Description

<!--
> Please provide a summary of the changes made in this PR. Include details such as:
  > * What issue does this PR address or fix?
  > * What new features or enhancements does this PR introduce?
  > * Are there any breaking changes or dependencies that need to be considered?
-->

# Screenshots/Recordings/Graphs

<!--
> Please attach relevant screenshots to showcase the UI changes.
> Please attach images that can help explain the changes.
-->

## Tests

<!--
> Please describe the tests that you have conducted to verify the changes made in this PR.
-->
2026-04-15 23:03:59 +08:00
Noisyfox 239253ecb1 Fix title bar resize grabber on Windows (#13020)
Make sure the title control passes all mouse events to its parent
2026-03-30 19:18:56 +08:00
Noisyfox 478e8bda16 Fix non-bbl printer filament grouping by mapping all filaments/tools to group 0 (#12449, #12766) 2026-03-14 23:30:37 +08:00
Noisyfox 485917461a Allow cancellation during beam interlocking generation 2026-03-13 23:33:19 +08:00
Noisyfox 7952721931 Fix unable to load DRC file if path contains non-ascii characters (#12619)
Fix issue that failed to load DRC file if path contains non-ascii character
2026-03-06 10:24:06 +08:00
Noisyfox 29addf5ca1 Fix issue that fan speed not reset to normal after ironing (#12595)
Fix issue that fan speed not reset to normal after ironing (OrcaSlicer/OrcaSlicer#11824)
2026-03-04 15:46:14 +08:00
Noisyfox d390524db0 Fix issue that pressure equalizer moves pass the original end of the line when processing very short movements (#12575) 2026-03-04 15:44:37 +08:00
Noisyfox 6d6f7451d4 [Emboss] Fix issue that font search not working on macOS (#12531)
Fix issue that font search not working on macOS
2026-03-04 12:46:50 +08:00
Noisyfox d46cd65d7c Add Elegoo CC 2 profiles (#11240)
### NOTE: NOT TESTED

<img width="789" height="601" alt="image" src="https://github.com/user-attachments/assets/f0057c21-d169-4269-8bf1-ab9cb2f5d10d" />
<img width="1567" height="1065" alt="image" src="https://github.com/user-attachments/assets/5f4e3fcf-b294-4b56-810e-59d85caff4ef" />
2026-02-08 17:00:52 +08:00
Noisyfox b9d4b782c2 Fix crash when open AMS 2 humidity popup (#12123) 2026-02-02 23:50:12 +08:00
Noisyfox 69861b57f9 Fix float number not working properly for option min/max (#11211)
* ConfigOptionDef: min/max values type are changed from INT to FLOAT.

(cherry picked from commit f277bc80c22e0c9a067481a4301922e2c96aed47)

* Fix infinite loop and crash when `fuzzy_skin_point_distance` = 0 (SoftFever/OrcaSlicer#11069)

* Fix Linux build issue

* Fix float comparison due to precision loss
2025-12-31 21:23:46 +00:00
NoisyfoxandSoftFever 0aac0478e7 GCode Macro: Fix placeholder parser bugs and enable tests (#11485)
* Support creating vector variable

* Add tests for placeholder parser variables

* Fix placeholder line width substitution & tests

* Enable PlaceholderParser tests

* fix build errors

---------

Co-authored-by: SoftFever <softfeverever@gmail.com>
2025-12-23 23:44:43 +08:00
Noisyfox e69daea3c3 Fix filament override checkbox not update after click (#11517)
* Fix filament override checkbox not update after click

* Event args should be references otherwise `e.skip()` won't work

* Fix bool option override
2025-12-22 18:17:32 +02:00
Noisyfox e4f6499663 Fix issue that per-extruder settings doesn't work properly for non-bbl printers (#11165)
* Automatically generate extruder id & printer extruder variant mappings for non-BBL multi-extruder printers

* Support different layer height limit for non-bbl multi-extruder printer
2025-12-18 12:50:14 +00:00
Noisyfox 7f36a02f37 Fix cut memory leak (#11476) 2025-12-18 12:37:13 +00:00
Noisyfox 4c1b6445d3 Validate invalid fields for hidden system profiles (#11455)
* Fix issue that for invisible system profiles, invalid fields are not removed

* Fix wrong note field
2025-11-24 20:11:42 +08:00
Noisyfox 8d3b3645e7 Merge branch 'main' into libvgcode 2025-11-22 19:35:32 +08:00
Noisyfox 61931d23a4 Fix filament profile import if inherit from vendor generic (#11398)
* Why log user id when importing profile?

* Use `find_preset2` when importing profiles
to properly handle renamed system profiles
2025-11-22 15:38:12 +08:00
Noisyfox 7b0cdd3ec6 Fix crash after syncing printer (#11428)
Fix crash after syncing printer (OrcaSlicer/OrcaSlicer#11427)
2025-11-22 15:37:28 +08:00
Noisyfox 760f66d3d7 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/Plater.cpp
#	src/slic3r/GUI/PrePrintChecker.cpp
#	src/slic3r/GUI/StatusPanel.cpp
2025-11-18 09:17:13 +08:00
Noisyfox 5e2a7fbf35 Merge branch 'main' into dev/p2s-pr 2025-11-17 14:56:09 +08:00
Noisyfox 95c901768e Merge remote-tracking branch 'upstream/main' into dev/p2s-pr
# Conflicts:
#	src/libslic3r/GCode.cpp
2025-11-14 18:48:32 +08:00
Noisyfox c2c796ef25 Fix initial filament loading (#11350)
* Fix initial filament loading for non-bbl printers (SoftFever/OrcaSlicer#11218)

* Add missing initial PA for bbl printers

* Reset APA after toolchange
https://github.com/SoftFever/OrcaSlicer/pull/5609#issuecomment-3532029620
2025-11-14 18:46:34 +08:00
Noisyfox 416b447ab0 Fix compile 2025-11-14 15:05:27 +08:00
Noisyfox 1bc5832efd Merge remote-tracking branch 'upstream/main' into dev/p2s-pr 2025-11-14 14:55:41 +08:00
Noisyfox 7f1aad8bc1 Support Visual Studio 2026 (#11349)
* Add script with VS version auto detection

* Add msvc145 toolset support

* Fix issue when build slicer only

* Fix vs2026 OpenCV build

* Set github action to use new build script

* Get vs version from `msbuild --version` so it works for github action
2025-11-13 23:11:56 +08:00
Noisyfox 0c810c817f Fix filament end gcode missing for non-bbl machines 2025-11-13 22:33:26 +08:00
Noisyfox 9d944fd1bd Merge branch 'main' into dev/p2s-pr 2025-11-13 10:11:10 +08:00
Noisyfox c0ad4f4e1c Revert "Fix: Correcting the behavior of the camera panning." (#11337)
Revert "Fix: Correcting the behavior of the camera panning. (#11111)"

This reverts commit 08bd21310c.
2025-11-12 13:09:39 +08:00
Noisyfox 83738cacd8 Merge branch 'main' into dev/p2s-pr 2025-11-10 08:55:30 +08:00
Noisyfox a7adeb6305 Fix crash on printer error when stealth mode is enabled (#11225)
Fix crash on printer error when stealth mode is enabled (SoftFever/OrcaSlicer#11203)
2025-11-10 08:54:06 +08:00
Noisyfox 5197358183 Merge branch 'main' into dev/p2s-pr 2025-11-09 20:47:51 +08:00
Noisyfox 8f5a5a9b16 Fix extrusion rate smoothing unnecessarily slowing down the entire line (#11249)
* Fix typo & code style

* Fix calculation of the min acc time

* Avoid slowing down the entire line if both end of a single line has been slowed down
2025-11-09 12:47:50 +08:00
Noisyfox 614612ed38 Merge branch 'main' into dev/p2s-pr
# Conflicts:
#	src/slic3r/GUI/DeviceErrorDialog.cpp
2025-11-09 12:35:32 +08:00
Noisyfox df734857cc Merge branch 'main' into dev/p2s-pr 2025-11-08 20:46:30 +08:00
Noisyfox bc008ff2f0 Merge branch 'main' into dev/p2s-pr 2025-11-08 17:17:31 +08:00
Noisyfox 716d85f635 Avoid duplicated call of request_user_handle 2025-11-08 14:49:29 +08:00
Noisyfox 28184a96a1 Enable log auto-flush, this should not really affect performance because by default the log level is warning 2025-11-08 11:49:54 +08:00
Noisyfox bfe4b78b0e Make sure app version is output in log regardless of log level, also show build git hash in log 2025-11-08 11:07:24 +08:00
Noisyfox 0b2778e670 Fix max_bridge_length for organic tree (#11295)
* Remove outdated duplicated support code

* Orgainc tree no longer use `bridge_no_support` since #8212
2025-11-08 01:27:15 +08:00
Noisyfox f4d8130451 Fix emboss crash when displaying warning information (#11299)
Revert "FIX:ImGuiInputTextFlags_Multiline should manual input"

This reverts commit bb3f59e18f.
2025-11-08 00:28:22 +08:00
Noisyfox 0115cfbdd0 Merge remote-tracking branch 'upstream/main' into dev/p2s-pr 2025-11-07 10:42:06 +08:00
Noisyfox 55f677ef21 Try free more disk spaces for flatpak build 2025-11-06 09:28:52 +08:00
Noisyfox 55d97420f2 Fix issue that dev printers no longer sync calib & filament info from AMS 2025-11-05 22:54:49 +08:00
Noisyfox 258799674f Merge branch 'main' into dev/p2s-pr 2025-11-05 20:55:28 +08:00
Noisyfox 5eecb82cf5 Fix translations (#11282)
* Revert i18n changes from commit 4b7b81a0a2

* Delete unnecessary files

* Reformat files
2025-11-05 17:51:50 +08:00
Noisyfox 4efaee4c98 Merge branch 'main' into dev/p2s-pr 2025-11-04 10:26:47 +08:00
Noisyfox 664a34f129 Fix initial filament loading for non-bbl printers (SoftFever/OrcaSlicer#11218) 2025-11-03 23:53:13 +08:00
Noisyfox 763bdb5dee Fix gcode viewer wrong layer count when selected printer model is BBL while gcode is not 2025-11-03 23:53:12 +08:00
Noisyfox 9a37c45e35 Merge branch 'main' into dev/p2s-pr 2025-11-01 20:37:00 +08:00
Noisyfox bcb0387e0e Fix Github action syntax error (#11227)
Fix syntax error in c106350143
2025-11-01 20:36:28 +08:00
Noisyfox ffddfb0559 Merge branch 'main' into dev/p2s-pr 2025-11-01 20:29:55 +08:00