fix deadlock: do not lock Viewport while calling MapAnimator
"GLThread 4500" prio=5 tid=11 MONITOR
at org.oscim.map.MapAnimator.updateAnimation(MapAnimator.java:~186)
- waiting to lock <0x42105030> (a org.oscim.map.MapAnimator) held by tid=1 (main)
"main" prio=5 tid=1 MONITOR
at org.oscim.map.Viewport.getMapPosition(Viewport.java:~111)
- waiting to lock <0x42103368> (a org.oscim.map.Viewport) held by tid=11 (GLThread 4500)
at org.oscim.map.MapAnimator.animateFling(MapAnimator.java:151)
This commit is contained in:
parent
d85782b055
commit
67edb98d12
@ -230,15 +230,13 @@ public class MapRenderer {
|
||||
GLState.bindTex2D(-1);
|
||||
GLState.useProgram(-1);
|
||||
|
||||
boolean changed = false;
|
||||
mMap.getAnimator().updateAnimation();
|
||||
|
||||
MapPosition pos = mMapPosition;
|
||||
|
||||
Viewport viewport = mMap.getViewport();
|
||||
boolean changed = false;
|
||||
|
||||
synchronized (viewport) {
|
||||
mMap.getAnimator().updateAnimation();
|
||||
|
||||
// get current MapPosition
|
||||
changed = viewport.getMapPosition(pos);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user