detached 45b5ee0

Merge pull request #344 from bnema/chore/upstream-foundations

chore(deps): integrate approved upstream foundations
commit
45b5ee02d70d8fc7b30a18e2b5f30c2c77afb1f2
author
bnema · · 2026-07-14 17:16 UTC
committer
GitHub · · 2026-07-14 17:16 UTC
merge of
41933ea + a161e34 · diff against the first parent
signature
GPG UnverifiedB5690EEEBB952194 The key is unknown
921 files · +28709 -25527
M docs/first-presentation.md +5 -2
@@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`,
4646 `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`;
4747 do not use a device model or other identifier. Publish only the seven reviewed
4848 JSON files to an external Gist. Raw logs and temporary XDG homes are removed and
49-must not be published. A missing or incomplete timeline, non-DMABUF backend, or
50-invalid run fails collection.
49+must not be published. `metadata.json` derives the selected
50+`github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git
51+origin hash from Go module metadata; branch selectors or missing origin metadata
52+fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid
53+run also fails collection.
@@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`,
46 `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`;46 `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`;
47 do not use a device model or other identifier. Publish only the seven reviewed47 do not use a device model or other identifier. Publish only the seven reviewed
48 JSON files to an external Gist. Raw logs and temporary XDG homes are removed and48 JSON files to an external Gist. Raw logs and temporary XDG homes are removed and
49-must not be published. A missing or incomplete timeline, non-DMABUF backend, or49+must not be published. `metadata.json` derives the selected
50-invalid run fails collection.50+`github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git
51+origin hash from Go module metadata; branch selectors or missing origin metadata
52+fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid
53+run also fails collection.
M go.mod +5 -5
@@ -6,11 +6,11 @@ require (
66 github.com/a-h/templ v0.3.1020
77 github.com/andybalholm/brotli v1.2.2
88 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.13.3
10- github.com/bnema/purego-cef2gtk v0.8.4
11- github.com/bnema/purego-pipewire v0.1.4
12- github.com/bnema/purego-sqlite v0.1.3
13- github.com/bnema/puregotk v0.7.0
9+ github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e
10+ github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe
11+ github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a
12+ github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c
13+ github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234
1414 github.com/charmbracelet/bubbles v1.0.0
1515 github.com/charmbracelet/bubbletea v1.3.10
1616 github.com/charmbracelet/lipgloss v1.1.0
@@ -6,11 +6,11 @@ require (
6 github.com/a-h/templ v0.3.10206 github.com/a-h/templ v0.3.1020
7 github.com/andybalholm/brotli v1.2.27 github.com/andybalholm/brotli v1.2.2
8 github.com/bnema/purego v0.11.0-bnema.48 github.com/bnema/purego v0.11.0-bnema.4
9- github.com/bnema/purego-cef v0.13.39+ github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e
10- github.com/bnema/purego-cef2gtk v0.8.410+ github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe
11- github.com/bnema/purego-pipewire v0.1.411+ github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a
12- github.com/bnema/purego-sqlite v0.1.312+ github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c
13- github.com/bnema/puregotk v0.7.013+ github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234
14 github.com/charmbracelet/bubbles v1.0.014 github.com/charmbracelet/bubbles v1.0.0
15 github.com/charmbracelet/bubbletea v1.3.1015 github.com/charmbracelet/bubbletea v1.3.10
16 github.com/charmbracelet/lipgloss v1.1.016 github.com/charmbracelet/lipgloss v1.1.0
M go.sum +12 -0 generated file: collapsed
A internal/infrastructure/persistence/sqlite/history_repo_benchmark_test.go +71 -0
@@ -0,0 +1,71 @@
1+package sqlite_test
2+
3+import (
4+ "fmt"
5+ "path/filepath"
6+ "testing"
7+
8+ "github.com/bnema/dumber/internal/domain/entity"
9+ "github.com/bnema/dumber/internal/domain/repository"
10+ "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite"
11+)
12+
13+// newHistoryBenchmarkRepository creates a representative local history corpus
14+// outside the measured operation. Sidebar reads use GetRecent and omnibox
15+// history suggestions use Search.
16+func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) {
17+ b.Helper()
18+
19+ ctx := historyTestCtx()
20+ db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db"))
21+ if err != nil {
22+ b.Fatal(err)
23+ }
24+
25+ b.Cleanup(func() {
26+ if err := db.Close(); err != nil {
27+ b.Errorf("close benchmark database: %v", err)
28+ }
29+ })
30+
31+ repo := sqlite.NewHistoryRepository(db)
32+ for i := range 200 {
33+ entry := &entity.HistoryEntry{
34+ URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i),
35+ Title: fmt.Sprintf("Dumber history entry %d", i),
36+ }
37+ if err := repo.Save(ctx, entry); err != nil {
38+ b.Fatal(err)
39+ }
40+ }
41+
42+ return repo, func() {}
43+}
44+
45+func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) {
46+ repo, closeDB := newHistoryBenchmarkRepository(b)
47+ defer closeDB()
48+ ctx := historyTestCtx()
49+
50+ b.ReportAllocs()
51+ b.ResetTimer()
52+ for range b.N {
53+ if _, err := repo.GetRecent(ctx, 50, 0); err != nil {
54+ b.Fatal(err)
55+ }
56+ }
57+}
58+
59+func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) {
60+ repo, closeDB := newHistoryBenchmarkRepository(b)
61+ defer closeDB()
62+ ctx := historyTestCtx()
63+
64+ b.ReportAllocs()
65+ b.ResetTimer()
66+ for range b.N {
67+ if _, err := repo.Search(ctx, "dumber history", 10); err != nil {
68+ b.Fatal(err)
69+ }
70+ }
71+}
@@ -0,0 +1,71 @@
1+package sqlite_test
2+
3+import (
4+ "fmt"
5+ "path/filepath"
6+ "testing"
7+
8+ "github.com/bnema/dumber/internal/domain/entity"
9+ "github.com/bnema/dumber/internal/domain/repository"
10+ "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite"
11+)
12+
13+// newHistoryBenchmarkRepository creates a representative local history corpus
14+// outside the measured operation. Sidebar reads use GetRecent and omnibox
15+// history suggestions use Search.
16+func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) {
17+ b.Helper()
18+
19+ ctx := historyTestCtx()
20+ db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db"))
21+ if err != nil {
22+ b.Fatal(err)
23+ }
24+
25+ b.Cleanup(func() {
26+ if err := db.Close(); err != nil {
27+ b.Errorf("close benchmark database: %v", err)
28+ }
29+ })
30+
31+ repo := sqlite.NewHistoryRepository(db)
32+ for i := range 200 {
33+ entry := &entity.HistoryEntry{
34+ URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i),
35+ Title: fmt.Sprintf("Dumber history entry %d", i),
36+ }
37+ if err := repo.Save(ctx, entry); err != nil {
38+ b.Fatal(err)
39+ }
40+ }
41+
42+ return repo, func() {}
43+}
44+
45+func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) {
46+ repo, closeDB := newHistoryBenchmarkRepository(b)
47+ defer closeDB()
48+ ctx := historyTestCtx()
49+
50+ b.ReportAllocs()
51+ b.ResetTimer()
52+ for range b.N {
53+ if _, err := repo.GetRecent(ctx, 50, 0); err != nil {
54+ b.Fatal(err)
55+ }
56+ }
57+}
58+
59+func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) {
60+ repo, closeDB := newHistoryBenchmarkRepository(b)
61+ defer closeDB()
62+ ctx := historyTestCtx()
63+
64+ b.ReportAllocs()
65+ b.ResetTimer()
66+ for range b.N {
67+ if _, err := repo.Search(ctx, "dumber history", 10); err != nil {
68+ b.Fatal(err)
69+ }
70+ }
71+}
M internal/logging/first_presentation_collector_test.go +132 -1
@@ -2,6 +2,7 @@ package logging
22
33 import (
44 "encoding/json"
5+ "fmt"
56 "os"
67 "os/exec"
78 "path/filepath"
@@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
143144 }
144145 for _, required := range []string{
145146 `"measured_source_revision"`,
147+ `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`,
146148 `"tag": "v0.8.4"`,
147- `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`,
149+ `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`,
148150 } {
149151 require.Contains(t, artifacts.String(), required)
150152 }
@@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
166168 require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile)
167169 }
168170
171+func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) {
172+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
173+ require.NoError(t, err)
174+ temp := t.TempDir()
175+ runtime := filepath.Join(temp, "cef-147-runtime")
176+ require.NoError(t, os.Mkdir(runtime, 0o755))
177+ binary := filepath.Join(temp, "dumber")
178+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
179+
180+ // This exact pseudo-version is deliberately newer than the former v0.8.4
181+ // hardcode; the collector must report what the selected module says.
182+ const version = "v0.8.5-0.20300102030405-bbd397409ebe"
183+ const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484"
184+ goBin := collectorProvenanceGo(t, temp, version, revision, "")
185+ output := filepath.Join(temp, "artifacts")
186+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
187+ cmd.Dir = repoRoot
188+ cmd.Env = append(os.Environ(),
189+ "DISPLAY=:test",
190+ "DUMBER_CEF_DIR="+runtime,
191+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
192+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
193+ "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",
194+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
195+ )
196+ result, err := cmd.CombinedOutput()
197+ require.NoErrorf(t, err, "collector failed: %s", result)
198+
199+ var metadata struct {
200+ Upstream struct {
201+ Module string `json:"module"`
202+ Version string `json:"version"`
203+ Tag string `json:"tag"`
204+ Revision string `json:"revision"`
205+ } `json:"upstream"`
206+ }
207+ contents, err := os.ReadFile(filepath.Join(output, "metadata.json"))
208+ require.NoError(t, err)
209+ require.NoError(t, json.Unmarshal(contents, &metadata))
210+ require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module)
211+ require.Equal(t, version, metadata.Upstream.Version)
212+ require.Equal(t, "v0.8.5", metadata.Upstream.Tag)
213+ require.Equal(t, revision, metadata.Upstream.Revision)
214+
215+ script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
216+ require.NoError(t, err)
217+ require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d")
218+}
219+
220+func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) {
221+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
222+ require.NoError(t, err)
223+
224+ for _, test := range []struct {
225+ name, version, revision, ref string
226+ }{
227+ {name: "branch selector", version: "main", ref: "main"},
228+ {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"},
229+ {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"},
230+ } {
231+ t.Run(test.name, func(t *testing.T) {
232+ temp := t.TempDir()
233+ runtime := filepath.Join(temp, "cef-147-runtime")
234+ require.NoError(t, os.Mkdir(runtime, 0o755))
235+ binary := filepath.Join(temp, "dumber")
236+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
237+
238+ goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref)
239+ output := filepath.Join(temp, "artifacts")
240+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
241+ cmd.Dir = repoRoot
242+ cmd.Env = append(os.Environ(),
243+ "DISPLAY=:test",
244+ "DUMBER_CEF_DIR="+runtime,
245+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
246+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
247+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
248+ )
249+ result, runErr := cmd.CombinedOutput()
250+ require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result)
251+ require.Contains(t, string(result), "immutable module provenance is unavailable")
252+ require.NotContains(t, string(result), temp)
253+ require.NoFileExists(t, filepath.Join(output, "metadata.json"))
254+ for _, name := range runArtifactNames() {
255+ require.NoFileExists(t, filepath.Join(output, name))
256+ }
257+ })
258+ }
259+}
260+
261+func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string {
262+ t.Helper()
263+ infoPath := filepath.Join(temp, "module.info")
264+ info := map[string]any{"Version": version}
265+ if revision != "" {
266+ info["Origin"] = map[string]string{
267+ "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref,
268+ }
269+ }
270+ infoJSON, err := json.Marshal(info)
271+ require.NoError(t, err)
272+ require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600))
273+
274+ selectedJSON, err := json.Marshal(map[string]string{
275+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version,
276+ })
277+ require.NoError(t, err)
278+ downloadedJSON, err := json.Marshal(map[string]string{
279+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath,
280+ })
281+ require.NoError(t, err)
282+ binDir := filepath.Join(temp, "bin")
283+ require.NoError(t, os.Mkdir(binDir, 0o755))
284+ goBin := filepath.Join(binDir, "go")
285+ script := fmt.Sprintf(`#!/bin/sh
286+if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then
287+ printf '%%s\n' '%s'
288+ exit 0
289+fi
290+if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then
291+ printf '%%s\n' '%s'
292+ exit 0
293+fi
294+exit 1
295+`, selectedJSON, version, downloadedJSON)
296+ require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755))
297+ return goBin
298+}
299+
169300 func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) {
170301 repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
171302 require.NoError(t, err)
@@ -2,6 +2,7 @@ package logging
2 2
3 import (3 import (
4 "encoding/json"4 "encoding/json"
5+ "fmt"
5 "os"6 "os"
6 "os/exec"7 "os/exec"
7 "path/filepath"8 "path/filepath"
@@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
143 }144 }
144 for _, required := range []string{145 for _, required := range []string{
145 `"measured_source_revision"`,146 `"measured_source_revision"`,
147+ `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`,
146 `"tag": "v0.8.4"`,148 `"tag": "v0.8.4"`,
147- `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`,149+ `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`,
148 } {150 } {
149 require.Contains(t, artifacts.String(), required)151 require.Contains(t, artifacts.String(), required)
150 }152 }
@@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) {
166 require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile)168 require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile)
167 }169 }
168 170
171+func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) {
172+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
173+ require.NoError(t, err)
174+ temp := t.TempDir()
175+ runtime := filepath.Join(temp, "cef-147-runtime")
176+ require.NoError(t, os.Mkdir(runtime, 0o755))
177+ binary := filepath.Join(temp, "dumber")
178+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
179+
180+ // This exact pseudo-version is deliberately newer than the former v0.8.4
181+ // hardcode; the collector must report what the selected module says.
182+ const version = "v0.8.5-0.20300102030405-bbd397409ebe"
183+ const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484"
184+ goBin := collectorProvenanceGo(t, temp, version, revision, "")
185+ output := filepath.Join(temp, "artifacts")
186+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
187+ cmd.Dir = repoRoot
188+ cmd.Env = append(os.Environ(),
189+ "DISPLAY=:test",
190+ "DUMBER_CEF_DIR="+runtime,
191+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
192+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
193+ "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1",
194+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
195+ )
196+ result, err := cmd.CombinedOutput()
197+ require.NoErrorf(t, err, "collector failed: %s", result)
198+
199+ var metadata struct {
200+ Upstream struct {
201+ Module string `json:"module"`
202+ Version string `json:"version"`
203+ Tag string `json:"tag"`
204+ Revision string `json:"revision"`
205+ } `json:"upstream"`
206+ }
207+ contents, err := os.ReadFile(filepath.Join(output, "metadata.json"))
208+ require.NoError(t, err)
209+ require.NoError(t, json.Unmarshal(contents, &metadata))
210+ require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module)
211+ require.Equal(t, version, metadata.Upstream.Version)
212+ require.Equal(t, "v0.8.5", metadata.Upstream.Tag)
213+ require.Equal(t, revision, metadata.Upstream.Revision)
214+
215+ script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
216+ require.NoError(t, err)
217+ require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d")
218+}
219+
220+func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) {
221+ repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
222+ require.NoError(t, err)
223+
224+ for _, test := range []struct {
225+ name, version, revision, ref string
226+ }{
227+ {name: "branch selector", version: "main", ref: "main"},
228+ {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"},
229+ {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"},
230+ } {
231+ t.Run(test.name, func(t *testing.T) {
232+ temp := t.TempDir()
233+ runtime := filepath.Join(temp, "cef-147-runtime")
234+ require.NoError(t, os.Mkdir(runtime, 0o755))
235+ binary := filepath.Join(temp, "dumber")
236+ require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755))
237+
238+ goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref)
239+ output := filepath.Join(temp, "artifacts")
240+ cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh"))
241+ cmd.Dir = repoRoot
242+ cmd.Env = append(os.Environ(),
243+ "DISPLAY=:test",
244+ "DUMBER_CEF_DIR="+runtime,
245+ "DUMBER_FIRST_PRESENTATION_BIN="+binary,
246+ "DUMBER_FIRST_PRESENTATION_OUTPUT="+output,
247+ "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"),
248+ )
249+ result, runErr := cmd.CombinedOutput()
250+ require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result)
251+ require.Contains(t, string(result), "immutable module provenance is unavailable")
252+ require.NotContains(t, string(result), temp)
253+ require.NoFileExists(t, filepath.Join(output, "metadata.json"))
254+ for _, name := range runArtifactNames() {
255+ require.NoFileExists(t, filepath.Join(output, name))
256+ }
257+ })
258+ }
259+}
260+
261+func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string {
262+ t.Helper()
263+ infoPath := filepath.Join(temp, "module.info")
264+ info := map[string]any{"Version": version}
265+ if revision != "" {
266+ info["Origin"] = map[string]string{
267+ "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref,
268+ }
269+ }
270+ infoJSON, err := json.Marshal(info)
271+ require.NoError(t, err)
272+ require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600))
273+
274+ selectedJSON, err := json.Marshal(map[string]string{
275+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version,
276+ })
277+ require.NoError(t, err)
278+ downloadedJSON, err := json.Marshal(map[string]string{
279+ "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath,
280+ })
281+ require.NoError(t, err)
282+ binDir := filepath.Join(temp, "bin")
283+ require.NoError(t, os.Mkdir(binDir, 0o755))
284+ goBin := filepath.Join(binDir, "go")
285+ script := fmt.Sprintf(`#!/bin/sh
286+if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then
287+ printf '%%s\n' '%s'
288+ exit 0
289+fi
290+if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then
291+ printf '%%s\n' '%s'
292+ exit 0
293+fi
294+exit 1
295+`, selectedJSON, version, downloadedJSON)
296+ require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755))
297+ return goBin
298+}
299+
169 func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) {300 func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) {
170 repoRoot, err := filepath.Abs(filepath.Join("..", ".."))301 repoRoot, err := filepath.Abs(filepath.Join("..", ".."))
171 require.NoError(t, err)302 require.NoError(t, err)
M scripts/collect_first_presentation.sh +78 -9
@@ -31,8 +31,78 @@ else
3131 fi
3232 readonly output
3333 readonly upstream_module="github.com/bnema/purego-cef2gtk"
34-readonly upstream_tag="v0.8.4"
35-readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d"
34+
35+# Resolve the version selected by this checkout, then obtain its immutable VCS
36+# origin from Go's cached module metadata. Do not infer a revision from a tag,
37+# a branch, or a truncated pseudo-version suffix.
38+resolve_upstream_provenance() {
39+ local selected_metadata selected_version downloaded_metadata
40+
41+ selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || {
42+ echo "first-presentation: immutable module provenance is unavailable" >&2
43+ exit 2
44+ }
45+ selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY'
46+import json, sys
47+try:
48+ metadata = json.loads(sys.argv[2])
49+ if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str):
50+ raise ValueError
51+ print(metadata["Version"])
52+except (AttributeError, TypeError, ValueError, json.JSONDecodeError):
53+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
54+PY
55+)" || exit $?
56+ downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || {
57+ echo "first-presentation: immutable module provenance is unavailable" >&2
58+ exit 2
59+ }
60+
61+ python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY'
62+import json, re, sys
63+
64+module, selected_raw, downloaded_raw = sys.argv[1:]
65+
66+def fail():
67+ # Do not expose Go cache locations or other machine-local values.
68+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
69+
70+try:
71+ selected = json.loads(selected_raw)
72+ downloaded = json.loads(downloaded_raw)
73+ version = selected["Version"]
74+ if selected.get("Path") != module or downloaded.get("Path") != module:
75+ fail()
76+ if downloaded.get("Version") != version:
77+ fail()
78+ # A selected pseudo-version is an exact immutable selector, never a branch.
79+ match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
80+ if not match:
81+ fail()
82+ info_path = downloaded.get("Info")
83+ if not isinstance(info_path, str) or not info_path:
84+ fail()
85+ with open(info_path, encoding="utf-8") as info_file:
86+ info = json.load(info_file)
87+ origin = info.get("Origin") or downloaded.get("Origin")
88+ if info.get("Version") != version or not isinstance(origin, dict):
89+ fail()
90+ revision = origin.get("Hash")
91+ if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk":
92+ fail()
93+ if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):
94+ fail()
95+ if not revision.startswith(match.group(2)):
96+ fail()
97+ # A named ref can move. Only the immutable hash itself is acceptable.
98+ if origin.get("Ref") not in (None, "", revision):
99+ fail()
100+except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):
101+ fail()
102+
103+print("\t".join((version, match.group(1), revision)))
104+PY
105+}
36106
37107 # The artifact destination is caller-controlled. Never empty or recursively
38108 # clear it: collection only writes to a newly-created directory whose parent is
@@ -66,10 +136,9 @@ prepare_output
66136 [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; }
67137 [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; }
68138 [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; }
69-[[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || {
70- echo "first-presentation: expected $upstream_module@$upstream_tag" >&2
71- exit 2
72-}
139+upstream_provenance="$(resolve_upstream_provenance)" || exit $?
140+IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance"
141+readonly upstream_version upstream_tag upstream_revision
73142
74143 # Raw logs and temporary XDG homes may contain machine-local paths. Keep them
75144 # outside the committed artifact directory and always remove them.
@@ -80,9 +149,9 @@ cleanup_work_root() {
80149 rm -rf -- "$work_root"
81150 }
82151 trap cleanup_work_root EXIT
83-python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY'
152+python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY'
84153 import hashlib, json, os, platform, subprocess, sys
85-path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:]
154+path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:]
86155 with open(binary, "rb") as candidate:
87156 binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest()
88157
@@ -102,7 +171,7 @@ json.dump({
102171 "binary": {"label": "dumber", "sha256": binary_sha256},
103172 "timeout_seconds": int(timeout),
104173 "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(),
105- "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision},
174+ "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision},
106175 "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile},
107176 "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"}
108177 }, open(path, "w"), indent=2, sort_keys=True)
@@ -31,8 +31,78 @@ else
31 fi31 fi
32 readonly output32 readonly output
33 readonly upstream_module="github.com/bnema/purego-cef2gtk"33 readonly upstream_module="github.com/bnema/purego-cef2gtk"
34-readonly upstream_tag="v0.8.4"34+
35-readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d"35+# Resolve the version selected by this checkout, then obtain its immutable VCS
36+# origin from Go's cached module metadata. Do not infer a revision from a tag,
37+# a branch, or a truncated pseudo-version suffix.
38+resolve_upstream_provenance() {
39+ local selected_metadata selected_version downloaded_metadata
40+
41+ selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || {
42+ echo "first-presentation: immutable module provenance is unavailable" >&2
43+ exit 2
44+ }
45+ selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY'
46+import json, sys
47+try:
48+ metadata = json.loads(sys.argv[2])
49+ if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str):
50+ raise ValueError
51+ print(metadata["Version"])
52+except (AttributeError, TypeError, ValueError, json.JSONDecodeError):
53+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
54+PY
55+)" || exit $?
56+ downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || {
57+ echo "first-presentation: immutable module provenance is unavailable" >&2
58+ exit 2
59+ }
60+
61+ python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY'
62+import json, re, sys
63+
64+module, selected_raw, downloaded_raw = sys.argv[1:]
65+
66+def fail():
67+ # Do not expose Go cache locations or other machine-local values.
68+ raise SystemExit("first-presentation: immutable module provenance is unavailable")
69+
70+try:
71+ selected = json.loads(selected_raw)
72+ downloaded = json.loads(downloaded_raw)
73+ version = selected["Version"]
74+ if selected.get("Path") != module or downloaded.get("Path") != module:
75+ fail()
76+ if downloaded.get("Version") != version:
77+ fail()
78+ # A selected pseudo-version is an exact immutable selector, never a branch.
79+ match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version)
80+ if not match:
81+ fail()
82+ info_path = downloaded.get("Info")
83+ if not isinstance(info_path, str) or not info_path:
84+ fail()
85+ with open(info_path, encoding="utf-8") as info_file:
86+ info = json.load(info_file)
87+ origin = info.get("Origin") or downloaded.get("Origin")
88+ if info.get("Version") != version or not isinstance(origin, dict):
89+ fail()
90+ revision = origin.get("Hash")
91+ if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk":
92+ fail()
93+ if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision):
94+ fail()
95+ if not revision.startswith(match.group(2)):
96+ fail()
97+ # A named ref can move. Only the immutable hash itself is acceptable.
98+ if origin.get("Ref") not in (None, "", revision):
99+ fail()
100+except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError):
101+ fail()
102+
103+print("\t".join((version, match.group(1), revision)))
104+PY
105+}
36 106
37 # The artifact destination is caller-controlled. Never empty or recursively107 # The artifact destination is caller-controlled. Never empty or recursively
38 # clear it: collection only writes to a newly-created directory whose parent is108 # clear it: collection only writes to a newly-created directory whose parent is
@@ -66,10 +136,9 @@ prepare_output
66 [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; }136 [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; }
67 [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; }137 [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; }
68 [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; }138 [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; }
69-[[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || {139+upstream_provenance="$(resolve_upstream_provenance)" || exit $?
70- echo "first-presentation: expected $upstream_module@$upstream_tag" >&2140+IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance"
71- exit 2141+readonly upstream_version upstream_tag upstream_revision
72-}
73 142
74 # Raw logs and temporary XDG homes may contain machine-local paths. Keep them143 # Raw logs and temporary XDG homes may contain machine-local paths. Keep them
75 # outside the committed artifact directory and always remove them.144 # outside the committed artifact directory and always remove them.
@@ -80,9 +149,9 @@ cleanup_work_root() {
80 rm -rf -- "$work_root"149 rm -rf -- "$work_root"
81 }150 }
82 trap cleanup_work_root EXIT151 trap cleanup_work_root EXIT
83-python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY'152+python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY'
84 import hashlib, json, os, platform, subprocess, sys153 import hashlib, json, os, platform, subprocess, sys
85-path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:]154+path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:]
86 with open(binary, "rb") as candidate:155 with open(binary, "rb") as candidate:
87 binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest()156 binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest()
88 157
@@ -102,7 +171,7 @@ json.dump({
102 "binary": {"label": "dumber", "sha256": binary_sha256},171 "binary": {"label": "dumber", "sha256": binary_sha256},
103 "timeout_seconds": int(timeout),172 "timeout_seconds": int(timeout),
104 "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(),173 "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(),
105- "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision},174+ "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision},
106 "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile},175 "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile},
107 "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"}176 "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"}
108 }, open(path, "w"), indent=2, sort_keys=True)177 }, open(path, "w"), indent=2, sort_keys=True)
M vendor/github.com/bnema/purego-cef/cef/bridge.go +8 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/accelerated_paint.go +34 -37 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/frame.go +38 -19 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/gtkgdk/renderer.go +89 -69 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player.go +5 -0 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player_rt.go +10 -6 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/pwbuffer.go +66 -32 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/driver/driver.go +268 -63 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/db.go +8 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/rows.go +13 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/loader/loader.go +23 -5 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/ports/in/ports_gen.go +3 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/internal/core/core.go +197 -4 generated file: collapsed
M vendor/github.com/bnema/puregotk/pkg/core/core.go +10 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-dialog.go +99 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-window.go +95 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-accent-color.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-action-row.go +33 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-alert-dialog.go +66 -47 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-target.go +10 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-util.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-avatar.go +22 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-banner.go +23 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bin.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bottom-sheet.go +47 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint-bin.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint.go +33 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-content.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-row.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-dots.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-lines.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel.go +47 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-layout.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-scrollable.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-combo-row.go +34 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-dialog.go +45 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-easing.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-entry-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-enum-list-model.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-expander-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-flap.go +61 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-fold-threshold-policy.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-header-bar.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-inline-view-switcher.go +18 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout-slot.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout.go +7 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-leaflet.go +69 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-length-unit.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-main.go +5 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-message-dialog.go +63 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-multi-layout-view.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-direction.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-split-view.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-view.go +60 -49 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-overlay-split-view.go +48 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-password-entry-row.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-dialog.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-group.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-page.go +38 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-row.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-window.go +31 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcut-label.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-dialog.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-item.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-section.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-item.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-section.go +24 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar.go +41 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spin-row.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner-paintable.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-split-button.go +39 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-animation.go +34 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-params.go +17 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-squeezer.go +49 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-status-page.go +20 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-style-manager.go +25 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipe-tracker.go +33 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipeable.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-switch-row.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-bar.go +35 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-button.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-overview.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-view.go +123 -87 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-timed-animation.go +30 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast-overlay.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast.go +41 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toggle-group.go +64 -51 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toolbar-view.go +40 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-version.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-stack.go +78 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-bar.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-sidebar.go +15 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-title.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window-title.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-box.go +66 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-layout.go +57 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/cairo/main.go +36 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkapplaunchcontext.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairo.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairocontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcicpparams.go +20 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkclipboard.go +34 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcolorstate.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentdeserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentformats.go +28 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentprovider.go +23 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcursor.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevice.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicepad.go +27 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicetool.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplay.go +51 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplaymanager.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexture.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexturebuilder.go +53 -41 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrag.go +20 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurface.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurfacesize.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrawcontext.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrop.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkenums.go +21 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkevents.go +120 -118 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframeclock.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframetimings.go +17 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkglcontext.go +40 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexture.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexturebuilder.go +41 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkkeys.go +19 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexture.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexturebuilder.go +42 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmonitor.go +27 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpaintable.go +63 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpango.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpixbuf.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopup.go +47 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopuplayout.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkrgba.go +19 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkseat.go +11 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksnapshot.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksurface.go +46 -40 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktexture.go +27 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevel.go +157 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevellayout.go +24 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevelsize.go +9 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktypes.go +95 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkvulkancontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-animation.go +26 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-core.go +9 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-io.go +25 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-loader.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-transform.go +11 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf.go +102 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/main.go +5 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gaction.go +59 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactiongroup.go +96 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactionmap.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gappinfo.go +244 -116 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplication.go +79 -55 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplicationcommandline.go +31 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncinitable.go +25 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncresult.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedinputstream.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedoutputstream.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbytesicon.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcancellable.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcharsetconverter.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcontenttype.go +30 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverter.go +23 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverterinputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverteroutputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcredentials.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatagrambased.go +45 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatainputstream.go +31 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdataoutputstream.go +14 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusactiongroup.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusaddress.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusauthobserver.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusconnection.go +77 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbuserror.go +16 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterface.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterfaceskeleton.go +25 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusintrospection.go +54 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmenumodel.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmessage.go +88 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmethodinvocation.go +35 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnameowning.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnamewatching.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobject.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanager.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerclient.go +16 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerserver.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectproxy.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectskeleton.go +12 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusproxy.go +42 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusserver.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusutils.go +24 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontroller.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontrollerdbus.go +4 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdrive.go +214 -82 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsclientconnection.go +34 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsconnection.go +207 -80 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsserverconnection.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblem.go +6 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblemedicon.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfile.go +1148 -450 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileattribute.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileenumerator.go +34 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileicon.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinfo.go +138 -84 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinputstream.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileiostream.go +23 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilemonitor.go +9 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilenamecompleter.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileoutputstream.go +23 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilterinputstream.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilteroutputstream.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gicon.go +32 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetaddress.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetaddressmask.go +14 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetsocketaddress.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginitable.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginputstream.go +52 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioenums.go +90 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioerror.go +6 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giomodule.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioscheduler.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giostream.go +25 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giotypes.go +70 -60 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giptosmessage.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gipv6tclassmessage.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/glistmodel.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gliststore.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gloadableicon.go +27 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemoryinputstream.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemorymonitor.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemoryoutputstream.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmenu.go +62 -50 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmenumodel.go +31 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmount.go +215 -86 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmountoperation.go +40 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnativesocketaddress.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnativevolumemonitor.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkaddress.go +11 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworking.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkmonitor.go +49 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkservice.go +12 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnotification.go +26 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/goutputstream.go +86 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpermission.go +33 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableinputstream.go +30 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableoutputstream.go +41 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableutils.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpowerprofilemonitor.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpropertyaction.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxy.go +35 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyaddress.go +16 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyaddressenumerator.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyresolver.go +35 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gremoteactiongroup.go +12 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gresolver.go +75 -67 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gresource.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gseekable.go +41 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettings.go +99 -67 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettingsbackend.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettingsschema.go +48 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleaction.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleactiongroup.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleasyncresult.go +46 -40 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleiostream.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimplepermission.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleproxyresolver.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocket.go +87 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketaddress.go +11 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketaddressenumerator.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketclient.go +54 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketconnectable.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketconnection.go +14 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketcontrolmessage.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketlistener.go +18 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketservice.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsrvtarget.go +2 -11 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsubprocess.go +40 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsubprocesslauncher.go +34 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtask.go +70 -52 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtcpconnection.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtcpwrapperconnection.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtestdbus.go +16 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthemedicon.go +10 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthreadedresolver.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthreadedsocketservice.go +2 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsbackend.go +69 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlscertificate.go +25 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsclientconnection.go +55 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsconnection.go +56 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsdatabase.go +51 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsfiledatabase.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsinteraction.go +27 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlspassword.go +20 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsserverconnection.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixconnection.go +11 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixcredentialsmessage.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixfdlist.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixsocketaddress.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvfs.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvolume.go +143 -58 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvolumemonitor.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gzlibcompressor.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gzlibdecompressor.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gallocator.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/garray.go +82 -59 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gasyncqueue.go +56 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gatomic.go +43 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbacktrace.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbase64.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbitlock.go +23 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbookmarkfile.go +69 -61 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcache.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcharset.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gchecksum.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcompletion.go +14 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gconvert.go +25 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdataset.go +36 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdate.go +103 -65 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdatetime.go +107 -66 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdir.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/genviron.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gerror.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gfileutils.go +45 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ggettext.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghash.go +81 -53 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghmac.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghook.go +28 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghostutils.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/giochannel.go +83 -67 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gkeyfile.go +72 -62 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/glib-types.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/glist.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmain.go +181 -117 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmappedfile.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmarkup.go +51 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmem.go +44 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmessages.go +70 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gnode.go +50 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/goption.go +57 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpathbuf.go +26 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpattern.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpoll.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gprimes.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gprintf.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gqsort.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gquark.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gqueue.go +84 -52 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grand.go +33 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grcbox.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grefcount.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grefstring.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gregex.go +72 -57 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grel.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gscanner.go +40 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gsequence.go +74 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gshell.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gslice.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gslist.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gspawn.go +12 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstdio.go +33 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstrfuncs.go +115 -71 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstring.go +77 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstringchunk.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstrvbuilder.go +19 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtestutils.go +132 -80
@@ -5,7 +5,6 @@ import (
55 "structs"
66 "unsafe"
77
8- "github.com/bnema/purego"
98 "github.com/bnema/puregotk/pkg/core"
109 )
1110
@@ -53,6 +52,8 @@ var xTestCaseFree func(uintptr)
5352
5453 // Free the @test_case.
5554 func (x *TestCase) Free() {
55+ core.LazyRegister(&xTestCaseFree, "GLIB", "g_test_case_free", false)
56+
5657 xTestCaseFree(x.GoPointer())
5758 }
5859
@@ -108,6 +109,8 @@ var xTestLogBufferFree func(uintptr)
108109
109110 // Internal function for gtester to free test log messages, no ABI guarantees provided.
110111 func (x *TestLogBuffer) Free() {
112+ core.LazyRegister(&xTestLogBufferFree, "GLIB", "g_test_log_buffer_free", false)
113+
111114 xTestLogBufferFree(x.GoPointer())
112115 }
113116
@@ -115,6 +118,8 @@ var xTestLogBufferPop func(uintptr) uintptr
115118
116119 // Internal function for gtester to retrieve test log messages, no ABI guarantees provided.
117120 func (x *TestLogBuffer) Pop() *TestLogMsg {
121+ core.LazyRegister(&xTestLogBufferPop, "GLIB", "g_test_log_buffer_pop", false)
122+
118123 cret := xTestLogBufferPop(x.GoPointer())
119124 if cret == 0 {
120125 return nil
@@ -126,6 +131,8 @@ var xTestLogBufferPush func(uintptr, uint, byte)
126131
127132 // Internal function for gtester to decode test log messages, no ABI guarantees provided.
128133 func (x *TestLogBuffer) Push(NBytesVar uint, BytesVar byte) {
134+ core.LazyRegister(&xTestLogBufferPush, "GLIB", "g_test_log_buffer_push", false)
135+
129136 xTestLogBufferPush(x.GoPointer(), NBytesVar, BytesVar)
130137 }
131138
@@ -159,6 +166,8 @@ var xTestLogMsgFree func(uintptr)
159166
160167 // Internal function for gtester to free test log messages, no ABI guarantees provided.
161168 func (x *TestLogMsg) Free() {
169+ core.LazyRegister(&xTestLogMsgFree, "GLIB", "g_test_log_msg_free", false)
170+
162171 xTestLogMsgFree(x.GoPointer())
163172 }
164173
@@ -183,6 +192,8 @@ var xTestSuiteAdd func(uintptr, *TestCase)
183192
184193 // Adds @test_case to @suite.
185194 func (x *TestSuite) Add(TestCaseVar *TestCase) {
195+ core.LazyRegister(&xTestSuiteAdd, "GLIB", "g_test_suite_add", false)
196+
186197 xTestSuiteAdd(x.GoPointer(), TestCaseVar)
187198 }
188199
@@ -190,6 +201,8 @@ var xTestSuiteAddSuite func(uintptr, *TestSuite)
190201
191202 // Adds @nestedsuite to @suite.
192203 func (x *TestSuite) AddSuite(NestedsuiteVar *TestSuite) {
204+ core.LazyRegister(&xTestSuiteAddSuite, "GLIB", "g_test_suite_add_suite", false)
205+
193206 xTestSuiteAddSuite(x.GoPointer(), NestedsuiteVar)
194207 }
195208
@@ -197,6 +210,8 @@ var xTestSuiteFree func(uintptr)
197210
198211 // Frees the @suite and all nested suites.
199212 func (x *TestSuite) Free() {
213+ core.LazyRegister(&xTestSuiteFree, "GLIB", "g_test_suite_free", false)
214+
200215 xTestSuiteFree(x.GoPointer())
201216 }
202217
@@ -365,36 +380,48 @@ const (
365380 var xAssertionMessage func(string, string, int, string, string)
366381
367382 func AssertionMessage(DomainVar string, FileVar string, LineVar int, FuncVar string, MessageVar string) {
383+ core.LazyRegister(&xAssertionMessage, "GLIB", "g_assertion_message", false)
384+
368385 xAssertionMessage(DomainVar, FileVar, LineVar, FuncVar, MessageVar)
369386 }
370387
371388 var xAssertionMessageCmpint func(string, string, int, string, string, uint64, string, uint64, byte)
372389
373390 func AssertionMessageCmpint(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var uint64, CmpVar string, Arg2Var uint64, NumtypeVar byte) {
391+ core.LazyRegister(&xAssertionMessageCmpint, "GLIB", "g_assertion_message_cmpint", false)
392+
374393 xAssertionMessageCmpint(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var, NumtypeVar)
375394 }
376395
377396 var xAssertionMessageCmpnum func(string, string, int, string, string, float64, string, float64, byte)
378397
379398 func AssertionMessageCmpnum(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var float64, CmpVar string, Arg2Var float64, NumtypeVar byte) {
399+ core.LazyRegister(&xAssertionMessageCmpnum, "GLIB", "g_assertion_message_cmpnum", false)
400+
380401 xAssertionMessageCmpnum(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var, NumtypeVar)
381402 }
382403
383404 var xAssertionMessageCmpstr func(string, string, int, string, string, string, string, string)
384405
385406 func AssertionMessageCmpstr(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var string, CmpVar string, Arg2Var string) {
407+ core.LazyRegister(&xAssertionMessageCmpstr, "GLIB", "g_assertion_message_cmpstr", false)
408+
386409 xAssertionMessageCmpstr(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var)
387410 }
388411
389412 var xAssertionMessageCmpstrv func(string, string, int, string, string, string, string, uint)
390413
391414 func AssertionMessageCmpstrv(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var string, Arg2Var string, FirstWrongIdxVar uint) {
415+ core.LazyRegister(&xAssertionMessageCmpstrv, "GLIB", "g_assertion_message_cmpstrv", false)
416+
392417 xAssertionMessageCmpstrv(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, Arg2Var, FirstWrongIdxVar)
393418 }
394419
395420 var xAssertionMessageError func(string, string, int, string, string, *Error, Quark, int)
396421
397422 func AssertionMessageError(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, ErrorVar *Error, ErrorDomainVar Quark, ErrorCodeVar int) {
423+ core.LazyRegister(&xAssertionMessageError, "GLIB", "g_assertion_message_error", false)
424+
398425 xAssertionMessageError(DomainVar, FileVar, LineVar, FuncVar, ExprVar, ErrorVar, ErrorDomainVar, ErrorCodeVar)
399426 }
400427
@@ -403,6 +430,8 @@ var xAssertionMessageExpr func(uintptr, string, int, string, uintptr)
403430 // Internal function used to print messages from the public
404431 // g_assert() and g_assert_not_reached() macros.
405432 func AssertionMessageExpr(DomainVar *string, FileVar string, LineVar int, FuncVar string, ExprVar *string) {
433+ core.LazyRegister(&xAssertionMessageExpr, "GLIB", "g_assertion_message_expr", false)
434+
406435 DomainVarPtr := core.GStrdupNullable(DomainVar)
407436 defer core.GFreeNullable(DomainVarPtr)
408437
@@ -419,6 +448,8 @@ var xStrcmp0 func(uintptr, uintptr) int
419448 // Handles `NULL` gracefully by sorting it before non-`NULL` strings.
420449 // Comparing two `NULL` pointers returns 0.
421450 func Strcmp0(Str1Var *string, Str2Var *string) int {
451+ core.LazyRegister(&xStrcmp0, "GLIB", "g_strcmp0", false)
452+
422453 Str1VarPtr := core.GStrdupNullable(Str1Var)
423454 defer core.GFreeNullable(Str1VarPtr)
424455
@@ -447,6 +478,8 @@ var xTestAddDataFunc func(string, uintptr, uintptr)
447478 // [const@GLib.TEST_OPTION_ISOLATE_DIRS] option is being used;
448479 // and it is recommended to do so even if it isn’t.
449480 func TestAddDataFunc(TestpathVar string, TestDataVar uintptr, TestFuncVar *TestDataFunc) {
481+ core.LazyRegister(&xTestAddDataFunc, "GLIB", "g_test_add_data_func", false)
482+
450483 xTestAddDataFunc(TestpathVar, TestDataVar, NewCallback(TestFuncVar))
451484 }
452485
@@ -457,6 +490,8 @@ var xTestAddDataFuncFull func(string, uintptr, uintptr, uintptr)
457490 // In contrast to [func@GLib.test_add_data_func], this function
458491 // is freeing @test_data after the test run is complete.
459492 func TestAddDataFuncFull(TestpathVar string, TestDataVar uintptr, TestFuncVar *TestDataFunc, DataFreeFuncVar *DestroyNotify) {
493+ core.LazyRegister(&xTestAddDataFuncFull, "GLIB", "g_test_add_data_func_full", false)
494+
460495 xTestAddDataFuncFull(TestpathVar, TestDataVar, NewCallback(TestFuncVar), NewCallback(DataFreeFuncVar))
461496 }
462497
@@ -477,18 +512,24 @@ var xTestAddFunc func(string, uintptr)
477512 // [const@GLib.TEST_OPTION_ISOLATE_DIRS] option is being used; and
478513 // it is recommended to do so even if it isn’t.
479514 func TestAddFunc(TestpathVar string, TestFuncVar *TestFunc) {
515+ core.LazyRegister(&xTestAddFunc, "GLIB", "g_test_add_func", false)
516+
480517 xTestAddFunc(TestpathVar, NewCallback(TestFuncVar))
481518 }
482519
483520 var xTestAddVtable func(string, uint, uintptr, uintptr, uintptr, uintptr)
484521
485522 func TestAddVtable(TestpathVar string, DataSizeVar uint, TestDataVar uintptr, DataSetupVar *TestFixtureFunc, DataTestVar *TestFixtureFunc, DataTeardownVar *TestFixtureFunc) {
523+ core.LazyRegister(&xTestAddVtable, "GLIB", "g_test_add_vtable", false)
524+
486525 xTestAddVtable(TestpathVar, DataSizeVar, TestDataVar, NewCallback(DataSetupVar), NewCallback(DataTestVar), NewCallback(DataTeardownVar))
487526 }
488527
489528 var xTestAssertExpectedMessagesInternal func(string, string, int, string)
490529
491530 func TestAssertExpectedMessagesInternal(DomainVar string, FileVar string, LineVar int, FuncVar string) {
531+ core.LazyRegister(&xTestAssertExpectedMessagesInternal, "GLIB", "g_test_assert_expected_messages_internal", false)
532+
492533 xTestAssertExpectedMessagesInternal(DomainVar, FileVar, LineVar, FuncVar)
493534 }
494535
@@ -506,6 +547,8 @@ var xTestBug func(string)
506547 // Since GLib 2.70, the base URI is not prepended to @bug_uri_snippet
507548 // if it is already a valid URI.
508549 func TestBug(BugUriSnippetVar string) {
550+ core.LazyRegister(&xTestBug, "GLIB", "g_test_bug", false)
551+
509552 xTestBug(BugUriSnippetVar)
510553 }
511554
@@ -526,6 +569,8 @@ var xTestBugBase func(string)
526569 // If [func@GLib.test_bug_base] is not called, bug URIs are formed
527570 // solely from the value provided by [func@GLib.test_bug].
528571 func TestBugBase(UriPatternVar string) {
572+ core.LazyRegister(&xTestBugBase, "GLIB", "g_test_bug_base", false)
573+
529574 xTestBugBase(UriPatternVar)
530575 }
531576
@@ -554,6 +599,8 @@ var xTestBuildFilename func(TestFileType, string, ...interface{}) string
554599 // installed tests, assuming the data files have been installed in the
555600 // same relative path as the test binary.
556601 func TestBuildFilename(FileTypeVar TestFileType, FirstPathVar string, varArgs ...interface{}) string {
602+ core.LazyRegister(&xTestBuildFilename, "GLIB", "g_test_build_filename", false)
603+
557604 cret := xTestBuildFilename(FileTypeVar, FirstPathVar, varArgs...)
558605 return cret
559606 }
@@ -578,6 +625,8 @@ var xTestCreateCase func(string, uint, uintptr, uintptr, uintptr, uintptr) uintp
578625 // called with the same type of fixture (the @data_size argument), but
579626 // varying @test_name and @data_test arguments.
580627 func TestCreateCase(TestNameVar string, DataSizeVar uint, TestDataVar uintptr, DataSetupVar *TestFixtureFunc, DataTestVar *TestFixtureFunc, DataTeardownVar *TestFixtureFunc) *TestCase {
628+ core.LazyRegister(&xTestCreateCase, "GLIB", "g_test_create_case", false)
629+
581630 cret := xTestCreateCase(TestNameVar, DataSizeVar, TestDataVar, NewCallback(DataSetupVar), NewCallback(DataTestVar), NewCallback(DataTeardownVar))
582631 if cret == 0 {
583632 return nil
@@ -589,6 +638,8 @@ var xTestCreateSuite func(string) uintptr
589638
590639 // Creates a new test suite with the name @suite_name.
591640 func TestCreateSuite(SuiteNameVar string) *TestSuite {
641+ core.LazyRegister(&xTestCreateSuite, "GLIB", "g_test_create_suite", false)
642+
592643 cret := xTestCreateSuite(SuiteNameVar)
593644 if cret == 0 {
594645 return nil
@@ -604,6 +655,8 @@ var xTestDisableCrashReporting func()
604655 // expected or intended to crash, to avoid wasting resources in system-wide
605656 // crash collection infrastructure such as systemd-coredump or abrt.
606657 func TestDisableCrashReporting() {
658+ core.LazyRegister(&xTestDisableCrashReporting, "GLIB", "g_test_disable_crash_reporting", false)
659+
607660 xTestDisableCrashReporting()
608661 }
609662
@@ -647,6 +700,8 @@ var xTestExpectMessage func(uintptr, LogLevelFlags, string)
647700 // If messages at [flags@GLib.LogLevelFlags.LEVEL_DEBUG] are emitted, but not explicitly
648701 // expected via [func@GLib.test_expect_message] then they will be ignored.
649702 func TestExpectMessage(LogDomainVar *string, LogLevelVar LogLevelFlags, PatternVar string) {
703+ core.LazyRegister(&xTestExpectMessage, "GLIB", "g_test_expect_message", false)
704+
650705 LogDomainVarPtr := core.GStrdupNullable(LogDomainVar)
651706 defer core.GFreeNullable(LogDomainVarPtr)
652707
@@ -676,6 +731,8 @@ var xTestFail func()
676731 // [func@GLib.test_message] before [func@GLib.test_fail], or use
677732 // [func@GLib.test_fail_printf] instead.
678733 func TestFail() {
734+ core.LazyRegister(&xTestFail, "GLIB", "g_test_fail", false)
735+
679736 xTestFail()
680737 }
681738
@@ -687,6 +744,8 @@ var xTestFailPrintf func(string, ...interface{})
687744 //
688745 // The message is formatted as if by [func@GLib.strdup_printf].
689746 func TestFailPrintf(FormatVar string, varArgs ...interface{}) {
747+ core.LazyRegister(&xTestFailPrintf, "GLIB", "g_test_fail_printf", false)
748+
690749 xTestFailPrintf(FormatVar, varArgs...)
691750 }
692751
@@ -704,6 +763,8 @@ var xTestFailed func() bool
704763 // The return value of this function is only meaningful
705764 // if it is called from inside a test function.
706765 func TestFailed() bool {
766+ core.LazyRegister(&xTestFailed, "GLIB", "g_test_failed", false)
767+
707768 cret := xTestFailed()
708769 return cret
709770 }
@@ -716,6 +777,8 @@ var xTestGetDir func(TestFileType) string
716777 // This is approximately the same as calling `g_test_build_filename(".")`,
717778 // but you don't need to free the return value.
718779 func TestGetDir(FileTypeVar TestFileType) string {
780+ core.LazyRegister(&xTestGetDir, "GLIB", "g_test_get_dir", false)
781+
719782 cret := xTestGetDir(FileTypeVar)
720783 return cret
721784 }
@@ -735,6 +798,8 @@ var xTestGetFilename func(TestFileType, string, ...interface{}) string
735798 // function returns (ie: it is best to ensure that all threads have been
736799 // joined).
737800 func TestGetFilename(FileTypeVar TestFileType, FirstPathVar string, varArgs ...interface{}) string {
801+ core.LazyRegister(&xTestGetFilename, "GLIB", "g_test_get_filename", false)
802+
738803 cret := xTestGetFilename(FileTypeVar, FirstPathVar, varArgs...)
739804 return cret
740805 }
@@ -750,6 +815,8 @@ var xTestGetPath func() string
750815 //
751816 // Note that this is a test path, not a file system path.
752817 func TestGetPath() string {
818+ core.LazyRegister(&xTestGetPath, "GLIB", "g_test_get_path", false)
819+
753820 cret := xTestGetPath()
754821 return cret
755822 }
@@ -758,6 +825,8 @@ var xTestGetRoot func() uintptr
758825
759826 // Gets the toplevel test suite for the test path API.
760827 func TestGetRoot() *TestSuite {
828+ core.LazyRegister(&xTestGetRoot, "GLIB", "g_test_get_root", false)
829+
761830 cret := xTestGetRoot()
762831 if cret == 0 {
763832 return nil
@@ -779,6 +848,8 @@ var xTestIncomplete func(uintptr)
779848 //
780849 // If not called from inside a test, this function does nothing.
781850 func TestIncomplete(MsgVar *string) {
851+ core.LazyRegister(&xTestIncomplete, "GLIB", "g_test_incomplete", false)
852+
782853 MsgVarPtr := core.GStrdupNullable(MsgVar)
783854 defer core.GFreeNullable(MsgVarPtr)
784855
@@ -793,6 +864,8 @@ var xTestIncompletePrintf func(string, ...interface{})
793864 // Equivalent to [func@GLib.test_incomplete], but the explanation
794865 // is formatted as if by [func@GLib.strdup_printf].
795866 func TestIncompletePrintf(FormatVar string, varArgs ...interface{}) {
867+ core.LazyRegister(&xTestIncompletePrintf, "GLIB", "g_test_incomplete_printf", false)
868+
796869 xTestIncompletePrintf(FormatVar, varArgs...)
797870 }
798871
@@ -858,6 +931,8 @@ var xTestInit func(int, string, ...interface{})
858931 // when compiled with `G_DISABLE_ASSERT`. Ensure your tests are compiled without
859932 // `G_DISABLE_ASSERT` defined.
860933 func TestInit(ArgcVar int, ArgvVar string, varArgs ...interface{}) {
934+ core.LazyRegister(&xTestInit, "GLIB", "g_test_init", false)
935+
861936 xTestInit(ArgcVar, ArgvVar, varArgs...)
862937 }
863938
@@ -885,12 +960,16 @@ var xTestLogSetFatalHandler func(uintptr, uintptr)
885960 // writer function using [func@GLib.log_set_writer_func].See
886961 // [Using Structured Logging](logging.html#using-structured-logging).
887962 func TestLogSetFatalHandler(LogFuncVar *TestLogFatalFunc, UserDataVar uintptr) {
963+ core.LazyRegister(&xTestLogSetFatalHandler, "GLIB", "g_test_log_set_fatal_handler", false)
964+
888965 xTestLogSetFatalHandler(NewCallback(LogFuncVar), UserDataVar)
889966 }
890967
891968 var xTestLogTypeName func(TestLogType) string
892969
893970 func TestLogTypeName(LogTypeVar TestLogType) string {
971+ core.LazyRegister(&xTestLogTypeName, "GLIB", "g_test_log_type_name", false)
972+
894973 cret := xTestLogTypeName(LogTypeVar)
895974 return cret
896975 }
@@ -904,6 +983,8 @@ var xTestMaximizedResult func(float64, string, ...interface{})
904983 // this and @maximized_quantity can determine sorting
905984 // order for test result reports.
906985 func TestMaximizedResult(MaximizedQuantityVar float64, FormatVar string, varArgs ...interface{}) {
986+ core.LazyRegister(&xTestMaximizedResult, "GLIB", "g_test_maximized_result", false)
987+
907988 xTestMaximizedResult(MaximizedQuantityVar, FormatVar, varArgs...)
908989 }
909990
@@ -911,6 +992,8 @@ var xTestMessage func(string, ...interface{})
911992
912993 // Adds a message to the test report.
913994 func TestMessage(FormatVar string, varArgs ...interface{}) {
995+ core.LazyRegister(&xTestMessage, "GLIB", "g_test_message", false)
996+
914997 xTestMessage(FormatVar, varArgs...)
915998 }
916999
@@ -923,6 +1006,8 @@ var xTestMinimizedResult func(float64, string, ...interface{})
9231006 // this and @minimized_quantity can determine sorting
9241007 // order for test result reports.
9251008 func TestMinimizedResult(MinimizedQuantityVar float64, FormatVar string, varArgs ...interface{}) {
1009+ core.LazyRegister(&xTestMinimizedResult, "GLIB", "g_test_minimized_result", false)
1010+
9261011 xTestMinimizedResult(MinimizedQuantityVar, FormatVar, varArgs...)
9271012 }
9281013
@@ -936,6 +1021,8 @@ var xTestQueueDestroy func(uintptr, uintptr)
9361021 // enqueueing callback `A` before callback `B` will cause `B()` to be called
9371022 // before `A()` during teardown.
9381023 func TestQueueDestroy(DestroyFuncVar *DestroyNotify, DestroyDataVar uintptr) {
1024+ core.LazyRegister(&xTestQueueDestroy, "GLIB", "g_test_queue_destroy", false)
1025+
9391026 xTestQueueDestroy(NewCallbackNullable(DestroyFuncVar), DestroyDataVar)
9401027 }
9411028
@@ -947,6 +1034,8 @@ var xTestQueueFree func(uintptr)
9471034 // This is equivalent to calling [func@GLib.test_queue_destroy]
9481035 // with a destroy callback of [func@GLib.free].
9491036 func TestQueueFree(GfreePointerVar uintptr) {
1037+ core.LazyRegister(&xTestQueueFree, "GLIB", "g_test_queue_free", false)
1038+
9501039 xTestQueueFree(GfreePointerVar)
9511040 }
9521041
@@ -956,6 +1045,8 @@ var xTestRandDouble func() float64
9561045 //
9571046 // See [func@GLib.test_rand_int] for details on test case random numbers.
9581047 func TestRandDouble() float64 {
1048+ core.LazyRegister(&xTestRandDouble, "GLIB", "g_test_rand_double", false)
1049+
9591050 cret := xTestRandDouble()
9601051 return cret
9611052 }
@@ -966,6 +1057,8 @@ var xTestRandDoubleRange func(float64, float64) float64
9661057 //
9671058 // See [func@GLib.test_rand_int] for details on test case random numbers.
9681059 func TestRandDoubleRange(RangeStartVar float64, RangeEndVar float64) float64 {
1060+ core.LazyRegister(&xTestRandDoubleRange, "GLIB", "g_test_rand_double_range", false)
1061+
9691062 cret := xTestRandDoubleRange(RangeStartVar, RangeEndVar)
9701063 return cret
9711064 }
@@ -982,6 +1075,8 @@ var xTestRandInt func() int32
9821075 // reseeded, to avoid dependencies between tests and to make --seed
9831076 // effective for all test cases.
9841077 func TestRandInt() int32 {
1078+ core.LazyRegister(&xTestRandInt, "GLIB", "g_test_rand_int", false)
1079+
9851080 cret := xTestRandInt()
9861081 return cret
9871082 }
@@ -992,6 +1087,8 @@ var xTestRandIntRange func(int32, int32) int32
9921087 //
9931088 // See [func@GLib.test_rand_int] for details on test case random numbers.
9941089 func TestRandIntRange(BeginVar int32, EndVar int32) int32 {
1090+ core.LazyRegister(&xTestRandIntRange, "GLIB", "g_test_rand_int_range", false)
1091+
9951092 cret := xTestRandIntRange(BeginVar, EndVar)
9961093 return cret
9971094 }
@@ -1033,6 +1130,8 @@ var xTestRun func() int
10331130 // this function will return 0 if producing TAP output, or 77 (treated
10341131 // as "skip test" by Automake) otherwise.
10351132 func TestRun() int {
1133+ core.LazyRegister(&xTestRun, "GLIB", "g_test_run", false)
1134+
10361135 cret := xTestRun()
10371136 return cret
10381137 }
@@ -1049,6 +1148,8 @@ var xTestRunSuite func(*TestSuite) int
10491148 // [func@GLib.test_run_suite] or [func@GLib.test_run] may only be
10501149 // called once in a program.
10511150 func TestRunSuite(SuiteVar *TestSuite) int {
1151+ core.LazyRegister(&xTestRunSuite, "GLIB", "g_test_run_suite", false)
1152+
10521153 cret := xTestRunSuite(SuiteVar)
10531154 return cret
10541155 }
@@ -1071,6 +1172,8 @@ var xTestSetNonfatalAssertions func()
10711172 //
10721173 // This function can only be called after [func@GLib.test_init].
10731174 func TestSetNonfatalAssertions() {
1175+ core.LazyRegister(&xTestSetNonfatalAssertions, "GLIB", "g_test_set_nonfatal_assertions", false)
1176+
10741177 xTestSetNonfatalAssertions()
10751178 }
10761179
@@ -1085,6 +1188,8 @@ var xTestSkip func(uintptr)
10851188 //
10861189 // If not called from inside a test, this function does nothing.
10871190 func TestSkip(MsgVar *string) {
1191+ core.LazyRegister(&xTestSkip, "GLIB", "g_test_skip", false)
1192+
10881193 MsgVarPtr := core.GStrdupNullable(MsgVar)
10891194 defer core.GFreeNullable(MsgVarPtr)
10901195
@@ -1098,6 +1203,8 @@ var xTestSkipPrintf func(string, ...interface{})
10981203 // Equivalent to [func@GLib.test_skip], but the explanation
10991204 // is formatted as if by [func@GLib.strdup_printf].
11001205 func TestSkipPrintf(FormatVar string, varArgs ...interface{}) {
1206+ core.LazyRegister(&xTestSkipPrintf, "GLIB", "g_test_skip_printf", false)
1207+
11011208 xTestSkipPrintf(FormatVar, varArgs...)
11021209 }
11031210
@@ -1105,6 +1212,8 @@ var xTestSubprocess func() bool
11051212
11061213 // Returns true if the test program is running under [func@GLib.test_trap_subprocess].
11071214 func TestSubprocess() bool {
1215+ core.LazyRegister(&xTestSubprocess, "GLIB", "g_test_subprocess", false)
1216+
11081217 cret := xTestSubprocess()
11091218 return cret
11101219 }
@@ -1136,6 +1245,8 @@ var xTestSummary func(string)
11361245 //
11371246 // See also [func@GLib.test_bug].
11381247 func TestSummary(SummaryVar string) {
1248+ core.LazyRegister(&xTestSummary, "GLIB", "g_test_summary", false)
1249+
11391250 xTestSummary(SummaryVar)
11401251 }
11411252
@@ -1144,6 +1255,8 @@ var xTestTimerElapsed func() float64
11441255 // Gets the number of seconds since the last start of the timer with
11451256 // [func@GLib.test_timer_start].
11461257 func TestTimerElapsed() float64 {
1258+ core.LazyRegister(&xTestTimerElapsed, "GLIB", "g_test_timer_elapsed", false)
1259+
11471260 cret := xTestTimerElapsed()
11481261 return cret
11491262 }
@@ -1152,6 +1265,8 @@ var xTestTimerLast func() float64
11521265
11531266 // Reports the last result of [func@GLib.test_timer_elapsed].
11541267 func TestTimerLast() float64 {
1268+ core.LazyRegister(&xTestTimerLast, "GLIB", "g_test_timer_last", false)
1269+
11551270 cret := xTestTimerLast()
11561271 return cret
11571272 }
@@ -1163,12 +1278,16 @@ var xTestTimerStart func()
11631278 // Call [func@GLib.test_timer_elapsed] when the task is supposed
11641279 // to be done. Call this function again to restart the timer.
11651280 func TestTimerStart() {
1281+ core.LazyRegister(&xTestTimerStart, "GLIB", "g_test_timer_start", false)
1282+
11661283 xTestTimerStart()
11671284 }
11681285
11691286 var xTestTrapAssertions func(string, string, int, string, uint64, string)
11701287
11711288 func TestTrapAssertions(DomainVar string, FileVar string, LineVar int, FuncVar string, AssertionFlagsVar uint64, PatternVar string) {
1289+ core.LazyRegister(&xTestTrapAssertions, "GLIB", "g_test_trap_assertions", false)
1290+
11721291 xTestTrapAssertions(DomainVar, FileVar, LineVar, FuncVar, AssertionFlagsVar, PatternVar)
11731292 }
11741293
@@ -1212,6 +1331,8 @@ var xTestTrapFork func(uint64, TestTrapFlags) bool
12121331 //
12131332 // ```
12141333 func TestTrapFork(UsecTimeoutVar uint64, TestTrapFlagsVar TestTrapFlags) bool {
1334+ core.LazyRegister(&xTestTrapFork, "GLIB", "g_test_trap_fork", false)
1335+
12151336 cret := xTestTrapFork(UsecTimeoutVar, TestTrapFlagsVar)
12161337 return cret
12171338 }
@@ -1220,6 +1341,8 @@ var xTestTrapHasPassed func() bool
12201341
12211342 // Checks the result of the last [func@GLib.test_trap_subprocess] call.
12221343 func TestTrapHasPassed() bool {
1344+ core.LazyRegister(&xTestTrapHasPassed, "GLIB", "g_test_trap_has_passed", false)
1345+
12231346 cret := xTestTrapHasPassed()
12241347 return cret
12251348 }
@@ -1228,6 +1351,8 @@ var xTestTrapHasSkipped func() bool
12281351
12291352 // Checks the result of the last [func@GLib.test_trap_subprocess] call.
12301353 func TestTrapHasSkipped() bool {
1354+ core.LazyRegister(&xTestTrapHasSkipped, "GLIB", "g_test_trap_has_skipped", false)
1355+
12311356 cret := xTestTrapHasSkipped()
12321357 return cret
12331358 }
@@ -1236,6 +1361,8 @@ var xTestTrapReachedTimeout func() bool
12361361
12371362 // Checks the result of the last [func@GLib.test_trap_subprocess] call.
12381363 func TestTrapReachedTimeout() bool {
1364+ core.LazyRegister(&xTestTrapReachedTimeout, "GLIB", "g_test_trap_reached_timeout", false)
1365+
12391366 cret := xTestTrapReachedTimeout()
12401367 return cret
12411368 }
@@ -1248,6 +1375,8 @@ var xTestTrapSubprocess func(uintptr, uint64, TestSubprocessFlags)
12481375 // with `envp` set to `NULL`. See the documentation for that function
12491376 // for full details.
12501377 func TestTrapSubprocess(TestPathVar *string, UsecTimeoutVar uint64, TestFlagsVar TestSubprocessFlags) {
1378+ core.LazyRegister(&xTestTrapSubprocess, "GLIB", "g_test_trap_subprocess", false)
1379+
12511380 TestPathVarPtr := core.GStrdupNullable(TestPathVar)
12521381 defer core.GFreeNullable(TestPathVarPtr)
12531382
@@ -1348,6 +1477,8 @@ var xTestTrapSubprocessWithEnvp func(uintptr, []string, uint64, TestSubprocessFl
13481477 //
13491478 // ```
13501479 func TestTrapSubprocessWithEnvp(TestPathVar *string, EnvpVar []string, UsecTimeoutVar uint64, TestFlagsVar TestSubprocessFlags) {
1480+ core.LazyRegister(&xTestTrapSubprocessWithEnvp, "GLIB", "g_test_trap_subprocess_with_envp", false)
1481+
13511482 TestPathVarPtr := core.GStrdupNullable(TestPathVar)
13521483 defer core.GFreeNullable(TestPathVarPtr)
13531484
@@ -1357,83 +1488,4 @@ func TestTrapSubprocessWithEnvp(TestPathVar *string, EnvpVar []string, UsecTimeo
13571488 func init() {
13581489 core.SetPackageName("GLIB", "glib-2.0")
13591490 core.SetSharedLibraries("GLIB", []string{"libgobject-2.0.so.0", "libglib-2.0.so.0", "libgobject-2.0.0.dylib", "libglib-2.0.0.dylib"})
1360- var libs []uintptr
1361- for _, libPath := range core.GetPaths("GLIB") {
1362- lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
1363- if err != nil {
1364- panic(err)
1365- }
1366- libs = append(libs, lib)
1367- }
1368-
1369- core.PuregoSafeRegister(&xAssertionMessage, libs, "g_assertion_message")
1370- core.PuregoSafeRegister(&xAssertionMessageCmpint, libs, "g_assertion_message_cmpint")
1371- core.PuregoSafeRegister(&xAssertionMessageCmpnum, libs, "g_assertion_message_cmpnum")
1372- core.PuregoSafeRegister(&xAssertionMessageCmpstr, libs, "g_assertion_message_cmpstr")
1373- core.PuregoSafeRegister(&xAssertionMessageCmpstrv, libs, "g_assertion_message_cmpstrv")
1374- core.PuregoSafeRegister(&xAssertionMessageError, libs, "g_assertion_message_error")
1375- core.PuregoSafeRegister(&xAssertionMessageExpr, libs, "g_assertion_message_expr")
1376- core.PuregoSafeRegister(&xStrcmp0, libs, "g_strcmp0")
1377- core.PuregoSafeRegister(&xTestAddDataFunc, libs, "g_test_add_data_func")
1378- core.PuregoSafeRegister(&xTestAddDataFuncFull, libs, "g_test_add_data_func_full")
1379- core.PuregoSafeRegister(&xTestAddFunc, libs, "g_test_add_func")
1380- core.PuregoSafeRegister(&xTestAddVtable, libs, "g_test_add_vtable")
1381- core.PuregoSafeRegister(&xTestAssertExpectedMessagesInternal, libs, "g_test_assert_expected_messages_internal")
1382- core.PuregoSafeRegister(&xTestBug, libs, "g_test_bug")
1383- core.PuregoSafeRegister(&xTestBugBase, libs, "g_test_bug_base")
1384- core.PuregoSafeRegister(&xTestBuildFilename, libs, "g_test_build_filename")
1385- core.PuregoSafeRegister(&xTestCreateCase, libs, "g_test_create_case")
1386- core.PuregoSafeRegister(&xTestCreateSuite, libs, "g_test_create_suite")
1387- core.PuregoSafeRegister(&xTestDisableCrashReporting, libs, "g_test_disable_crash_reporting")
1388- core.PuregoSafeRegister(&xTestExpectMessage, libs, "g_test_expect_message")
1389- core.PuregoSafeRegister(&xTestFail, libs, "g_test_fail")
1390- core.PuregoSafeRegister(&xTestFailPrintf, libs, "g_test_fail_printf")
1391- core.PuregoSafeRegister(&xTestFailed, libs, "g_test_failed")
1392- core.PuregoSafeRegister(&xTestGetDir, libs, "g_test_get_dir")
1393- core.PuregoSafeRegister(&xTestGetFilename, libs, "g_test_get_filename")
1394- core.PuregoSafeRegister(&xTestGetPath, libs, "g_test_get_path")
1395- core.PuregoSafeRegister(&xTestGetRoot, libs, "g_test_get_root")
1396- core.PuregoSafeRegister(&xTestIncomplete, libs, "g_test_incomplete")
1397- core.PuregoSafeRegister(&xTestIncompletePrintf, libs, "g_test_incomplete_printf")
1398- core.PuregoSafeRegister(&xTestInit, libs, "g_test_init")
1399- core.PuregoSafeRegister(&xTestLogSetFatalHandler, libs, "g_test_log_set_fatal_handler")
1400- core.PuregoSafeRegister(&xTestLogTypeName, libs, "g_test_log_type_name")
1401- core.PuregoSafeRegister(&xTestMaximizedResult, libs, "g_test_maximized_result")
1402- core.PuregoSafeRegister(&xTestMessage, libs, "g_test_message")
1403- core.PuregoSafeRegister(&xTestMinimizedResult, libs, "g_test_minimized_result")
1404- core.PuregoSafeRegister(&xTestQueueDestroy, libs, "g_test_queue_destroy")
1405- core.PuregoSafeRegister(&xTestQueueFree, libs, "g_test_queue_free")
1406- core.PuregoSafeRegister(&xTestRandDouble, libs, "g_test_rand_double")
1407- core.PuregoSafeRegister(&xTestRandDoubleRange, libs, "g_test_rand_double_range")
1408- core.PuregoSafeRegister(&xTestRandInt, libs, "g_test_rand_int")
1409- core.PuregoSafeRegister(&xTestRandIntRange, libs, "g_test_rand_int_range")
1410- core.PuregoSafeRegister(&xTestRun, libs, "g_test_run")
1411- core.PuregoSafeRegister(&xTestRunSuite, libs, "g_test_run_suite")
1412- core.PuregoSafeRegister(&xTestSetNonfatalAssertions, libs, "g_test_set_nonfatal_assertions")
1413- core.PuregoSafeRegister(&xTestSkip, libs, "g_test_skip")
1414- core.PuregoSafeRegister(&xTestSkipPrintf, libs, "g_test_skip_printf")
1415- core.PuregoSafeRegister(&xTestSubprocess, libs, "g_test_subprocess")
1416- core.PuregoSafeRegister(&xTestSummary, libs, "g_test_summary")
1417- core.PuregoSafeRegister(&xTestTimerElapsed, libs, "g_test_timer_elapsed")
1418- core.PuregoSafeRegister(&xTestTimerLast, libs, "g_test_timer_last")
1419- core.PuregoSafeRegister(&xTestTimerStart, libs, "g_test_timer_start")
1420- core.PuregoSafeRegister(&xTestTrapAssertions, libs, "g_test_trap_assertions")
1421- core.PuregoSafeRegister(&xTestTrapFork, libs, "g_test_trap_fork")
1422- core.PuregoSafeRegister(&xTestTrapHasPassed, libs, "g_test_trap_has_passed")
1423- core.PuregoSafeRegister(&xTestTrapHasSkipped, libs, "g_test_trap_has_skipped")
1424- core.PuregoSafeRegister(&xTestTrapReachedTimeout, libs, "g_test_trap_reached_timeout")
1425- core.PuregoSafeRegister(&xTestTrapSubprocess, libs, "g_test_trap_subprocess")
1426- core.PuregoSafeRegister(&xTestTrapSubprocessWithEnvp, libs, "g_test_trap_subprocess_with_envp")
1427-
1428- core.PuregoSafeRegister(&xTestCaseFree, libs, "g_test_case_free")
1429-
1430- core.PuregoSafeRegister(&xTestLogBufferFree, libs, "g_test_log_buffer_free")
1431- core.PuregoSafeRegister(&xTestLogBufferPop, libs, "g_test_log_buffer_pop")
1432- core.PuregoSafeRegister(&xTestLogBufferPush, libs, "g_test_log_buffer_push")
1433-
1434- core.PuregoSafeRegister(&xTestLogMsgFree, libs, "g_test_log_msg_free")
1435-
1436- core.PuregoSafeRegister(&xTestSuiteAdd, libs, "g_test_suite_add")
1437- core.PuregoSafeRegister(&xTestSuiteAddSuite, libs, "g_test_suite_add_suite")
1438- core.PuregoSafeRegister(&xTestSuiteFree, libs, "g_test_suite_free")
14391491 }
@@ -5,7 +5,6 @@ import (
5 "structs"5 "structs"
6 "unsafe"6 "unsafe"
7 7
8- "github.com/bnema/purego"
9 "github.com/bnema/puregotk/pkg/core"8 "github.com/bnema/puregotk/pkg/core"
10 )9 )
11 10
@@ -53,6 +52,8 @@ var xTestCaseFree func(uintptr)
53 52
54 // Free the @test_case.53 // Free the @test_case.
55 func (x *TestCase) Free() {54 func (x *TestCase) Free() {
55+ core.LazyRegister(&xTestCaseFree, "GLIB", "g_test_case_free", false)
56+
56 xTestCaseFree(x.GoPointer())57 xTestCaseFree(x.GoPointer())
57 }58 }
58 59
@@ -108,6 +109,8 @@ var xTestLogBufferFree func(uintptr)
108 109
109 // Internal function for gtester to free test log messages, no ABI guarantees provided.110 // Internal function for gtester to free test log messages, no ABI guarantees provided.
110 func (x *TestLogBuffer) Free() {111 func (x *TestLogBuffer) Free() {
112+ core.LazyRegister(&xTestLogBufferFree, "GLIB", "g_test_log_buffer_free", false)
113+
111 xTestLogBufferFree(x.GoPointer())114 xTestLogBufferFree(x.GoPointer())
112 }115 }
113 116
@@ -115,6 +118,8 @@ var xTestLogBufferPop func(uintptr) uintptr
115 118
116 // Internal function for gtester to retrieve test log messages, no ABI guarantees provided.119 // Internal function for gtester to retrieve test log messages, no ABI guarantees provided.
117 func (x *TestLogBuffer) Pop() *TestLogMsg {120 func (x *TestLogBuffer) Pop() *TestLogMsg {
121+ core.LazyRegister(&xTestLogBufferPop, "GLIB", "g_test_log_buffer_pop", false)
122+
118 cret := xTestLogBufferPop(x.GoPointer())123 cret := xTestLogBufferPop(x.GoPointer())
119 if cret == 0 {124 if cret == 0 {
120 return nil125 return nil
@@ -126,6 +131,8 @@ var xTestLogBufferPush func(uintptr, uint, byte)
126 131
127 // Internal function for gtester to decode test log messages, no ABI guarantees provided.132 // Internal function for gtester to decode test log messages, no ABI guarantees provided.
128 func (x *TestLogBuffer) Push(NBytesVar uint, BytesVar byte) {133 func (x *TestLogBuffer) Push(NBytesVar uint, BytesVar byte) {
134+ core.LazyRegister(&xTestLogBufferPush, "GLIB", "g_test_log_buffer_push", false)
135+
129 xTestLogBufferPush(x.GoPointer(), NBytesVar, BytesVar)136 xTestLogBufferPush(x.GoPointer(), NBytesVar, BytesVar)
130 }137 }
131 138
@@ -159,6 +166,8 @@ var xTestLogMsgFree func(uintptr)
159 166
160 // Internal function for gtester to free test log messages, no ABI guarantees provided.167 // Internal function for gtester to free test log messages, no ABI guarantees provided.
161 func (x *TestLogMsg) Free() {168 func (x *TestLogMsg) Free() {
169+ core.LazyRegister(&xTestLogMsgFree, "GLIB", "g_test_log_msg_free", false)
170+
162 xTestLogMsgFree(x.GoPointer())171 xTestLogMsgFree(x.GoPointer())
163 }172 }
164 173
@@ -183,6 +192,8 @@ var xTestSuiteAdd func(uintptr, *TestCase)
183 192
184 // Adds @test_case to @suite.193 // Adds @test_case to @suite.
185 func (x *TestSuite) Add(TestCaseVar *TestCase) {194 func (x *TestSuite) Add(TestCaseVar *TestCase) {
195+ core.LazyRegister(&xTestSuiteAdd, "GLIB", "g_test_suite_add", false)
196+
186 xTestSuiteAdd(x.GoPointer(), TestCaseVar)197 xTestSuiteAdd(x.GoPointer(), TestCaseVar)
187 }198 }
188 199
@@ -190,6 +201,8 @@ var xTestSuiteAddSuite func(uintptr, *TestSuite)
190 201
191 // Adds @nestedsuite to @suite.202 // Adds @nestedsuite to @suite.
192 func (x *TestSuite) AddSuite(NestedsuiteVar *TestSuite) {203 func (x *TestSuite) AddSuite(NestedsuiteVar *TestSuite) {
204+ core.LazyRegister(&xTestSuiteAddSuite, "GLIB", "g_test_suite_add_suite", false)
205+
193 xTestSuiteAddSuite(x.GoPointer(), NestedsuiteVar)206 xTestSuiteAddSuite(x.GoPointer(), NestedsuiteVar)
194 }207 }
195 208
@@ -197,6 +210,8 @@ var xTestSuiteFree func(uintptr)
197 210
198 // Frees the @suite and all nested suites.211 // Frees the @suite and all nested suites.
199 func (x *TestSuite) Free() {212 func (x *TestSuite) Free() {
213+ core.LazyRegister(&xTestSuiteFree, "GLIB", "g_test_suite_free", false)
214+
200 xTestSuiteFree(x.GoPointer())215 xTestSuiteFree(x.GoPointer())
201 }216 }
202 217
@@ -365,36 +380,48 @@ const (
365 var xAssertionMessage func(string, string, int, string, string)380 var xAssertionMessage func(string, string, int, string, string)
366 381
367 func AssertionMessage(DomainVar string, FileVar string, LineVar int, FuncVar string, MessageVar string) {382 func AssertionMessage(DomainVar string, FileVar string, LineVar int, FuncVar string, MessageVar string) {
383+ core.LazyRegister(&xAssertionMessage, "GLIB", "g_assertion_message", false)
384+
368 xAssertionMessage(DomainVar, FileVar, LineVar, FuncVar, MessageVar)385 xAssertionMessage(DomainVar, FileVar, LineVar, FuncVar, MessageVar)
369 }386 }
370 387
371 var xAssertionMessageCmpint func(string, string, int, string, string, uint64, string, uint64, byte)388 var xAssertionMessageCmpint func(string, string, int, string, string, uint64, string, uint64, byte)
372 389
373 func AssertionMessageCmpint(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var uint64, CmpVar string, Arg2Var uint64, NumtypeVar byte) {390 func AssertionMessageCmpint(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var uint64, CmpVar string, Arg2Var uint64, NumtypeVar byte) {
391+ core.LazyRegister(&xAssertionMessageCmpint, "GLIB", "g_assertion_message_cmpint", false)
392+
374 xAssertionMessageCmpint(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var, NumtypeVar)393 xAssertionMessageCmpint(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var, NumtypeVar)
375 }394 }
376 395
377 var xAssertionMessageCmpnum func(string, string, int, string, string, float64, string, float64, byte)396 var xAssertionMessageCmpnum func(string, string, int, string, string, float64, string, float64, byte)
378 397
379 func AssertionMessageCmpnum(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var float64, CmpVar string, Arg2Var float64, NumtypeVar byte) {398 func AssertionMessageCmpnum(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var float64, CmpVar string, Arg2Var float64, NumtypeVar byte) {
399+ core.LazyRegister(&xAssertionMessageCmpnum, "GLIB", "g_assertion_message_cmpnum", false)
400+
380 xAssertionMessageCmpnum(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var, NumtypeVar)401 xAssertionMessageCmpnum(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var, NumtypeVar)
381 }402 }
382 403
383 var xAssertionMessageCmpstr func(string, string, int, string, string, string, string, string)404 var xAssertionMessageCmpstr func(string, string, int, string, string, string, string, string)
384 405
385 func AssertionMessageCmpstr(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var string, CmpVar string, Arg2Var string) {406 func AssertionMessageCmpstr(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var string, CmpVar string, Arg2Var string) {
407+ core.LazyRegister(&xAssertionMessageCmpstr, "GLIB", "g_assertion_message_cmpstr", false)
408+
386 xAssertionMessageCmpstr(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var)409 xAssertionMessageCmpstr(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, CmpVar, Arg2Var)
387 }410 }
388 411
389 var xAssertionMessageCmpstrv func(string, string, int, string, string, string, string, uint)412 var xAssertionMessageCmpstrv func(string, string, int, string, string, string, string, uint)
390 413
391 func AssertionMessageCmpstrv(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var string, Arg2Var string, FirstWrongIdxVar uint) {414 func AssertionMessageCmpstrv(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, Arg1Var string, Arg2Var string, FirstWrongIdxVar uint) {
415+ core.LazyRegister(&xAssertionMessageCmpstrv, "GLIB", "g_assertion_message_cmpstrv", false)
416+
392 xAssertionMessageCmpstrv(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, Arg2Var, FirstWrongIdxVar)417 xAssertionMessageCmpstrv(DomainVar, FileVar, LineVar, FuncVar, ExprVar, Arg1Var, Arg2Var, FirstWrongIdxVar)
393 }418 }
394 419
395 var xAssertionMessageError func(string, string, int, string, string, *Error, Quark, int)420 var xAssertionMessageError func(string, string, int, string, string, *Error, Quark, int)
396 421
397 func AssertionMessageError(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, ErrorVar *Error, ErrorDomainVar Quark, ErrorCodeVar int) {422 func AssertionMessageError(DomainVar string, FileVar string, LineVar int, FuncVar string, ExprVar string, ErrorVar *Error, ErrorDomainVar Quark, ErrorCodeVar int) {
423+ core.LazyRegister(&xAssertionMessageError, "GLIB", "g_assertion_message_error", false)
424+
398 xAssertionMessageError(DomainVar, FileVar, LineVar, FuncVar, ExprVar, ErrorVar, ErrorDomainVar, ErrorCodeVar)425 xAssertionMessageError(DomainVar, FileVar, LineVar, FuncVar, ExprVar, ErrorVar, ErrorDomainVar, ErrorCodeVar)
399 }426 }
400 427
@@ -403,6 +430,8 @@ var xAssertionMessageExpr func(uintptr, string, int, string, uintptr)
403 // Internal function used to print messages from the public430 // Internal function used to print messages from the public
404 // g_assert() and g_assert_not_reached() macros.431 // g_assert() and g_assert_not_reached() macros.
405 func AssertionMessageExpr(DomainVar *string, FileVar string, LineVar int, FuncVar string, ExprVar *string) {432 func AssertionMessageExpr(DomainVar *string, FileVar string, LineVar int, FuncVar string, ExprVar *string) {
433+ core.LazyRegister(&xAssertionMessageExpr, "GLIB", "g_assertion_message_expr", false)
434+
406 DomainVarPtr := core.GStrdupNullable(DomainVar)435 DomainVarPtr := core.GStrdupNullable(DomainVar)
407 defer core.GFreeNullable(DomainVarPtr)436 defer core.GFreeNullable(DomainVarPtr)
408 437
@@ -419,6 +448,8 @@ var xStrcmp0 func(uintptr, uintptr) int
419 // Handles `NULL` gracefully by sorting it before non-`NULL` strings.448 // Handles `NULL` gracefully by sorting it before non-`NULL` strings.
420 // Comparing two `NULL` pointers returns 0.449 // Comparing two `NULL` pointers returns 0.
421 func Strcmp0(Str1Var *string, Str2Var *string) int {450 func Strcmp0(Str1Var *string, Str2Var *string) int {
451+ core.LazyRegister(&xStrcmp0, "GLIB", "g_strcmp0", false)
452+
422 Str1VarPtr := core.GStrdupNullable(Str1Var)453 Str1VarPtr := core.GStrdupNullable(Str1Var)
423 defer core.GFreeNullable(Str1VarPtr)454 defer core.GFreeNullable(Str1VarPtr)
424 455
@@ -447,6 +478,8 @@ var xTestAddDataFunc func(string, uintptr, uintptr)
447 // [const@GLib.TEST_OPTION_ISOLATE_DIRS] option is being used;478 // [const@GLib.TEST_OPTION_ISOLATE_DIRS] option is being used;
448 // and it is recommended to do so even if it isn’t.479 // and it is recommended to do so even if it isn’t.
449 func TestAddDataFunc(TestpathVar string, TestDataVar uintptr, TestFuncVar *TestDataFunc) {480 func TestAddDataFunc(TestpathVar string, TestDataVar uintptr, TestFuncVar *TestDataFunc) {
481+ core.LazyRegister(&xTestAddDataFunc, "GLIB", "g_test_add_data_func", false)
482+
450 xTestAddDataFunc(TestpathVar, TestDataVar, NewCallback(TestFuncVar))483 xTestAddDataFunc(TestpathVar, TestDataVar, NewCallback(TestFuncVar))
451 }484 }
452 485
@@ -457,6 +490,8 @@ var xTestAddDataFuncFull func(string, uintptr, uintptr, uintptr)
457 // In contrast to [func@GLib.test_add_data_func], this function490 // In contrast to [func@GLib.test_add_data_func], this function
458 // is freeing @test_data after the test run is complete.491 // is freeing @test_data after the test run is complete.
459 func TestAddDataFuncFull(TestpathVar string, TestDataVar uintptr, TestFuncVar *TestDataFunc, DataFreeFuncVar *DestroyNotify) {492 func TestAddDataFuncFull(TestpathVar string, TestDataVar uintptr, TestFuncVar *TestDataFunc, DataFreeFuncVar *DestroyNotify) {
493+ core.LazyRegister(&xTestAddDataFuncFull, "GLIB", "g_test_add_data_func_full", false)
494+
460 xTestAddDataFuncFull(TestpathVar, TestDataVar, NewCallback(TestFuncVar), NewCallback(DataFreeFuncVar))495 xTestAddDataFuncFull(TestpathVar, TestDataVar, NewCallback(TestFuncVar), NewCallback(DataFreeFuncVar))
461 }496 }
462 497
@@ -477,18 +512,24 @@ var xTestAddFunc func(string, uintptr)
477 // [const@GLib.TEST_OPTION_ISOLATE_DIRS] option is being used; and512 // [const@GLib.TEST_OPTION_ISOLATE_DIRS] option is being used; and
478 // it is recommended to do so even if it isn’t.513 // it is recommended to do so even if it isn’t.
479 func TestAddFunc(TestpathVar string, TestFuncVar *TestFunc) {514 func TestAddFunc(TestpathVar string, TestFuncVar *TestFunc) {
515+ core.LazyRegister(&xTestAddFunc, "GLIB", "g_test_add_func", false)
516+
480 xTestAddFunc(TestpathVar, NewCallback(TestFuncVar))517 xTestAddFunc(TestpathVar, NewCallback(TestFuncVar))
481 }518 }
482 519
483 var xTestAddVtable func(string, uint, uintptr, uintptr, uintptr, uintptr)520 var xTestAddVtable func(string, uint, uintptr, uintptr, uintptr, uintptr)
484 521
485 func TestAddVtable(TestpathVar string, DataSizeVar uint, TestDataVar uintptr, DataSetupVar *TestFixtureFunc, DataTestVar *TestFixtureFunc, DataTeardownVar *TestFixtureFunc) {522 func TestAddVtable(TestpathVar string, DataSizeVar uint, TestDataVar uintptr, DataSetupVar *TestFixtureFunc, DataTestVar *TestFixtureFunc, DataTeardownVar *TestFixtureFunc) {
523+ core.LazyRegister(&xTestAddVtable, "GLIB", "g_test_add_vtable", false)
524+
486 xTestAddVtable(TestpathVar, DataSizeVar, TestDataVar, NewCallback(DataSetupVar), NewCallback(DataTestVar), NewCallback(DataTeardownVar))525 xTestAddVtable(TestpathVar, DataSizeVar, TestDataVar, NewCallback(DataSetupVar), NewCallback(DataTestVar), NewCallback(DataTeardownVar))
487 }526 }
488 527
489 var xTestAssertExpectedMessagesInternal func(string, string, int, string)528 var xTestAssertExpectedMessagesInternal func(string, string, int, string)
490 529
491 func TestAssertExpectedMessagesInternal(DomainVar string, FileVar string, LineVar int, FuncVar string) {530 func TestAssertExpectedMessagesInternal(DomainVar string, FileVar string, LineVar int, FuncVar string) {
531+ core.LazyRegister(&xTestAssertExpectedMessagesInternal, "GLIB", "g_test_assert_expected_messages_internal", false)
532+
492 xTestAssertExpectedMessagesInternal(DomainVar, FileVar, LineVar, FuncVar)533 xTestAssertExpectedMessagesInternal(DomainVar, FileVar, LineVar, FuncVar)
493 }534 }
494 535
@@ -506,6 +547,8 @@ var xTestBug func(string)
506 // Since GLib 2.70, the base URI is not prepended to @bug_uri_snippet547 // Since GLib 2.70, the base URI is not prepended to @bug_uri_snippet
507 // if it is already a valid URI.548 // if it is already a valid URI.
508 func TestBug(BugUriSnippetVar string) {549 func TestBug(BugUriSnippetVar string) {
550+ core.LazyRegister(&xTestBug, "GLIB", "g_test_bug", false)
551+
509 xTestBug(BugUriSnippetVar)552 xTestBug(BugUriSnippetVar)
510 }553 }
511 554
@@ -526,6 +569,8 @@ var xTestBugBase func(string)
526 // If [func@GLib.test_bug_base] is not called, bug URIs are formed569 // If [func@GLib.test_bug_base] is not called, bug URIs are formed
527 // solely from the value provided by [func@GLib.test_bug].570 // solely from the value provided by [func@GLib.test_bug].
528 func TestBugBase(UriPatternVar string) {571 func TestBugBase(UriPatternVar string) {
572+ core.LazyRegister(&xTestBugBase, "GLIB", "g_test_bug_base", false)
573+
529 xTestBugBase(UriPatternVar)574 xTestBugBase(UriPatternVar)
530 }575 }
531 576
@@ -554,6 +599,8 @@ var xTestBuildFilename func(TestFileType, string, ...interface{}) string
554 // installed tests, assuming the data files have been installed in the599 // installed tests, assuming the data files have been installed in the
555 // same relative path as the test binary.600 // same relative path as the test binary.
556 func TestBuildFilename(FileTypeVar TestFileType, FirstPathVar string, varArgs ...interface{}) string {601 func TestBuildFilename(FileTypeVar TestFileType, FirstPathVar string, varArgs ...interface{}) string {
602+ core.LazyRegister(&xTestBuildFilename, "GLIB", "g_test_build_filename", false)
603+
557 cret := xTestBuildFilename(FileTypeVar, FirstPathVar, varArgs...)604 cret := xTestBuildFilename(FileTypeVar, FirstPathVar, varArgs...)
558 return cret605 return cret
559 }606 }
@@ -578,6 +625,8 @@ var xTestCreateCase func(string, uint, uintptr, uintptr, uintptr, uintptr) uintp
578 // called with the same type of fixture (the @data_size argument), but625 // called with the same type of fixture (the @data_size argument), but
579 // varying @test_name and @data_test arguments.626 // varying @test_name and @data_test arguments.
580 func TestCreateCase(TestNameVar string, DataSizeVar uint, TestDataVar uintptr, DataSetupVar *TestFixtureFunc, DataTestVar *TestFixtureFunc, DataTeardownVar *TestFixtureFunc) *TestCase {627 func TestCreateCase(TestNameVar string, DataSizeVar uint, TestDataVar uintptr, DataSetupVar *TestFixtureFunc, DataTestVar *TestFixtureFunc, DataTeardownVar *TestFixtureFunc) *TestCase {
628+ core.LazyRegister(&xTestCreateCase, "GLIB", "g_test_create_case", false)
629+
581 cret := xTestCreateCase(TestNameVar, DataSizeVar, TestDataVar, NewCallback(DataSetupVar), NewCallback(DataTestVar), NewCallback(DataTeardownVar))630 cret := xTestCreateCase(TestNameVar, DataSizeVar, TestDataVar, NewCallback(DataSetupVar), NewCallback(DataTestVar), NewCallback(DataTeardownVar))
582 if cret == 0 {631 if cret == 0 {
583 return nil632 return nil
@@ -589,6 +638,8 @@ var xTestCreateSuite func(string) uintptr
589 638
590 // Creates a new test suite with the name @suite_name.639 // Creates a new test suite with the name @suite_name.
591 func TestCreateSuite(SuiteNameVar string) *TestSuite {640 func TestCreateSuite(SuiteNameVar string) *TestSuite {
641+ core.LazyRegister(&xTestCreateSuite, "GLIB", "g_test_create_suite", false)
642+
592 cret := xTestCreateSuite(SuiteNameVar)643 cret := xTestCreateSuite(SuiteNameVar)
593 if cret == 0 {644 if cret == 0 {
594 return nil645 return nil
@@ -604,6 +655,8 @@ var xTestDisableCrashReporting func()
604 // expected or intended to crash, to avoid wasting resources in system-wide655 // expected or intended to crash, to avoid wasting resources in system-wide
605 // crash collection infrastructure such as systemd-coredump or abrt.656 // crash collection infrastructure such as systemd-coredump or abrt.
606 func TestDisableCrashReporting() {657 func TestDisableCrashReporting() {
658+ core.LazyRegister(&xTestDisableCrashReporting, "GLIB", "g_test_disable_crash_reporting", false)
659+
607 xTestDisableCrashReporting()660 xTestDisableCrashReporting()
608 }661 }
609 662
@@ -647,6 +700,8 @@ var xTestExpectMessage func(uintptr, LogLevelFlags, string)
647 // If messages at [flags@GLib.LogLevelFlags.LEVEL_DEBUG] are emitted, but not explicitly700 // If messages at [flags@GLib.LogLevelFlags.LEVEL_DEBUG] are emitted, but not explicitly
648 // expected via [func@GLib.test_expect_message] then they will be ignored.701 // expected via [func@GLib.test_expect_message] then they will be ignored.
649 func TestExpectMessage(LogDomainVar *string, LogLevelVar LogLevelFlags, PatternVar string) {702 func TestExpectMessage(LogDomainVar *string, LogLevelVar LogLevelFlags, PatternVar string) {
703+ core.LazyRegister(&xTestExpectMessage, "GLIB", "g_test_expect_message", false)
704+
650 LogDomainVarPtr := core.GStrdupNullable(LogDomainVar)705 LogDomainVarPtr := core.GStrdupNullable(LogDomainVar)
651 defer core.GFreeNullable(LogDomainVarPtr)706 defer core.GFreeNullable(LogDomainVarPtr)
652 707
@@ -676,6 +731,8 @@ var xTestFail func()
676 // [func@GLib.test_message] before [func@GLib.test_fail], or use731 // [func@GLib.test_message] before [func@GLib.test_fail], or use
677 // [func@GLib.test_fail_printf] instead.732 // [func@GLib.test_fail_printf] instead.
678 func TestFail() {733 func TestFail() {
734+ core.LazyRegister(&xTestFail, "GLIB", "g_test_fail", false)
735+
679 xTestFail()736 xTestFail()
680 }737 }
681 738
@@ -687,6 +744,8 @@ var xTestFailPrintf func(string, ...interface{})
687 //744 //
688 // The message is formatted as if by [func@GLib.strdup_printf].745 // The message is formatted as if by [func@GLib.strdup_printf].
689 func TestFailPrintf(FormatVar string, varArgs ...interface{}) {746 func TestFailPrintf(FormatVar string, varArgs ...interface{}) {
747+ core.LazyRegister(&xTestFailPrintf, "GLIB", "g_test_fail_printf", false)
748+
690 xTestFailPrintf(FormatVar, varArgs...)749 xTestFailPrintf(FormatVar, varArgs...)
691 }750 }
692 751
@@ -704,6 +763,8 @@ var xTestFailed func() bool
704 // The return value of this function is only meaningful763 // The return value of this function is only meaningful
705 // if it is called from inside a test function.764 // if it is called from inside a test function.
706 func TestFailed() bool {765 func TestFailed() bool {
766+ core.LazyRegister(&xTestFailed, "GLIB", "g_test_failed", false)
767+
707 cret := xTestFailed()768 cret := xTestFailed()
708 return cret769 return cret
709 }770 }
@@ -716,6 +777,8 @@ var xTestGetDir func(TestFileType) string
716 // This is approximately the same as calling `g_test_build_filename(".")`,777 // This is approximately the same as calling `g_test_build_filename(".")`,
717 // but you don't need to free the return value.778 // but you don't need to free the return value.
718 func TestGetDir(FileTypeVar TestFileType) string {779 func TestGetDir(FileTypeVar TestFileType) string {
780+ core.LazyRegister(&xTestGetDir, "GLIB", "g_test_get_dir", false)
781+
719 cret := xTestGetDir(FileTypeVar)782 cret := xTestGetDir(FileTypeVar)
720 return cret783 return cret
721 }784 }
@@ -735,6 +798,8 @@ var xTestGetFilename func(TestFileType, string, ...interface{}) string
735 // function returns (ie: it is best to ensure that all threads have been798 // function returns (ie: it is best to ensure that all threads have been
736 // joined).799 // joined).
737 func TestGetFilename(FileTypeVar TestFileType, FirstPathVar string, varArgs ...interface{}) string {800 func TestGetFilename(FileTypeVar TestFileType, FirstPathVar string, varArgs ...interface{}) string {
801+ core.LazyRegister(&xTestGetFilename, "GLIB", "g_test_get_filename", false)
802+
738 cret := xTestGetFilename(FileTypeVar, FirstPathVar, varArgs...)803 cret := xTestGetFilename(FileTypeVar, FirstPathVar, varArgs...)
739 return cret804 return cret
740 }805 }
@@ -750,6 +815,8 @@ var xTestGetPath func() string
750 //815 //
751 // Note that this is a test path, not a file system path.816 // Note that this is a test path, not a file system path.
752 func TestGetPath() string {817 func TestGetPath() string {
818+ core.LazyRegister(&xTestGetPath, "GLIB", "g_test_get_path", false)
819+
753 cret := xTestGetPath()820 cret := xTestGetPath()
754 return cret821 return cret
755 }822 }
@@ -758,6 +825,8 @@ var xTestGetRoot func() uintptr
758 825
759 // Gets the toplevel test suite for the test path API.826 // Gets the toplevel test suite for the test path API.
760 func TestGetRoot() *TestSuite {827 func TestGetRoot() *TestSuite {
828+ core.LazyRegister(&xTestGetRoot, "GLIB", "g_test_get_root", false)
829+
761 cret := xTestGetRoot()830 cret := xTestGetRoot()
762 if cret == 0 {831 if cret == 0 {
763 return nil832 return nil
@@ -779,6 +848,8 @@ var xTestIncomplete func(uintptr)
779 //848 //
780 // If not called from inside a test, this function does nothing.849 // If not called from inside a test, this function does nothing.
781 func TestIncomplete(MsgVar *string) {850 func TestIncomplete(MsgVar *string) {
851+ core.LazyRegister(&xTestIncomplete, "GLIB", "g_test_incomplete", false)
852+
782 MsgVarPtr := core.GStrdupNullable(MsgVar)853 MsgVarPtr := core.GStrdupNullable(MsgVar)
783 defer core.GFreeNullable(MsgVarPtr)854 defer core.GFreeNullable(MsgVarPtr)
784 855
@@ -793,6 +864,8 @@ var xTestIncompletePrintf func(string, ...interface{})
793 // Equivalent to [func@GLib.test_incomplete], but the explanation864 // Equivalent to [func@GLib.test_incomplete], but the explanation
794 // is formatted as if by [func@GLib.strdup_printf].865 // is formatted as if by [func@GLib.strdup_printf].
795 func TestIncompletePrintf(FormatVar string, varArgs ...interface{}) {866 func TestIncompletePrintf(FormatVar string, varArgs ...interface{}) {
867+ core.LazyRegister(&xTestIncompletePrintf, "GLIB", "g_test_incomplete_printf", false)
868+
796 xTestIncompletePrintf(FormatVar, varArgs...)869 xTestIncompletePrintf(FormatVar, varArgs...)
797 }870 }
798 871
@@ -858,6 +931,8 @@ var xTestInit func(int, string, ...interface{})
858 // when compiled with `G_DISABLE_ASSERT`. Ensure your tests are compiled without931 // when compiled with `G_DISABLE_ASSERT`. Ensure your tests are compiled without
859 // `G_DISABLE_ASSERT` defined.932 // `G_DISABLE_ASSERT` defined.
860 func TestInit(ArgcVar int, ArgvVar string, varArgs ...interface{}) {933 func TestInit(ArgcVar int, ArgvVar string, varArgs ...interface{}) {
934+ core.LazyRegister(&xTestInit, "GLIB", "g_test_init", false)
935+
861 xTestInit(ArgcVar, ArgvVar, varArgs...)936 xTestInit(ArgcVar, ArgvVar, varArgs...)
862 }937 }
863 938
@@ -885,12 +960,16 @@ var xTestLogSetFatalHandler func(uintptr, uintptr)
885 // writer function using [func@GLib.log_set_writer_func].See960 // writer function using [func@GLib.log_set_writer_func].See
886 // [Using Structured Logging](logging.html#using-structured-logging).961 // [Using Structured Logging](logging.html#using-structured-logging).
887 func TestLogSetFatalHandler(LogFuncVar *TestLogFatalFunc, UserDataVar uintptr) {962 func TestLogSetFatalHandler(LogFuncVar *TestLogFatalFunc, UserDataVar uintptr) {
963+ core.LazyRegister(&xTestLogSetFatalHandler, "GLIB", "g_test_log_set_fatal_handler", false)
964+
888 xTestLogSetFatalHandler(NewCallback(LogFuncVar), UserDataVar)965 xTestLogSetFatalHandler(NewCallback(LogFuncVar), UserDataVar)
889 }966 }
890 967
891 var xTestLogTypeName func(TestLogType) string968 var xTestLogTypeName func(TestLogType) string
892 969
893 func TestLogTypeName(LogTypeVar TestLogType) string {970 func TestLogTypeName(LogTypeVar TestLogType) string {
971+ core.LazyRegister(&xTestLogTypeName, "GLIB", "g_test_log_type_name", false)
972+
894 cret := xTestLogTypeName(LogTypeVar)973 cret := xTestLogTypeName(LogTypeVar)
895 return cret974 return cret
896 }975 }
@@ -904,6 +983,8 @@ var xTestMaximizedResult func(float64, string, ...interface{})
904 // this and @maximized_quantity can determine sorting983 // this and @maximized_quantity can determine sorting
905 // order for test result reports.984 // order for test result reports.
906 func TestMaximizedResult(MaximizedQuantityVar float64, FormatVar string, varArgs ...interface{}) {985 func TestMaximizedResult(MaximizedQuantityVar float64, FormatVar string, varArgs ...interface{}) {
986+ core.LazyRegister(&xTestMaximizedResult, "GLIB", "g_test_maximized_result", false)
987+
907 xTestMaximizedResult(MaximizedQuantityVar, FormatVar, varArgs...)988 xTestMaximizedResult(MaximizedQuantityVar, FormatVar, varArgs...)
908 }989 }
909 990
@@ -911,6 +992,8 @@ var xTestMessage func(string, ...interface{})
911 992
912 // Adds a message to the test report.993 // Adds a message to the test report.
913 func TestMessage(FormatVar string, varArgs ...interface{}) {994 func TestMessage(FormatVar string, varArgs ...interface{}) {
995+ core.LazyRegister(&xTestMessage, "GLIB", "g_test_message", false)
996+
914 xTestMessage(FormatVar, varArgs...)997 xTestMessage(FormatVar, varArgs...)
915 }998 }
916 999
@@ -923,6 +1006,8 @@ var xTestMinimizedResult func(float64, string, ...interface{})
923 // this and @minimized_quantity can determine sorting1006 // this and @minimized_quantity can determine sorting
924 // order for test result reports.1007 // order for test result reports.
925 func TestMinimizedResult(MinimizedQuantityVar float64, FormatVar string, varArgs ...interface{}) {1008 func TestMinimizedResult(MinimizedQuantityVar float64, FormatVar string, varArgs ...interface{}) {
1009+ core.LazyRegister(&xTestMinimizedResult, "GLIB", "g_test_minimized_result", false)
1010+
926 xTestMinimizedResult(MinimizedQuantityVar, FormatVar, varArgs...)1011 xTestMinimizedResult(MinimizedQuantityVar, FormatVar, varArgs...)
927 }1012 }
928 1013
@@ -936,6 +1021,8 @@ var xTestQueueDestroy func(uintptr, uintptr)
936 // enqueueing callback `A` before callback `B` will cause `B()` to be called1021 // enqueueing callback `A` before callback `B` will cause `B()` to be called
937 // before `A()` during teardown.1022 // before `A()` during teardown.
938 func TestQueueDestroy(DestroyFuncVar *DestroyNotify, DestroyDataVar uintptr) {1023 func TestQueueDestroy(DestroyFuncVar *DestroyNotify, DestroyDataVar uintptr) {
1024+ core.LazyRegister(&xTestQueueDestroy, "GLIB", "g_test_queue_destroy", false)
1025+
939 xTestQueueDestroy(NewCallbackNullable(DestroyFuncVar), DestroyDataVar)1026 xTestQueueDestroy(NewCallbackNullable(DestroyFuncVar), DestroyDataVar)
940 }1027 }
941 1028
@@ -947,6 +1034,8 @@ var xTestQueueFree func(uintptr)
947 // This is equivalent to calling [func@GLib.test_queue_destroy]1034 // This is equivalent to calling [func@GLib.test_queue_destroy]
948 // with a destroy callback of [func@GLib.free].1035 // with a destroy callback of [func@GLib.free].
949 func TestQueueFree(GfreePointerVar uintptr) {1036 func TestQueueFree(GfreePointerVar uintptr) {
1037+ core.LazyRegister(&xTestQueueFree, "GLIB", "g_test_queue_free", false)
1038+
950 xTestQueueFree(GfreePointerVar)1039 xTestQueueFree(GfreePointerVar)
951 }1040 }
952 1041
@@ -956,6 +1045,8 @@ var xTestRandDouble func() float64
956 //1045 //
957 // See [func@GLib.test_rand_int] for details on test case random numbers.1046 // See [func@GLib.test_rand_int] for details on test case random numbers.
958 func TestRandDouble() float64 {1047 func TestRandDouble() float64 {
1048+ core.LazyRegister(&xTestRandDouble, "GLIB", "g_test_rand_double", false)
1049+
959 cret := xTestRandDouble()1050 cret := xTestRandDouble()
960 return cret1051 return cret
961 }1052 }
@@ -966,6 +1057,8 @@ var xTestRandDoubleRange func(float64, float64) float64
966 //1057 //
967 // See [func@GLib.test_rand_int] for details on test case random numbers.1058 // See [func@GLib.test_rand_int] for details on test case random numbers.
968 func TestRandDoubleRange(RangeStartVar float64, RangeEndVar float64) float64 {1059 func TestRandDoubleRange(RangeStartVar float64, RangeEndVar float64) float64 {
1060+ core.LazyRegister(&xTestRandDoubleRange, "GLIB", "g_test_rand_double_range", false)
1061+
969 cret := xTestRandDoubleRange(RangeStartVar, RangeEndVar)1062 cret := xTestRandDoubleRange(RangeStartVar, RangeEndVar)
970 return cret1063 return cret
971 }1064 }
@@ -982,6 +1075,8 @@ var xTestRandInt func() int32
982 // reseeded, to avoid dependencies between tests and to make --seed1075 // reseeded, to avoid dependencies between tests and to make --seed
983 // effective for all test cases.1076 // effective for all test cases.
984 func TestRandInt() int32 {1077 func TestRandInt() int32 {
1078+ core.LazyRegister(&xTestRandInt, "GLIB", "g_test_rand_int", false)
1079+
985 cret := xTestRandInt()1080 cret := xTestRandInt()
986 return cret1081 return cret
987 }1082 }
@@ -992,6 +1087,8 @@ var xTestRandIntRange func(int32, int32) int32
992 //1087 //
993 // See [func@GLib.test_rand_int] for details on test case random numbers.1088 // See [func@GLib.test_rand_int] for details on test case random numbers.
994 func TestRandIntRange(BeginVar int32, EndVar int32) int32 {1089 func TestRandIntRange(BeginVar int32, EndVar int32) int32 {
1090+ core.LazyRegister(&xTestRandIntRange, "GLIB", "g_test_rand_int_range", false)
1091+
995 cret := xTestRandIntRange(BeginVar, EndVar)1092 cret := xTestRandIntRange(BeginVar, EndVar)
996 return cret1093 return cret
997 }1094 }
@@ -1033,6 +1130,8 @@ var xTestRun func() int
1033 // this function will return 0 if producing TAP output, or 77 (treated1130 // this function will return 0 if producing TAP output, or 77 (treated
1034 // as "skip test" by Automake) otherwise.1131 // as "skip test" by Automake) otherwise.
1035 func TestRun() int {1132 func TestRun() int {
1133+ core.LazyRegister(&xTestRun, "GLIB", "g_test_run", false)
1134+
1036 cret := xTestRun()1135 cret := xTestRun()
1037 return cret1136 return cret
1038 }1137 }
@@ -1049,6 +1148,8 @@ var xTestRunSuite func(*TestSuite) int
1049 // [func@GLib.test_run_suite] or [func@GLib.test_run] may only be1148 // [func@GLib.test_run_suite] or [func@GLib.test_run] may only be
1050 // called once in a program.1149 // called once in a program.
1051 func TestRunSuite(SuiteVar *TestSuite) int {1150 func TestRunSuite(SuiteVar *TestSuite) int {
1151+ core.LazyRegister(&xTestRunSuite, "GLIB", "g_test_run_suite", false)
1152+
1052 cret := xTestRunSuite(SuiteVar)1153 cret := xTestRunSuite(SuiteVar)
1053 return cret1154 return cret
1054 }1155 }
@@ -1071,6 +1172,8 @@ var xTestSetNonfatalAssertions func()
1071 //1172 //
1072 // This function can only be called after [func@GLib.test_init].1173 // This function can only be called after [func@GLib.test_init].
1073 func TestSetNonfatalAssertions() {1174 func TestSetNonfatalAssertions() {
1175+ core.LazyRegister(&xTestSetNonfatalAssertions, "GLIB", "g_test_set_nonfatal_assertions", false)
1176+
1074 xTestSetNonfatalAssertions()1177 xTestSetNonfatalAssertions()
1075 }1178 }
1076 1179
@@ -1085,6 +1188,8 @@ var xTestSkip func(uintptr)
1085 //1188 //
1086 // If not called from inside a test, this function does nothing.1189 // If not called from inside a test, this function does nothing.
1087 func TestSkip(MsgVar *string) {1190 func TestSkip(MsgVar *string) {
1191+ core.LazyRegister(&xTestSkip, "GLIB", "g_test_skip", false)
1192+
1088 MsgVarPtr := core.GStrdupNullable(MsgVar)1193 MsgVarPtr := core.GStrdupNullable(MsgVar)
1089 defer core.GFreeNullable(MsgVarPtr)1194 defer core.GFreeNullable(MsgVarPtr)
1090 1195
@@ -1098,6 +1203,8 @@ var xTestSkipPrintf func(string, ...interface{})
1098 // Equivalent to [func@GLib.test_skip], but the explanation1203 // Equivalent to [func@GLib.test_skip], but the explanation
1099 // is formatted as if by [func@GLib.strdup_printf].1204 // is formatted as if by [func@GLib.strdup_printf].
1100 func TestSkipPrintf(FormatVar string, varArgs ...interface{}) {1205 func TestSkipPrintf(FormatVar string, varArgs ...interface{}) {
1206+ core.LazyRegister(&xTestSkipPrintf, "GLIB", "g_test_skip_printf", false)
1207+
1101 xTestSkipPrintf(FormatVar, varArgs...)1208 xTestSkipPrintf(FormatVar, varArgs...)
1102 }1209 }
1103 1210
@@ -1105,6 +1212,8 @@ var xTestSubprocess func() bool
1105 1212
1106 // Returns true if the test program is running under [func@GLib.test_trap_subprocess].1213 // Returns true if the test program is running under [func@GLib.test_trap_subprocess].
1107 func TestSubprocess() bool {1214 func TestSubprocess() bool {
1215+ core.LazyRegister(&xTestSubprocess, "GLIB", "g_test_subprocess", false)
1216+
1108 cret := xTestSubprocess()1217 cret := xTestSubprocess()
1109 return cret1218 return cret
1110 }1219 }
@@ -1136,6 +1245,8 @@ var xTestSummary func(string)
1136 //1245 //
1137 // See also [func@GLib.test_bug].1246 // See also [func@GLib.test_bug].
1138 func TestSummary(SummaryVar string) {1247 func TestSummary(SummaryVar string) {
1248+ core.LazyRegister(&xTestSummary, "GLIB", "g_test_summary", false)
1249+
1139 xTestSummary(SummaryVar)1250 xTestSummary(SummaryVar)
1140 }1251 }
1141 1252
@@ -1144,6 +1255,8 @@ var xTestTimerElapsed func() float64
1144 // Gets the number of seconds since the last start of the timer with1255 // Gets the number of seconds since the last start of the timer with
1145 // [func@GLib.test_timer_start].1256 // [func@GLib.test_timer_start].
1146 func TestTimerElapsed() float64 {1257 func TestTimerElapsed() float64 {
1258+ core.LazyRegister(&xTestTimerElapsed, "GLIB", "g_test_timer_elapsed", false)
1259+
1147 cret := xTestTimerElapsed()1260 cret := xTestTimerElapsed()
1148 return cret1261 return cret
1149 }1262 }
@@ -1152,6 +1265,8 @@ var xTestTimerLast func() float64
1152 1265
1153 // Reports the last result of [func@GLib.test_timer_elapsed].1266 // Reports the last result of [func@GLib.test_timer_elapsed].
1154 func TestTimerLast() float64 {1267 func TestTimerLast() float64 {
1268+ core.LazyRegister(&xTestTimerLast, "GLIB", "g_test_timer_last", false)
1269+
1155 cret := xTestTimerLast()1270 cret := xTestTimerLast()
1156 return cret1271 return cret
1157 }1272 }
@@ -1163,12 +1278,16 @@ var xTestTimerStart func()
1163 // Call [func@GLib.test_timer_elapsed] when the task is supposed1278 // Call [func@GLib.test_timer_elapsed] when the task is supposed
1164 // to be done. Call this function again to restart the timer.1279 // to be done. Call this function again to restart the timer.
1165 func TestTimerStart() {1280 func TestTimerStart() {
1281+ core.LazyRegister(&xTestTimerStart, "GLIB", "g_test_timer_start", false)
1282+
1166 xTestTimerStart()1283 xTestTimerStart()
1167 }1284 }
1168 1285
1169 var xTestTrapAssertions func(string, string, int, string, uint64, string)1286 var xTestTrapAssertions func(string, string, int, string, uint64, string)
1170 1287
1171 func TestTrapAssertions(DomainVar string, FileVar string, LineVar int, FuncVar string, AssertionFlagsVar uint64, PatternVar string) {1288 func TestTrapAssertions(DomainVar string, FileVar string, LineVar int, FuncVar string, AssertionFlagsVar uint64, PatternVar string) {
1289+ core.LazyRegister(&xTestTrapAssertions, "GLIB", "g_test_trap_assertions", false)
1290+
1172 xTestTrapAssertions(DomainVar, FileVar, LineVar, FuncVar, AssertionFlagsVar, PatternVar)1291 xTestTrapAssertions(DomainVar, FileVar, LineVar, FuncVar, AssertionFlagsVar, PatternVar)
1173 }1292 }
1174 1293
@@ -1212,6 +1331,8 @@ var xTestTrapFork func(uint64, TestTrapFlags) bool
1212 //1331 //
1213 // ```1332 // ```
1214 func TestTrapFork(UsecTimeoutVar uint64, TestTrapFlagsVar TestTrapFlags) bool {1333 func TestTrapFork(UsecTimeoutVar uint64, TestTrapFlagsVar TestTrapFlags) bool {
1334+ core.LazyRegister(&xTestTrapFork, "GLIB", "g_test_trap_fork", false)
1335+
1215 cret := xTestTrapFork(UsecTimeoutVar, TestTrapFlagsVar)1336 cret := xTestTrapFork(UsecTimeoutVar, TestTrapFlagsVar)
1216 return cret1337 return cret
1217 }1338 }
@@ -1220,6 +1341,8 @@ var xTestTrapHasPassed func() bool
1220 1341
1221 // Checks the result of the last [func@GLib.test_trap_subprocess] call.1342 // Checks the result of the last [func@GLib.test_trap_subprocess] call.
1222 func TestTrapHasPassed() bool {1343 func TestTrapHasPassed() bool {
1344+ core.LazyRegister(&xTestTrapHasPassed, "GLIB", "g_test_trap_has_passed", false)
1345+
1223 cret := xTestTrapHasPassed()1346 cret := xTestTrapHasPassed()
1224 return cret1347 return cret
1225 }1348 }
@@ -1228,6 +1351,8 @@ var xTestTrapHasSkipped func() bool
1228 1351
1229 // Checks the result of the last [func@GLib.test_trap_subprocess] call.1352 // Checks the result of the last [func@GLib.test_trap_subprocess] call.
1230 func TestTrapHasSkipped() bool {1353 func TestTrapHasSkipped() bool {
1354+ core.LazyRegister(&xTestTrapHasSkipped, "GLIB", "g_test_trap_has_skipped", false)
1355+
1231 cret := xTestTrapHasSkipped()1356 cret := xTestTrapHasSkipped()
1232 return cret1357 return cret
1233 }1358 }
@@ -1236,6 +1361,8 @@ var xTestTrapReachedTimeout func() bool
1236 1361
1237 // Checks the result of the last [func@GLib.test_trap_subprocess] call.1362 // Checks the result of the last [func@GLib.test_trap_subprocess] call.
1238 func TestTrapReachedTimeout() bool {1363 func TestTrapReachedTimeout() bool {
1364+ core.LazyRegister(&xTestTrapReachedTimeout, "GLIB", "g_test_trap_reached_timeout", false)
1365+
1239 cret := xTestTrapReachedTimeout()1366 cret := xTestTrapReachedTimeout()
1240 return cret1367 return cret
1241 }1368 }
@@ -1248,6 +1375,8 @@ var xTestTrapSubprocess func(uintptr, uint64, TestSubprocessFlags)
1248 // with `envp` set to `NULL`. See the documentation for that function1375 // with `envp` set to `NULL`. See the documentation for that function
1249 // for full details.1376 // for full details.
1250 func TestTrapSubprocess(TestPathVar *string, UsecTimeoutVar uint64, TestFlagsVar TestSubprocessFlags) {1377 func TestTrapSubprocess(TestPathVar *string, UsecTimeoutVar uint64, TestFlagsVar TestSubprocessFlags) {
1378+ core.LazyRegister(&xTestTrapSubprocess, "GLIB", "g_test_trap_subprocess", false)
1379+
1251 TestPathVarPtr := core.GStrdupNullable(TestPathVar)1380 TestPathVarPtr := core.GStrdupNullable(TestPathVar)
1252 defer core.GFreeNullable(TestPathVarPtr)1381 defer core.GFreeNullable(TestPathVarPtr)
1253 1382
@@ -1348,6 +1477,8 @@ var xTestTrapSubprocessWithEnvp func(uintptr, []string, uint64, TestSubprocessFl
1348 //1477 //
1349 // ```1478 // ```
1350 func TestTrapSubprocessWithEnvp(TestPathVar *string, EnvpVar []string, UsecTimeoutVar uint64, TestFlagsVar TestSubprocessFlags) {1479 func TestTrapSubprocessWithEnvp(TestPathVar *string, EnvpVar []string, UsecTimeoutVar uint64, TestFlagsVar TestSubprocessFlags) {
1480+ core.LazyRegister(&xTestTrapSubprocessWithEnvp, "GLIB", "g_test_trap_subprocess_with_envp", false)
1481+
1351 TestPathVarPtr := core.GStrdupNullable(TestPathVar)1482 TestPathVarPtr := core.GStrdupNullable(TestPathVar)
1352 defer core.GFreeNullable(TestPathVarPtr)1483 defer core.GFreeNullable(TestPathVarPtr)
1353 1484
@@ -1357,83 +1488,4 @@ func TestTrapSubprocessWithEnvp(TestPathVar *string, EnvpVar []string, UsecTimeo
1357 func init() {1488 func init() {
1358 core.SetPackageName("GLIB", "glib-2.0")1489 core.SetPackageName("GLIB", "glib-2.0")
1359 core.SetSharedLibraries("GLIB", []string{"libgobject-2.0.so.0", "libglib-2.0.so.0", "libgobject-2.0.0.dylib", "libglib-2.0.0.dylib"})1490 core.SetSharedLibraries("GLIB", []string{"libgobject-2.0.so.0", "libglib-2.0.so.0", "libgobject-2.0.0.dylib", "libglib-2.0.0.dylib"})
1360- var libs []uintptr
1361- for _, libPath := range core.GetPaths("GLIB") {
1362- lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
1363- if err != nil {
1364- panic(err)
1365- }
1366- libs = append(libs, lib)
1367- }
1368-
1369- core.PuregoSafeRegister(&xAssertionMessage, libs, "g_assertion_message")
1370- core.PuregoSafeRegister(&xAssertionMessageCmpint, libs, "g_assertion_message_cmpint")
1371- core.PuregoSafeRegister(&xAssertionMessageCmpnum, libs, "g_assertion_message_cmpnum")
1372- core.PuregoSafeRegister(&xAssertionMessageCmpstr, libs, "g_assertion_message_cmpstr")
1373- core.PuregoSafeRegister(&xAssertionMessageCmpstrv, libs, "g_assertion_message_cmpstrv")
1374- core.PuregoSafeRegister(&xAssertionMessageError, libs, "g_assertion_message_error")
1375- core.PuregoSafeRegister(&xAssertionMessageExpr, libs, "g_assertion_message_expr")
1376- core.PuregoSafeRegister(&xStrcmp0, libs, "g_strcmp0")
1377- core.PuregoSafeRegister(&xTestAddDataFunc, libs, "g_test_add_data_func")
1378- core.PuregoSafeRegister(&xTestAddDataFuncFull, libs, "g_test_add_data_func_full")
1379- core.PuregoSafeRegister(&xTestAddFunc, libs, "g_test_add_func")
1380- core.PuregoSafeRegister(&xTestAddVtable, libs, "g_test_add_vtable")
1381- core.PuregoSafeRegister(&xTestAssertExpectedMessagesInternal, libs, "g_test_assert_expected_messages_internal")
1382- core.PuregoSafeRegister(&xTestBug, libs, "g_test_bug")
1383- core.PuregoSafeRegister(&xTestBugBase, libs, "g_test_bug_base")
1384- core.PuregoSafeRegister(&xTestBuildFilename, libs, "g_test_build_filename")
1385- core.PuregoSafeRegister(&xTestCreateCase, libs, "g_test_create_case")
1386- core.PuregoSafeRegister(&xTestCreateSuite, libs, "g_test_create_suite")
1387- core.PuregoSafeRegister(&xTestDisableCrashReporting, libs, "g_test_disable_crash_reporting")
1388- core.PuregoSafeRegister(&xTestExpectMessage, libs, "g_test_expect_message")
1389- core.PuregoSafeRegister(&xTestFail, libs, "g_test_fail")
1390- core.PuregoSafeRegister(&xTestFailPrintf, libs, "g_test_fail_printf")
1391- core.PuregoSafeRegister(&xTestFailed, libs, "g_test_failed")
1392- core.PuregoSafeRegister(&xTestGetDir, libs, "g_test_get_dir")
1393- core.PuregoSafeRegister(&xTestGetFilename, libs, "g_test_get_filename")
1394- core.PuregoSafeRegister(&xTestGetPath, libs, "g_test_get_path")
1395- core.PuregoSafeRegister(&xTestGetRoot, libs, "g_test_get_root")
1396- core.PuregoSafeRegister(&xTestIncomplete, libs, "g_test_incomplete")
1397- core.PuregoSafeRegister(&xTestIncompletePrintf, libs, "g_test_incomplete_printf")
1398- core.PuregoSafeRegister(&xTestInit, libs, "g_test_init")
1399- core.PuregoSafeRegister(&xTestLogSetFatalHandler, libs, "g_test_log_set_fatal_handler")
1400- core.PuregoSafeRegister(&xTestLogTypeName, libs, "g_test_log_type_name")
1401- core.PuregoSafeRegister(&xTestMaximizedResult, libs, "g_test_maximized_result")
1402- core.PuregoSafeRegister(&xTestMessage, libs, "g_test_message")
1403- core.PuregoSafeRegister(&xTestMinimizedResult, libs, "g_test_minimized_result")
1404- core.PuregoSafeRegister(&xTestQueueDestroy, libs, "g_test_queue_destroy")
1405- core.PuregoSafeRegister(&xTestQueueFree, libs, "g_test_queue_free")
1406- core.PuregoSafeRegister(&xTestRandDouble, libs, "g_test_rand_double")
1407- core.PuregoSafeRegister(&xTestRandDoubleRange, libs, "g_test_rand_double_range")
1408- core.PuregoSafeRegister(&xTestRandInt, libs, "g_test_rand_int")
1409- core.PuregoSafeRegister(&xTestRandIntRange, libs, "g_test_rand_int_range")
1410- core.PuregoSafeRegister(&xTestRun, libs, "g_test_run")
1411- core.PuregoSafeRegister(&xTestRunSuite, libs, "g_test_run_suite")
1412- core.PuregoSafeRegister(&xTestSetNonfatalAssertions, libs, "g_test_set_nonfatal_assertions")
1413- core.PuregoSafeRegister(&xTestSkip, libs, "g_test_skip")
1414- core.PuregoSafeRegister(&xTestSkipPrintf, libs, "g_test_skip_printf")
1415- core.PuregoSafeRegister(&xTestSubprocess, libs, "g_test_subprocess")
1416- core.PuregoSafeRegister(&xTestSummary, libs, "g_test_summary")
1417- core.PuregoSafeRegister(&xTestTimerElapsed, libs, "g_test_timer_elapsed")
1418- core.PuregoSafeRegister(&xTestTimerLast, libs, "g_test_timer_last")
1419- core.PuregoSafeRegister(&xTestTimerStart, libs, "g_test_timer_start")
1420- core.PuregoSafeRegister(&xTestTrapAssertions, libs, "g_test_trap_assertions")
1421- core.PuregoSafeRegister(&xTestTrapFork, libs, "g_test_trap_fork")
1422- core.PuregoSafeRegister(&xTestTrapHasPassed, libs, "g_test_trap_has_passed")
1423- core.PuregoSafeRegister(&xTestTrapHasSkipped, libs, "g_test_trap_has_skipped")
1424- core.PuregoSafeRegister(&xTestTrapReachedTimeout, libs, "g_test_trap_reached_timeout")
1425- core.PuregoSafeRegister(&xTestTrapSubprocess, libs, "g_test_trap_subprocess")
1426- core.PuregoSafeRegister(&xTestTrapSubprocessWithEnvp, libs, "g_test_trap_subprocess_with_envp")
1427-
1428- core.PuregoSafeRegister(&xTestCaseFree, libs, "g_test_case_free")
1429-
1430- core.PuregoSafeRegister(&xTestLogBufferFree, libs, "g_test_log_buffer_free")
1431- core.PuregoSafeRegister(&xTestLogBufferPop, libs, "g_test_log_buffer_pop")
1432- core.PuregoSafeRegister(&xTestLogBufferPush, libs, "g_test_log_buffer_push")
1433-
1434- core.PuregoSafeRegister(&xTestLogMsgFree, libs, "g_test_log_msg_free")
1435-
1436- core.PuregoSafeRegister(&xTestSuiteAdd, libs, "g_test_suite_add")
1437- core.PuregoSafeRegister(&xTestSuiteAddSuite, libs, "g_test_suite_add_suite")
1438- core.PuregoSafeRegister(&xTestSuiteFree, libs, "g_test_suite_free")
1439 }1491 }
M vendor/github.com/bnema/puregotk/v4/glib/gthread.go +146 -97 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gthreadpool.go +26 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtimer.go +18 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtimezone.go +27 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtrashstack.go +8 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtree.go +63 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtypes.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gunicode.go +132 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/guri.go +63 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gutils.go +62 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/guuid.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvariant-parser.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvariant.go +242 -143 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvarianttype.go +63 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gversion.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/main.go +31 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gmodule/gmodule.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gmodule/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gbinding.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gbindinggroup.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gboxed.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gclosure.go +37 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/genums.go +24 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/glib-types.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gmarshal.go +45 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gobject.go +116 -82 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gparam.go +54 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gparamspecs.go +46 -79 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsignal.go +79 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsignalgroup.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsourceclosure.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtype.go +136 -82 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtypemodule.go +15 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtypeplugin.go +26 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvalue.go +141 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvaluearray.go +21 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvaluetypes.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/main.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/more.go +8 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-box.go +61 -44 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-euler.go +43 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-frustum.go +21 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-matrix.go +135 -80 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-plane.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-point.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-point3d.go +35 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-quad.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-quaternion.go +49 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-ray.go +37 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-rect.go +67 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-size.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-sphere.go +27 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-triangle.go +33 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec2.go +53 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec3.go +69 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec4.go +69 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskblendnode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskblurnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskbordernode.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskbroadwayrenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcaironode.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcairorenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskclipnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcolormatrixnode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcolornode.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfer.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfernode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcompositenode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskconicgradientnode.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcontainernode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcopynode.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcrossfadenode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskdebugnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskenums.go +24 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskfillnode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglrenderer.go +4 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglshader.go +65 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglshadernode.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskinsetshadownode.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskisolationnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsklineargradientnode.go +12 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskmasknode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskopacitynode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskoutsetshadownode.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpastenode.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpath.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpathpoint.go +19 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskradialgradientnode.go +18 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrenderer.go +12 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrendernode.go +26 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrepeatnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskroundedclipnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskroundedrect.go +20 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskshadownode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskstroke.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskstrokenode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsksubsurfacenode.go +5 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktextnode.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktexturenode.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktexturescalenode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktransform.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktransformnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktypes.go +237 -153 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskvulkanrenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaboutdialog.go +70 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccelgroup.go +18 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessible.go +159 -66 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblehypertext.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblerange.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessibletext.go +21 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkactionable.go +40 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkactionbar.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkadjustment.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkalertdialog.go +31 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooser.go +19 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserbutton.go +24 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserdialog.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserwidget.go +26 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkapplication.go +27 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkapplicationwindow.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaspectframe.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkassistant.go +48 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkatcontext.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbinlayout.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbitset.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbookmarklist.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkboolfilter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkborder.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbox.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkboxlayout.go +18 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuildable.go +28 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilder.go +35 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderlistitemfactory.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderscope.go +14 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbutton.go +28 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcalendar.go +40 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellarea.go +87 -59 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareabox.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareacontext.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcelleditable.go +19 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcelllayout.go +68 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderer.go +56 -42 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendereraccel.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderercombo.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererpixbuf.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererprogress.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspin.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspinner.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertext.go +4 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertoggle.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellview.go +21 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterbox.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterlayout.go +23 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcheckbutton.go +25 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorbutton.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooser.go +33 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialog.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialogbutton.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorutils.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnview.go +47 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcell.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcolumn.go +36 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewrow.go +26 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewsorter.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcombobox.go +51 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcomboboxtext.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraint.go +24 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintguide.go +22 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintlayout.go +20 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcsserror.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcssprovider.go +18 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcsssection.go +22 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomfilter.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomlayout.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomsorter.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdebug.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdialog.go +21 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdialogerror.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdirectorylist.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdragicon.go +8 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdragsource.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdrawingarea.go +12 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdropcontrollermotion.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdropdown.go +35 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptarget.go +22 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptargetasync.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeditable.go +173 -65 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeditablelabel.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkemojichooser.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentry.go +119 -76 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentrybuffer.go +22 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentrycompletion.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkenums.go +70 -147 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontroller.go +24 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerfocus.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerkey.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerlegacy.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollermotion.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerscroll.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkexpander.go +29 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkexpression.go +50 -67 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooser.go +177 -68 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechoosernative.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfiledialog.go +54 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilefilter.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilelauncher.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilterlistmodel.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfixed.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfixedlayout.go +7 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkflattenlistmodel.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkflowbox.go +79 -57 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontbutton.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooser.go +132 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialog.go +32 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialogbutton.go +30 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkframe.go +16 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesture.go +33 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureclick.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturedrag.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturelongpress.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturepan.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturerotate.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturesingle.go +17 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturestylus.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureswipe.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturezoom.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkglarea.go +39 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgraphicsoffload.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgrid.go +45 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgridlayout.go +43 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgridview.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkheaderbar.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkiconpaintable.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkicontheme.go +34 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkiconview.go +123 -78 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimage.go +37 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontext.go +31 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontextsimple.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimmulticontext.go +6 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkinfobar.go +32 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkinscription.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklabel.go +98 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutchild.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutmanager.go +11 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklevelbar.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklinkbutton.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistbase.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistbox.go +88 -63 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistheader.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistitem.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistitemfactory.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkliststore.go +41 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistview.go +29 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklockbutton.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmain.go +16 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmaplistmodel.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediacontrols.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediafile.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediastream.go +69 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmenubutton.go +53 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmessagedialog.go +11 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmountoperation.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultifilter.go +9 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultiselection.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultisorter.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknative.go +34 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknativedialog.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknoselection.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknotebook.go +87 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknumericsorter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkorientable.go +12 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlay.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlaylayout.go +11 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpadcontroller.go +7 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetup.go +47 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetupunixdialog.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpaned.go +32 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpapersize.go +50 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentry.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentrybuffer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpicture.go +39 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopover.go +41 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopoverbin.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenu.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenubar.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintcontext.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintdialog.go +36 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprinter.go +48 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintjob.go +57 -44 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperation.go +65 -54 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperationpreview.go +19 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintsettings.go +145 -89 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintunixdialog.go +33 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprogressbar.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrange.go +44 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrecentmanager.go +65 -54 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrender.go +24 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrevealer.go +20 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkroot.go +19 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscale.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscalebutton.go +20 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollable.go +61 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollbar.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrolledwindow.go +61 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksearchbar.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksearchentry.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksectionmodel.go +12 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionfiltermodel.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionmodel.go +75 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkseparator.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksettings.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcut.go +13 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutaction.go +25 -47 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutcontroller.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutlabel.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutmanager.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsgroup.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutssection.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsshortcut.go +8 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutswindow.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcuttrigger.go +34 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshow.go +5 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksignallistitemfactory.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksingleselection.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksizegroup.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksizerequest.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkslicelistmodel.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksnapshot.go +112 -71 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksorter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksortlistmodel.go +17 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkspinbutton.go +56 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkspinner.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstack.go +68 -55 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstacksidebar.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstackswitcher.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstatusbar.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringfilter.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringlist.go +18 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringsorter.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstylecontext.go +43 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstyleprovider.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksvg.go +41 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkswitch.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksymbolicpaintable.go +12 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktestatcontext.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktestutils.go +9 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktext.go +69 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextbuffer.go +138 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextchild.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextiter.go +179 -104 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextmark.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktexttag.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktexttagtable.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextview.go +145 -92 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktogglebutton.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktooltip.go +15 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreednd.go +34 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeexpander.go +21 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreelistmodel.go +26 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreelistrowsorter.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodel.go +261 -113 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodelfilter.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreemodelsort.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeselection.go +40 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreesortable.go +40 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreestore.go +45 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeview.go +176 -105 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktreeviewcolumn.go +102 -68 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktypes.go +74 -53 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkurilauncher.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkversion.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkvideo.go +28 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkviewport.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkvolumebutton.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwidget.go +357 -207 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwidgetpaintable.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindow.go +121 -79 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowcontrols.go +16 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowgroup.go +8 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkwindowhandle.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCClass.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCContext.go +32 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCException.go +23 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCOptions.go +32 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCValue.go +93 -73 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCVersion.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCVirtualMachine.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/javascriptcore/JSCWeakValue.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/layershell/gtk4-layer-shell.go +52 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-attributes.go +160 -108 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-bidi-type.go +9 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-break.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-color.go +11 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-context.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-coverage.go +16 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-direction.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-font.go +153 -112 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-fontmap.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-fontset-simple.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-fontset.go +6 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-glyph-item.go +26 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-glyph.go +32 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-gravity.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-item.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-language.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-layout.go +201 -131 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-markup.go +4 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-matrix.go +27 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-renderer.go +39 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-script.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-tabs.go +34 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-types.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/pango/pango-utils.go +38 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-basic.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-digest.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain-basic.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain-digest.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-domain.go +19 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-manager.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-negotiate.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth-ntlm.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-auth.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cache.go +16 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-content-decoder.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-content-sniffer.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar-db.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar-text.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie-jar.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-cookie.go +15 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-date-utils.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-form.go +12 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-headers.go +30 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-enforcer-db.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-hsts-enforcer.go +14 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-logger.go +13 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-message-body.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-message-headers.go +68 -52 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-message.go +90 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-multipart-input-stream.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-multipart.go +19 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-server-message.go +42 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-server.go +46 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-session-feature.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-session.go +74 -60 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-status.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-tld.go +6 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-types.go +113 -75 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-uri-utils.go +7 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-version.go +9 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-connection.go +39 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension-deflate.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension-manager.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket-extension.go +20 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/soup/soup-websocket.go +13 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitApplicationInfo.go +17 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitAuthenticationRequest.go +32 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitAutomationSession.go +10 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitBackForwardList.go +17 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitBackForwardListItem.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitClipboardPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitColorChooserRequest.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenu.go +31 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenuActions.go +13 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitContextMenuItem.go +20 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitCookieManager.go +27 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitCredential.go +23 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitDeviceInfoPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitDownload.go +22 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitEditorState.go +16 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitError.go +32 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFaviconDatabase.go +13 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFeature.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFileChooserRequest.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFindController.go +21 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitFormSubmissionRequest.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitGeolocationManager.go +26 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitGeolocationPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitHitTestResult.go +28 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitImage.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitInputMethodContext.go +38 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitMediaKeySystemPermissionRequest.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitMemoryPressureSettings.go +29 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNavigationAction.go +21 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNavigationPolicyDecision.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNetworkProxySettings.go +12 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNetworkSession.go +34 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNotification.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitNotificationPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitOptionMenu.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitOptionMenuItem.go +19 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPermissionRequest.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPermissionStateQuery.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPointerLockPermissionRequest.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPolicyDecision.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitPrintOperation.go +15 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitResponsePolicyDecision.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitScriptDialog.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitSecurityManager.go +27 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitSecurityOrigin.go +19 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitSettings.go +255 -146 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIRequest.go +12 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIResponse.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURISchemeRequest.go +21 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURISchemeResponse.go +10 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitURIUtilities.go +5 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContent.go +30 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContentFilterStore.go +22 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserContentManager.go +39 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserMediaPermissionRequest.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitUserMessage.go +15 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitVersion.go +9 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebContext.go +41 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebExtension.go +50 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebExtensionMatchPattern.go +34 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebInspector.go +20 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebResource.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebView.go +159 -118 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewBase.go +11 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewGtk4.go +13 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebViewSessionState.go +11 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteData.go +13 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteDataAccessPermissionRequest.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsiteDataManager.go +47 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWebsitePolicies.go +8 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitWindowProperties.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/webkit/WebKitXRPermissionRequest.go +21 -27 collapsed to keep the page light
M vendor/modules.txt +5 -5 collapsed to keep the page light

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close