Merge pull request #1556 from Kangz/msvc

Fix MSVC warning C4065: 'default' but no 'case' labels