Browse Source

Fix possible feedback loop in new knob code

Fixes #553
tags/1.9.8
falkTX 8 years ago
parent
commit
30e3d829e2
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      source/widgets/pixmapdial.py

+ 4
- 3
source/widgets/pixmapdial.py View File

@@ -237,7 +237,7 @@ class PixmapDial(QDial):
def setMaximum(self, value):
self.fMaximum = value

def setValue(self, value):
def setValue(self, value, emitSignal=False):
if self.fRealValue == value:
return

@@ -258,7 +258,8 @@ class PixmapDial(QDial):
QDial.setValue(self, qtValue)
self.blockSignals(False)

self.realValueChanged.emit(self.fRealValue)
if emitSignal:
self.realValueChanged.emit(self.fRealValue)

@pyqtSlot(int)
def slot_valueChanged(self, value):
@@ -315,7 +316,7 @@ class PixmapDial(QDial):
dx = range * float(pos.x() - self.fLastDragPos.x()) / self.width()
dy = range * float(pos.y() - self.fLastDragPos.y()) / self.height()

self.setValue(self.fLastDragValue + dx - dy)
self.setValue(self.fLastDragValue + dx - dy, True)

def mouseReleaseEvent(self, event):
if self.fDialMode == self.MODE_DEFAULT:


Loading…
Cancel
Save