mirror of
https://gitlab.freedesktop.org/xorg/proto/xcbproto.git
synced 2026-05-08 04:18:06 +02:00
Parse a field's "enum=" correctly
In xv.xml, there is something like this:
<struct name="ImageFormatInfo">
[...]
<field type="CARD8" name="byte_order" enum="ImageOrder" />
<pad bytes="2" />
<list type="CARD8" name="guid">
<value>16</value>
</list>
[...]
</struct>
When parsing this, the Field instance for "guid" ended up with .enum ==
"ImageOrder". This is because the loop that parses complex type did not
unset a variable across iterations, meaning that the last "enum"
property "stuck" and was also used for all following fields.
Fix this by simply moving the initialisation of the "enum" variable
inside of the loop.
Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
parent
73d84bf39b
commit
2b3559c10c
1 changed files with 1 additions and 1 deletions
|
|
@ -528,10 +528,10 @@ class ComplexType(Type):
|
|||
def resolve(self, module):
|
||||
if self.resolved:
|
||||
return
|
||||
enum = None
|
||||
|
||||
# Resolve all of our field datatypes.
|
||||
for child in list(self.elt):
|
||||
enum = None
|
||||
if child.tag == 'pad':
|
||||
field_name = 'pad' + str(module.pads)
|
||||
fkey = 'CARD8'
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue