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.
Scenario: - Open file in editor - Modify file - Push Save or Save All ==> no any messages in status bar for me (automatic GUI tests) it is very bad. I expect "File saved." message.
it's a recent regression
no any messages in other cases also. Latest changes makes NetBeans untestable. For example: - load C/C++ project into debugger - set line breakpoint - push Continue ==> no any messages in status bar
Jan, debugger messages are cleared due to recent changes in HintsUI's http://hg.netbeans.org/cnd-main/rev/1bf5ad396d51 when breakpoint is hit => debugger prints message, but HintsUI immediately erase it
Save All is erased by the same reason
another eraser is ExtDefaultKeyTypedAction open C++ Quote sample go to file quote.cc press Ctrl+Shift+A => no message in status bar, because it is erased by BaseAction.updateComponent: // Clear status bar text if (!recording && (updateMask & CLEAR_STATUS_TEXT) != 0) { Utilities.clearStatusText(target); } (if press switch/source header button on editor's toolbar => message is visible) I do not see changes in this code, but not clear why ExtDefaultKeyTypedAction is invoked at all. Our editors are Typing Hooks API based
I made the feature much more polite, in particular: -it does nothing if neither the caret location nor the error message changed from the last computed state (helps in the Save case) -it does not clear random messages from the status line - if it has nothing to display, it only clears its own messages (helps for the debugger case, at least in simple cases) -it uses importance StatusDisplayer.IMPORTANCE_ERROR_HIGHLIGHT, which seems to be specifically designed for this kind of feature Nonetheless: if the feature has something to display, it does so, and the message will overwrite anything written with lower importance. So if you see a problem with messages in status line overwritten by hints, please make sure you are invoking StatusDisplay.setStatusText(String, int) with a appropriate importance (i.e. higher than IMPORTANCE_ERROR_HIGHLIGHT). I am sorry, but I see no other way out except disabling the "show current error in status line" feature, which could be very unfortunate. http://hg.netbeans.org/jet-main/rev/36e27ee4d32b http://hg.netbeans.org/jet-main/rev/e542fdcf513b
I forgot: please let me know if the above changes helped.
As about importance level: We use setStatusText with one parameter which passes 0 as importance level. Does it mean that it will be always overwritten? anyway, thanks for quick fixes, we will check as soon as they are pushed into cnd-main (hopefully soon today)
http://bertram.netbeans.org:8080/job/jet-main/lastCompletedBuild/testReport/ has two failing tests. Can someone fix them to allow jet-main -> silver succeed? Thanks!
(In reply to comment #8) > As about importance level: We use setStatusText with one parameter which passes > 0 as importance level. Does it mean that it will be always overwritten? These will be overwritten by messages with higher (or equal) importance. Unfortunately, StatusDisplayer does not allow to go "under" the default importance level (0).
It helped. Tests are passed. thanks
v
Integrated into 'main-golden', will be available in build *201203271056* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-golden/rev/36e27ee4d32b User: Jan Lahoda <jlahoda@netbeans.org> Log: #209978: fixing some impolite behavior of the "show current error in status line" feature: -using IMPORTANCE_ERROR_HIGHLIGHT as importance of the text -only recomputing the warning if the caret location really changes from the last computed state -only clearing messages printed by this feature, not messages written by the others (only for the global status line).