Bug 823369 Check mozilla::widget::EventFlags size at compile time r=smaug

This commit is contained in:
Masayuki Nakano 2012-12-22 00:07:08 +09:00
Родитель e6f9ea6e63
Коммит fd91ff3ee9
1 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -564,13 +564,17 @@ public:
}
private:
inline void SetRawFlags(uint32_t aRawFlags)
typedef uint32_t RawFlags;
inline void SetRawFlags(RawFlags aRawFlags)
{
MOZ_STATIC_ASSERT(sizeof(EventFlags) <= sizeof(RawFlags),
"mozilla::widget::EventFlags must not be bigger than the RawFlags");
memcpy(this, &aRawFlags, sizeof(EventFlags));
}
inline uint32_t GetRawFlags() const
inline RawFlags GetRawFlags() const
{
uint32_t result = 0;
RawFlags result = 0;
memcpy(&result, this, sizeof(EventFlags));
return result;
}