Skip to content
This repository was archived by the owner on Jan 2, 2025. It is now read-only.

Commit d27df89

Browse files
authored
Merge pull request #315 from ojhp/bugfix/check_for_event_panic
Fixed uninitialized error in `check_for_events`
2 parents 140f44b + 8c40340 commit d27df89

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/input.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -190,14 +190,17 @@ bitflags! {
190190
}
191191

192192
pub fn check_for_event(event_mask: EventFlags) -> Option<(EventFlags, Event)> {
193-
let mut c_key_state: ffi::TCOD_key_t = unsafe { mem::uninitialized() };
194-
let mut c_mouse_state: ffi::TCOD_mouse_t = unsafe { mem::uninitialized() };
193+
let mut c_key_state: mem::MaybeUninit<ffi::TCOD_key_t> = mem::MaybeUninit::uninit();
194+
let mut c_mouse_state: mem::MaybeUninit<ffi::TCOD_mouse_t> = mem::MaybeUninit::uninit();
195195

196196
let event = unsafe {
197197
ffi::TCOD_sys_check_for_event(event_mask.bits() as i32,
198-
&mut c_key_state, &mut c_mouse_state)
198+
c_key_state.as_mut_ptr(), c_mouse_state.as_mut_ptr())
199199
};
200200

201+
let c_key_state = unsafe { c_key_state.assume_init() };
202+
let c_mouse_state = unsafe { c_mouse_state.assume_init() };
203+
201204
let ret_flag = match event {
202205
ffi::TCOD_event_t::TCOD_EVENT_KEY_PRESS => KEY_PRESS,
203206
ffi::TCOD_event_t::TCOD_EVENT_KEY_RELEASE => KEY_RELEASE,

0 commit comments

Comments
 (0)