[gnome-games/wip/exalm/runner-refactor: 47/56] runner: Throw an error in restart()
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/wip/exalm/runner-refactor: 47/56] runner: Throw an error in restart()
- Date: Sat, 7 Mar 2020 12:44:37 +0000 (UTC)
commit 6d17b4b9cfac38e59a010b673bdb565621961adf
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Sat Mar 7 03:18:20 2020 +0500
runner: Throw an error in restart()
This allows to handle metadata resetting cleaner
src/command/command-runner.vala | 2 +-
src/core/runner.vala | 2 +-
src/retro/retro-runner.vala | 11 ++---------
src/ui/display-view.vala | 8 +++++++-
4 files changed, 11 insertions(+), 12 deletions(-)
---
diff --git a/src/command/command-runner.vala b/src/command/command-runner.vala
index 3e4813bb..ec54a092 100644
--- a/src/command/command-runner.vala
+++ b/src/command/command-runner.vala
@@ -82,7 +82,7 @@ public class Games.CommandRunner : Object, Runner {
}
}
- public void restart () {
+ public void restart () throws Error {
}
public void resume () {
diff --git a/src/core/runner.vala b/src/core/runner.vala
index 6a2da325..c46aad57 100644
--- a/src/core/runner.vala
+++ b/src/core/runner.vala
@@ -17,7 +17,7 @@ public interface Games.Runner : Object {
public abstract void prepare () throws RunnerError;
public abstract void start () throws Error;
- public abstract void restart ();
+ public abstract void restart () throws Error;
public abstract void resume ();
public abstract void pause ();
public abstract void stop ();
diff --git a/src/retro/retro-runner.vala b/src/retro/retro-runner.vala
index ea68a880..0e0af15e 100644
--- a/src/retro/retro-runner.vala
+++ b/src/retro/retro-runner.vala
@@ -270,17 +270,10 @@ public class Games.RetroRunner : Object, Runner {
resume ();
}
- public void restart () {
+ public void restart () throws Error {
current_state_pixbuf = view.get_pixbuf ();
try_create_savestate (true);
-
- try {
- reset_metadata (latest_savestate);
- }
- catch (Error e) {
- critical ("Couldn't reset metadata: %s", e.message);
- }
-
+ reset_metadata (latest_savestate);
core.reset ();
}
diff --git a/src/ui/display-view.vala b/src/ui/display-view.vala
index d7dc17c1..e77b2dc8 100644
--- a/src/ui/display-view.vala
+++ b/src/ui/display-view.vala
@@ -607,7 +607,13 @@ private class Games.DisplayView : Object, UiView {
private void restart () {
if (runner != null && runner.is_integrated) {
- runner.restart ();
+ try {
+ runner.restart ();
+ }
+ catch (Error e) {
+ critical ("Couldn't restart: %s", e.message);
+ }
+
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]