From 0a668e7f7f3a7d255e6f675649636e5aede515fc Mon Sep 17 00:00:00 2001 From: Tim Diekmann Date: Thu, 30 Nov 2017 18:13:28 +0100 Subject: [PATCH] Change return type of border_size to Result --- src/sdl2/video.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/sdl2/video.rs b/src/sdl2/video.rs index 8aabb212..6ce83d33 100644 --- a/src/sdl2/video.rs +++ b/src/sdl2/video.rs @@ -1167,13 +1167,17 @@ impl Window { /// /// #Notes /// If this function fails, (0, 0, 0, 0) will be returned - pub fn border_size(&self) -> (u16, u16, u16, u16) { + pub fn border_size(&self) -> Result<(u16, u16, u16, u16), String> { let mut top: c_int = 0; let mut left: c_int = 0; let mut bottom: c_int = 0; let mut right: c_int = 0; - unsafe { sys::SDL_GetWindowBordersSize(self.context.raw, &mut top, &mut left, &mut bottom, &mut right) }; - (top as u16, left as u16, bottom as u16, right as u16) + let result = unsafe { sys::SDL_GetWindowBordersSize(self.context.raw, &mut top, &mut left, &mut bottom, &mut right) }; + if result < 0 { + Err(get_error()) + } else { + Ok((top as u16, left as u16, bottom as u16, right as u16)) + } } pub fn set_size(&mut self, width: u32, height: u32)