Prevent updating ViewBox matrix in setRange when no changes have been made to range
This commit is contained in:
parent
ee89b291dc
commit
5bb5c7487c
|
@ -87,6 +87,7 @@ class ViewBox(GraphicsWidget):
|
||||||
self.addedItems = []
|
self.addedItems = []
|
||||||
#self.gView = view
|
#self.gView = view
|
||||||
#self.showGrid = showGrid
|
#self.showGrid = showGrid
|
||||||
|
self.matrixNeedsUpdate = True ## indicates that range has changed, but matrix update was deferred
|
||||||
|
|
||||||
self.state = {
|
self.state = {
|
||||||
|
|
||||||
|
@ -406,8 +407,11 @@ class ViewBox(GraphicsWidget):
|
||||||
|
|
||||||
self.sigStateChanged.emit(self)
|
self.sigStateChanged.emit(self)
|
||||||
|
|
||||||
if update:
|
if update and (any(changed) or self.matrixNeedsUpdate):
|
||||||
self.updateMatrix(changed)
|
self.updateMatrix(changed)
|
||||||
|
|
||||||
|
if not update and any(changed):
|
||||||
|
self.matrixNeedsUpdate = True
|
||||||
|
|
||||||
for ax, range in changes.items():
|
for ax, range in changes.items():
|
||||||
link = self.linkedView(ax)
|
link = self.linkedView(ax)
|
||||||
|
@ -1246,6 +1250,7 @@ class ViewBox(GraphicsWidget):
|
||||||
self.sigRangeChanged.emit(self, self.state['viewRange'])
|
self.sigRangeChanged.emit(self, self.state['viewRange'])
|
||||||
|
|
||||||
self.sigTransformChanged.emit(self) ## segfaults here: 1
|
self.sigTransformChanged.emit(self) ## segfaults here: 1
|
||||||
|
self.matrixNeedsUpdate = False
|
||||||
|
|
||||||
def paint(self, p, opt, widget):
|
def paint(self, p, opt, widget):
|
||||||
if self.border is not None:
|
if self.border is not None:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user