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 136205 - GdkPixbuf.fill passed arg changed type originating crash
GdkPixbuf.fill passed arg changed type originating crash
Status: RESOLVED DUPLICATE of bug 121611
Product: pygobject
Classification: Bindings
Component: codegen
unspecified
Other Linux
: Immediate blocker
: ---
Assigned To: Nobody's working on this now (help wanted and appreciated)
Python bindings maintainers
Depends on:
Blocks:
 
 
Reported: 2004-03-04 19:18 UTC by Iñigo Serna
Modified: 2008-07-16 10:12 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Iñigo Serna 2004-03-04 19:18:49 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):
  • File "/usr/share/gdesklets/factory/DisplayFactory.py", line 83 in create_display
    self.__display.add_children(self.__children_stack.pop())
  • File "/usr/share/gdesklets/display/Display.py", line 120 in add_children
    self.__group.add_children(childrendata)
  • File "/usr/share/gdesklets/display/TargetGroup.py", line 68 in add_children
    self._init_children()
  • File "/usr/share/gdesklets/display/ContainerTarget.py", line 73 in _init_children
    child.set_config(key, value)
  • File "/usr/share/gdesklets/display/TargetGroup.py", line 120 in set_config
    self.__set_color(value)
  • File "/usr/share/gdesklets/display/TargetGroup.py", line 89 in __set_color
    self.__image.set_from_color(color)
  • File "/usr/share/gdesklets/utils/TilingImage.py", line 47 in set_from_color
    self.__pixbuf.fill(fillcolor)
TypeError: GdkPixbuf.fill() argument 1 must be long, not int
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
Comment 1 Johan (not receiving bugmail) Dahlin 2004-03-05 15:55:29 UTC

*** This bug has been marked as a duplicate of 121611 ***
Comment 2 Christian Reis (not reading bugmail) 2004-03-05 16:09:27 UTC
Yeah, regression from bug 121611.
Comment 3 Johan (not receiving bugmail) Dahlin 2004-03-05 16:21:54 UTC
New code in CVS, if it's still a problem, please reopen
Comment 4 John Ehresman 2004-03-08 05:53:47 UTC
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?).