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.
+
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;
- 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";