summaryrefslogtreecommitdiff
path: root/xgbgen/request_reply.go
diff options
context:
space:
mode:
authorjEzEk <[email protected]>2022-11-05 21:22:59 +0100
committerGitHub <[email protected]>2022-11-05 21:22:59 +0100
commita57abb570aeba12f867c58afe22ce49ac5db4872 (patch)
tree41f7f8fdc1ec903272515c18a0751041702da69e /xgbgen/request_reply.go
parent7effddcf465f2b8e142c828c90951614922d9b32 (diff)
parentba0b8dd42f220cde96737bbd61d87f1bc136824e (diff)
Merge pull request #10 from gen2brain/masterv1.1.0
Support for xcb-proto version 1.15.2, #issue 9
Diffstat (limited to 'xgbgen/request_reply.go')
-rw-r--r--xgbgen/request_reply.go12
1 files changed, 5 insertions, 7 deletions
diff --git a/xgbgen/request_reply.go b/xgbgen/request_reply.go
index ae4eccb..5032e31 100644
--- a/xgbgen/request_reply.go
+++ b/xgbgen/request_reply.go
@@ -105,17 +105,15 @@ func (r *Request) Size(c *Context) Size {
}
for _, field := range r.Fields {
- switch field.(type) {
+ switch field := field.(type) {
case *LocalField: // local fields don't go over the wire
continue
case *SingleField:
- // mofos!!!
- if r.SrcName() == "ConfigureWindow" &&
- field.SrcName() == "ValueMask" {
-
- continue
+ fsz := field.Size()
+ if _, isstruct := field.Type.(*Struct); isstruct {
+ fsz.Expression = fsz.Expression.Specialize(field.SrcName())
}
- size = size.Add(field.Size())
+ size = size.Add(fsz)
default:
size = size.Add(field.Size())
}