From a59bd9d54c38113df1871986e31a8e583fcdea33 Mon Sep 17 00:00:00 2001 From: Charles Dang Date: Thu, 8 Jun 2017 01:46:44 +1100 Subject: [PATCH] Fixed raii renderer rect setters This fixes a problem that occurred if no previous set rect was available. In that case, both SDL_RenderGetClipRect and SDL_RenderGetViewport returned empty rects and those were being set as the appropriate clip rects when the raii object was destroyed. --- src/sdl/render_utils.hpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/sdl/render_utils.hpp b/src/sdl/render_utils.hpp index 1214d2daeb3a0..b00b68432354b 100644 --- a/src/sdl/render_utils.hpp +++ b/src/sdl/render_utils.hpp @@ -13,6 +13,7 @@ #pragma once +#include "sdl/rect.hpp" #include "sdl/texture.hpp" #include "video.hpp" @@ -78,7 +79,11 @@ class render_raii_rect_setter_base ~render_raii_rect_setter_base() { if(renderer_ && operate_) { - (*S)(renderer_, &last_rect_); + if(last_rect_ != sdl::empty_rect) { + (*S)(renderer_, &last_rect_); + } else { + (*S)(renderer_, nullptr); + } } }