Skip to content

Commit

Permalink
Pass sender during sACNEffectEngine constructor
Browse files Browse the repository at this point in the history
Resolve crash from docsteer#154
  • Loading branch information
marcusbirkin committed Nov 20, 2018
1 parent bfc9cb3 commit 270d764
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 12 deletions.
2 changes: 1 addition & 1 deletion src/multiuniverse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ void MultiUniverse::addSource(int universe, int min_address, int max_address,
m_senders.last()->setPerSourcePriority(priority);
connect(m_senders.last().data(), SIGNAL(sendingTimeout()), m_timeoutMapper, SLOT(map()));
m_timeoutMapper->setMapping(m_senders.last().data(), row);
m_fxEngines.append(new sACNEffectEngine());
m_fxEngines.append(new sACNEffectEngine(m_senders.last()));
connect(m_fxEngines.last(), &sACNEffectEngine::destroyed, [this](QObject *obj)
{ this->m_fxEngines.removeAll(static_cast<sACNEffectEngine*>(obj)); }); // Remove fxEngine from List when destroyed
m_fxEngines.last()->setEndAddress(max_address-1);
Expand Down
9 changes: 2 additions & 7 deletions src/sacn/sacneffectengine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ void GetCharacterCoord(unsigned char ch, int *x, int *y)
*x = ch % 32;
}

sACNEffectEngine::sACNEffectEngine() : QObject(NULL),
m_sender(Q_NULLPTR),
sACNEffectEngine::sACNEffectEngine(sACNManager::tSender sender) : QObject(NULL),
m_sender(sender.data()),
m_mode(FxManual),
m_dateStyle(dsEU),
m_start(0),
Expand Down Expand Up @@ -61,11 +61,6 @@ sACNEffectEngine::~sACNEffectEngine()
m_thread->quit();
}

void sACNEffectEngine::setSender(sACNSentUniverse *sender)
{
m_sender = sender;
}

void sACNEffectEngine::setMode(sACNEffectEngine::FxMode mode)
{
if(QThread::currentThread()!=this->thread())
Expand Down
4 changes: 2 additions & 2 deletions src/sacn/sacneffectengine.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,9 +58,9 @@ class sACNEffectEngine : public QObject
return QStringList(ret);
}

explicit sACNEffectEngine();
explicit sACNEffectEngine(sACNManager::tSender sender);
virtual ~sACNEffectEngine();
void setSender(sACNSentUniverse *sender);
//void setSender(sACNSentUniverse *sender);
QString text() { return m_text;}
sACNEffectEngine::FxMode mode() { return m_mode;}
qreal rate() { return m_rate;}
Expand Down
3 changes: 1 addition & 2 deletions src/transmitwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -355,12 +355,11 @@ void transmitwindow::on_btnStart_pressed()
m_sender->setLevel(i, m_levels[i]);
if(!m_fxEngine)
{
m_fxEngine = new sACNEffectEngine();
m_fxEngine = new sACNEffectEngine(m_sender);
connect(m_fxEngine, SIGNAL(fxLevelChange(int)), ui->slFadeLevel, SLOT(setValue(int)));
connect(m_fxEngine, SIGNAL(textImageChanged(QPixmap)), ui->lblTextImage, SLOT(setPixmap(QPixmap)));
m_fxEngine->setRange(ui->sbFadeRangeStart->value()-1, ui->sbFadeRangeEnd->value()-1);
}
m_fxEngine->setSender(m_sender.data());
}
}

Expand Down

0 comments on commit 270d764

Please sign in to comment.