diff options
author | Alan Alpert <alan.alpert@nokia.com> | 2012-03-22 13:17:11 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-22 06:28:39 +0100 |
commit | 58e064a5dff1289bff0d304ae8798b43d67587f7 (patch) | |
tree | 3fd2753b7ce625643ea319f3bb7fec6fd9f5214d | |
parent | 8dd5912202c0f69bfe3fe30d7eee0a560af9db44 (diff) |
Check for null pointer dereference
Standard defensive programming
Change-Id: Ic2b89cacf06812441a2b8f02c6b22de431c50b4a
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
-rw-r--r-- | src/quick/items/qquickcanvas.cpp | 4 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/quick/items/qquickcanvas.cpp b/src/quick/items/qquickcanvas.cpp index 8e536a45dd..6c964826fe 100644 --- a/src/quick/items/qquickcanvas.cpp +++ b/src/quick/items/qquickcanvas.cpp @@ -539,7 +539,7 @@ void QQuickCanvasPrivate::setFocusInScope(QQuickItem *scope, QQuickItem *item, F q->sendEvent(oldActiveFocusItem, &event); QQuickItem *afi = oldActiveFocusItem; - while (afi != scope) { + while (afi && afi != scope) { if (QQuickItemPrivate::get(afi)->activeFocus) { QQuickItemPrivate::get(afi)->activeFocus = false; changed << afi; @@ -635,7 +635,7 @@ void QQuickCanvasPrivate::clearFocusInScope(QQuickItem *scope, QQuickItem *item, q->sendEvent(oldActiveFocusItem, &event); QQuickItem *afi = oldActiveFocusItem; - while (afi != scope) { + while (afi && afi != scope) { if (QQuickItemPrivate::get(afi)->activeFocus) { QQuickItemPrivate::get(afi)->activeFocus = false; changed << afi; diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 0ebacf7ff8..9f82c7e37c 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -1632,7 +1632,7 @@ void QQuickItemPrivate::updateSubFocusItem(QQuickItem *scope, bool focus) // Correct focus chain in scope if (oldSubFocusItem) { QQuickItem *sfi = scopePrivate->subFocusItem->parentItem(); - while (sfi != scope) { + while (sfi && sfi != scope) { QQuickItemPrivate::get(sfi)->subFocusItem = 0; sfi = sfi->parentItem(); } @@ -1641,7 +1641,7 @@ void QQuickItemPrivate::updateSubFocusItem(QQuickItem *scope, bool focus) if (focus) { scopePrivate->subFocusItem = q; QQuickItem *sfi = scopePrivate->subFocusItem->parentItem(); - while (sfi != scope) { + while (sfi && sfi != scope) { QQuickItemPrivate::get(sfi)->subFocusItem = q; sfi = sfi->parentItem(); } |