From 1d1acbdf3161bc5d79ddd73704687f1c604c766a Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Thu, 7 May 2009 13:44:36 +1000 Subject: Viewing the same image twice showed no image the second time. --- demos/declarative/flickr/content/ImageDetails.qml | 1 - demos/declarative/flickr/flickr.qml | 8 ++++++-- src/declarative/fx/qfximage.cpp | 11 +++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/demos/declarative/flickr/content/ImageDetails.qml b/demos/declarative/flickr/content/ImageDetails.qml index 45e191a..8ed61ec 100644 --- a/demos/declarative/flickr/content/ImageDetails.qml +++ b/demos/declarative/flickr/content/ImageDetails.qml @@ -3,7 +3,6 @@ Flipable { property var frontContainer: ContainerFront property var flickableArea: Flickable - property var fullScreenArea: BigImage property string photoTitle: "" property string photoDescription: "" property int photoWidth diff --git a/demos/declarative/flickr/flickr.qml b/demos/declarative/flickr/flickr.qml index 5caffb9..95c808c 100644 --- a/demos/declarative/flickr/flickr.qml +++ b/demos/declarative/flickr/flickr.qml @@ -35,14 +35,18 @@ Item { Connection { sender: ImageDetails; signal: "closed()" - script: { if (Wrapper.state == 'Details') Wrapper.state = '' } + script: { + if (Wrapper.state == 'Details') { + Wrapper.state = ''; + ImageDetails.photoUrl = ""; + } + } } Script { function photoClicked() { ImageDetails.photoTitle = title; ImageDetails.flickableArea.yPosition = 0; - ImageDetails.fullScreenArea.source = ""; ImageDetails.photoDescription = description; ImageDetails.photoWidth = photoWidth; ImageDetails.photoHeight = photoHeight; diff --git a/src/declarative/fx/qfximage.cpp b/src/declarative/fx/qfximage.cpp index 835a4ff..657e9a5 100644 --- a/src/declarative/fx/qfximage.cpp +++ b/src/declarative/fx/qfximage.cpp @@ -880,6 +880,17 @@ void QFxImage::setSource(const QString &url) if (url.isEmpty()) { setPixmap(QPixmap()); d->status = Idle; + d->progress = 1.0; + setImplicitWidth(0); + setImplicitHeight(0); +#if defined(QFX_RENDER_OPENGL) + d->_texDirty = true; + d->_tex.clear(); +#endif + emit statusChanged(d->status); + emit sourceChanged(d->source); + emit progressChanged(1.0); + update(); } else { d->status = Loading; if (d->url.path().endsWith(QLatin1String(".sci"))) { -- cgit v0.12