mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
app/internal/gpu: don't release the context when New fails
Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
@@ -267,7 +267,6 @@ func (g *GPU) renderLoop(glctx gl.Context) error {
|
||||
runtime.LockOSThread()
|
||||
// Don't UnlockOSThread to avoid reuse by the Go runtime.
|
||||
defer close(g.stopped)
|
||||
defer glctx.Release()
|
||||
|
||||
if err := glctx.MakeCurrent(); err != nil {
|
||||
initErr <- err
|
||||
@@ -278,13 +277,14 @@ func (g *GPU) renderLoop(glctx gl.Context) error {
|
||||
initErr <- err
|
||||
return
|
||||
}
|
||||
initErr <- nil
|
||||
defer glctx.Release()
|
||||
defer g.cache.release(ctx)
|
||||
defer g.pathCache.release(ctx)
|
||||
r := newRenderer(ctx)
|
||||
defer r.release()
|
||||
var timers *timers
|
||||
var zopsTimer, stencilTimer, coverTimer, cleanupTimer *timer
|
||||
initErr <- nil
|
||||
var drawOps drawOps
|
||||
loop:
|
||||
for {
|
||||
|
||||
@@ -290,6 +290,9 @@ func (w *Window) run(opts *window.Options) {
|
||||
ctx, err = w.driver.NewContext()
|
||||
if err == nil {
|
||||
w.gpu, err = gpu.New(ctx)
|
||||
if err != nil {
|
||||
ctx.Release()
|
||||
}
|
||||
}
|
||||
}
|
||||
var frame *op.Ops
|
||||
|
||||
Reference in New Issue
Block a user