slint
slint copied to clipboard
Callbacks for invoke_from_event_loop() and Weak::upgrade_in_event_loop() should support return values
Is there a reason that callbacks for invoke_from_event_loop()
and Weak::upgrade_in_event_loop()
do not support return values?
Currently I have to write code that looks like this:
let cancelled = Arc::new(AtomicBool::new(false));
let cancelled_clone = cancelled.clone();
dialog_weak
.upgrade_in_event_loop(move |dialog| {
...
cancelled_clone.store(dialog.get_cancelled(), Ordering::Relaxed);
})
.unwrap();
let cancelled = cancelled.load(Ordering::Relaxed);
It would be great if I could do this:
let cancelled = dialog_weak
.upgrade_in_event_loop(move |dialog| {
...
dialog.get_cancelled()
})
.unwrap();
Of course, the return value would have to support Send
but that sort of thing goes with the territory.