They were all the same bug: libglade2 made an important update in the code
of glade-gtk.c that started using the new toolbar api. This change
rendered programs that used both glade and the toolbar api directly
unusable.
The patch I'm attaching was made with interdiff. It is indended to make the
less damage possible. I only regressed those changes that affected the way
meld and synaptic behaved (I don't know if there are other programs
affected by this bug).
With these changes, the two programs behave properly, almost no warnings
issued on the console. I hope you find this patch worthy of applying.
Message-ID: <20050123153159 .GA28849@ localhost>
Date: Sun, 23 Jan 2005 12:31:59 -0300
From: Margarita Manterola <email address hidden>
To: <email address hidden>, <email address hidden>, <email address hidden>
Cc: <email address hidden>
Subject: Patch that fixes the problem in libglade
--QTprm0S8XgL7H0Dt "azLHFNyN32YCQG CU" Disposition: inline
Content-Type: multipart/mixed; boundary=
Content-
--azLHFNyN32YCQGCU Disposition: inline Transfer- Encoding: quoted-printable
Content-Type: text/plain; charset=us-ascii
Content-
Content-
Merge 288445 287167 290811
Tags 290811 +patch
thanks
I'm attaching a patch that fixes these bugs.
They were all the same bug: libglade2 made an important update in the code
of glade-gtk.c that started using the new toolbar api. This change
rendered programs that used both glade and the toolbar api directly
unusable.
Upstream report: http:// bugzilla. gnome.org/ show_bug. cgi?id= 3D163322
The patch I'm attaching was made with interdiff. It is indended to make the
less damage possible. I only regressed those changes that affected the way
meld and synaptic behaved (I don't know if there are other programs
affected by this bug).
With these changes, the two programs behave properly, almost no warnings
issued on the console. I hope you find this patch worthy of applying.
--=20
Bezitos,
Maggie.
--azLHFNyN32YCQGCU Disposition: attachment; filename= "libglade- patch.interdiff " Transfer- Encoding: quoted-printable
Content-Type: text/plain; charset=us-ascii
Content-
Content-
diff -u libglade2- 2.4.1/debian/ changelog libglade2- 2.4.1/debian/ changelog 2.4.1/debian/ changelog 2.4.1/debian/ changelog 2.4.1.orig/ glade/glade- gtk.c 2.4.1/glade/ glade-gtk. c append_ space (GTK_TOOLBAR (parent)); >child- >classname, "toggle")) { TOGGLE_ TOOL_BUTTON, tool_button_ set_active TOOL_BUTTON (child), active); append_ element ( CHILD_TOGGLEBUT TON, NULL, button_ set_active( >child- >classname, "radio")) { RADIO_TOOL_ BUTTON, append_ element ( CHILD_RADIOBUTT ON, NULL, get_widget (xml, group_name), tool_button_ set_active TOOL_BUTTON (child), active); TOOL_BUTTON, button_ set_icon_ widget (GTK_TOOL_BUTTON (child), append_ item ( button_ get_label_ widget (GTK_TOOL_BUTTON = set_use_ underline (GTK_LABEL (labelw), TRUE); ->children) ; set_use_ underline (GTK_LABEL (toolbar_ child-> label), item_set_ tooltip (GTK_TOOL_ITEM (child), >tooltips, xml_set_ common_ params (xml, child, childinfo->child); build_widget (xml, childinfo->child); append_ widget (GTK_TOOLBAR (parent), child, NULL, NULL);
--- libglade2-
+++ libglade2-
@@ -1,3 +1,9 @@
+libglade2 (1:2.4.1-1.1) unstable; urgency=3Dlow
+
+ * Undo the update of the API, so that synaptic and meld keep working.
+
+ -- Margarita Manterola <email address hidden> Sun, 23 Jan 2005 11:49:01 -=
0300
+
libglade2 (1:2.4.1-1) unstable; urgency=3Dlow
=20
* GNOME team upload.
only in patch2:
unchanged:
--- libglade2-
+++ libglade2-
@@ -868,71 +868,46 @@
if (iconw)
gtk_widget_show (iconw);
=20
- if (new_group) {
- GtkWidget *toolitem =3D GTK_WIDGET (gtk_tool_item_new ());
-
- gtk_container_add (GTK_CONTAINER (parent), toolitem);
- gtk_widget_show (toolitem);
- }
+ if (new_group)
+ gtk_toolbar_
=20
/* FIXME: these should be translated */
if (!strcmp (childinfo-
- child =3D g_object_new (GTK_TYPE_
- "label", label,
- "stock_id", stock,
- NULL);
- gtk_toggle_
- (GTK_TOGGLE_
+ child =3D gtk_toolbar_
+ GTK_TOOLBAR (parent),
+ GTK_TOOLBAR_
+ label, tooltip, NULL, iconw, NULL, NULL);
+ gtk_toggle_
+ GTK_TOGGLE_BUTTON (child), active);
} else if (!strcmp (childinfo-
- child =3D g_object_new (GTK_TYPE_
- "label", label,
- "stock_id", stock,
- NULL);
+ child =3D gtk_toolbar_
+ GTK_TOOLBAR (parent),
+ GTK_TOOLBAR_
+ label, tooltip, NULL, iconw, NULL, NULL);
+
if (group_name) {
g_object_set (G_OBJECT (child),
"group", glade_xml_
NULL);
}
- gtk_toggle_
- (GTK_TOGGLE_
- } else {
- child =3D g_object_new (GTK_TYPE_
- "label", label,
- "stock_id", stock,
- NULL);
- }
- if (iconw)
- gtk_tool_
- iconw);
+ } else
+ child =3D gtk_toolbar_
+ GTK_TOOLBAR (parent),
+ label, tooltip, NULL, iconw, NULL, NULL);
=20
/* GTK+ doesn't support use_underline directly, so we have to hack
it. */
if (use_underline) {
- GtkWidget *labelw =3D gtk_tool_
(child));
- gtk_label_
+ GList *elem =3D g_list_last (GTK_TOOLBAR (parent)
+ GtkToolbarChild *toolbar_child =3D elem->data;
+ gtk_label_
+ TRUE);
}
=20
- if (tooltip) {
- gtk_tool_
- xml->priv-
- tooltip, NULL);
- =09
- }
-
- gtk_container_add (GTK_CONTAINER (parent), child);
-
glade_
} else {
child =3D glade_xml_
-
- if (!GTK_IS_TOOL_ITEM (child)) {
- GtkWidget *toolitem =3D GTK_WIDGET (gtk_tool_item_new ());
-
- gtk_container_add (GTK_CONTAINER (toolitem), child);
- gtk_widget_show (toolitem);
- child =3D toolitem;
- }
- gtk_container_add (GTK_CONTAINER (parent), child);
+ gtk_toolbar_
}
}
}
--azLHFNyN32YCQ GCU--
--QTprm0S8XgL7H0Dt pgp-signature; name="signature .asc" Description: Digital signature Disposition: inline
Content-Type: application/
Content-
Content-
-----BEGIN PGP SIGNATURE-----
Ux1tI/64RAvu3AJ 9hVQhG5oZScdE5n 6CLxp74yz5TswCf X84J dOaeWox4=
Version: GnuPG v1.2.4 (GNU/Linux)
iD8DBQFB88NvlAu
t0WQ/5BETxItnvQ
=7igF
-----END PGP SIGNATURE-----
--QTprm0S8XgL7H 0Dt--