summaryrefslogtreecommitdiff
path: root/gi/overrides
diff options
context:
space:
mode:
authorSimon Feltman <sfeltman@src.gnome.org>2013-08-15 19:23:18 -0700
committerSimon Feltman <sfeltman@src.gnome.org>2013-11-12 04:05:59 -0800
commit2f2069c9efcd8f312ce9ffa572df371fbc08822d (patch)
treefadf5cf751d1d789f3f44abc617fa773b1d62e3c /gi/overrides
parent86a37d67455dc5d435ade35f17b27c5de2b288f5 (diff)
downloadpygobject-2f2069c9efcd8f312ce9ffa572df371fbc08822d.tar.gz
Cleanup overzealous new and init implementations
Remove PyGObject initializer code attempting to set properties on GObjects that have already been created. There were a number of overridden __new__ and __init__ methods that stripped away arguments before calling the base class to work around attempted property sets and argument count errors (fixing the symptom not the problem). Use Gtk.ListStore/TreeStore.new with __new__ override instead of __init__ with set_column_types. https://bugzilla.gnome.org/show_bug.cgi?id=705810
Diffstat (limited to 'gi/overrides')
-rw-r--r--gi/overrides/GObject.py3
-rw-r--r--gi/overrides/Gdk.py15
-rw-r--r--gi/overrides/Gtk.py11
-rw-r--r--gi/overrides/Pango.py5
4 files changed, 4 insertions, 30 deletions
diff --git a/gi/overrides/GObject.py b/gi/overrides/GObject.py
index 83f14813..2187ce54 100644
--- a/gi/overrides/GObject.py
+++ b/gi/overrides/GObject.py
@@ -205,9 +205,6 @@ __all__ += ['features', 'list_properties', 'new',
class Value(GObjectModule.Value):
- def __new__(cls, *args, **kwargs):
- return GObjectModule.Value.__new__(cls)
-
def __init__(self, value_type=None, py_value=None):
GObjectModule.Value.__init__(self)
if value_type is not None:
diff --git a/gi/overrides/Gdk.py b/gi/overrides/Gdk.py
index 14edc702..381e7975 100644
--- a/gi/overrides/Gdk.py
+++ b/gi/overrides/Gdk.py
@@ -38,9 +38,6 @@ class Color(Gdk.Color):
self.green = green
self.blue = blue
- def __new__(cls, *args, **kwargs):
- return Gdk.Color.__new__(cls)
-
def __eq__(self, other):
return self.equal(other)
@@ -81,9 +78,6 @@ if Gdk._version == '3.0':
self.blue = blue
self.alpha = alpha
- def __new__(cls, *args, **kwargs):
- return Gdk.RGBA.__new__(cls)
-
def __eq__(self, other):
return self.equal(other)
@@ -124,9 +118,6 @@ if Gdk._version == '2.0':
self.width = width
self.height = height
- def __new__(cls, *args, **kwargs):
- return Gdk.Rectangle.__new__(cls)
-
def __repr__(self):
return '<Gdk.Rectangle(x=%d, y=%d, width=%d, height=%d)>' % (self.x, self.y, self.height, self.width)
@@ -202,9 +193,6 @@ class Event(Gdk.Event):
if Gdk._version == '2.0':
_UNION_MEMBERS[Gdk.EventType.NO_EXPOSE] = 'no_expose'
- def __new__(cls, *args, **kwargs):
- return Gdk.Event.__new__(cls)
-
def __getattr__(self, name):
real_event = getattr(self, '_UNION_MEMBERS').get(self.type)
if real_event:
@@ -316,9 +304,6 @@ class Cursor(Gdk.Cursor):
return _constructor(*args, **kwds)
- def __init__(self, *args, **kwargs):
- Gdk.Cursor.__init__(self)
-
Cursor = override(Cursor)
__all__.append('Cursor')
diff --git a/gi/overrides/Gtk.py b/gi/overrides/Gtk.py
index 58251ded..96802fbe 100644
--- a/gi/overrides/Gtk.py
+++ b/gi/overrides/Gtk.py
@@ -909,9 +909,8 @@ __all__.append('TreeModelSort')
class ListStore(Gtk.ListStore, TreeModel, TreeSortable):
- def __init__(self, *column_types):
- Gtk.ListStore.__init__(self)
- self.set_column_types(column_types)
+ def __new__(self, *column_types):
+ return Gtk.ListStore.new(column_types)
def _do_insert(self, position, row):
if row is not None:
@@ -1158,10 +1157,8 @@ __all__.append('TreePath')
class TreeStore(Gtk.TreeStore, TreeModel, TreeSortable):
-
- def __init__(self, *column_types):
- Gtk.TreeStore.__init__(self)
- self.set_column_types(column_types)
+ def __new__(self, *column_types):
+ return Gtk.TreeStore.new(column_types)
def _do_insert(self, parent, position, row):
if row is not None:
diff --git a/gi/overrides/Pango.py b/gi/overrides/Pango.py
index 15d5edca..74602c47 100644
--- a/gi/overrides/Pango.py
+++ b/gi/overrides/Pango.py
@@ -52,11 +52,6 @@ class Layout(Pango.Layout):
def __new__(cls, context):
return Pango.Layout.new(context)
- def __init__(self, context, **kwds):
- # simply discard 'context', since it was set by
- # __new__ and it is not a PangoLayout property
- super(Layout, self).__init__(**kwds)
-
def set_markup(self, text, length=-1):
super(Layout, self).set_markup(text, length)