projects
/
org.ibex.core.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7e48eea
)
2002/08/07 03:26:00
author
megacz
<megacz@xwt.org>
Fri, 30 Jan 2004 06:49:31 +0000
(06:49 +0000)
committer
megacz
<megacz@xwt.org>
Fri, 30 Jan 2004 06:49:31 +0000
(06:49 +0000)
darcs-hash:
20040130064931
-2ba56-
c8fd4930751111ab982504437cb42e79af17d04d
.gz
CHANGES
patch
|
blob
|
history
src/org/xwt/MessageQueue.java
patch
|
blob
|
history
diff --git
a/CHANGES
b/CHANGES
index
547a8db
..
f3deac4
100644
(file)
--- a/
CHANGES
+++ b/
CHANGES
@@
-316,3
+316,7
@@
06-Jul megacz Context.java: workaround for GCJ bug which causes
MessageFormatter to choke on { and }
06-Jul megacz Context.java: workaround for GCJ bug which causes
MessageFormatter to choke on { and }
+06-Jul megacz MessageQueue.java: fixed MessageQueueWatcher so that it
+ works even when an infinite loop occurs in a _SizeChange
+ or _PosChange trap.
+
diff --git
a/src/org/xwt/MessageQueue.java
b/src/org/xwt/MessageQueue.java
index
b6643c6
..
5f8b17d
100644
(file)
--- a/
src/org/xwt/MessageQueue.java
+++ b/
src/org/xwt/MessageQueue.java
@@
-115,10
+115,13
@@
public class MessageQueue extends Thread {
public MessageQueueWatcher() { start(); }
public void run() {
while(true) {
public MessageQueueWatcher() { start(); }
public void run() {
while(true) {
- if (m != null && m == MessageQueue.currentlyPerforming) {
+ if ((m != null && m == MessageQueue.currentlyPerforming) || MessageQueue.working) {
Context cx;
String what;
Context cx;
String what;
- if (m instanceof ThreadMessage) {
+ if (m == null) {
+ cx = Context.getContextForThread(MessageQueue.singleton);
+ what = "trap";
+ } else if (m instanceof ThreadMessage) {
ThreadMessage tm = (ThreadMessage)m;
cx = Context.getContextForThread(tm);
what = "background thread";
ThreadMessage tm = (ThreadMessage)m;
cx = Context.getContextForThread(tm);
what = "background thread";