Winit version 0.30.10#4206
Conversation
…ust-windowing#4136) * Fix a pause in the event loop when clicking the title bar on windows When clicking the title bar on Windows, to drag the window, there is a noticible pause in continuous redraw requests. This was fixed in rust-windowing#839 and then regressed in rust-windowing#1852. The cursor blinks in both cases and is unrelated. The regression made the blink happen after the pause instead of immediately. * Update the event loop pause note on the WM_NCLBUTTONDOWN handler The application example was also updated to optionally animate the fill color in order to demonstrate continuous redraw without pauses in the event loop.
…dowing#4164) * Prevent panic when calling set_simple_fullscreen(false) on macos Calling `set_simple_fullscreen(false)` to restore the window after a previous call to `set_simple_fullscreen(true)` panics with `view must be installed in a window` in the call to `set_style_mask` with the old style. Moving the `set_style_mask` call after the frame has been resized fixes the issue. * Hide the doc and menubar on macos when using set_borderless_game with set_simple_fullscreen
Using `Duration::Zero` with `Wait` polling mode was still blocking until the event was actually delivered. Thus when `pump_events` API is used, ensure that it's not happening. Fixes rust-windowing#4130.
082feb9 to
12bde0f
Compare
Only mark that the grab was applied when it actually got applied. Previously there was an issue with grab being marked as applied without a pointer over the window, when in reality it wasn't. Fixes rust-windowing#4073.
Spawn a thread when pump_events is used, so the external thread will get woken-up correctly. This only happens when timeout was given. Fixes rust-windowing#4183.
12bde0f to
7ef2ad2
Compare
|
@madsmtm if you want to cherry pick something for macOS go ahead, it's generally requires significant effort to do so, so I haven't bothered in places where it was not obvious bug fix. |
|
I think I wanted to get the following PRs in:
Some of them aren't merged into |
This disallows carrying over open windows between calls of `run_app_on_demand` (which wasn't intended to be supported anyhow).
|
yeah, if you want to backport them then go ahead. |
|
Alright, done. I rebased them before the last commit which updates the version number and changelog entries, please verify that you agree I've done it correctly. I also ended up backporting the iOS parts of #3758, since it's quite a roadblock there that you don't have control over the application delegate (and the iOS parts of that are far easier to backport than the macOS parts). (Also, for the record, I added 37a4394 a month ago when I noticed that parts of the |
|
@madsmtm you need to raise the ci to Generally looks good, I'll wait a bit for some other stuff to get merged/resolved and release. |
|
I've gone with using |
This is done to avoid order-dependent behavior that you'd otherwise encounter where `EventLoop::new` had to be called at the beginning of `fn main` to ensure that Winit's application was the one being registered as the main application by calling `sharedApplication`. Fixes rust-windowing#3772. This should also make it (more) possible to use multiple versions of Winit in the same application (though that's still untested). Finally, it should allow the user to override `NSApplication` themselves if they need to do that for some reason.
…indowing#4191) We were rounding the refresh rate before converting it to millihertz.
iOS parts of rust-windowing#3758. This allows the user to override the application delegate themselves, which opens several doors for customization that were previously closed. To do this, we use notifications instead of a top-level application delegate. One effect of not providing an application delegate on iOS is that we no longer act as-if the application successfully open all URLs there. This is a breaking change, although unlikely to matter in practice, since the return value of `application:didFinishLaunchingWithOptions:` is seldom used by the system (and this is likely the preferred behaviour anyhow).
The monitor UUID is what actually represents the monitor, CGDirectDisplayID is closer in correspondence to a specific framebuffer.
Instead of panicking, raise a warning and return `None` or similar. Co-Authored-By: RJ <rj@metabrew.com>
The `text` is retrieved as UTF-8 while `attributes` are based on UTF-16, thus the offset was getting out of sync on some unicode payloads like surrogate pairs. Fixes rust-windowing#3967.
bedff2a to
fdbf18f
Compare
No description provided.