Replies: 2 comments 9 replies
-
This looks to be a bug. |
Beta Was this translation helpful? Give feedback.
-
Just dropping in to update this thread: Here are ways to update a check box confirmed working:
The reason that uncheck works is because, apparently this is how check boxes work:
Maybe this is why the defgeneric works the way it does? Interesting edge case perhaps, glad there is a workaround. Thanks for the hint. |
Beta Was this translation helpful? Give feedback.
-
1) Problem definition - I am testing lexical scope with check boxes. I created 5 check boxes, stored them in an array and I created a simple button that loops over the array and checks if a checkbox is checked. If check boxes are checked we uncheck them, otherwise we check them.
2) Expected behaviour - If some boxes are checked uncheck the checkbox, otherwise check the rest. If all boxes are unchecked, check all boxes. If all boxes checked, uncheck them.
3) Purpose - To test lexical scope and logic of the loop.
.. however, there is a problem:
4) PROBLEM: The moment that a user manually interacts (checks / unchecks) a checkbox, the loop will successfully loop over the array but the "(setf (checkedp (..)) t) stops working. The array is full, the loop loops over the array, i can get the array length, but simple user interaction disables the ability of the loop to change the state of the check box. I cannot figure why this is happening with the IF operator.
5) SAMPLE - I created a tiny example project for the issue here for a quick look: https://github.com/aykaramba/zzz01
6) SAMPLE - Video demonstration of the behaviour:
399141548-219efb61-36fc-4cfd-8623-3b898a02cd80.mp4
7) SAMPLE - If it is simpler, a quick look at the code testing this behaviour here:
QUESTION - Why would (setf (checkedp ..)) no longer be able to modify the item in the array once a user checks / unchecks a box?
Beta Was this translation helpful? Give feedback.
All reactions