pickerWheel nil Scroll Bug

Thanks for getting back to me Rob, I’ve read many of your posts on this forum. Yes, it happens on the simulator, as well as several android devices I’ve tested it on. I just checked the WidgetDemo per your request, and as I expected, the bug is also there as well.

UPDATE: Forgot to add, I’m currently using 2756, but the bug’s been present in every daily/official build I’ve tried since using Corona.

What version of Corona SDK are you using? I could not reproduce this using WidgetDemo.

Rob

I updated my post above right before you responded:

UPDATE: Forgot to add, I’m currently using 2756, but the bug’s been present in every daily/official build I’ve tried since using Corona.

The easiest way to reproduce it is to first go to the last entry in the wheel, then try to drag that last entry up and off the screen with your mouse/finger. If it doesn’t happen the first time, just do it a couple of times.

I spent some time trying to figure out a way to reproduce the bug 100% of the time consistently to speed things along, and here it is:

  1. Navigate to the last entry of a column in a pickerhweel

  2. Place your finger/mouse in the white space below the last entry

  3. drag upwards until your finger/mouse is off the screen

(The above process can be inverted to display the same bug behavior when dragging beyond the first entry of a pickerwheel)

This discovery gives me hope that the fix will be relatively simple for the devs to fix, as the issue does NOT ever appear if your start drag point is a valid entry in the respective column. It only appears if your start point is in the white space below or above the first/last valid entry in that column. Let me know if there’s anything else I can do to help.

Bug caseID #43642

Hi Rob, is it possible for me to keep track of that caseID somehow, or is that an internal identifier?

It’s internal. It’s still waiting to be assigned to an Engineer, but both Brent and I tried to follow your instructions with the widget demo and we could not duplicate it. I saw it happen once but I’ve not been able to reproduce it. Is there a way you can use the WidgetDemo sample app and do a screen capture showing the mouse, were you’re clicking and the error happen?

Rob

I’ll do you one better, here’s a video:

https://www.youtube.com/watch?v=0wq-cxRS8Kg

If you follow the specific user behavior I discovered 4 posts above, it should happen every time, on real devices as well. And as said in that post, if the start point of the drag gesture is a valid index, the bug will not appear. Let me know if you have any more questions.

The video doesn’t show an error happening. Also the video ends so quickly we don’t have time to read the screen. Can you include the console log to see if errors are showing up? We don’t see you click on the get values button to show nil values.

Rob

There is no error reported in the console log, that is not the nature of the bug. The problem occurs when you try to read the pickerwheel index when the wheel has lost a selection as a result of the type of user swype I am describing. The video shows all that you will see using the widget demo,which is the first column losing its selection, indicated by all the entries being grayed out, including the last one. If you want console feedback, look at my modification of the example code for a basic pickerwheel.

Whoops, looks like I’ve been awake for too long haha, didn’t even see the get values button. I’ll make a video with that included, as that will definitely throw an error.

Here you go Rob, sorry for the confusion:

https://www.youtube.com/watch?v=N_R1qwN0hfI&feature=youtu.be

That is helpful. Let me see what we can do.

Rob

Thanks Rob, anxious to see if the engineers have time to address this issue.

In the meantime, this is the workaround I have implemented for anyone who wants a temporary solution.

Hope it helps someone.

local function DoSomethingWithPickerWheel () if pickerWheel:getValues()[1] == nil then -- alert the user that they must select a valid index for column 1 else local columnOneIndex = pickerWheel:getValues()[1].index -- proceed using the index of column one end -- note: the above 'if' statement must be written for each column of your pickerWheel. end

Hi guys,

This issue should now be fixed as of Daily Build 2777. Please obtain this build or later and test to confirm that the issue no longer exists.

https://developer.coronalabs.com/release/2015/2777/

Thanks,

Brent

I can confirm that the issue has indeed been fixed as of 2777, thanks a lot Brent and Rob!