Commit ec2df6490efe11e15143521ce9f03bb9fbdb6630

Philipp Wiesemann 2015-02-15T11:35:07

Fixed crash if using clipboard functions without having initialized video.

diff --git a/src/video/SDL_clipboard.c b/src/video/SDL_clipboard.c
index a3b38e0..f2b4501 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 {