summaryrefslogtreecommitdiff
path: root/xgbgen/request_reply.go
diff options
context:
space:
mode:
authorAlessandro Arzilli <[email protected]>2022-10-29 21:44:00 +0200
committerMilan Nikolic <[email protected]>2022-10-29 21:44:00 +0200
commit54fbc6f8722629e1bd14c432e9e17499d2925ac7 (patch)
tree325e5c0a0747963e2b9804ee03a577b594731c3f /xgbgen/request_reply.go
parent7effddcf465f2b8e142c828c90951614922d9b32 (diff)
Changed xgbgen to support xcb-proto >= 1.12
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())
}