Fixed bug 2344 - CHECK_WINDOW_MAGIC should include __FILE__ and __LINE__

Martin Gerhardy

just for easier debugging issues in the own code...

SDL_CreateRenderer should maybe also use this macro

Ryan C. Gordon

I'll go one better: it should have an SDL_assert().
This commit is contained in:
Sam Lantinga 2017-08-14 16:34:54 -07:00
parent 96e15fa7f6
commit aebe17d34f
2 changed files with 4 additions and 0 deletions

View File

@ -33,12 +33,14 @@
#define SDL_WINDOWRENDERDATA "_SDL_WindowRenderData" #define SDL_WINDOWRENDERDATA "_SDL_WindowRenderData"
#define CHECK_RENDERER_MAGIC(renderer, retval) \ #define CHECK_RENDERER_MAGIC(renderer, retval) \
SDL_assert(renderer && renderer->magic == &renderer_magic); \
if (!renderer || renderer->magic != &renderer_magic) { \ if (!renderer || renderer->magic != &renderer_magic) { \
SDL_SetError("Invalid renderer"); \ SDL_SetError("Invalid renderer"); \
return retval; \ return retval; \
} }
#define CHECK_TEXTURE_MAGIC(texture, retval) \ #define CHECK_TEXTURE_MAGIC(texture, retval) \
SDL_assert(texture && texture->magic == &texture_magic); \
if (!texture || texture->magic != &texture_magic) { \ if (!texture || texture->magic != &texture_magic) { \
SDL_SetError("Invalid texture"); \ SDL_SetError("Invalid texture"); \
return retval; \ return retval; \

View File

@ -130,6 +130,7 @@ static SDL_VideoDevice *_this = NULL;
SDL_UninitializedVideo(); \ SDL_UninitializedVideo(); \
return retval; \ return retval; \
} \ } \
SDL_assert(window && window->magic == &_this->window_magic); \
if (!window || window->magic != &_this->window_magic) { \ if (!window || window->magic != &_this->window_magic) { \
SDL_SetError("Invalid window"); \ SDL_SetError("Invalid window"); \
return retval; \ return retval; \
@ -141,6 +142,7 @@ static SDL_VideoDevice *_this = NULL;
return retval; \ return retval; \
} \ } \
SDL_assert(_this->displays != NULL); \ SDL_assert(_this->displays != NULL); \
SDL_assert(displayIndex >= 0 && displayIndex < _this->num_displays); \
if (displayIndex < 0 || displayIndex >= _this->num_displays) { \ if (displayIndex < 0 || displayIndex >= _this->num_displays) { \
SDL_SetError("displayIndex must be in the range 0 - %d", \ SDL_SetError("displayIndex must be in the range 0 - %d", \
_this->num_displays - 1); \ _this->num_displays - 1); \