From 920d8636197b5abd9ad923cf0c2d6f33c96f082e Mon Sep 17 00:00:00 2001 From: "SND\\weimingzhi_cp" Date: Mon, 10 May 2010 05:57:28 +0000 Subject: don't reset unless savestate loading succeeded git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@47748 e17a0e51-4ae3-4d35-97c3-1a29b211df97 --- gui/Gtk2Gui.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'gui') diff --git a/gui/Gtk2Gui.c b/gui/Gtk2Gui.c index f0e178ec..b96954a8 100644 --- a/gui/Gtk2Gui.c +++ b/gui/Gtk2Gui.c @@ -752,10 +752,10 @@ void state_load(gchar *state_filename) { } } - SysReset(); - ret = LoadState(state_filename); if (ret == 0) { + SysReset(); + // Check the CD-ROM is valid if (CheckCdrom() == -1) { ClosePlugins(); @@ -765,7 +765,6 @@ void state_load(gchar *state_filename) { sprintf(Text, _("Loaded state %s."), state_filename); GPU_displayText(Text); - psxCpu->Execute(); } else { sprintf(Text, _("Error loading state %s!"), state_filename); GPU_displayText(Text); @@ -794,6 +793,8 @@ void on_states_load (GtkWidget *widget, gpointer user_data) { state_load(state_filename); g_free(state_filename); + + psxCpu->Execute(); } void on_states_save (GtkWidget *widget, gpointer user_data) { @@ -818,6 +819,7 @@ void on_states_load_other() { GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (file_chooser), SStateFile); + g_free(SStateFile); if (gtk_dialog_run(GTK_DIALOG(file_chooser)) == GTK_RESPONSE_ACCEPT) { gchar *filename; @@ -828,10 +830,10 @@ void on_states_load_other() { state_load(filename); g_free(filename); + + psxCpu->Execute(); } else gtk_widget_destroy(file_chooser); - - g_free(SStateFile); } void on_states_save_other() { @@ -846,6 +848,7 @@ void on_states_save_other() { GTK_STOCK_SAVE, GTK_RESPONSE_OK, NULL); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(file_chooser), SStateFile); + g_free(SStateFile); if (gtk_dialog_run (GTK_DIALOG(file_chooser)) == GTK_RESPONSE_OK) { gchar *filename; @@ -859,8 +862,6 @@ void on_states_save_other() { } else gtk_widget_destroy(file_chooser); - - g_free(SStateFile); } void OnHelp_About(GtkWidget *widget, gpointer user_data) { -- cgit v1.2.3