sync from osx branch [skip ci]