27 lines
1.1 KiB
Diff
27 lines
1.1 KiB
Diff
--- 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;
|