Update refreshes using QgsVectorMarker.updateCanvas() instead of mapCanvas().refresh()