GNOME Bugzilla – Bug 136205
GdkPixbuf.fill passed arg changed type originating crash
Last modified: 2008-07-16 10:12:18 UTC
GdkPixbuf.fill passed argument has changed from "guint" type to "guint32", originating a crash. This has been observed running gdesklets-0.26 ************************************************************************ Traceback (most recent call last):
+ Trace 44818
self.__display.add_children(self.__children_stack.pop())
self.__group.add_children(childrendata)
self._init_children()
child.set_config(key, value)
self.__set_color(value)
self.__image.set_from_color(color)
self.__pixbuf.fill(fillcolor)
Error while configuring display:GdkPixbuf.fill() argument 1 must be long, not int [/home/inigo/.gdesklets/inigo/volume.display] Traceback (most recent call last): File "/usr/bin/gdesklets", line 76, in ? starter.start_displays() File "/usr/share/gdesklets/main/Starter.py", line 250, in start_displays self.__on_watch(None, None) File "/usr/share/gdesklets/main/Starter.py", line 88, in __on_watch self.__add_display(ident, displays[ident]) File "/usr/share/gdesklets/main/Starter.py", line 126, in __add_display win = Window(dsp) File "/usr/share/gdesklets/display/Window.py", line 51, in __init__ GlassWindow.__init__(self, gtk.WINDOW_TOPLEVEL) File "/usr/share/gdesklets/desktop/GlassWindow.py", line 60, in __init__ self.__bg_image.fill(0xffffff) TypeError: GdkPixbuf.fill() argument 1 must be long, not int ************************************************************************ in pygtk-2.0.0 this is the file/line: gtk/gdk.defs +3113 in pygtk-2.2.0RC1 this is the file/line: gtk/gdk.defs +3755
*** This bug has been marked as a duplicate of 121611 ***
Yeah, regression from bug 121611.
New code in CVS, if it's still a problem, please reopen
Is the solution really to force people to use Python long objects? What is really wanted here is a 32 bit long bitmask. If we were only supporting Python 2.3, we could use 'k' or 'I' (depending on sizeof(int) & sizeof(long)) as the ParseTuple format character. We can emulate this under 2.2 and use the code generator to emit the necessary calls. My question is if we want to do this for all guint's, guint32's, or create a new type (g32bitfield?).