diff -r 71127797ca73 -r fd3bee6d1637 plover-gtk/transactionhelper.c --- a/plover-gtk/transactionhelper.c Wed Jul 15 16:04:47 2020 +0100 +++ b/plover-gtk/transactionhelper.c Thu Jul 16 23:03:08 2020 +0100 @@ -482,7 +482,8 @@ plover_transaction_helper_get_installed(PloverTransactionHelper *helper) { gchar *s,*saved_database_uri; - char *install_root,*local_database,*active_database,*alternate_database; + char *install_root,*local_database; + char *active_database=NULL,*alternate_database=NULL; const char *prefix; struct comps *comps; PloverPackageSet *alternate_installed,*installed; @@ -521,10 +522,8 @@ { case COMPS_DATABASE_DISTRIBUTION_LOCAL: active_database=local_database; - alternate_database=NULL; break; case COMPS_DATABASE_GLOBAL: - active_database=NULL; alternate_database=local_database; break; } @@ -725,10 +724,9 @@ plover_transaction_helper_update_summary_page(PloverTransactionHelper *helper, GError **error) { - int i,remove_count=0; + int remove_count=0; gboolean alternate_database_clashes=FALSE; gboolean active_database_is_incompatible=FALSE; - char *local_database,*active_database,*alternate_database; const char *alternate_prefix; gchar *prefix=NULL,*s; struct comps *comps=NULL; @@ -849,7 +847,8 @@ int i,count; gboolean other_packages; const char *s,*name; - enum razor_install_action action; + enum razor_install_action razor_action; + PloverTransactionHelperReportAction action; struct razor_install_iterator *ii; struct razor_set *report_set; struct razor_package *package; @@ -880,9 +879,15 @@ return FALSE; tasked_packages=plover_vector_new(); other_packages=FALSE; - while (razor_install_iterator_next(ii,&package,&action,&count)) + while (razor_install_iterator_next(ii,&package,&razor_action,&count)) { - if (action==report_action || action==RAZOR_INSTALL_ACTION_ADD && + if (razor_action==RAZOR_INSTALL_ACTION_ADD) + action=PLOVER_TRANSACTION_HELPER_REPORT_INSTALL; + else if (razor_action==RAZOR_INSTALL_ACTION_REMOVE) + action=PLOVER_TRANSACTION_HELPER_REPORT_REMOVE; + else + continue; + if (action==report_action || razor_action==RAZOR_INSTALL_ACTION_ADD && report_action==PLOVER_TRANSACTION_HELPER_REPORT_UPDATE) { razor_package_get_details(report_set,package,RAZOR_DETAIL_NAME, @@ -902,8 +907,14 @@ */ other_packages=FALSE; razor_install_iterator_rewind(ii); - while (razor_install_iterator_next(ii,&package,&action,&count)) + while (razor_install_iterator_next(ii,&package,&razor_action,&count)) { + if (razor_action==RAZOR_INSTALL_ACTION_ADD) + action=PLOVER_TRANSACTION_HELPER_REPORT_INSTALL; + else if (razor_action==RAZOR_INSTALL_ACTION_REMOVE) + action=PLOVER_TRANSACTION_HELPER_REPORT_REMOVE; + else + continue; if (action==report_action) { razor_package_get_details(report_set,package,RAZOR_DETAIL_NAME, @@ -1218,7 +1229,7 @@ const char *plover_transaction_helper_get_error(PloverTransactionHelper *helper, const GError **error) { - g_return_if_fail(PLOVER_IS_TRANSACTION_HELPER(helper)); + g_return_val_if_fail(PLOVER_IS_TRANSACTION_HELPER(helper),NULL); if (!helper->error_dialog) return NULL; if (error)