I have just finished looking at a bug in our product code that uses WW1.3 and I have tracked it down to the Value Stack. On the value stack are two objects each with a property of the same name. The property in the object on the top of the stack is null. When the code in the ValueStack class runs the method and gets the null value correctly it then runs the following code:
// if we didn't find the value, then move one down the stack and // try again. if (value == null && stackIdx > 0) { stackIdx--; value = workList.get(stackIdx); // reset the segment index to reset the search segmentIdx = saveSegmentIdx; segment = segments[segmentIdx - 1]; } else { break; } If the value is legitimately null from the object the Value Stack goes ahead and looks for the value further down the stack anyway. As the next object on the stack in our case has a property of the same name this is the value that gets returned, not what we want at all. The solution would be to use a special object constant to signal no value found instead of null. I could go ahead and change this but I just wanted to check that my inderstanding of how this should work is correct before I do so. Comments ? -- Peter Kelley <[EMAIL PROTECTED]> Moveit Pty Ltd ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 _______________________________________________ Opensymphony-webwork mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork