mirror of https://github.com/PCSX2/pcsx2.git
Fixed crash bug when running Cpu Config before starting emulation of a game.
Enforced correct propagation of the GS window handle to pad plugins on Esc/Resume. git-svn-id: http://pcsx2-playground.googlecode.com/svn/trunk@584 a6443dda-0b58-4228-96e9-037be469359c
This commit is contained in:
parent
787739fd49
commit
664cfd3491
|
@ -705,7 +705,6 @@ int OpenPlugins(const char* pTitleFilename) {
|
|||
cdvdNewDiskCB();
|
||||
}
|
||||
|
||||
// GS isn't closed during emu pauses, so only open it once per instance.
|
||||
if( !OpenStatus.GS ) {
|
||||
ret = gsOpen();
|
||||
if (ret != 0) { Msgbox::Alert("Error Opening GS Plugin"); goto OpenError; }
|
||||
|
@ -801,7 +800,7 @@ OpenError:
|
|||
|
||||
void ClosePlugins()
|
||||
{
|
||||
// GS plugin is special and is not closed during emulation pauses.
|
||||
// GS plugin is special and is not always closed during emulation pauses.
|
||||
// (that's because the GS is the most complicated plugin and to close it would
|
||||
// require we save the GS state -- plus, Gsdx doesn't really support being
|
||||
// closed)
|
||||
|
@ -809,13 +808,14 @@ void ClosePlugins()
|
|||
if( OpenStatus.GS )
|
||||
mtgsWaitGS();
|
||||
|
||||
CLOSE_PLUGIN( PAD1 );
|
||||
CLOSE_PLUGIN( PAD2 );
|
||||
|
||||
CLOSE_PLUGIN( CDVD );
|
||||
CLOSE_PLUGIN( DEV9 );
|
||||
CLOSE_PLUGIN( USB );
|
||||
CLOSE_PLUGIN( FW );
|
||||
CLOSE_PLUGIN( SPU2 );
|
||||
CLOSE_PLUGIN( PAD1 );
|
||||
CLOSE_PLUGIN( PAD2 );
|
||||
}
|
||||
|
||||
void ResetPlugins()
|
||||
|
@ -849,12 +849,20 @@ void ReleasePlugins()
|
|||
|
||||
void PluginsResetGS()
|
||||
{
|
||||
CLOSE_PLUGIN( PAD1 );
|
||||
CLOSE_PLUGIN( PAD2 );
|
||||
|
||||
if( OpenStatus.GS )
|
||||
{
|
||||
gsClose();
|
||||
OpenStatus.GS = false;
|
||||
}
|
||||
|
||||
if( OpenStatus.PAD1 )
|
||||
{
|
||||
PAD1close();
|
||||
}
|
||||
|
||||
GSshutdown();
|
||||
|
||||
int ret = GSinit();
|
||||
|
|
|
@ -167,7 +167,7 @@ BOOL CALLBACK CpuDlgProc(HWND hW, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
|||
}
|
||||
Config.Options = newopts;
|
||||
}
|
||||
else
|
||||
else if( R5900::Cpu != NULL )
|
||||
R5900::UpdateVSyncRate();
|
||||
|
||||
SaveConfig();
|
||||
|
|
|
@ -1539,7 +1539,7 @@ void recompileNextInstruction(int delayslot)
|
|||
}
|
||||
}
|
||||
opcode.recompile();
|
||||
s_nBlockCycles += (opcode.cycles==0) ? 6 : opcode.cycles;
|
||||
s_nBlockCycles += opcode.cycles;
|
||||
}
|
||||
|
||||
if( !delayslot ) {
|
||||
|
|
Loading…
Reference in New Issue