--- a/javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/src/swtevents.cpp Thu Jul 15 18:31:06 2010 +0300
+++ b/javauis/eswt_akn/org.eclipse.ercp.swt.s60/native/src/swtevents.cpp Thu Aug 19 09:48:13 2010 +0300
@@ -303,17 +303,15 @@
if (iControl.IsFocusControl())
{
// Find the Control's Shell
- MSwtShell* shell;
MSwtControl* ctrl = &iControl;
- while ((shell = ctrl->ShellInterface()) == NULL)
- {
- ctrl = ctrl->GetParent()->Control();
- }
+ MSwtShell& shell = ctrl->GetShell();
// Find next focusable control
- MSwtControl* newFocus = shell->FindTraversalTargetL(iDetail, iControl);
+ MSwtControl* newFocus = shell.FindTraversalTargetL(iDetail, iControl);
if (newFocus)
{
+ shell.Display().UiUtils().SetNaviKeyInput(ETrue);
+ newFocus->PrepareForTraverse();
newFocus->CoeControl().SetFocus(ETrue, ENoDrawNow);
}
}