summary refs log tree commit diff stats
path: root/lib/wrappers/gtk/glib2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/wrappers/gtk/glib2.nim')
-rw-r--r--lib/wrappers/gtk/glib2.nim8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/wrappers/gtk/glib2.nim b/lib/wrappers/gtk/glib2.nim
index 4151ba954..3fa672c85 100644
--- a/lib/wrappers/gtk/glib2.nim
+++ b/lib/wrappers/gtk/glib2.nim
@@ -27,7 +27,7 @@ type
   gshort* = cshort
   glong* = clong
   gint* = cint
-  gboolean* = bool
+  gboolean* = distinct gint
   guchar* = char
   gushort* = int16
   gulong* = int
@@ -173,6 +173,12 @@ type
   TGBoxedFreeFunc* = proc (boxed: gpointer){.cdecl.}
   PGsource = pointer          # I don't know and don't care
 
+converter gbool*(nimbool: bool): gboolean =
+  return ord(nimbool).gboolean
+
+converter toBool*(gbool: gboolean): bool =
+  return int(gbool) == 1
+
 const 
   G_TYPE_FUNDAMENTAL_SHIFT* = 2
   G_TYPE_FUNDAMENTAL_MAX* = 255 shl G_TYPE_FUNDAMENTAL_SHIFT