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 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gthread.go +146 -97
@@ -108,6 +108,8 @@ var xCondBroadcast func(uintptr)
108108 // It is good practice to lock the same mutex as the waiting threads
109109 // while calling this function, though not required.
110110 func (x *Cond) Broadcast() {
111+ core.LazyRegister(&xCondBroadcast, "GLIB", "g_cond_broadcast", false)
112+
111113 xCondBroadcast(x.GoPointer())
112114 }
113115
@@ -121,6 +123,8 @@ var xCondClear func(uintptr)
121123 // Calling g_cond_clear() for a #GCond on which threads are
122124 // blocking leads to undefined behaviour.
123125 func (x *Cond) Clear() {
126+ core.LazyRegister(&xCondClear, "GLIB", "g_cond_clear", false)
127+
124128 xCondClear(x.GoPointer())
125129 }
126130
@@ -131,6 +135,8 @@ var xCondFree func(uintptr)
131135 // Calling g_cond_free() for a #GCond on which threads are
132136 // blocking leads to undefined behaviour.
133137 func (x *Cond) Free() {
138+ core.LazyRegister(&xCondFree, "GLIB", "g_cond_free", false)
139+
134140 xCondFree(x.GoPointer())
135141 }
136142
@@ -148,6 +154,8 @@ var xCondInit func(uintptr)
148154 // Calling g_cond_init() on an already-initialised #GCond leads
149155 // to undefined behaviour.
150156 func (x *Cond) Init() {
157+ core.LazyRegister(&xCondInit, "GLIB", "g_cond_init", false)
158+
151159 xCondInit(x.GoPointer())
152160 }
153161
@@ -158,6 +166,8 @@ var xCondSignal func(uintptr)
158166 // It is good practice to hold the same lock as the waiting thread
159167 // while calling this function, though not required.
160168 func (x *Cond) Signal() {
169+ core.LazyRegister(&xCondSignal, "GLIB", "g_cond_signal", false)
170+
161171 xCondSignal(x.GoPointer())
162172 }
163173
@@ -175,6 +185,8 @@ var xCondTimedWait func(uintptr, *Mutex, *TimeVal) bool
175185 // To easily calculate @abs_time a combination of g_get_real_time()
176186 // and g_time_val_add() can be used.
177187 func (x *Cond) TimedWait(MutexVar *Mutex, AbsTimeVar *TimeVal) bool {
188+ core.LazyRegister(&xCondTimedWait, "GLIB", "g_cond_timed_wait", false)
189+
178190 cret := xCondTimedWait(x.GoPointer(), MutexVar, AbsTimeVar)
179191 return cret
180192 }
@@ -196,6 +208,8 @@ var xCondWait func(uintptr, *Mutex)
196208 // For this reason, g_cond_wait() must always be used in a loop. See
197209 // the documentation for #GCond for a complete example.
198210 func (x *Cond) Wait(MutexVar *Mutex) {
211+ core.LazyRegister(&xCondWait, "GLIB", "g_cond_wait", false)
212+
199213 xCondWait(x.GoPointer(), MutexVar)
200214 }
201215
@@ -252,6 +266,8 @@ var xCondWaitUntil func(uintptr, *Mutex, int64) bool
252266 // have to start over waiting again (which would lead to a total wait
253267 // time of more than 5 seconds).
254268 func (x *Cond) WaitUntil(MutexVar *Mutex, EndTimeVar int64) bool {
269+ core.LazyRegister(&xCondWaitUntil, "GLIB", "g_cond_wait_until", false)
270+
255271 cret := xCondWaitUntil(x.GoPointer(), MutexVar, EndTimeVar)
256272 return cret
257273 }
@@ -282,6 +298,8 @@ func OnceNewFromInternalPtr(ptr uintptr) *Once {
282298 var xOnceImpl func(uintptr, uintptr, uintptr) uintptr
283299
284300 func (x *Once) Impl(FuncVar *ThreadFunc, ArgVar uintptr) uintptr {
301+ core.LazyRegister(&xOnceImpl, "GLIB", "g_once_impl", false)
302+
285303 cret := xOnceImpl(x.GoPointer(), NewCallback(FuncVar), ArgVar)
286304 return cret
287305 }
@@ -333,6 +351,8 @@ var xPrivateGet func(uintptr) uintptr
333351 // Values are never copied between threads (when a new thread is
334352 // created, for example).
335353 func (x *Private) Get() uintptr {
354+ core.LazyRegister(&xPrivateGet, "GLIB", "g_private_get", false)
355+
336356 cret := xPrivateGet(x.GoPointer())
337357 return cret
338358 }
@@ -346,6 +366,8 @@ var xPrivateReplace func(uintptr, uintptr)
346366 // the previous value was non-%NULL then the #GDestroyNotify handler for
347367 // @key is run on it.
348368 func (x *Private) Replace(ValueVar uintptr) {
369+ core.LazyRegister(&xPrivateReplace, "GLIB", "g_private_replace", false)
370+
349371 xPrivateReplace(x.GoPointer(), ValueVar)
350372 }
351373
@@ -357,6 +379,8 @@ var xPrivateSet func(uintptr, uintptr)
357379 // This function differs from g_private_replace() in the following way:
358380 // the #GDestroyNotify for @key is not called on the old value.
359381 func (x *Private) Set(ValueVar uintptr) {
382+ core.LazyRegister(&xPrivateSet, "GLIB", "g_private_set", false)
383+
360384 xPrivateSet(x.GoPointer(), ValueVar)
361385 }
362386
@@ -455,6 +479,8 @@ var xRWLockClear func(uintptr)
455479 // Calling g_rw_lock_clear() when any thread holds the lock
456480 // leads to undefined behaviour.
457481 func (x *RWLock) Clear() {
482+ core.LazyRegister(&xRWLockClear, "GLIB", "g_rw_lock_clear", false)
483+
458484 xRWLockClear(x.GoPointer())
459485 }
460486
@@ -486,6 +512,8 @@ var xRWLockInit func(uintptr)
486512 // Calling g_rw_lock_init() on an already initialized #GRWLock leads
487513 // to undefined behaviour.
488514 func (x *RWLock) Init() {
515+ core.LazyRegister(&xRWLockInit, "GLIB", "g_rw_lock_init", false)
516+
489517 xRWLockInit(x.GoPointer())
490518 }
491519
@@ -507,6 +535,8 @@ var xRWLockReaderLock func(uintptr)
507535 // held on the same lock simultaneously. If the limit is hit,
508536 // or if a deadlock is detected, a critical warning will be emitted.
509537 func (x *RWLock) ReaderLock() {
538+ core.LazyRegister(&xRWLockReaderLock, "GLIB", "g_rw_lock_reader_lock", false)
539+
510540 xRWLockReaderLock(x.GoPointer())
511541 }
512542
@@ -516,6 +546,8 @@ var xRWLockReaderTrylock func(uintptr) bool
516546 // the read lock was successfully obtained. Otherwise it
517547 // returns %FALSE.
518548 func (x *RWLock) ReaderTrylock() bool {
549+ core.LazyRegister(&xRWLockReaderTrylock, "GLIB", "g_rw_lock_reader_trylock", false)
550+
519551 cret := xRWLockReaderTrylock(x.GoPointer())
520552 return cret
521553 }
@@ -527,6 +559,8 @@ var xRWLockReaderUnlock func(uintptr)
527559 // Calling g_rw_lock_reader_unlock() on a lock that is not held
528560 // by the current thread leads to undefined behaviour.
529561 func (x *RWLock) ReaderUnlock() {
562+ core.LazyRegister(&xRWLockReaderUnlock, "GLIB", "g_rw_lock_reader_unlock", false)
563+
530564 xRWLockReaderUnlock(x.GoPointer())
531565 }
532566
@@ -539,6 +573,8 @@ var xRWLockWriterLock func(uintptr)
539573 // Calling g_rw_lock_writer_lock() while the current thread already
540574 // owns a read or write lock on @rw_lock leads to undefined behaviour.
541575 func (x *RWLock) WriterLock() {
576+ core.LazyRegister(&xRWLockWriterLock, "GLIB", "g_rw_lock_writer_lock", false)
577+
542578 xRWLockWriterLock(x.GoPointer())
543579 }
544580
@@ -549,6 +585,8 @@ var xRWLockWriterTrylock func(uintptr) bool
549585 // returns %FALSE.
550586 // Otherwise it locks @rw_lock and returns %TRUE.
551587 func (x *RWLock) WriterTrylock() bool {
588+ core.LazyRegister(&xRWLockWriterTrylock, "GLIB", "g_rw_lock_writer_trylock", false)
589+
552590 cret := xRWLockWriterTrylock(x.GoPointer())
553591 return cret
554592 }
@@ -560,6 +598,8 @@ var xRWLockWriterUnlock func(uintptr)
560598 // Calling g_rw_lock_writer_unlock() on a lock that is not held
561599 // by the current thread leads to undefined behaviour.
562600 func (x *RWLock) WriterUnlock() {
601+ core.LazyRegister(&xRWLockWriterUnlock, "GLIB", "g_rw_lock_writer_unlock", false)
602+
563603 xRWLockWriterUnlock(x.GoPointer())
564604 }
565605
@@ -606,6 +646,8 @@ var xRecMutexClear func(uintptr)
606646 // Calling g_rec_mutex_clear() on a locked recursive mutex leads
607647 // to undefined behaviour.
608648 func (x *RecMutex) Clear() {
649+ core.LazyRegister(&xRecMutexClear, "GLIB", "g_rec_mutex_clear", false)
650+
609651 xRecMutexClear(x.GoPointer())
610652 }
611653
@@ -639,6 +681,8 @@ var xRecMutexInit func(uintptr)
639681 // To undo the effect of g_rec_mutex_init() when a recursive mutex
640682 // is no longer needed, use g_rec_mutex_clear().
641683 func (x *RecMutex) Init() {
684+ core.LazyRegister(&xRecMutexInit, "GLIB", "g_rec_mutex_init", false)
685+
642686 xRecMutexInit(x.GoPointer())
643687 }
644688
@@ -651,6 +695,8 @@ var xRecMutexLock func(uintptr)
651695 // The mutex will only become available again when it is unlocked
652696 // as many times as it has been locked.
653697 func (x *RecMutex) Lock() {
698+ core.LazyRegister(&xRecMutexLock, "GLIB", "g_rec_mutex_lock", false)
699+
654700 xRecMutexLock(x.GoPointer())
655701 }
656702
@@ -660,6 +706,8 @@ var xRecMutexTrylock func(uintptr) bool
660706 // by another thread, it immediately returns %FALSE. Otherwise
661707 // it locks @rec_mutex and returns %TRUE.
662708 func (x *RecMutex) Trylock() bool {
709+ core.LazyRegister(&xRecMutexTrylock, "GLIB", "g_rec_mutex_trylock", false)
710+
663711 cret := xRecMutexTrylock(x.GoPointer())
664712 return cret
665713 }
@@ -673,6 +721,8 @@ var xRecMutexUnlock func(uintptr)
673721 // Calling g_rec_mutex_unlock() on a recursive mutex that is not
674722 // locked by the current thread leads to undefined behaviour.
675723 func (x *RecMutex) Unlock() {
724+ core.LazyRegister(&xRecMutexUnlock, "GLIB", "g_rec_mutex_unlock", false)
725+
676726 xRecMutexUnlock(x.GoPointer())
677727 }
678728
@@ -754,12 +804,16 @@ var xStaticMutexFree func(uintptr)
754804 // Calling g_static_mutex_free() on a locked mutex may result in
755805 // undefined behaviour.
756806 func (x *StaticMutex) Free() {
807+ core.LazyRegister(&xStaticMutexFree, "GLIB", "g_static_mutex_free", false)
808+
757809 xStaticMutexFree(x.GoPointer())
758810 }
759811
760812 var xStaticMutexGetMutexImpl func(uintptr) *Mutex
761813
762814 func (x *StaticMutex) GetMutexImpl() *Mutex {
815+ core.LazyRegister(&xStaticMutexGetMutexImpl, "GLIB", "g_static_mutex_get_mutex_impl", false)
816+
763817 cret := xStaticMutexGetMutexImpl(x.GoPointer())
764818 return cret
765819 }
@@ -769,6 +823,8 @@ var xStaticMutexInit func(uintptr)
769823 // Initializes @mutex.
770824 // Alternatively you can initialize it with %G_STATIC_MUTEX_INIT.
771825 func (x *StaticMutex) Init() {
826+ core.LazyRegister(&xStaticMutexInit, "GLIB", "g_static_mutex_init", false)
827+
772828 xStaticMutexInit(x.GoPointer())
773829 }
774830
@@ -826,6 +882,8 @@ var xStaticPrivateFree func(uintptr)
826882 // a #GStaticPrivate as a member of a structure and the structure is
827883 // freed, you should also free the #GStaticPrivate.
828884 func (x *StaticPrivate) Free() {
885+ core.LazyRegister(&xStaticPrivateFree, "GLIB", "g_static_private_free", false)
886+
829887 xStaticPrivateFree(x.GoPointer())
830888 }
831889
@@ -835,6 +893,8 @@ var xStaticPrivateGet func(uintptr) uintptr
835893 //
836894 // This function works even if g_thread_init() has not yet been called.
837895 func (x *StaticPrivate) Get() uintptr {
896+ core.LazyRegister(&xStaticPrivateGet, "GLIB", "g_static_private_get", false)
897+
838898 cret := xStaticPrivateGet(x.GoPointer())
839899 return cret
840900 }
@@ -844,6 +904,8 @@ var xStaticPrivateInit func(uintptr)
844904 // Initializes @private_key. Alternatively you can initialize it with
845905 // %G_STATIC_PRIVATE_INIT.
846906 func (x *StaticPrivate) Init() {
907+ core.LazyRegister(&xStaticPrivateInit, "GLIB", "g_static_private_init", false)
908+
847909 xStaticPrivateInit(x.GoPointer())
848910 }
849911
@@ -861,6 +923,8 @@ var xStaticPrivateSet func(uintptr, uintptr, uintptr)
861923 //
862924 // @notify is used quite differently from @destructor in g_private_new().
863925 func (x *StaticPrivate) Set(DataVar uintptr, NotifyVar *DestroyNotify) {
926+ core.LazyRegister(&xStaticPrivateSet, "GLIB", "g_static_private_set", false)
927+
864928 xStaticPrivateSet(x.GoPointer(), DataVar, NewCallbackNullable(NotifyVar))
865929 }
866930
@@ -977,6 +1041,8 @@ var xStaticRWLockFree func(uintptr)
9771041 // a #GStaticRWLock as a member of a structure, and the structure is
9781042 // freed, you should also free the #GStaticRWLock.
9791043 func (x *StaticRWLock) Free() {
1044+ core.LazyRegister(&xStaticRWLockFree, "GLIB", "g_static_rw_lock_free", false)
1045+
9801046 xStaticRWLockFree(x.GoPointer())
9811047 }
9821048
@@ -986,6 +1052,8 @@ var xStaticRWLockInit func(uintptr)
9861052 // can be used. Alternatively you can initialize it with
9871053 // %G_STATIC_RW_LOCK_INIT.
9881054 func (x *StaticRWLock) Init() {
1055+ core.LazyRegister(&xStaticRWLockInit, "GLIB", "g_static_rw_lock_init", false)
1056+
9891057 xStaticRWLockInit(x.GoPointer())
9901058 }
9911059
@@ -1003,6 +1071,8 @@ var xStaticRWLockReaderLock func(uintptr)
10031071 // recursively lock for reading, but that can result in a deadlock, due
10041072 // to writer preference.
10051073 func (x *StaticRWLock) ReaderLock() {
1074+ core.LazyRegister(&xStaticRWLockReaderLock, "GLIB", "g_static_rw_lock_reader_lock", false)
1075+
10061076 xStaticRWLockReaderLock(x.GoPointer())
10071077 }
10081078
@@ -1014,6 +1084,8 @@ var xStaticRWLockReaderTrylock func(uintptr) bool
10141084 // @lock for reading and returns %TRUE. This lock has to be unlocked by
10151085 // g_static_rw_lock_reader_unlock().
10161086 func (x *StaticRWLock) ReaderTrylock() bool {
1087+ core.LazyRegister(&xStaticRWLockReaderTrylock, "GLIB", "g_static_rw_lock_reader_trylock", false)
1088+
10171089 cret := xStaticRWLockReaderTrylock(x.GoPointer())
10181090 return cret
10191091 }
@@ -1024,6 +1096,8 @@ var xStaticRWLockReaderUnlock func(uintptr)
10241096 // locks for reading have been unlocked, the waiting thread is woken up
10251097 // and can lock @lock for writing.
10261098 func (x *StaticRWLock) ReaderUnlock() {
1099+ core.LazyRegister(&xStaticRWLockReaderUnlock, "GLIB", "g_static_rw_lock_reader_unlock", false)
1100+
10271101 xStaticRWLockReaderUnlock(x.GoPointer())
10281102 }
10291103
@@ -1037,6 +1111,8 @@ var xStaticRWLockWriterLock func(uintptr)
10371111 // @lock (neither for reading nor writing). This lock has to be
10381112 // unlocked by g_static_rw_lock_writer_unlock().
10391113 func (x *StaticRWLock) WriterLock() {
1114+ core.LazyRegister(&xStaticRWLockWriterLock, "GLIB", "g_static_rw_lock_writer_lock", false)
1115+
10401116 xStaticRWLockWriterLock(x.GoPointer())
10411117 }
10421118
@@ -1047,6 +1123,8 @@ var xStaticRWLockWriterTrylock func(uintptr) bool
10471123 // %FALSE. Otherwise it locks @lock for writing and returns %TRUE. This
10481124 // lock has to be unlocked by g_static_rw_lock_writer_unlock().
10491125 func (x *StaticRWLock) WriterTrylock() bool {
1126+ core.LazyRegister(&xStaticRWLockWriterTrylock, "GLIB", "g_static_rw_lock_writer_trylock", false)
1127+
10501128 cret := xStaticRWLockWriterTrylock(x.GoPointer())
10511129 return cret
10521130 }
@@ -1060,6 +1138,8 @@ var xStaticRWLockWriterUnlock func(uintptr)
10601138 // lock @lock for reading, the waiting threads are woken up and can
10611139 // lock @lock for reading.
10621140 func (x *StaticRWLock) WriterUnlock() {
1141+ core.LazyRegister(&xStaticRWLockWriterUnlock, "GLIB", "g_static_rw_lock_writer_unlock", false)
1142+
10631143 xStaticRWLockWriterUnlock(x.GoPointer())
10641144 }
10651145
@@ -1109,6 +1189,8 @@ var xStaticRecMutexFree func(uintptr)
11091189 // a #GStaticRecMutex as a member of a structure and the structure is
11101190 // freed, you should also free the #GStaticRecMutex.
11111191 func (x *StaticRecMutex) Free() {
1192+ core.LazyRegister(&xStaticRecMutexFree, "GLIB", "g_static_rec_mutex_free", false)
1193+
11121194 xStaticRecMutexFree(x.GoPointer())
11131195 }
11141196
@@ -1118,6 +1200,8 @@ var xStaticRecMutexInit func(uintptr)
11181200 // can be used. Alternatively you can initialize it with
11191201 // %G_STATIC_REC_MUTEX_INIT.
11201202 func (x *StaticRecMutex) Init() {
1203+ core.LazyRegister(&xStaticRecMutexInit, "GLIB", "g_static_rec_mutex_init", false)
1204+
11211205 xStaticRecMutexInit(x.GoPointer())
11221206 }
11231207
@@ -1128,6 +1212,8 @@ var xStaticRecMutexLock func(uintptr)
11281212 // thread. If @mutex is already locked by the calling thread, this
11291213 // functions increases the depth of @mutex and returns immediately.
11301214 func (x *StaticRecMutex) Lock() {
1215+ core.LazyRegister(&xStaticRecMutexLock, "GLIB", "g_static_rec_mutex_lock", false)
1216+
11311217 xStaticRecMutexLock(x.GoPointer())
11321218 }
11331219
@@ -1135,6 +1221,8 @@ var xStaticRecMutexLockFull func(uintptr, uint)
11351221
11361222 // Works like calling g_static_rec_mutex_lock() for @mutex @depth times.
11371223 func (x *StaticRecMutex) LockFull(DepthVar uint) {
1224+ core.LazyRegister(&xStaticRecMutexLockFull, "GLIB", "g_static_rec_mutex_lock_full", false)
1225+
11381226 xStaticRecMutexLockFull(x.GoPointer(), DepthVar)
11391227 }
11401228
@@ -1146,6 +1234,8 @@ var xStaticRecMutexTrylock func(uintptr) bool
11461234 // functions increases the depth of @mutex and immediately returns
11471235 // %TRUE.
11481236 func (x *StaticRecMutex) Trylock() bool {
1237+ core.LazyRegister(&xStaticRecMutexTrylock, "GLIB", "g_static_rec_mutex_trylock", false)
1238+
11491239 cret := xStaticRecMutexTrylock(x.GoPointer())
11501240 return cret
11511241 }
@@ -1158,6 +1248,8 @@ var xStaticRecMutexUnlock func(uintptr)
11581248 // blocked in a g_static_rec_mutex_lock() call for @mutex, it will be
11591249 // woken and can lock @mutex itself.
11601250 func (x *StaticRecMutex) Unlock() {
1251+ core.LazyRegister(&xStaticRecMutexUnlock, "GLIB", "g_static_rec_mutex_unlock", false)
1252+
11611253 xStaticRecMutexUnlock(x.GoPointer())
11621254 }
11631255
@@ -1171,6 +1263,8 @@ var xStaticRecMutexUnlockFull func(uintptr) uint
11711263 // g_static_rec_mutex_lock_full() with the depth returned by this
11721264 // function.
11731265 func (x *StaticRecMutex) UnlockFull() uint {
1266+ core.LazyRegister(&xStaticRecMutexUnlockFull, "GLIB", "g_static_rec_mutex_unlock_full", false)
1267+
11741268 cret := xStaticRecMutexUnlockFull(x.GoPointer())
11751269 return cret
11761270 }
@@ -1203,6 +1297,7 @@ type Thread struct {
12031297 var xThreadGLibType func() types.GType
12041298
12051299 func ThreadGLibType() types.GType {
1300+ core.LazyRegister(&xThreadGLibType, "GLIB", "g_thread_get_type", false)
12061301 return xThreadGLibType()
12071302 }
12081303
@@ -1248,6 +1343,8 @@ var xNewThread func(uintptr, uintptr, uintptr) uintptr
12481343 // Starting with GLib 2.64 the behaviour is now consistent between Windows and
12491344 // POSIX and all threads inherit their parent thread's priority.
12501345 func NewThread(NameVar *string, FuncVar *ThreadFunc, DataVar uintptr) *Thread {
1346+ core.LazyRegister(&xNewThread, "GLIB", "g_thread_new", false)
1347+
12511348 NameVarPtr := core.GStrdupNullable(NameVar)
12521349 defer core.GFreeNullable(NameVarPtr)
12531350
@@ -1266,6 +1363,7 @@ var xThreadTryNew func(uintptr, uintptr, uintptr, **Error) uintptr
12661363 // If a thread can not be created (due to resource limits),
12671364 // @error is set and %NULL is returned.
12681365 func ThreadTryNew(NameVar *string, FuncVar *ThreadFunc, DataVar uintptr) (*Thread, error) {
1366+ core.LazyRegister(&xThreadTryNew, "GLIB", "g_thread_try_new", false)
12691367 var cerr *Error
12701368
12711369 NameVarPtr := core.GStrdupNullable(NameVar)
@@ -1287,6 +1385,8 @@ var xThreadGetName func(uintptr) string
12871385 //
12881386 // This function is intended for debugging purposes.
12891387 func (x *Thread) GetName() string {
1388+ core.LazyRegister(&xThreadGetName, "GLIB", "g_thread_get_name", false)
1389+
12901390 cret := xThreadGetName(x.GoPointer())
12911391 return cret
12921392 }
@@ -1310,6 +1410,8 @@ var xThreadJoin func(uintptr) uintptr
13101410 // to be freed. Use g_thread_ref() to obtain an extra reference if you
13111411 // want to keep the GThread alive beyond the g_thread_join() call.
13121412 func (x *Thread) Join() uintptr {
1413+ core.LazyRegister(&xThreadJoin, "GLIB", "g_thread_join", false)
1414+
13131415 cret := xThreadJoin(x.GoPointer())
13141416 return cret
13151417 }
@@ -1318,6 +1420,8 @@ var xThreadRef func(uintptr) uintptr
13181420
13191421 // Increase the reference count on @thread.
13201422 func (x *Thread) Ref() *Thread {
1423+ core.LazyRegister(&xThreadRef, "GLIB", "g_thread_ref", false)
1424+
13211425 cret := xThreadRef(x.GoPointer())
13221426 if cret == 0 {
13231427 return nil
@@ -1329,6 +1433,8 @@ var xThreadSetPriority func(uintptr, ThreadPriority)
13291433
13301434 // This function does nothing.
13311435 func (x *Thread) SetPriority(PriorityVar ThreadPriority) {
1436+ core.LazyRegister(&xThreadSetPriority, "GLIB", "g_thread_set_priority", false)
1437+
13321438 xThreadSetPriority(x.GoPointer(), PriorityVar)
13331439 }
13341440
@@ -1341,6 +1447,8 @@ var xThreadUnref func(uintptr)
13411447 // it is running, so it is safe to drop your own reference to it
13421448 // if you don't need it anymore.
13431449 func (x *Thread) Unref() {
1450+ core.LazyRegister(&xThreadUnref, "GLIB", "g_thread_unref", false)
1451+
13441452 xThreadUnref(x.GoPointer())
13451453 }
13461454
@@ -1776,7 +1884,7 @@ func (x *ThreadFunctions) OverrideThreadCreate(cb func(*ThreadFunc, uintptr, uin
17761884 if cb == nil {
17771885 x.xThreadCreate = 0
17781886 } else {
1779- x.xThreadCreate = purego.NewCallback(func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr) {
1887+ x.xThreadCreate = purego.NewCallback(func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr, cerrp **Error) {
17801888 cb((*ThreadFunc)(unsafe.Pointer(FuncVarp)), DataVarp, StackSizeVarp, JoinableVarp, BoundVarp, PriorityVarp, ThreadVarp)
17811889 })
17821890 }
@@ -1788,10 +1896,11 @@ func (x *ThreadFunctions) GetThreadCreate() func(*ThreadFunc, uintptr, uint, boo
17881896 if x.xThreadCreate == 0 {
17891897 return nil
17901898 }
1791- var rawCallback func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr)
1899+ var rawCallback func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr, cerrp **Error)
17921900 purego.RegisterFunc(&rawCallback, x.xThreadCreate)
17931901 return func(FuncVar *ThreadFunc, DataVar uintptr, StackSizeVar uint, JoinableVar bool, BoundVar bool, PriorityVar ThreadPriority, ThreadVar uintptr) {
1794- rawCallback(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, ThreadVar)
1902+ var cerr *Error
1903+ rawCallback(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, ThreadVar, &cerr)
17951904 }
17961905 }
17971906
@@ -2058,6 +2167,8 @@ var xCondNew func() uintptr
20582167
20592168 // Allocates and initializes a new #GCond.
20602169 func CondNew() *Cond {
2170+ core.LazyRegister(&xCondNew, "GLIB", "g_cond_new", false)
2171+
20612172 cret := xCondNew()
20622173 if cret == 0 {
20632174 return nil
@@ -2072,6 +2183,8 @@ var xGetNumProcessors func() uint
20722183 // used as a parameter to g_thread_pool_new() for CPU bound tasks and
20732184 // similar cases.
20742185 func GetNumProcessors() uint {
2186+ core.LazyRegister(&xGetNumProcessors, "GLIB", "g_get_num_processors", false)
2187+
20752188 cret := xGetNumProcessors()
20762189 return cret
20772190 }
@@ -2080,6 +2193,8 @@ var xMutexNew func() *Mutex
20802193
20812194 // Allocates and initializes a new #GMutex.
20822195 func MutexNew() *Mutex {
2196+ core.LazyRegister(&xMutexNew, "GLIB", "g_mutex_new", false)
2197+
20832198 cret := xMutexNew()
20842199 return cret
20852200 }
@@ -2114,6 +2229,8 @@ var xOnceInitEnter func(*uintptr) bool
21142229 // While @location has a `volatile` qualifier, this is a historical artifact and
21152230 // the pointer passed to it should not be `volatile`.
21162231 func OnceInitEnter(LocationVar *uintptr) bool {
2232+ core.LazyRegister(&xOnceInitEnter, "GLIB", "g_once_init_enter", false)
2233+
21172234 cret := xOnceInitEnter(LocationVar)
21182235 return cret
21192236 }
@@ -2121,6 +2238,8 @@ func OnceInitEnter(LocationVar *uintptr) bool {
21212238 var xOnceInitEnterImpl func(uint) bool
21222239
21232240 func OnceInitEnterImpl(LocationVar uint) bool {
2241+ core.LazyRegister(&xOnceInitEnterImpl, "GLIB", "g_once_init_enter_impl", false)
2242+
21242243 cret := xOnceInitEnterImpl(LocationVar)
21252244 return cret
21262245 }
@@ -2145,6 +2264,8 @@ var xOnceInitEnterPointer func(uintptr) bool
21452264 //
21462265 // ]|
21472266 func OnceInitEnterPointer(LocationVar uintptr) bool {
2267+ core.LazyRegister(&xOnceInitEnterPointer, "GLIB", "g_once_init_enter_pointer", false)
2268+
21482269 cret := xOnceInitEnterPointer(LocationVar)
21492270 return cret
21502271 }
@@ -2160,6 +2281,8 @@ var xOnceInitLeave func(*uintptr, uint)
21602281 // While @location has a `volatile` qualifier, this is a historical artifact and
21612282 // the pointer passed to it should not be `volatile`.
21622283 func OnceInitLeave(LocationVar *uintptr, ResultVar uint) {
2284+ core.LazyRegister(&xOnceInitLeave, "GLIB", "g_once_init_leave", false)
2285+
21632286 xOnceInitLeave(LocationVar, ResultVar)
21642287 }
21652288
@@ -2174,6 +2297,8 @@ var xOnceInitLeavePointer func(uintptr, uintptr)
21742297 // This functions behaves in the same way as g_once_init_leave(), but
21752298 // can be used to initialize pointers (or #guintptr) instead of #gsize.
21762299 func OnceInitLeavePointer(LocationVar uintptr, ResultVar uintptr) {
2300+ core.LazyRegister(&xOnceInitLeavePointer, "GLIB", "g_once_init_leave_pointer", false)
2301+
21772302 xOnceInitLeavePointer(LocationVar, ResultVar)
21782303 }
21792304
@@ -2181,6 +2306,8 @@ var xPrivateNew func(uintptr) uintptr
21812306
21822307 // Creates a new #GPrivate.
21832308 func PrivateNew(NotifyVar *DestroyNotify) *Private {
2309+ core.LazyRegister(&xPrivateNew, "GLIB", "g_private_new", false)
2310+
21842311 cret := xPrivateNew(NewCallbackNullable(NotifyVar))
21852312 if cret == 0 {
21862313 return nil
@@ -2203,6 +2330,7 @@ var xThreadCreate func(uintptr, uintptr, bool, **Error) uintptr
22032330 // calling g_thread_unref() or g_thread_join(). If @joinable is %FALSE
22042331 // then you should probably not touch the return value.
22052332 func ThreadCreate(FuncVar *ThreadFunc, DataVar uintptr, JoinableVar bool) (*Thread, error) {
2333+ core.LazyRegister(&xThreadCreate, "GLIB", "g_thread_create", false)
22062334 var cerr *Error
22072335
22082336 cret := xThreadCreate(NewCallback(FuncVar), DataVar, JoinableVar, &cerr)
@@ -2219,6 +2347,7 @@ var xThreadCreateFull func(uintptr, uintptr, uint, bool, bool, ThreadPriority, *
22192347
22202348 // This function creates a new thread.
22212349 func ThreadCreateFull(FuncVar *ThreadFunc, DataVar uintptr, StackSizeVar uint, JoinableVar bool, BoundVar bool, PriorityVar ThreadPriority) (*Thread, error) {
2350+ core.LazyRegister(&xThreadCreateFull, "GLIB", "g_thread_create_full", false)
22222351 var cerr *Error
22232352
22242353 cret := xThreadCreateFull(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, &cerr)
@@ -2247,6 +2376,8 @@ var xThreadExit func(uintptr)
22472376 // this function from a thread created with another threading library
22482377 // or or from within a #GThreadPool.
22492378 func ThreadExit(RetvalVar uintptr) {
2379+ core.LazyRegister(&xThreadExit, "GLIB", "g_thread_exit", false)
2380+
22502381 xThreadExit(RetvalVar)
22512382 }
22522383
@@ -2264,6 +2395,8 @@ var xThreadForeach func(uintptr, uintptr)
22642395 // Due to thread lifetime checks, this function has an execution complexity
22652396 // which is quadratic in the number of existing threads.
22662397 func ThreadForeach(ThreadFuncVar *Func, UserDataVar uintptr) {
2398+ core.LazyRegister(&xThreadForeach, "GLIB", "g_thread_foreach", false)
2399+
22672400 xThreadForeach(NewCallback(ThreadFuncVar), UserDataVar)
22682401 }
22692402
@@ -2271,6 +2404,8 @@ var xThreadGetInitialized func() bool
22712404
22722405 // Indicates if g_thread_init() has been called.
22732406 func ThreadGetInitialized() bool {
2407+ core.LazyRegister(&xThreadGetInitialized, "GLIB", "g_thread_get_initialized", false)
2408+
22742409 cret := xThreadGetInitialized()
22752410 return cret
22762411 }
@@ -2300,12 +2435,16 @@ var xThreadInit func(uintptr)
23002435 // functions of GLib. Those can be used without having to link
23012436 // with the thread libraries.
23022437 func ThreadInit(VtableVar uintptr) {
2438+ core.LazyRegister(&xThreadInit, "GLIB", "g_thread_init", false)
2439+
23032440 xThreadInit(VtableVar)
23042441 }
23052442
23062443 var xThreadInitWithErrorcheckMutexes func(uintptr)
23072444
23082445 func ThreadInitWithErrorcheckMutexes(VtableVar uintptr) {
2446+ core.LazyRegister(&xThreadInitWithErrorcheckMutexes, "GLIB", "g_thread_init_with_errorcheck_mutexes", false)
2447+
23092448 xThreadInitWithErrorcheckMutexes(VtableVar)
23102449 }
23112450
@@ -2321,6 +2460,8 @@ var xThreadSelf func() uintptr
23212460 // (i.e. comparisons) but you must not use GLib functions (such
23222461 // as g_thread_join()) on these threads.
23232462 func ThreadSelf() *Thread {
2463+ core.LazyRegister(&xThreadSelf, "GLIB", "g_thread_self", false)
2464+
23242465 cret := xThreadSelf()
23252466 if cret == 0 {
23262467 return nil
@@ -2335,104 +2476,12 @@ var xThreadYield func()
23352476 //
23362477 // This function is often used as a method to make busy wait less evil.
23372478 func ThreadYield() {
2479+ core.LazyRegister(&xThreadYield, "GLIB", "g_thread_yield", false)
2480+
23382481 xThreadYield()
23392482 }
23402483
23412484 func init() {
23422485 core.SetPackageName("GLIB", "glib-2.0")
23432486 core.SetSharedLibraries("GLIB", []string{"libgobject-2.0.so.0", "libglib-2.0.so.0", "libgobject-2.0.0.dylib", "libglib-2.0.0.dylib"})
2344- var libs []uintptr
2345- for _, libPath := range core.GetPaths("GLIB") {
2346- lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
2347- if err != nil {
2348- panic(err)
2349- }
2350- libs = append(libs, lib)
2351- }
2352-
2353- core.PuregoSafeRegister(&xCondNew, libs, "g_cond_new")
2354- core.PuregoSafeRegister(&xGetNumProcessors, libs, "g_get_num_processors")
2355- core.PuregoSafeRegister(&xMutexNew, libs, "g_mutex_new")
2356- core.PuregoSafeRegister(&xOnceInitEnter, libs, "g_once_init_enter")
2357- core.PuregoSafeRegister(&xOnceInitEnterImpl, libs, "g_once_init_enter_impl")
2358- core.PuregoSafeRegister(&xOnceInitEnterPointer, libs, "g_once_init_enter_pointer")
2359- core.PuregoSafeRegister(&xOnceInitLeave, libs, "g_once_init_leave")
2360- core.PuregoSafeRegister(&xOnceInitLeavePointer, libs, "g_once_init_leave_pointer")
2361- core.PuregoSafeRegister(&xPrivateNew, libs, "g_private_new")
2362- core.PuregoSafeRegister(&xThreadCreate, libs, "g_thread_create")
2363- core.PuregoSafeRegister(&xThreadCreateFull, libs, "g_thread_create_full")
2364- core.PuregoSafeRegister(&xThreadExit, libs, "g_thread_exit")
2365- core.PuregoSafeRegister(&xThreadForeach, libs, "g_thread_foreach")
2366- core.PuregoSafeRegister(&xThreadGetInitialized, libs, "g_thread_get_initialized")
2367- core.PuregoSafeRegister(&xThreadInit, libs, "g_thread_init")
2368- core.PuregoSafeRegister(&xThreadInitWithErrorcheckMutexes, libs, "g_thread_init_with_errorcheck_mutexes")
2369- core.PuregoSafeRegister(&xThreadSelf, libs, "g_thread_self")
2370- core.PuregoSafeRegister(&xThreadYield, libs, "g_thread_yield")
2371-
2372- core.PuregoSafeRegister(&xCondBroadcast, libs, "g_cond_broadcast")
2373- core.PuregoSafeRegister(&xCondClear, libs, "g_cond_clear")
2374- core.PuregoSafeRegister(&xCondFree, libs, "g_cond_free")
2375- core.PuregoSafeRegister(&xCondInit, libs, "g_cond_init")
2376- core.PuregoSafeRegister(&xCondSignal, libs, "g_cond_signal")
2377- core.PuregoSafeRegister(&xCondTimedWait, libs, "g_cond_timed_wait")
2378- core.PuregoSafeRegister(&xCondWait, libs, "g_cond_wait")
2379- core.PuregoSafeRegister(&xCondWaitUntil, libs, "g_cond_wait_until")
2380-
2381- core.PuregoSafeRegister(&xOnceImpl, libs, "g_once_impl")
2382-
2383- core.PuregoSafeRegister(&xPrivateGet, libs, "g_private_get")
2384- core.PuregoSafeRegister(&xPrivateReplace, libs, "g_private_replace")
2385- core.PuregoSafeRegister(&xPrivateSet, libs, "g_private_set")
2386-
2387- core.PuregoSafeRegister(&xRWLockClear, libs, "g_rw_lock_clear")
2388- core.PuregoSafeRegister(&xRWLockInit, libs, "g_rw_lock_init")
2389- core.PuregoSafeRegister(&xRWLockReaderLock, libs, "g_rw_lock_reader_lock")
2390- core.PuregoSafeRegister(&xRWLockReaderTrylock, libs, "g_rw_lock_reader_trylock")
2391- core.PuregoSafeRegister(&xRWLockReaderUnlock, libs, "g_rw_lock_reader_unlock")
2392- core.PuregoSafeRegister(&xRWLockWriterLock, libs, "g_rw_lock_writer_lock")
2393- core.PuregoSafeRegister(&xRWLockWriterTrylock, libs, "g_rw_lock_writer_trylock")
2394- core.PuregoSafeRegister(&xRWLockWriterUnlock, libs, "g_rw_lock_writer_unlock")
2395-
2396- core.PuregoSafeRegister(&xRecMutexClear, libs, "g_rec_mutex_clear")
2397- core.PuregoSafeRegister(&xRecMutexInit, libs, "g_rec_mutex_init")
2398- core.PuregoSafeRegister(&xRecMutexLock, libs, "g_rec_mutex_lock")
2399- core.PuregoSafeRegister(&xRecMutexTrylock, libs, "g_rec_mutex_trylock")
2400- core.PuregoSafeRegister(&xRecMutexUnlock, libs, "g_rec_mutex_unlock")
2401-
2402- core.PuregoSafeRegister(&xStaticMutexFree, libs, "g_static_mutex_free")
2403- core.PuregoSafeRegister(&xStaticMutexGetMutexImpl, libs, "g_static_mutex_get_mutex_impl")
2404- core.PuregoSafeRegister(&xStaticMutexInit, libs, "g_static_mutex_init")
2405-
2406- core.PuregoSafeRegister(&xStaticPrivateFree, libs, "g_static_private_free")
2407- core.PuregoSafeRegister(&xStaticPrivateGet, libs, "g_static_private_get")
2408- core.PuregoSafeRegister(&xStaticPrivateInit, libs, "g_static_private_init")
2409- core.PuregoSafeRegister(&xStaticPrivateSet, libs, "g_static_private_set")
2410-
2411- core.PuregoSafeRegister(&xStaticRWLockFree, libs, "g_static_rw_lock_free")
2412- core.PuregoSafeRegister(&xStaticRWLockInit, libs, "g_static_rw_lock_init")
2413- core.PuregoSafeRegister(&xStaticRWLockReaderLock, libs, "g_static_rw_lock_reader_lock")
2414- core.PuregoSafeRegister(&xStaticRWLockReaderTrylock, libs, "g_static_rw_lock_reader_trylock")
2415- core.PuregoSafeRegister(&xStaticRWLockReaderUnlock, libs, "g_static_rw_lock_reader_unlock")
2416- core.PuregoSafeRegister(&xStaticRWLockWriterLock, libs, "g_static_rw_lock_writer_lock")
2417- core.PuregoSafeRegister(&xStaticRWLockWriterTrylock, libs, "g_static_rw_lock_writer_trylock")
2418- core.PuregoSafeRegister(&xStaticRWLockWriterUnlock, libs, "g_static_rw_lock_writer_unlock")
2419-
2420- core.PuregoSafeRegister(&xStaticRecMutexFree, libs, "g_static_rec_mutex_free")
2421- core.PuregoSafeRegister(&xStaticRecMutexInit, libs, "g_static_rec_mutex_init")
2422- core.PuregoSafeRegister(&xStaticRecMutexLock, libs, "g_static_rec_mutex_lock")
2423- core.PuregoSafeRegister(&xStaticRecMutexLockFull, libs, "g_static_rec_mutex_lock_full")
2424- core.PuregoSafeRegister(&xStaticRecMutexTrylock, libs, "g_static_rec_mutex_trylock")
2425- core.PuregoSafeRegister(&xStaticRecMutexUnlock, libs, "g_static_rec_mutex_unlock")
2426- core.PuregoSafeRegister(&xStaticRecMutexUnlockFull, libs, "g_static_rec_mutex_unlock_full")
2427-
2428- core.PuregoSafeRegister(&xThreadGLibType, libs, "g_thread_get_type")
2429-
2430- core.PuregoSafeRegister(&xNewThread, libs, "g_thread_new")
2431- core.PuregoSafeRegister(&xThreadTryNew, libs, "g_thread_try_new")
2432-
2433- core.PuregoSafeRegister(&xThreadGetName, libs, "g_thread_get_name")
2434- core.PuregoSafeRegister(&xThreadJoin, libs, "g_thread_join")
2435- core.PuregoSafeRegister(&xThreadRef, libs, "g_thread_ref")
2436- core.PuregoSafeRegister(&xThreadSetPriority, libs, "g_thread_set_priority")
2437- core.PuregoSafeRegister(&xThreadUnref, libs, "g_thread_unref")
24382487 }
@@ -108,6 +108,8 @@ var xCondBroadcast func(uintptr)
108 // It is good practice to lock the same mutex as the waiting threads108 // It is good practice to lock the same mutex as the waiting threads
109 // while calling this function, though not required.109 // while calling this function, though not required.
110 func (x *Cond) Broadcast() {110 func (x *Cond) Broadcast() {
111+ core.LazyRegister(&xCondBroadcast, "GLIB", "g_cond_broadcast", false)
112+
111 xCondBroadcast(x.GoPointer())113 xCondBroadcast(x.GoPointer())
112 }114 }
113 115
@@ -121,6 +123,8 @@ var xCondClear func(uintptr)
121 // Calling g_cond_clear() for a #GCond on which threads are123 // Calling g_cond_clear() for a #GCond on which threads are
122 // blocking leads to undefined behaviour.124 // blocking leads to undefined behaviour.
123 func (x *Cond) Clear() {125 func (x *Cond) Clear() {
126+ core.LazyRegister(&xCondClear, "GLIB", "g_cond_clear", false)
127+
124 xCondClear(x.GoPointer())128 xCondClear(x.GoPointer())
125 }129 }
126 130
@@ -131,6 +135,8 @@ var xCondFree func(uintptr)
131 // Calling g_cond_free() for a #GCond on which threads are135 // Calling g_cond_free() for a #GCond on which threads are
132 // blocking leads to undefined behaviour.136 // blocking leads to undefined behaviour.
133 func (x *Cond) Free() {137 func (x *Cond) Free() {
138+ core.LazyRegister(&xCondFree, "GLIB", "g_cond_free", false)
139+
134 xCondFree(x.GoPointer())140 xCondFree(x.GoPointer())
135 }141 }
136 142
@@ -148,6 +154,8 @@ var xCondInit func(uintptr)
148 // Calling g_cond_init() on an already-initialised #GCond leads154 // Calling g_cond_init() on an already-initialised #GCond leads
149 // to undefined behaviour.155 // to undefined behaviour.
150 func (x *Cond) Init() {156 func (x *Cond) Init() {
157+ core.LazyRegister(&xCondInit, "GLIB", "g_cond_init", false)
158+
151 xCondInit(x.GoPointer())159 xCondInit(x.GoPointer())
152 }160 }
153 161
@@ -158,6 +166,8 @@ var xCondSignal func(uintptr)
158 // It is good practice to hold the same lock as the waiting thread166 // It is good practice to hold the same lock as the waiting thread
159 // while calling this function, though not required.167 // while calling this function, though not required.
160 func (x *Cond) Signal() {168 func (x *Cond) Signal() {
169+ core.LazyRegister(&xCondSignal, "GLIB", "g_cond_signal", false)
170+
161 xCondSignal(x.GoPointer())171 xCondSignal(x.GoPointer())
162 }172 }
163 173
@@ -175,6 +185,8 @@ var xCondTimedWait func(uintptr, *Mutex, *TimeVal) bool
175 // To easily calculate @abs_time a combination of g_get_real_time()185 // To easily calculate @abs_time a combination of g_get_real_time()
176 // and g_time_val_add() can be used.186 // and g_time_val_add() can be used.
177 func (x *Cond) TimedWait(MutexVar *Mutex, AbsTimeVar *TimeVal) bool {187 func (x *Cond) TimedWait(MutexVar *Mutex, AbsTimeVar *TimeVal) bool {
188+ core.LazyRegister(&xCondTimedWait, "GLIB", "g_cond_timed_wait", false)
189+
178 cret := xCondTimedWait(x.GoPointer(), MutexVar, AbsTimeVar)190 cret := xCondTimedWait(x.GoPointer(), MutexVar, AbsTimeVar)
179 return cret191 return cret
180 }192 }
@@ -196,6 +208,8 @@ var xCondWait func(uintptr, *Mutex)
196 // For this reason, g_cond_wait() must always be used in a loop. See208 // For this reason, g_cond_wait() must always be used in a loop. See
197 // the documentation for #GCond for a complete example.209 // the documentation for #GCond for a complete example.
198 func (x *Cond) Wait(MutexVar *Mutex) {210 func (x *Cond) Wait(MutexVar *Mutex) {
211+ core.LazyRegister(&xCondWait, "GLIB", "g_cond_wait", false)
212+
199 xCondWait(x.GoPointer(), MutexVar)213 xCondWait(x.GoPointer(), MutexVar)
200 }214 }
201 215
@@ -252,6 +266,8 @@ var xCondWaitUntil func(uintptr, *Mutex, int64) bool
252 // have to start over waiting again (which would lead to a total wait266 // have to start over waiting again (which would lead to a total wait
253 // time of more than 5 seconds).267 // time of more than 5 seconds).
254 func (x *Cond) WaitUntil(MutexVar *Mutex, EndTimeVar int64) bool {268 func (x *Cond) WaitUntil(MutexVar *Mutex, EndTimeVar int64) bool {
269+ core.LazyRegister(&xCondWaitUntil, "GLIB", "g_cond_wait_until", false)
270+
255 cret := xCondWaitUntil(x.GoPointer(), MutexVar, EndTimeVar)271 cret := xCondWaitUntil(x.GoPointer(), MutexVar, EndTimeVar)
256 return cret272 return cret
257 }273 }
@@ -282,6 +298,8 @@ func OnceNewFromInternalPtr(ptr uintptr) *Once {
282 var xOnceImpl func(uintptr, uintptr, uintptr) uintptr298 var xOnceImpl func(uintptr, uintptr, uintptr) uintptr
283 299
284 func (x *Once) Impl(FuncVar *ThreadFunc, ArgVar uintptr) uintptr {300 func (x *Once) Impl(FuncVar *ThreadFunc, ArgVar uintptr) uintptr {
301+ core.LazyRegister(&xOnceImpl, "GLIB", "g_once_impl", false)
302+
285 cret := xOnceImpl(x.GoPointer(), NewCallback(FuncVar), ArgVar)303 cret := xOnceImpl(x.GoPointer(), NewCallback(FuncVar), ArgVar)
286 return cret304 return cret
287 }305 }
@@ -333,6 +351,8 @@ var xPrivateGet func(uintptr) uintptr
333 // Values are never copied between threads (when a new thread is351 // Values are never copied between threads (when a new thread is
334 // created, for example).352 // created, for example).
335 func (x *Private) Get() uintptr {353 func (x *Private) Get() uintptr {
354+ core.LazyRegister(&xPrivateGet, "GLIB", "g_private_get", false)
355+
336 cret := xPrivateGet(x.GoPointer())356 cret := xPrivateGet(x.GoPointer())
337 return cret357 return cret
338 }358 }
@@ -346,6 +366,8 @@ var xPrivateReplace func(uintptr, uintptr)
346 // the previous value was non-%NULL then the #GDestroyNotify handler for366 // the previous value was non-%NULL then the #GDestroyNotify handler for
347 // @key is run on it.367 // @key is run on it.
348 func (x *Private) Replace(ValueVar uintptr) {368 func (x *Private) Replace(ValueVar uintptr) {
369+ core.LazyRegister(&xPrivateReplace, "GLIB", "g_private_replace", false)
370+
349 xPrivateReplace(x.GoPointer(), ValueVar)371 xPrivateReplace(x.GoPointer(), ValueVar)
350 }372 }
351 373
@@ -357,6 +379,8 @@ var xPrivateSet func(uintptr, uintptr)
357 // This function differs from g_private_replace() in the following way:379 // This function differs from g_private_replace() in the following way:
358 // the #GDestroyNotify for @key is not called on the old value.380 // the #GDestroyNotify for @key is not called on the old value.
359 func (x *Private) Set(ValueVar uintptr) {381 func (x *Private) Set(ValueVar uintptr) {
382+ core.LazyRegister(&xPrivateSet, "GLIB", "g_private_set", false)
383+
360 xPrivateSet(x.GoPointer(), ValueVar)384 xPrivateSet(x.GoPointer(), ValueVar)
361 }385 }
362 386
@@ -455,6 +479,8 @@ var xRWLockClear func(uintptr)
455 // Calling g_rw_lock_clear() when any thread holds the lock479 // Calling g_rw_lock_clear() when any thread holds the lock
456 // leads to undefined behaviour.480 // leads to undefined behaviour.
457 func (x *RWLock) Clear() {481 func (x *RWLock) Clear() {
482+ core.LazyRegister(&xRWLockClear, "GLIB", "g_rw_lock_clear", false)
483+
458 xRWLockClear(x.GoPointer())484 xRWLockClear(x.GoPointer())
459 }485 }
460 486
@@ -486,6 +512,8 @@ var xRWLockInit func(uintptr)
486 // Calling g_rw_lock_init() on an already initialized #GRWLock leads512 // Calling g_rw_lock_init() on an already initialized #GRWLock leads
487 // to undefined behaviour.513 // to undefined behaviour.
488 func (x *RWLock) Init() {514 func (x *RWLock) Init() {
515+ core.LazyRegister(&xRWLockInit, "GLIB", "g_rw_lock_init", false)
516+
489 xRWLockInit(x.GoPointer())517 xRWLockInit(x.GoPointer())
490 }518 }
491 519
@@ -507,6 +535,8 @@ var xRWLockReaderLock func(uintptr)
507 // held on the same lock simultaneously. If the limit is hit,535 // held on the same lock simultaneously. If the limit is hit,
508 // or if a deadlock is detected, a critical warning will be emitted.536 // or if a deadlock is detected, a critical warning will be emitted.
509 func (x *RWLock) ReaderLock() {537 func (x *RWLock) ReaderLock() {
538+ core.LazyRegister(&xRWLockReaderLock, "GLIB", "g_rw_lock_reader_lock", false)
539+
510 xRWLockReaderLock(x.GoPointer())540 xRWLockReaderLock(x.GoPointer())
511 }541 }
512 542
@@ -516,6 +546,8 @@ var xRWLockReaderTrylock func(uintptr) bool
516 // the read lock was successfully obtained. Otherwise it546 // the read lock was successfully obtained. Otherwise it
517 // returns %FALSE.547 // returns %FALSE.
518 func (x *RWLock) ReaderTrylock() bool {548 func (x *RWLock) ReaderTrylock() bool {
549+ core.LazyRegister(&xRWLockReaderTrylock, "GLIB", "g_rw_lock_reader_trylock", false)
550+
519 cret := xRWLockReaderTrylock(x.GoPointer())551 cret := xRWLockReaderTrylock(x.GoPointer())
520 return cret552 return cret
521 }553 }
@@ -527,6 +559,8 @@ var xRWLockReaderUnlock func(uintptr)
527 // Calling g_rw_lock_reader_unlock() on a lock that is not held559 // Calling g_rw_lock_reader_unlock() on a lock that is not held
528 // by the current thread leads to undefined behaviour.560 // by the current thread leads to undefined behaviour.
529 func (x *RWLock) ReaderUnlock() {561 func (x *RWLock) ReaderUnlock() {
562+ core.LazyRegister(&xRWLockReaderUnlock, "GLIB", "g_rw_lock_reader_unlock", false)
563+
530 xRWLockReaderUnlock(x.GoPointer())564 xRWLockReaderUnlock(x.GoPointer())
531 }565 }
532 566
@@ -539,6 +573,8 @@ var xRWLockWriterLock func(uintptr)
539 // Calling g_rw_lock_writer_lock() while the current thread already573 // Calling g_rw_lock_writer_lock() while the current thread already
540 // owns a read or write lock on @rw_lock leads to undefined behaviour.574 // owns a read or write lock on @rw_lock leads to undefined behaviour.
541 func (x *RWLock) WriterLock() {575 func (x *RWLock) WriterLock() {
576+ core.LazyRegister(&xRWLockWriterLock, "GLIB", "g_rw_lock_writer_lock", false)
577+
542 xRWLockWriterLock(x.GoPointer())578 xRWLockWriterLock(x.GoPointer())
543 }579 }
544 580
@@ -549,6 +585,8 @@ var xRWLockWriterTrylock func(uintptr) bool
549 // returns %FALSE.585 // returns %FALSE.
550 // Otherwise it locks @rw_lock and returns %TRUE.586 // Otherwise it locks @rw_lock and returns %TRUE.
551 func (x *RWLock) WriterTrylock() bool {587 func (x *RWLock) WriterTrylock() bool {
588+ core.LazyRegister(&xRWLockWriterTrylock, "GLIB", "g_rw_lock_writer_trylock", false)
589+
552 cret := xRWLockWriterTrylock(x.GoPointer())590 cret := xRWLockWriterTrylock(x.GoPointer())
553 return cret591 return cret
554 }592 }
@@ -560,6 +598,8 @@ var xRWLockWriterUnlock func(uintptr)
560 // Calling g_rw_lock_writer_unlock() on a lock that is not held598 // Calling g_rw_lock_writer_unlock() on a lock that is not held
561 // by the current thread leads to undefined behaviour.599 // by the current thread leads to undefined behaviour.
562 func (x *RWLock) WriterUnlock() {600 func (x *RWLock) WriterUnlock() {
601+ core.LazyRegister(&xRWLockWriterUnlock, "GLIB", "g_rw_lock_writer_unlock", false)
602+
563 xRWLockWriterUnlock(x.GoPointer())603 xRWLockWriterUnlock(x.GoPointer())
564 }604 }
565 605
@@ -606,6 +646,8 @@ var xRecMutexClear func(uintptr)
606 // Calling g_rec_mutex_clear() on a locked recursive mutex leads646 // Calling g_rec_mutex_clear() on a locked recursive mutex leads
607 // to undefined behaviour.647 // to undefined behaviour.
608 func (x *RecMutex) Clear() {648 func (x *RecMutex) Clear() {
649+ core.LazyRegister(&xRecMutexClear, "GLIB", "g_rec_mutex_clear", false)
650+
609 xRecMutexClear(x.GoPointer())651 xRecMutexClear(x.GoPointer())
610 }652 }
611 653
@@ -639,6 +681,8 @@ var xRecMutexInit func(uintptr)
639 // To undo the effect of g_rec_mutex_init() when a recursive mutex681 // To undo the effect of g_rec_mutex_init() when a recursive mutex
640 // is no longer needed, use g_rec_mutex_clear().682 // is no longer needed, use g_rec_mutex_clear().
641 func (x *RecMutex) Init() {683 func (x *RecMutex) Init() {
684+ core.LazyRegister(&xRecMutexInit, "GLIB", "g_rec_mutex_init", false)
685+
642 xRecMutexInit(x.GoPointer())686 xRecMutexInit(x.GoPointer())
643 }687 }
644 688
@@ -651,6 +695,8 @@ var xRecMutexLock func(uintptr)
651 // The mutex will only become available again when it is unlocked695 // The mutex will only become available again when it is unlocked
652 // as many times as it has been locked.696 // as many times as it has been locked.
653 func (x *RecMutex) Lock() {697 func (x *RecMutex) Lock() {
698+ core.LazyRegister(&xRecMutexLock, "GLIB", "g_rec_mutex_lock", false)
699+
654 xRecMutexLock(x.GoPointer())700 xRecMutexLock(x.GoPointer())
655 }701 }
656 702
@@ -660,6 +706,8 @@ var xRecMutexTrylock func(uintptr) bool
660 // by another thread, it immediately returns %FALSE. Otherwise706 // by another thread, it immediately returns %FALSE. Otherwise
661 // it locks @rec_mutex and returns %TRUE.707 // it locks @rec_mutex and returns %TRUE.
662 func (x *RecMutex) Trylock() bool {708 func (x *RecMutex) Trylock() bool {
709+ core.LazyRegister(&xRecMutexTrylock, "GLIB", "g_rec_mutex_trylock", false)
710+
663 cret := xRecMutexTrylock(x.GoPointer())711 cret := xRecMutexTrylock(x.GoPointer())
664 return cret712 return cret
665 }713 }
@@ -673,6 +721,8 @@ var xRecMutexUnlock func(uintptr)
673 // Calling g_rec_mutex_unlock() on a recursive mutex that is not721 // Calling g_rec_mutex_unlock() on a recursive mutex that is not
674 // locked by the current thread leads to undefined behaviour.722 // locked by the current thread leads to undefined behaviour.
675 func (x *RecMutex) Unlock() {723 func (x *RecMutex) Unlock() {
724+ core.LazyRegister(&xRecMutexUnlock, "GLIB", "g_rec_mutex_unlock", false)
725+
676 xRecMutexUnlock(x.GoPointer())726 xRecMutexUnlock(x.GoPointer())
677 }727 }
678 728
@@ -754,12 +804,16 @@ var xStaticMutexFree func(uintptr)
754 // Calling g_static_mutex_free() on a locked mutex may result in804 // Calling g_static_mutex_free() on a locked mutex may result in
755 // undefined behaviour.805 // undefined behaviour.
756 func (x *StaticMutex) Free() {806 func (x *StaticMutex) Free() {
807+ core.LazyRegister(&xStaticMutexFree, "GLIB", "g_static_mutex_free", false)
808+
757 xStaticMutexFree(x.GoPointer())809 xStaticMutexFree(x.GoPointer())
758 }810 }
759 811
760 var xStaticMutexGetMutexImpl func(uintptr) *Mutex812 var xStaticMutexGetMutexImpl func(uintptr) *Mutex
761 813
762 func (x *StaticMutex) GetMutexImpl() *Mutex {814 func (x *StaticMutex) GetMutexImpl() *Mutex {
815+ core.LazyRegister(&xStaticMutexGetMutexImpl, "GLIB", "g_static_mutex_get_mutex_impl", false)
816+
763 cret := xStaticMutexGetMutexImpl(x.GoPointer())817 cret := xStaticMutexGetMutexImpl(x.GoPointer())
764 return cret818 return cret
765 }819 }
@@ -769,6 +823,8 @@ var xStaticMutexInit func(uintptr)
769 // Initializes @mutex.823 // Initializes @mutex.
770 // Alternatively you can initialize it with %G_STATIC_MUTEX_INIT.824 // Alternatively you can initialize it with %G_STATIC_MUTEX_INIT.
771 func (x *StaticMutex) Init() {825 func (x *StaticMutex) Init() {
826+ core.LazyRegister(&xStaticMutexInit, "GLIB", "g_static_mutex_init", false)
827+
772 xStaticMutexInit(x.GoPointer())828 xStaticMutexInit(x.GoPointer())
773 }829 }
774 830
@@ -826,6 +882,8 @@ var xStaticPrivateFree func(uintptr)
826 // a #GStaticPrivate as a member of a structure and the structure is882 // a #GStaticPrivate as a member of a structure and the structure is
827 // freed, you should also free the #GStaticPrivate.883 // freed, you should also free the #GStaticPrivate.
828 func (x *StaticPrivate) Free() {884 func (x *StaticPrivate) Free() {
885+ core.LazyRegister(&xStaticPrivateFree, "GLIB", "g_static_private_free", false)
886+
829 xStaticPrivateFree(x.GoPointer())887 xStaticPrivateFree(x.GoPointer())
830 }888 }
831 889
@@ -835,6 +893,8 @@ var xStaticPrivateGet func(uintptr) uintptr
835 //893 //
836 // This function works even if g_thread_init() has not yet been called.894 // This function works even if g_thread_init() has not yet been called.
837 func (x *StaticPrivate) Get() uintptr {895 func (x *StaticPrivate) Get() uintptr {
896+ core.LazyRegister(&xStaticPrivateGet, "GLIB", "g_static_private_get", false)
897+
838 cret := xStaticPrivateGet(x.GoPointer())898 cret := xStaticPrivateGet(x.GoPointer())
839 return cret899 return cret
840 }900 }
@@ -844,6 +904,8 @@ var xStaticPrivateInit func(uintptr)
844 // Initializes @private_key. Alternatively you can initialize it with904 // Initializes @private_key. Alternatively you can initialize it with
845 // %G_STATIC_PRIVATE_INIT.905 // %G_STATIC_PRIVATE_INIT.
846 func (x *StaticPrivate) Init() {906 func (x *StaticPrivate) Init() {
907+ core.LazyRegister(&xStaticPrivateInit, "GLIB", "g_static_private_init", false)
908+
847 xStaticPrivateInit(x.GoPointer())909 xStaticPrivateInit(x.GoPointer())
848 }910 }
849 911
@@ -861,6 +923,8 @@ var xStaticPrivateSet func(uintptr, uintptr, uintptr)
861 //923 //
862 // @notify is used quite differently from @destructor in g_private_new().924 // @notify is used quite differently from @destructor in g_private_new().
863 func (x *StaticPrivate) Set(DataVar uintptr, NotifyVar *DestroyNotify) {925 func (x *StaticPrivate) Set(DataVar uintptr, NotifyVar *DestroyNotify) {
926+ core.LazyRegister(&xStaticPrivateSet, "GLIB", "g_static_private_set", false)
927+
864 xStaticPrivateSet(x.GoPointer(), DataVar, NewCallbackNullable(NotifyVar))928 xStaticPrivateSet(x.GoPointer(), DataVar, NewCallbackNullable(NotifyVar))
865 }929 }
866 930
@@ -977,6 +1041,8 @@ var xStaticRWLockFree func(uintptr)
977 // a #GStaticRWLock as a member of a structure, and the structure is1041 // a #GStaticRWLock as a member of a structure, and the structure is
978 // freed, you should also free the #GStaticRWLock.1042 // freed, you should also free the #GStaticRWLock.
979 func (x *StaticRWLock) Free() {1043 func (x *StaticRWLock) Free() {
1044+ core.LazyRegister(&xStaticRWLockFree, "GLIB", "g_static_rw_lock_free", false)
1045+
980 xStaticRWLockFree(x.GoPointer())1046 xStaticRWLockFree(x.GoPointer())
981 }1047 }
982 1048
@@ -986,6 +1052,8 @@ var xStaticRWLockInit func(uintptr)
986 // can be used. Alternatively you can initialize it with1052 // can be used. Alternatively you can initialize it with
987 // %G_STATIC_RW_LOCK_INIT.1053 // %G_STATIC_RW_LOCK_INIT.
988 func (x *StaticRWLock) Init() {1054 func (x *StaticRWLock) Init() {
1055+ core.LazyRegister(&xStaticRWLockInit, "GLIB", "g_static_rw_lock_init", false)
1056+
989 xStaticRWLockInit(x.GoPointer())1057 xStaticRWLockInit(x.GoPointer())
990 }1058 }
991 1059
@@ -1003,6 +1071,8 @@ var xStaticRWLockReaderLock func(uintptr)
1003 // recursively lock for reading, but that can result in a deadlock, due1071 // recursively lock for reading, but that can result in a deadlock, due
1004 // to writer preference.1072 // to writer preference.
1005 func (x *StaticRWLock) ReaderLock() {1073 func (x *StaticRWLock) ReaderLock() {
1074+ core.LazyRegister(&xStaticRWLockReaderLock, "GLIB", "g_static_rw_lock_reader_lock", false)
1075+
1006 xStaticRWLockReaderLock(x.GoPointer())1076 xStaticRWLockReaderLock(x.GoPointer())
1007 }1077 }
1008 1078
@@ -1014,6 +1084,8 @@ var xStaticRWLockReaderTrylock func(uintptr) bool
1014 // @lock for reading and returns %TRUE. This lock has to be unlocked by1084 // @lock for reading and returns %TRUE. This lock has to be unlocked by
1015 // g_static_rw_lock_reader_unlock().1085 // g_static_rw_lock_reader_unlock().
1016 func (x *StaticRWLock) ReaderTrylock() bool {1086 func (x *StaticRWLock) ReaderTrylock() bool {
1087+ core.LazyRegister(&xStaticRWLockReaderTrylock, "GLIB", "g_static_rw_lock_reader_trylock", false)
1088+
1017 cret := xStaticRWLockReaderTrylock(x.GoPointer())1089 cret := xStaticRWLockReaderTrylock(x.GoPointer())
1018 return cret1090 return cret
1019 }1091 }
@@ -1024,6 +1096,8 @@ var xStaticRWLockReaderUnlock func(uintptr)
1024 // locks for reading have been unlocked, the waiting thread is woken up1096 // locks for reading have been unlocked, the waiting thread is woken up
1025 // and can lock @lock for writing.1097 // and can lock @lock for writing.
1026 func (x *StaticRWLock) ReaderUnlock() {1098 func (x *StaticRWLock) ReaderUnlock() {
1099+ core.LazyRegister(&xStaticRWLockReaderUnlock, "GLIB", "g_static_rw_lock_reader_unlock", false)
1100+
1027 xStaticRWLockReaderUnlock(x.GoPointer())1101 xStaticRWLockReaderUnlock(x.GoPointer())
1028 }1102 }
1029 1103
@@ -1037,6 +1111,8 @@ var xStaticRWLockWriterLock func(uintptr)
1037 // @lock (neither for reading nor writing). This lock has to be1111 // @lock (neither for reading nor writing). This lock has to be
1038 // unlocked by g_static_rw_lock_writer_unlock().1112 // unlocked by g_static_rw_lock_writer_unlock().
1039 func (x *StaticRWLock) WriterLock() {1113 func (x *StaticRWLock) WriterLock() {
1114+ core.LazyRegister(&xStaticRWLockWriterLock, "GLIB", "g_static_rw_lock_writer_lock", false)
1115+
1040 xStaticRWLockWriterLock(x.GoPointer())1116 xStaticRWLockWriterLock(x.GoPointer())
1041 }1117 }
1042 1118
@@ -1047,6 +1123,8 @@ var xStaticRWLockWriterTrylock func(uintptr) bool
1047 // %FALSE. Otherwise it locks @lock for writing and returns %TRUE. This1123 // %FALSE. Otherwise it locks @lock for writing and returns %TRUE. This
1048 // lock has to be unlocked by g_static_rw_lock_writer_unlock().1124 // lock has to be unlocked by g_static_rw_lock_writer_unlock().
1049 func (x *StaticRWLock) WriterTrylock() bool {1125 func (x *StaticRWLock) WriterTrylock() bool {
1126+ core.LazyRegister(&xStaticRWLockWriterTrylock, "GLIB", "g_static_rw_lock_writer_trylock", false)
1127+
1050 cret := xStaticRWLockWriterTrylock(x.GoPointer())1128 cret := xStaticRWLockWriterTrylock(x.GoPointer())
1051 return cret1129 return cret
1052 }1130 }
@@ -1060,6 +1138,8 @@ var xStaticRWLockWriterUnlock func(uintptr)
1060 // lock @lock for reading, the waiting threads are woken up and can1138 // lock @lock for reading, the waiting threads are woken up and can
1061 // lock @lock for reading.1139 // lock @lock for reading.
1062 func (x *StaticRWLock) WriterUnlock() {1140 func (x *StaticRWLock) WriterUnlock() {
1141+ core.LazyRegister(&xStaticRWLockWriterUnlock, "GLIB", "g_static_rw_lock_writer_unlock", false)
1142+
1063 xStaticRWLockWriterUnlock(x.GoPointer())1143 xStaticRWLockWriterUnlock(x.GoPointer())
1064 }1144 }
1065 1145
@@ -1109,6 +1189,8 @@ var xStaticRecMutexFree func(uintptr)
1109 // a #GStaticRecMutex as a member of a structure and the structure is1189 // a #GStaticRecMutex as a member of a structure and the structure is
1110 // freed, you should also free the #GStaticRecMutex.1190 // freed, you should also free the #GStaticRecMutex.
1111 func (x *StaticRecMutex) Free() {1191 func (x *StaticRecMutex) Free() {
1192+ core.LazyRegister(&xStaticRecMutexFree, "GLIB", "g_static_rec_mutex_free", false)
1193+
1112 xStaticRecMutexFree(x.GoPointer())1194 xStaticRecMutexFree(x.GoPointer())
1113 }1195 }
1114 1196
@@ -1118,6 +1200,8 @@ var xStaticRecMutexInit func(uintptr)
1118 // can be used. Alternatively you can initialize it with1200 // can be used. Alternatively you can initialize it with
1119 // %G_STATIC_REC_MUTEX_INIT.1201 // %G_STATIC_REC_MUTEX_INIT.
1120 func (x *StaticRecMutex) Init() {1202 func (x *StaticRecMutex) Init() {
1203+ core.LazyRegister(&xStaticRecMutexInit, "GLIB", "g_static_rec_mutex_init", false)
1204+
1121 xStaticRecMutexInit(x.GoPointer())1205 xStaticRecMutexInit(x.GoPointer())
1122 }1206 }
1123 1207
@@ -1128,6 +1212,8 @@ var xStaticRecMutexLock func(uintptr)
1128 // thread. If @mutex is already locked by the calling thread, this1212 // thread. If @mutex is already locked by the calling thread, this
1129 // functions increases the depth of @mutex and returns immediately.1213 // functions increases the depth of @mutex and returns immediately.
1130 func (x *StaticRecMutex) Lock() {1214 func (x *StaticRecMutex) Lock() {
1215+ core.LazyRegister(&xStaticRecMutexLock, "GLIB", "g_static_rec_mutex_lock", false)
1216+
1131 xStaticRecMutexLock(x.GoPointer())1217 xStaticRecMutexLock(x.GoPointer())
1132 }1218 }
1133 1219
@@ -1135,6 +1221,8 @@ var xStaticRecMutexLockFull func(uintptr, uint)
1135 1221
1136 // Works like calling g_static_rec_mutex_lock() for @mutex @depth times.1222 // Works like calling g_static_rec_mutex_lock() for @mutex @depth times.
1137 func (x *StaticRecMutex) LockFull(DepthVar uint) {1223 func (x *StaticRecMutex) LockFull(DepthVar uint) {
1224+ core.LazyRegister(&xStaticRecMutexLockFull, "GLIB", "g_static_rec_mutex_lock_full", false)
1225+
1138 xStaticRecMutexLockFull(x.GoPointer(), DepthVar)1226 xStaticRecMutexLockFull(x.GoPointer(), DepthVar)
1139 }1227 }
1140 1228
@@ -1146,6 +1234,8 @@ var xStaticRecMutexTrylock func(uintptr) bool
1146 // functions increases the depth of @mutex and immediately returns1234 // functions increases the depth of @mutex and immediately returns
1147 // %TRUE.1235 // %TRUE.
1148 func (x *StaticRecMutex) Trylock() bool {1236 func (x *StaticRecMutex) Trylock() bool {
1237+ core.LazyRegister(&xStaticRecMutexTrylock, "GLIB", "g_static_rec_mutex_trylock", false)
1238+
1149 cret := xStaticRecMutexTrylock(x.GoPointer())1239 cret := xStaticRecMutexTrylock(x.GoPointer())
1150 return cret1240 return cret
1151 }1241 }
@@ -1158,6 +1248,8 @@ var xStaticRecMutexUnlock func(uintptr)
1158 // blocked in a g_static_rec_mutex_lock() call for @mutex, it will be1248 // blocked in a g_static_rec_mutex_lock() call for @mutex, it will be
1159 // woken and can lock @mutex itself.1249 // woken and can lock @mutex itself.
1160 func (x *StaticRecMutex) Unlock() {1250 func (x *StaticRecMutex) Unlock() {
1251+ core.LazyRegister(&xStaticRecMutexUnlock, "GLIB", "g_static_rec_mutex_unlock", false)
1252+
1161 xStaticRecMutexUnlock(x.GoPointer())1253 xStaticRecMutexUnlock(x.GoPointer())
1162 }1254 }
1163 1255
@@ -1171,6 +1263,8 @@ var xStaticRecMutexUnlockFull func(uintptr) uint
1171 // g_static_rec_mutex_lock_full() with the depth returned by this1263 // g_static_rec_mutex_lock_full() with the depth returned by this
1172 // function.1264 // function.
1173 func (x *StaticRecMutex) UnlockFull() uint {1265 func (x *StaticRecMutex) UnlockFull() uint {
1266+ core.LazyRegister(&xStaticRecMutexUnlockFull, "GLIB", "g_static_rec_mutex_unlock_full", false)
1267+
1174 cret := xStaticRecMutexUnlockFull(x.GoPointer())1268 cret := xStaticRecMutexUnlockFull(x.GoPointer())
1175 return cret1269 return cret
1176 }1270 }
@@ -1203,6 +1297,7 @@ type Thread struct {
1203 var xThreadGLibType func() types.GType1297 var xThreadGLibType func() types.GType
1204 1298
1205 func ThreadGLibType() types.GType {1299 func ThreadGLibType() types.GType {
1300+ core.LazyRegister(&xThreadGLibType, "GLIB", "g_thread_get_type", false)
1206 return xThreadGLibType()1301 return xThreadGLibType()
1207 }1302 }
1208 1303
@@ -1248,6 +1343,8 @@ var xNewThread func(uintptr, uintptr, uintptr) uintptr
1248 // Starting with GLib 2.64 the behaviour is now consistent between Windows and1343 // Starting with GLib 2.64 the behaviour is now consistent between Windows and
1249 // POSIX and all threads inherit their parent thread's priority.1344 // POSIX and all threads inherit their parent thread's priority.
1250 func NewThread(NameVar *string, FuncVar *ThreadFunc, DataVar uintptr) *Thread {1345 func NewThread(NameVar *string, FuncVar *ThreadFunc, DataVar uintptr) *Thread {
1346+ core.LazyRegister(&xNewThread, "GLIB", "g_thread_new", false)
1347+
1251 NameVarPtr := core.GStrdupNullable(NameVar)1348 NameVarPtr := core.GStrdupNullable(NameVar)
1252 defer core.GFreeNullable(NameVarPtr)1349 defer core.GFreeNullable(NameVarPtr)
1253 1350
@@ -1266,6 +1363,7 @@ var xThreadTryNew func(uintptr, uintptr, uintptr, **Error) uintptr
1266 // If a thread can not be created (due to resource limits),1363 // If a thread can not be created (due to resource limits),
1267 // @error is set and %NULL is returned.1364 // @error is set and %NULL is returned.
1268 func ThreadTryNew(NameVar *string, FuncVar *ThreadFunc, DataVar uintptr) (*Thread, error) {1365 func ThreadTryNew(NameVar *string, FuncVar *ThreadFunc, DataVar uintptr) (*Thread, error) {
1366+ core.LazyRegister(&xThreadTryNew, "GLIB", "g_thread_try_new", false)
1269 var cerr *Error1367 var cerr *Error
1270 1368
1271 NameVarPtr := core.GStrdupNullable(NameVar)1369 NameVarPtr := core.GStrdupNullable(NameVar)
@@ -1287,6 +1385,8 @@ var xThreadGetName func(uintptr) string
1287 //1385 //
1288 // This function is intended for debugging purposes.1386 // This function is intended for debugging purposes.
1289 func (x *Thread) GetName() string {1387 func (x *Thread) GetName() string {
1388+ core.LazyRegister(&xThreadGetName, "GLIB", "g_thread_get_name", false)
1389+
1290 cret := xThreadGetName(x.GoPointer())1390 cret := xThreadGetName(x.GoPointer())
1291 return cret1391 return cret
1292 }1392 }
@@ -1310,6 +1410,8 @@ var xThreadJoin func(uintptr) uintptr
1310 // to be freed. Use g_thread_ref() to obtain an extra reference if you1410 // to be freed. Use g_thread_ref() to obtain an extra reference if you
1311 // want to keep the GThread alive beyond the g_thread_join() call.1411 // want to keep the GThread alive beyond the g_thread_join() call.
1312 func (x *Thread) Join() uintptr {1412 func (x *Thread) Join() uintptr {
1413+ core.LazyRegister(&xThreadJoin, "GLIB", "g_thread_join", false)
1414+
1313 cret := xThreadJoin(x.GoPointer())1415 cret := xThreadJoin(x.GoPointer())
1314 return cret1416 return cret
1315 }1417 }
@@ -1318,6 +1420,8 @@ var xThreadRef func(uintptr) uintptr
1318 1420
1319 // Increase the reference count on @thread.1421 // Increase the reference count on @thread.
1320 func (x *Thread) Ref() *Thread {1422 func (x *Thread) Ref() *Thread {
1423+ core.LazyRegister(&xThreadRef, "GLIB", "g_thread_ref", false)
1424+
1321 cret := xThreadRef(x.GoPointer())1425 cret := xThreadRef(x.GoPointer())
1322 if cret == 0 {1426 if cret == 0 {
1323 return nil1427 return nil
@@ -1329,6 +1433,8 @@ var xThreadSetPriority func(uintptr, ThreadPriority)
1329 1433
1330 // This function does nothing.1434 // This function does nothing.
1331 func (x *Thread) SetPriority(PriorityVar ThreadPriority) {1435 func (x *Thread) SetPriority(PriorityVar ThreadPriority) {
1436+ core.LazyRegister(&xThreadSetPriority, "GLIB", "g_thread_set_priority", false)
1437+
1332 xThreadSetPriority(x.GoPointer(), PriorityVar)1438 xThreadSetPriority(x.GoPointer(), PriorityVar)
1333 }1439 }
1334 1440
@@ -1341,6 +1447,8 @@ var xThreadUnref func(uintptr)
1341 // it is running, so it is safe to drop your own reference to it1447 // it is running, so it is safe to drop your own reference to it
1342 // if you don't need it anymore.1448 // if you don't need it anymore.
1343 func (x *Thread) Unref() {1449 func (x *Thread) Unref() {
1450+ core.LazyRegister(&xThreadUnref, "GLIB", "g_thread_unref", false)
1451+
1344 xThreadUnref(x.GoPointer())1452 xThreadUnref(x.GoPointer())
1345 }1453 }
1346 1454
@@ -1776,7 +1884,7 @@ func (x *ThreadFunctions) OverrideThreadCreate(cb func(*ThreadFunc, uintptr, uin
1776 if cb == nil {1884 if cb == nil {
1777 x.xThreadCreate = 01885 x.xThreadCreate = 0
1778 } else {1886 } else {
1779- x.xThreadCreate = purego.NewCallback(func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr) {1887+ x.xThreadCreate = purego.NewCallback(func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr, cerrp **Error) {
1780 cb((*ThreadFunc)(unsafe.Pointer(FuncVarp)), DataVarp, StackSizeVarp, JoinableVarp, BoundVarp, PriorityVarp, ThreadVarp)1888 cb((*ThreadFunc)(unsafe.Pointer(FuncVarp)), DataVarp, StackSizeVarp, JoinableVarp, BoundVarp, PriorityVarp, ThreadVarp)
1781 })1889 })
1782 }1890 }
@@ -1788,10 +1896,11 @@ func (x *ThreadFunctions) GetThreadCreate() func(*ThreadFunc, uintptr, uint, boo
1788 if x.xThreadCreate == 0 {1896 if x.xThreadCreate == 0 {
1789 return nil1897 return nil
1790 }1898 }
1791- var rawCallback func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr)1899+ var rawCallback func(FuncVarp uintptr, DataVarp uintptr, StackSizeVarp uint, JoinableVarp bool, BoundVarp bool, PriorityVarp ThreadPriority, ThreadVarp uintptr, cerrp **Error)
1792 purego.RegisterFunc(&rawCallback, x.xThreadCreate)1900 purego.RegisterFunc(&rawCallback, x.xThreadCreate)
1793 return func(FuncVar *ThreadFunc, DataVar uintptr, StackSizeVar uint, JoinableVar bool, BoundVar bool, PriorityVar ThreadPriority, ThreadVar uintptr) {1901 return func(FuncVar *ThreadFunc, DataVar uintptr, StackSizeVar uint, JoinableVar bool, BoundVar bool, PriorityVar ThreadPriority, ThreadVar uintptr) {
1794- rawCallback(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, ThreadVar)1902+ var cerr *Error
1903+ rawCallback(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, ThreadVar, &cerr)
1795 }1904 }
1796 }1905 }
1797 1906
@@ -2058,6 +2167,8 @@ var xCondNew func() uintptr
2058 2167
2059 // Allocates and initializes a new #GCond.2168 // Allocates and initializes a new #GCond.
2060 func CondNew() *Cond {2169 func CondNew() *Cond {
2170+ core.LazyRegister(&xCondNew, "GLIB", "g_cond_new", false)
2171+
2061 cret := xCondNew()2172 cret := xCondNew()
2062 if cret == 0 {2173 if cret == 0 {
2063 return nil2174 return nil
@@ -2072,6 +2183,8 @@ var xGetNumProcessors func() uint
2072 // used as a parameter to g_thread_pool_new() for CPU bound tasks and2183 // used as a parameter to g_thread_pool_new() for CPU bound tasks and
2073 // similar cases.2184 // similar cases.
2074 func GetNumProcessors() uint {2185 func GetNumProcessors() uint {
2186+ core.LazyRegister(&xGetNumProcessors, "GLIB", "g_get_num_processors", false)
2187+
2075 cret := xGetNumProcessors()2188 cret := xGetNumProcessors()
2076 return cret2189 return cret
2077 }2190 }
@@ -2080,6 +2193,8 @@ var xMutexNew func() *Mutex
2080 2193
2081 // Allocates and initializes a new #GMutex.2194 // Allocates and initializes a new #GMutex.
2082 func MutexNew() *Mutex {2195 func MutexNew() *Mutex {
2196+ core.LazyRegister(&xMutexNew, "GLIB", "g_mutex_new", false)
2197+
2083 cret := xMutexNew()2198 cret := xMutexNew()
2084 return cret2199 return cret
2085 }2200 }
@@ -2114,6 +2229,8 @@ var xOnceInitEnter func(*uintptr) bool
2114 // While @location has a `volatile` qualifier, this is a historical artifact and2229 // While @location has a `volatile` qualifier, this is a historical artifact and
2115 // the pointer passed to it should not be `volatile`.2230 // the pointer passed to it should not be `volatile`.
2116 func OnceInitEnter(LocationVar *uintptr) bool {2231 func OnceInitEnter(LocationVar *uintptr) bool {
2232+ core.LazyRegister(&xOnceInitEnter, "GLIB", "g_once_init_enter", false)
2233+
2117 cret := xOnceInitEnter(LocationVar)2234 cret := xOnceInitEnter(LocationVar)
2118 return cret2235 return cret
2119 }2236 }
@@ -2121,6 +2238,8 @@ func OnceInitEnter(LocationVar *uintptr) bool {
2121 var xOnceInitEnterImpl func(uint) bool2238 var xOnceInitEnterImpl func(uint) bool
2122 2239
2123 func OnceInitEnterImpl(LocationVar uint) bool {2240 func OnceInitEnterImpl(LocationVar uint) bool {
2241+ core.LazyRegister(&xOnceInitEnterImpl, "GLIB", "g_once_init_enter_impl", false)
2242+
2124 cret := xOnceInitEnterImpl(LocationVar)2243 cret := xOnceInitEnterImpl(LocationVar)
2125 return cret2244 return cret
2126 }2245 }
@@ -2145,6 +2264,8 @@ var xOnceInitEnterPointer func(uintptr) bool
2145 //2264 //
2146 // ]|2265 // ]|
2147 func OnceInitEnterPointer(LocationVar uintptr) bool {2266 func OnceInitEnterPointer(LocationVar uintptr) bool {
2267+ core.LazyRegister(&xOnceInitEnterPointer, "GLIB", "g_once_init_enter_pointer", false)
2268+
2148 cret := xOnceInitEnterPointer(LocationVar)2269 cret := xOnceInitEnterPointer(LocationVar)
2149 return cret2270 return cret
2150 }2271 }
@@ -2160,6 +2281,8 @@ var xOnceInitLeave func(*uintptr, uint)
2160 // While @location has a `volatile` qualifier, this is a historical artifact and2281 // While @location has a `volatile` qualifier, this is a historical artifact and
2161 // the pointer passed to it should not be `volatile`.2282 // the pointer passed to it should not be `volatile`.
2162 func OnceInitLeave(LocationVar *uintptr, ResultVar uint) {2283 func OnceInitLeave(LocationVar *uintptr, ResultVar uint) {
2284+ core.LazyRegister(&xOnceInitLeave, "GLIB", "g_once_init_leave", false)
2285+
2163 xOnceInitLeave(LocationVar, ResultVar)2286 xOnceInitLeave(LocationVar, ResultVar)
2164 }2287 }
2165 2288
@@ -2174,6 +2297,8 @@ var xOnceInitLeavePointer func(uintptr, uintptr)
2174 // This functions behaves in the same way as g_once_init_leave(), but2297 // This functions behaves in the same way as g_once_init_leave(), but
2175 // can be used to initialize pointers (or #guintptr) instead of #gsize.2298 // can be used to initialize pointers (or #guintptr) instead of #gsize.
2176 func OnceInitLeavePointer(LocationVar uintptr, ResultVar uintptr) {2299 func OnceInitLeavePointer(LocationVar uintptr, ResultVar uintptr) {
2300+ core.LazyRegister(&xOnceInitLeavePointer, "GLIB", "g_once_init_leave_pointer", false)
2301+
2177 xOnceInitLeavePointer(LocationVar, ResultVar)2302 xOnceInitLeavePointer(LocationVar, ResultVar)
2178 }2303 }
2179 2304
@@ -2181,6 +2306,8 @@ var xPrivateNew func(uintptr) uintptr
2181 2306
2182 // Creates a new #GPrivate.2307 // Creates a new #GPrivate.
2183 func PrivateNew(NotifyVar *DestroyNotify) *Private {2308 func PrivateNew(NotifyVar *DestroyNotify) *Private {
2309+ core.LazyRegister(&xPrivateNew, "GLIB", "g_private_new", false)
2310+
2184 cret := xPrivateNew(NewCallbackNullable(NotifyVar))2311 cret := xPrivateNew(NewCallbackNullable(NotifyVar))
2185 if cret == 0 {2312 if cret == 0 {
2186 return nil2313 return nil
@@ -2203,6 +2330,7 @@ var xThreadCreate func(uintptr, uintptr, bool, **Error) uintptr
2203 // calling g_thread_unref() or g_thread_join(). If @joinable is %FALSE2330 // calling g_thread_unref() or g_thread_join(). If @joinable is %FALSE
2204 // then you should probably not touch the return value.2331 // then you should probably not touch the return value.
2205 func ThreadCreate(FuncVar *ThreadFunc, DataVar uintptr, JoinableVar bool) (*Thread, error) {2332 func ThreadCreate(FuncVar *ThreadFunc, DataVar uintptr, JoinableVar bool) (*Thread, error) {
2333+ core.LazyRegister(&xThreadCreate, "GLIB", "g_thread_create", false)
2206 var cerr *Error2334 var cerr *Error
2207 2335
2208 cret := xThreadCreate(NewCallback(FuncVar), DataVar, JoinableVar, &cerr)2336 cret := xThreadCreate(NewCallback(FuncVar), DataVar, JoinableVar, &cerr)
@@ -2219,6 +2347,7 @@ var xThreadCreateFull func(uintptr, uintptr, uint, bool, bool, ThreadPriority, *
2219 2347
2220 // This function creates a new thread.2348 // This function creates a new thread.
2221 func ThreadCreateFull(FuncVar *ThreadFunc, DataVar uintptr, StackSizeVar uint, JoinableVar bool, BoundVar bool, PriorityVar ThreadPriority) (*Thread, error) {2349 func ThreadCreateFull(FuncVar *ThreadFunc, DataVar uintptr, StackSizeVar uint, JoinableVar bool, BoundVar bool, PriorityVar ThreadPriority) (*Thread, error) {
2350+ core.LazyRegister(&xThreadCreateFull, "GLIB", "g_thread_create_full", false)
2222 var cerr *Error2351 var cerr *Error
2223 2352
2224 cret := xThreadCreateFull(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, &cerr)2353 cret := xThreadCreateFull(NewCallback(FuncVar), DataVar, StackSizeVar, JoinableVar, BoundVar, PriorityVar, &cerr)
@@ -2247,6 +2376,8 @@ var xThreadExit func(uintptr)
2247 // this function from a thread created with another threading library2376 // this function from a thread created with another threading library
2248 // or or from within a #GThreadPool.2377 // or or from within a #GThreadPool.
2249 func ThreadExit(RetvalVar uintptr) {2378 func ThreadExit(RetvalVar uintptr) {
2379+ core.LazyRegister(&xThreadExit, "GLIB", "g_thread_exit", false)
2380+
2250 xThreadExit(RetvalVar)2381 xThreadExit(RetvalVar)
2251 }2382 }
2252 2383
@@ -2264,6 +2395,8 @@ var xThreadForeach func(uintptr, uintptr)
2264 // Due to thread lifetime checks, this function has an execution complexity2395 // Due to thread lifetime checks, this function has an execution complexity
2265 // which is quadratic in the number of existing threads.2396 // which is quadratic in the number of existing threads.
2266 func ThreadForeach(ThreadFuncVar *Func, UserDataVar uintptr) {2397 func ThreadForeach(ThreadFuncVar *Func, UserDataVar uintptr) {
2398+ core.LazyRegister(&xThreadForeach, "GLIB", "g_thread_foreach", false)
2399+
2267 xThreadForeach(NewCallback(ThreadFuncVar), UserDataVar)2400 xThreadForeach(NewCallback(ThreadFuncVar), UserDataVar)
2268 }2401 }
2269 2402
@@ -2271,6 +2404,8 @@ var xThreadGetInitialized func() bool
2271 2404
2272 // Indicates if g_thread_init() has been called.2405 // Indicates if g_thread_init() has been called.
2273 func ThreadGetInitialized() bool {2406 func ThreadGetInitialized() bool {
2407+ core.LazyRegister(&xThreadGetInitialized, "GLIB", "g_thread_get_initialized", false)
2408+
2274 cret := xThreadGetInitialized()2409 cret := xThreadGetInitialized()
2275 return cret2410 return cret
2276 }2411 }
@@ -2300,12 +2435,16 @@ var xThreadInit func(uintptr)
2300 // functions of GLib. Those can be used without having to link2435 // functions of GLib. Those can be used without having to link
2301 // with the thread libraries.2436 // with the thread libraries.
2302 func ThreadInit(VtableVar uintptr) {2437 func ThreadInit(VtableVar uintptr) {
2438+ core.LazyRegister(&xThreadInit, "GLIB", "g_thread_init", false)
2439+
2303 xThreadInit(VtableVar)2440 xThreadInit(VtableVar)
2304 }2441 }
2305 2442
2306 var xThreadInitWithErrorcheckMutexes func(uintptr)2443 var xThreadInitWithErrorcheckMutexes func(uintptr)
2307 2444
2308 func ThreadInitWithErrorcheckMutexes(VtableVar uintptr) {2445 func ThreadInitWithErrorcheckMutexes(VtableVar uintptr) {
2446+ core.LazyRegister(&xThreadInitWithErrorcheckMutexes, "GLIB", "g_thread_init_with_errorcheck_mutexes", false)
2447+
2309 xThreadInitWithErrorcheckMutexes(VtableVar)2448 xThreadInitWithErrorcheckMutexes(VtableVar)
2310 }2449 }
2311 2450
@@ -2321,6 +2460,8 @@ var xThreadSelf func() uintptr
2321 // (i.e. comparisons) but you must not use GLib functions (such2460 // (i.e. comparisons) but you must not use GLib functions (such
2322 // as g_thread_join()) on these threads.2461 // as g_thread_join()) on these threads.
2323 func ThreadSelf() *Thread {2462 func ThreadSelf() *Thread {
2463+ core.LazyRegister(&xThreadSelf, "GLIB", "g_thread_self", false)
2464+
2324 cret := xThreadSelf()2465 cret := xThreadSelf()
2325 if cret == 0 {2466 if cret == 0 {
2326 return nil2467 return nil
@@ -2335,104 +2476,12 @@ var xThreadYield func()
2335 //2476 //
2336 // This function is often used as a method to make busy wait less evil.2477 // This function is often used as a method to make busy wait less evil.
2337 func ThreadYield() {2478 func ThreadYield() {
2479+ core.LazyRegister(&xThreadYield, "GLIB", "g_thread_yield", false)
2480+
2338 xThreadYield()2481 xThreadYield()
2339 }2482 }
2340 2483
2341 func init() {2484 func init() {
2342 core.SetPackageName("GLIB", "glib-2.0")2485 core.SetPackageName("GLIB", "glib-2.0")
2343 core.SetSharedLibraries("GLIB", []string{"libgobject-2.0.so.0", "libglib-2.0.so.0", "libgobject-2.0.0.dylib", "libglib-2.0.0.dylib"})2486 core.SetSharedLibraries("GLIB", []string{"libgobject-2.0.so.0", "libglib-2.0.so.0", "libgobject-2.0.0.dylib", "libglib-2.0.0.dylib"})
2344- var libs []uintptr
2345- for _, libPath := range core.GetPaths("GLIB") {
2346- lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
2347- if err != nil {
2348- panic(err)
2349- }
2350- libs = append(libs, lib)
2351- }
2352-
2353- core.PuregoSafeRegister(&xCondNew, libs, "g_cond_new")
2354- core.PuregoSafeRegister(&xGetNumProcessors, libs, "g_get_num_processors")
2355- core.PuregoSafeRegister(&xMutexNew, libs, "g_mutex_new")
2356- core.PuregoSafeRegister(&xOnceInitEnter, libs, "g_once_init_enter")
2357- core.PuregoSafeRegister(&xOnceInitEnterImpl, libs, "g_once_init_enter_impl")
2358- core.PuregoSafeRegister(&xOnceInitEnterPointer, libs, "g_once_init_enter_pointer")
2359- core.PuregoSafeRegister(&xOnceInitLeave, libs, "g_once_init_leave")
2360- core.PuregoSafeRegister(&xOnceInitLeavePointer, libs, "g_once_init_leave_pointer")
2361- core.PuregoSafeRegister(&xPrivateNew, libs, "g_private_new")
2362- core.PuregoSafeRegister(&xThreadCreate, libs, "g_thread_create")
2363- core.PuregoSafeRegister(&xThreadCreateFull, libs, "g_thread_create_full")
2364- core.PuregoSafeRegister(&xThreadExit, libs, "g_thread_exit")
2365- core.PuregoSafeRegister(&xThreadForeach, libs, "g_thread_foreach")
2366- core.PuregoSafeRegister(&xThreadGetInitialized, libs, "g_thread_get_initialized")
2367- core.PuregoSafeRegister(&xThreadInit, libs, "g_thread_init")
2368- core.PuregoSafeRegister(&xThreadInitWithErrorcheckMutexes, libs, "g_thread_init_with_errorcheck_mutexes")
2369- core.PuregoSafeRegister(&xThreadSelf, libs, "g_thread_self")
2370- core.PuregoSafeRegister(&xThreadYield, libs, "g_thread_yield")
2371-
2372- core.PuregoSafeRegister(&xCondBroadcast, libs, "g_cond_broadcast")
2373- core.PuregoSafeRegister(&xCondClear, libs, "g_cond_clear")
2374- core.PuregoSafeRegister(&xCondFree, libs, "g_cond_free")
2375- core.PuregoSafeRegister(&xCondInit, libs, "g_cond_init")
2376- core.PuregoSafeRegister(&xCondSignal, libs, "g_cond_signal")
2377- core.PuregoSafeRegister(&xCondTimedWait, libs, "g_cond_timed_wait")
2378- core.PuregoSafeRegister(&xCondWait, libs, "g_cond_wait")
2379- core.PuregoSafeRegister(&xCondWaitUntil, libs, "g_cond_wait_until")
2380-
2381- core.PuregoSafeRegister(&xOnceImpl, libs, "g_once_impl")
2382-
2383- core.PuregoSafeRegister(&xPrivateGet, libs, "g_private_get")
2384- core.PuregoSafeRegister(&xPrivateReplace, libs, "g_private_replace")
2385- core.PuregoSafeRegister(&xPrivateSet, libs, "g_private_set")
2386-
2387- core.PuregoSafeRegister(&xRWLockClear, libs, "g_rw_lock_clear")
2388- core.PuregoSafeRegister(&xRWLockInit, libs, "g_rw_lock_init")
2389- core.PuregoSafeRegister(&xRWLockReaderLock, libs, "g_rw_lock_reader_lock")
2390- core.PuregoSafeRegister(&xRWLockReaderTrylock, libs, "g_rw_lock_reader_trylock")
2391- core.PuregoSafeRegister(&xRWLockReaderUnlock, libs, "g_rw_lock_reader_unlock")
2392- core.PuregoSafeRegister(&xRWLockWriterLock, libs, "g_rw_lock_writer_lock")
2393- core.PuregoSafeRegister(&xRWLockWriterTrylock, libs, "g_rw_lock_writer_trylock")
2394- core.PuregoSafeRegister(&xRWLockWriterUnlock, libs, "g_rw_lock_writer_unlock")
2395-
2396- core.PuregoSafeRegister(&xRecMutexClear, libs, "g_rec_mutex_clear")
2397- core.PuregoSafeRegister(&xRecMutexInit, libs, "g_rec_mutex_init")
2398- core.PuregoSafeRegister(&xRecMutexLock, libs, "g_rec_mutex_lock")
2399- core.PuregoSafeRegister(&xRecMutexTrylock, libs, "g_rec_mutex_trylock")
2400- core.PuregoSafeRegister(&xRecMutexUnlock, libs, "g_rec_mutex_unlock")
2401-
2402- core.PuregoSafeRegister(&xStaticMutexFree, libs, "g_static_mutex_free")
2403- core.PuregoSafeRegister(&xStaticMutexGetMutexImpl, libs, "g_static_mutex_get_mutex_impl")
2404- core.PuregoSafeRegister(&xStaticMutexInit, libs, "g_static_mutex_init")
2405-
2406- core.PuregoSafeRegister(&xStaticPrivateFree, libs, "g_static_private_free")
2407- core.PuregoSafeRegister(&xStaticPrivateGet, libs, "g_static_private_get")
2408- core.PuregoSafeRegister(&xStaticPrivateInit, libs, "g_static_private_init")
2409- core.PuregoSafeRegister(&xStaticPrivateSet, libs, "g_static_private_set")
2410-
2411- core.PuregoSafeRegister(&xStaticRWLockFree, libs, "g_static_rw_lock_free")
2412- core.PuregoSafeRegister(&xStaticRWLockInit, libs, "g_static_rw_lock_init")
2413- core.PuregoSafeRegister(&xStaticRWLockReaderLock, libs, "g_static_rw_lock_reader_lock")
2414- core.PuregoSafeRegister(&xStaticRWLockReaderTrylock, libs, "g_static_rw_lock_reader_trylock")
2415- core.PuregoSafeRegister(&xStaticRWLockReaderUnlock, libs, "g_static_rw_lock_reader_unlock")
2416- core.PuregoSafeRegister(&xStaticRWLockWriterLock, libs, "g_static_rw_lock_writer_lock")
2417- core.PuregoSafeRegister(&xStaticRWLockWriterTrylock, libs, "g_static_rw_lock_writer_trylock")
2418- core.PuregoSafeRegister(&xStaticRWLockWriterUnlock, libs, "g_static_rw_lock_writer_unlock")
2419-
2420- core.PuregoSafeRegister(&xStaticRecMutexFree, libs, "g_static_rec_mutex_free")
2421- core.PuregoSafeRegister(&xStaticRecMutexInit, libs, "g_static_rec_mutex_init")
2422- core.PuregoSafeRegister(&xStaticRecMutexLock, libs, "g_static_rec_mutex_lock")
2423- core.PuregoSafeRegister(&xStaticRecMutexLockFull, libs, "g_static_rec_mutex_lock_full")
2424- core.PuregoSafeRegister(&xStaticRecMutexTrylock, libs, "g_static_rec_mutex_trylock")
2425- core.PuregoSafeRegister(&xStaticRecMutexUnlock, libs, "g_static_rec_mutex_unlock")
2426- core.PuregoSafeRegister(&xStaticRecMutexUnlockFull, libs, "g_static_rec_mutex_unlock_full")
2427-
2428- core.PuregoSafeRegister(&xThreadGLibType, libs, "g_thread_get_type")
2429-
2430- core.PuregoSafeRegister(&xNewThread, libs, "g_thread_new")
2431- core.PuregoSafeRegister(&xThreadTryNew, libs, "g_thread_try_new")
2432-
2433- core.PuregoSafeRegister(&xThreadGetName, libs, "g_thread_get_name")
2434- core.PuregoSafeRegister(&xThreadJoin, libs, "g_thread_join")
2435- core.PuregoSafeRegister(&xThreadRef, libs, "g_thread_ref")
2436- core.PuregoSafeRegister(&xThreadSetPriority, libs, "g_thread_set_priority")
2437- core.PuregoSafeRegister(&xThreadUnref, libs, "g_thread_unref")
2438 }2487 }
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