Blob Blame History Raw
--- 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;