[gnome-software] trivial: Allow GsAppState to back to UNKNOWN from any state



commit 5d5c62bf31f84b5852ec9ca5587215da548ced10
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 7286aed..7ec245d 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]