]> git.sesse.net Git - vlc/commitdiff
Fixed potential infinite loop between input/qt4 regarding input speed.
authorLaurent Aimar <fenrir@videolan.org>
Fri, 26 Mar 2010 00:15:03 +0000 (01:15 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Fri, 26 Mar 2010 00:46:51 +0000 (01:46 +0100)
and fixes for sure duplicated input speed settings done by qt4 when
changing rate.

modules/gui/qt4/components/interface_widgets.cpp
modules/gui/qt4/components/interface_widgets.hpp

index 756630b603d228be8c08884d60edf26c75eec159..ec5f29e9c24e851446ae03769c3eb4a78215496d 100644 (file)
@@ -503,6 +503,8 @@ SpeedControlWidget::SpeedControlWidget( intf_thread_t *_p_i, QWidget *_parent )
     speedControlLayout->addWidget( speedSlider );
     speedControlLayout->addWidget( normalSpeedButton );
 
+    lastValue = 0;
+
     activateOnState();
 }
 
@@ -530,12 +532,16 @@ void SpeedControlWidget::updateControls( float rate )
     {
         sliderValue = speedSlider->maximum();
     }
+    lastValue = sliderValue;
 
     speedSlider->setValue( sliderValue );
 }
 
 void SpeedControlWidget::updateRate( int sliderValue )
 {
+    if( sliderValue == lastValue )
+        return;
+
     double speed = pow( 2, (double)sliderValue / 17 );
     int rate = INPUT_RATE_DEFAULT / speed;
 
index 58c23f1c1a1d3a6c8c405c89ea6cc1397c5128d7..9f46f10f58f82d69cff2355b5aca5652f66f7e11 100644 (file)
@@ -189,6 +189,7 @@ public:
 private:
     intf_thread_t *p_intf;
     QSlider *speedSlider;
+    int lastValue;
 
 public slots:
     void activateOnState();