From 0a19d001c4ffbeec7e4e23b7640fff6bd7f11bc7 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Tue, 9 Oct 2012 14:47:05 -0700 Subject: Fix a segfault when there is no power module. This can happen in the emulator. Bug: 7315152 Change-Id: I4a3f547127419fcd4dc4fc1c6f7ee869706cf12e --- .../jni/com_android_server_power_PowerManagerService.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/services/jni/com_android_server_power_PowerManagerService.cpp b/services/jni/com_android_server_power_PowerManagerService.cpp index 75f77b9535a5..23c33af2b6a7 100644 --- a/services/jni/com_android_server_power_PowerManagerService.cpp +++ b/services/jni/com_android_server_power_PowerManagerService.cpp @@ -168,12 +168,14 @@ static void nativeReleaseSuspendBlocker(JNIEnv *env, jclass clazz, jstring nameS } static void nativeSetInteractive(JNIEnv *env, jclass clazz, jboolean enable) { - if (enable) { - ALOGD_IF_SLOW(20, "Excessive delay in setInteractive(true) while turning screen on"); - gPowerModule->setInteractive(gPowerModule, true); - } else { - ALOGD_IF_SLOW(20, "Excessive delay in setInteractive(false) while turning screen off"); - gPowerModule->setInteractive(gPowerModule, false); + if (gPowerModule) { + if (enable) { + ALOGD_IF_SLOW(20, "Excessive delay in setInteractive(true) while turning screen on"); + gPowerModule->setInteractive(gPowerModule, true); + } else { + ALOGD_IF_SLOW(20, "Excessive delay in setInteractive(false) while turning screen off"); + gPowerModule->setInteractive(gPowerModule, false); + } } } -- cgit v1.2.3-59-g8ed1b