fix: Undefined behaviour when sending empty arguments to main instance

This commit is contained in:
WerWolv
2024-06-20 11:09:57 +02:00
parent ca5763650b
commit 3bfb0096e6
2 changed files with 18 additions and 12 deletions

View File

@@ -15,12 +15,13 @@ namespace hex::messaging {
void setupEvents() {
SendMessageToMainInstance::subscribe([](const std::string &eventName, const std::vector<u8> &eventData) {
log::debug("Forwarding message {} (maybe to us)", eventName);
if (ImHexApi::System::isMainInstance()) {
log::debug("Executing message '{}' in current instance", eventName);
EventImHexStartupFinished::subscribe([eventName, eventData]{
ImHexApi::Messaging::impl::runHandler(eventName, eventData);
});
} else {
log::debug("Forwarding message '{}' to existing instance", eventName);
sendToOtherInstance(eventName, eventData);
}
});