Update GraphicsScene.py (#599)
In lines 174 and 191 cev[0] is being accessed when cev is an empty list. I get this error when inheriting from GraphicsLayoutWidget and overloading mouseDoubleClickEvent.
This commit is contained in:
parent
bbc11b96a9
commit
e3884ebd20
@ -183,12 +183,14 @@ class GraphicsScene(QtGui.QGraphicsScene):
|
||||
if int(ev.buttons() & btn) == 0:
|
||||
continue
|
||||
if int(btn) not in self.dragButtons: ## see if we've dragged far enough yet
|
||||
cev = [e for e in self.clickEvents if int(e.button()) == int(btn)][0]
|
||||
dist = Point(ev.scenePos() - cev.scenePos()).length()
|
||||
if dist == 0 or (dist < self._moveDistance and now - cev.time() < self.minDragTime):
|
||||
continue
|
||||
init = init or (len(self.dragButtons) == 0) ## If this is the first button to be dragged, then init=True
|
||||
self.dragButtons.append(int(btn))
|
||||
cev = [e for e in self.clickEvents if int(e.button()) == int(btn)]
|
||||
if cev:
|
||||
cev = cev[0]
|
||||
dist = Point(ev.scenePos() - cev.scenePos()).length()
|
||||
if dist == 0 or (dist < self._moveDistance and now - cev.time() < self.minDragTime):
|
||||
continue
|
||||
init = init or (len(self.dragButtons) == 0) ## If this is the first button to be dragged, then init=True
|
||||
self.dragButtons.append(int(btn))
|
||||
|
||||
## If we have dragged buttons, deliver a drag event
|
||||
if len(self.dragButtons) > 0:
|
||||
@ -208,10 +210,11 @@ class GraphicsScene(QtGui.QGraphicsScene):
|
||||
self.dragButtons.remove(ev.button())
|
||||
else:
|
||||
cev = [e for e in self.clickEvents if int(e.button()) == int(ev.button())]
|
||||
if self.sendClickEvent(cev[0]):
|
||||
#print "sent click event"
|
||||
ev.accept()
|
||||
self.clickEvents.remove(cev[0])
|
||||
if cev:
|
||||
if self.sendClickEvent(cev[0]):
|
||||
#print "sent click event"
|
||||
ev.accept()
|
||||
self.clickEvents.remove(cev[0])
|
||||
|
||||
if int(ev.buttons()) == 0:
|
||||
self.dragItem = None
|
||||
|
Loading…
Reference in New Issue
Block a user