~jackmordaunt

Australia

https://jackmordaunt.srht.site

Software Developer that enjoys clean, well structured code.

Trackers

~jackmordaunt/gopack

Last active 1 year, 5 months ago

~jackmordaunt/gio-planet

Last active 1 year, 5 months ago

~jackmordaunt/kanban

Last active 2 years ago

~jackmordaunt/Avisha

Last active 2 years ago

#8 [skel] handle panic in skel worker functions 5 months ago

Ticket created by ~jackmordaunt on ~gioverse/chat

At the moment, panics are silently recovered. This means that messages are never delivered and the application has no way of detecting it.

We need to surface a way to handle panics inside workers.

In the case of a future, the panic can propagate to the handler as a plain error "panic processing worker: %w", for example.

#413 [bug] Windows: crash closing custom render window 6 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

Thanks for the tip Elias! I will investigate further based on this.

#413 [bug] Windows: crash closing custom render window 6 months ago

Ticket created by ~jackmordaunt on ~eliasnaur/gio

I saw this after closing a custom render window on Windows OS.

panic: PostMessage failed: Not enough quota is available to process this command.

goroutine 61 [running]:
gioui.org/app.(*window).Wakeup(0xc00060e360)
        C:/Users/Jack Mordaunt/go/pkg/mod/gioui.org@v0.0.0-20220510194137-0e2e02a66237/app/os_windows.go:521 +0x85
gioui.org/app.(*Window).run(0xc0008df800, {0xc000473b80, 0x7, 0x8})
        C:/Users/Jack Mordaunt/go/pkg/mod/gioui.org@v0.0.0-20220510194137-0e2e02a66237/app/window.go:917 +0x33e
created by gioui.org/app.NewWindow
        C:/Users/Jack Mordaunt/go/pkg/mod/gioui.org@v0.0.0-20220510194137-0e2e02a66237/app/window.go:164 +0x7b4

#412 [bug] x11: window immediately exits with egl error 6 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

With a bisect the bad commit is 0e2e02a662375690a7c74ae31376742e1f9e6b7e.

#412 [bug] x11: window immediately exits with egl error 6 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

Does not replicate on Windows.

#412 [bug] x11: window immediately exits with egl error 6 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

~I suppose it's possible that it could be system upgrade issue, since this happened both after I upgraded my packages and switch to latest gio - but as I'm not familiar with the relevant gio changes I'll start here.~

EDIT: bisect reveals the culprit is a commit.

#412 [bug] x11: window immediately exits with egl error 6 months ago

Ticket created by ~jackmordaunt on ~eliasnaur/gio

Hi Elias,

Since the latest changes to gio I get a nasty bug where the x11 window immediately produces a destroy event containing an error: error: destroy event: eglSwapBuffers failed (300d).

The following is a simple empty window that reproduces the issue.

package main

import (
    "fmt"
    "os"

    "gioui.org/app"
    "gioui.org/io/system"
    "gioui.org/op"
)

func main() {
    go func() {
        if err := loop(); err != nil {
            fmt.Printf("error: %v\n", err)
            os.Exit(1)
        }
    }()
    app.Main()
}

func loop() error {
    var (
        w   = app.NewWindow(app.Title("x11 crash"))
        ops op.Ops
    )
    for {
        select {
        case ev := <-w.Events():
            switch ev := ev.(type) {
            case system.DestroyEvent:
                return fmt.Errorf("destroy event: %w", ev.Err)
            case system.FrameEvent:
                ev.Frame(&ops)
            }
        }
    }
}

#295 Material Data Table Bounty Issue 9 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

Aside: I tried the fps-table example and noticed there's an issue with the scrollbar. If you attempt to drag the indicator, it flicks up by some fraction. Not sure if bug with scrollbar or table.

#348 [bug, papercut] calling window close more than once silently blocks 10 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

Manually invoking app.Window.Invalidate directly after app.Window.Close appears to ensure the destroy event is delivered.

case <-updates:
        fmt.Printf("got quit signal... calling app.Window.Close()\n")
        w.Close()
        w.Invalidate()
        fmt.Printf("close has been called, should expect destroy event\n")
}

#348 [bug, papercut] calling window close more than once silently blocks 10 months ago

Comment by ~jackmordaunt on ~eliasnaur/gio

# window does close (good)
go run . -animate
# window doesn't close (bad)
go run .