Protect against a wacky failure I witnessed.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@1106 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: DnDManager.java,v 1.13 2002/10/28 19:19:43 ray Exp $
|
// $Id: DnDManager.java,v 1.14 2003/04/30 23:03:52 ray Exp $
|
||||||
|
|
||||||
package com.samskivert.swing.dnd;
|
package com.samskivert.swing.dnd;
|
||||||
|
|
||||||
@@ -9,6 +9,7 @@ import java.awt.Cursor;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.GraphicsEnvironment;
|
import java.awt.GraphicsEnvironment;
|
||||||
|
import java.awt.IllegalComponentStateException;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
@@ -373,16 +374,22 @@ public class DnDManager
|
|||||||
|
|
||||||
int x = event.getX();
|
int x = event.getX();
|
||||||
int y = event.getY();
|
int y = event.getY();
|
||||||
Point p = event.getComponent().getLocationOnScreen();
|
|
||||||
p.translate(x, y);
|
|
||||||
|
|
||||||
Rectangle r = getRectOnScreen(_scrollComp);
|
try {
|
||||||
if (!r.contains(p)) {
|
Point p = event.getComponent().getLocationOnScreen();
|
||||||
r.grow(_scrollDim.width, _scrollDim.height);
|
p.translate(x, y);
|
||||||
if (r.contains(p)) {
|
|
||||||
_scrollPoint = p;
|
Rectangle r = getRectOnScreen(_scrollComp);
|
||||||
return; // still autoscrolling
|
if (!r.contains(p)) {
|
||||||
|
r.grow(_scrollDim.width, _scrollDim.height);
|
||||||
|
if (r.contains(p)) {
|
||||||
|
_scrollPoint = p;
|
||||||
|
return; // still autoscrolling
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} catch (IllegalComponentStateException icse) {
|
||||||
|
// the component could no longer be on screen
|
||||||
|
// don't complain, just stop autoscroll
|
||||||
}
|
}
|
||||||
|
|
||||||
// stop autoscrolling
|
// stop autoscrolling
|
||||||
|
|||||||
Reference in New Issue
Block a user