[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    handling a failed loading of images
From:       Jos van den Oever <Jos.van.den.Oever () kogmbh ! com>
Date:       2009-08-31 11:13:51
Message-ID: 200908311313.51828.Jos.van.den.Oever () kogmbh ! com
[Download RAW message or body]

When loading images, the function KoImageCollection::createImageData is 
called. If imageData does not contain valid image data, the data is not loaded 
and the assert  Q_ASSERT(data->key() == key) fails.

Adding a check 
    if (data->errorCode() != KoImageData::Success) {
      ....
    }
is needed after data->setImage(imageData). The question I have is, how to 
propagate the error. The function description does not describe how the 
function behaves when loading fails.

Cheers,
Jos


KoImageData *KoImageCollection::createImageData(const QByteArray &imageData)
{
    QCryptographicHash md5(QCryptographicHash::Md5);
    md5.addData(imageData);
    qint64 key = KoImageDataPrivate::generateKey(md5.result());
    if (d->images.contains(key))
        return new KoImageData(d->images.value(key));
    KoImageData *data = new KoImageData();
    data->setImage(imageData);
    data->priv()->collection = this;
    Q_ASSERT(data->key() == key);
    d->images.insert(key, data->priv());
    return data;
}



-- 
Jos van den Oever, software architect
+49 391 25 19 15 53
http://kogmbh.com/legal/
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic