diff options
| author | 2015-03-23 13:46:14 -0700 | |
|---|---|---|
| committer | 2015-04-15 13:04:15 -0700 | |
| commit | 6fbefbbd8edc9953041289fbd77bb18c4964dce5 (patch) | |
| tree | e8a0451bbe1f7ee62a15d5ff910dca7dcd59b090 /libs/ui/Fence.cpp | |
| parent | a894d082cfee8d12ee5913163a34ec5dc521d005 (diff) | |
libui: Clean up Fence and Region flattening
Fence was flattening incorrectly, causing issues with any fields
flattened after it, and Region was relying on being the last object
flattened. This change addresses both.
Change-Id: If49de061de6e2f11f4d846b4d8c18627dfb7e109
Diffstat (limited to 'libs/ui/Fence.cpp')
| -rw-r--r-- | libs/ui/Fence.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/ui/Fence.cpp b/libs/ui/Fence.cpp index 9cf2881787..bf24ffb7e0 100644 --- a/libs/ui/Fence.cpp +++ b/libs/ui/Fence.cpp @@ -130,7 +130,7 @@ nsecs_t Fence::getSignalTime() const { } size_t Fence::getFlattenedSize() const { - return 1; + return 4; } size_t Fence::getFdCount() const { @@ -141,7 +141,9 @@ status_t Fence::flatten(void*& buffer, size_t& size, int*& fds, size_t& count) c if (size < getFlattenedSize() || count < getFdCount()) { return NO_MEMORY; } - FlattenableUtils::write(buffer, size, getFdCount()); + // Cast to uint32_t since the size of a size_t can vary between 32- and + // 64-bit processes + FlattenableUtils::write(buffer, size, static_cast<uint32_t>(getFdCount())); if (isValid()) { *fds++ = mFenceFd; count--; |