mirror of
https://gitlab.freedesktop.org/xorg/proto/xcbproto.git
synced 2026-05-05 00:38:08 +02:00
Track pad count at the module level
If the pad count is reset for each bitcase, the names will collide in the encompasing switch struct. Reviewed-By: Ran Benita <ran234@gmail.com> Signed-off-by: Peter Harris <pharris@opentext.com>
This commit is contained in:
parent
0d8f09b646
commit
a05a510635
2 changed files with 5 additions and 4 deletions
|
|
@ -93,6 +93,7 @@ class Module(object):
|
|||
# Recursively resolve all types
|
||||
def resolve(self):
|
||||
for (name, item) in self.all:
|
||||
self.pads = 0
|
||||
item.resolve(self)
|
||||
|
||||
# Call all the output methods
|
||||
|
|
|
|||
|
|
@ -296,16 +296,15 @@ class ComplexType(Type):
|
|||
def resolve(self, module):
|
||||
if self.resolved:
|
||||
return
|
||||
pads = 0
|
||||
enum = None
|
||||
|
||||
# Resolve all of our field datatypes.
|
||||
for child in list(self.elt):
|
||||
if child.tag == 'pad':
|
||||
field_name = 'pad' + str(pads)
|
||||
field_name = 'pad' + str(module.pads)
|
||||
fkey = 'CARD8'
|
||||
type = PadType(child)
|
||||
pads = pads + 1
|
||||
module.pads = module.pads + 1
|
||||
visible = False
|
||||
elif child.tag == 'field':
|
||||
field_name = child.get('name')
|
||||
|
|
@ -397,7 +396,6 @@ class SwitchType(ComplexType):
|
|||
def resolve(self, module):
|
||||
if self.resolved:
|
||||
return
|
||||
# pads = 0
|
||||
|
||||
parents = list(self.parents) + [self]
|
||||
|
||||
|
|
@ -560,6 +558,8 @@ class Reply(ComplexType):
|
|||
def resolve(self, module):
|
||||
if self.resolved:
|
||||
return
|
||||
# Reset pads count
|
||||
module.pads = 0
|
||||
# Add the automatic protocol fields
|
||||
self.fields.append(Field(tcard8, tcard8.name, 'response_type', False, True, True))
|
||||
self.fields.append(_placeholder_byte)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue