fixed the tiny GTK4 only with ARC bug

This commit is contained in:
Stefan Salewski 2021-03-16 08:08:32 +01:00
commit f4113ebab7
3 changed files with 7 additions and 5 deletions

View file

@ -1,6 +1,6 @@
= High level GTK4 and GTK3 bindings for the Nim programming language
//(c) Stefan Salewski
//Version 0.8.8
//Version 0.8.9
:experimental:
:imagesdir: http://ssalewski.de/tmp
//:source-highlighter: pygments
@ -30,6 +30,8 @@ NOTE: This work is partly based on earlier works of J. Mansour and has been supp
The `combinatorics` module was kindly provided by R. Behrends.
NOTE: This is version 0.8.8 of the gintro Nim GTK bindings.
Due to unsufficient testing a tiny bug made it into this release causing it to compile for
GTK4 only with --gc:arc. *nimble install gintro@#head* or the next release should fix that.
For procs like getStartIter() without a result but with a var out
parameter an overloaded version is created where the var out
parameter is returned as result. So we can write "let startIter = buffer.getStartIter()" now.

View file

@ -1,6 +1,6 @@
# Package
version = "0.8.8"
version = "0.8.9"
author = "Stefan Salewski"
description = "High level GObject-Introspection based GTK3/GTK4 bindings"
license = "MIT"

View file

@ -1,6 +1,6 @@
# High level gobject-introspection based GTK3/GTK4 bindings for the Nim programming language
# nimpretty --maxLineLen:130 gen.nim
# v 0.8.8 2021-MAR-05
# v 0.8.9 2021-MAR-16
# (c) S. Salewski 2018
# usefull for finding death code:
@ -1346,7 +1346,7 @@ proc writeMethod(info: GIBaseInfo; minfo: GIFunctionInfo) =
g_object_unref($1.impl)
assert(g_object_get_qdata($1.impl, Quark) == nil)
g_object_set_qdata($1.impl, Quark, addr($1[]))
""" % [pars.outgobjectargname, moduleNamespace])
""" % [pars.outgobjectargname, fixedModName(moduleNamespace)])
else:
methodBuffer.writeLine("""
let argqdata = g_object_get_qdata(tmpoutgobjectarg, Quark)
@ -1363,7 +1363,7 @@ proc writeMethod(info: GIBaseInfo; minfo: GIFunctionInfo) =
g_object_unref($1.impl)
assert(g_object_get_qdata($1.impl, Quark) == nil)
g_object_set_qdata($1.impl, Quark, addr($1[]))
""" % [pars.outgobjectargname, moduleNamespace])
""" % [pars.outgobjectargname, fixedModName(moduleNamespace)])
# new for v0.7.8: we ref all gobjects now, even if transfer is none. So result.ignoreFinalizer = false always for gobjects!
template gobjectTemp(): untyped =