[glade] Fixed <requires> tag output GLADE_GTKBUILDER_HAS_VERSIONING check was broken for gtk >= 3.0



commit 3a41a2a0d730977717e7e3088e5b726f8449b562
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date:   Thu Nov 21 14:51:16 2013 -0300

    Fixed <requires> tag output
    GLADE_GTKBUILDER_HAS_VERSIONING check was broken for gtk >= 3.0

 gladeui/glade-project.c   |   18 +++++++++---------
 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 ed42786..004cd52 100644
--- a/gladeui/glade-project.c
+++ b/gladeui/glade-project.c
@@ -2482,16 +2482,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))
@@ -2500,12 +2502,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);
@@ -2513,11 +2515,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 80d3a38..f9a68aa 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 */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]