mirror of https://github.com/stella-emu/stella.git
Fix blank screen after exiting from GameInfoDialog.
This commit is contained in:
parent
d18f11afa2
commit
b9bbbe1381
|
@ -420,7 +420,6 @@ void Console::setFormat(uInt32 format)
|
||||||
{
|
{
|
||||||
setPalette(myOSystem.settings().getString("palette"));
|
setPalette(myOSystem.settings().getString("palette"));
|
||||||
setTIAProperties();
|
setTIAProperties();
|
||||||
myTIA->frameReset();
|
|
||||||
initializeVideo(); // takes care of refreshing the screen
|
initializeVideo(); // takes care of refreshing the screen
|
||||||
initializeAudio(); // ensure that audio synthesis is set up to match emulation speed
|
initializeAudio(); // ensure that audio synthesis is set up to match emulation speed
|
||||||
myOSystem.resetFps(); // Reset FPS measurement
|
myOSystem.resetFps(); // Reset FPS measurement
|
||||||
|
|
|
@ -178,7 +178,7 @@ void TIA::reset()
|
||||||
if (myFrameManager)
|
if (myFrameManager)
|
||||||
{
|
{
|
||||||
myFrameManager->reset();
|
myFrameManager->reset();
|
||||||
frameReset(); // Recalculate the size of the display
|
enableColorLoss(mySettings.getBool(mySettings.getBool("dev.settings") ? "dev.colorloss" : "plr.colorloss"));
|
||||||
}
|
}
|
||||||
|
|
||||||
myFrontBufferScanlines = myFrameBufferScanlines = 0;
|
myFrontBufferScanlines = myFrameBufferScanlines = 0;
|
||||||
|
@ -189,18 +189,14 @@ void TIA::reset()
|
||||||
enableFixedColors(mySettings.getBool(mySettings.getBool("dev.settings") ? "dev.debugcolors" : "plr.debugcolors"));
|
enableFixedColors(mySettings.getBool(mySettings.getBool("dev.settings") ? "dev.debugcolors" : "plr.debugcolors"));
|
||||||
setFixedColorPalette(mySettings.getString("tia.dbgcolors"));
|
setFixedColorPalette(mySettings.getString("tia.dbgcolors"));
|
||||||
|
|
||||||
#ifdef DEBUGGER_SUPPORT
|
// Blank the various framebuffers; they may contain graphical garbage
|
||||||
createAccessBase();
|
|
||||||
#endif // DEBUGGER_SUPPORT
|
|
||||||
}
|
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
||||||
void TIA::frameReset()
|
|
||||||
{
|
|
||||||
memset(myBackBuffer, 0, 160 * TIAConstants::frameBufferHeight);
|
memset(myBackBuffer, 0, 160 * TIAConstants::frameBufferHeight);
|
||||||
memset(myFrontBuffer, 0, 160 * TIAConstants::frameBufferHeight);
|
memset(myFrontBuffer, 0, 160 * TIAConstants::frameBufferHeight);
|
||||||
memset(myFramebuffer, 0, 160 * TIAConstants::frameBufferHeight);
|
memset(myFramebuffer, 0, 160 * TIAConstants::frameBufferHeight);
|
||||||
enableColorLoss(mySettings.getBool(mySettings.getBool("dev.settings") ? "dev.colorloss" : "plr.colorloss"));
|
|
||||||
|
#ifdef DEBUGGER_SUPPORT
|
||||||
|
createAccessBase();
|
||||||
|
#endif // DEBUGGER_SUPPORT
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -136,11 +136,6 @@ class TIA : public Device
|
||||||
*/
|
*/
|
||||||
void reset() override;
|
void reset() override;
|
||||||
|
|
||||||
/**
|
|
||||||
Reset frame to current YStart/Height properties.
|
|
||||||
*/
|
|
||||||
void frameReset();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Install TIA in the specified system. Invoked by the system
|
Install TIA in the specified system. Invoked by the system
|
||||||
when the TIA is attached to it.
|
when the TIA is attached to it.
|
||||||
|
@ -254,7 +249,7 @@ class TIA : public Device
|
||||||
/**
|
/**
|
||||||
Changes the current Height/YStart properties.
|
Changes the current Height/YStart properties.
|
||||||
Note that calls to these method(s) must be eventually followed by
|
Note that calls to these method(s) must be eventually followed by
|
||||||
::frameReset() for the changes to take effect.
|
::reset() for the changes to take effect.
|
||||||
*/
|
*/
|
||||||
void setHeight(uInt32 height) { myFrameManager->setFixedHeight(height); }
|
void setHeight(uInt32 height) { myFrameManager->setFixedHeight(height); }
|
||||||
void setYStart(uInt32 ystart) { myFrameManager->setYstart(ystart); }
|
void setYStart(uInt32 ystart) { myFrameManager->setYstart(ystart); }
|
||||||
|
|
|
@ -568,7 +568,11 @@ void GameInfoDialog::saveConfig()
|
||||||
}
|
}
|
||||||
instance().frameBuffer().tiaSurface().enablePhosphor(myPhosphor->getState(), myPPBlend->getValue());
|
instance().frameBuffer().tiaSurface().enablePhosphor(myPhosphor->getState(), myPPBlend->getValue());
|
||||||
if (reset)
|
if (reset)
|
||||||
instance().console().tia().frameReset();
|
instance().console().tia().reset();
|
||||||
|
|
||||||
|
// Certain calls above may blank the TIA image (notably, setFormat)
|
||||||
|
// So we make sure we have a valid image when the dialog exits
|
||||||
|
instance().console().tia().renderToFrameBuffer();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue