Avoid using godot_get_stack_bottom
It's not reliable on Android.
This commit is contained in:
parent
3349fe2321
commit
fda800fd26
2 changed files with 6 additions and 5 deletions
|
|
@ -239,9 +239,6 @@ type ClassConstructor = proc (): ptr GodotObject {.noconv.}
|
||||||
proc getClassConstructor*(className: cstring): ClassConstructor {.
|
proc getClassConstructor*(className: cstring): ClassConstructor {.
|
||||||
importc: "godot_get_class_constructor".}
|
importc: "godot_get_class_constructor".}
|
||||||
|
|
||||||
proc godotStackBottom*(): pointer {.
|
|
||||||
importc: "godot_get_stack_bottom".}
|
|
||||||
|
|
||||||
proc deinit*(o: ptr GodotObject) {.
|
proc deinit*(o: ptr GodotObject) {.
|
||||||
importc: "godot_object_destroy".}
|
importc: "godot_object_destroy".}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -780,10 +780,10 @@ proc godot_nativescript_init(handle: pointer) {.
|
||||||
cdecl, exportc, dynlib.} =
|
cdecl, exportc, dynlib.} =
|
||||||
nativeLibHandle = handle
|
nativeLibHandle = handle
|
||||||
|
|
||||||
let stackBottom = godotStackBottom()
|
var stackBottom {.volatile.}: pointer
|
||||||
{.emit: """
|
{.emit: """
|
||||||
NimMain();
|
NimMain();
|
||||||
setStackBottom(`stackBottom`);
|
setStackBottom((void*)(&`stackBottom`));
|
||||||
""".}
|
""".}
|
||||||
GC_fullCollect()
|
GC_fullCollect()
|
||||||
GC_disable()
|
GC_disable()
|
||||||
|
|
@ -798,6 +798,10 @@ proc godot_gdnative_terminate(options: ptr GodotNativeTerminateOptions) {.
|
||||||
|
|
||||||
const nimGcStepLengthUs {.intdefine.} = 2000
|
const nimGcStepLengthUs {.intdefine.} = 2000
|
||||||
proc godot_nativescript_frame() {.cdecl, exportc, dynlib.} =
|
proc godot_nativescript_frame() {.cdecl, exportc, dynlib.} =
|
||||||
|
var stackBottom {.volatile.}: pointer
|
||||||
|
{.emit: """
|
||||||
|
setStackBottom((void*)(&`stackBottom`));
|
||||||
|
""".}
|
||||||
if asyncdispatch.hasPendingOperations():
|
if asyncdispatch.hasPendingOperations():
|
||||||
poll(0)
|
poll(0)
|
||||||
GC_step(nimGcStepLengthUs, true, 0)
|
GC_step(nimGcStepLengthUs, true, 0)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue