diff --git a/src/corelib/kernel/qjniarray.h b/src/corelib/kernel/qjniarray.h index a7dc03694d2..72ccfe3b401 100644 --- a/src/corelib/kernel/qjniarray.h +++ b/src/corelib/kernel/qjniarray.h @@ -631,6 +631,7 @@ auto QJniArrayBase::makeObjectArray(List &&list) // explicitly manage the frame for local references in chunks of 100 QJniObject::LocalFrame frame(env); + frame.hasFrame = true; constexpr jint frameCapacity = 100; qsizetype i = 0; for (const auto &element : std::as_const(list)) { @@ -646,6 +647,7 @@ auto QJniArrayBase::makeObjectArray(List &&list) } if (i) env->PopLocalFrame(nullptr); + frame.hasFrame = false; return ResultType(QJniObject::fromLocalRef(localArray)); }