initialization and cleanup
This commit is contained in:
@@ -24,11 +24,55 @@ uint64_t current_ms() {
|
||||
|
||||
Rktwebview_qt *handler = nullptr;
|
||||
|
||||
void rkt_webview_cleanup()
|
||||
{
|
||||
if (handler != nullptr) {
|
||||
|
||||
rkt_webview_process_events(100);
|
||||
|
||||
//QTimer app_quit;
|
||||
//QObject::connect(&app_quit, &QTimer::timeout, handler->app(), &QApplication::quit, Qt::ConnectionType::QueuedConnection);
|
||||
|
||||
//app_quit.setSingleShot(true);
|
||||
//app_quit.start(250);
|
||||
|
||||
//handler->app()->exec();
|
||||
|
||||
//fprintf(stderr, "cleanup: handler = %p\n", handler);
|
||||
|
||||
// TODO
|
||||
// Do not delete the QApplication, although it will result in QThreadStorage warnings.
|
||||
// If the app is deleted, QtWebEngineProfileBuilder->createProfile will memory corrupt.
|
||||
//handler->deleteApp();
|
||||
|
||||
//delete handler;
|
||||
//handler = nullptr;
|
||||
|
||||
//fprintf(stderr, "cleanup: handler = %p\n", handler);
|
||||
}
|
||||
}
|
||||
|
||||
void rkt_webview_init()
|
||||
{
|
||||
if (handler == nullptr) {
|
||||
handler = new Rktwebview_qt(&handler);
|
||||
handler->doEvents();
|
||||
//fprintf(stderr, "init: handler = %p\n", handler);
|
||||
handler = new Rktwebview_qt();
|
||||
//fprintf(stderr, "init: handler = %p\n", handler);
|
||||
}
|
||||
|
||||
if (handler->app() == nullptr) {
|
||||
handler->initApp();
|
||||
|
||||
//QTimer app_exit;
|
||||
//QObject::connect(&app_exit, &QTimer::timeout, handler->app(), []() {
|
||||
// handler->app()->exit(0);
|
||||
//}, Qt::ConnectionType::QueuedConnection);
|
||||
|
||||
//app_exit.setSingleShot(true);
|
||||
//app_exit.start(250);
|
||||
|
||||
//QApplication *a = handler->app();
|
||||
//a->exec();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user