[gnome-software/gnome-3-10] trivial: Allow GsAppState to back to	UNKNOWN from any state
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [gnome-software/gnome-3-10] trivial: Allow GsAppState to back to	UNKNOWN from any state
- Date: Mon, 14 Oct 2013 12:31:22 +0000 (UTC)
commit 0f4a19ed5deccdbd6593e92e0b4327e4c366ab77
Author: Richard Hughes <richard hughsie com>
Date:   Thu Sep 26 16:16:25 2013 +0100
    trivial: Allow GsAppState to back to UNKNOWN from any state
    
    We'll need this if we want to be clever and work around the state machine.
 src/gs-app.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/src/gs-app.c b/src/gs-app.c
index 6c08836..98b2b93 100644
--- a/src/gs-app.c
+++ b/src/gs-app.c
@@ -273,29 +273,34 @@ gs_app_set_state (GsApp *app, GsAppState state)
                break;
        case GS_APP_STATE_INSTALLED:
                /* installed has to go into an action state */
-               if (state == GS_APP_STATE_REMOVING)
+               if (state == GS_APP_STATE_UNKNOWN ||
+                   state == GS_APP_STATE_REMOVING)
                        state_change_ok = TRUE;
                break;
        case GS_APP_STATE_AVAILABLE:
                /* available has to go into an action state */
-               if (state == GS_APP_STATE_INSTALLING)
+               if (state == GS_APP_STATE_UNKNOWN ||
+                   state == GS_APP_STATE_INSTALLING)
                        state_change_ok = TRUE;
                break;
        case GS_APP_STATE_INSTALLING:
                /* installing has to go into an stable state */
-               if (state == GS_APP_STATE_INSTALLED ||
+               if (state == GS_APP_STATE_UNKNOWN ||
+                   state == GS_APP_STATE_INSTALLED ||
                    state == GS_APP_STATE_AVAILABLE)
                        state_change_ok = TRUE;
                break;
        case GS_APP_STATE_REMOVING:
                /* removing has to go into an stable state */
-               if (state == GS_APP_STATE_AVAILABLE ||
+               if (state == GS_APP_STATE_UNKNOWN ||
+                   state == GS_APP_STATE_AVAILABLE ||
                    state == GS_APP_STATE_INSTALLED)
                        state_change_ok = TRUE;
                break;
        case GS_APP_STATE_UPDATABLE:
                /* updatable has to go into an action state */
-               if (state == GS_APP_STATE_REMOVING)
+               if (state == GS_APP_STATE_UNKNOWN ||
+                   state == GS_APP_STATE_REMOVING)
                        state_change_ok = TRUE;
                break;
        default:
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]