diff options
| author | tomaka <pierre.krieger1708@gmail.com> | 2015-06-17 07:36:00 +0200 | 
|---|---|---|
| committer | tomaka <pierre.krieger1708@gmail.com> | 2015-06-17 07:36:00 +0200 | 
| commit | 90b28c205219df732d83e403f98abab31e6e52d4 (patch) | |
| tree | 1008d78cf5c7280c9ddeea512033a92e07f989d1 /src/api/osmesa/mod.rs | |
| parent | 2d1e503f77434fc0dd3f2715625ce1a972fdf62f (diff) | |
| parent | f6c26ec593ba96d89cb3476c815d6f33a915bfdd (diff) | |
| download | glutin-90b28c205219df732d83e403f98abab31e6e52d4.tar.gz glutin-90b28c205219df732d83e403f98abab31e6e52d4.zip  | |
Merge pull request #486 from tomaka/context-error
Handle errors from MakeCurrent and SwapBuffers
Diffstat (limited to 'src/api/osmesa/mod.rs')
| -rw-r--r-- | src/api/osmesa/mod.rs | 18 | 
1 files changed, 12 insertions, 6 deletions
diff --git a/src/api/osmesa/mod.rs b/src/api/osmesa/mod.rs index 26808f7..daaba52 100644 --- a/src/api/osmesa/mod.rs +++ b/src/api/osmesa/mod.rs @@ -4,6 +4,7 @@ extern crate osmesa_sys;  use Api;  use BuilderAttribs; +use ContextError;  use CreationError;  use GlContext;  use PixelFormat; @@ -67,14 +68,18 @@ impl OsMesaContext {  }  impl GlContext for OsMesaContext { -    unsafe fn make_current(&self) { -        let ret = osmesa_sys::OSMesaMakeCurrent(self.context, -            self.buffer.as_ptr() as *mut libc::c_void, -            0x1401, self.width as libc::c_int, self.height as libc::c_int); +    unsafe fn make_current(&self) -> Result<(), ContextError> { +        let ret = osmesa_sys::OSMesaMakeCurrent(self.context, self.buffer.as_ptr() +                                                as *mut libc::c_void, 0x1401, self.width +                                                as libc::c_int, self.height as libc::c_int); +        // an error can only happen in case of invalid parameter, which would indicate a bug +        // in glutin          if ret == 0 { -            panic!("OSMesaMakeCurrent failed") +            panic!("OSMesaMakeCurrent failed");          } + +        Ok(())      }      fn is_current(&self) -> bool { @@ -88,7 +93,8 @@ impl GlContext for OsMesaContext {          }      } -    fn swap_buffers(&self) { +    fn swap_buffers(&self) -> Result<(), ContextError> { +        Ok(())      }      fn get_api(&self) -> Api {  | 
