This is an automated email from the ASF dual-hosted git repository.
neilcsmith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git
The following commit(s) were added to refs/heads/master by this push:
new fbe80af [NETBEANS-4620] NullPointerException - finding occurrences
new 412cee3 Merge pull request #2325 from junichi11/netbeans-4620
fbe80af is described below
commit fbe80af36f22ec1423857b7288f6097acb89b5e4
Author: Junichi Yamamoto <[email protected]>
AuthorDate: Sun Aug 23 22:25:05 2020 +0900
[NETBEANS-4620] NullPointerException - finding occurrences
To avoid NPE, check new value is not `null` but `Caret`. If it's `null`,
`BasicTextUI.editor` field may be `null`.
```
java.lang.NullPointerException
at
java.desktop/javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1104)
at
java.desktop/javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1089)
at
java.desktop/javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1065)
at
org.netbeans.modules.editor.search.SearchComboBoxEditor$ManageViewPositionListener.changed(SearchComboBoxEditor.java:290)
at
org.netbeans.modules.editor.search.SearchComboBoxEditor$ManageViewPositionListener.removeUpdate(SearchComboBoxEditor.java:277)
at
org.netbeans.lib.editor.util.swing.PriorityDocumentListenerList.removeUpdate(PriorityDocumentListenerList.java:91)
at
java.desktop/javax.swing.text.AbstractDocument.fireRemoveUpdate(AbstractDocument.java:261)
at
org.netbeans.editor.BaseDocument.fireRemoveUpdate(BaseDocument.java:1650)
at org.netbeans.editor.BaseDocument.handleRemove(BaseDocument.java:1022)
at
org.netbeans.editor.BaseDocument$FilterBypassImpl.remove(BaseDocument.java:2639)
at
java.desktop/javax.swing.text.DocumentFilter.remove(DocumentFilter.java:79)
at org.netbeans.editor.BaseDocument.remove(BaseDocument.java:935)
at
org.netbeans.modules.editor.search.SearchComboBoxEditor$3.propertyChange(SearchComboBoxEditor.java:137)
```
---
.../modules/editor/search/SearchComboBoxEditor.java | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git
a/ide/editor.search/src/org/netbeans/modules/editor/search/SearchComboBoxEditor.java
b/ide/editor.search/src/org/netbeans/modules/editor/search/SearchComboBoxEditor.java
index 45d303f..1edb26d 100644
---
a/ide/editor.search/src/org/netbeans/modules/editor/search/SearchComboBoxEditor.java
+++
b/ide/editor.search/src/org/netbeans/modules/editor/search/SearchComboBoxEditor.java
@@ -127,17 +127,16 @@ public class SearchComboBoxEditor implements
ComboBoxEditor {
// selection is not removed when text is input via IME
// so, just remove it when the caret is changed
if ("caret".equals(evt.getPropertyName())) { // NOI18N
- if (evt.getOldValue() instanceof Caret) {
+ if (evt.getOldValue() instanceof Caret
+ && evt.getNewValue() instanceof Caret) { //
NETBEANS-4620 check new value is not null but Caret
Caret oldCaret = (Caret) evt.getOldValue();
- if (oldCaret != null) {
- int dotPosition = oldCaret.getDot();
- int markPosition = oldCaret.getMark();
- if (dotPosition != markPosition) {
- try {
-
editorPane.getDocument().remove(Math.min(markPosition, dotPosition),
Math.abs(markPosition - dotPosition));
- } catch (BadLocationException ex) {
- LOG.log(Level.WARNING, "Invalid removal
offset: {0}", ex.offsetRequested()); // NOI18N
- }
+ int dotPosition = oldCaret.getDot();
+ int markPosition = oldCaret.getMark();
+ if (dotPosition != markPosition) {
+ try {
+
editorPane.getDocument().remove(Math.min(markPosition, dotPosition),
Math.abs(markPosition - dotPosition));
+ } catch (BadLocationException ex) {
+ LOG.log(Level.WARNING, "Invalid removal
offset: {0}", ex.offsetRequested()); // NOI18N
}
}
}
@@ -412,4 +411,4 @@ public class SearchComboBoxEditor implements ComboBoxEditor
{
return originalActionName;
}
};
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists