diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-05-10 05:57:28 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-05-10 05:57:28 +0000 |
| commit | 920d8636197b5abd9ad923cf0c2d6f33c96f082e (patch) | |
| tree | 995684a6561019be6c5dfa42d4bdece9a1ed70f8 /gui | |
| parent | ff65e7452f417bc1b909dbec26a787202adfd319 (diff) | |
| download | pcsxr-920d8636197b5abd9ad923cf0c2d6f33c96f082e.tar.gz | |
don't reset unless savestate loading succeeded
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@47748 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'gui')
| -rw-r--r-- | gui/Gtk2Gui.c | 15 |
1 files changed, 8 insertions, 7 deletions
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) { |
