restore viewport even if js_viewport is empty -- fixes bug where viewport set to null then an object is not reset to null after