diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/glapi/glX_XML.py | 9 | ||||
-rw-r--r-- | src/mesa/glapi/gl_XML.py | 17 |
2 files changed, 12 insertions, 14 deletions
diff --git a/src/mesa/glapi/glX_XML.py b/src/mesa/glapi/glX_XML.py index 8efc90ca56a..4c9da6e304d 100644 --- a/src/mesa/glapi/glX_XML.py +++ b/src/mesa/glapi/glX_XML.py @@ -244,17 +244,12 @@ class glXEnum(gl_XML.glEnum): def startElement(self, name, attrs): if name == "size": - n = attrs.get('name', None) + [n, c] = self.process_attributes(attrs) + if not self.context.glx_enum_functions.has_key( n ): f = glXEnumFunction( n ) self.context.glx_enum_functions[ f.name ] = f - temp = attrs.get('count', None) - try: - c = int(temp) - except Exception,e: - raise RuntimeError('Invalid count value "%s" for enum "%s" in function "%s" when an integer was expected.' % (temp, self.name, n)) - self.context.glx_enum_functions[ n ].append( c, self.value, self.name ) else: gl_XML.glEnum.startElement(self, context, name, attrs) diff --git a/src/mesa/glapi/gl_XML.py b/src/mesa/glapi/gl_XML.py index 538756ea0c2..bc7d27befe3 100644 --- a/src/mesa/glapi/gl_XML.py +++ b/src/mesa/glapi/gl_XML.py @@ -86,18 +86,21 @@ class glEnum( glItem ): def __init__(self, context, name, attrs): self.value = int(attrs.get('value', "0x0000"), 0) - self.functions = {} enum_name = "GL_" + attrs.get('name', None) glItem.__init__(self, name, enum_name, context) - def startElement(self, name, attrs): - if name == "size": - name = attrs.get('name', None) - count = int(attrs.get('count', "0"), 0) - self.functions[name] = count - return + def process_attributes(self, attrs): + name = attrs.get('name', None) + + temp = attrs.get('count', None) + try: + c = int(temp) + except Exception,e: + raise RuntimeError('Invalid count value "%s" for enum "%s" in function "%s" when an integer was expected.' % (temp, self.name, n)) + + return [name, c] class glType( glItem ): |