Kbase P158449: Application crashes when enabling/disabling toggle-boxes in OpenEdge 10.1x / 10.2x
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  23/04/2010 |
|
Status: Unverified
SYMPTOM(s):
Application crashes when enabling/disabling toggle-boxes in OpenEdge 10.1x / 10.2x
Application hangs when enabling/disabling toggle-boxes in OpenEdge 10.1x / 10.2x
Stack trace from PROW32.DLL reads:
wwProxInterfaceReadIcon
Crash or hang occurs depending on sequence of toggle-boxes checked/unchecked
FACT(s) (Environment):
Toggle-boxes are used within a Browse widget
Formats of logical variables defined within the application are left justified and padded
Example:
DEFINE VARIABLE lChk AS LOGICAL FORMAT 'Yes/No':L17 INITIAL FALSE NO-UNDO.
OpenEdge 10.1B
OpenEdge 10.1C
OpenEdge 10.2A
OpenEdge 10.2B
Windows
CAUSE:
Bug# OE00194341
CAUSE:
The internal code that copied the true or false value of the toggle box's format into the Browse cell's buffer assumes that the buffer is big enough for the value. In this case, the format of each logical variable was padded out to 17 characters so the "No" value is followed by 11 spaces. The buffer is initially allocated to only 4 characters (the length of "Yes" plus a null) so "No " into the buffer, the strent header of the next block is overwritten.
FIX:
Upgrade to OpenEdge 10.2A03, 10.2B01 or later.
Remove the justification / padding option from the variable declaration, or change it to the Trimmable option. For example,
DEFINE VARIABLE lChk AS LOGICAL FORMAT 'Yes/No' INITIAL FALSE NO-UNDO.
DEFINE VARIABLE lChk AS LOGICAL FORMAT 'Yes/No':T17 INITIAL FALSE NO-UNDO.