emilk / emilk/egui

Broken CursorIcons in native MacOS versions ~14.1 and above

Open
#5,385 1 comment 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug egui-winit
Dominant language
Rust
Stars
30.6k
Forks
2.1k
Avg merge
1d 9h
Merged PRs (30d)
72

Description

Creating this issue for visibility, this is not an Egui bug. (please assign the Winit label)

The following cursors are broken for all native builds on MacOS with versions above 14.1:

```
2024-11-19T08:21:46.953359Z WARN winit::platform_impl::macos::cursor: cursor '_helpCursor' appears to be invalid
2024-11-19T08:21:47.416072Z WARN winit::platform_impl::macos::cursor: cursor 'busyButClickableCursor' appears to be invalid
2024-11-19T08:21:51.509492Z WARN winit::platform_impl::macos::cursor: cursor '_zoomInCursor' appears to be invalid
2024-11-19T08:21:51.905360Z WARN winit::platform_impl::macos::cursor: cursor '_zoomOutCursor' appears to be invalid
2024-11-19T08:21:52.889228Z WARN winit::platform_impl::macos::cursor: cursor '_windowResizeNorthEastCursor' appears to be invalid
2024-11-19T08:21:53.232156Z WARN winit::platform_impl::macos::cursor: cursor '_windowResizeNorthWestCursor' appears to be invalid
2024-11-19T08:21:53.898392Z WARN winit::platform_impl::macos::cursor: cursor '_windowResizeSouthEastCursor' appears to be invalid
2024-11-19T08:21:54.245413Z WARN winit::platform_impl::macos::cursor: cursor '_windowResizeSouthWestCursor' appears to be invalid
2024-11-19T08:21:55.527909Z WARN winit::platform_impl::macos::cursor: cursor '_windowResizeNorthEastSouthWestCursor' appears to be invalid
2024-11-19T08:21:55.912475Z WARN winit::platform_impl::macos::cursor: cursor '_windowResizeNorthWestSouthEastCursor' appears to be invalid
```

This can be tested by opening any fully resizable `egui::Window` in the demo app and attempting to resize the windows via corners -> the cursor shown will be the default one instead of the corner resize one(s).

There is currently no way to set custom cursors in Egui, so we have a situation in which there is no temporary alternative other than Winit updating their platform implementation in order to restore functionality.

Related winit's issue: https://github.com/rust-windowing/winit/issues/3724

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the problem in the demo app with a fully resizable egui::Window on native macOS, then read the related winit issue 3724 and inspect the cursor behavior around window-corner resizing. Done means the listed resize and other affected cursors work instead of falling back to the default cursor on macOS versions above 14.1.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.