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.
Summary: | bindComponentToFile() does not work correctly | ||
---|---|---|---|
Product: | debugger | Reporter: | Daniel Prusa <dprusa> |
Component: | Code | Assignee: | Martin Entlicher <mentlicher> |
Status: | CLOSED FIXED | ||
Severity: | blocker | CC: | dbalek, issues, vstejskal, vv159170 |
Priority: | P2 | Keywords: | API, API_REVIEW_FAST |
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Bug Depends on: | |||
Bug Blocks: | 156523 | ||
Attachments: |
source file for test case A
Proposed API change |
Description
Daniel Prusa
2009-04-27 14:38:13 UTC
Created attachment 80990 [details]
source file for test case A
Test case A can be reproduced only if the source is modified and the document content differs from the content of the corresponding file. Test case B is the same. Document content differs from the corresponding file because of deleted guarded document marks (in 6.5 marks were replaced by spaces). Probably we should come up with DialogBinding.bindComponentToDocument(...) alternative that binds component to the living Document instead of FileObject. I'm wondering if this could be caused by automatic removal of trailing whitespace? You may try -J-Dorg.netbeans.modules.editor.lib2.TrailingWhitespaceRemove.level=FINE to debug it. *** Issue 165154 has been marked as a duplicate of this issue. *** This issue affects GUI builder seriously. The code completion doesn't work correctly in GUI builder's dialogs. In affects also debugging of forms (code completion is broken in debugger windows) => increasing the priority to P2. Created attachment 82214 [details]
Proposed API change
java.editor should declare dependency on editor.lib2/1.11, otherwise the patch looks ok to me. Thanks Patch integrated into jet-main. Debugger and Form module maintainers should modify their code to use DialogBinding.bindComponentToDocument instead of DialogBinding.bindComponentToFile. Reassigning. Integrated into 'main-golden', will be available in build *200905210201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/6f3f0d86fb0d User: Dusan Balek <dbalek@netbeans.org> Log: DialogBinding.bindComponentToDocument added - see issue #163769. Fixed in form: http://hg.netbeans.org/cdev/rev/b73660605871 Passing to debugger. Fixed in all debuggers in changeset: 132863:f51d1e12b88e http://hg.netbeans.org/main/rev/f51d1e12b88e Integrated into 'main-golden', will be available in build *200905220201* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/f51d1e12b88e User: mentlicher@netbeans.org Log: #163769 - Using DialogBinding.bindComponentToDocument instead of DialogBinding.bindComponentToFile to have correct code-completion. issue IZ#166439 is a regression caused by mentlicher's http://hg.netbeans.org/main/rev/f51d1e12b88e Please, check for regressions in other languages vv159170, your code depends on "dialogBinding.fileObject", which is NOT an API. Depending on implementation details makes the code non-maintainable. Also it's unfortunate that this bug was not fixed without requiring changes in it's clients. No other debugger depends on this attribute, therefore I consider this as fixed. It's up to you. You are right, there had to be correspondent C++ IZ to migrate from file-binding to doc-binding, but there was none :-( => regression. Btw, I don't know what is API here? "dialogBinding.document"? What have to be used by client to extract bidning info? I reopened IZ to pay attention, that some debuggers where broken. I have fixed C++ one, but probably python's is broken as well. You're right, next time I have to create a special issue and let the fix up to you. My point was, that there's nothing wrong with the fix http://hg.netbeans.org/main/diff/f51d1e12b88e/cnd.debugger.gdb/src/org/netbeans/modules/cnd/debugger/gdb/models/WatchPanel.java until someone depends on the implementation details of these methods. "dialogBinding.fileObject" is simply not an API, it's not mentioned anywhere. Depending on this is simply dangerous - viz issue #166439. Why python's debugger would be broken? It does not use "dialogBinding.fileObject". If it uses some other side-effects of bindComponentToFile(), which can not be seen from the code, then it might be broken. In such case QE will certainly find it. Verified ... and Closing all issues resolved into NetBeans 6.7 and earlier. |