diff options
author | 2011-11-10 18:53:46 +0000 | |
---|---|---|
committer | 2011-11-10 18:53:46 +0000 | |
commit | 9fa0ca7b7688583eed7ebb4973d7b462d4f0ca63 (patch) | |
tree | 906bf27af513d07802ecec03f72631c965558064 /native/src/proximity_info.cpp | |
parent | cdd232cb3e1cb00910b56e42fafd26063ea058dc (diff) | |
parent | 6d12dfd32dce6254e7a706bbb57e9e0c4044ce8c (diff) | |
download | latinime-9fa0ca7b7688583eed7ebb4973d7b462d4f0ca63.tar.gz latinime-9fa0ca7b7688583eed7ebb4973d7b462d4f0ca63.tar.xz latinime-9fa0ca7b7688583eed7ebb4973d7b462d4f0ca63.zip |
am 6d12dfd3: am 2549ce27: am df2fed2b: Merge "Fix a bug that would end up in memory corruption" into ics-mr0
* commit '6d12dfd32dce6254e7a706bbb57e9e0c4044ce8c':
Fix a bug that would end up in memory corruption
Diffstat (limited to 'native/src/proximity_info.cpp')
-rw-r--r-- | native/src/proximity_info.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/native/src/proximity_info.cpp b/native/src/proximity_info.cpp index 2f989e355..d6355883d 100644 --- a/native/src/proximity_info.cpp +++ b/native/src/proximity_info.cpp @@ -49,14 +49,17 @@ ProximityInfo::ProximityInfo(const int maxProximityCharsSize, const int keyboard && sweetSpotCenterYs && sweetSpotRadii), mInputXCoordinates(0), mInputYCoordinates(0), mTouchPositionCorrectionEnabled(false) { - const int len = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE; - mProximityCharsArray = new uint32_t[len]; - mNormalizedSquaredDistances = new int[len]; + const int proximityGridLength = GRID_WIDTH * GRID_HEIGHT * MAX_PROXIMITY_CHARS_SIZE; + mProximityCharsArray = new uint32_t[proximityGridLength]; 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])); - for (int i = 0; i < len; ++i) { + memcpy(mProximityCharsArray, proximityCharsArray, + 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; } |