Skip to content

Bugfix update macos version - #822

Merged
LiuLikeQian merged 14 commits into
mainfrom
bugfix_update_macos_version
Sep 3, 2026
Merged

Bugfix update macos version#822
LiuLikeQian merged 14 commits into
mainfrom
bugfix_update_macos_version

Conversation

@LiuLikeQian

@LiuLikeQian LiuLikeQian commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

相对 main 只有 9 个文件(+77/−29)。GitHub 列出的 14 个 commit 里大半已经在 main 上,请 squash。
HEAD f1981ca 的 Build all 已在 macos-26 上跑绿:deps、slicer、unsigned DMG、dSYM → Sentry。
https://github.com/Snapmaker/OrcaSlicer/actions/runs/33625637377

说明请改准:换的是 GitHub runner 标签 macos-14 → macos-26(镜像默认 Xcode 26.6 / SDK macosx26.5),
不是把部署目标抬到 26。CMakeLists 默认仍是 12.0,CI 脚本仍传 -t 10.15。用户最低系统不会因此变成 26。
macos-14 已 deprecated,11 月 2 日停服,这次换是必要的。钉死 macos-26、不写 macos-latest,清盘改成保留 xcode-select 当前项,这三处都对。

SDK 26 上的两块编译挡板也成立:

  • AGL 已从 SDK 移除,CMake FindOpenGL 仍把它当 GLU。空掉 OPENGL_glu_LIBRARY 即可。应用链的是 OpenGL::GL。
  • AppleClang 21 拒绝越界 wxMediaState 常量。MediaPlayCtrl.h 改成 int 是 de0a1f2 变红之后真正修掉的那条。

不要加回来的:

  • de0a1f2 的 git apply OpenVDB clang19.patch。merge 后用的是 main 已有的 sed 修模板语法,HEAD 编过。
  • 不要为 wxMediaCtrl2.h 挡合入。main 已经是 out-of-line static const + static_cast,不是 constexpr 转换;slicer job 编过。顺手改成 int 可以,不是门槛。
  • 不要把 -t 10.15 当这次的缺口。以后 Xcode 拒了再和 CMakeLists 的 12.0 对齐。

不要求补断言测试。

zhouzengping and others added 14 commits August 17, 2026 18:38
The modal progress dialog in load_toolpaths() pumps the event loop,
allowing dispatched events to re-enter reset() and zero m_moves_count.
This causes unsigned underflow in reserve(m_moves_count -
biased_seams_ids.size()), throwing std::length_error.

Guard reset() with an m_loading flag armed via RAII ScopeGuard,
and move reset() before the flag is set. Replace manual
gcode_result.unlock() with ScopeGuard for exception safety.
Also add a defensive clamp on the ssid_count computation in
load_toolpaths() as a belt-and-suspenders measure.

