app: don't release GPU context when minimized

Releasing the renderer is fine, but releasing the underlying context
introduces flicker when restoring a Gio window on macOS.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2021-07-15 16:14:39 +02:00
parent b3918ce40f
commit 13d7a8d760
+9 -4
View File
@@ -144,9 +144,11 @@ func (w *Window) validateAndProcess(driver wm.Driver, frameStart time.Time, size
} }
if w.loop == nil && !w.nocontext { if w.loop == nil && !w.nocontext {
var err error var err error
w.ctx, err = driver.NewContext() if w.ctx == nil {
if err != nil { w.ctx, err = driver.NewContext()
return err if err != nil {
return err
}
} }
w.loop, err = newLoop(w.ctx) w.loop, err = newLoop(w.ctx)
if err != nil { if err != nil {
@@ -478,7 +480,10 @@ func (w *Window) run(opts *wm.Options) {
case system.StageEvent: case system.StageEvent:
if w.loop != nil { if w.loop != nil {
if e2.Stage < system.StageRunning { if e2.Stage < system.StageRunning {
w.destroyGPU() if w.loop != nil {
w.loop.Release()
w.loop = nil
}
} else { } else {
w.refresh() w.refresh()
} }