--- plugins/language-support-cpp-java/cpp-packages.c~ 2018-10-22 14:25:43.000000000 -0500 +++ plugins/language-support-cpp-java/cpp-packages.c 2021-12-15 12:15:03.701576548 -0600 @@ -139,15 +139,17 @@ GList* deps = anjuta_pkg_config_list_dependencies (name, NULL); GList* dep; PackageData* data = g_new0 (PackageData, 1); - for (dep = deps; dep != NULL; dep = g_list_next (dep)) - { - cpp_packages_activate_package (sm, dep->data, packages_to_add); - } - anjuta_util_glist_strings_free (deps); data->pkg = g_strdup (name); data->version = g_strdup (version); - *packages_to_add = g_list_prepend (*packages_to_add, - data); + *packages_to_add = g_list_prepend (*packages_to_add, data); + for (dep = deps; dep != NULL; dep = g_list_next (dep)) + { + /* Only treat this dependency if not already present */ + if (!g_list_find_custom (*packages_to_add,dep->data, (GCompareFunc) pkg_data_compare)){ + cpp_packages_activate_package (sm, dep->data, packages_to_add); + } + } + anjuta_util_glist_strings_free (deps); } g_free (name); return *packages_to_add;