git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into portforward/JAL-2675_2102b1to2103
[jalview.git]
/
src
/
jalview
/
appletgui
/
SeqPanel.java
diff --git
a/src/jalview/appletgui/SeqPanel.java
b/src/jalview/appletgui/SeqPanel.java
index
fc7c46e
..
f36a8e2
100644
(file)
--- a/
src/jalview/appletgui/SeqPanel.java
+++ b/
src/jalview/appletgui/SeqPanel.java
@@
-1402,7
+1402,7
@@
public class SeqPanel extends Panel implements MouseMotionListener,
{
if (scrollThread != null)
{
{
if (scrollThread != null)
{
- scrollThread.running = false;
+ scrollThread.threadRunning = false;
scrollThread = null;
}
scrollThread = null;
}
@@
-1649,7
+1649,7
@@
public class SeqPanel extends Panel implements MouseMotionListener,
mouseExited(evt);
}
mouseExited(evt);
}
- if (scrollThread != null)
+ if ((scrollThread != null) && (scrollThread.isRunning()))
{
scrollThread.setEvent(evt);
}
{
scrollThread.setEvent(evt);
}
@@
-1665,9
+1665,9
@@
public class SeqPanel extends Panel implements MouseMotionListener,
oldSeq = 0;
}
oldSeq = 0;
}
- if (scrollThread != null)
+ if ((scrollThread != null) && (scrollThread.isRunning()))
{
{
- scrollThread.running = false;
+ scrollThread.stopScrolling();
scrollThread = null;
}
}
scrollThread = null;
}
}
@@
-1690,9
+1690,9
@@
public class SeqPanel extends Panel implements MouseMotionListener,
{
if (evt == null)
{
{
if (evt == null)
{
- if (scrollThread != null)
+ if ((scrollThread != null) && (scrollThread.isRunning()))
{
{
- scrollThread.running = false;
+ scrollThread.stopScrolling();
scrollThread = null;
}
mouseDragging = false;
scrollThread = null;
}
mouseDragging = false;
@@
-1715,7
+1715,7
@@
public class SeqPanel extends Panel implements MouseMotionListener,
{
MouseEvent evt;
{
MouseEvent evt;
- boolean running = false;
+ private volatile boolean threadRunning = true;
public ScrollThread()
{
public ScrollThread()
{
@@
-1729,14
+1729,18
@@
public class SeqPanel extends Panel implements MouseMotionListener,
public void stopScrolling()
{
public void stopScrolling()
{
- running = false;
+ threadRunning = false;
+ }
+
+ public boolean isRunning()
+ {
+ return threadRunning;
}
@Override
public void run()
{
}
@Override
public void run()
{
- running = true;
- while (running)
+ while (threadRunning)
{
if (evt != null)
{
if (evt != null)
@@
-1745,23
+1749,23
@@
public class SeqPanel extends Panel implements MouseMotionListener,
if (mouseDragging && evt.getY() < 0
&& av.getRanges().getStartSeq() > 0)
{
if (mouseDragging && evt.getY() < 0
&& av.getRanges().getStartSeq() > 0)
{
- running = av.getRanges().scrollUp(true);
+ av.getRanges().scrollUp(true);
}
if (mouseDragging && evt.getY() >= getSize().height && av
.getAlignment().getHeight() > av.getRanges().getEndSeq())
{
}
if (mouseDragging && evt.getY() >= getSize().height && av
.getAlignment().getHeight() > av.getRanges().getEndSeq())
{
- running = av.getRanges().scrollUp(false);
+ av.getRanges().scrollUp(false);
}
if (mouseDragging && evt.getX() < 0)
{
}
if (mouseDragging && evt.getX() < 0)
{
- running = av.getRanges().scrollRight(false);
+ av.getRanges().scrollRight(false);
}
else if (mouseDragging && evt.getX() >= getSize().width)
{
}
else if (mouseDragging && evt.getX() >= getSize().width)
{
- running = av.getRanges().scrollRight(true);
+ av.getRanges().scrollRight(true);
}
}
}
}