diff -r c4b0d5cc34bc -r b3d8e196dac8 plover-gtk/transactionhelper.c --- a/plover-gtk/transactionhelper.c Mon Aug 31 07:07:40 2020 +0100 +++ b/plover-gtk/transactionhelper.c Tue Jun 29 10:09:34 2021 +0100 @@ -492,10 +492,12 @@ g_return_val_if_fail(PLOVER_IS_TRANSACTION_HELPER(helper),NULL); if (!helper->installed) { - comps=plover_transaction_helper_get_comps(helper,NULL); + comps=plover_transaction_helper_get_comps(helper,&error); if (!comps) { - g_warning("plover_transaction_helper_get_installed: No comps"); + g_warning("plover_transaction_helper_get_installed: No comps: %s", + error->message); + g_error_free(error); return NULL; } install_root=getenv("RAZOR_ROOT"); @@ -656,13 +658,22 @@ plover_transaction_helper_get_comps(PloverTransactionHelper *helper, GError **error) { - gchar *s; + char *s; + GError *tmp_err=NULL; g_return_val_if_fail(PLOVER_IS_TRANSACTION_HELPER(helper),NULL); if (!helper->comps && helper->base_uri) { - s=g_strconcat(helper->base_uri,"/repodata/comps.xml",NULL); - helper->comps=plover_comps_new_from_uri(s,error); - g_free(s); + s=razor_path_relative_to_uri(helper->base_uri,"repodata/comps.xml", + NULL); + helper->comps=plover_comps_new_from_uri(s,&tmp_err); + if (!helper->comps) + { + g_warning( + "PloverTransactionHelper: Failed to get comps at '%s': %s", + s,tmp_err->message); + g_propagate_error(error,tmp_err); + } + free(s); } return helper->comps; }