go-qml / qml

QML support for the Go language
Other
1.96k stars 187 forks source link

QML Init causes panic #41

Closed philproctor closed 10 years ago

philproctor commented 10 years ago

qml.Init(nil) call, on Arch Linux (with qt 5.2 or 5.1)

Package was downloaded and installed today.

2014/02/16 00:59:39 qtablegenerator.cpp:451: "Qt Warning - invalid keysym: dead_actute" panic: pre-allocated buffer size was wrong

goroutine 12 [running]: runtime.panic(0x85eba0, 0xc2100d2790) /usr/lib/go/src/pkg/runtime/panic.c:266 +0xb6 github.com/niemeyer/qml.typeInfo(0x903e60, 0xc210050040, 0x903e60) /home/phil/go/src/github.com/niemeyer/qml/datatype.go:304 +0x7fd github.com/niemeyer/qml.wrapGoValue(0xc2100da000, 0x903e60, 0xc210050040, 0x1, 0x0) /home/phil/go/src/github.com/niemeyer/qml/bridge.go:233 +0x40d github.com/niemeyer/qml.packDataValue(0x903e60, 0xc210050040, 0xc2100d26b0, 0xc2100da000, 0x7fa2c0c6ec01) /home/phil/go/src/github.com/niemeyer/qml/datatype.go:106 +0x21a github.com/niemeyer/qml.func·013() /home/phil/go/src/github.com/niemeyer/qml/qml.go:292 +0x84 github.com/niemeyer/qml.hookIdleTimer() /home/phil/go/src/github.com/niemeyer/qml/bridge.go:172 +0x5b github.com/niemeyer/qml._Cfunc_applicationExec(0xf9ebf8) github.com/niemeyer/qml/_obj/_cgo_defun.c:57 +0x31 github.com/niemeyer/qml.guiLoop() /home/phil/go/src/github.com/niemeyer/qml/bridge.go:41 +0x5b created by github.com/niemeyer/qml.Init /home/phil/go/src/github.com/niemeyer/qml/qml.go:44 +0xa0

philproctor commented 10 years ago

This is in the context of the Lime editor as referenced issue limetext/lime#241 -- per the info on that ticket, it was introduced in commit aaf6601.

Appears to be related to Context().SetVar() lines as can be seen here: https://github.com/limetext/lime/blob/master/frontend/qml/main.go @ line 189 to 191.

niemeyer commented 10 years ago

Can you please test it again? I believe this was fixed at beb8ba1.

philproctor commented 10 years ago

Excellent, tested and the fix appears to have worked. Thanks!