On Mon, 06 Jun 2005 14:34:59 -0400
Tristan Van Berkom <tvb gnome org> wrote:
img_item = gnome_canvas_item_new(root,
gnome_canvas_pixbuf_get_type(),
"pixbuf", pxb,
"x", 0.0, "y", 0.0,
"width", pxb_w, "height", pxb_h,
NULL);
gdk_pixbuf_unref(pxb);
You could try:
(gdb) watch ((GObject *)pxb)->ref_count
Thanks Tristan.
Apparently, inside gnome_canvas_item_new, the ref_count gets incremented
three times (to 4), and decremented again to 2, which is fine. The unref
decrements again to 1, which is also correct.
The sentence:
gtk_object_destroy(GTK_OBJECT(img_item));
Does not destroy the pxb item - the ref_count is not changed to 0... I
scanned over the gnomecanvas.c code, but I cannot find any code for
unreferencing the pixbuf... But then I'm not a great programmer and not
faniliar with the gnome insides.
Should I report this as a bug?