Dump stack trace on crash (Implement #849) (#870)

* Print stack trace on crash

* Printing stack trace is fully functional except for WIN32

* Minor fixes

* Minor fixes
This commit is contained in:
Murat Seker
2020-07-12 18:27:24 +02:00
committed by GitHub
parent 9c5e5cac24
commit 3b48d8c9d6
22 changed files with 239 additions and 88 deletions

View File

@@ -141,9 +141,8 @@ void Hyperion::start()
_boblightServer = new BoblightServer(this, getSetting(settings::BOBLSERVER));
connect(this, &Hyperion::settingsChanged, _boblightServer, &BoblightServer::handleSettingsUpdate);
// instance inited
// instance inited, enter thread event loop
emit started();
// enter thread event loop
}
void Hyperion::stop()
@@ -380,18 +379,8 @@ void Hyperion::setColor(const int priority, const std::vector<ColorRgb> &ledColo
_effectEngine->channelCleared(priority);
// create full led vector from single/multiple colors
size_t size = _ledString.leds().size();
std::vector<ColorRgb> newLedColors;
while (true)
{
for (const auto &entry : ledColors)
{
newLedColors.emplace_back(entry);
if (newLedColors.size() == size)
goto end;
}
}
end:
std::copy_n(ledColors.begin(), _ledString.leds().size(), std::back_inserter(newLedColors));
if (getPriorityInfo(priority).componentId != hyperion::COMP_COLOR)
clear(priority);