From c495a783c6948b216ff311a6bfaa3139e09f6add Mon Sep 17 00:00:00 2001 From: Dan Spencer Date: Thu, 12 Feb 2015 13:30:16 -0700 Subject: [PATCH] Fix the array slice's size, as yielded by `Texture::with_lock()`. Fixes #331 --- src/sdl2/render.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sdl2/render.rs b/src/sdl2/render.rs index 1f96467d..771a8bdd 100644 --- a/src/sdl2/render.rs +++ b/src/sdl2/render.rs @@ -942,7 +942,6 @@ impl<'renderer> Texture<'renderer> { let q = self.query(); let pixels : *const c_void = ptr::null(); let pitch = 0; - let size = q.format.byte_size_of_pixels((q.width * q.height) as usize); let actual_rect = match rect { Some(ref rect) => rect as *const _, @@ -951,6 +950,7 @@ impl<'renderer> Texture<'renderer> { let ret = ll::SDL_LockTexture(self.raw, actual_rect, &pixels, &pitch); if ret == 0 { + let size = pitch as usize * q.height as usize; Ok( (raw::Slice { data: pixels as *const u8, len: size }, pitch) ) } else { Err(get_error())