Remove window subclassing (#1933)
* Remove window subclassing * Always call `DefWindowProcW` when we don't process a message * Improve window initialization Note that the error path in `init` is kind of cursed at the moment. * Rename `ThreadMsgTargetCallbackData` to `ThreadMsgTargetData` * Simplify window initialization * Fix compilation on 32-bit targets * Simplify the creation of the event target window * Use `.clone()` rather than `Rc::clone()` * Use concrete types for args to `SetWindowLongPtrW` On 32-bit targets, `SetWindowLongPtrW` is an alias to `SetWindowLongW`, which returns `LONG` (`i32`) rather than `LONG_PTR` (`isisze`). * Minor comment adjustments
This commit is contained in:
parent
27e6548343
commit
63ad47a7bf
3 changed files with 295 additions and 266 deletions
|
|
@ -23,7 +23,7 @@ use crate::{
|
|||
pub(crate) type EventLoopRunnerShared<T> = Rc<EventLoopRunner<T>>;
|
||||
pub(crate) struct EventLoopRunner<T: 'static> {
|
||||
// The event loop's win32 handles
|
||||
thread_msg_target: HWND,
|
||||
pub(super) thread_msg_target: HWND,
|
||||
wait_thread_id: DWORD,
|
||||
|
||||
control_flow: Cell<ControlFlow>,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue