summaryrefslogtreecommitdiff
path: root/gui
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-10 05:57:28 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-10 05:57:28 +0000
commit920d8636197b5abd9ad923cf0c2d6f33c96f082e (patch)
tree995684a6561019be6c5dfa42d4bdece9a1ed70f8 /gui
parentff65e7452f417bc1b909dbec26a787202adfd319 (diff)
downloadpcsxr-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.c15
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) {