projects
/
ruby-ecore.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tweaked event/callback system.
[ruby-ecore.git]
/
src
/
ecore_evas
/
rb_ecore_evas.c
diff --git
a/src/ecore_evas/rb_ecore_evas.c
b/src/ecore_evas/rb_ecore_evas.c
index 1e08533fca5997fc91968cd94f2bee81a0a4f42f..10cbdcb79781020b618a91877ba4dac3aa517e36 100644
(file)
--- a/
src/ecore_evas/rb_ecore_evas.c
+++ b/
src/ecore_evas/rb_ecore_evas.c
@@
-1,5
+1,5
@@
/*
/*
- * $Id: rb_ecore_evas.c 3
53 2006-02-10 17:00:24
Z tilman $
+ * $Id: rb_ecore_evas.c 3
71 2006-02-15 18:39:12
Z tilman $
*
* Copyright (C) 2004 ruby-ecore team (see AUTHORS)
*
*
* Copyright (C) 2004 ruby-ecore team (see AUTHORS)
*
@@
-35,14
+35,14
@@
#define CALLBACK_DEFINE_HANDLER(name) \
static void on_##name (Ecore_Evas *real) \
{ \
#define CALLBACK_DEFINE_HANDLER(name) \
static void on_##name (Ecore_Evas *real) \
{ \
- VALUE self; \
- VALUE cb; \
+ VALUE self, cb; \
\
self = (VALUE) ecore_evas_data_get (real, \
RUBY_ECORE_EVAS_KEY); \
GET_OBJ (self, RbEcoreEvas, ee); \
\
\
self = (VALUE) ecore_evas_data_get (real, \
RUBY_ECORE_EVAS_KEY); \
GET_OBJ (self, RbEcoreEvas, ee); \
\
- cb = rb_hash_aref (ee->callbacks, rb_str_new2 (#name)); \
+ cb = rb_hash_aref (ee->callbacks, \
+ LONG2NUM ((long) ecore_evas_callback_##name##_set)); \
rb_funcall (cb, rb_intern ("call"), 0); \
} \
rb_funcall (cb, rb_intern ("call"), 0); \
} \
@@
-55,7
+55,8
@@
if (NIL_P (ee->callbacks)) \
ee->callbacks = rb_hash_new (); \
\
if (NIL_P (ee->callbacks)) \
ee->callbacks = rb_hash_new (); \
\
- rb_hash_aset (ee->callbacks, rb_str_new2 (#name), \
+ rb_hash_aset (ee->callbacks, \
+ LONG2NUM ((long) ecore_evas_callback_##name##_set), \
rb_block_proc ()); \
\
ecore_evas_callback_##name##_set (ee->real, on_##name); \
rb_block_proc ()); \
\
ecore_evas_callback_##name##_set (ee->real, on_##name); \