--- 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;