Comment by ~tekk on ~mcf/cproc
The makefile now uses -fPIC by default as well.
Ticket created by ~tekk on ~mcf/cproc
I'm not 100% sure if this is a bug, but both clang and gcc accept it without complaint. cproc throws an error: initializer is not a constant expression error when explicitly naming struct types in initializers. I got in the habit of doing this back when initializer "type inference" was worse and noticed it while trying to compile a program of mine.
Input: struct dummy { char *label; };
struct dummy str = (struct dummy){.label = "Redraw"};
Result: testcase.c:6:71: error: initializer is not a constant expression
Expected: compiles cleanly. The code does compile cleanly if you remove the (struct dummy) on the initializer line.
Ticket created by ~tekk on ~whereswaldon/arbor-dev
When replying to a message on OpenBSD, Sprig crashes as soon as you hit enter to open the reply text box.
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x9039fc]
goroutine 6 [running]: git.sr.ht/~whereswaldon/sprig/widget/theme.CommunityName(...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:365 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.layoutMetadata(0xc0001c0180, 0xffffffffff7fae45, 0xff000000, 0x5, 0x141200000, 0x0, 0x0, 0xc0005166c0, 0x0, 0xc0001981e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:260 +0x2fc gioui.org/layout.Inset.Layout(0x0, 0x0, 0x140800000, 0x0, 0x0, 0x0, 0x710, 0x398, 0x3f8004553f800455, 0x392e20, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/layout.go:147 +0x4e4 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.layoutContents.func1(0x0, 0x0, 0x710, 0x39c, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:312 +0x125 gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x710, 0x39c, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:99 +0xcb5 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.layoutContents(0xc0001c0180, 0xffffffffff7fae45, 0xff000000, 0x5, 0x141200000, 0x0, 0x0, 0xc0005166c0, 0x0, 0xc0001981e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:310 +0x4f8 gioui.org/layout.Inset.Layout(0x140800000, 0x140800000, 0x7c8f5d0140800000, 0x140800000, 0x0, 0x0, 0x710, 0x39c, 0x3f8004553f800455, 0x392e20, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/layout.go:147 +0x4e4 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.Layout.func2.2.1.1(0x0, 0x0, 0x718, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:185 +0x10f gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x718, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:99 +0xcb5 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.Layout.func2.2.1(0x0, 0x0, 0x718, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:183 +0x239 gioui.org/layout.Inset.Layout(0x3f80040000000000, 0x0, 0x0, 0x141200000, 0x0, 0x0, 0x718, 0x3a4, 0x3f8004553f800455, 0x392e20, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/layout.go:147 +0x4e4 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.Layout.func2.2(0x0, 0x0, 0x722, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:182 +0x185 gioui.org/layout.Stack.Layout(0x288600, 0x0, 0x0, 0x722, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/stack.go:60 +0x7d5 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.Layout.func2(0x0, 0x0, 0x722, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:172 +0x377 gioui.org/layout.Stack.Layout(0x288600, 0x722, 0x0, 0x722, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/stack.go:60 +0x7d5 git.sr.ht/~whereswaldon/sprig/widget/theme.ReplyStyle.Layout(0xc0001c0180, 0xffffffffff7fae45, 0xff000000, 0x5, 0x141200000, 0x0, 0x0, 0xc0005166c0, 0x0, 0xc0001981e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/reply.go:160 +0x397 git.sr.ht/~whereswaldon/sprig/widget/theme.ComposerStyle.Layout.func2.1.2.1(0x722, 0x0, 0x722, 0x3a4, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/composer.go:74 +0x1d8 gioui.org/layout.Inset.Layout(0x140c00000, 0x140c00000, 0xc011950140c00000, 0x140c00000, 0x722, 0x0, 0x722, 0x3a4, 0x3f8004553f800455, 0x392e20, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/layout.go:147 +0x4e4 git.sr.ht/~whereswaldon/sprig/widget/theme.ComposerStyle.Layout.func2.1.2(0x72e, 0x0, 0x72e, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/composer.go:57 +0x107 gioui.org/layout.Flex.Layout(0x0, 0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:134 +0xa3c git.sr.ht/~whereswaldon/sprig/widget/theme.ComposerStyle.Layout.func2.1(0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/composer.go:44 +0x37d gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:99 +0xcb5 git.sr.ht/~whereswaldon/sprig/widget/theme.ComposerStyle.Layout.func2(0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/composer.go:42 +0x25d gioui.org/layout.Stack.Layout(0x288200, 0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/stack.go:60 +0x7d5 git.sr.ht/~whereswaldon/sprig/widget/theme.ComposerStyle.Layout(0xc000511750, 0xc0001c0180, 0xc0004be010, 0x1, 0x1, 0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/widget/theme/composer.go:30 +0x2f7 main.(*ReplyListView).layoutEditor.func1(0xc0004be010, 0x1, 0x1) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/reply-view.go:850 +0x178 git.sr.ht/~whereswaldon/sprig/ds.(*CommunityList).WithCommunities.func1(0xc00038bae0, 0x1, 0x1) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/ds/community-list.go:62 +0xc4 git.sr.ht/~whereswaldon/sprig/ds.(*NodeList).WithNodes(0xc00006a500, 0xc00065a338) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/ds/community-list.go:169 +0x7e git.sr.ht/~whereswaldon/sprig/ds.(*CommunityList).WithCommunities(0xc000033540, 0xc00065a450) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/ds/community-list.go:57 +0x65 main.(*ReplyListView).layoutEditor(0xc000511300, 0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392e20, 0xc0001b4f90, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/reply-view.go:849 +0x236 main.(*ReplyListView).Layout.func2.2(0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/reply-view.go:755 +0x47b gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:99 +0xcb5 main.(*ReplyListView).Layout.func2(0x0, 0x0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/reply-view.go:749 +0x25d gioui.org/layout.Stack.Layout(0x273000, 0x780, 0x3b0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/stack.go:60 +0x7d5 main.(*ReplyListView).Layout(0xc000511300, 0x780, 0x3b0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/reply-view.go:740 +0x297 gioui.org/layout.Flex.Layout(0x1, 0x780, 0x3b0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:134 +0xa3c main.(*viewManager).layoutCurrentView.func3.2(0x780, 0x3b0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/view-manager.go:311 +0x245 gioui.org/layout.Flex.Layout(0x0, 0x780, 0x3b0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:134 +0xa3c main.(*viewManager).layoutCurrentView.func3(0x780, 0x3b0, 0x780, 0x3b0, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/view-manager.go:305 +0x2be gioui.org/layout.Flex.Layout(0x1, 0x780, 0x3e8, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:134 +0xa3c main.(*viewManager).layoutCurrentView(0xc000181000, 0x780, 0x3e8, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/view-manager.go:323 +0x3f8 main.(*viewManager).Layout.func2(0x780, 0x3e8, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/view-manager.go:249 +0x2e5 gioui.org/layout.Flex.Layout(0x1, 0x0, 0x0, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/flex.go:99 +0xcb5 main.(*viewManager).Layout(0xc000181000, 0x0, 0x0, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/view-manager.go:242 +0x3a5 gioui.org/layout.Stack.Layout(0x270200, 0x0, 0x0, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/stack.go:60 +0x7d5 main.eventLoop.func2.1(0x0, 0x0, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/main.go:133 +0x277 gioui.org/layout.Inset.Layout(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/layout.go:147 +0x4e4 main.eventLoop.func2(0x0, 0x0, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, 0xb8b7e0, ...) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/main.go:132 +0x108 gioui.org/layout.Stack.Layout(0x29b100, 0x780, 0x3e8, 0x780, 0x3e8, 0x3f8004553f800455, 0x392d40, 0xc000047490, 0xc0119513c131ee67, 0x19b4f7064, ...) /home/danny/go/pkg/mod/gioui.org@v0.0.0-20210201160312-bb56b8183c84/layout/stack.go:60 +0x7d5 main.eventLoop(0xc000047400, 0x0, 0x0) /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/main.go:116 +0xc77 main.main.func1() /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/main.go:30 +0x7b created by main.main /home/danny/go/src/git.sr.ht/~whereswaldon/sprig/main.go:28 +0x65
Ticket created by ~tekk on ~whereswaldon/arbor-dev
When filtering to a conversation chain it appears to only consider the message chain when deciding how to draw the scrollbar, not the conversation chain.
security added by ~tekk on ~whereswaldon/arbor-dev