diff options
Diffstat (limited to 'src/x11')
-rw-r--r-- | src/x11/window/mod.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/x11/window/mod.rs b/src/x11/window/mod.rs index 57ae22d..a0e7078 100644 --- a/src/x11/window/mod.rs +++ b/src/x11/window/mod.rs @@ -150,8 +150,8 @@ impl Window { } for i in range(0, mode_num) { - let mode: ffi::XF86VidModeModeInfo = **modes.offset(i as int); - if mode.hdisplay == dimensions.val0() as u16 && mode.vdisplay == dimensions.val1() as u16 { + let mode: ffi::XF86VidModeModeInfo = ptr::read(*modes.offset(i as int) as *const _); + if mode.hdisplay == dimensions.0 as u16 && mode.vdisplay == dimensions.1 as u16 { best_mode = i; } }; @@ -167,12 +167,12 @@ impl Window { }; // getting the visual infos - let mut visual_infos = unsafe { + let mut visual_infos: ffi::glx::types::XVisualInfo = unsafe { let vi = ffi::glx::GetVisualFromFBConfig(display, fb_config); if vi.is_null() { return Err(OsError(format!("glx::ChooseVisual failed"))); } - let vi_copy = *vi; + let vi_copy = ptr::read(vi as *const _); ffi::XFree(vi as *const libc::c_void); vi_copy }; @@ -213,8 +213,8 @@ impl Window { // finally creating the window let window = unsafe { - let win = ffi::XCreateWindow(display, root, 0, 0, dimensions.val0() as libc::c_uint, - dimensions.val1() as libc::c_uint, 0, visual_infos.depth, ffi::InputOutput, + let win = ffi::XCreateWindow(display, root, 0, 0, dimensions.0 as libc::c_uint, + dimensions.1 as libc::c_uint, 0, visual_infos.depth, ffi::InputOutput, visual_infos.visual, window_attributes, &mut set_win_attr); win @@ -284,9 +284,9 @@ impl Window { if builder.gl_version.is_some() { let version = builder.gl_version.as_ref().unwrap(); attributes.push(ffi::GLX_CONTEXT_MAJOR_VERSION); - attributes.push(version.val0() as libc::c_int); + attributes.push(version.0 as libc::c_int); attributes.push(ffi::GLX_CONTEXT_MINOR_VERSION); - attributes.push(version.val1() as libc::c_int); + attributes.push(version.1 as libc::c_int); } if builder.gl_debug { |