This is my function that, given an object and a field, sets an array into this field with the giveen array
static void createFillAndSetIntArrayField(JNIEnv *env, jobject *javaInstance, jfieldID* field, int *array, int arrayLength)
    {
        jintArray intJavaArray = env->NewIntArray(arrayLength);
        env->SetIntArrayRegion(intJavaArray, 0, arrayLength, array);
        env->SetObjectField(*javaInstance, *field, intJavaArray);
    }
and I'm calling like this
JniUtils::createFillAndSetIntArrayField(env, &pixelFormatInstance, &yuvInternalFormat, pixelFormat_->yuvInternalFormat, 3);
But in Java I get an array of all 0s
I'm sure that pixelFormatInstance exists. What am I possibly doing wrong?
UPDATE:
Following the suggestions:
static void createFillAndSetIntArrayField(JNIEnv *env, jobject *javaInstance, jfieldID *field, int *array, int arrayLength)
    {
        jintArray intJavaArray = env->NewIntArray(arrayLength);
        jint fill[arrayLength];
        for (int i = 0; i < arrayLength; i++)
        {
            fill[i] = array[i];
        }
        env->SetIntArrayRegion(intJavaArray, 0, arrayLength, fill);
        env->SetObjectField(*javaInstance, *field, intJavaArray);
    }
But I'm still getting 0
