<html><body><br><p>---------- Původní zpráva ----------<br>Od: Jiri Klement <jiri.klement@gmail.com><br>Komu: OpenStreetMap Czech Republic <talk-cz@openstreetmap.org><br>Datum: 10. 9. 2014 9:28:24<br>Předmět: Re: [Talk-cz]
        Tracer - změna distribuce nových verzí</p><br><blockquote>Ahoj,<br><br>EDT znamena Event Dispatch Thread, zjednodusene je to vlakno, co resi<br>vsechny veci s GUI. Protoze Swing neni threadsafe, tak veskera prace s<br>GUI by mela byt v tomhle vlakne. Zakladni pouziti:<br>SwingUtilities.invokeLater(new Runnable() {<br>@Override<br>public void run() {<br>// Zobraz status dialog...<br>}<br>});<br>Kdyz tohle udelas, tak se prida pozadavek do EDT fronty a kdyz na nej<br>dojde rada, tak se provede tvoje metoda run() (ve spravnem vlakne,<br>takze nehrozi NullPointer).<br></blockquote><p><br></p><p>Jo, to už jsme zkoušeli a funguje to.</p><p> <br></p><blockquote><br>Spravne jmeno balicku - kdyz mam soubor<br>org/openstreetmap/josm/plugins/tracer/ConnectWays/ConnectWays.java,<br>tak balicek by mel byt<br>org.openstreetmap.josm.plugins.tracer.ConnectWays. Tj stejny jako<br>cesta k souboru, akorat misto lomitka je tam tecka.<br></blockquote><p><br></p><p>OK. Večer na to mrknu.</p><p><br></p><p>Marián</p><p><br></p><blockquote><br><br>2014-09-10 9:13 GMT+02:00 Marián Kyral <mkyral@email.cz>:<br>> Ahoj,<br>><br>> ---------- Původní zpráva ----------<br>> Od: Jiri Klement <jiri.klement@gmail.com><br>> Komu: OpenStreetMap Czech Republic <talk-cz@openstreetmap.org><br>> Datum: 10. 9. 2014 8:32:53<br>> Předmět: Re: [Talk-cz] Tracer - změna distribuce nových verzí<br>><br>><br>> Nejspis je to tim, ze pristupujes k GUI ze spatnyho vlakna. Nastav si<br>> v JOSM propertu debug.edt-checker.enable=true a kazdej spatnej pristup<br>> se bude vypisovat do konzole jako stacktrace. Treba ty informacni<br>> dialogy by si nemel zobrazovat primo, ale uvnitr<br>> SwingUtilities.invokeLater. Uvidis i spoustu spatnych pristupu primo z<br>> JOSM, ty asi nema smysl resit.<br>><br>><br>> No o programování multivláknových aplikací nevím vůbec nic. Tak nějak naivně<br>> jsem předpokládal, že JOSM to má ošetřeno, případně, že původní plugin to má<br>> uděláno dobře. No nemá. Martin Švec mi poslal dlouhý seznam, co je třeba<br>> upravit. a že se na to o víkendu snad mrkne. Já si mezitím budu číst něco o<br>> EDT a jiných magických zkratkách.<br>><br>><br>><br>> Jeste bych chtel poprosit, jestli bys mohl pouzivat spravny jmena<br>> balicku - meli by odpovidat adresarovy strukture. Neni to sice<br>> povinne, ale je to naprosty standard a treba eclipse tracer kvuli tomu<br>> neprelozi.<br>><br>><br>> Ehm, že jsem tak smělý, můžeš definovat "správný jméno balíčku"? Eclipse<br>> nepoužívám, v javě jsem samouk, tak netuším, co tím myslíš ;-)<br>><br>><br>> Díky,<br>><br>> Marián<br>><br>><br>><br>> --<br>> Jirka<br>><br>><br>><br>> 2014-09-09 21:08 GMT+02:00 Marián Kyral <mkyral@email.cz>:<br>>> Tak zdá se, že nová verze mnohem častěji generuje výjimku:<br>>> .NullPointerException v SynthTreeUI.java :-(<br>>> Dá se to ignorovat, ale vadí mi to. A nevím co s tím.<br>>><br>>> CHYBA: java.lang.NullPointerException<br>>> java.lang.NullPointerException<br>>> at<br>>><br>>> javax.swing.plaf.synth.SynthTreeUI.paintExpandControl(SynthTreeUI.java:600)<br>>> at javax.swing.plaf.synth.SynthTreeUI.paint(SynthTreeUI.java:417)<br>>> at javax.swing.plaf.synth.SynthTreeUI.update(SynthTreeUI.java:271)<br>>> at javax.swing.JComponent.paintComponent(JComponent.java:769)<br>>> at javax.swing.JComponent.paint(JComponent.java:1045)<br>>> at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)<br>>> at<br>>><br>>> javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:295)<br>>> at javax.swing.RepaintManager.paint(RepaintManager.java:1249)<br>>> at javax.swing.JComponent._paintImmediately(JComponent.java:5158)<br>>> at javax.swing.JComponent.paintImmediately(JComponent.java:4969)<br>>> at javax.swing.RepaintManager$3.run(RepaintManager.java:808)<br>>> at javax.swing.RepaintManager$3.run(RepaintManager.java:796)<br>>> at java.security.AccessController.doPrivileged(Native Method)<br>>> at<br>>><br>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br>>> at<br>>> javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)<br>>> at<br>>> javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)<br>>> at<br>>> javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)<br>>> at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)<br>>> at<br>>><br>>> javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)<br>>> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)<br>>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)<br>>> at java.awt.EventQueue.access$200(EventQueue.java:103)<br>>> at java.awt.EventQueue$3.run(EventQueue.java:694)<br>>> at java.awt.EventQueue$3.run(EventQueue.java:692)<br>>> at java.security.AccessController.doPrivileged(Native Method)<br>>> at<br>>><br>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br>>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)<br>>> at<br>>><br>>> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)<br>>> at<br>>><br>>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)<br>>> at<br>>><br>>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:154)<br>>> at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)<br>>> at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)<br>>> at java.security.AccessController.doPrivileged(Native Method)<br>>> at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)<br>>> at java.awt.Dialog.show(Dialog.java:1082)<br>>> at java.awt.Component.show(Component.java:1651)<br>>> at java.awt.Component.setVisible(Component.java:1603)<br>>> at java.awt.Window.setVisible(Window.java:1014)<br>>> at java.awt.Dialog.setVisible(Dialog.java:1005)<br>>> at<br>>><br>>> org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$4.run(PleaseWaitProgressMonitor.java:172)<br>>> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)<br>>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)<br>>> at java.awt.EventQueue.access$200(EventQueue.java:103)<br>>> at java.awt.EventQueue$3.run(EventQueue.java:694)<br>>> at java.awt.EventQueue$3.run(EventQueue.java:692)<br>>> at java.security.AccessController.doPrivileged(Native Method)<br>>> at<br>>><br>>> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)<br>>> at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)<br>>> at<br>>><br>>> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)<br>>> at<br>>><br>>> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)<br>>> at<br>>><br>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)<br>>> at<br>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)<br>>> at<br>>> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)<br>>> at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)<br>>><br>>><br>>><br>>> ---------- Původní zpráva ----------<br>>> Od: Petr Schönmann <pschonmann@gmail.com><br>>> Komu: OpenStreetMap Czech Republic <talk-cz@openstreetmap.org><br>>> Datum: 9. 9. 2014 17:02:18<br>>> Předmět: Re: [Talk-cz] Tracer - změna distribuce nových verzí<br>>><br>>><br>>> Díky Mariane ! Super to je, ale prosil bych nekomolit jméno. Zažil<br>>> jsem dost zkomolenin, ale Psychonmann už je dost brutální :) Díky<br>>><br>>> Dne 9. září 2014 9:46 Marián Kyral <mkyral@email.cz> napsal(a):<br>>>> Ahoj,<br>>>> protože se v tom už sám ztrácím a původní plán nahradit co nejdříve<br>>>> Tracer<br>>>> aktualizovanou verzí nějak selhává = furt to nefunguje jak by mělo,<br>>>> rozhodl<br>>>> jsem distribuovat testovací verzi Traceru jako externí modul.<br>>>><br>>>> To znamená, že když si teď v JOSM stáhnete seznam pluginů, najdete tam<br>>>> Tracer, Tracer-testing a Tracer2. Stačí odškrknout Tracer a Tracer2 a<br>>>> zatrhnout Tracer-testing. Tak se nainstaluje nejnovější verze a všechny<br>>>> následující aktualizace se pak budou stahovat automaticky.<br>>>><br>>>> No není to super? :-D Akorát jsem to mohl udělat dříve.<br>>>> Tímto děkuji Psychonmannovi za nakopnutí.<br>>>><br>>>> Marián<br>>>><br>>>> _______________________________________________<br>>>> Talk-cz mailing list<br>>>> Talk-cz@openstreetmap.org<br>>>> https://lists.openstreetmap.org/listinfo/talk-cz<br>>>><br>>><br>>> _______________________________________________<br>>> Talk-cz mailing list<br>>> Talk-cz@openstreetmap.org<br>>> https://lists.openstreetmap.org/listinfo/talk-cz<br>>><br>>><br>>> _______________________________________________<br>>> Talk-cz mailing list<br>>> Talk-cz@openstreetmap.org<br>>> https://lists.openstreetmap.org/listinfo/talk-cz<br>>><br>><br>> _______________________________________________<br>> Talk-cz mailing list<br>> Talk-cz@openstreetmap.org<br>> https://lists.openstreetmap.org/listinfo/talk-cz<br>><br>><br>> _______________________________________________<br>> Talk-cz mailing list<br>> Talk-cz@openstreetmap.org<br>> https://lists.openstreetmap.org/listinfo/talk-cz<br>><br><br>_______________________________________________<br>Talk-cz mailing list<br>Talk-cz@openstreetmap.org<br>https://lists.openstreetmap.org/listinfo/talk-cz</blockquote></body></html>