chiark / gitweb /
Added args to INVOKE-SOURCE-CALLBACK
authorespen <espen>
Mon, 25 Jun 2007 13:49:05 +0000 (13:49 +0000)
committerespen <espen>
Mon, 25 Jun 2007 13:49:05 +0000 (13:49 +0000)
glib/gcallback.lisp

index 0f7baf24a74d855f8f6d2db8eca9ddacb0eb0e43..9e2c8fcd6421a7b87f8af005696adf0c155373a8 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.44 2007-06-20 10:21:54 espen Exp $
+;; $Id: gcallback.lisp,v 1.45 2007-06-25 13:49:05 espen Exp $
 
 (in-package "GLIB")
 
@@ -121,14 +121,14 @@ (defbinding source-remove () boolean
 (define-callback source-callback-marshal boolean ((callback-id unsigned-int))
   (invoke-source-callback callback-id))
 
-(defun invoke-source-callback (callback-id)
-  (restart-case (funcall (find-user-data callback-id))
+(defun invoke-source-callback (callback-id &rest args)
+  (restart-case (apply (find-user-data callback-id) args)
     (remove () :report "Exit and remove source callback"
       nil)
     (continue () :report "Return from source callback"
       t)
     (re-invoke nil :report "Re-invoke source callback"
-      (invoke-source-callback callback-id))))
+      (apply #'invoke-source-callback callback-id args))))
 
 
 (defbinding (timeout-add "g_timeout_add_full")