Alex Merry
13116aaea9
Don't crash on weirdly invalid SVGs.
The particular problem I was having was that frame->leftWidth was 0 and leftHeight was 0, but frame->rightWidth was > 0. And, while trying to paint a 0x0 pixmap is apparently fine (because QPixmap::isNull() is just (QPixmap::width() == 0)), QPainter::drawTiledPixmap() tries to do 0 % 0 if you pass it an 8x0 pixmap (which is an arithmetic error). And this was happening in KSMServer when displaying the shutdown dialog. Cue weird behaviour when trying to log out or shut down. svn path=/trunk/KDE/kdelibs/; revision=909140
libplasma Commit Rules: * If your patch is not an obvious or trivial bug fix, have it peer reviewed by another Plasma developer * All code MUST follow the kdelibs coding style, as found at: http://techbase.kde.org/Policies/Kdelibs_Coding_Style * All new public API MUST have apidox written before committing Unit tests are next to godliness. (Though as you can see, right now libplasma is hellbound.) This directory contains the classes making up libplasma, which provides the core framework used by Plasma applictions, such as the Plasma desktop shell and its components. This includes applet and extension definitions and loading, common GUI elements, data and service interaction, search system, etc. Domain specific sets of functionality, e.g. for network awareness or sensors, are not found here but as DataEngine, Service, Applet, PackageStructure, etc plugins. Please refer to the Plasma website (http://plasma.kde.org) and Plasma wiki (http://techbase.kde.org/Projects/Plasma) for API documentation and design documents regarding this library.
Description
Languages
C++
63.9%
QML
29.4%
CMake
3.3%
Shell
1.3%
Python
1%
Other
1%