[Xcb-commit] libxcb: src

Christian Linhart clinhart at kemper.freedesktop.org
Sun Jan 31 22:59:11 PST 2016


 src/c_client.py |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

New commits:
commit b3516102b4469df99db39e0e354deae496867f35
Author: Christian Linhart <chris at demorecorder.com>
Date:   Mon Jan 18 06:56:39 2016 +0100

    do not serialize pads by default anymore
    
    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>

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
@@ -2107,7 +2107,8 @@ def _c_complex(self, force_packed = False):
             (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)
 


More information about the xcb-commit mailing list