17.05.2012, 16:36
(17.05.2012, 10:47)cbfschubser Wrote: Ja, es liegt daran. Mit dem o.g. Aufruf sind die Probleme wieder da.
Klasse, jetzt müssen wir nur noch herausfinden, warum seit RouteConverter 2.5 immer mehr Mac OS X-Nutzer über dieses Problem klagen (wahrscheinlich alle, die die .app.zip-Version herunterladen), bei Version 2.4 jedoch nicht.
Welche Mac OS X-Version benutzt Du? Welche Java-Version läuft dort? Wie verhält sich die RouteConverter 2.4-Version auf Deinem Rechner?
Die 2.4er gibt es hier
- http://static.routeconverter.com/downloa...terMac.jar
- http://static.routeconverter.com/downloa...ac.app.zip
- http://static.routeconverter.com/downloa...rMac64.jar
- http://static.routeconverter.com/downloa...64.app.zip
In der 2.4 war DJNative Swing 0.9.9-20110113, Eclipse SWT 3.6, JNA 3.0.7 an Bord.
Bei der 2.5 waren es DJNative Swing 1.0.2-20110706, Eclipse SWT 3.7.1, JNA 3.2.4.
Und bei der 2.6 sind es DJNative Swing 1.0.2-20111120, Eclipse SWT 3.8M4, JNA 3.2.4.
Da könnten Änderungen an AWT aber auch Änderungen an der Eventverarbeitung von SWT eine Rolle spielen.
(17.05.2012, 10:47)cbfschubser Wrote: Dennoch würde ich vom Gefühl her sagen, dass es ein Fokus-Problem ist,
Hintergrund des Fehlverhaltens ist, daß bei Mac OS X zwingend der Thread 0 die Eventverarbeitung in einem Prozeß übernehmen muß, was genau -XstartOnFirstThread macht.
Details hier und hier
Bei RouteConverter wird das besonders lustig, daß es eigentlich eine Swing/AWT-Anwendung ist, die jedoch für die Karte über den Swing-Wrapper DJNative Swing ein Webbrowser-Control von Eclipse SWT einbettet. Lustig ist das deshalb, weil sowohl Swing/AWT als auch SWT eigene Eventqueue besitzen - wo landen wohl die Events vom Betriebssystem?
(17.05.2012, 10:47)cbfschubser Wrote: Kannst du mir Stellen im Code nennen, wo man schauen kann, bzw. ich könnte versuchen das mal zu debuggen.
EclipseSWTMapView sowie Application sind ein guter Startpunkt. Bevor Du irgendwelche Fokusprobleme debuggst: der Schlüssel ist m.E. die Koexistenz von Swing/AWT und SWT Eventqueue. Möglicherweise haben einfach Änderungen irgendwo im Stack dazu geführt, daß -XstartOnFirstThread nicht mehr benötigt wird. Irgendwo habe ich gelesen, daß man erst Swing/AWT aktivieren soll per Toolkit.getTookit().wasWasIch() bevor man die SWT-Eventqueue startet. Das macht eigentlich chrriis.dj.nativeswing.swtimpl.NativeInterface.runEventPump().
(17.05.2012, 10:47)cbfschubser Wrote: Ich werde aber erstmal die neue Vorabversion versuchen und schauen wie es da ist, dann schaue ich mal ob ich den Code bei mir zum Laufen bekomme und ein wenig reinschauen.
Du kannst Java entwickeln unter Mac OS X? Juche, so jemanden habe ich schon lange vermißt seit Harry van der Wolf damals die Mac OS X-Version von RouteConverter zum Laufen gebracht hat.
--
Christian
Christian
