am 2549ce27: am df2fed2b: Merge "Fix a bug that would end up in memory corruption" into ics-mr0

* commit '2549ce275a272d552c28121ea58742e54b640e54':
  Fix a bug that would end up in memory corruption
This commit is contained in:
Ken Wakasa 2011-11-10 04:55:33 +00:00 committed by Android Git Automerger
commit f64b105221

View file

@ -49,14 +49,17 @@ ProximityInfo::ProximityInfo(const int maxProximityCharsSize, const int keyboard
&& sweetSpotCenterYs && sweetSpotRadii), && sweetSpotCenterYs && sweetSpotRadii),
mInputXCoordinates(NULL), mInputYCoordinates(NULL), mInputXCoordinates(NULL), mInputYCoordinates(NULL),
mTouchPositionCorrectionEnabled(false) { mTouchPositionCorrectionEnabled(false) {
const int len = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE; const int proximityGridLength = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE;
mProximityCharsArray = new uint32_t[len]; mProximityCharsArray = new uint32_t[proximityGridLength];
mNormalizedSquaredDistances = new int[len];
if (DEBUG_PROXIMITY_INFO) { if (DEBUG_PROXIMITY_INFO) {
LOGI("Create proximity info array %d", len); LOGI("Create proximity info array %d", proximityGridLength);
} }
memcpy(mProximityCharsArray, proximityCharsArray, len * sizeof(mProximityCharsArray[0])); memcpy(mProximityCharsArray, proximityCharsArray,
for (int i = 0; i < len; ++i) { proximityGridLength * sizeof(mProximityCharsArray[0]));
const int normalizedSquaredDistancesLength =
MAX_PROXIMITY_CHARS_SIZE * MAX_WORD_LENGTH_INTERNAL;
mNormalizedSquaredDistances = new int[normalizedSquaredDistancesLength];
for (int i = 0; i < normalizedSquaredDistancesLength; ++i) {
mNormalizedSquaredDistances[i] = NOT_A_DISTANCE; mNormalizedSquaredDistances[i] = NOT_A_DISTANCE;
} }