diff --git a/.github/workflows/R-CMD-check-cross.yaml b/.github/workflows/R-CMD-check-cross.yaml index 383ef99..9e706a6 100644 --- a/.github/workflows/R-CMD-check-cross.yaml +++ b/.github/workflows/R-CMD-check-cross.yaml @@ -1,8 +1,8 @@ on: push: branches: [main, master] - pull_request: - branches: [main, master] + #pull_request: + #branches: [main, master] name: R-CMD-check-crossplatform diff --git a/inst/include/quickjsr/JS_Containers.hpp b/inst/include/quickjsr/JS_Containers.hpp index e9866d1..3021650 100644 --- a/inst/include/quickjsr/JS_Containers.hpp +++ b/inst/include/quickjsr/JS_Containers.hpp @@ -22,15 +22,14 @@ struct JS_RtCtxContainer { } }; - using RtCtxXPtr = cpp11::external_pointer; -template struct JS_ValContainer { public: RtCtxXPtr rt_ctx; - JSValT val; + JSValue val; + template JS_ValContainer(RtCtxXPtr in_rt_ctx, JSValT&& in_val) : rt_ctx(in_rt_ctx), val(std::forward(in_val)) {} diff --git a/src/quickjsr.cpp b/src/quickjsr.cpp index 05e4ddd..b9c3f9c 100644 --- a/src/quickjsr.cpp +++ b/src/quickjsr.cpp @@ -13,7 +13,8 @@ extern "C" { BEGIN_CPP11 int stack_size = Rf_isInteger(stack_size_) ? INTEGER_ELT(stack_size_, 0) : static_cast(REAL_ELT(stack_size_, 0)); - return RtCtxXPtr(new JS_RtCtxContainer(stack_size)); + RtCtxXPtr rt(new JS_RtCtxContainer(stack_size)); + return cpp11::as_sexp(rt); END_CPP11 }