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:
|
if int(ev.buttons() & btn) == 0:
|
||||||
continue
|
continue
|
||||||
if int(btn) not in self.dragButtons: ## see if we've dragged far enough yet
|
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]
|
cev = [e for e in self.clickEvents if int(e.button()) == int(btn)]
|
||||||
dist = Point(ev.scenePos() - cev.scenePos()).length()
|
if cev:
|
||||||
if dist == 0 or (dist < self._moveDistance and now - cev.time() < self.minDragTime):
|
cev = cev[0]
|
||||||
continue
|
dist = Point(ev.scenePos() - cev.scenePos()).length()
|
||||||
init = init or (len(self.dragButtons) == 0) ## If this is the first button to be dragged, then init=True
|
if dist == 0 or (dist < self._moveDistance and now - cev.time() < self.minDragTime):
|
||||||
self.dragButtons.append(int(btn))
|
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 we have dragged buttons, deliver a drag event
|
||||||
if len(self.dragButtons) > 0:
|
if len(self.dragButtons) > 0:
|
||||||
@ -208,10 +210,11 @@ class GraphicsScene(QtGui.QGraphicsScene):
|
|||||||
self.dragButtons.remove(ev.button())
|
self.dragButtons.remove(ev.button())
|
||||||
else:
|
else:
|
||||||
cev = [e for e in self.clickEvents if int(e.button()) == int(ev.button())]
|
cev = [e for e in self.clickEvents if int(e.button()) == int(ev.button())]
|
||||||
if self.sendClickEvent(cev[0]):
|
if cev:
|
||||||
#print "sent click event"
|
if self.sendClickEvent(cev[0]):
|
||||||
ev.accept()
|
#print "sent click event"
|
||||||
self.clickEvents.remove(cev[0])
|
ev.accept()
|
||||||
|
self.clickEvents.remove(cev[0])
|
||||||
|
|
||||||
if int(ev.buttons()) == 0:
|
if int(ev.buttons()) == 0:
|
||||||
self.dragItem = None
|
self.dragItem = None
|
||||||
|
Loading…
Reference in New Issue
Block a user