On Thursday 15 January 2009, Ivan Čukić wrote: > > ah, so either we need to special case non-existing elements a bit better > > or just require that svg's don't have 0x0 elements in them. > > The problem is that the element in question is *not* 0x0. > > As I said, the first time the setElementPrefix (and thus the hasElement) is > called, it works ok, but when it loads it from the cache, it returns 0x0 > rectangle and the function returns that the element doesn't exist.
possibilities: * it is getting 0x0 back from the renderer * it is inserting 0x0 for a non-0x0 rect * the rects cache on disk is corrupt or getting corrupted somehow hmmm.. does the attached patch make things better for you? -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Software
Index: svg.cpp =================================================================== --- svg.cpp (revision 911726) +++ svg.cpp (working copy) @@ -514,11 +514,11 @@ bool found = Theme::defaultTheme()->findInRectsCache(d->path, id, elementRect); if (found) { + d->localRectCache.insert(id, elementRect); return elementRect.isValid(); } else { // kDebug() << "** ** *** !!!!!!!! *** ** ** creating renderer due to hasElement miss" << d->path << elementId; - d->findAndCacheElementRect(elementId); - return d->renderer->elementExists(elementId); + return d->findAndCacheElementRect(elementId).isValid(); } }
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel