X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fevent-receiver.cpp;h=1d8e09722e887d784f3bef4e707ca12123fc3d05;hb=79e12d94cc21232477796a4e76fc2ddb5d88f9dc;hp=12ff718059404c901409f46f62a0a0e1518cac8b;hpb=c4d9e46f268b4f7f738dd77685c632991125cec9;p=guile-irrlicht.git diff --git a/src/event-receiver.cpp b/src/event-receiver.cpp index 12ff718..1d8e097 100644 --- a/src/event-receiver.cpp +++ b/src/event-receiver.cpp @@ -29,7 +29,7 @@ using namespace irr; SCM -IEventRecevier_make (SCM proc_on_event) +IEventReceiver_make (SCM proc_on_event) { class CustomReceiver : public IEventReceiver { @@ -43,12 +43,13 @@ IEventRecevier_make (SCM proc_on_event) virtual bool OnEvent (const SEvent& event) { - return scm_to_bool (scm_call_1 (scm_on_event, scm_from_pointer ((void*)&event, NULL))); + SCM wrapped_event = scm_from_irr_pointer ("", (void*) &event); + return scm_to_bool (scm_call_1 (scm_on_event, wrapped_event)); } }; CustomReceiver* receiver = new CustomReceiver (proc_on_event); - return scm_from_pointer ((void*)receiver, NULL); + return scm_from_irr_pointer ("", (void*) receiver); } SCM @@ -63,7 +64,7 @@ SEvent_SGUIEvent_Caller (SCM event) { gui::IGUIElement* caller = ((SEvent*)scm_to_irr_pointer (event))->GUIEvent.Caller; - return scm_from_pointer ((void*)caller, NULL); + return scm_from_irr_pointer ("", (void*) caller); } SCM @@ -90,7 +91,7 @@ SEvent_SKeyInput_PressedDown (SCM event) void init_event_receiver (void) { - DEFINE_GSUBR ("IEventRecevier_make", 1, 0, 0, IEventRecevier_make); + DEFINE_GSUBR ("IEventReceiver_make", 1, 0, 0, IEventReceiver_make); DEFINE_GSUBR ("SEvent_EventType", 1, 0, 0, SEvent_EventType); DEFINE_GSUBR ("SEvent_SGUIEvent_Caller", 1, 0, 0, SEvent_SGUIEvent_Caller); DEFINE_GSUBR ("SEvent_SGUIEvent_EventType", 1, 0, 0, SEvent_SGUIEvent_EventType);