summaryrefslogtreecommitdiffhomepage
path: root/logic/runtime-libraries.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'logic/runtime-libraries.cpp')
-rw-r--r--logic/runtime-libraries.cpp33
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);
}