[gnome-games/gnome-3-36] retro-runner: Reset metadata when starting without existing savestate



commit d7572548687fda4715126b04abcac661b8951012
Author: Alexander Mikhaylenko <alexm gnome org>
Date:   Mon Mar 2 16:13:06 2020 +0500

    retro-runner: Reset metadata when starting without existing savestate

 plugins/nintendo-ds/src/nintendo-ds-runner.vala | 2 +-
 src/retro/retro-runner.vala                     | 7 +++----
 2 files changed, 4 insertions(+), 5 deletions(-)
---
diff --git a/plugins/nintendo-ds/src/nintendo-ds-runner.vala b/plugins/nintendo-ds/src/nintendo-ds-runner.vala
index 131a159c..48d2cb8a 100644
--- a/plugins/nintendo-ds/src/nintendo-ds-runner.vala
+++ b/plugins/nintendo-ds/src/nintendo-ds-runner.vala
@@ -133,7 +133,7 @@ private class Games.NintendoDsRunner : RetroRunner {
                view_bottom_screen = ds_savestate.view_bottom_screen;
        }
 
-       protected override void reset_metadata (Savestate last_savestate) throws Error {
+       protected override void reset_metadata (Savestate? last_savestate) throws Error {
                base.reset_metadata (last_savestate);
 
                screen_layout = NintendoDsLayout.TOP_BOTTOM;
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index 941aa788..c9e6dba2 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -221,8 +221,7 @@ public class Games.RetroRunner : Object, Runner {
        }
 
        public void start () throws Error {
-               if (latest_savestate != null)
-                       reset_metadata (latest_savestate);
+               reset_metadata (latest_savestate);
 
                if (!is_initialized) {
                        if (latest_savestate != null)
@@ -665,8 +664,8 @@ public class Games.RetroRunner : Object, Runner {
        protected virtual void load_savestate_metadata (Savestate savestate) throws Error {
        }
 
-       protected virtual void reset_metadata (Savestate last_savestate) throws Error {
-               if (last_savestate.has_media_data ())
+       protected virtual void reset_metadata (Savestate? last_savestate) throws Error {
+               if (last_savestate != null && last_savestate.has_media_data ())
                        media_set.selected_media_number = last_savestate.get_media_data ();
        }
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]