[Xcb] [PATCH libxcb 1/1] do not serialize pads by default anymore
Christian Linhart
chris at demorecorder.com
Sun Jan 17 21:56:39 PST 2016
Pads should not be serialized/deserialized to maintain
ABI compatibility when adding explicit align pads.
Therefore this pad switches off serialization of pads
unless it is enforced by serialize=true in the xml-definition
of that pad
Signed-off-by: Christian Linhart <chris at demorecorder.com>
---
src/c_client.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/c_client.py b/src/c_client.py
index 3230a6f..57de3fb 100644
--- a/src/c_client.py
+++ b/src/c_client.py
@@ -2103,15 +2103,16 @@ def _c_complex(self, force_packed = False):
def _c_complex_field(self, field, space=''):
if (field.type.fixed_size() or self.is_union or
# in case of switch with switch children, don't make the field a pointer
# necessary for unserialize to work
(self.is_switch and field.type.is_switch)):
spacing = ' ' * (maxtypelen - len(field.c_field_type))
_h('%s %s%s %s%s;', space, field.c_field_type, spacing, field.c_field_name, field.c_subscript)
- else:
+ elif (not field.type.is_pad) or field.type.serialize:
+ # serialize everything except pads (unless serialization of pads is enforced by serialize=true)
spacing = ' ' * (maxtypelen - (len(field.c_field_type) + 1))
_h('%s %s%s *%s%s;', space, field.c_field_type, spacing, field.c_field_name, field.c_subscript)
if not self.is_switch:
for field in struct_fields:
_c_complex_field(self, field)
else:
--
2.1.4
More information about the Xcb
mailing list