185c3b080c
Now that QtJniTypes::Objects are no longer primitive types that are the same as a jobject, using those types in registered native functions breaks. JNI will call those function with a jobject on the function pointer, and lacking any type safety, the call to the registered function will proceed with a wrong type of object on the stack. To fix that, register the native function via a proxy that is a variadic argument function, and unpack the variadic arguments into a list of typed arguments, using the types we know the user-code function wants. Then call the function with a tuple of those types using std::apply, which gives us type safety and implicit conversion for free. Add a test that exercises this. Change-Id: I9f980e55d3d13f8fc16c410dc0d17dbdc200cb47 Reviewed-by: Juha Vuolle <juha.vuolle@qt.io> |
||
---|---|---|
.. | ||
animation | ||
global | ||
io | ||
ipc | ||
itemmodels | ||
kernel | ||
mimetypes | ||
platform | ||
plugin | ||
serialization | ||
text | ||
thread | ||
time | ||
tools | ||
CMakeLists.txt |