Message-ID: <20050123012135.GA27378@localhost>
Date: Sat, 22 Jan 2005 22:21:35 -0300
From: Margarita Manterola <email address hidden>
To: <email address hidden>, <email address hidden>
Subject: I can't reproduce it either
I've been trying to reproduce this bug as well, with no luck. I have the
same versions of meld and its dependencies as the ones listed in the bug
report.
However, I also have the complete GNOME environment, and because of what's
stated in the rest of this mail I'm inclined to think that Bas doesn't and
that the core of the problem is there: meld is failing to declare some
extra dependencies on some GNOME packages, that any GNOME user will have
installed by default (or something of the sort).
> [bas@matilda]/scratch/kevin> meld test/mn_fit_v5_03 mn-fit-5.03
> /usr/lib/meld/gnomeglade.py:145: GtkWarning: Unable to locate theme engine in module_path: "raleigh",
> image = gtk.Image()
This seems to be a problem related to the lack of the package
"gtk-engines-pixmap" that contains the file
"/usr/lib/gtk/themes/engines/libraleigh.la"
Maybe meld should declare a "Suggests" or "Recommends" on this package, but
I think this part is can be safely declared unrelated to the crashing bug.
> /usr/lib/meld/gnomeglade.py:46: GtkWarning: file gtklabel.c: line 2792 (gtk_label_set_use_underline): assertion `GTK_IS_LABEL (label)' failed
> self.xml = gtk.glade.XML(file, root, gettext.textdomain() )
> /usr/lib/meld/gnomeglade.py:46: GtkWarning: gtkwidget.c:3076: widget `GtkToolButton' has no activatable signal "clicked" without arguments
> self.xml = gtk.glade.XML(file, root, gettext.textdomain() )
> (meld:1619): GLib-GObject-WARNING **: gsignal.c:1657: signal `pressed' is invalid for instance `0x8393338'
I don't get any of these. All of these warnings seem to be related to GTK
issues. Maybe I don't get them because I have a different libgtk2.0-0
version (2.4.14-2).
> /usr/lib/meld/dirdiff.py:278: GtkWarning: mixing deprecated and non-deprecated GtkToolbar API is not allowed
> _("Hide %s") % f.label, "", icon, self._update_name_filter, i )
I don't get this, and I think it might be symptomatic of what's going on.
> Traceback (most recent call last):
> File "/usr/bin/meld", line 88, in ?
> meldapp.main()
> File "/usr/lib/meld/meldapp.py", line 911, in main
> app.append_diff(args)
> File "/usr/lib/meld/meldapp.py", line 798, in append_diff
> self.append_dirdiff(paths)
> File "/usr/lib/meld/meldapp.py", line 770, in append_dirdiff
> doc = dirdiff.DirDiff(self.prefs, len(dirs))
> File "/usr/lib/meld/dirdiff.py", line 242, in __init__
> self.create_name_filters()
> File "/usr/lib/meld/dirdiff.py", line 279, in create_name_filters
> toggle.set_active(f.active)
> AttributeError: 'NoneType' object has no attribute 'set_active'
Even if I can't reproduce the bug, from the traceback, we can have a look
at the code and guess where the bug is:
for i,f in misc.enumerate(self.name_filters_available):
icon = gtk.Image() icon.set_from_stock(gtk.STOCK_FIND, gtk.ICON_SIZE_LARGE_TOOLBAR) icon.show()
toggle = self.toolbar.append_element(gtk.TOOLBAR_CHILD_TOGGLEBUTTON, None, f.label, _("Hide %s") % f.label, "", icon, self._update_name_filter, i ) toggle.set_active(f.active)
So, what the python error is saying is that "toggle" is of the type
"NoneType". I don't pretend to by a python expert, but to me this is
saying that the call to
"self.toolbar.append_element(gtk.TOOLBAR_CHILD_TOGGLEBUTTON, None, f.label,
_("Hide %s") % f.label, "", icon, self._update_name_filter, i )"
is not returning the expected toggle object.
Reading the helpfile in devhelp, it says "gtk_toolbar_append_element is
deprecated and should not be used in newly-written code.", so, the
deprecated part of the code is the call to the function itself.
I really fail to see which is the non-deprecated part of the function
called (I've been reading the gtktoolbar.c source code, with no luck). But
yet, since gtktoolbar is part of libgtk, I think it might be a versioning
problem.
The dependency tree is:
meld depends on python-gtk2, which depends on python2.3-gtk2 which depends
on " libgtk2.0-0 (>= 2.4.4) ". libgtk2.0-0 is presently at 2.4.14, I'm
guessing that Bas might have a version that is in the middle of the two,
and that for some reason has this "non-deprecated vs deprecated" issue.
So, Bas, please tell us your libgtk2.0-0 version, and then see if upgrading
it to a new version fixes this problem.
Message-ID: <20050123012135 .GA27378@ localhost>
Date: Sat, 22 Jan 2005 22:21:35 -0300
From: Margarita Manterola <email address hidden>
To: <email address hidden>, <email address hidden>
Subject: I can't reproduce it either
I've been trying to reproduce this bug as well, with no luck. I have the
same versions of meld and its dependencies as the ones listed in the bug
report.
However, I also have the complete GNOME environment, and because of what's
stated in the rest of this mail I'm inclined to think that Bas doesn't and
that the core of the problem is there: meld is failing to declare some
extra dependencies on some GNOME packages, that any GNOME user will have
installed by default (or something of the sort).
> [bas@matilda] /scratch/ kevin> meld test/mn_fit_v5_03 mn-fit-5.03 meld/gnomeglade .py:145: GtkWarning: Unable to locate theme engine in module_path: "raleigh",
> /usr/lib/
> image = gtk.Image()
This seems to be a problem related to the lack of the package pixmap" that contains the file gtk/themes/ engines/ libraleigh. la"
"gtk-engines-
"/usr/lib/
Maybe meld should declare a "Suggests" or "Recommends" on this package, but
I think this part is can be safely declared unrelated to the crashing bug.
> /usr/lib/ meld/gnomeglade .py:46: GtkWarning: file gtklabel.c: line 2792 (gtk_label_ set_use_ underline) : assertion `GTK_IS_LABEL (label)' failed textdomain( ) ) meld/gnomeglade .py:46: GtkWarning: gtkwidget.c:3076: widget `GtkToolButton' has no activatable signal "clicked" without arguments textdomain( ) )
> self.xml = gtk.glade.XML(file, root, gettext.
> /usr/lib/
> self.xml = gtk.glade.XML(file, root, gettext.
> (meld:1619): GLib-GObject- WARNING **: gsignal.c:1657: signal `pressed' is invalid for instance `0x8393338'
I don't get any of these. All of these warnings seem to be related to GTK
issues. Maybe I don't get them because I have a different libgtk2.0-0
version (2.4.14-2).
> /usr/lib/ meld/dirdiff. py:278: DeprecationWarning: name_filter, i )
> _("Hide %s") % f.label, "", icon, self._update_
I do get this one, but it's just a warning.
> /usr/lib/ meld/dirdiff. py:278: GtkWarning: mixing deprecated and non-deprecated GtkToolbar API is not allowed name_filter, i )
> _("Hide %s") % f.label, "", icon, self._update_
I don't get this, and I think it might be symptomatic of what's going on.
> Traceback (most recent call last): meld/meldapp. py", line 911, in main diff(args) meld/meldapp. py", line 798, in append_diff dirdiff( paths) meld/meldapp. py", line 770, in append_dirdiff DirDiff( self.prefs, len(dirs)) meld/dirdiff. py", line 242, in __init__ name_filters( ) meld/dirdiff. py", line 279, in create_name_filters set_active( f.active)
> File "/usr/bin/meld", line 88, in ?
> meldapp.main()
> File "/usr/lib/
> app.append_
> File "/usr/lib/
> self.append_
> File "/usr/lib/
> doc = dirdiff.
> File "/usr/lib/
> self.create_
> File "/usr/lib/
> toggle.
> AttributeError: 'NoneType' object has no attribute 'set_active'
Even if I can't reproduce the bug, from the traceback, we can have a look
at the code and guess where the bug is:
for i,f in misc.enumerate( self.name_ filters_ available) :
icon. set_from_ stock(gtk. STOCK_FIND, gtk.ICON_ SIZE_LARGE_ TOOLBAR)
icon. show() append_ element( gtk.TOOLBAR_ CHILD_TOGGLEBUT TON, None, f.label,
_("Hide %s") % f.label, "", icon, self._update_ name_filter, i )
toggle. set_active( f.active)
icon = gtk.Image()
toggle = self.toolbar.
So, what the python error is saying is that "toggle" is of the type append_ element( gtk.TOOLBAR_ CHILD_TOGGLEBUT TON, None, f.label, name_filter, i )"
"NoneType". I don't pretend to by a python expert, but to me this is
saying that the call to
"self.toolbar.
_("Hide %s") % f.label, "", icon, self._update_
is not returning the expected toggle object.
Reading the helpfile in devhelp, it says "gtk_toolbar_ append_ element is
deprecated and should not be used in newly-written code.", so, the
deprecated part of the code is the call to the function itself.
I really fail to see which is the non-deprecated part of the function
called (I've been reading the gtktoolbar.c source code, with no luck). But
yet, since gtktoolbar is part of libgtk, I think it might be a versioning
problem.
The dependency tree is:
meld depends on python-gtk2, which depends on python2.3-gtk2 which depends
on " libgtk2.0-0 (>= 2.4.4) ". libgtk2.0-0 is presently at 2.4.14, I'm
guessing that Bas might have a version that is in the middle of the two,
and that for some reason has this "non-deprecated vs deprecated" issue.
So, Bas, please tell us your libgtk2.0-0 version, and then see if upgrading
it to a new version fixes this problem.
(Sorry for being this verbose).
--
Bezos, (o.
Marga. (/)_