Fixed a crash when an image with an odd width/height was selected
Due to an internal rounding in the renderer, the calculations for the cropping area could be slightly offset, getting out of the image boundaries. I sanitized the rect by ensuring they are inside the image. Bug: 12174629 Change-Id: I5e08c83fe3e9cd48254fa6c8ba9cef77ab8a51a6
This commit is contained in:
@@ -366,6 +366,14 @@ public class WallpaperCropActivity extends Activity {
|
||||
getWindowManager());
|
||||
// Get the crop
|
||||
RectF cropRect = mCropView.getCrop();
|
||||
|
||||
// due to rounding errors in the cropview renderer the edges can be slightly offset
|
||||
// therefore we ensure that the boundaries are sanely defined
|
||||
cropRect.left = Math.max(0, cropRect.left);
|
||||
cropRect.right = Math.min(mCropView.getWidth(), cropRect.right);
|
||||
cropRect.top = Math.max(0, cropRect.top);
|
||||
cropRect.bottom = Math.min(mCropView.getHeight(), cropRect.bottom);
|
||||
|
||||
int cropRotation = mCropView.getImageRotation();
|
||||
float cropScale = mCropView.getWidth() / (float) cropRect.width();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user