[gnome-software/fix-install-queue] Always add apps that are to be installed to the install queue



commit d752759fb86de0ed0f68da5e0239fd27e0c1c9bb
Author: Joaquim Rocha <jrocha endlessm com>
Date:   Wed Jun 20 16:59:13 2018 +0200

    Always add apps that are to be installed to the install queue
    
    If there are apps being installed that have been queued because the
    plugin loader reached the maximum number of workers in its internal
    pool, then apps would still be effectively queued for installation
    but not added to the pending apps list. This meant that those queued
    apps would never show up in the installed page.
    
    This patch always adds apps to the installation queue when they're
    asked to be installed. This has the side effect that if GNOME Software
    is quit before the installations succeed, then the pending apps list
    is reloaded in the next start up and the apps are installed again.
    I believe this behavior is actually desired so I haven't prevented it.
    
    https://phabricator.endlessm.com/T21194

 lib/gs-plugin-loader.c | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/lib/gs-plugin-loader.c b/lib/gs-plugin-loader.c
index 5a3279aa..602a3177 100644
--- a/lib/gs-plugin-loader.c
+++ b/lib/gs-plugin-loader.c
@@ -3564,6 +3564,9 @@ gs_plugin_loader_schedule_task (GsPluginLoader *plugin_loader,
                /* set the pending-action to the app */
                GsPluginAction action = gs_plugin_job_get_action (helper->plugin_job);
                gs_app_set_pending_action (app, action);
+
+               if (action == GS_PLUGIN_ACTION_INSTALL)
+                       add_app_to_install_queue (plugin_loader, app);
        }
        g_thread_pool_push (priv->queued_ops_pool, g_object_ref (task), NULL);
 }


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