Modify

Opened 21 months ago

Closed 20 months ago

Last modified 20 months ago

#23139 closed defect (othersoftware)

Right click (map move) + drag outside of the mapview (top, left, bottom) causes popup menus to appear

Reported by: b1tw153 Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report, macos, javabug Cc:

Description

What steps will reproduce the problem?

  1. Select a relatively long way with about 50 nodes and zoom in so that one node is on the screen at a time
  2. Switch to the Improve Way Accuracy mode (w key shortcut)
  3. Repeat the following process: left click to reposition the node or ctrl-click to place a new node, right click and drag to scroll to the next node or the next place to add a new node
  4. Eventually the cursor will get stuck in the "lock" mode after scrolling

What is the expected result?

After scrolling with right click and drag, the cursor should be a plain crosshairs and the nearest node in the way should be highlighted.

What happens instead?

Sometimes, the cursor gets stuck in the "lock" mode after scrolling with a right click and JOSM will not highlight the nearest node in the way.

Please provide any additional information below. Attach a screenshot if possible.

Note that the cursor switches to "lock" mode when clicking with either the left or right mouse button. That's correct for the left mouse button, but probably not useful when clicking with the right mouse button because right mouse clicks aren't used for editing the way.

Maybe the Improve Way Accuracy mode sometimes misses the right mouse up event? That wouldn't be a problem if right clicks didn't change the cursor mode.

Screenshot attached, but sadly the screen capture doesn't include the cursor.

Revision:18789
Build-Date:2023-08-01 13:08:53

Identification: JOSM/1.5 (18789 en) Mac OS X 13.4.1
OS Build number: macOS 13.4.1 (22F770820d)
Memory Usage: 1707 MB / 2048 MB (334 MB allocated, but free)
Java version: 17.0.8+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 188823026 2048×1152 (scaling 1.00×1.00)
Maximum Screen Size: 2048×1152
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=18789, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=/Applications/JOSM.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found

Plugins:
+ MapRoulette (21)
+ MicrosoftStreetside (36097)
+ apache-commons (36034)
+ apache-http (35924)
+ ejml (35924)
+ geotools (36068)
+ graphview (36079)
+ jackson (36034)
+ javafx (36086)
+ jaxb (35952)
+ jna (36005)
+ jts (36004)
+ log4j (36045)
+ mapwithai-dev (1.9.16-1-g89c7d89)
+ opendata (36097)
+ reverter (36066)
+ routing (36097)
+ turnlanes (36079)
+ utilsplugin2 (36097)
+ wikipedia (605)

Map paint styles:
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1
+ ${HOME}/Documents/JOSM/TIGER Cleanup.mapcss
+ ${HOME}/Documents/JOSM/Track Completeness.mapcss

Validator rules:
+ ${HOME}/Desktop/GNIS Fixup Validator.mapcss

Last errors/warnings:
- 04891.450 W: Failed to load Mappaint styles from '${HOME}/Desktop/TIGER Highway Cleanup.mapcss'. Exception was: java.nio.file.NoSuchFileException: ${HOME}/Desktop/TIGER Highway Cleanup.mapcss
- 04891.452 E: java.nio.file.NoSuchFileException: ${HOME}/Desktop/TIGER Highway Cleanup.mapcss
- 04899.044 W: Failed to load Mappaint styles from '${HOME}/Desktop/Track Completeness.mapcss'. Exception was: java.nio.file.NoSuchFileException: ${HOME}/Desktop/Track Completeness.mapcss
- 04899.044 E: java.nio.file.NoSuchFileException: ${HOME}/Desktop/Track Completeness.mapcss
- 04917.948 E: java.nio.file.NoSuchFileException: /Volumes/Personal/Documents/Jeeps/Maps and Routes/San Bernardino/BLM_CA_San_Bernardino_GTLF_Working.osm
- 04918.016 E: Error - <html>Could not read file 'BLM_CA_San_Bernardino_GTLF_Working.osm'.<br>Error is:<br>/Volumes/Personal/Documents/Jeeps/Maps and Routes/San Bernardino/BLM_CA_San_Bernardino_GTLF_Working.osm</html>
- 06279.690 W: Simplify ways? - The selection contains 13 ways. Are you sure you want to simplify them all?
- 08072.055 W: Simplify ways? - The selection contains 25 ways. Are you sure you want to simplify them all?
- 18004.245 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 24082.215 W: Deleted or moved objects - <html>There is 1 object in your local dataset which might be deleted on the server.<br>If you later try to delete or update this the server is likely to report a conflict.<br>Click <strong>Check on the server</strong> to check the state of this object on the server.<br>Click <strong>Ignore</strong> to ignore.</html>

