From 5ff2b94630e89da1586628f14eb869b513071154 Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Mon, 24 Jan 2005 21:29:13 +0000 Subject: [PATCH] Remove glEnum::startElement, but refactor out some of the common code from there and glXEnum::startElement to glEnum::process_attributes. --- src/mesa/glapi/glX_XML.py | 9 ++------- 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 8efc90c..4c9da6e 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 538756e..bc7d27b 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 ): -- 2.7.4