(svn r26538) -Codechange: remove double accounting of the drivers

This commit is contained in:
rubidium
2014-04-28 21:06:51 +00:00
parent 3b634b628c
commit b476086c39
24 changed files with 97 additions and 75 deletions

View File

@@ -597,16 +597,16 @@ void CocoaDialog(const char *title, const char *message, const char *buttonLabel
_cocoa_video_dialog = true;
bool wasstarted = _cocoa_video_started;
if (_video_driver == NULL) {
if (VideoDriver::GetInstance() == NULL) {
setupApplication(); // Setup application before showing dialog
} else if (!_cocoa_video_started && _video_driver->Start(NULL) != NULL) {
} else if (!_cocoa_video_started && VideoDriver::GetInstance()->Start(NULL) != NULL) {
fprintf(stderr, "%s: %s\n", title, message);
return;
}
NSRunAlertPanel([ NSString stringWithUTF8String:title ], [ NSString stringWithUTF8String:message ], [ NSString stringWithUTF8String:buttonLabel ], nil, nil);
if (!wasstarted && _video_driver != NULL) _video_driver->Stop();
if (!wasstarted && VideoDriver::GetInstance() != NULL) VideoDriver::GetInstance()->Stop();
_cocoa_video_dialog = false;
}

View File

@@ -287,7 +287,7 @@ static bool QZ_KeyEvent(unsigned short keycode, unsigned short unicode, BOOL dow
case QZ_RETURN:
case QZ_f:
if (down && (_current_mods & NSCommandKeyMask)) {
_video_driver->ToggleFullscreen(!_fullscreen);
VideoDriver::GetInstance()->ToggleFullscreen(!_fullscreen);
}
break;
}

View File

@@ -411,7 +411,7 @@ bool VideoDriver_SDL::CreateMainSurface(uint w, uint h)
break;
case Blitter::PALETTE_ANIMATION_BLITTER:
if (_video_driver != NULL) blitter->PaletteAnimate(_local_palette);
if (VideoDriver::GetInstance() != NULL) blitter->PaletteAnimate(_local_palette);
break;
default:

View File

@@ -78,9 +78,15 @@ public:
* An edit box lost the input focus. Abort character compositing if necessary.
*/
virtual void EditBoxLostFocus() {}
/**
* Get the currently active instance of the video driver.
*/
static VideoDriver *GetInstance() {
return static_cast<VideoDriver*>(*DriverFactoryBase::GetActiveDriver(Driver::DT_VIDEO));
}
};
extern VideoDriver *_video_driver;
extern char *_ini_videodriver;
extern int _num_resolutions;
extern Dimension _resolutions[32];

View File

@@ -1002,7 +1002,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP
if (active && minimized) {
/* Restore the game window */
ShowWindow(hwnd, SW_RESTORE);
static_cast<VideoDriver_Win32 *>(_video_driver)->MakeWindow(true);
static_cast<VideoDriver_Win32 *>(VideoDriver::GetInstance())->MakeWindow(true);
} else if (!active && !minimized) {
/* Minimise the window and restore desktop */
ShowWindow(hwnd, SW_MINIMIZE);