summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2010-09-15 16:45:48 -0400
committerColin Walters <walters@verbum.org>2010-09-15 16:49:16 -0400
commit2b9df1ded8f4af871e6e6b7b7306230f1c33a51e (patch)
tree30115b6f16344f77379838c345885a084986ca35
parente8221c2b4711b43d6cba985139eb417ca1fab151 (diff)
scanner: Add temporary workaround for GStreamer
Also document/bug link the other workarounds; just made up a convention for ## WORKAROUND ## See: https://bugzilla.gnome.org/show_bug.cgi?id=550616
-rw-r--r--giscanner/gdumpparser.py2
-rw-r--r--giscanner/maintransformer.py2
-rw-r--r--giscanner/transformer.py4
3 files changed, 8 insertions, 0 deletions
diff --git a/giscanner/gdumpparser.py b/giscanner/gdumpparser.py
index d23e93f..42bf004 100644
--- a/giscanner/gdumpparser.py
+++ b/giscanner/gdumpparser.py
@@ -350,6 +350,8 @@ different --identifier-prefix.""" % (xmlnode.attrib['name'], self._namespace.ide
else:
self._namespace.append(node, replace=True)
+ ## WORKAROUND ##
+ # https://bugzilla.gnome.org/show_bug.cgi?id=550616
def _introspect_boxed_gstreamer_workaround(self, xmlnode):
node = ast.Boxed('ParamSpecMiniObject', gtype_name='GParamSpecMiniObject',
get_type='gst_param_spec_mini_object_get_type',
diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py
index 550023f..130d449 100644
--- a/giscanner/maintransformer.py
+++ b/giscanner/maintransformer.py
@@ -46,8 +46,10 @@ class MainTransformer(object):
# Public API
def transform(self):
+ ## WORKAROUND ##
# Dirty hack for now...maybe eventually we'll support the "typedef GSList FooSet"
# pattern.
+ # https://bugzilla.gnome.org/show_bug.cgi?id=629682
if self._namespace.name == 'Atk':
attribute = self._namespace.get('Attribute')
attributeset = self._namespace.get('AttributeSet')
diff --git a/giscanner/transformer.py b/giscanner/transformer.py
index 02942c8..be34ff5 100644
--- a/giscanner/transformer.py
+++ b/giscanner/transformer.py
@@ -80,6 +80,10 @@ class Transformer(object):
def parse(self, symbols):
for symbol in symbols:
+ ## WORKAROUND ##
+ # https://bugzilla.gnome.org/show_bug.cgi?id=550616
+ if symbol.ident in ['gst_g_error_get_type']:
+ continue
node = self._traverse_one(symbol)
if node:
self._append_new_node(node)