X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fcanvas%2FCanvasEventListener.cxx;h=70f458fb8a0584bb17bfe59780caa650618a40be;hb=46442ef50c5a2b7c8e41e5c025f86c1cd35e6e15;hp=b94928b2ba009310bdb0364a60591d896fa4d1df;hpb=7d8fde82e611932b82515474d667805fc3547320;p=simgear.git diff --git a/simgear/canvas/CanvasEventListener.cxx b/simgear/canvas/CanvasEventListener.cxx index b94928b2..70f458fb 100644 --- a/simgear/canvas/CanvasEventListener.cxx +++ b/simgear/canvas/CanvasEventListener.cxx @@ -16,10 +16,11 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA +#include "CanvasEvent.hxx" #include "CanvasEventListener.hxx" #include "CanvasSystemAdapter.hxx" -#include +#include namespace simgear { @@ -52,13 +53,16 @@ namespace canvas } //------------------------------------------------------------------------------ - void EventListener::call() + void EventListener::call(const canvas::EventPtr& event) { - const size_t num_args = 1; - naRef args[num_args] = { - naNil() + SystemAdapterPtr sys = _sys.lock(); + + naRef args[] = { + nasal::Ghost::create(sys->getNasalContext(), event) }; - _sys.lock()->callMethod(_code, naNil(), num_args, args, naNil()); + const int num_args = sizeof(args)/sizeof(args[0]); + + sys->callMethod(_code, naNil(), num_args, args, naNil()); }