return "gpointer";
}
} else if (t.data_type is Enum) {
- return "gint";
+ var en = (Enum) t.data_type;
+ if (en.is_flags) {
+ return "guint";
+ } else {
+ return "gint";
+ }
} else if (t is ArrayType) {
return "gpointer";
} else if (t is DelegateType) {
objects/property-static.vala \
objects/regex.vala \
objects/signals.vala \
+ objects/signals-enum-marshal.vala \
objects/signals-delegate.vala \
objects/signals-delegate-parameter.vala \
objects/signals-lambda-delegate.vala \
--- /dev/null
+enum Foo {
+ FOO
+}
+
+[Flags]
+enum Bar {
+ BAR
+}
+
+class Manam : Object {
+ public signal void foo (Foo f, string s);
+ public signal void bar (Bar b, string s);
+}
+
+void main () {
+ var manam = new Manam ();
+ manam.foo.connect (() => {});
+ manam.foo (Foo.FOO, "foo");
+ manam.bar.connect (() => {});
+ manam.bar (Bar.BAR, "bar");
+}