Co-authored-by: zhangzhendong <zzdong0119@foxmail.com>
Sign macOS builds for branches matching refs/heads/release_* (e.g. release_2_3_6, release_2_3_7) and skip the unsigned DMG step for them so it no longer overwrites the notarized DMG.
…UI, preset and logging fixes (#735)

* fix:Modify the preset temperature value of the cold plate

* Fix dark-mode icons and layout shift in mixed filament batch dialog

- Center the preview placeholder by logical size (GetScaledSize) so the
  Retina-rasterized bitmap is no longer shifted toward the top-left on macOS
- Add _light icon variants for the add/remove and tray nav buttons, and set
  explicit disabled-state bitmaps (muted opposite-palette asset) so the four
  states are distinguishable in both themes
- Pin title rows to 20 DIP and manual-card rows to 30 DIP (matching the
  recommended card), and pin add/remove buttons to 16x16 DIP, so cards no
  longer shift when switching between recommended and manual modes
- Refine zh_CN translation of the mix-ratio range warning

* fix(gui): rescale batch match button on DPI/theme change

Button::Rescale() refreshes icons, re-measures the cached text
extent (messureSize) and re-applies the style. It was missing for
m_btn_batch_match in Sidebar::msw_rescale() and sys_color_changed(),
so the label drifted/clipped after a DPI or theme change while the
sibling flushing-volume button stayed correct.

* chore(log): downgrade GetFilamentInfo failure log to info (#727)

* Reset assembly view camera fit state when opening a project (#730)

* fix: prevent re-entrant reset crash in GCodeViewer::load()

The modal progress dialog in load_toolpaths() pumps the event loop,
allowing dispatched events to re-enter reset() and zero m_moves_count.
This causes unsigned underflow in reserve(m_moves_count -
biased_seams_ids.size()), throwing std::length_error.

Guard reset() with an m_loading flag armed via RAII ScopeGuard,
and move reset() before the flag is set. Replace manual
gcode_result.unlock() with ScopeGuard for exception safety.
Also add a defensive clamp on the ssid_count computation in
load_toolpaths() as a belt-and-suspenders measure.

* fix: disable macOS memory guard detection (#724)

- get_available_physical_memory() returns 0 on macOS, so the runtime
  memory guard skips sampling entirely (avail == 0 short-circuit in
  check_memory_guard): no low-memory dialog, no guard actions
- The vm_statistics64-based estimate counted free pages only and
  ignored reclaimable cache (inactive/purgeable), sitting far below
  the guard threshold on any normally-used system; it raised false
  low-memory warnings even for small models
- Windows and Linux behavior is untouched

* revert try catch for the mqtt connect. (#723)

* fix revert try catch for the mqtt connect.

* fix add try catch for mqtt.

* feature add the exception catch for mqtt.

* fix exception not catch question

---------

Co-authored-by: joyx_desktop <y.iesteem@gmail.com>
Co-authored-by: Kenshin627 <Kenshin627@users.noreply.github.com>
Co-authored-by: ZhangZheng <67276816+LuckZAE@users.noreply.github.com>
Co-authored-by: XieJiajun <68017138+PILIPALA030@users.noreply.github.com>
Co-authored-by: zackaree-shen <zackary_shen@qq.com>
Co-authored-by: Alves <LiuLikeQian@users.noreply.github.com>
…pdate (#733)

* fix: correct parent of title bar and task panel to content panel

The title bar and task panel were added to m_content_panel's sizer but
their parent was still 'this' (the dialog), so wxWidgets could not
locate/render them, leaving the download list blank. Reparent them to
m_content_panel so ownership matches the sizer they live in.

* fix: eliminate download popup flicker on Windows

- Use wxBORDER_NONE on Windows (wxBORDER_SIMPLE kept elsewhere)
- Enable double buffering on the popup subtree
- Repaint the border ring on every paint event on Windows

* chore: update flutter_web resources to v2.3.26 (build 20260817160540)

* chore: update flutter_web resources to v2.3.26 (build 20260818172502)

---------

Co-authored-by: YukiMacMini <yukimacmini@YukiMacMinideMac-mini.local>
- Remove the "Beta version" line drawn under the brand name
- Append a localized "Release" tag to the version string on the
  splash screen (zh_CN: 版本), rendered as "V2.3.6 版本"
- Add the "Release" msgid to the zh_CN catalog and the pot template;
  other languages fall back to English until translated
- SSWCP.cpp sw_WakeupFind(): the Bonjour kick block was left as a bare
  '{ ... } catch (...) {}' — restore the missing 'try' keyword so the
  catch has an associated try block (error C2318)
- MoonRaker.cpp Moonraker_Mqtt ctor: drop the stray '{' left over when
  the socket probe was wrapped in try/catch; the unbalanced brace kept
  the constructor open and cascaded C2601/C2065/C1075 errors

Both are one-line brace/keyword fixes; no logic changes. Verified with
a full Release build of Snapmaker_Orca on MSVC (0 errors).
TimelapseDownloadPopup.cpp (introduced in #733) and ParamsPanel.cpp use
wxWindowUpdateLocker without including <wx/wupdlock.h>; they only compiled
because the PCH (pchheader.hpp) pulls the header in. The Flatpak build sets
-DSLIC3R_PCH=OFF, so TimelapseDownloadPopup.cpp failed with
'wxWindowUpdateLocker was not declared in this scope' in CI (run 32143560654).
ParamsPanel.cpp has the same latent dependency and is fixed preemptively.

Same pattern as 46e6284 (MixedFilamentBatchDialog.cpp).
Snapmaker.json references the preset via sub_path
"process/0.10mm Color Mixing @Snapmaker U1 (0.4 nozzle).json"
(lowercase), but the file on disk was named "(0.4 Nozzle)".
PresetBundle::load_vendor_configs_from_json resolves each manifest
entry by the exact sub_path string, so on case-sensitive filesystems
(Linux AppImage/Flatpak/deb) the open fails and loading of the whole
Snapmaker vendor bundle aborts with ConfigurationError.

Rename the file to match both the manifest sub_path and the preset's
own "name" field. No preset content changed. Audited all 570
sub_path entries in Snapmaker.json — this was the only mismatch.
The same mismatch also exists on main.
# Conflicts:
#	.github/workflows/build_orca.yml
#	deps/OpenVDB/OpenVDB.cmake
#	resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 0.2 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 0.4 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 0.6 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ABS @U1 0.8 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 0.2 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 0.4 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 0.6 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker ASA @U1 0.8 nozzle.json
#	resources/profiles/Snapmaker/filament/Snapmaker PETG-CF @U1 0.4 nozzle.json
#	resources/web/flutter_web/flutter_bootstrap.js
#	resources/web/flutter_web/flutter_service_worker.js
#	resources/web/flutter_web/main.dart.js
#	resources/web/flutter_web/version.json
#	src/slic3r/GUI/SSWCP.cpp
#	src/slic3r/GUI/wxMediaCtrl2.h
@LiuLikeQian
LiuLikeQian merged commit dcf8629 into main Sep 3, 2026
15 checks passed
@LiuLikeQian
LiuLikeQian deleted the bugfix_update_macos_version branch September 4, 2026 02:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants