aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/fullscreen.rs4
-rw-r--r--examples/multiwindow.rs4
-rw-r--r--examples/support/mod.rs11
-rw-r--r--examples/window.rs4
-rw-r--r--src/lib.rs2
-rw-r--r--src/win32/init.rs8
-rw-r--r--src/win32/mod.rs12
-rw-r--r--tests/headless.rs4
8 files changed, 18 insertions, 31 deletions
diff --git a/examples/fullscreen.rs b/examples/fullscreen.rs
index 6a2af2c..c77569f 100644
--- a/examples/fullscreen.rs
+++ b/examples/fullscreen.rs
@@ -1,7 +1,5 @@
-#![feature(phase)]
-
#[cfg(target_os = "android")]
-#[phase(plugin, link)]
+#[macro_use]
extern crate android_glue;
extern crate glutin;
diff --git a/examples/multiwindow.rs b/examples/multiwindow.rs
index 1f390cd..fc01ef0 100644
--- a/examples/multiwindow.rs
+++ b/examples/multiwindow.rs
@@ -1,7 +1,5 @@
-#![feature(phase)]
-
#[cfg(target_os = "android")]
-#[phase(plugin, link)]
+#[macro_use]
extern crate android_glue;
extern crate glutin;
diff --git a/examples/support/mod.rs b/examples/support/mod.rs
index 42ce6a4..7144952 100644
--- a/examples/support/mod.rs
+++ b/examples/support/mod.rs
@@ -1,8 +1,5 @@
#![cfg(feature = "window")]
-#[phase(plugin)]
-extern crate gl_generator;
-
use glutin;
#[cfg(not(target_os = "android"))]
@@ -23,12 +20,12 @@ pub struct Context {
pub fn load(window: &glutin::Window) -> Context {
let gl = gl::Gl::load(window);
- let version = {
- use std::c_str::CString;
- unsafe { CString::new(gl.GetString(gl::VERSION) as *const i8, false) }
+ let version = unsafe {
+ use std::ffi;
+ ffi::c_str_to_bytes(&(gl.GetString(gl::VERSION) as *const i8)).to_string()
};
- println!("OpenGL version {}", version.as_str().unwrap());
+ println!("OpenGL version {}", version);
Context { gl: gl }
}
diff --git a/examples/window.rs b/examples/window.rs
index 910d6e6..9cb59c8 100644
--- a/examples/window.rs
+++ b/examples/window.rs
@@ -1,7 +1,5 @@
-#![feature(phase)]
-
#[cfg(target_os = "android")]
-#[phase(plugin, link)]
+#[macro_use]
extern crate android_glue;
extern crate glutin;
diff --git a/src/lib.rs b/src/lib.rs
index 4e118e8..4f4f86e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,8 +1,6 @@
#![feature(unsafe_destructor)]
-#![feature(globs)]
#![feature(phase)]
#![unstable]
-#![feature(associated_types)]
//! The purpose of this library is to provide an OpenGL context on as many
//! platforms as possible.
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
}
});
diff --git a/src/win32/mod.rs b/src/win32/mod.rs
index 9c78a8a..168771d 100644
--- a/src/win32/mod.rs
+++ b/src/win32/mod.rs
@@ -1,5 +1,6 @@
use std::sync::atomic::AtomicBool;
use std::ptr;
+use std::ffi::CString;
use std::collections::RingBuf;
use std::sync::mpsc::Receiver;
use libc;
@@ -256,14 +257,13 @@ impl Window {
/// See the docs in the crate root file.
pub fn get_proc_address(&self, addr: &str) -> *const () {
- use std::c_str::ToCStr;
+ let addr = CString::from_slice(addr.as_bytes());
+ let addr = addr.as_slice_with_nul().as_ptr();
unsafe {
- addr.with_c_str(|s| {
- let p = gl::wgl::GetProcAddress(s) as *const ();
- if !p.is_null() { return p; }
- winapi::GetProcAddress(self.gl_library, s) as *const ()
- })
+ let p = gl::wgl::GetProcAddress(addr) as *const ();
+ if !p.is_null() { return p; }
+ winapi::GetProcAddress(self.gl_library, addr) as *const ()
}
}
diff --git a/tests/headless.rs b/tests/headless.rs
index b2b23da..542445e 100644
--- a/tests/headless.rs
+++ b/tests/headless.rs
@@ -1,7 +1,3 @@
-#![feature(phase)]
-
-#[phase(plugin)]
-extern crate gl_generator;
extern crate glutin;
extern crate libc;