chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9719f56
)
Modified to not use custom C functions to create GClosures
author
espen
<espen>
Wed, 30 Aug 2006 09:52:10 +0000
(09:52 +0000)
committer
espen
<espen>
Wed, 30 Aug 2006 09:52:10 +0000
(09:52 +0000)
glib/gcallback.lisp
patch
|
blob
|
blame
|
history
diff --git
a/glib/gcallback.lisp
b/glib/gcallback.lisp
index 2ee583f93c8caca4ccc6d4b8f3a8e2a53def0b3c..10f5aab4d89e3411432289adddd177a475fed9d5 100644
(file)
--- 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.
;; 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.3
6 2006-07-14 10:51:07
espen Exp $
+;; $Id: gcallback.lisp,v 1.3
7 2006-08-30 09:52:10
espen Exp $
(in-package "GLIB")
(in-package "GLIB")
@@
-360,11
+360,21
@@
(defbinding signal-handler-is-connected-p () boolean
(instance ginstance)
(handler-id unsigned-long))
(instance ginstance)
(handler-id unsigned-long))
-(defbinding (callback-closure-new "clg_callback_closure_new") () gclosure
+(defbinding (closure-new "g_cclosure_new") () gclosure
+ ((make-pointer #xFFFFFFFF) pointer)
(callback-id unsigned-int)
(callback-id unsigned-int)
- (callback callback)
(destroy-notify callback))
(destroy-notify callback))
+(defbinding closure-set-meta-marshal () nil
+ (gclosure gclosure)
+ (callback-id unsigned-int)
+ (callback callback))
+
+(defun callback-closure-new (callback-id callback destroy-notify)
+ (let ((gclosure (closure-new callback-id destroy-notify)))
+ (closure-set-meta-marshal gclosure callback-id callback)
+ gclosure))
+
(defun make-callback-closure (function marshaller)
(let ((callback-id (register-callback-function function)))
(values
(defun make-callback-closure (function marshaller)
(let ((callback-id (register-callback-function function)))
(values