GNOME Bugzilla – Bug 783897
Nullable ValueType parameters are not considered as pointer for their signal marshaller signature
Last modified: 2017-06-17 20:11:17 UTC
Created attachment 353945 [details] Example file causing the described issue The signal marshaller signature considers nullable value types (Tested with int? and enum?) as their original type but creates code specific for nullables (using ie. gvalue->pointer instead gvalue->int). As two same signatures are collapsed although they would require different code, this can lead to wrongly handling value types as their nullables or vice-versa. This is to some extend related to #758816 and present in 0.36.3 release and current master.
Created attachment 353947 [details] [review] Possible patch and test case.
Nice catch. Interesting that this wasn't caught by the test-case of https://bugzilla.gnome.org/show_bug.cgi?id=758816
Created attachment 353962 [details] [review] codegen: Nullable ValueType requires POINTER as marshaller signature This is missing in https://bugzilla.gnome.org/show_bug.cgi?id=758816
@marvin, Please take a look at this patch and test it.
Attachment 353962 [details] pushed as 4073243 - codegen: Nullable ValueType requires POINTER as marshaller signature