Skip to content

Commit

Permalink
headless messaging fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
nmwsharp committed Dec 30, 2024
1 parent 228ebcc commit d457308
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
3 changes: 3 additions & 0 deletions include/polyscope/render/mock_opengl/mock_gl_engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,9 @@ class MockGLEngine : public Engine {
virtual void shutdown() override;
void checkError(bool fatal = false) override;

// mock backend is always headless
virtual bool isHeadless() override { return true; }

void swapDisplayBuffers() override;
std::vector<unsigned char> readDisplayBuffer() override;

Expand Down
27 changes: 17 additions & 10 deletions src/messages.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -233,8 +233,11 @@ void terminatingError(std::string message) {
std::cout << options::printPrefix << "[ERROR] " << message << std::endl;
}

auto func = std::bind(buildErrorUI, message, true);
pushContext(func, false);
// Enter a modal UI loop showing the warning
if (!isHeadless()) { // don't do it if running headless
auto func = std::bind(buildErrorUI, message, true);
pushContext(func, false);
}

// Quit the program
shutdown(true);
Expand All @@ -243,6 +246,13 @@ void terminatingError(std::string message) {

void warning(std::string baseMessage, std::string detailMessage) {

// print to stdout
if (options::verbosity > 0) {
std::cout << options::printPrefix << "[WARNING] " << baseMessage;
if (detailMessage != "") std::cout << " --- " << detailMessage;
std::cout << std ::endl;
}

// Look for a message with the same name
bool found = false;
for (WarningMessage& w : warningMessages) {
Expand All @@ -268,16 +278,13 @@ void showDelayedWarnings() {
showingWarning = true;
WarningMessage& currMessage = warningMessages.front();

if (options::verbosity > 0) {
std::cout << options::printPrefix << "[WARNING] " << currMessage.baseMessage;
if (currMessage.detailMessage != "") std::cout << " --- " << currMessage.detailMessage;
if (currMessage.repeatCount > 0) std::cout << " (and " << currMessage.repeatCount << " similar messages).";
std::cout << std ::endl;
// Enter a modal UI loop showing the warning
if (!isHeadless()) { // don't do it if running headless
auto func =
std::bind(buildWarningUI, currMessage.baseMessage, currMessage.detailMessage, currMessage.repeatCount);
pushContext(func, false);
}

auto func = std::bind(buildWarningUI, currMessage.baseMessage, currMessage.detailMessage, currMessage.repeatCount);
pushContext(func, false);

warningMessages.pop_front();
showingWarning = false;
}
Expand Down

0 comments on commit d457308

Please sign in to comment.