From 942bc58518a82bc3dbeffe4d64f9a5d2d2d8cf43 Mon Sep 17 00:00:00 2001 From: Doris Liu Date: Mon, 1 Jun 2015 13:42:04 -0700 Subject: [PATCH] Fix calls to Rect.intersect(Rect) This CL checks for the return value for Rect.intersect(Rect) for whether there is actually an intersection before taking the calling rect as the intersection. In the case of no intersection (Rect.intersect(Rect) returns false), the calling rect would not have been changed, so here in this CL it will be manually set empty. Bug: 7368679 Change-Id: I7494c1a1649eca09e34412f0a59b795e8b3a82aa --- media/java/android/media/Image.java | 4 +++- .../server/accessibility/AccessibilityManagerService.java | 6 ++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/media/java/android/media/Image.java b/media/java/android/media/Image.java index e18e9a395b5a4..045216b8a7345 100644 --- a/media/java/android/media/Image.java +++ b/media/java/android/media/Image.java @@ -228,7 +228,9 @@ public abstract class Image implements AutoCloseable { if (cropRect != null) { cropRect = new Rect(cropRect); // make a copy - cropRect.intersect(0, 0, getWidth(), getHeight()); + if (!cropRect.intersect(0, 0, getWidth(), getHeight())) { + cropRect.setEmpty(); + } } mCropRect = cropRect; } diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 860939cef2ca2..d4c319443b061 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -3240,8 +3240,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { // Clip to the window bounds. Rect windowBounds = mTempRect1; getWindowBounds(focus.getWindowId(), windowBounds); - boundsInScreen.intersect(windowBounds); - if (boundsInScreen.isEmpty()) { + if (!boundsInScreen.intersect(windowBounds)) { return false; } @@ -3255,8 +3254,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { // Clip to the screen bounds. Point screenSize = mTempPoint; mDefaultDisplay.getRealSize(screenSize); - boundsInScreen.intersect(0, 0, screenSize.x, screenSize.y); - if (boundsInScreen.isEmpty()) { + if (!boundsInScreen.intersect(0, 0, screenSize.x, screenSize.y)) { return false; }