Package: libglibmm-2.4-1
Version: 2.4.6-1

Multiple inheritance of the form of "The Diamond of Death" causes an
assertion failure in Glib::Object::Object().

Test code attached.

Compile with:
g++ test.cc -o test `pkg-config glibmm-2.4 --cflags --libs`

Run with:
./test

And see:

glibmm-ERROR **: file objectbase.cc: line 77 (void 
Glib::ObjectBase::initialize(GObject*)): assertion failed: (gobject_ == 
castitem)
aborting...
Aborted
-- 
Sam "Eddie" Couter  |  mailto:[EMAIL PROTECTED]
Debian Developer    |  mailto:[EMAIL PROTECTED]
                    |  jabber:[EMAIL PROTECTED]
OpenPGP fingerprint:  A46B 9BB5 3148 7BEA 1F05  5BD5 8530 03AE DE89 C75C
#include <glibmm/object.h>
#include <glibmm/init.h>

class A : public Glib::Object
{
public:
	A(void){};
};

class B : public Glib::Object
{
public:
	B(void){};
};

class C : public A, public B
{
public:
	C(void){};
};


int main(int argc, char *argv)
{
	Glib::init();

	C *c = new C;
}

Attachment: signature.asc
Description: Digital signature

Reply via email to