When multithreading is supported, run gtk_main with Gdk threads lock acquired
[cl-gtk2.git] / gtk / gtk.main_loop_events.lisp
index 961b357..b26f147 100644 (file)
 
 (at-init () (gtk-init))
 
-(defcfun gtk-main :void)
+(defcfun (%gtk-main "gtk_main") :void)
+
+#+thread-support
+(defun gtk-main ()
+  (with-gdk-threads-lock (%gtk-main)))
+
+#-thread-support
+(defun gtk-main ()
+  (%gtk-main))
 
 #+thread-support
 (defvar *main-thread* nil)