From 459482b52be09d1b9e2e30a2da075fdcf5e15e05 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 10 Jul 2017 11:22:04 +0200 Subject: [PATCH] Fix crash due to recycled bitmap when edited bitmap returned is the same as source... --- src/android/org/linphone/ChatFragment.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/android/org/linphone/ChatFragment.java b/src/android/org/linphone/ChatFragment.java index 2dfcee169..b534e8f3d 100644 --- a/src/android/org/linphone/ChatFragment.java +++ b/src/android/org/linphone/ChatFragment.java @@ -913,8 +913,12 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC } if (bm_tmp != null) { - bm.recycle(); - bm = bm_tmp; + if (bm_tmp != bm) { + bm.recycle(); + bm = bm_tmp; + } else { + bm_tmp = null; + } } ByteArrayOutputStream stream = new ByteArrayOutputStream(); @@ -1545,8 +1549,12 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC matrix.postRotate(270); } bm_tmp = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true); - bm.recycle(); - bm = bm_tmp; + if (bm_tmp != bm) { + bm.recycle(); + bm = bm_tmp; + } else { + bm_tmp = null; + } } catch (Exception e) { Log.e(e); }