Attachments (2)

Screenshot 2023-08-22 at 11.12.27 AM.png (2.1 MB ) - added by b1tw153 21 months ago.
Screenshot of JOSM Improve Way Accuracy stuck in "lock" mode after scrolling (cursor was not captured)
scratch_8.java (797 bytes ) - added by taylor.smock 20 months ago.
Minimal reproducer

Change History (13)

by b1tw153, 21 months ago

Screenshot of JOSM Improve Way Accuracy stuck in "lock" mode after scrolling (cursor was not captured)

comment:1 by taylor.smock, 20 months ago

When you say "lock" mode, I assume that you mean that the cursor has a source:trunk/resources/images/cursor/modifier/lock.svg next to the crosshairs. If that is wrong, let me know.

comment:2 by b1tw153, 20 months ago

Yes, "lock" mode means that the cursor has a source:trunk/resources/images/cursor/modifier/lock.svg next to the crosshairs.

To add to the steps to reproduce the issue, the problem seems to be repeatable if the mouse has moved to the edge of the JOSM window (possibly to the window border or beyond) while scrolling before the right mouse button is released.

comment:3 by taylor.smock, 20 months ago

That (unfortunately) isn't helping me reproduce. Do you have anything else which might help me reproduce?

I'm not certain why we are locking on drag -- that code is >10 years old and from the original plugin. I might try removing the drag checks, but if I cannot reproduce, I won't know (a) if I actually fixed it and (b) if I fixed it in the "right" manner.

comment:4 by b1tw153, 20 months ago

I can't get it to happen every time, but here are some steps that seem to make it happen every 5-10 tries or so.

  1. Resize the JOSM window so that it does not fill the screen
  2. Select a way and switch to Improve Way Accuracy
  3. Right click and drag to the edge of the screen
  4. Release the mouse button while the cursor is still at the edge of the screen
  5. Move the cursor back into the JOSM window
  6. Repeat steps 3 to 5 slowly and deliberately until the cursor gets stuck in "lock" mode

comment:5 by taylor.smock, 20 months ago

I'm still not able to reproduce.

OS Build number: macOS 13.4.1 (22F770820d)

I'm on macOS 13.5.0. I wonder if that is why I cannot reproduce.

Side note:

+ mapwithai-dev (1.9.16-1-g89c7d89)

I've discontinued the dev version of that plugin. You should probably install the mapwithai plugin instead.

comment:6 by taylor.smock, 20 months ago

I'm still not able to reproduce.

Never mind. I might have reproduced.

It seems to fix itself on the next right click, if it is the same problem.

EDIT: And yes, it does look like we are not getting the mouse released event. This is probably a Java problem.

Last edited 20 months ago by taylor.smock (previous) (diff)

comment:7 by taylor.smock, 20 months ago

OK. Steps to reproduce:

  1. Select a way and enter improve way mode
  2. Right-click and pan outside of the map area such that a menu popup appears
  3. Release the right mouse button when the mouse is inside the menu popup

Best solution:
Don't show a popup when the mouse crosses into the bars and the RMB is pressed.

comment:8 by taylor.smock, 20 months ago

Keywords: macos javabug added

I was unable to reproduce on Linux; I strongly suspect this is an issue with some platform specific code on Mac. I'll be putting together some code to send to the OpenJDK folks.

With that said, I don't anticipate that it will be fixed. The JDK maintainers don't seem to care about desktop anymore.

comment:9 by taylor.smock, 20 months ago

Resolution: othersoftware
Status: newclosed
Summary: "Lock" mode gets stuck while scrolling with the Improve Way Accuracy modeRight click (map move) + drag outside of the mapview (top, left, bottom) causes popup menus to appear

I've reported this upstream to the OpenJDK folks (internal review id: 9075880). Once they get back to me, I'll add a comment with a link to the actual upstream bug.

by taylor.smock, 20 months ago

Attachment: scratch_8.java added

Minimal reproducer

comment:10 by b1tw153, 20 months ago

Thanks for digging into it!

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.