修复 macOS 26.5 上点击菜单栏闪退的 EXC_BREAKPOINT 崩溃#956
Open
wyr1028 wants to merge 1 commit into
Open
Conversation
emindeniz99
pushed a commit
to emindeniz99/Ice
that referenced
this pull request
Jun 24, 2026
The unchecked `as! NSBezierPath` in the shadow-drawing helper has been correlated with EXC_BREAKPOINT crashes on the main thread on macOS 26.5 (see jordanbaird#956). The runtime invariant 'NSBezierPath.copy() returns NSBezierPath' has held in practice, but the safe form costs nothing: switch to `guard let path = copy() as? NSBezierPath else { return }` so a runtime mismatch becomes a no-op draw instead of trapping the process. The displayID half of PR jordanbaird#956 is intentionally skipped: the patch introduces a syntax error (`deviceDescription((deviceDescription[…]` is unbalanced).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
修复在 macOS 26.5+ 上开启 Ice Bar 后点击菜单栏图标导致闪退的问题。
修改内容:
(as? NSNumber)?.uint32Value,防止 NSScreenNumber 值类型随系统版本变化时崩溃
修复 #947