projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SingleSWTRequest utility class now actually does what it is supposed to
[Mograsim.git]
/
plugins
/
net.mograsim.plugin.core
/
src
/
net
/
mograsim
/
plugin
/
util
/
SingleSWTRequest.java
diff --git
a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/SingleSWTRequest.java
b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/SingleSWTRequest.java
index
fa4d558
..
c4a1eee
100644
(file)
--- a/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/SingleSWTRequest.java
+++ b/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/util/SingleSWTRequest.java
@@
-4,14
+4,20
@@
import java.util.concurrent.atomic.AtomicBoolean;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Display;
+/**
+ * A utility class that requests the asynchronous execution of a Runnable in the SWT Thread. Making a new request before the old one is
+ * processed will override the old request.
+ */
public class SingleSWTRequest
{
private AtomicBoolean waiting = new AtomicBoolean();
public class SingleSWTRequest
{
private AtomicBoolean waiting = new AtomicBoolean();
+ private Runnable request;
public void request(Runnable request)
{
synchronized (waiting)
{
public void request(Runnable request)
{
synchronized (waiting)
{
+ this.request = request;
if (!waiting.get())
{
waiting.set(true);
if (!waiting.get())
{
waiting.set(true);
@@
-20,7
+26,7
@@
public class SingleSWTRequest
synchronized (waiting)
{
waiting.set(false);
synchronized (waiting)
{
waiting.set(false);
- request.run();
+
this.
request.run();
}
});
}
}
});
}