From 6fbefbbd8edc9953041289fbd77bb18c4964dce5 Mon Sep 17 00:00:00 2001 From: Dan Stoza Date: Mon, 23 Mar 2015 13:46:14 -0700 Subject: 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 --- libs/ui/Fence.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'libs/ui/Fence.cpp') 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(getFdCount())); if (isValid()) { *fds++ = mFenceFd; count--; -- cgit v1.2.3-59-g8ed1b