Handle errors from MakeCurrent and SwapBuffers
This commit is contained in:
parent
e48c853b9c
commit
f6c26ec593
20 changed files with 123 additions and 62 deletions
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
pub use api::android::*;
|
||||
|
||||
use ContextError;
|
||||
|
||||
pub struct HeadlessContext(i32);
|
||||
|
||||
impl HeadlessContext {
|
||||
|
|
@ -11,7 +13,7 @@ impl HeadlessContext {
|
|||
}
|
||||
|
||||
/// See the docs in the crate root file.
|
||||
pub unsafe fn make_current(&self) {
|
||||
pub unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#![cfg(target_os = "emscripten")]
|
||||
|
||||
use ContextError;
|
||||
use GlContext;
|
||||
|
||||
pub use api::emscripten::{Window, WindowProxy, MonitorID, get_available_monitors};
|
||||
|
|
@ -15,7 +16,7 @@ impl HeadlessContext {
|
|||
}
|
||||
|
||||
impl GlContext for HeadlessContext {
|
||||
unsafe fn make_current(&self) {
|
||||
unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
self.0.make_current()
|
||||
}
|
||||
|
||||
|
|
@ -27,7 +28,7 @@ impl GlContext for HeadlessContext {
|
|||
self.0.get_proc_address(addr)
|
||||
}
|
||||
|
||||
fn swap_buffers(&self) {
|
||||
fn swap_buffers(&self) -> Result<(), ContextError> {
|
||||
self.0.swap_buffers()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ use std::collections::VecDeque;
|
|||
use std::sync::Arc;
|
||||
|
||||
use BuilderAttribs;
|
||||
use ContextError;
|
||||
use CreationError;
|
||||
use CursorState;
|
||||
use Event;
|
||||
|
|
@ -289,7 +290,7 @@ impl Window {
|
|||
}
|
||||
|
||||
impl GlContext for Window {
|
||||
unsafe fn make_current(&self) {
|
||||
unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
match self {
|
||||
&Window::X(ref w) => w.make_current(),
|
||||
&Window::Wayland(ref w) => w.make_current()
|
||||
|
|
@ -310,7 +311,7 @@ impl GlContext for Window {
|
|||
}
|
||||
}
|
||||
|
||||
fn swap_buffers(&self) {
|
||||
fn swap_buffers(&self) -> Result<(), ContextError> {
|
||||
match self {
|
||||
&Window::X(ref w) => w.swap_buffers(),
|
||||
&Window::Wayland(ref w) => w.swap_buffers()
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
use Api;
|
||||
use BuilderAttribs;
|
||||
use ContextError;
|
||||
use CreationError;
|
||||
use GlContext;
|
||||
use PixelFormat;
|
||||
|
|
@ -37,7 +38,7 @@ impl HeadlessContext {
|
|||
|
||||
impl GlContext for HeadlessContext {
|
||||
#[inline]
|
||||
unsafe fn make_current(&self) {
|
||||
unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
self.0.make_current()
|
||||
}
|
||||
|
||||
|
|
@ -52,7 +53,7 @@ impl GlContext for HeadlessContext {
|
|||
}
|
||||
|
||||
#[inline]
|
||||
fn swap_buffers(&self) {
|
||||
fn swap_buffers(&self) -> Result<(), ContextError> {
|
||||
self.0.swap_buffers()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use libc;
|
|||
|
||||
use Api;
|
||||
use BuilderAttribs;
|
||||
use ContextError;
|
||||
use CreationError;
|
||||
use PixelFormat;
|
||||
use GlContext;
|
||||
|
|
@ -21,7 +22,7 @@ impl HeadlessContext {
|
|||
}
|
||||
|
||||
impl GlContext for HeadlessContext {
|
||||
unsafe fn make_current(&self) {
|
||||
unsafe fn make_current(&self) -> Result<(), ContextError> {
|
||||
self.0.make_current()
|
||||
}
|
||||
|
||||
|
|
@ -33,7 +34,7 @@ impl GlContext for HeadlessContext {
|
|||
self.0.get_proc_address(addr)
|
||||
}
|
||||
|
||||
fn swap_buffers(&self) {
|
||||
fn swap_buffers(&self) -> Result<(), ContextError> {
|
||||
self.0.swap_buffers()
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue