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