From 036be4e824288f2be47467030efeef7b821ef9a7 Mon Sep 17 00:00:00 2001 From: Dan Spencer Date: Fri, 13 Feb 2015 12:54:44 -0700 Subject: [PATCH] RenderTarget::set() forgets the texture; it's owned by the Renderer By calling mem::forget() on the Texture, we're ensuring that said texture doesn't get dropped before RenderTarget::set() is finished. --- src/sdl2/render.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sdl2/render.rs b/src/sdl2/render.rs index 771a8bdd..035273e6 100644 --- a/src/sdl2/render.rs +++ b/src/sdl2/render.rs @@ -743,6 +743,7 @@ impl<'render_drawer> RenderTarget<'render_drawer> { pub fn set(&mut self, texture: Texture) -> SdlResult<()> { unsafe { if ll::SDL_SetRenderTarget(self.raw, texture.raw) == 0 { + mem::forget(texture); Ok(()) } else { Err(get_error())