Переглянути джерело

TextEditor: Fix crash on startup when file specified cannot be opened

Due to a bug introduced in f674102, TE would attempt to access the value
of an ErrorOr that didn't hold one, hitting an assertion.
Rummskartoffel 3 роки тому
батько
коміт
c93dfe8097
1 змінених файлів з 5 додано та 2 видалено
  1. 5 2
      Userland/Applications/TextEditor/main.cpp

+ 5 - 2
Userland/Applications/TextEditor/main.cpp

@@ -76,8 +76,11 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
         FileArgument parsed_argument(file_to_edit);
         FileArgument parsed_argument(file_to_edit);
         auto response = FileSystemAccessClient::Client::the().try_request_file_read_only_approved(window, parsed_argument.filename());
         auto response = FileSystemAccessClient::Client::the().try_request_file_read_only_approved(window, parsed_argument.filename());
 
 
-        if (response.is_error() && response.error().code() == ENOENT) {
-            text_widget->open_nonexistent_file(parsed_argument.filename());
+        if (response.is_error()) {
+            if (response.error().code() == ENOENT)
+                text_widget->open_nonexistent_file(parsed_argument.filename());
+            else
+                return 1;
         } else {
         } else {
             if (!text_widget->read_file(*response.value()))
             if (!text_widget->read_file(*response.value()))
                 return 1;
                 return 1;