def canvasReleaseEvent(self, event): point = event.pos() - self.dragStart if not self.selectionActive or (point.manhattanLength() < QApplication.startDragDistance()): self.selectionActive = False self.selectFeatures(QgsGeometry.fromPointXY(self.toMapCoordinates(event.pos())), event.modifiers()) if self.rubberBand is not None and self.selectionActive: self.selectFeatures(self.rubberBand.asGeometry(), event.modifiers()) self.rubberBand.reset() self.selectionActive = False self.featuresSelected.emit()