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:
57654ef
)
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 ae1d1f1b62d4c1e9712458a74a429406167ab5d4..5dd08eedae9e3960967eb26556ce2ddecda25019 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