plover-gtk/transactionhelper.c
changeset 100 2c571abcea2a
parent 98 71127797ca73
child 103 c4b0d5cc34bc
     1.1 --- a/plover-gtk/transactionhelper.c	Wed Jul 15 16:04:47 2020 +0100
     1.2 +++ b/plover-gtk/transactionhelper.c	Thu Jul 16 23:02:10 2020 +0100
     1.3 @@ -482,7 +482,8 @@
     1.4    plover_transaction_helper_get_installed(PloverTransactionHelper *helper)
     1.5  {
     1.6      gchar *s,*saved_database_uri;
     1.7 -    char *install_root,*local_database,*active_database,*alternate_database;
     1.8 +    char *install_root,*local_database;
     1.9 +    char *active_database=NULL,*alternate_database=NULL;
    1.10      const char *prefix;
    1.11      struct comps *comps;
    1.12      PloverPackageSet *alternate_installed,*installed;
    1.13 @@ -521,10 +522,8 @@
    1.14  	{
    1.15  	    case COMPS_DATABASE_DISTRIBUTION_LOCAL:
    1.16  		active_database=local_database;
    1.17 -		alternate_database=NULL;
    1.18  		break;
    1.19  	    case COMPS_DATABASE_GLOBAL:
    1.20 -		active_database=NULL;
    1.21  		alternate_database=local_database;
    1.22  		break;
    1.23  	}
    1.24 @@ -725,10 +724,9 @@
    1.25    plover_transaction_helper_update_summary_page(PloverTransactionHelper *helper,
    1.26    GError **error)
    1.27  {
    1.28 -    int i,remove_count=0;
    1.29 +    int remove_count=0;
    1.30      gboolean alternate_database_clashes=FALSE;
    1.31      gboolean active_database_is_incompatible=FALSE;
    1.32 -    char *local_database,*active_database,*alternate_database;
    1.33      const char *alternate_prefix;
    1.34      gchar *prefix=NULL,*s;
    1.35      struct comps *comps=NULL;
    1.36 @@ -849,7 +847,8 @@
    1.37      int i,count;
    1.38      gboolean other_packages;
    1.39      const char *s,*name;
    1.40 -    enum razor_install_action action;
    1.41 +    enum razor_install_action razor_action;
    1.42 +    PloverTransactionHelperReportAction action;
    1.43      struct razor_install_iterator *ii;
    1.44      struct razor_set *report_set;
    1.45      struct razor_package *package;
    1.46 @@ -880,9 +879,15 @@
    1.47  	return FALSE;
    1.48      tasked_packages=plover_vector_new();
    1.49      other_packages=FALSE;
    1.50 -    while (razor_install_iterator_next(ii,&package,&action,&count))
    1.51 +    while (razor_install_iterator_next(ii,&package,&razor_action,&count))
    1.52      {
    1.53 -	if (action==report_action || action==RAZOR_INSTALL_ACTION_ADD &&
    1.54 +	if (razor_action==RAZOR_INSTALL_ACTION_ADD)
    1.55 +	    action=PLOVER_TRANSACTION_HELPER_REPORT_INSTALL;
    1.56 +	else if (razor_action==RAZOR_INSTALL_ACTION_REMOVE)
    1.57 +	    action=PLOVER_TRANSACTION_HELPER_REPORT_REMOVE;
    1.58 +	else
    1.59 +	    continue;
    1.60 +	if (action==report_action || razor_action==RAZOR_INSTALL_ACTION_ADD &&
    1.61  	  report_action==PLOVER_TRANSACTION_HELPER_REPORT_UPDATE)
    1.62  	{
    1.63  	    razor_package_get_details(report_set,package,RAZOR_DETAIL_NAME,
    1.64 @@ -902,8 +907,14 @@
    1.65  	 */
    1.66  	other_packages=FALSE;
    1.67  	razor_install_iterator_rewind(ii);
    1.68 -	while (razor_install_iterator_next(ii,&package,&action,&count))
    1.69 +	while (razor_install_iterator_next(ii,&package,&razor_action,&count))
    1.70  	{
    1.71 +	    if (razor_action==RAZOR_INSTALL_ACTION_ADD)
    1.72 +		action=PLOVER_TRANSACTION_HELPER_REPORT_INSTALL;
    1.73 +	    else if (razor_action==RAZOR_INSTALL_ACTION_REMOVE)
    1.74 +		action=PLOVER_TRANSACTION_HELPER_REPORT_REMOVE;
    1.75 +	    else
    1.76 +		continue;
    1.77  	    if (action==report_action)
    1.78  	    {
    1.79  		razor_package_get_details(report_set,package,RAZOR_DETAIL_NAME,
    1.80 @@ -1218,7 +1229,7 @@
    1.81  const char *plover_transaction_helper_get_error(PloverTransactionHelper *helper,
    1.82    const GError **error)
    1.83  {
    1.84 -    g_return_if_fail(PLOVER_IS_TRANSACTION_HELPER(helper));
    1.85 +    g_return_val_if_fail(PLOVER_IS_TRANSACTION_HELPER(helper),NULL);
    1.86      if (!helper->error_dialog)
    1.87  	return NULL;
    1.88      if (error)