X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/e69e261866aaac26d68697d2b36e1783be232c1c..c345a646d7ecaf736ae423ac7041e9be6b7be1df:/glib/gcallback.lisp diff --git a/glib/gcallback.lisp b/glib/gcallback.lisp index 329bb60..357535d 100644 --- a/glib/gcallback.lisp +++ b/glib/gcallback.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: gcallback.lisp,v 1.46 2007-08-20 11:15:13 espen Exp $ +;; $Id: gcallback.lisp,v 1.49 2008-04-11 20:51:45 espen Exp $ (in-package "GLIB") @@ -170,7 +170,7 @@ ((signal-name-to-string name) string) ((find-type-number type t) type-number)) -(defbinding signal-name () (copy-of string) +(defbinding signal-name () (or null (copy-of string)) (signal-id unsigned-int)) (defbinding signal-list-ids (type) (vector unsigned-int n-ids) @@ -244,6 +244,8 @@ ;;;; Signal connecting and controlling +(define-flags-type connect-flags :after :swapped) + (defvar *overridden-signals* (make-hash-table :test 'equalp)) (defbinding %signal-override-class-closure () nil @@ -504,7 +506,7 @@ function." finally (if return-type (return - (with-gvalue (return-value) + (with-gvalue (return-value return-type) (%signal-emitv params signal-id detail return-value))) (%signal-emitv params signal-id detail (make-pointer 0)))) (loop