Better error reporting for video drivers with less than full functionality.
--- a/src/video/SDL_video.c Wed Oct 15 09:13:36 2014 -0700
+++ b/src/video/SDL_video.c Wed Oct 15 09:14:09 2014 -0700
@@ -1339,6 +1339,10 @@
SDL_UninitializedVideo();
return NULL;
}
+ if (!_this->CreateWindowFrom) {
+ SDL_Unsupported();
+ return NULL;
+ }
window = (SDL_Window *)SDL_calloc(1, sizeof(*window));
if (!window) {
SDL_OutOfMemory();
@@ -1356,8 +1360,7 @@
}
_this->windows = window;
- if (!_this->CreateWindowFrom ||
- _this->CreateWindowFrom(_this, window, data) < 0) {
+ if (_this->CreateWindowFrom(_this, window, data) < 0) {
SDL_DestroyWindow(window);
return NULL;
}
@@ -3181,11 +3184,13 @@
CHECK_WINDOW_MAGIC(window, SDL_FALSE);
if (!info) {
+ SDL_InvalidParamError("info");
return SDL_FALSE;
}
info->subsystem = SDL_SYSWM_UNKNOWN;
if (!_this->GetWindowWMInfo) {
+ SDL_Unsupported();
return SDL_FALSE;
}
return (_this->GetWindowWMInfo(_this, window, info));