diff --git a/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MotifBrowserControlCanvas.java b/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MotifBrowserControlCanvas.java index c24a5d206c5..6cd6715fbc0 100644 --- a/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MotifBrowserControlCanvas.java +++ b/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MotifBrowserControlCanvas.java @@ -28,7 +28,7 @@ import org.mozilla.util.ParameterCheck; * There is one instance of the WebShellCanvas per top level awt Frame. - * @version $Id: MotifBrowserControlCanvas.java,v 1.2 1999-08-13 23:02:40 mark.lin%eng.sun.com Exp $ + * @version $Id: MotifBrowserControlCanvas.java,v 1.3 1999-08-16 23:26:39 mark.lin%eng.sun.com Exp $ * * @see org.mozilla.webclient.BrowserControlCanvasFactory * @@ -83,9 +83,6 @@ public class MotifBrowserControlCanvas extends BrowserControlCanvas /* implement this.reparentWindow(this.gtkWinID, this.canvasWinID); firstTime = false; - - Thread mozillaEventThread = new MozillaEventThread(this); - mozillaEventThread.start(); } } } @@ -123,6 +120,9 @@ public class MotifBrowserControlCanvas extends BrowserControlCanvas /* implement screenSize.height); this.gtkWinID = this.getGTKWinID(gtkWinPtr); + + Thread mozillaEventThread = new MozillaEventThread(this); + mozillaEventThread.start(); } return this.gtkWinPtr; diff --git a/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MozillaEventThread.java b/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MozillaEventThread.java index 472b9e31943..1bf3f410a49 100644 --- a/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MozillaEventThread.java +++ b/mozilla/java/webclient/classes/org/mozilla/webclient/motif/MozillaEventThread.java @@ -30,7 +30,7 @@ package org.mozilla.webclient.motif; * Lifetime And Scope

* There will be one of these per BrowserControlCanvas (but hasn't been tested yet) * - * @version $Id: MozillaEventThread.java,v 1.1 1999-08-13 23:21:19 mark.lin%eng.sun.com Exp $ + * @version $Id: MozillaEventThread.java,v 1.2 1999-08-16 23:26:40 mark.lin%eng.sun.com Exp $ * @see org.mozilla.webclient.motif.MozillaEventThread * */ @@ -43,7 +43,6 @@ public class MozillaEventThread extends Thread { // A mapping of gtkWindowID <-> WebShellInitContext structs static private Hashtable webShellContextMapping = null; - protected MotifBrowserControlCanvas browserCanvas; // Calling this will process any GTK / Mozilla events which have been pending @@ -80,9 +79,11 @@ public class MozillaEventThread extends Thread { // Infinite loop to eternity. while (true) { // PENDING(mark): Do we need to yield? - Thread.currentThread().yield(); + // Thread.currentThread().yield(); - this.processNativeEventQueue(getContext(this.browserCanvas.getGTKWinPtr())); + synchronized(this.browserCanvas.getTreeLock()) { + this.processNativeEventQueue(getContext(this.browserCanvas.getGTKWinPtr())); + } } }