fix: 修复 Linux 的崩溃报告使用;
This commit is contained in:
parent
6581349950
commit
55ae07fd58
|
@ -296,59 +296,60 @@
|
|||
<context>
|
||||
<name>TestPlugin</name>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="199"/>
|
||||
<location filename="../testplugin.cpp" line="208"/>
|
||||
<source>Test</source>
|
||||
<translation>测试</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="211"/>
|
||||
<location filename="../testplugin.cpp" line="220"/>
|
||||
<location filename="../testplugin.cpp" line="225"/>
|
||||
<location filename="../testplugin.cpp" line="306"/>
|
||||
<location filename="../testplugin.cpp" line="229"/>
|
||||
<location filename="../testplugin.cpp" line="234"/>
|
||||
<location filename="../testplugin.cpp" line="315"/>
|
||||
<source>TestPlugin</source>
|
||||
<translation>测试插件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="229"/>
|
||||
<location filename="../testplugin.cpp" line="238"/>
|
||||
<source>Button - </source>
|
||||
<translation>按钮 - </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="233"/>
|
||||
<location filename="../testplugin.cpp" line="242"/>
|
||||
<source>Click</source>
|
||||
<translation>点击</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="309"/>
|
||||
<location filename="../testplugin.cpp" line="318"/>
|
||||
<source>A Test Plugin for WingHexExplorer2.</source>
|
||||
<translation>一个用来测试羽云十六进制编辑器2的插件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="347"/>
|
||||
<location filename="../testplugin.cpp" line="355"/>
|
||||
<location filename="../testplugin.cpp" line="356"/>
|
||||
<location filename="../testplugin.cpp" line="364"/>
|
||||
<location filename="../testplugin.cpp" line="385"/>
|
||||
<location filename="../testplugin.cpp" line="401"/>
|
||||
<location filename="../testplugin.cpp" line="408"/>
|
||||
<location filename="../testplugin.cpp" line="415"/>
|
||||
<location filename="../testplugin.cpp" line="422"/>
|
||||
<location filename="../testplugin.cpp" line="430"/>
|
||||
<location filename="../testplugin.cpp" line="461"/>
|
||||
<location filename="../testplugin.cpp" line="469"/>
|
||||
<location filename="../testplugin.cpp" line="477"/>
|
||||
<location filename="../testplugin.cpp" line="485"/>
|
||||
<location filename="../testplugin.cpp" line="373"/>
|
||||
<location filename="../testplugin.cpp" line="394"/>
|
||||
<location filename="../testplugin.cpp" line="410"/>
|
||||
<location filename="../testplugin.cpp" line="417"/>
|
||||
<location filename="../testplugin.cpp" line="424"/>
|
||||
<location filename="../testplugin.cpp" line="431"/>
|
||||
<location filename="../testplugin.cpp" line="439"/>
|
||||
<location filename="../testplugin.cpp" line="470"/>
|
||||
<location filename="../testplugin.cpp" line="478"/>
|
||||
<location filename="../testplugin.cpp" line="486"/>
|
||||
<location filename="../testplugin.cpp" line="494"/>
|
||||
<location filename="../testplugin.cpp" line="503"/>
|
||||
<location filename="../testplugin.cpp" line="510"/>
|
||||
<source>InvalidParamsCount</source>
|
||||
<translation>无效参数个数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="378"/>
|
||||
<location filename="../testplugin.cpp" line="394"/>
|
||||
<location filename="../testplugin.cpp" line="387"/>
|
||||
<location filename="../testplugin.cpp" line="403"/>
|
||||
<source>InvalidParam</source>
|
||||
<translation>非法参数</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../testplugin.cpp" line="452"/>
|
||||
<location filename="../testplugin.cpp" line="461"/>
|
||||
<source>AllocArrayFailed</source>
|
||||
<translation>分配数组失败</translation>
|
||||
</message>
|
||||
|
|
|
@ -166,6 +166,15 @@ TestPlugin::TestPlugin() : WingHex::IWingPlugin() {
|
|||
info.ret = MetaType::Bool;
|
||||
_scriptInfo.insert(QStringLiteral("pluginMetaTestEnabled"), info);
|
||||
}
|
||||
|
||||
{
|
||||
WingHex::IWingPlugin::ScriptFnInfo info;
|
||||
info.fn = std::bind(
|
||||
QOverload<const QVariantList &>::of(&TestPlugin::testCrash), this,
|
||||
std::placeholders::_1);
|
||||
info.ret = MetaType::Void;
|
||||
_scriptInfo.insert(QStringLiteral("testCrash"), info);
|
||||
}
|
||||
}
|
||||
|
||||
TestPlugin::~TestPlugin() { destoryTestShareMem(); }
|
||||
|
@ -437,10 +446,10 @@ TestPlugin::colorTable(const QList<void *> ¶ms) {
|
|||
}
|
||||
|
||||
auto invoked =
|
||||
emit invokeService(QStringLiteral("WingAngelAPI"), "vector2AsArray",
|
||||
WINGAPI_RETURN_ARG(void *, array),
|
||||
WINGAPI_ARG(MetaType, MetaType::Color),
|
||||
WINGAPI_ARG(QVector<void *>, colors));
|
||||
invokeService(QStringLiteral("WingAngelAPI"), "vector2AsArray",
|
||||
WINGAPI_RETURN_ARG(void *, array),
|
||||
WINGAPI_ARG(MetaType, MetaType::Color),
|
||||
WINGAPI_ARG(QVector<void *>, colors));
|
||||
if (invoked) {
|
||||
if (array) {
|
||||
qDeleteAll(colors);
|
||||
|
@ -496,6 +505,14 @@ QVariant TestPlugin::pluginMetaTestEnabled(const QVariantList ¶ms) {
|
|||
return pluginMetaTestEnabled();
|
||||
}
|
||||
|
||||
QVariant TestPlugin::testCrash(const QVariantList ¶ms) {
|
||||
if (!params.isEmpty()) {
|
||||
return getScriptCallError(-1, tr("InvalidParamsCount"));
|
||||
}
|
||||
testCrash();
|
||||
return {};
|
||||
}
|
||||
|
||||
void TestPlugin::test_a() { emit debug(__FUNCTION__); }
|
||||
|
||||
void TestPlugin::test_b(const QString &b) {
|
||||
|
@ -604,6 +621,15 @@ void TestPlugin::setPluginMetaTestEnabled(bool b) {
|
|||
|
||||
bool TestPlugin::pluginMetaTestEnabled() { return ENABLE_META; }
|
||||
|
||||
void TestPlugin::testCrash() {
|
||||
// if you want to reproduce nullptr deferenced,
|
||||
// you can use this example. 'volatile' is important in release mode
|
||||
// volatile int *a = nullptr;
|
||||
// (*a)++;
|
||||
|
||||
abort();
|
||||
}
|
||||
|
||||
QHash<QString, WingHex::IWingPlugin::ScriptFnInfo>
|
||||
TestPlugin::registeredScriptFns() const {
|
||||
return _scriptInfo;
|
||||
|
|
|
@ -91,6 +91,8 @@ private:
|
|||
QVariant setPluginMetaTestEnabled(const QVariantList ¶ms);
|
||||
QVariant pluginMetaTestEnabled(const QVariantList ¶ms);
|
||||
|
||||
QVariant testCrash(const QVariantList ¶ms);
|
||||
|
||||
private:
|
||||
void test_a();
|
||||
void test_b(const QString &b);
|
||||
|
@ -110,6 +112,8 @@ private:
|
|||
void setPluginMetaTestEnabled(bool b);
|
||||
bool pluginMetaTestEnabled();
|
||||
|
||||
void testCrash();
|
||||
|
||||
private:
|
||||
QDialog *_tform = nullptr;
|
||||
QMenu *_tmenu = nullptr;
|
||||
|
|
|
@ -332,67 +332,67 @@
|
|||
<context>
|
||||
<name>EditorView</name>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="79"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="78"/>
|
||||
<source>Cut</source>
|
||||
<translation>剪切</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="81"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="80"/>
|
||||
<source>CutHex</source>
|
||||
<translation>剪切(十六进制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="83"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="82"/>
|
||||
<source>Copy</source>
|
||||
<translation>复制</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="85"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="84"/>
|
||||
<source>CopyHex</source>
|
||||
<translation>复制(十六进制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="87"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="86"/>
|
||||
<source>Paste</source>
|
||||
<translation>粘贴</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="89"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="88"/>
|
||||
<source>PasteHex</source>
|
||||
<translation>粘贴(十六进制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="91"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="90"/>
|
||||
<source>Delete</source>
|
||||
<translation>删除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="94"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="93"/>
|
||||
<source>Find</source>
|
||||
<translation>查找</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="96"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="95"/>
|
||||
<source>Goto</source>
|
||||
<translation>跳转</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="98"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="97"/>
|
||||
<source>Fill</source>
|
||||
<translation>填充</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="100"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="99"/>
|
||||
<source>MetaData</source>
|
||||
<translation>标注</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="102"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="101"/>
|
||||
<source>BookMark</source>
|
||||
<translation>书签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="262"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="261"/>
|
||||
<source>Untitled</source>
|
||||
<translation>未命名</translation>
|
||||
</message>
|
||||
|
@ -2216,210 +2216,210 @@
|
|||
<context>
|
||||
<name>PluginSystem</name>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="92"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="91"/>
|
||||
<source>LoadingPlugin</source>
|
||||
<translation>加载插件中:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="110"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="109"/>
|
||||
<source>InvalidPluginBrokenInfo</source>
|
||||
<translation>加载插件失败:损坏的插件数据</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="539"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="538"/>
|
||||
<source>AppClosingCanceled:</source>
|
||||
<translation>程序关闭被取消:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="616"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="615"/>
|
||||
<source>- PluginID:</source>
|
||||
<translation>- 插件 ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="641"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="637"/>
|
||||
<source>FoundDrvPluginCount</source>
|
||||
<translation>总计发现设备拓展插件数目:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="702"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="698"/>
|
||||
<source>RegisterScriptFnUnSupportedTypes:</source>
|
||||
<translation>因脚本函数含有未支持的类型而注册失败:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="712"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="776"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="708"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="772"/>
|
||||
<source>RegisterScriptFnInvalidSig:</source>
|
||||
<translation>因脚本函数签名非法而注册失败:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="720"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="784"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="716"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="780"/>
|
||||
<source>RegisterScriptFnConflitSig:</source>
|
||||
<translation>因脚本函数签名冲突而注册失败:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="834"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="830"/>
|
||||
<source>InvalidEnumName:</source>
|
||||
<translation>非法枚举名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="844"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="840"/>
|
||||
<source>InvalidEnumValue:</source>
|
||||
<translation>非法枚举值:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="879"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="875"/>
|
||||
<source>InvalidMarcosRegister:</source>
|
||||
<translation>非法宏注册:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1118"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1114"/>
|
||||
<source>ErrLoadPluginSign</source>
|
||||
<translation>插件加载失败:非法插件签名!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1122"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1118"/>
|
||||
<source>ErrLoadPluginSDKVersion</source>
|
||||
<translation>插件加载失败:非法插件 SDK 版本!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1126"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1122"/>
|
||||
<source>ErrLoadPluginNoName</source>
|
||||
<translation>插件加载失败:非法插件名称!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1147"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1143"/>
|
||||
<source>ErrLoadInitPlugin</source>
|
||||
<translation>插件加载失败:初始化插件失败!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1154"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1150"/>
|
||||
<source>PluginName :</source>
|
||||
<translation>插件名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1155"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1151"/>
|
||||
<source>PluginAuthor :</source>
|
||||
<translation>插件作者:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1156"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1152"/>
|
||||
<source>PluginWidgetRegister</source>
|
||||
<translation>注册插件对象中……</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1261"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1257"/>
|
||||
<source>ErrLoadExtPluginSign</source>
|
||||
<translation>设备拓展插件加载失败:非法插件签名!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1265"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1261"/>
|
||||
<source>ErrLoadExtPluginSDKVersion</source>
|
||||
<translation>设备拓展插件加载失败:非法插件 SDK 版本!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1268"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1264"/>
|
||||
<source>ExtPluginAuthor :</source>
|
||||
<translation>设备拓展插件作者:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1269"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1265"/>
|
||||
<source>ExtPluginWidgetRegister</source>
|
||||
<translation>设备拓展注册插件对象中……</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1285"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1281"/>
|
||||
<source>ErrLoadInitExtPlugin</source>
|
||||
<translation>设备拓展插件加载失败:初始化插件失败!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1307"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1303"/>
|
||||
<source>ChooseFile</source>
|
||||
<translation>选择文件</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1318"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1323"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1314"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1319"/>
|
||||
<source>Error</source>
|
||||
<translation>错误</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1319"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1315"/>
|
||||
<source>FileNotExist</source>
|
||||
<translation>文件不存在!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1324"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1320"/>
|
||||
<source>FilePermission</source>
|
||||
<translation>因文件权限无法继续!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1354"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1350"/>
|
||||
<source>EmptyNameDockWidget:</source>
|
||||
<translation>空的贴边组件名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1364"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1360"/>
|
||||
<source>InvalidNameDockWidget:</source>
|
||||
<translation>无效贴边组件名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1372"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1368"/>
|
||||
<source>InvalidNullDockWidget:</source>
|
||||
<translation>无效空贴边组件:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1596"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1592"/>
|
||||
<source>[EvilCall]</source>
|
||||
<translation>【恶意调用】</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="3007"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="3003"/>
|
||||
<source>Not allowed operation in non-UI thread</source>
|
||||
<translation>该操作在非 UI 线程非法</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="667"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="663"/>
|
||||
<source>UnsafePluginDir</source>
|
||||
<translation>不安全的插件目录,请将插件目录设置为仅管理员账户可写</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="117"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="116"/>
|
||||
<source>InvalidPluginID</source>
|
||||
<translation>加载插件失败:非法插件标识符</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="120"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="119"/>
|
||||
<source>InvalidDupPlugin</source>
|
||||
<translation>加载插件失败:重复的插件标识符</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="581"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="580"/>
|
||||
<source>FoundPluginCount</source>
|
||||
<translation>总计发现插件数目:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="612"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="611"/>
|
||||
<source>PluginLoadingFailedSummary</source>
|
||||
<translation>有依赖插件加载失败总结</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="617"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="616"/>
|
||||
<source>- Dependencies:</source>
|
||||
<translation>- 依赖:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="619"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="618"/>
|
||||
<source>PUID:</source>
|
||||
<translation>插件唯一标志符:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="620"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="619"/>
|
||||
<source>Version:</source>
|
||||
<translation>版本:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="627"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="626"/>
|
||||
<source>PluginLoadingFinished</source>
|
||||
<translation>加载插件完毕!</translation>
|
||||
</message>
|
||||
|
|
|
@ -332,67 +332,67 @@
|
|||
<context>
|
||||
<name>EditorView</name>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="79"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="78"/>
|
||||
<source>Cut</source>
|
||||
<translation>剪切</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="81"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="80"/>
|
||||
<source>CutHex</source>
|
||||
<translation>剪切(十六進制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="83"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="82"/>
|
||||
<source>Copy</source>
|
||||
<translation>複製</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="85"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="84"/>
|
||||
<source>CopyHex</source>
|
||||
<translation>複製(十六進制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="87"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="86"/>
|
||||
<source>Paste</source>
|
||||
<translation>粘貼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="89"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="88"/>
|
||||
<source>PasteHex</source>
|
||||
<translation>粘貼(十六進制)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="91"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="90"/>
|
||||
<source>Delete</source>
|
||||
<translation>刪除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="94"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="93"/>
|
||||
<source>Find</source>
|
||||
<translation>查找</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="96"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="95"/>
|
||||
<source>Goto</source>
|
||||
<translation>跳轉</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="98"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="97"/>
|
||||
<source>Fill</source>
|
||||
<translation>填充</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="100"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="99"/>
|
||||
<source>MetaData</source>
|
||||
<translation>標注</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="102"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="101"/>
|
||||
<source>BookMark</source>
|
||||
<translation>書簽</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/control/editorview.cpp" line="262"/>
|
||||
<location filename="../../src/control/editorview.cpp" line="261"/>
|
||||
<source>Untitled</source>
|
||||
<translation>未命名</translation>
|
||||
</message>
|
||||
|
@ -2216,210 +2216,210 @@
|
|||
<context>
|
||||
<name>PluginSystem</name>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="92"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="91"/>
|
||||
<source>LoadingPlugin</source>
|
||||
<translation>加載插件中:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="110"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="109"/>
|
||||
<source>InvalidPluginBrokenInfo</source>
|
||||
<translation>加載插件失敗:損壞的插件數據</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="539"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="538"/>
|
||||
<source>AppClosingCanceled:</source>
|
||||
<translation>程式關閉被取消:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="616"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="615"/>
|
||||
<source>- PluginID:</source>
|
||||
<translation>- 插件 ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="641"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="637"/>
|
||||
<source>FoundDrvPluginCount</source>
|
||||
<translation>總計發現設備拓展插件數目:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="702"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="698"/>
|
||||
<source>RegisterScriptFnUnSupportedTypes:</source>
|
||||
<translation>因腳本函數含有未支持的類型而註冊失敗:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="712"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="776"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="708"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="772"/>
|
||||
<source>RegisterScriptFnInvalidSig:</source>
|
||||
<translation>因腳本函數簽名非法而註冊失敗:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="720"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="784"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="716"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="780"/>
|
||||
<source>RegisterScriptFnConflitSig:</source>
|
||||
<translation>因腳本函數簽名衝突而註冊失敗:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="834"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="830"/>
|
||||
<source>InvalidEnumName:</source>
|
||||
<translation>非法枚舉名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="844"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="840"/>
|
||||
<source>InvalidEnumValue:</source>
|
||||
<translation>非法枚舉值:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="879"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="875"/>
|
||||
<source>InvalidMarcosRegister:</source>
|
||||
<translation>非法宏註冊:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1118"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1114"/>
|
||||
<source>ErrLoadPluginSign</source>
|
||||
<translation>插件加載失敗:非法插件簽名!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1122"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1118"/>
|
||||
<source>ErrLoadPluginSDKVersion</source>
|
||||
<translation>插件加載失敗:非法插件 SDK 版本!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1126"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1122"/>
|
||||
<source>ErrLoadPluginNoName</source>
|
||||
<translation>插件加載失敗:非法插件名稱!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1147"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1143"/>
|
||||
<source>ErrLoadInitPlugin</source>
|
||||
<translation>插件加載失敗:初始化插件失敗!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1154"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1150"/>
|
||||
<source>PluginName :</source>
|
||||
<translation>插件名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1155"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1151"/>
|
||||
<source>PluginAuthor :</source>
|
||||
<translation>插件作者:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1156"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1152"/>
|
||||
<source>PluginWidgetRegister</source>
|
||||
<translation>註冊插件對象中……</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1261"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1257"/>
|
||||
<source>ErrLoadExtPluginSign</source>
|
||||
<translation>設備拓展插件加載失敗:非法插件簽名!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1265"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1261"/>
|
||||
<source>ErrLoadExtPluginSDKVersion</source>
|
||||
<translation>設備拓展插件加載失敗:非法插件 SDK 版本!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1268"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1264"/>
|
||||
<source>ExtPluginAuthor :</source>
|
||||
<translation>設備拓展插件作者:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1269"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1265"/>
|
||||
<source>ExtPluginWidgetRegister</source>
|
||||
<translation>設備拓展註冊插件對象中……</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1285"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1281"/>
|
||||
<source>ErrLoadInitExtPlugin</source>
|
||||
<translation>設備拓展插件加載失敗:初始化插件失敗!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1307"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1303"/>
|
||||
<source>ChooseFile</source>
|
||||
<translation>選擇檔</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1318"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1323"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1314"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1319"/>
|
||||
<source>Error</source>
|
||||
<translation>錯誤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1319"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1315"/>
|
||||
<source>FileNotExist</source>
|
||||
<translation>檔不存在!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1324"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1320"/>
|
||||
<source>FilePermission</source>
|
||||
<translation>因檔許可權無法繼續!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1354"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1350"/>
|
||||
<source>EmptyNameDockWidget:</source>
|
||||
<translation>空的貼邊組件名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1364"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1360"/>
|
||||
<source>InvalidNameDockWidget:</source>
|
||||
<translation>無效貼邊組件名:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1372"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1368"/>
|
||||
<source>InvalidNullDockWidget:</source>
|
||||
<translation>無效空貼邊組件:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1596"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="1592"/>
|
||||
<source>[EvilCall]</source>
|
||||
<translation>【惡意調用】</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="3007"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="3003"/>
|
||||
<source>Not allowed operation in non-UI thread</source>
|
||||
<translation>該操作在非 UI 線程非法</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="667"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="663"/>
|
||||
<source>UnsafePluginDir</source>
|
||||
<translation>不安全的插件目錄,請將插件目錄設置為僅管理員帳戶可寫</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="117"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="116"/>
|
||||
<source>InvalidPluginID</source>
|
||||
<translation>加載插件失敗:非法插件識別字</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="120"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="119"/>
|
||||
<source>InvalidDupPlugin</source>
|
||||
<translation>加載插件失敗:重複的插件識別字</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="581"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="580"/>
|
||||
<source>FoundPluginCount</source>
|
||||
<translation>總計發現插件數目:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="612"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="611"/>
|
||||
<source>PluginLoadingFailedSummary</source>
|
||||
<translation>有依賴插件加載失敗總結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="617"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="616"/>
|
||||
<source>- Dependencies:</source>
|
||||
<translation>- 依賴:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="619"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="618"/>
|
||||
<source>PUID:</source>
|
||||
<translation>插件唯一標誌符:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="620"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="619"/>
|
||||
<source>Version:</source>
|
||||
<translation>版本:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="627"/>
|
||||
<location filename="../../src/plugin/pluginsystem.cpp" line="626"/>
|
||||
<source>PluginLoadingFinished</source>
|
||||
<translation>加載插件完畢!</translation>
|
||||
</message>
|
||||
|
|
|
@ -39,7 +39,10 @@ void CrashHandler::init() {
|
|||
::SetUnhandledExceptionFilter(ExceptionFilter);
|
||||
#else
|
||||
::signal(SIGSEGV, signalHandler);
|
||||
::signal(SIGILL, signalHandler);
|
||||
::signal(SIGABRT, signalHandler);
|
||||
::signal(SIGFPE, signalHandler);
|
||||
::signal(SIGBUS, signalHandler);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -58,6 +61,7 @@ void CrashHandler::reportCrashAndExit() {
|
|||
|
||||
ss << Qt::endl;
|
||||
|
||||
// we should keep this exception free
|
||||
auto &plgsys = PluginSystem::instance();
|
||||
ss << QStringLiteral("Plugin System:") << Qt::endl;
|
||||
ss << QStringLiteral("* Loading: ") << plgsys.currentLoadingPlugin()
|
||||
|
@ -122,5 +126,10 @@ void CrashHandler::reportCrashAndExit() {
|
|||
r.setInfomation(buffer);
|
||||
r.exec();
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
// because abort() will also trigger it
|
||||
::signal(SIGABRT, nullptr);
|
||||
#endif
|
||||
|
||||
abort();
|
||||
}
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
#include <QVBoxLayout>
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
#include "class/scopeguard.h"
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -38,7 +38,6 @@
|
|||
#include <QFileInfoList>
|
||||
#include <QMessageBox>
|
||||
#include <QPluginLoader>
|
||||
#include <QtCore>
|
||||
|
||||
PluginSystem::PluginSystem(QObject *parent) : QObject(parent) {}
|
||||
|
||||
|
|
Loading…
Reference in New Issue