X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ffocus-manager%2Fkeyinput-focus-manager-impl.cpp;h=ebdb214fb84ba5997afcb1bc29b102b1bde6c093;hb=11ac31ab089b6b0d6cb8b06381724ac8c0ce126e;hp=ad87ac3f07b13c6352570a83babc58608059c113;hpb=b8da2e53925b9abb9fa362560069e8ca4aa62f81;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp index ad87ac3..ebdb214 100644 --- a/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp @@ -26,6 +26,9 @@ #include #include // for strcmp +// INTERNAL INCLUDES +#include + namespace Dali { namespace Toolkit @@ -130,6 +133,18 @@ bool KeyInputFocusManager::OnKeyEvent(const KeyEvent& event) Toolkit::Control control = GetCurrentFocusControl(); if(control) { + Dali::Actor dispatch = control; + while(dispatch) + { + // If the DISPATCH_KEY_EVENTS is false, it cannot emit key event. + Toolkit::Control dispatchControl = Toolkit::Control::DownCast(dispatch); + if(dispatchControl && !dispatchControl.GetProperty(Toolkit::DevelControl::Property::DISPATCH_KEY_EVENTS)) + { + return true; + } + dispatch = dispatch.GetParent(); + } + // Notify the control about the key event consumed = EmitKeyEventSignal(control, event); }