@@ -482,6 +482,7 @@ SignalGenerator::SignalGenerator(libm2k::context::M2k *m2k, QString uri, Filter
482
482
connect (ui->mathWidget , SIGNAL (functionValid (const QString &)), this , SLOT (setFunction (const QString &)));
483
483
484
484
connect (ui->run_button , SIGNAL (toggled (bool )), tme, SLOT (setRunning (bool )));
485
+ connect (ui->run_button , SIGNAL (toggled (bool )), this , SLOT (startStop (bool )));
485
486
connect (tme, SIGNAL (runToggled (bool )), ui->run_button , SLOT (toggle (bool )));
486
487
connect (tme, SIGNAL (runToggled (bool )), this , SLOT (startStop (bool )));
487
488
@@ -1308,8 +1309,8 @@ void SignalGenerator::loadFile()
1308
1309
1309
1310
void SignalGenerator::start ()
1310
1311
{
1311
- ui->run_button ->toggle (true );
1312
1312
m_running = true ;
1313
+ ui->run_button ->toggle (true );
1313
1314
1314
1315
/* Avoid from being started twice */
1315
1316
if (buffers.size () > 0 ) {
@@ -1390,9 +1391,9 @@ void SignalGenerator::run() { start(); }
1390
1391
void SignalGenerator::stop ()
1391
1392
{
1392
1393
try {
1394
+ m_running = false ;
1393
1395
ui->run_button ->toggle (false );
1394
1396
buffers.clear ();
1395
- m_running = false ;
1396
1397
m_m2k_analogout->stop ();
1397
1398
} catch (libm2k::m2k_exception &e) {
1398
1399
HANDLE_EXCEPTION (e);
@@ -1403,6 +1404,9 @@ void SignalGenerator::stop()
1403
1404
1404
1405
void SignalGenerator::startStop (bool pressed)
1405
1406
{
1407
+ if (m_running == pressed) {
1408
+ return ;
1409
+ }
1406
1410
if (pressed) {
1407
1411
start ();
1408
1412
} else {
0 commit comments