Sorry, can not remember what your true goal or intentions is or was. Seems your 
last post was one months ago...

Generally I do regard communication by JPG screenshots a bit strange.

But OK, for your first JPG the problem seems to be very obvious: You call a Nim 
proc which expect as last parameter a var of type GError. But you pass nil. 
That does not work. Generally you should pass a var of type GError, which is 
filled with error description when something went wrong. You can pass a dummy 
gerror variable, when you are not interested in error message, or when you are 
sure that proc call never fails. Unfortunately, when an error occurs, one 
should free the error var manually.

I know that this is not the optimal solution. We may create for all the procs 
which expect a gerror var a variant without it. (Or we could pass an address as 
in C, that would accept nil, but is ugly) But there is much more what we may 
improve for the GTK3 bindings. Maybe we could create bindings which use gobject 
introspection and support full GC memory management. But I can not estimate the 
effort, considering the Python and Ruby GTK bindings I guess effort may be more 
than 1000 hours, and more importantly, that would need very much testing. So 
when we have a few hundred Nim-GTK users, then we should have enough testers, 
and someone may consider all that. :)

When you need an example for gerror handling, you can looks into NEd editor 
code. (There I use dummy gerror variables most of the time, but I think at 
least in one proc I use it proper and free it when an error occurred.) 
[https://github.com/ngtk3/NEd](https://github.com/ngtk3/NEd)

Reply via email to