diff --git a/arkoala/framework/native/src/generated/bridge_custom.cc b/arkoala/framework/native/src/generated/bridge_custom.cc index 0988250910987d69047249ac0a8c44d9481c568c..47810af0e13d869741b16c77eae930cdf5440764 100644 --- a/arkoala/framework/native/src/generated/bridge_custom.cc +++ b/arkoala/framework/native/src/generated/bridge_custom.cc @@ -466,6 +466,7 @@ KVMObjectHandle impl_LoadUserView(KVMContext vm, const KStringPtr& viewClass, co if (className == "ViewLoaderApp") className = "Page.App"; if (className == "Page.ViewShoppingApp") className = "@koalaui.shopping.build.unmemoized.src.Page.ViewShoppingApp"; if (className == "Page.ViewTrivialApp") className = "@koalaui.user.build.unmemoized.src.Page.ViewTrivialApp"; + if (className == "Page.ViewNavigationApp") className = "@koalaui.user.build.unmemoized.src.Page.ViewNavigationApp"; std::replace(className.begin(), className.end(), '.', '/'); ets_class viewClassClass = env->FindClass(className.c_str()); if (!viewClassClass) { diff --git a/interop/src/cpp/ets/convertors-ets.h b/interop/src/cpp/ets/convertors-ets.h index cad13346c6f68a7f7c8326a417929843b43c42d1..c247eaf8475b4007687eefcfc15c2728f48ce389 100644 --- a/interop/src/cpp/ets/convertors-ets.h +++ b/interop/src/cpp/ets/convertors-ets.h @@ -124,12 +124,11 @@ template<> struct InteropTypeConverter { using InteropType = ets_object; static KLength convertFrom(EtsEnv* env, InteropType value) { - // TODO: add [static], - // see: https://rnd-gitlab-msc.huawei.com/rus-os-team/virtual-machines-and-tools/panda/-/issues/22142 - const ets_class double_class = env->FindClass("std/core/Double"); - const ets_class int_class = env->FindClass("std/core/Int"); - const ets_class string_class = env->FindClass("std/core/String"); - const ets_class resource_class = env->FindClass("@koalaui/arkts-arkui/generated/ArkResourceInterfaces/Resource"); + const static ets_class double_class = reinterpret_cast(env->NewGlobalRef(env->FindClass("std/core/Double"))); + const static ets_class int_class = reinterpret_cast(env->NewGlobalRef(env->FindClass("std/core/Int"))); + const static ets_class string_class = reinterpret_cast(env->NewGlobalRef(env->FindClass("std/core/String"))); + const static ets_class resource_class = reinterpret_cast( + env->NewGlobalRef(env->FindClass("@koalaui/arkts-arkui/generated/ArkResourceInterfaces/Resource"))); if (env->IsInstanceOf(value, double_class)) { const static ets_method double_p = env->Getp_method(double_class, "unboxed", ":D");