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 = High level GTK4 and GTK3 bindings for the Nim programming language
//(c) Stefan Salewski //(c) Stefan Salewski
//Version 0.8.8 //Version 0.8.9
:experimental: :experimental:
:imagesdir: http://ssalewski.de/tmp :imagesdir: http://ssalewski.de/tmp
//:source-highlighter: pygments //: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. The `combinatorics` module was kindly provided by R. Behrends.
NOTE: This is version 0.8.8 of the gintro Nim GTK bindings. 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 For procs like getStartIter() without a result but with a var out
parameter an overloaded version is created where the 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. parameter is returned as result. So we can write "let startIter = buffer.getStartIter()" now.

View file

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

View file

@ -1,6 +1,6 @@
# High level gobject-introspection based GTK3/GTK4 bindings for the Nim programming language # High level gobject-introspection based GTK3/GTK4 bindings for the Nim programming language
# nimpretty --maxLineLen:130 gen.nim # nimpretty --maxLineLen:130 gen.nim
# v 0.8.8 2021-MAR-05 # v 0.8.9 2021-MAR-16
# (c) S. Salewski 2018 # (c) S. Salewski 2018
# usefull for finding death code: # usefull for finding death code:
@ -1346,7 +1346,7 @@ proc writeMethod(info: GIBaseInfo; minfo: GIFunctionInfo) =
g_object_unref($1.impl) g_object_unref($1.impl)
assert(g_object_get_qdata($1.impl, Quark) == nil) assert(g_object_get_qdata($1.impl, Quark) == nil)
g_object_set_qdata($1.impl, Quark, addr($1[])) g_object_set_qdata($1.impl, Quark, addr($1[]))
""" % [pars.outgobjectargname, moduleNamespace]) """ % [pars.outgobjectargname, fixedModName(moduleNamespace)])
else: else:
methodBuffer.writeLine(""" methodBuffer.writeLine("""
let argqdata = g_object_get_qdata(tmpoutgobjectarg, Quark) let argqdata = g_object_get_qdata(tmpoutgobjectarg, Quark)
@ -1363,7 +1363,7 @@ proc writeMethod(info: GIBaseInfo; minfo: GIFunctionInfo) =
g_object_unref($1.impl) g_object_unref($1.impl)
assert(g_object_get_qdata($1.impl, Quark) == nil) assert(g_object_get_qdata($1.impl, Quark) == nil)
g_object_set_qdata($1.impl, Quark, addr($1[])) 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! # 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 = template gobjectTemp(): untyped =