After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 623603 - meld built with pygtk-2.16.0 giving warnings
meld built with pygtk-2.16.0 giving warnings
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.20.x
Other All
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
: 631833 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-07-05 13:38 UTC by Praneeth Venkata
Modified: 2010-10-11 03:21 UTC
See Also:
GNOME target: 2.28.x
GNOME version: 2.27/2.28


Attachments
Stop assuming that priv->label_widget will be a GtkLabel. (2.78 KB, patch)
2010-07-12 15:07 UTC, Tomeu Vizoso
committed Details | Review

Description Praneeth Venkata 2010-07-05 13:38:06 UTC
I have build meld(http://meld.sourceforge.net/) using pygtk-2.16.0 and gtk+-2.20.1 as one of its dependencies. I am getting the below warnings when I do a directory diffing. These warnings occur only when I use pygtk-2.16.0 and not evident when I use older versions of pygtk. 

Can someone please quickly help me debug this issue? 

Command I run 

/usr/pkgs/meld-1.3.1/bin/meld /usr/local/etc /usr/local/bin

Warnings 

/usr/pkgs/meld-1.3.1/lib/meld/dirdiff.py:262: GtkWarning: gtk_label_set_ellipsize: assertion `GTK_IS_LABEL (label)' failed
  self.filter_menu_button.set_label_widget(label)
/usr/pkgs/meld-1.3.1/lib/meld/dirdiff.py:262: GtkWarning: gtk_label_set_angle: assertion `GTK_IS_LABEL (label)' failed
  self.filter_menu_button.set_label_widget(label)
/usr/pkgs/meld-1.3.1/lib/meld/dirdiff.py:262: GtkWarning: gtk_misc_set_alignment: assertion `GTK_IS_MISC (misc)' failed
  self.filter_menu_button.set_label_widget(label


Strace Output 

close(17)                               = 0
munmap(0x2aaaaaabc000, 4096)            = 0
write(2, "/usr/pkgs/meld-1.3.1/lib/m"..., 179/usr/pkgs/meld-1.3.1/lib/meld/dirdiff.py:262: GtkWarning: gtk_label_set_ellipsize: assertion `GTK_IS_LABEL (label)' failed
  self.filter_menu_button.set_label_widget(label)
) = 179
write(2, "/usr/pkgs/meld-1.3.1/lib/m"..., 175/usr/pkgs/meld-1.3.1/lib/meld/dirdiff.py:262: GtkWarning: gtk_label_set_angle: assertion `GTK_IS_LABEL (label)' failed
  self.filter_menu_button.set_label_widget(label)
) = 175
write(2, "/usr/pkgs/meld-1.3.1/lib/m"..., 176/usr/pkgs/meld-1.3.1/lib/meld/dirdiff.py:262: GtkWarning: gtk_misc_set_alignment: assertion `GTK_IS_MISC (misc)' failed
  self.filter_menu_button.set_label_widget(label)
) = 176

This is reproducible always
Comment 1 Praneeth Venkata 2010-07-08 12:54:24 UTC
This happen to occur when I build pygtk with latest GTK-2.20.1. These warnings does not seem to occur with older gtk.
Comment 2 Tomeu Vizoso 2010-07-12 15:04:59 UTC
Gtk+ started to (incorrectly) assume that all widgets set with gtk_tool_button_set_label_widget are GtkLabel(s) at this commit: http://git.gnome.org/browse/gtk+/commit/?id=dad6e734 .
Comment 3 Tomeu Vizoso 2010-07-12 15:07:06 UTC
Created attachment 165741 [details] [review]
Stop assuming that priv->label_widget will be a GtkLabel.

Please backport to 2.22
Comment 4 Praneeth Venkata 2010-07-23 11:02:06 UTC
Thanks for your help here, I shall rebuild gtk with your patch and let you know. I was wrong in comment1 and these seems to occur with both gtk+-2.18.3 and gtk+-2.20.1.
Comment 5 Praneeth Venkata 2010-07-23 12:25:29 UTC
Awesome. This patch has fixed my issue. I rebuilt gtk+-2.18.3 with this patch.

Thanks Vizoso for your help
Comment 6 Matthias Clasen 2010-08-05 01:42:36 UTC
Review of attachment 165741 [details] [review]:

Looks fine, please commit to 2.22 as well, if it applies there.
Comment 7 Tomeu Vizoso 2010-08-05 08:33:32 UTC
Attachment 165741 [details] pushed as 963e1ec - Stop assuming that priv->label_widget will be a GtkLabel.
Comment 8 Javier Jardón (IRC: jjardon) 2010-10-11 03:21:42 UTC
*** Bug 631833 has been marked as a duplicate of this bug. ***