This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Steps to reproduce: 1. Debug this line of code: new java.awt.Container().preferredSize(); 2. Step Into preferredSize() method, the body of this method is Dimension dim = prefSize; if (dim == null || !(isPreferredSizeSet() || isValid())) { synchronized (getTreeLock()) { ---> prefSize = (layoutMgr != null) ? layoutMgr.preferredLayoutSize(this) : super.preferredSize(); dim = prefSize; } } if (dim != null){ return new Dimension(dim); } else{ return dim; } 3. Step Over 3 times to get on the marked line. 4. Invoke Step Into. The debugger steps over instead.
Reproduced in a trivial program: public class StepIntoConditionalTest implements Runnable { public static void main(String[] args) { SwingUtilities.invokeLater(new StepIntoConditionalTest()); } @Override public void run() { Container c = new Container(); c.preferredSize(); } }
We took only the first method call into account and that was skipped because of the false condition. Fixed by changeset: 192567:eec6ad978263 http://hg.netbeans.org/main/rev/eec6ad978263
Integrated into 'main-golden', will be available in build *201104160401* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/eec6ad978263 User: mentlicher@netbeans.org Log: #197751 Find all next operation locations when we start with the first operation.