X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=gtk%2Fgtk.builder.lisp;h=123078f36a0e5990173d3925c26626da54040265;hb=6fe3afe05d8cb169fb62276820a8c04e3c85e3be;hp=659d8af677cae5c7a8cc06d6dfee7105da0fcdc6;hpb=e6666346b0c892c7dc8c702f63bbc1e554ad5211;p=cl-gtk2.git diff --git a/gtk/gtk.builder.lisp b/gtk/gtk.builder.lisp index 659d8af..123078f 100644 --- a/gtk/gtk.builder.lisp +++ b/gtk/gtk.builder.lisp @@ -101,8 +101,9 @@ (defun builder-connect-signals-simple (builder handlers-list) (flet ((connect-func (builder object signal-name handler-name connect-object flags) (declare (ignore builder connect-object)) - (awhen (find handler-name handlers-list :key 'first :test 'string=) - (g-signal-connect object signal-name (second it) :after (member :after flags))))) + (let ((handler (find handler-name handlers-list :key 'first :test 'string=))) + (when handler + (g-signal-connect object signal-name (second handler) :after (member :after flags)))))) (builder-connect-signals-full builder #'connect-func))) (export 'builder-connect-signals-simple) @@ -113,3 +114,8 @@ ; TODO: gtk_builder_value_from_string_type +(defmethod initialize-instance :after ((builder builder) &key from-file from-string) + (when from-file + (builder-add-from-file builder from-file)) + (when from-string + (builder-add-from-string builder from-string)))