Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 36428eda authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix NativeThemeRebase null abort" into sc-dev am: 46bf419b

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14966540

Change-Id: Ifcb171004e36968272d66cbc8d609370b07d382d
parents 29c07ea9 46bf419b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -1282,6 +1282,8 @@ static void NativeThemeRebase(JNIEnv* env, jclass /*clazz*/, jlong ptr, jlong th
    if (style_id_args == nullptr) {
      return;
    }
  } else {
    CHECK(style_count == 0) << "style_ids is null while style_count is non-zero";
  }

  jboolean* force_args = nullptr;
@@ -1292,13 +1294,19 @@ static void NativeThemeRebase(JNIEnv* env, jclass /*clazz*/, jlong ptr, jlong th
      env->ReleasePrimitiveArrayCritical(style_ids, style_id_args, JNI_ABORT);
      return;
    }
  } else {
    CHECK(style_count == 0) << "force is null while style_count is non-zero";
  }

  auto theme = reinterpret_cast<Theme*>(theme_ptr);
  theme->Rebase(&(*assetmanager), style_id_args, force_args, static_cast<size_t>(style_count));
  if (style_ids != nullptr) {
    env->ReleasePrimitiveArrayCritical(style_ids, style_id_args, JNI_ABORT);
  }
  if (force != nullptr) {
    env->ReleasePrimitiveArrayCritical(force, force_args, JNI_ABORT);
  }
}

static void NativeThemeCopy(JNIEnv* env, jclass /*clazz*/, jlong dst_asset_manager_ptr,
                            jlong dst_theme_ptr, jlong src_asset_manager_ptr, jlong src_theme_ptr) {