And to answer your question:

The documentation for gtk_image_get_pixbuf() states:

The caller of this function does not own a reference to the returned pixbuf.

I.e., you cannot free a resource that's not yours, so the request fails.
The error message is unfortunate, it's not terribly accurate.

The code rewrite suggestion is the way to go.

richard

On 7/5/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


 Hi all:
    I'm using the Gtkimage and GdkPixbuf to show picture and each time I
run the program I get the following error:
**
*GLib-Gobject-CRITICAL ** : g_object_unref : assertion
`G_IS_OBJECT(object)` failed*

I'm running GTK 2.6.4 and Glib 2.6.4 on a Debian woody.Here is the code
which reproduces the problem:

#include <gtk/gtk.h>

int main( int argc,
  char *argv[] )
{
  GtkWidget *window;
  GtkWidget *image;
  GdkPixbuf *pix1;
  GdkPixbuf *pix2;

  gtk_init(&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  image = gtk_image_new_from_file ("1.png");

  gtk_container_set_border_width (GTK_CONTAINER (window), 10);
  gtk_container_add (GTK_CONTAINER (window), image);

  pix1=gtk_image_get_pixbuf(GTK_IMAGE(image));
  pix2=gdk_pixbuf_scale_simple(pix1,320,160,GDK_INTERP_BILINEAR);
  gtk_image_set_from_pixbuf(GTK_IMAGE(image),pix2);
  g_object_unref(pix1);
  g_object_unref(pix2);

  gtk_widget_show (image);
  gtk_widget_show (window);

  gtk_main ();

  return(0);
}

I have no idea how to resolve the problem.Any help will be most
appreciated.Thanks.




------------------------------
百 万 玩 家 同 玩 的 乐 园,人 气 爆 发 的 梦 幻 西 游 
<http://event.mail.163.com/chanel/xyq.htm?from=126_NO5>
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list


_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to