From: Richard Huang Date: Thu, 9 Jul 2015 13:38:13 +0000 (+0100) Subject: Fixed crash while wrapping a Control as an actor in JavaScript plugin X-Git-Tag: dali_1.0.49~23^2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=916b6c6e10c42ff64e543ec36a28df63ad0daa4b Fixed crash while wrapping a Control as an actor in JavaScript plugin Change-Id: I4c01b5a77836ffd9b22bf3c1b2aa2f809871f1c5 --- diff --git a/plugins/dali-script-v8/src/actors/actor-wrapper.cpp b/plugins/dali-script-v8/src/actors/actor-wrapper.cpp index 7b9b158..149edb9 100644 --- a/plugins/dali-script-v8/src/actors/actor-wrapper.cpp +++ b/plugins/dali-script-v8/src/actors/actor-wrapper.cpp @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include // INTERNAL INCLUDES #include @@ -318,7 +319,10 @@ ActorWrapper::ActorWrapper( Actor actor, v8::Handle ActorWrapper::WrapActor(v8::Isolate* isolate, Actor actor ) { v8::EscapableHandleScope handleScope( isolate ); - v8::Local object = WrapActor( isolate, actor, GetActorType( actor.GetTypeName() ) ); + + // Check whether the actor is a Control + ActorWrapper::ActorType type = Toolkit::Control::DownCast(actor) ? ACTOR : GetActorType( actor.GetTypeName() ); + v8::Local object = WrapActor( isolate, actor, type ); return handleScope.Escape( object ); } diff --git a/plugins/dali-script-v8/src/dali-wrapper.cpp b/plugins/dali-script-v8/src/dali-wrapper.cpp index c716f75..257b5d4 100644 --- a/plugins/dali-script-v8/src/dali-wrapper.cpp +++ b/plugins/dali-script-v8/src/dali-wrapper.cpp @@ -63,9 +63,7 @@ const ApiFunction ConstructorFunctionTable[]= { "PathConstrainer", PathConstrainerWrapper::NewPathConstrainer}, { "LinearConstrainer", LinearConstrainerWrapper::NewLinearConstrainer}, { "Actor", ActorWrapper::NewActor }, - { "TextActor", ActorWrapper::NewActor }, { "ImageActor", ActorWrapper::NewActor }, - { "MeshActor", ActorWrapper::NewActor }, { "CameraActor", ActorWrapper::NewActor }, { "Layer", ActorWrapper::NewActor }, { "Control", ActorWrapper::NewControl },