Skip to content

Thing editor suggests floating point numbers for Thing properties that can't be that. #36

@Acts19quiz

Description

@Acts19quiz

Version
1.2.3 through 1.3.0 beta 2

OS
Windows 10 64-bit LTSC

Installed Python version
3.11.1 64-bit

Description
Beginning in 1.2.3, WhackEd4 suggests floating point numbers for Thing properties (Radius and Height) that don't accept such numbers. This creates a few different issues:

  • When 56.0 is displayed for Height, it suggests to users that replacing, say, 56.0 with 16.0 is the correct way to edit that property. When in reality, 16 is what is needed. Saving a patch this way will put in 1048576.0 as the height.
  • Even if users are savvy enough to know to put in 16 proper, moving from that edited Thing to a different one and back again will change the displayed input back to 16.0 (however, and confusing, it is internally stored as 16, so saving the patch will still produce a Height of 1048576 (the multiplied value DeHackEd users are familiar with).
  • If the former scenario is followed, users will be displayed a warning that the values in the patch aren't supported. This can cause a substantially large patch to have a lot of information stripped out.

Cause
Like with #35, the cause isn't tied to a specific commit. Rather, it's when the switch was made from Python 2.7 to 3.7. Regardless of wxPython version (whether 2.7-era 4.0.0b or 3.7-era 4.0.6), building a commit like ac38c2 with 3.7 causes the issue, while 2.7 doesn't have it.

Potential suggestion
Besides fixing it to not suggest floating point numbers for properties that do not support it, refusing to accept "." and other nonsense strokes in relevant fields (like Height and Radius) would both 'dummy proof' it, as well as act as a safety net in case a future Python update causes another regression.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions