issue #4636. fix ButtonReader
issue #4636. fixed WidgetReader error
issue #4636. refactor ButtonReader