#11631 closed enhancement (fixed)
[Patch] Synchronized access to MapView#layers
Reported by: | michael2402 | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | 15.08 |
Component: | Core | Version: | |
Keywords: | gsoc | Cc: |
Description
The OpenGL plugin should support asynchronous layer drawing (not in sync with the AWT threads). Currently, the layers are not synchronized anywhere, but this is required for the plugin.
Attachments (1)
Change History (9)
by , 10 years ago
Attachment: | 0005-Synchronized-access-to-MapView-layers.patch added |
---|
comment:1 by , 10 years ago
Keywords: | gsoc added |
---|---|
Milestone: | → 15.07 |
comment:2 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:3 by , 10 years ago
Great work!
- in
moveLayer
, there was an unused variable (oldEditLayer
) - I've not applied the changes to
getVisibleLayersInZOrder
: The idea is to move the active data layer on top of any number of (inactive) data layers that come directly above. (Not sure if the current code does that, but anyway...)
comment:5 by , 10 years ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
@michael2402
You need to verify changes in [8646], if they provide needed level of synchronization.
comment:6 by , 10 years ago
For me, they provide enough synchronisation. This should at least solve the issues I got (ConcurrentModificationException, ...).
I am not sure about plugins. Especially calling layer.destroy(); before fireLayerRemoved(layer); seems to be unsafe.
I think we could move this whole block out of the synchronized statement:
layer.removePropertyChangeListener(this); layer.destroy(); AudioPlayer.reset();
comment:7 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
In 8551/josm: