﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
10987	EDT violation during GeoImageLayer merge	holgermappt	team	"==== What steps will reproduce the problem?
1. Get the two images from ticket:10853: attachment:ticket:10853:fullexifgps.jpg and attachment:ticket:10853:noexifgps.jpg
2. Download session file geoimage_ivd_edt_violation.jos
3. Start JOSM in the directory where the images are with the session file as argument
4. Select layer ''Geotagged Images 1''
5. Merge with other layer (icon ''Merge this layer into another layer'', click ''Merge'' in following dialog)

==== What is the expected result?
No EDT violation.

==== What happens instead?
{{{
EDT violation detected
javax.swing.JButton[,36,5,26x26,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@7219e3b5,flags=424,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=26,height=26],defaultIcon=javax.swing.ImageIcon@3f531236,disabledIcon=sun.swing.ImageIconUIResource@10ccbf28,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=null,defaultCapable=true]
        at java.lang.Thread.getStackTrace(Thread.java:1589)
        at org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager.checkThreadViolations(CheckThreadViolationRepaintManager.java:81)
        at org.jdesktop.swinghelper.debug.CheckThreadViolationRepaintManager.addDirtyRegion(CheckThreadViolationRepaintManager.java:72)
        at javax.swing.JComponent.repaint(JComponent.java:4784)
        at java.awt.Component.repaint(Component.java:3297)
        at javax.swing.JComponent.setEnabled(JComponent.java:2670)
        at javax.swing.AbstractButton.setEnabled(AbstractButton.java:2087)
        at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.setNextEnabled(ImageViewerDialog.java:271)
        at org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.checkPreviousNextButtons(GeoImageLayer.java:746)
        at org.openstreetmap.josm.gui.layer.geoimage.ImageViewerDialog.showImage(ImageViewerDialog.java:251)
        at org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer.mergeFrom(GeoImageLayer.java:416)
        at org.openstreetmap.josm.actions.MergeLayerAction$1.run(MergeLayerAction.java:55)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
}}}

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Build-Date: 2015-01-17 18:33:25
Revision: 7968
Is-Local-Build: true

Identification: JOSM/1.5 (7968 SVN en) Linux openSUSE 13.2 (Harlequin) (x86_64)
Memory Usage: 481 MB / 7141 MB (368 MB allocated, but free)
Java version: 1.7.0_71, Oracle Corporation, OpenJDK 64-Bit Server VM
Java package: java-1_7_0-openjdk:x86_64-1.7.0.71
Program arguments: [geoimage_ivd_edt_violation.jos]

Plugins:
- HouseNumberTaggingTool (30416)
- InfoMode (30416)
- PicLayer (30436)
- Tracer2 (30416)
- buildings_tools (30485)
- continuosDownload (28565)
- graphview (30416)
- imageryadjust (30416)
- log4j (30416)
- measurement (30416)
- mirrored_download (30495)
- photo_geotagging (30887)
- photoadjust (30905)
- reverter (30521)
- terracer (30416)
- undelete (30416)
- utilsplugin2 (30460)
}}}

==== Comments
changeset:6964 moved `Main.main.removeLayer()` into `GuiHelper.runInEDTAndWait()`.  There is no violation if `targetLayer.mergeFrom()` is moved into it too.  But I don't know if that would cause other trouble."	defect	closed	normal	15.01	Core	latest	fixed	template_report	
