[bug] invalidate() must be protected
[bug fix] LWP might crash when getWallpaperDesiredMinimumHeight returns <= 0