From ec2df6490efe11e15143521ce9f03bb9fbdb6630 Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Sun, 15 Feb 2015 11:35:07 +0100 Subject: [PATCH] Fixed crash if using clipboard functions without having initialized video. --- src/video/SDL_clipboard.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/video/SDL_clipboard.c b/src/video/SDL_clipboard.c index a3b38e0455c61..f2b4501529baa 100644 --- a/src/video/SDL_clipboard.c +++ b/src/video/SDL_clipboard.c @@ -29,6 +29,10 @@ SDL_SetClipboardText(const char *text) { SDL_VideoDevice *_this = SDL_GetVideoDevice(); + if (!_this) { + return SDL_SetError("Video subsystem must be initialized to set clipboard text"); + } + if (!text) { text = ""; } @@ -46,6 +50,11 @@ SDL_GetClipboardText(void) { SDL_VideoDevice *_this = SDL_GetVideoDevice(); + if (!_this) { + SDL_SetError("Video subsystem must be initialized to get clipboard text"); + return SDL_strdup(""); + } + if (_this->GetClipboardText) { return _this->GetClipboardText(_this); } else { @@ -62,6 +71,11 @@ SDL_HasClipboardText(void) { SDL_VideoDevice *_this = SDL_GetVideoDevice(); + if (!_this) { + SDL_SetError("Video subsystem must be initialized to check clipboard text"); + return SDL_FALSE; + } + if (_this->HasClipboardText) { return _this->HasClipboardText(_this); } else {