diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-03-25 11:58:46 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@android.com> | 2011-05-24 15:21:46 -0700 |
commit | 22d789d580a4ab5bed83c0ed698d2f5bc721e176 (patch) | |
tree | 9d848a0918aa939b457a6fa92bedf43612a50cba /services/input | |
parent | dbf8d27f4c32e20e132e90ad713c6ebaf71d7756 (diff) | |
download | frameworks_base-22d789d580a4ab5bed83c0ed698d2f5bc721e176.zip frameworks_base-22d789d580a4ab5bed83c0ed698d2f5bc721e176.tar.gz frameworks_base-22d789d580a4ab5bed83c0ed698d2f5bc721e176.tar.bz2 |
Fix focused application handle. (DO NOT MERGE)
Fix a bug where we were always setting the focused application
handle to NULL. This broke ANR processing while starting
applications and caused input events to be dropped while
starting applications.
Bug: 4174573
Change-Id: Ice7ce3a2b65219568a8227fc1383bafb294666b5
Diffstat (limited to 'services/input')
-rw-r--r-- | services/input/InputDispatcher.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/services/input/InputDispatcher.cpp b/services/input/InputDispatcher.cpp index ce8f076..b67929a 100644 --- a/services/input/InputDispatcher.cpp +++ b/services/input/InputDispatcher.cpp @@ -1198,7 +1198,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, mTempTouchState.copyFrom(mTouchState); } if (wrongDevice) { -#if DEBUG_INPUT_DISPATCHER_POLICY +#if DEBUG_FOCUS LOGD("Dropping event because a pointer for a different device is already down."); #endif injectionResult = INPUT_EVENT_INJECTION_FAILED; @@ -1318,7 +1318,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, // If the pointer is not currently down, then ignore the event. if (! mTempTouchState.down) { -#if DEBUG_INPUT_DISPATCHER_POLICY +#if DEBUG_FOCUS LOGD("Dropping event because the pointer is not down or we previously " "dropped the pointer down event."); #endif @@ -1343,7 +1343,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, } } if (! haveForegroundWindow) { -#if DEBUG_INPUT_DISPATCHER_POLICY +#if DEBUG_FOCUS LOGD("Dropping event because there is no touched foreground window to receive it."); #endif injectionResult = INPUT_EVENT_INJECTION_FAILED; @@ -1360,7 +1360,7 @@ int32_t InputDispatcher::findTouchedWindowTargetsLocked(nsecs_t currentTime, if (touchedWindow.targetFlags & InputTarget::FLAG_FOREGROUND) { // If the touched window is paused then keep waiting. if (touchedWindow.window->paused) { -#if DEBUG_INPUT_DISPATCHER_POLICY +#if DEBUG_FOCUS LOGD("Waiting because touched window is paused."); #endif injectionResult = handleTargetsNotReadyLocked(currentTime, entry, |