summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Pablo Ugarte <juanpablougarte@gmail.com>2013-11-21 14:51:16 -0300
committerJuan Pablo Ugarte <juanpablougarte@gmail.com>2013-11-21 14:51:16 -0300
commitb9d0f5f579fd0120708bd9ee8fab76d79eb05b64 (patch)
treedfe84728328fe2fe2b082851e54bcfe1f86348a2
parent96092282768d5f6b2d38dc5923c9e5f3249e84a8 (diff)
downloadglade-b9d0f5f579fd0120708bd9ee8fab76d79eb05b64.tar.gz
Fixed <requires> tag output
GLADE_GTKBUILDER_HAS_VERSIONING check was broken for gtk >= 3.0
-rw-r--r--gladeui/glade-project.c18
-rw-r--r--gladeui/glade-xml-utils.h5
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 */