diff options
author | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2006-06-25 16:18:13 +0000 |
---|---|---|
committer | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2006-06-25 16:18:13 +0000 |
commit | 531d059ea0065d934c60ffc92c787c9d82d020b2 (patch) | |
tree | ac5e0acb70f654b62d282c5457c794a33b57db18 /codegen | |
parent | d6fb79e6834eb8518c0f6885711b604fe927e324 (diff) | |
download | pygtk-531d059ea0065d934c60ffc92c787c9d82d020b2.tar.gz |
Use IntArg to handle enums and flags with no typecode. This is to avoid
* codegen/argtypes.py (ArgMatcher.register_enum,
(ArgMatcher.register_flag): Use IntArg to handle enums and flags
with no typecode. This is to avoid the compiler warning
"dereferencing type-punned pointer will break strict-aliasing
rules" when converting enums or flags with no typecode.
Diffstat (limited to 'codegen')
-rw-r--r-- | codegen/argtypes.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/codegen/argtypes.py b/codegen/argtypes.py index 04d10201..1e32c2ac 100644 --- a/codegen/argtypes.py +++ b/codegen/argtypes.py @@ -828,12 +828,14 @@ class ArgMatcher: def register_enum(self, ptype, typecode): if typecode is None: - typecode = "G_TYPE_NONE" - self.register(ptype, EnumArg(ptype, typecode)) + self.register(ptype, IntArg()) + else: + self.register(ptype, EnumArg(ptype, typecode)) def register_flag(self, ptype, typecode): if typecode is None: - typecode = "G_TYPE_NONE" - self.register(ptype, FlagsArg(ptype, typecode)) + self.register(ptype, IntArg()) + else: + self.register(ptype, FlagsArg(ptype, typecode)) def register_object(self, ptype, parent, typecode): oa = ObjectArg(ptype, parent, typecode) self.register(ptype, oa) # in case I forget the * in the .defs |