hyprpm: don't update headers if they are up-to-date, only recompile

will not update headers if plugins are compiled for different ones, and instead only compile.

ref #4284
This commit is contained in:
Vaxry 2024-01-29 10:30:31 +00:00
parent 4b4bd90b14
commit 91e8c42843
2 changed files with 8 additions and 8 deletions

View file

@ -310,9 +310,7 @@ eHeadersErrors CPluginManager::headersValid() {
hash = hash.substr(hash.find_first_of('"') + 1); hash = hash.substr(hash.find_first_of('"') + 1);
hash = hash.substr(0, hash.find_first_of('"')); hash = hash.substr(0, hash.find_first_of('"'));
auto GLOBALSTATE = DataState::getGlobalState(); if (hash != HLVER.hash)
if (hash != HLVER.hash || hash != GLOBALSTATE.headersHashCompiled)
return HEADERS_MISMATCHED; return HEADERS_MISMATCHED;
return HEADERS_OK; return HEADERS_OK;
@ -328,10 +326,7 @@ bool CPluginManager::updateHeaders(bool force) {
} }
if (!force && headersValid() == HEADERS_OK) { if (!force && headersValid() == HEADERS_OK) {
std::cout << "\n" << std::string{Colors::GREEN} + "" + Colors::RESET + " Your headers are already up-to-date.\n"; std::cout << "\n" << std::string{Colors::GREEN} + "" + Colors::RESET + " Headers up to date.\n";
auto GLOBALSTATE = DataState::getGlobalState();
GLOBALSTATE.headersHashCompiled = HLVER.hash;
DataState::updateGlobalState(GLOBALSTATE);
return true; return true;
} }

View file

@ -1,6 +1,7 @@
#include "progress/CProgressBar.hpp" #include "progress/CProgressBar.hpp"
#include "helpers/Colors.hpp" #include "helpers/Colors.hpp"
#include "core/PluginManager.hpp" #include "core/PluginManager.hpp"
#include "core/DataState.hpp"
#include <iostream> #include <iostream>
#include <vector> #include <vector>
@ -88,7 +89,11 @@ int main(int argc, char** argv, char** envp) {
bool headersValid = g_pPluginManager->headersValid() == HEADERS_OK; bool headersValid = g_pPluginManager->headersValid() == HEADERS_OK;
bool headers = g_pPluginManager->updateHeaders(force); bool headers = g_pPluginManager->updateHeaders(force);
if (headers) { if (headers) {
bool ret1 = g_pPluginManager->updatePlugins(!headersValid || force); const auto HLVER = g_pPluginManager->getHyprlandVersion();
auto GLOBALSTATE = DataState::getGlobalState();
const auto COMPILEDOUTDATED = HLVER.hash != GLOBALSTATE.headersHashCompiled;
bool ret1 = g_pPluginManager->updatePlugins(!headersValid || force || COMPILEDOUTDATED);
if (!ret1) if (!ret1)
return 1; return 1;