summaryrefslogtreecommitdiff
path: root/src/glade-gtk.c
diff options
context:
space:
mode:
authorJoaquin Cuenca Abela <e98cuenc@yahoo.com>2004-05-01 22:05:31 +0000
committerJoaquĆ­n Cuenca Abela <cuenca@src.gnome.org>2004-05-01 22:05:31 +0000
commit7b6c2ff27f3a58de6d20b62f920880ff24112ae0 (patch)
treedda7a65992760d0543c4fb6ba81a053667753410 /src/glade-gtk.c
parent819ede9370605ee0a07bc935436f32006579a830 (diff)
downloadglade-7b6c2ff27f3a58de6d20b62f920880ff24112ae0.tar.gz
fix a double free if a palette name is lacking in a xml file.
2004-05-01 Joaquin Cuenca Abela <e98cuenc@yahoo.com> * src/glade-catalog.c: fix a double free if a palette name is lacking in a xml file. * src/glade-gtk.c: Remove unused code, add a PreCreateFunction for GtkGlade * src/glade-widget.c: Don't execute PostCreateFunction and FillEmptyFunction on widgets that are being read. * src/glade-widget-class.c: Inherit PreCreateFunctions. * widgets/gtkbox.xml: Remove the fill_empty inherited from gtkcontainer.xml * widgets/gtktable.xml: Add a PreCreateFunction, and remove the fill_empty function inherited from gtkcontainer.xml * widgets/gtkbuttonbox.xml: Remove the fill_empty inherited from gtkcontainer.xml * widgets/gtktreeview.xml: Add gtktreeview.xml (I forget to add it in my latest post). * widgets/Makefile.am: Update it.
Diffstat (limited to 'src/glade-gtk.c')
-rw-r--r--src/glade-gtk.c45
1 files changed, 10 insertions, 35 deletions
diff --git a/src/glade-gtk.c b/src/glade-gtk.c
index fd675bc4..c781f544 100644
--- a/src/glade-gtk.c
+++ b/src/glade-gtk.c
@@ -167,13 +167,9 @@ glade_gtk_spin_button_set_page_size (GObject *object, GValue *value)
void GLADEGTK_API
glade_gtk_box_get_size (GObject *object, GValue *value)
{
- GtkBox *box;
+ GtkBox *box = GTK_BOX (object);
g_value_reset (value);
-
- box = GTK_BOX (object);
- g_return_if_fail (GTK_IS_BOX (box));
-
g_value_set_int (value, g_list_length (box->children));
}
@@ -360,35 +356,6 @@ glade_gtk_notebook_set_n_pages (GObject *object, GValue *value)
}
}
-#if 0
-/* This code is working but i don't think we need it. Chema */
-void
-glade_gtk_table_get_n_rows (GObject *object, GValue *value)
-{
- GtkTable *table;
-
- g_value_reset (value);
-
- table = GTK_TABLE (object);
- g_return_if_fail (GTK_IS_TABLE (table));
-
- g_value_set_int (value, table->nrows);
-}
-
-void
-glade_gtk_table_get_n_columns (GObject *object, GValue *value)
-{
- GtkTable *table;
-
- g_value_reset (value);
-
- table = GTK_TABLE (object);
- g_return_if_fail (GTK_IS_TABLE (table));
-
- g_value_set_int (value, table->ncols);
-}
-#endif
-
void GLADEGTK_API
glade_gtk_table_set_n_common (GObject *object, GValue *value, gboolean for_rows)
{
@@ -577,8 +544,16 @@ ignore (GObject *object, GValue *value)
/* ------------------------------------ Pre Create functions ------------------------------ */
+/* a GtkTable starts with a default size of 1x1, and setter/getter of rows/columns expect
+ * the GtkTable to hold this number of placeholders, so we should add it */
+void GLADEGTK_API
+glade_gtk_table_pre_create (GObject *object)
+{
+ gtk_table_attach_defaults (GTK_TABLE (object), glade_placeholder_new (), 0, 1, 0, 1);
+}
+
void GLADEGTK_API
-glade_gtk_tree_view_pre_create_function (GObject *object)
+glade_gtk_tree_view_pre_create (GObject *object)
{
GtkWidget *tree_view = GTK_WIDGET (object);
GtkTreeStore *store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_STRING);