From c0d780426622d21dc4d87f3a543adf03076faae2 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Mon, 18 Jun 2012 17:31:06 +0200 Subject: [PATCH] Remove some unnecessary indirection. There's no need to heap allocate our QQuickView, and there's no need to have a seperate pointer to QWindow when we can just use the QQuickView directly. Change-Id: Ia2bc83c9dc83d1df1ec793836793f752d67e9415 Reviewed-by: Alan Alpert --- tools/qmlscene/main.cpp | 31 ++++++++++++++----------------- 1 files changed, 14 insertions(+), 17 deletions(-) diff --git a/tools/qmlscene/main.cpp b/tools/qmlscene/main.cpp index 54713fc..0aa64ce 100644 --- a/tools/qmlscene/main.cpp +++ b/tools/qmlscene/main.cpp @@ -410,57 +410,54 @@ int main(int argc, char ** argv) displayFileDialog(&options); #endif - QWindow *window = 0; QQmlEngine *engine = 0; int exitCode = 0; if (!options.file.isEmpty()) { if (!options.versionDetection || checkVersion(options.file)) { - QQuickView *qxView = new QQuickView(); - engine = qxView->engine(); + QQuickView qxView; + engine = qxView.engine(); for (int i = 0; i < imports.size(); ++i) engine->addImportPath(imports.at(i)); for (int i = 0; i < bundles.size(); ++i) engine->addNamedBundle(bundles.at(i).first, bundles.at(i).second); - window = qxView; if (options.file.isLocalFile()) { QFileInfo fi(options.file.toLocalFile()); loadDummyDataFiles(*engine, fi.path()); } - qxView->setSource(options.file); + qxView.setSource(options.file); QObject::connect(engine, SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit())); if (options.resizeViewToRootItem) - qxView->setResizeMode(QQuickView::SizeViewToRootObject); + qxView.setResizeMode(QQuickView::SizeViewToRootObject); else - qxView->setResizeMode(QQuickView::SizeRootObjectToView); + qxView.setResizeMode(QQuickView::SizeRootObjectToView); if (options.transparent) { QSurfaceFormat surfaceFormat; surfaceFormat.setAlphaBufferSize(8); - qxView->setFormat(surfaceFormat); - qxView->setClearBeforeRendering(true); - qxView->setClearColor(QColor(Qt::transparent)); - qxView->setWindowFlags(Qt::FramelessWindowHint); + qxView.setFormat(surfaceFormat); + qxView.setClearBeforeRendering(true); + qxView.setClearColor(QColor(Qt::transparent)); + qxView.setWindowFlags(Qt::FramelessWindowHint); } - window->setWindowFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); + qxView.setWindowFlags(Qt::Window | Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint); + if (options.fullscreen) - window->showFullScreen(); + qxView.showFullScreen(); else if (options.maximized) - window->showMaximized(); + qxView.showMaximized(); else - window->show(); + qxView.show(); if (options.quitImmediately) QMetaObject::invokeMethod(QCoreApplication::instance(), "quit", Qt::QueuedConnection); exitCode = app.exec(); - delete window; - #ifdef QML_RUNTIME_TESTING RenderStatistics::printTotalStats(); #endif -- 1.7.2.5