Hi,
(sorry for cross-posting, but the dev-tech-java list seems to have very
few people responding)
I'm having a bit of trouble working with the JavaXPCOM on the trunk. I
built a debug version last week so that I could get a better sense of
what may be going wrong.
In one Java thread, I get a windowWatcher by doing the following:
serviceManager = moz.getServiceManager();
windowWatcher = (nsIWindowWatcher)
serviceManager.getServiceByContractID(CID_WINDOW_WATCHER,
nsIWindowWatcher.NS_IWINDOWWATCHER_IID);
I then create a proxy to the window watcher by doing the following:
nsIThread mainThread = threadManager.getMainThread();
windowWatcherProxy = (nsIWindowWatcher)
proxyObjectManager.getProxyForObject(mainThread,windowWatcher.NS_IWINDOWWATCHER_IID,windowWatcher,nsIProxyObjectManager.INVOKE_SYNC
| nsIProxyObjectManager.FORCE_PROXY_CREATION);
Then I call:
appStartup.run()
and that thread hangs up.
On a separate thread, after all of the code above has already executed,
I do the following:
windowWatcherProxy.openWindow(null, "http://www.google.com",
"main", "resizable,centerscreen", null);
Which causes an assertion error:
###!!! ASSERTION: nsWindowWatcher not thread-safe:
'_mOwningThread.GetThread() == PR_GetCurrentThread()', file
c:/dev/xulrunner/mozilla/embedding/components/windowwatcher/src/nsWindowWatcher.cpp,
line 325
Am I not creating the proxy properly? Any idea what's wrong? Good
documentation to read?
Thanks,
--Chris
_______________________________________________
dev-embedding mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-embedding