aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/win32/init.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/win32/init.rs')
-rw-r--r--src/api/win32/init.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/api/win32/init.rs b/src/api/win32/init.rs
index 67e4e4e..6b52660 100644
--- a/src/api/win32/init.rs
+++ b/src/api/win32/init.rs
@@ -5,6 +5,7 @@ use std::mem;
use std::thread;
use super::callback;
+use super::callback::WindowState;
use super::Window;
use super::MonitorId;
use super::WindowWrapper;
@@ -215,7 +216,7 @@ unsafe fn init(title: Vec<u16>, window: &WindowAttributes, pf_reqs: &PixelFormat
}
// Creating a mutex to track the current cursor state
- let cursor_state = Arc::new(Mutex::new(CursorState::Normal));
+ let cursor_state = CursorState::Normal;
// filling the CONTEXT_STASH task-local storage so that we can start receiving events
let events_receiver = {
@@ -225,7 +226,10 @@ unsafe fn init(title: Vec<u16>, window: &WindowAttributes, pf_reqs: &PixelFormat
let data = callback::ThreadLocalData {
win: real_window.0,
sender: tx.take().unwrap(),
- cursor_state: cursor_state.clone()
+ window_state: Arc::new(Mutex::new(WindowState {
+ cursor_state: cursor_state.clone(),
+ attributes: window.clone()
+ }))
};
(*context_stash.borrow_mut()) = Some(data);
});