Changed return type for SIGNAL-NAME
[clg] / glib / gcallback.lisp
index 329bb60..357535d 100644 (file)
@@ -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")
 
   ((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)
 
 ;;;; 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