diff options
author | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2013-11-21 14:51:16 -0300 |
---|---|---|
committer | Juan Pablo Ugarte <juanpablougarte@gmail.com> | 2013-11-21 14:51:16 -0300 |
commit | b9d0f5f579fd0120708bd9ee8fab76d79eb05b64 (patch) | |
tree | dfe84728328fe2fe2b082851e54bcfe1f86348a2 | |
parent | 96092282768d5f6b2d38dc5923c9e5f3249e84a8 (diff) | |
download | glade-b9d0f5f579fd0120708bd9ee8fab76d79eb05b64.tar.gz |
Fixed <requires> tag output
GLADE_GTKBUILDER_HAS_VERSIONING check was broken for gtk >= 3.0
-rw-r--r-- | gladeui/glade-project.c | 18 | ||||
-rw-r--r-- | gladeui/glade-xml-utils.h | 5 |
2 files changed, 12 insertions, 11 deletions
diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c index 8555d449..a129c391 100644 --- a/gladeui/glade-project.c +++ b/gladeui/glade-project.c @@ -2343,16 +2343,18 @@ glade_project_write_required_libs (GladeProject *project, GladeXmlNode *req_node; GList *required, *list; gint major, minor; - gchar *version; if ((required = glade_project_required_libs (project)) != NULL) { + gchar version[16]; + for (list = required; list; list = list->next) { - glade_project_get_target_version (project, (gchar *) list->data, - &major, &minor); + gchar *library = list->data; + + glade_project_get_target_version (project, library, &major, &minor); - version = g_strdup_printf ("%d.%d", major, minor); + g_snprintf (version, sizeof (version), "%d.%d", major, minor); /* Write the standard requires tag */ if (GLADE_GTKBUILDER_HAS_VERSIONING (major, minor)) @@ -2361,12 +2363,12 @@ glade_project_write_required_libs (GladeProject *project, glade_xml_node_append_child (root, req_node); glade_xml_node_set_property_string (req_node, GLADE_XML_TAG_LIB, - (gchar *) list->data); + library); } else { gchar *comment = g_strdup_printf (" interface-requires %s %s ", - (gchar *) list->data, version); + library, version); req_node = glade_xml_node_new_comment (context, comment); glade_xml_node_append_child (root, req_node); g_free (comment); @@ -2374,11 +2376,9 @@ glade_project_write_required_libs (GladeProject *project, glade_xml_node_set_property_string (req_node, GLADE_XML_TAG_VERSION, version); - g_free (version); } - g_list_foreach (required, (GFunc) g_free, NULL); - g_list_free (required); + g_list_free_full (required, g_free); } } diff --git a/gladeui/glade-xml-utils.h b/gladeui/glade-xml-utils.h index 80d3a382..f9a68aa0 100644 --- a/gladeui/glade-xml-utils.h +++ b/gladeui/glade-xml-utils.h @@ -29,8 +29,9 @@ typedef struct _GladeProject GladeProject; #define GLADE_GTKBUILDER_VERSIONING_BASE_MAJOR 2 #define GLADE_GTKBUILDER_VERSIONING_BASE_MINOR 14 #define GLADE_GTKBUILDER_HAS_VERSIONING(maj, min) \ - ((maj) >= GLADE_GTKBUILDER_VERSIONING_BASE_MAJOR && \ - (min) >= GLADE_GTKBUILDER_VERSIONING_BASE_MINOR) + ((maj) > GLADE_GTKBUILDER_VERSIONING_BASE_MAJOR || \ + ((maj) == GLADE_GTKBUILDER_VERSIONING_BASE_MAJOR && \ + (min) >= GLADE_GTKBUILDER_VERSIONING_BASE_MINOR)) /* Used for catalog tags and attributes */ |