app/internal/window: [Android] don't block in runOnMain

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2020-05-20 20:22:45 +02:00
parent ac62e3a7ab
commit 22b367cb33
+6 -4
View File
@@ -637,10 +637,12 @@ func (w *window) ReadClipboard() {
// runOnMain runs a function on the Java main thread. // runOnMain runs a function on the Java main thread.
func (w *window) runOnMain(f func(env *C.JNIEnv)) { func (w *window) runOnMain(f func(env *C.JNIEnv)) {
mainFuncs <- f go func() {
runInJVM(javaVM(), func(env *C.JNIEnv) { mainFuncs <- f
callVoidMethod(env, w.view, w.mwakeupMainThread) runInJVM(javaVM(), func(env *C.JNIEnv) {
}) callVoidMethod(env, w.view, w.mwakeupMainThread)
})
}()
} }
//export Java_org_gioui_GioView_scheduleMainFuncs //export Java_org_gioui_GioView_scheduleMainFuncs