Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fixed creating a renderer on the dummy driver on Mac OS X
  • Loading branch information
slouken committed Dec 11, 2016
1 parent cb5a0b0 commit 6211668
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/video/SDL_sysvideo.h
Expand Up @@ -288,14 +288,15 @@ struct SDL_VideoDevice

/* * * */
/* Data common to all drivers */
SDL_bool is_dummy;
SDL_bool suspend_screensaver;
int num_displays;
SDL_VideoDisplay *displays;
SDL_Window *windows;
SDL_Window *grabbed_window;
Uint8 window_magic;
Uint32 next_object_id;
char * clipboard_text;
char *clipboard_text;

/* * * */
/* Data used by the GL drivers */
Expand Down
9 changes: 7 additions & 2 deletions src/video/SDL_video.c
Expand Up @@ -172,6 +172,11 @@ ShouldUseTextureFramebuffer()
return SDL_TRUE;
}

/* If this is the dummy driver there is no texture support */
if (_this->is_dummy) {
return SDL_FALSE;
}

/* If the user has specified a software renderer we can't use a
texture framebuffer, or renderer creation will go recursive.
*/
Expand Down Expand Up @@ -1175,7 +1180,7 @@ SDL_UpdateFullscreenMode(SDL_Window * window, SDL_bool fullscreen)
if (window->is_destroying && (window->last_fullscreen_flags & FULLSCREEN_MASK) == SDL_WINDOW_FULLSCREEN_DESKTOP)
return 0;

if (SDL_strcmp(_this->name, "dummy") != 0) {
if (!_this->is_dummy) {
/* If we're switching between a fullscreen Space and "normal" fullscreen, we need to get back to normal first. */
if (fullscreen && ((window->last_fullscreen_flags & FULLSCREEN_MASK) == SDL_WINDOW_FULLSCREEN_DESKTOP) && ((window->flags & FULLSCREEN_MASK) == SDL_WINDOW_FULLSCREEN)) {
if (!Cocoa_SetWindowFullscreenSpace(window, SDL_FALSE)) {
Expand Down Expand Up @@ -1369,7 +1374,7 @@ SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags)

/* Some platforms have OpenGL enabled by default */
#if (SDL_VIDEO_OPENGL && __MACOSX__) || __IPHONEOS__ || __ANDROID__ || __NACL__
if (SDL_strcmp(_this->name, "dummy") != 0) {
if (!_this->is_dummy) {
flags |= SDL_WINDOW_OPENGL;
}
#endif
Expand Down
1 change: 1 addition & 0 deletions src/video/dummy/SDL_nullvideo.c
Expand Up @@ -84,6 +84,7 @@ DUMMY_CreateDevice(int devindex)
SDL_OutOfMemory();
return (0);
}
device->is_dummy = SDL_TRUE;

/* Set the function pointers */
device->VideoInit = DUMMY_VideoInit;
Expand Down

0 comments on commit 6211668

Please sign in to comment.