mirror of
https://github.com/wgh136/flutter_qjs.git
synced 2025-09-27 05:27:23 +00:00
fix randomly crash by stack overflow
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
* @Author: ekibun
|
||||
* @Date: 2020-09-19 10:29:04
|
||||
* @LastEditors: ekibun
|
||||
* @LastEditTime: 2020-10-03 23:27:15
|
||||
* @LastEditTime: 2020-10-06 23:13:13
|
||||
*/
|
||||
import 'dart:ffi';
|
||||
import 'dart:io';
|
||||
@@ -478,6 +478,7 @@ String jsToCString(
|
||||
Pointer val,
|
||||
) {
|
||||
var ptr = _jsToCString(ctx, val);
|
||||
if (ptr.address == 0) throw Exception("JSValue cannot convert to string");
|
||||
var str = Utf8.fromUtf8(ptr);
|
||||
jsFreeCString(ctx, ptr);
|
||||
return str;
|
||||
|
@@ -3,7 +3,7 @@
|
||||
* @Author: ekibun
|
||||
* @Date: 2020-08-08 08:29:09
|
||||
* @LastEditors: ekibun
|
||||
* @LastEditTime: 2020-10-03 21:55:07
|
||||
* @LastEditTime: 2020-10-06 23:47:13
|
||||
*/
|
||||
import 'dart:async';
|
||||
import 'dart:ffi';
|
||||
@@ -121,6 +121,7 @@ class FlutterQjs {
|
||||
var jsval =
|
||||
jsEval(_ctx, command, name ?? "<eval>", evalFlags ?? JSEvalType.GLOBAL);
|
||||
if (jsIsException(jsval) != 0) {
|
||||
jsFreeValue(_ctx, jsval);
|
||||
throw Exception(parseJSException(_ctx));
|
||||
}
|
||||
var ret = runtimeOpaques[_rt]?.promsieToFuture(jsval);
|
||||
|
Reference in New Issue
Block a user