This is an automated email from the ASF dual-hosted git repository.

carlosrovira pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new e6f6f69  jewel-ListKeyDownController: fix a NPE when reach the end of 
a list
e6f6f69 is described below

commit e6f6f693af81a52678a312b690c1a60505f0b50c
Author: Carlos Rovira <[email protected]>
AuthorDate: Fri Apr 24 19:17:55 2020 +0200

    jewel-ListKeyDownController: fix a NPE when reach the end of a list
---
 .../jewel/beads/controllers/ListKeyDownController.as       | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListKeyDownController.as
 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListKeyDownController.as
index 966cc8d..50a306b 100644
--- 
a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListKeyDownController.as
+++ 
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListKeyDownController.as
@@ -117,20 +117,22 @@ package org.apache.royale.jewel.beads.controllers
                        if(event.key === KeyboardEvent.KEYCODE__UP || event.key 
=== KeyboardEvent.KEYCODE__LEFT)
                        {
                                if(index > 0)
-                                       index--;
+                                       listModel.selectedIndex--;
                        } 
                        else if(event.key === KeyboardEvent.KEYCODE__DOWN || 
event.key === KeyboardEvent.KEYCODE__RIGHT)
                        {
-                               index++;
+                               listModel.selectedIndex++;
                        }
 
                        if(index != listModel.selectedIndex)
                        {
-                               listModel.selectedIndex = index;
-                               listModel.selectedItem = 
listModel.dataProvider.getItemAt(index);
+                               listModel.selectedItem = 
listModel.dataProvider.getItemAt(listModel.selectedIndex);
 
-                               var ir:IFocusable = 
listView.dataGroup.getItemRendererForIndex(index) as IFocusable;
-                               ir.setFocus();
+                               var ir:IFocusable = 
listView.dataGroup.getItemRendererForIndex(listModel.selectedIndex) as 
IFocusable;
+                               if(ir)
+                                       ir.setFocus();
+                               else
+                                       trace("!! " + listModel.selectedIndex);
 
                 (listView as IScrollToIndexView).scrollToIndex(index);
                                

Reply via email to