From ea5bbbe1102827fb8918730c3deeed12a82534cc Mon Sep 17 00:00:00 2001 From: Feng Jin Date: Thu, 4 May 2017 07:35:23 +0800 Subject: [PATCH] Commit manual merge for dali-csharp. Change-Id: Ib8fb4086f2c985febcba6571073ae1579240ea7b Signed-off-by: Feng Jin --- .../src/keyboard_focus_manager_wrap.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/dali-csharp-binder/src/keyboard_focus_manager_wrap.cpp b/dali-csharp-binder/src/keyboard_focus_manager_wrap.cpp index 1a85fc9..4845947 100755 --- a/dali-csharp-binder/src/keyboard_focus_manager_wrap.cpp +++ b/dali-csharp-binder/src/keyboard_focus_manager_wrap.cpp @@ -623,16 +623,31 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_KeyboardPreFocusChangeSignal_GetConn return jresult; } -typedef void* (SWIGSTDCALL* SWIG_CallbackKbPreFocusChange)(void *, void *, int); +typedef Dali::Actor* (SWIGSTDCALL* SWIG_CallbackKbPreFocusChange)(Dali::Actor *, Dali::Actor *, int); SWIG_CallbackKbPreFocusChange swig_callbackOnKbPreFocusChange; Dali::Actor OnKbPreFocusChangeCallback(Dali::Actor current, Dali::Actor proposed, Dali::Toolkit::Control::KeyboardFocus::Direction direction) { Dali::Actor *actorp; Dali::Actor actor; + Dali::Actor *CurrentP = NULL; + Dali::Actor *ProposedP = NULL; - actorp = (Dali::Actor *)swig_callbackOnKbPreFocusChange((void *)¤t, (void *)&proposed, direction); - actor = *actorp; + if (current) + { + CurrentP = (Dali::Actor *)¤t; + } + + if (proposed) + { + ProposedP = (Dali::Actor *)&proposed; + } + + actorp = (Dali::Actor *)swig_callbackOnKbPreFocusChange(CurrentP, ProposedP, direction); + if (actorp) + { + actor = *actorp; + } return actor; } -- 2.7.4