提交 649cab97 编写于 作者: M mlapshin

Merge

...@@ -97,14 +97,11 @@ class GTKFileChooserUI extends SynthFileChooserUI { ...@@ -97,14 +97,11 @@ class GTKFileChooserUI extends SynthFileChooserUI {
private static final Dimension hstrut3 = new Dimension(3, 1); private static final Dimension hstrut3 = new Dimension(3, 1);
private static final Dimension vstrut10 = new Dimension(1, 10); private static final Dimension vstrut10 = new Dimension(1, 10);
private static final Insets insets = new Insets(10, 10, 10, 10);
private static Dimension prefListSize = new Dimension(75, 150); private static Dimension prefListSize = new Dimension(75, 150);
private static Dimension PREF_SIZE = new Dimension(435, 360); private static Dimension PREF_SIZE = new Dimension(435, 360);
private static Dimension MIN_SIZE = new Dimension(200, 300); private static Dimension MIN_SIZE = new Dimension(200, 300);
private static Dimension PREF_ACC_SIZE = new Dimension(10, 10);
private static Dimension ZERO_ACC_SIZE = new Dimension(1, 1); private static Dimension ZERO_ACC_SIZE = new Dimension(1, 1);
private static Dimension MAX_SIZE = new Dimension(Short.MAX_VALUE, Short.MAX_VALUE); private static Dimension MAX_SIZE = new Dimension(Short.MAX_VALUE, Short.MAX_VALUE);
...@@ -125,7 +122,6 @@ class GTKFileChooserUI extends SynthFileChooserUI { ...@@ -125,7 +122,6 @@ class GTKFileChooserUI extends SynthFileChooserUI {
private JPanel bottomButtonPanel; private JPanel bottomButtonPanel;
private GTKDirectoryModel model = null; private GTKDirectoryModel model = null;
private Action newFolderAction; private Action newFolderAction;
private JPanel interior;
private boolean readOnly; private boolean readOnly;
private boolean showDirectoryIcons; private boolean showDirectoryIcons;
private boolean showFileIcons; private boolean showFileIcons;
...@@ -710,15 +706,19 @@ class GTKFileChooserUI extends SynthFileChooserUI { ...@@ -710,15 +706,19 @@ class GTKFileChooserUI extends SynthFileChooserUI {
bottomButtonPanel.setName("GTKFileChooser.bottomButtonPanel"); bottomButtonPanel.setName("GTKFileChooser.bottomButtonPanel");
align(bottomButtonPanel); align(bottomButtonPanel);
JPanel pnButtons = new JPanel(new GridLayout(1, 2, 5, 0));
JButton cancelButton = getCancelButton(fc); JButton cancelButton = getCancelButton(fc);
align(cancelButton); align(cancelButton);
cancelButton.setMargin(buttonMargin); cancelButton.setMargin(buttonMargin);
bottomButtonPanel.add(cancelButton); pnButtons.add(cancelButton);
JButton approveButton = getApproveButton(fc);; JButton approveButton = getApproveButton(fc);
align(approveButton); align(approveButton);
approveButton.setMargin(buttonMargin); approveButton.setMargin(buttonMargin);
bottomButtonPanel.add(approveButton); pnButtons.add(approveButton);
bottomButtonPanel.add(pnButtons);
if (fc.getControlButtonsAreShown()) { if (fc.getControlButtonsAreShown()) {
fc.add(bottomButtonPanel, BorderLayout.SOUTH); fc.add(bottomButtonPanel, BorderLayout.SOUTH);
...@@ -1108,7 +1108,7 @@ class GTKFileChooserUI extends SynthFileChooserUI { ...@@ -1108,7 +1108,7 @@ class GTKFileChooserUI extends SynthFileChooserUI {
// Get the canonical (full) path. This has the side // Get the canonical (full) path. This has the side
// benefit of removing extraneous chars from the path, // benefit of removing extraneous chars from the path,
// for example /foo/bar/ becomes /foo/bar // for example /foo/bar/ becomes /foo/bar
File canonical = null; File canonical;
try { try {
canonical = fsv.createFileObject(ShellFolder.getNormalizedFile(directory).getPath()); canonical = fsv.createFileObject(ShellFolder.getNormalizedFile(directory).getPath());
} catch (IOException e) { } catch (IOException e) {
......
...@@ -218,9 +218,9 @@ public class MenuSelectionManager { ...@@ -218,9 +218,9 @@ public class MenuSelectionManager {
int selectionSize; int selectionSize;
p = event.getPoint(); p = event.getPoint();
Component source = (Component)event.getSource(); Component source = event.getComponent();
if (!source.isShowing()) { if ((source != null) && !source.isShowing()) {
// This can happen if a mouseReleased removes the // This can happen if a mouseReleased removes the
// containing component -- bug 4146684 // containing component -- bug 4146684
return; return;
...@@ -236,7 +236,9 @@ public class MenuSelectionManager { ...@@ -236,7 +236,9 @@ public class MenuSelectionManager {
return; return;
} }
SwingUtilities.convertPointToScreen(p,source); if (source != null) {
SwingUtilities.convertPointToScreen(p, source);
}
screenX = p.x; screenX = p.x;
screenY = p.y; screenY = p.y;
......
/*
* Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
* CA 95054 USA or visit www.sun.com if you need additional information or
* have any questions.
*/
/*
* @test
* @bug 6690791
* @summary Checks that there is no ClassCastException
* in MenuSelectionManager.processMouseEvent()
* @author Mikhail Lapshin
* @run main bug6690791
*/
import javax.swing.*;
import java.awt.event.MouseEvent;
public class bug6690791 {
public static void main(String[] args) throws Exception {
MouseEvent me = new MouseEvent(new JLabel(), MouseEvent.MOUSE_CLICKED,
System.currentTimeMillis(), MouseEvent.ALT_MASK,
10, 10, 100, 100, 1, false, MouseEvent.BUTTON1);
me.setSource(new Object());
MenuSelectionManager.defaultManager().processMouseEvent(me);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册