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