diff --git a/.changes/stack-overflow-release-build.md b/.changes/stack-overflow-release-build.md new file mode 100644 index 000000000000..921e614bafa4 --- /dev/null +++ b/.changes/stack-overflow-release-build.md @@ -0,0 +1,6 @@ +--- +"tauri": "patch:bug" +"tauri-macros": "patch:bug" +--- + +Fix the stack overflow when having too many commands in a single invoke handler in release build diff --git a/crates/tauri-macros/src/command/wrapper.rs b/crates/tauri-macros/src/command/wrapper.rs index b0db92dc5438..28d395bb3f21 100644 --- a/crates/tauri-macros/src/command/wrapper.rs +++ b/crates/tauri-macros/src/command/wrapper.rs @@ -283,10 +283,9 @@ pub fn wrapper(attributes: TokenStream, item: TokenStream) -> TokenStream { macro_rules! #wrapper { // double braces because the item is expected to be a block expression ($path:path, $invoke:ident) => { - // The IIFE here is for preventing stack overflow on Windows debug build, + // The IIFE here is for preventing stack overflow on Windows, // see https://github.com/tauri-apps/tauri/issues/12488 { - #[cfg_attr(not(debug_assertions), inline(always))] move || { #[allow(unused_imports)] use #root::ipc::private::*;