aboutsummaryrefslogtreecommitdiffstats
path: root/src/win32/init.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/win32/init.rs')
-rw-r--r--src/win32/init.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/win32/init.rs b/src/win32/init.rs
index d3341fe..77965ea 100644
--- a/src/win32/init.rs
+++ b/src/win32/init.rs
@@ -6,6 +6,7 @@ use {CreationError, Event};
use CreationError::OsError;
use std::cell::RefCell;
+use std::ffi::CString;
use std::rc::Rc;
use std::sync::mpsc::{Sender, Receiver, channel};
@@ -224,11 +225,12 @@ pub fn new_window(builder_dimensions: Option<(uint, uint)>, builder_title: Strin
// loading the extra WGL functions
let extra_functions = gl::wgl_extra::Wgl::load_with(|addr| {
use libc;
- use std::c_str::ToCStr;
+
+ let addr = CString::from_slice(addr.as_bytes());
+ let addr = addr.as_slice_with_nul().as_ptr();
unsafe {
- let addr = addr.to_c_str();
- gl::wgl::GetProcAddress(addr.as_ptr()) as *const libc::c_void
+ gl::wgl::GetProcAddress(addr) as *const libc::c_void
}
});