use crate::QApplication;
use cpp_utils::{MutPtr, MutRef};
use qt_core::QCoreApplicationArgs;
use std::process;
impl QApplication {
pub fn init<F: FnOnce(::cpp_utils::MutPtr<QApplication>) -> i32>(f: F) -> ! {
let exit_code = {
unsafe {
let mut args = QCoreApplicationArgs::new();
let (argc, argv) = args.get();
let mut app =
QApplication::new_2a(MutRef::from_raw(argc).unwrap(), MutPtr::from_raw(argv));
f(app.as_mut_ptr())
}
}; process::exit(exit_code)
}
}