* bug 8095 fixed - The Set Colors window was too height with OpenJDK.
+* bug 8135 fixed - An exception was thrown when restoring files on MacOS X.
+
Bug Fixes:
==========
final MenuItem menuitem = createMenu(label, null, new CopySelectionInNewTabAction(label, editor), key);
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- String selection = editor.getTextPane().getSelectedText();
- menuitem.setEnabled(selection != null);
+ if (editor.getTextPane() != null) {
+ String selection = editor.getTextPane().getSelectedText();
+ menuitem.setEnabled(selection != null);
+ }
}
});
}
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- String select = editor.getTextPane().getSelectedText();
- if (select == null) {
- menuitem.setText(label2);
- } else {
- menuitem.setText(label1);
+ if (editor.getTextPane() != null) {
+ String select = editor.getTextPane().getSelectedText();
+ if (select == null) {
+ menuitem.setText(label2);
+ } else {
+ menuitem.setText(label1);
+ }
}
}
});
final MenuItem menuitem = createMenu(label, null, new GenerateHelpFromFunctionAction(label, editor), key);
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- Element root = editor.getTextPane().getDocument().getDefaultRootElement();
- int pos = editor.getTextPane().getCaretPosition();
- ScilabDocument.ScilabLeafElement elem = (ScilabDocument.ScilabLeafElement) root.getElement(root.getElementIndex(pos));
- menuitem.setEnabled(elem.isFunction());
+ if (editor.getTextPane() != null) {
+ Element root = editor.getTextPane().getDocument().getDefaultRootElement();
+ int pos = editor.getTextPane().getCaretPosition();
+ ScilabDocument.ScilabLeafElement elem = (ScilabDocument.ScilabLeafElement) root.getElement(root.getElementIndex(pos));
+ menuitem.setEnabled(elem.isFunction());
+ }
}
});
final MenuItem menuitem = createMenu(label1, null, hoka, key);
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- String select = editor.getTextPane().getSelectedText();
- if (select == null) {
- KeywordEvent kwe = ((ScilabEditorPane) editor.getTextPane()).getKeywordEvent(!hoka.isPopup, true);
- if (ScilabLexerConstants.isHelpable(kwe.getType())) {
- try {
- String kw = editor.getTextPane().getDocument().getText(kwe.getStart(), kwe.getLength());
- menuitem.setText(label1 + SciNotesMessages.QUOTE + kw + SciNotesMessages.QUOTE);
- menuitem.setEnabled(true);
- } catch (BadLocationException ex) { }
+ if (editor.getTextPane() != null) {
+ String select = editor.getTextPane().getSelectedText();
+ if (select == null) {
+ KeywordEvent kwe = ((ScilabEditorPane) editor.getTextPane()).getKeywordEvent(!hoka.isPopup, true);
+ if (ScilabLexerConstants.isHelpable(kwe.getType())) {
+ try {
+ String kw = editor.getTextPane().getDocument().getText(kwe.getStart(), kwe.getLength());
+ menuitem.setText(label1 + SciNotesMessages.QUOTE + kw + SciNotesMessages.QUOTE);
+ menuitem.setEnabled(true);
+ } catch (BadLocationException ex) { }
+ } else {
+ menuitem.setText(label1 + SciNotesMessages.DOTS);
+ menuitem.setEnabled(false);
+ }
} else {
- menuitem.setText(label1 + SciNotesMessages.DOTS);
- menuitem.setEnabled(false);
+ menuitem.setText(label2);
+ menuitem.setEnabled(true);
}
- } else {
- menuitem.setText(label2);
- menuitem.setEnabled(true);
}
}
});
public static MenuItem createMenu(String label, final SciNotes editor, KeyStroke key) {
final MenuItem menuitem = createMenu(label, null, new OpenURLAction(label, editor), key);
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent arg0) {
- String keyword = editor.getTextPane().getSelectedText();
- if (keyword == null) {
- KeywordEvent kwe = editor.getTextPane().getKeywordEvent();
- menuitem.setEnabled(ScilabLexerConstants.MAIL == kwe.getType() || ScilabLexerConstants.URL == kwe.getType());
+ public void propertyChange(PropertyChangeEvent e) {
+ if (editor.getTextPane() != null) {
+ String keyword = editor.getTextPane().getSelectedText();
+ if (keyword == null) {
+ KeywordEvent kwe = editor.getTextPane().getKeywordEvent();
+ menuitem.setEnabled(ScilabLexerConstants.MAIL == kwe.getType() || ScilabLexerConstants.URL == kwe.getType());
+ }
}
}
});
final MenuItem menuitem = createMenu(label, null, new OverwriteAction(label, editor), key);
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- menuitem.setEnabled(editor.getTextPane().checkExternalModif());
+ if (editor.getTextPane() != null) {
+ menuitem.setEnabled(editor.getTextPane().checkExternalModif());
+ }
}
});
final MenuItem menuitem = createMenu(label, null, sba, key);
((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- ScilabEditorPane sep = editor.getTextPane();
- boolean block = ScilabLexerConstants.isMatchable(sep.getKeywordEvent(!sba.isPopup, false).getType());
- block = block || ScilabLexerConstants.isMatchable(sep.getKeywordEvent(!sba.isPopup, true).getType());
- menuitem.setEnabled(block);
+ if (editor.getTextPane() != null) {
+ ScilabEditorPane sep = editor.getTextPane();
+ boolean block = ScilabLexerConstants.isMatchable(sep.getKeywordEvent(!sba.isPopup, false).getType());
+ block = block || ScilabLexerConstants.isMatchable(sep.getKeywordEvent(!sba.isPopup, true).getType());
+ menuitem.setEnabled(block);
+ }
}
});
((JMenu) menu.getAsSimpleMenu()).addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent e) {
- JComponent c = editor.getTextPane().getParentComponent();
- int state = 0;
- if (c instanceof JSplitPane) {
- JSplitPane split = (JSplitPane) c;
- if (split.getOrientation() == JSplitPane.HORIZONTAL_SPLIT) {
- state = 1;
- } else {
- state = 2;
+ if (editor.getTextPane() != null) {
+ JComponent c = editor.getTextPane().getParentComponent();
+ int state = 0;
+ if (c instanceof JSplitPane) {
+ JSplitPane split = (JSplitPane) c;
+ if (split.getOrientation() == JSplitPane.HORIZONTAL_SPLIT) {
+ state = 1;
+ } else {
+ state = 2;
+ }
}
+ arr[state].setSelected(true);
}
- arr[state].setSelected(true);
}
});
--- /dev/null
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2010 - Calixte DENIZET
+//
+// This file is distributed under the same license as the Scilab package.
+// =============================================================================
+
+// <-- INTERACTIVE TEST -->
+// <-- TEST WITH SCINOTES -->
+//
+// <-- Non-regression test for bug 8135 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/8135
+//
+// <-- Short Description -->
+// An exception was thrown when restoring files on MacOS X.
+
+edit test_run;
+closeEditor;
+edit test_run;
+
+// Check in the terminal if an exception is thrown.