diff options
author | Simon Feltman <sfeltman@src.gnome.org> | 2013-08-15 19:23:18 -0700 |
---|---|---|
committer | Simon Feltman <sfeltman@src.gnome.org> | 2013-11-12 04:05:59 -0800 |
commit | 2f2069c9efcd8f312ce9ffa572df371fbc08822d (patch) | |
tree | fadf5cf751d1d789f3f44abc617fa773b1d62e3c /gi/overrides | |
parent | 86a37d67455dc5d435ade35f17b27c5de2b288f5 (diff) | |
download | pygobject-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.py | 3 | ||||
-rw-r--r-- | gi/overrides/Gdk.py | 15 | ||||
-rw-r--r-- | gi/overrides/Gtk.py | 11 | ||||
-rw-r--r-- | gi/overrides/Pango.py | 5 |
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) |