handle errors in main entry point
This commit is contained in:
@@ -244,11 +244,12 @@ void Controller::OnInput() {
|
||||
HandleMouseMovement(wheel);
|
||||
}
|
||||
|
||||
void Controller::OnLoad() {
|
||||
absl::Status Controller::OnLoad() {
|
||||
if (master_editor_.quit()) {
|
||||
active_ = false;
|
||||
}
|
||||
PRINT_IF_ERROR(master_editor_.Update());
|
||||
RETURN_IF_ERROR(master_editor_.Update());
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
void Controller::DoRender() const {
|
||||
|
||||
@@ -33,7 +33,7 @@ class Controller : public ExperimentFlags {
|
||||
bool IsActive() const { return active_; }
|
||||
absl::Status OnEntry(std::string filename = "");
|
||||
void OnInput();
|
||||
void OnLoad();
|
||||
absl::Status OnLoad();
|
||||
void DoRender() const;
|
||||
void OnExit();
|
||||
|
||||
|
||||
@@ -41,7 +41,10 @@ int main(int argc, char** argv) {
|
||||
try {
|
||||
while (controller.IsActive()) {
|
||||
controller.OnInput();
|
||||
controller.OnLoad();
|
||||
if (auto status = controller.OnLoad(); !status.ok()) {
|
||||
std::cerr << status.message() << std::endl;
|
||||
break;
|
||||
}
|
||||
controller.DoRender();
|
||||
}
|
||||
controller.OnExit();
|
||||
|
||||
Reference in New Issue
Block a user