Revert "Set the stack size of the main thread to 8M (#227)" is not work on macOS.

This reverts commit 2f80ba408a.
This commit is contained in:
Jason Lee 2024-09-09 13:34:31 +08:00
parent bf134b2ff9
commit 16396d3583

View file

@ -1,4 +1,4 @@
use std::{sync::Arc, thread}; use std::sync::Arc;
use anyhow::Result; use anyhow::Result;
use app_state::AppState; use app_state::AppState;
@ -21,50 +21,44 @@ fn init(app_state: Arc<AppState>, cx: &mut AppContext) -> Result<()> {
} }
fn main() { fn main() {
let join_handle = thread::Builder::new() let app_state = Arc::new(AppState {});
.stack_size(8 * 1024 * 1024) // Set the stack size to 8MB
.spawn(|| {
let app_state = Arc::new(AppState {});
let app = App::new().with_assets(Assets); let app = App::new().with_assets(Assets);
app.run(move |cx| { app.run(move |cx| {
AppState::set_global(Arc::downgrade(&app_state), cx); AppState::set_global(Arc::downgrade(&app_state), cx);
if let Err(e) = init(app_state.clone(), cx) { if let Err(e) = init(app_state.clone(), cx) {
log::error!("{}", e); log::error!("{}", e);
return; return;
} }
cx.on_action(quit); cx.on_action(quit);
cx.set_menus(vec![ cx.set_menus(vec![
Menu { Menu {
name: "GPUI App".into(), name: "GPUI App".into(),
items: vec![MenuItem::action("Quit", Quit)], items: vec![MenuItem::action("Quit", Quit)],
}, },
Menu { Menu {
name: "Edit".into(), name: "Edit".into(),
items: vec![ items: vec![
MenuItem::os_action("Undo", Undo, gpui::OsAction::Undo), MenuItem::os_action("Undo", Undo, gpui::OsAction::Undo),
MenuItem::os_action("Redo", Redo, gpui::OsAction::Redo), MenuItem::os_action("Redo", Redo, gpui::OsAction::Redo),
MenuItem::separator(), MenuItem::separator(),
MenuItem::os_action("Cut", Cut, gpui::OsAction::Cut), MenuItem::os_action("Cut", Cut, gpui::OsAction::Cut),
MenuItem::os_action("Copy", Copy, gpui::OsAction::Copy), MenuItem::os_action("Copy", Copy, gpui::OsAction::Copy),
MenuItem::os_action("Paste", Paste, gpui::OsAction::Paste), MenuItem::os_action("Paste", Paste, gpui::OsAction::Paste),
], ],
}, },
]); ]);
cx.activate(true); cx.activate(true);
story_workspace::open_new(app_state.clone(), cx, |_workspace, _cx| { story_workspace::open_new(app_state.clone(), cx, |_workspace, _cx| {
// do something // do something
})
.detach();
});
}) })
.unwrap(); .detach();
join_handle.join().unwrap(); });
} }
fn quit(_: &Quit, cx: &mut AppContext) { fn quit(_: &Quit, cx: &mut AppContext) {