Andrew Nosenko
Andrew Nosenko
> Contrary to the original method (where I couldn't see the caller) this is public, thus definitely broken, because it doesn't unwrap and await the task returned by `Func` or...
> I wonder if something like @kevingosse proposed in [his article](https://medium.com/criteo-engineering/switching-back-to-the-ui-thread-in-wpf-uwp-in-modern-c-5dc1cc8efa5e) would allow us achieve the desired in a different way? That's a very interesting approach, thanks for the link....
> it's not obvious how these methods should tie in with closing/disposing forms, and I'm not convinced they will make it any easier for developers to address those concerns. I...
> So, after a short email-exchange with @Pilchie, I tried the following based on a question he asked and I am wondering: what about this approach? @KlausLoeffelmann I don't think...
> I wanted to start a discussion which one is the more commonly desired behavior and thus the desired "out of the box" experience. In this light, I'd make `InvokeAsync`...
> though a counterargument is that most other awaits you do will inline if its await-condition is aready fulfilled To counterargument that, WPF's [`Dispatcher.InvokeAsync`](https://docs.microsoft.com/en-us/dotnet/api/system.windows.threading.dispatcher.invokeasync?view=net-5.0) is always async, even when called...
I use Rx .NET to properly react upon different sequences of user input events inside an editing component. It's much easier than implementing a complex state tracker.
[BUG] SkiaSharp can call WM_PAINT handler and random COM callbacks when creating or obtaning objects
@toptensoftware if you control the synchronization context in your desktop app, one other workaround without patching SkiaSharp might be to install a custom STA-friendly synchronization context. It should request wait...
[BUG] SkiaSharp can call WM_PAINT handler and random COM callbacks when creating or obtaning objects
> I wasn't aware the locks uses the sync context - I'll look into switching that, but it really seems like a horrible hack. All that overhead for the few...
[BUG] SkiaSharp can call WM_PAINT handler and random COM callbacks when creating or obtaning objects
I agree, ideally SkiaSharp would benefit from using some lower level synchronization primitives which aren't exposed to pumping. I think that `Monitor.Enter`/`Monitor.Exit` (which is used by C# `lock { ......