Fix extra call to region empty. Fix #1920

Fix extra call to region empty by unbinding from view 'destroy' before
destroying to view

Add test cases for region.empty only being called once