diff options
Diffstat (limited to 'logic/runtime-libraries.cpp')
| -rw-r--r-- | logic/runtime-libraries.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/logic/runtime-libraries.cpp b/logic/runtime-libraries.cpp index d05e90c2..754f52cd 100644 --- a/logic/runtime-libraries.cpp +++ b/logic/runtime-libraries.cpp @@ -3,10 +3,16 @@ #include <QMessageBox> #include <QDebug> +#ifdef __clang__ +# pragma clang diagnostic ignored "-Wcomma" +#endif + runtime_libraries::runtime_libraries(QFrame* frame, dylibptr t, dylibptr p, dylibptr f) { + auto error = [](const QString& msg) { return module_status_mixin::error(msg); }; + module_status status = - module_status_mixin::error(otr_tr("Library load failure")); + error(tr("Library load failure")); using namespace options; @@ -15,12 +21,15 @@ runtime_libraries::runtime_libraries(QFrame* frame, dylibptr t, dylibptr p, dyli pProtocol = make_dylib_instance<IProtocol>(p); if (!pProtocol) + { + qDebug() << "protocol dylib load failure"; goto end; + } if(status = pProtocol->initialize(), !status.is_ok()) { - status = _("Error occurred while loading protocol %1\n\n%2\n") - .arg(p->name).arg(status.error); + status = error(tr("Error occurred while loading protocol %1\n\n%2\n") + .arg(p->name, status.error)); goto end; } @@ -33,18 +42,24 @@ runtime_libraries::runtime_libraries(QFrame* frame, dylibptr t, dylibptr p, dyli goto end; } + if (f && f->Constructor && !pFilter) + { + qDebug() << "filter load failure"; + goto end; + } + if (pFilter) if(status = pFilter->initialize(), !status.is_ok()) { - status = _("Error occurred while loading filter %1\n\n%2\n") - .arg(f->name).arg(status.error); + status = error(tr("Error occurred while loading filter %1\n\n%2\n") + .arg(f->name, status.error)); goto end; } if (status = pTracker->start_tracker(frame), !status.is_ok()) { - status = _("Error occurred while loading tracker %1\n\n%2\n") - .arg(t->name).arg(status.error); + status = error(tr("Error occurred while loading tracker %1\n\n%2\n") + .arg(t->name, status.error)); goto end; } @@ -57,6 +72,8 @@ end: pProtocol = nullptr; if (!status.is_ok()) - QMessageBox::critical(nullptr, "Startup failure", status.error, QMessageBox::Cancel, QMessageBox::NoButton); + QMessageBox::critical(nullptr, + tr("Startup failure"), status.error, + QMessageBox::Cancel, QMessageBox::NoButton); } |
