cogentcore / core

A free and open source framework for building powerful, fast, and elegant 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the Web with a single pure Go codebase, allowing you to Code Once, Run Everywhere.
http://cogentcore.org/core
BSD 3-Clause "New" or "Revised" License
1.31k stars 71 forks source link

treeview example : panic: reflect: Call using zero Value argument #917

Open c1ngular opened 4 months ago

c1ngular commented 4 months ago

Describe the bug

run treeview example , Stylers -> click "xx set styles" buttons inside the both popups , cause panic .

截屏2024-02-28 16 17 30

How to reproduce

`2024/02/28 16:05:48 panic: reflect: Call using zero Value argument 2024/02/28 16:05:48 2024/02/28 16:05:48 ----- START OF STACK TRACE: ----- 2024/02/28 16:05:48 goroutine 67 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x64 cogentcore.org/core/goosi.HandleRecoverBase({0x105230f60, 0x1400027d600}) /Users/lijiangtv/go/src/core/goosi/recover.go:49 +0x38 cogentcore.org/core/gi.HandleRecover({0x105230f60, 0x1400027d600}) /Users/lijiangtv/go/src/core/gi/recover.go:32 +0x48 cogentcore.org/core/gi.(RenderWin).EventLoop.func1() /Users/lijiangtv/go/src/core/gi/renderwin.go:555 +0x34 panic({0x105230f60?, 0x1400027d600?}) /usr/local/go/src/runtime/panic.go:914 +0x218 reflect.Value.call({0x1052348a0?, 0x140003d11e0?, 0x106ac8548?}, {0x104d85c25, 0x4}, {0x14000196168, 0x1, 0x0?}) /usr/local/go/src/reflect/value.go:447 +0x15c4 reflect.Value.Call({0x1052348a0?, 0x140003d11e0?, 0x1400028d8e8?}, {0x14000196168?, 0x14000238880?, 0x105381298?}) /usr/local/go/src/reflect/value.go:380 +0x94 cogentcore.org/core/giv.(FuncButton).CallFuncShowReturns(0x1400838ca80) /Users/lijiangtv/go/src/core/giv/funcbutton.go:273 +0x190 cogentcore.org/core/giv.(FuncButton).CallFunc.func2.1({0x105381298?, 0x1400ef3afc0?}) /Users/lijiangtv/go/src/core/giv/funcbutton.go:314 +0x5c cogentcore.org/core/events.(Listeners).Call(0x140004efd70, {0x105381298, 0x1400ef3afc0}, {0x1400028d9d0, 0x1, 0x100000000?}) /Users/lijiangtv/go/src/core/events/listeners.go:52 +0x104 cogentcore.org/core/gi.(WidgetBase).HandleEvent(0x140004ef500, {0x105381298?, 0x1400ef3afc0}) /Users/lijiangtv/go/src/core/gi/events.go:254 +0x1d0 cogentcore.org/core/gi.(WidgetBase).Send(0x140004ef500, 0x5, {0x14004c25440, 0x1, 0x1400028da01?}) /Users/lijiangtv/go/src/core/gi/events.go:190 +0x114 cogentcore.org/core/gi.(EventMgr).HandlePosEvent(0x140002392c8, {0x105381018, 0x1400cd3fa40}) /Users/lijiangtv/go/src/core/gi/eventmgr.go:431 +0x1754 cogentcore.org/core/gi.(EventMgr).HandleEvent(0x14000296ee0?, {0x105381018, 0x1400cd3fa40}) /Users/lijiangtv/go/src/core/gi/eventmgr.go:159 +0x58 cogentcore.org/core/gi.(Stage).MainHandleEvent(0x1400cc66000, {0x105381018?, 0x1400cd3fa40}) /Users/lijiangtv/go/src/core/gi/mainstage.go:350 +0x148 cogentcore.org/core/gi.(StageMgr).MainHandleEvent(0x140083eb6b8, {0x105381018, 0x1400cd3fa40}) /Users/lijiangtv/go/src/core/gi/mainstage.go:358 +0x78 cogentcore.org/core/gi.(RenderWin).HandleEvent(0x140083eb680, {0x105381018?, 0x1400cd3fa40}) /Users/lijiangtv/go/src/core/gi/renderwin.go:608 +0x1c8 cogentcore.org/core/gi.(RenderWin).EventLoop(0x140083eb680) /Users/lijiangtv/go/src/core/gi/renderwin.go:569 +0x108 created by cogentcore.org/core/gi.(*RenderWin).GoStartEventLoop in goroutine 1 /Users/lijiangtv/go/src/core/gi/renderwin.go:523 +0xa4

2024/02/28 16:05:48 ----- END OF STACK TRACE ----- 2024/02/28 16:05:48 SAVED CRASH LOG TO /Users/lijiangtv/Library/Cogent Core Tree View Demo/crash-logs/crash_2024-02-28_16-05-48`

Example code

No response

Relevant output

No response

Platform

macOS

kkoreilly commented 4 months ago

I am looking into this.