From be57aa1a0024edefab000da5f941ed35b66249d0 Mon Sep 17 00:00:00 2001 From: Dmitry Yunitsky Date: Wed, 23 Dec 2015 19:31:05 +0300 Subject: [PATCH] [android] Fixed possible crash with uninitialized Drape engine. --- android/src/com/mapswithme/maps/MapFragment.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/android/src/com/mapswithme/maps/MapFragment.java b/android/src/com/mapswithme/maps/MapFragment.java index bc78792e28..3b29bc974b 100644 --- a/android/src/com/mapswithme/maps/MapFragment.java +++ b/android/src/com/mapswithme/maps/MapFragment.java @@ -94,7 +94,7 @@ public class MapFragment extends BaseMwmFragment UiUtils.dimen(R.dimen.margin_compass_left) + offsetX, mHeight - UiUtils.dimen(R.dimen.margin_compass_bottom) + offsetY, ANCHOR_CENTER); - if (forceRedraw) + if (forceRedraw && mEngineCreated) nativeApplyWidgets(); } @@ -104,7 +104,7 @@ public class MapFragment extends BaseMwmFragment mWidth - UiUtils.dimen(R.dimen.margin_ruler_right) + offsetX, mHeight - UiUtils.dimen(R.dimen.margin_ruler_bottom) + offsetY, ANCHOR_RIGHT_BOTTOM); - if (forceRedraw) + if (forceRedraw && mEngineCreated) nativeApplyWidgets(); } @@ -149,11 +149,14 @@ public class MapFragment extends BaseMwmFragment getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics); final float exactDensityDpi = metrics.densityDpi; - mEngineCreated = nativeCreateEngine(surface, (int)exactDensityDpi); - if (mEngineCreated) - onRenderingInitialized(); - else + mEngineCreated = nativeCreateEngine(surface, (int) exactDensityDpi); + if (!mEngineCreated) + { reportUnsupported(); + return; + } + + onRenderingInitialized(); } @Override