5 (defun glib-stop-thread ()
6 (setf *threads-initialized-p* nil))
7 (defun glib-start-thread ()
8 (g-thread-init (null-pointer))
9 (setf *threads-initialized-p* t))
10 (pushnew 'glib-stop-thread sb-ext:*save-hooks*)
11 (pushnew 'glib-start-thread sb-ext:*init-hooks*))
13 (defun map-inherited-classes (class fn)
14 (when (symbolp class) (setf class (find-class class)))
17 (iter (for subclass in (closer-mop:class-direct-subclasses class))
18 (map-inherited-classes subclass fn))))
20 (defun initialize-all-gobject-types ()
21 (map-inherited-classes 'gobject::g-object
23 (when (typep class 'gobject::gobject-class)
24 (gobject::initialize-gobject-class-g-type class)))))
26 (pushnew 'initialize-all-gobject-types sb-ext:*init-hooks*)