Opened 10 years ago
Closed 10 years ago
#10987 closed defect (fixed)
EDT violation during GeoImageLayer merge
Reported by: | holgermappt | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | 15.01 |
Component: | Core | Version: | latest |
Keywords: | template_report | Cc: |
Description (last modified by )
What steps will reproduce the problem?
- Get the two images from ticket:10853: attachment:ticket:10853:fullexifgps.jpg and attachment:ticket:10853:noexifgps.jpg
- Download session file geoimage_ivd_edt_violation.jos
- Start JOSM in the directory where the images are with the session file as argument
- Select layer Geotagged Images 1
- 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.
Attachments (1)
Change History (5)
by , 10 years ago
Attachment: | geoimage_ivd_edt_violation.jos added |
---|
comment:1 by , 10 years ago
Description: | modified (diff) |
---|
comment:2 by , 10 years ago
Milestone: | → 15.01 |
---|
comment:3 by , 10 years ago
changeset:6964 moved
Main.main.removeLayer()
intoGuiHelper.runInEDTAndWait()
. There is no violation iftargetLayer.mergeFrom()
is moved into it too. But I don't know if that would cause other trouble.
A patch would certainly be appreciated, even if you aren't 100% sure. You should test it and the person that applies the patch will also check if it looks alright.
Session file