# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1641151381 0 # Node ID 9477910393ac927fcc3ebba3d502c34f4b62ff01 # Parent e256bd8628ba3d58a6c7a9c18261ea956c601a4a Android: Hopefully the final set of container query fixes. Missing "break" in the for loop causing only 2 possible results. Handle the case that the array has no checked items in it. diff -r e256bd8628ba -r 9477910393ac android/DWindows.kt --- a/android/DWindows.kt Sun Jan 02 19:06:04 2022 +0000 +++ b/android/DWindows.kt Sun Jan 02 19:23:01 2022 +0000 @@ -4090,10 +4090,15 @@ // Handle DW_CRA_SELECTED if((flags and 1) != 0) { val checked: SparseBooleanArray = onlyBooleanArray(cont.checkedItemPositions, true) - val position = checked.keyAt(0) - - adapter.model.querypos = position - retval = adapter.model.getRowTitle(position) + + if(checked.size() > 0) { + val position = checked.keyAt(0) + + adapter.model.querypos = position + retval = adapter.model.getRowTitle(position) + } else { + adapter.model.querypos = -1 + } } else { if(adapter.model.rowdata.size == 0) { adapter.model.querypos = -1 @@ -4128,6 +4133,7 @@ adapter.model.querypos = newpos retval = adapter.model.getRowTitle(newpos) + break } } } else { @@ -4153,10 +4159,15 @@ // Handle DW_CRA_SELECTED if((flags and 1) != 0) { val checked: SparseBooleanArray = onlyBooleanArray(cont.checkedItemPositions, true) - val position = checked.keyAt(0) - - adapter.model.querypos = position - retval = adapter.model.getRowData(position) + + if(checked.size() > 0) { + val position = checked.keyAt(0) + + adapter.model.querypos = position + retval = adapter.model.getRowData(position) + } else { + adapter.model.querypos = -1 + } } else { if(adapter.model.rowdata.size == 0) { adapter.model.querypos = -1 @@ -4191,6 +4202,7 @@ adapter.model.querypos = newpos retval = adapter.model.getRowData(newpos) + break } } } else {