[PySide] Cannot pass enum by value
John Cummings
jcummings2 at users.sf.net
Wed May 30 18:33:54 CEST 2012
I uncovered a bug with the latest Shiboken when passing an enum by reference.
Like Nathan, I have a bug report ready to go when the system comes back up.
In previous versions, you could pass an enum by reference to a method like so:
class Val
{
enum ValEnum { One, Other };
ValEnum oneOrTheOtherEnumValue(ValEnum& enumValue) { return enumValue == One ?
Other : One; }
}
You get compilation errors with version 1.1.1 and with HEAD. The generated code
is trying to use a pointer instead of reference. Previous version of Shiboken
worked just fine (specifically, 1.0.7 worked, I'm not sure about other versions
until 1.1.1).
Unlike Nathan, I don't have a patch ready. The workaround is obviously to pass
an enum by value not by reference (which is admittedly a bit overkill anyway).
If someone knows of a better solution, I'm willing to try it.
John Cummings
More information about the PySide
mailing list