TypeError: metaclass conflict when using panel

Bug #910400 reported by Curtis Hovey
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Gedit Developer Plugins
Fix Released
High
Curtis Hovey

Bug Description

pygobject reports TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases. Gedit crashes.

The error is commonly thrown when interacting with the panel, but there is no specific way to reproduce this. It happens a few times a week. This is caused when a class is composed of two or more other classes, each with a different metaclass. pygobjects from gi.repository may use gobject.GObjectMeta, gdp use type.

One solution is to create a new metaclass, see section 23.33 at http://faq.pygtk.org/index.py?req=all

A simpler solution is to remove __metaclass__ = type from the gdp classes and subclass object in the few cases that do not subclass.

Tags: gtk
Curtis Hovey (sinzui)
Changed in gdp:
status: In Progress → Fix Committed
Curtis Hovey (sinzui)
Changed in gdp:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.