Fixed crash if using clipboard functions without having initialized video.

This commit is contained in:
Philipp Wiesemann 2015-02-15 11:35:07 +01:00
parent cec3efe627
commit ec2df6490e
1 changed files with 14 additions and 0 deletions

View File

@ -29,6 +29,10 @@ SDL_SetClipboardText(const char *text)
{ {
SDL_VideoDevice *_this = SDL_GetVideoDevice(); SDL_VideoDevice *_this = SDL_GetVideoDevice();
if (!_this) {
return SDL_SetError("Video subsystem must be initialized to set clipboard text");
}
if (!text) { if (!text) {
text = ""; text = "";
} }
@ -46,6 +50,11 @@ SDL_GetClipboardText(void)
{ {
SDL_VideoDevice *_this = SDL_GetVideoDevice(); SDL_VideoDevice *_this = SDL_GetVideoDevice();
if (!_this) {
SDL_SetError("Video subsystem must be initialized to get clipboard text");
return SDL_strdup("");
}
if (_this->GetClipboardText) { if (_this->GetClipboardText) {
return _this->GetClipboardText(_this); return _this->GetClipboardText(_this);
} else { } else {
@ -62,6 +71,11 @@ SDL_HasClipboardText(void)
{ {
SDL_VideoDevice *_this = SDL_GetVideoDevice(); SDL_VideoDevice *_this = SDL_GetVideoDevice();
if (!_this) {
SDL_SetError("Video subsystem must be initialized to check clipboard text");
return SDL_FALSE;
}
if (_this->HasClipboardText) { if (_this->HasClipboardText) {
return _this->HasClipboardText(_this); return _this->HasClipboardText(_this);
} else { } else {