Bug-org 823369 mozilla::widget::EventFlags assumes its size is less than uint32_t
 初回投稿日時: 2013-01-02 09:42:11
カテゴリ: Mozilla Core Mozilla20 バグ修正 
SNS: 
	Tweet (list)
	
EventFlagsをboolのbit fieldとして作成しましたが、速度やメンテナンス製を考慮して、内部ではuint32_tとしてmemcpy()を利用したりしています。メンバが増えていくと、そのうちにuint32_tではサイズが足りなくなる可能性があり、問題になる可能性があります。
えむけいさんに教えて頂いた、MOZ_SATATIC_ASSERT()でビルド時にサイズ確認を行うようにし、typedef uint32_t EventFlags::RawFlagsと定義することで、サイズ変更の際には1行変更するだけでメンテナンスできるように修正しています。