ooDialog has a feature where, for each control in a dialog, an attribute is added to the Rexx dialog object to reflect the 'value' of the dialog control.
In most cases, the attribute name is automaticaly generated, sometimes supplied by the programmer. In either case, the implementing code has checks to ensure that the new attribute name is a valid method name and not a duplicate of an existing method in the object. If so an alternative name is automatically generated.
The code to do the checks is flawed as the attached program demonstrates. In this code snippet each of the check box controls will have a generated attribute name that is an existing method name of the dialog object: copy, defaultName, and class. For all 3 check boxes, the alternative name should be generated. But, as the example program shows, this does not work correctly for the "copy" and "default name" check boxes.
self~addCheckBox(IDC_CHK_COPY, , 10, 10, 80, 12, "&Copy", "GROUP")
self~addCheckBox(IDC_CHK_DEFAULTNAME, , 10, 27, 80, 12, "Default name")
self~addCheckBox(IDC_CHK_CLASS, , 10, 45, 80, 12, "Class")
The bug is in all versions of ooRexx.