From be8d9df84894457c3ceca7f69611641d13ccb8cd Mon Sep 17 00:00:00 2001 From: Elias Naur Date: Fri, 17 Oct 2025 14:47:19 +0200 Subject: [PATCH] Revert "app: optimize window context locking" This reverts commit 3e601e73c421929ce9e82a22786998d9fd8322f2 because it results in a blank window on Android. Signed-off-by: Elias Naur Fixes: https://todo.sr.ht/~eliasnaur/gio/671 --- app/window.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/window.go b/app/window.go index 54f56b76..3953600d 100644 --- a/app/window.go +++ b/app/window.go @@ -142,11 +142,8 @@ func (w *Window) validateAndProcess(size image.Point, sync bool, frame *op.Ops, if w.gpu == nil && !w.nocontext { var err error if w.ctx == nil { - if w.ctx, err = w.driver.NewContext(); err != nil { - return err - } - if err = w.ctx.Lock(); err != nil { - w.destroyGPU() + w.ctx, err = w.driver.NewContext() + if err != nil { return err } sync = true @@ -166,6 +163,12 @@ func (w *Window) validateAndProcess(size image.Point, sync bool, frame *op.Ops, return err } } + if w.ctx != nil { + if err := w.ctx.Lock(); err != nil { + w.destroyGPU() + return err + } + } if w.gpu == nil && !w.nocontext { gpu, err := gpu.New(w.ctx.API()) if err != nil { @@ -197,6 +200,7 @@ func (w *Window) validateAndProcess(size image.Point, sync bool, frame *op.Ops, var err error if w.gpu != nil { err = w.ctx.Present() + w.ctx.Unlock() } return err }