22// SPDX-License-Identifier: Apache-2.0
33// SPDX-License-Identifier: MIT
44
5+ use std:: mem:: ManuallyDrop ;
56use std:: sync:: Arc ;
67
78use super :: run_item_main_thread;
@@ -20,7 +21,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
2021 let item = muda:: PredefinedMenuItem :: separator( ) ;
2122 PredefinedMenuItemInner {
2223 id: item. id( ) . clone( ) ,
23- inner: Some ( item) ,
24+ inner: ManuallyDrop :: new ( item) ,
2425 app_handle,
2526 }
2627 } ) ?;
@@ -39,7 +40,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
3940 let item = muda:: PredefinedMenuItem :: copy( text. as_deref( ) ) ;
4041 PredefinedMenuItemInner {
4142 id: item. id( ) . clone( ) ,
42- inner: Some ( item) ,
43+ inner: ManuallyDrop :: new ( item) ,
4344 app_handle,
4445 }
4546 } ) ?;
@@ -58,7 +59,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
5859 let item = muda:: PredefinedMenuItem :: cut( text. as_deref( ) ) ;
5960 PredefinedMenuItemInner {
6061 id: item. id( ) . clone( ) ,
61- inner: Some ( item) ,
62+ inner: ManuallyDrop :: new ( item) ,
6263 app_handle,
6364 }
6465 } ) ?;
@@ -77,7 +78,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
7778 let item = muda:: PredefinedMenuItem :: paste( text. as_deref( ) ) ;
7879 PredefinedMenuItemInner {
7980 id: item. id( ) . clone( ) ,
80- inner: Some ( item) ,
81+ inner: ManuallyDrop :: new ( item) ,
8182 app_handle,
8283 }
8384 } ) ?;
@@ -96,7 +97,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
9697 let item = muda:: PredefinedMenuItem :: select_all( text. as_deref( ) ) ;
9798 PredefinedMenuItemInner {
9899 id: item. id( ) . clone( ) ,
99- inner: Some ( item) ,
100+ inner: ManuallyDrop :: new ( item) ,
100101 app_handle,
101102 }
102103 } ) ?;
@@ -119,7 +120,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
119120 let item = muda:: PredefinedMenuItem :: undo( text. as_deref( ) ) ;
120121 PredefinedMenuItemInner {
121122 id: item. id( ) . clone( ) ,
122- inner: Some ( item) ,
123+ inner: ManuallyDrop :: new ( item) ,
123124 app_handle,
124125 }
125126 } ) ?;
@@ -141,7 +142,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
141142 let item = muda:: PredefinedMenuItem :: redo( text. as_deref( ) ) ;
142143 PredefinedMenuItemInner {
143144 id: item. id( ) . clone( ) ,
144- inner: Some ( item) ,
145+ inner: ManuallyDrop :: new ( item) ,
145146 app_handle,
146147 }
147148 } ) ?;
@@ -164,7 +165,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
164165 let item = muda:: PredefinedMenuItem :: minimize( text. as_deref( ) ) ;
165166 PredefinedMenuItemInner {
166167 id: item. id( ) . clone( ) ,
167- inner: Some ( item) ,
168+ inner: ManuallyDrop :: new ( item) ,
168169 app_handle,
169170 }
170171 } ) ?;
@@ -187,7 +188,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
187188 let item = muda:: PredefinedMenuItem :: maximize( text. as_deref( ) ) ;
188189 PredefinedMenuItemInner {
189190 id: item. id( ) . clone( ) ,
190- inner: Some ( item) ,
191+ inner: ManuallyDrop :: new ( item) ,
191192 app_handle,
192193 }
193194 } ) ?;
@@ -210,7 +211,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
210211 let item = muda:: PredefinedMenuItem :: fullscreen( text. as_deref( ) ) ;
211212 PredefinedMenuItemInner {
212213 id: item. id( ) . clone( ) ,
213- inner: Some ( item) ,
214+ inner: ManuallyDrop :: new ( item) ,
214215 app_handle,
215216 }
216217 } ) ?;
@@ -233,7 +234,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
233234 let item = muda:: PredefinedMenuItem :: hide( text. as_deref( ) ) ;
234235 PredefinedMenuItemInner {
235236 id: item. id( ) . clone( ) ,
236- inner: Some ( item) ,
237+ inner: ManuallyDrop :: new ( item) ,
237238 app_handle,
238239 }
239240 } ) ?;
@@ -256,7 +257,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
256257 let item = muda:: PredefinedMenuItem :: hide_others( text. as_deref( ) ) ;
257258 PredefinedMenuItemInner {
258259 id: item. id( ) . clone( ) ,
259- inner: Some ( item) ,
260+ inner: ManuallyDrop :: new ( item) ,
260261 app_handle,
261262 }
262263 } ) ?;
@@ -279,7 +280,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
279280 let item = muda:: PredefinedMenuItem :: show_all( text. as_deref( ) ) ;
280281 PredefinedMenuItemInner {
281282 id: item. id( ) . clone( ) ,
282- inner: Some ( item) ,
283+ inner: ManuallyDrop :: new ( item) ,
283284 app_handle,
284285 }
285286 } ) ?;
@@ -302,7 +303,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
302303 let item = muda:: PredefinedMenuItem :: close_window( text. as_deref( ) ) ;
303304 PredefinedMenuItemInner {
304305 id: item. id( ) . clone( ) ,
305- inner: Some ( item) ,
306+ inner: ManuallyDrop :: new ( item) ,
306307 app_handle,
307308 }
308309 } ) ?;
@@ -325,7 +326,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
325326 let item = muda:: PredefinedMenuItem :: quit( text. as_deref( ) ) ;
326327 PredefinedMenuItemInner {
327328 id: item. id( ) . clone( ) ,
328- inner: Some ( item) ,
329+ inner: ManuallyDrop :: new ( item) ,
329330 app_handle,
330331 }
331332 } ) ?;
@@ -353,7 +354,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
353354 let item = muda:: PredefinedMenuItem :: about( text. as_deref( ) , metadata) ;
354355 PredefinedMenuItemInner {
355356 id: item. id( ) . clone( ) ,
356- inner: Some ( item) ,
357+ inner: ManuallyDrop :: new ( item) ,
357358 app_handle,
358359 }
359360 } ) ?;
@@ -376,7 +377,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
376377 let item = muda:: PredefinedMenuItem :: services( text. as_deref( ) ) ;
377378 PredefinedMenuItemInner {
378379 id: item. id( ) . clone( ) ,
379- inner: Some ( item) ,
380+ inner: ManuallyDrop :: new ( item) ,
380381 app_handle,
381382 }
382383 } ) ?;
@@ -399,7 +400,7 @@ impl<R: Runtime> PredefinedMenuItem<R> {
399400 let item = muda:: PredefinedMenuItem :: bring_all_to_front( text. as_deref( ) ) ;
400401 PredefinedMenuItemInner {
401402 id: item. id( ) . clone( ) ,
402- inner: Some ( item) ,
403+ inner: ManuallyDrop :: new ( item) ,
403404 app_handle,
404405 }
405406 } ) ?;
0 commit comments