From 685a00d7776de64366a4aa60bf154bea99c9026d Mon Sep 17 00:00:00 2001 From: Alan Alpert Date: Tue, 1 Nov 2011 14:16:09 +1000 Subject: [PATCH] Fix SizeRootObjectToView mode It is not yet possible to check if the window has been resized (after the refactor branch merge). Instead, resize to rootObject regardless only if the current view has no visible area. Task-number: QTBUG-22019 Change-Id: I158aaa11862529745ad389e1cbadb6a0ad18c742 Reviewed-by: Alan Alpert --- src/declarative/items/qquickview.cpp | 8 +++----- src/declarative/items/qquickview_p.h | 2 -- .../auto/declarative/qquickview/tst_qquickview.cpp | 1 - 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/src/declarative/items/qquickview.cpp b/src/declarative/items/qquickview.cpp index cc87b77..cd3ae4f 100644 --- a/src/declarative/items/qquickview.cpp +++ b/src/declarative/items/qquickview.cpp @@ -73,7 +73,7 @@ void QQuickViewPrivate::init() } QQuickViewPrivate::QQuickViewPrivate() - : root(0), component(0), resizeMode(QQuickView::SizeViewToRootObject), initialSize(0,0), resized(false) + : root(0), component(0), resizeMode(QQuickView::SizeViewToRootObject), initialSize(0,0) { } @@ -313,11 +313,9 @@ void QQuickViewPrivate::setRootObject(QObject *obj) } if (root) { initialSize = rootObjectSize(); - if ((resizeMode == QQuickView::SizeViewToRootObject || !resized) // ### refactor: || !q->testAttribute(Qt::WA_Resized) - && initialSize != q->size()) { - + if ((resizeMode == QQuickView::SizeViewToRootObject || !q->width() || !q->height()) + && initialSize != q->size()) { q->resize(initialSize); - resized = true; } initResize(); } diff --git a/src/declarative/items/qquickview_p.h b/src/declarative/items/qquickview_p.h index 12be09b..8c83526 100644 --- a/src/declarative/items/qquickview_p.h +++ b/src/declarative/items/qquickview_p.h @@ -96,8 +96,6 @@ public: QQuickView::ResizeMode resizeMode; QSize initialSize; QElapsedTimer frameTimer; - - bool resized; }; QT_END_NAMESPACE diff --git a/tests/auto/declarative/qquickview/tst_qquickview.cpp b/tests/auto/declarative/qquickview/tst_qquickview.cpp index a2334d2..fb52a55 100644 --- a/tests/auto/declarative/qquickview/tst_qquickview.cpp +++ b/tests/auto/declarative/qquickview/tst_qquickview.cpp @@ -177,7 +177,6 @@ void tst_QQuickView::resizemodeitem() QTest::qWait(50); // initial size from root object - QEXPECT_FAIL("", "QTBUG-22019", Abort); QCOMPARE(item->width(), 300.0); QCOMPARE(item->height(), 300.0); QCOMPARE(canvas->size(), QSize(300, 300)); -- 1.7.2.5