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: | Diff not working with line wrapping | ||
---|---|---|---|
Product: | utilities | Reporter: | Tomas Pavek <tpavek> |
Component: | Diff | Assignee: | Ondrej Vrabec <ovrabec> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jglick, ovrabec |
Priority: | P3 | ||
Version: | 7.0 | ||
Hardware: | PC | ||
OS: | Windows Vista | ||
Issue Type: | DEFECT | Exception Reporter: |
Description
Tomas Pavek
2010-07-20 08:49:32 UTC
While i was testing the diff with enabled line-wrapping (both switch and wrapping after words on), i came across two problems. They appear *only* when the wrapping after words/everywhere is enabled. When i *only* set the commandline switch to true (org.netbeans.modules.editor.linewrap=true) but leave the linewrapping off (in Tools > Options > Editor), everything works just fine. 1) diff markers in the editor (the bar on the left side of the editor) - the markers are initially displayed on the correct line. However as i scroll through a long file, the editor starts blinking after a while, seems to be recalculating something and all annotations (diff markers as well as other annotations) are relocated several lines above/below. This seems to be an editor problem. 2) broken diff view (Mercurial > Diff) - the diff view constantly resizes itself, repaints and never stops blinking. I think the cause of this is the following: diff listens for changes in panel's size, recalculates highlighting in reaction for this event and fires a highlightChanged event. But then the editor seems to rebuild the view hierarchy (or something like that), resizes the pane and thus triggers the diff recalculation and the cycle is started again. This loop never finishes. I guess this can be fixed on our side (in diff), i just mention this because it worked fine with the old view hierarchy's implementation (and even with the new implementation at the end of 6.9 development cycle). milo, could you look into the editor-related part of the problem? I have the same issues in the latest build. Also I took this error http://statistics.netbeans.org/analytics/detail.do?id=171521 after some time of blinking the diff page Yes, I'm still working on resolving of this. Basically all paragraph-view rebuilds (e.g. after a re-parse) need to retain previously present paragraph-view spans to avoid scrollbar going back and forth. Otherwise current lazy-children views computation would assign default line heights to paragraph views and painting/measuring that comes afterwards would initialize the children and expand the paragraph-view's height. Unfortunately with the present version of the fix there are still cases that need fixing. I have modified the fix and it now appears to work fine. http://hg.netbeans.org/jet-main/rev/d8fca62e12f5 It seems that the diff works fine now so marking as fixed. Please reopen the issue if the problems would persist. I must reopen since a left view of the diff view appears sometimes shifted up when line wrapping is on and the the window's width becomes narrow. Reassigning to Ondra for evaluation. Integrated into 'main-golden', will be available in build *201008110001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/d8fca62e12f5 User: Miloslav Metelka <mmetelka@netbeans.org> Log: #188779 - Diff not working with line wrapping - With line wrapping on the view changed vertical size frequently during typing. happens only occasionally, resizing the diff window a bit seems to fix the problem. lowering priority for now... Integrated into 'main-golden', will be available in build *201008250001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main/rev/ae27bc307c4f User: Ondrej Vrabec <ovrabec@netbeans.org> Log: #188779 - Diff not working with line wrapping fixing problems in the slider between diff panes Dupe of bug #189696? issue #189696 is duplicate of what was reported in comment #6 and fixed by ovrabec in #ae27bc307c4f this one is not closed because there are still some problems with diff when line wrapping is on. *** Bug 189696 has been marked as a duplicate of this bug. *** Lot has been fixed in diff regarding line-wrapping. If there is a specific problem, let's file a separate issue. |