summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon McVittie <simon.mcvittie@collabora.co.uk>2010-03-08 13:42:20 +0000
committerSimon McVittie <simon.mcvittie@collabora.co.uk>2010-03-09 20:34:54 +0000
commit36c1cd7ac14f014a3e19fae3d3b7a27ebae1ed31 (patch)
treee249ba0fc91ec0df31af6b80bc8e29950dff16bc /tools
parent947d56e5255c443be29096d2d2e327dd9ea5f620 (diff)
tools/manager-file.py: add support for CMs that don't use the offset field in the TpCMParamSpec struct
Diffstat (limited to 'tools')
-rw-r--r--tools/manager-file.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/tools/manager-file.py b/tools/manager-file.py
index eb15cdb8..45f64040 100644
--- a/tools/manager-file.py
+++ b/tools/manager-file.py
@@ -141,16 +141,20 @@ def write_c_params(f, manager, proto, struct, params):
else:
flags = '0'
+ if struct is None or struct_field is None:
+ struct_offset = '0'
+ else:
+ struct_offset = 'G_STRUCT_OFFSET (%s, %s)' % (struct, struct_field)
+
print >> f, (''' { %s, %s, %s,
%s,
%s, /* default */
- G_STRUCT_OFFSET (%s, %s),
+ %s, /* struct offset */
%s, /* filter */
%s, /* filter data */
%s /* setter data */ },''' %
(c_string(param), c_string(dtype), gtypes[dtype], flags,
- default, struct, struct_field, filter, filter_data,
- setter_data))
+ default, struct_offset, filter, filter_data, setter_data))
print >> f, " { NULL }"
print >> f, "};"