[gtk+] Fixed GtkCellLayout buildable implementation to set cell properties explicitly set to "" (i.e. expli



commit 2e34842b1ab81f5f0fc8caf3a797f1cf05fea42e
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date:   Wed Feb 2 15:20:42 2011 +0900

    Fixed GtkCellLayout buildable implementation to set cell properties explicitly set to "" (i.e. explicitly set to nothing).

 gtk/gtkcelllayout.c |   52 ++++++++++++++++++++++++--------------------------
 1 files changed, 25 insertions(+), 27 deletions(-)
---
diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c
index d0ff6ca..3fd59ad 100644
--- a/gtk/gtkcelllayout.c
+++ b/gtk/gtkcelllayout.c
@@ -807,37 +807,35 @@ cell_packing_end_element (GMarkupParseContext *context,
   CellPackingSubParserData *parser_data = (CellPackingSubParserData*)user_data;
   GtkCellArea *area;
 
-  /* Append the translated strings */
-  if (parser_data->string->len)
-    {
-      area = gtk_cell_layout_get_area (parser_data->cell_layout);
+  area = gtk_cell_layout_get_area (parser_data->cell_layout);
 
-      if (area)
+  if (area)
+    {
+      /* translate the string */
+      if (parser_data->string->len && parser_data->translatable)
 	{
-	  if (parser_data->translatable)
-	    {
-	      gchar *translated;
-	      const gchar* domain;
-
-	      domain = gtk_builder_get_translation_domain (parser_data->builder);
-
-	      translated = _gtk_builder_parser_translate (domain,
-							  parser_data->context,
-							  parser_data->string->str);
-	      g_string_set_size (parser_data->string, 0);
-	      g_string_append (parser_data->string, translated);
-	    }
-
-	  gtk_cell_layout_buildable_set_cell_property (area, 
-						       parser_data->builder,
-						       parser_data->renderer,
-						       parser_data->cell_prop_name,
-						       parser_data->string->str);
+	  gchar *translated;
+	  const gchar* domain;
+
+	  domain = gtk_builder_get_translation_domain (parser_data->builder);
+
+	  translated = _gtk_builder_parser_translate (domain,
+						      parser_data->context,
+						      parser_data->string->str);
+	  g_string_set_size (parser_data->string, 0);
+	  g_string_append (parser_data->string, translated);
 	}
-      else
-	g_warning ("%s does not have an internal GtkCellArea class and cannot apply child cell properties",
-		   g_type_name (G_OBJECT_TYPE (parser_data->cell_layout)));
+
+      if (parser_data->cell_prop_name)
+	gtk_cell_layout_buildable_set_cell_property (area, 
+						     parser_data->builder,
+						     parser_data->renderer,
+						     parser_data->cell_prop_name,
+						     parser_data->string->str);
     }
+  else
+    g_warning ("%s does not have an internal GtkCellArea class and cannot apply child cell properties",
+	       g_type_name (G_OBJECT_TYPE (parser_data->cell_layout)));
 
   g_string_set_size (parser_data->string, 0);
   g_free (parser_data->cell_prop_name);



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