Re: GLib critical message



The attached file contains a backtrace from gdb, that I saved after a
short investigation in connection with the message
http://mail.gnome.org/archives/gtkmm-list/2011-April/msg00078.html

An excerpt from the backtrace:
  g_type_add_interface_static
  Glib::Interface_Class::add_interface
  Glib::Interface::Interface
  Gtk::CellEditable::CellEditable

The GtkCellEditable interface installs the editing-canceled attribute
with g_object_interface_install_property(). Every class that implements
the interface must register the attribute with
g_object_class_override_property() before g_type_add_interface_static()
is called. How can a custom object do that?

This is no problem when a C++ class wraps a GTK+ C class which
implements the GtkCellEditable interface. Then the C class makes all
necessary registrations.

/Kjell

(gdb) break g_log
Breakpoint 1 at 0xec8547: file /build/buildd/glib2.0-2.26.1/glib/gmessages.h, line 97.
(gdb) run
Starting program: /home/kjell/C_Cpp/gtkmm-list/CellEditable/example 
[Thread debugging using libthread_db enabled]

Breakpoint 1, g_log (log_domain=0xe624ac "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, 
    format=0xe642f0 "Object class %s doesn't implement property '%s' from interface '%s'")
    at /build/buildd/glib2.0-2.26.1/glib/gmessages.h:97
97	/build/buildd/glib2.0-2.26.1/glib/gmessages.h: Filen eller katalogen finns inte.
	in /build/buildd/glib2.0-2.26.1/glib/gmessages.h
(gdb) bt
#0  g_log (log_domain=0xe624ac "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, 
    format=0xe642f0 "Object class %s doesn't implement property '%s' from interface '%s'")
    at /build/buildd/glib2.0-2.26.1/glib/gmessages.h:97
#1  0x00e3bef6 in object_interface_check_properties (func_data=0x0, g_iface=0x80d4338)
    at /build/buildd/glib2.0-2.26.1/gobject/gobject.c:1252
#2  0x00e57173 in type_iface_vtable_iface_init_Wm (iface=<value optimized out>, node=<value optimized out>)
    at /build/buildd/glib2.0-2.26.1/gobject/gtype.c:2052
#3  0x00e590fc in type_add_interface_Wm (node=0x80d3e98, iface=<value optimized out>, info=0xbffff254, plugin=0x0)
    at /build/buildd/glib2.0-2.26.1/gobject/gtype.c:1465
#4  0x00e59567 in g_type_add_interface_static (instance_type=135085720, interface_type=135000888, info=0xbffff254)
    at /build/buildd/glib2.0-2.26.1/gobject/gtype.c:2816
#5  0x00a0fa51 in Glib::Interface_Class::add_interface(unsigned long) const () from /usr/lib/libglibmm-2.4.so.1
#6  0x00a0fc26 in Glib::Interface::Interface(Glib::Interface_Class const&) () from /usr/lib/libglibmm-2.4.so.1
#7  0x002c18f1 in Gtk::CellEditable::CellEditable() () from /usr/lib/libgtkmm-2.4.so.1
#8  0x0804be5f in MyCellEditable::MyCellEditable() ()
#9  0x0804b85d in main ()
(gdb) cont
Continuing.

(example:2148): GLib-GObject-CRITICAL **: Object class gtkmm__CustomObject_mycelleditable doesn't implement property 'editing-canceled' from interface 'GtkCellEditable'

Program exited normally.
(gdb) 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]