Modify

Opened 5 years ago

Closed 5 years ago

Last modified 4 years ago

#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)

0005-Synchronized-access-to-MapView-layers.patch (29.2 KB) - added by michael2402 5 years ago.

Download all attachments as: .zip

Change History (9)

Changed 5 years ago by michael2402

comment:1 Changed 5 years ago by Don-vip

Keywords: gsoc added
Milestone: 15.07

comment:2 Changed 5 years ago by bastiK

Resolution: fixed
Status: newclosed

In 8551/josm:

applied #11631 new enhancement - Synchronized access to MapView#layers (patch by michael2402)

comment:3 Changed 5 years ago by bastiK

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:4 Changed 5 years ago by Don-vip

Milestone: 15.0715.08

Milestone renamed

comment:5 Changed 5 years ago by wiktorn

Resolution: fixed
Status: closedreopened

@michael2402

You need to verify changes in [8646], if they provide needed level of synchronization.

comment:6 Changed 5 years ago by michael2402

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 Changed 5 years ago by Don-vip

Resolution: fixed
Status: reopenedclosed

comment:8 Changed 4 years ago by Don-vip

In 8925/josm:

see #11631 - see #11689 - remove commented code causing javadoc warnings

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.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.