git: Properly verify that plugins built from the plugin template can be loaded by ImHex (#2352)

This commit is contained in:
Nik
2025-07-24 20:35:02 +02:00
committed by GitHub
parent 0e720a1e02
commit 2e200a2ab8
7 changed files with 70 additions and 28 deletions

View File

@@ -81,8 +81,9 @@ EXPORT_MODULE namespace hex {
[[nodiscard]] const std::fs::path &getPath() const;
[[nodiscard]] bool isValid() const;
[[nodiscard]] bool isLoaded() const;
[[nodiscard]] bool isValid() const;
[[nodiscard]] bool isInitialized() const;
[[nodiscard]] std::span<SubCommand> getSubCommands() const;
[[nodiscard]] std::span<Feature> getFeatures() const;

View File

@@ -202,11 +202,16 @@ namespace hex {
return m_path;
}
bool Plugin::isValid() const {
return m_handle != 0 || m_functions.initializeLibraryFunction != nullptr || m_functions.initializePluginFunction != nullptr;
bool Plugin::isLoaded() const {
return m_handle != 0;
}
bool Plugin::isLoaded() const {
bool Plugin::isValid() const {
return isLoaded() || m_functions.initializeLibraryFunction != nullptr || m_functions.initializePluginFunction != nullptr;
}
bool Plugin::isInitialized() const {
return m_initialized;
}
@@ -330,7 +335,7 @@ namespace hex {
void PluginManager::initializeNewPlugins() {
for (const auto &plugin : getPlugins()) {
if (!plugin.isLoaded())
if (!plugin.isInitialized())
std::ignore = plugin.initializePlugin();
}
}