[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kphotoalbum] XMLDB: Fix crash when member group category doesn't exist.
From: Johannes Zarl <isilmendil () isilme ! lupus ! uberspace ! de>
Date: 2013-04-30 23:22:00
Message-ID: 20130430232200.45A4EA6046 () git ! kde ! org
[Download RAW message or body]
Git commit 2abcb1cbe6a5a2d6b8d9da1344bd80dcf1f550b6 by Johannes Zarl.
Committed on 01/05/2013 at 00:58.
Pushed by johanneszarl into branch 'master'.
Fix crash when member group category doesn't exist.
When the category of the member-group does not exist, a warning is
printed on the console and a matching category is created.
CCBUG: 319135
M +7 -0 XMLDB/FileReader.cpp
http://commits.kde.org/kphotoalbum/2abcb1cbe6a5a2d6b8d9da1344bd80dcf1f550b6
diff --git a/XMLDB/FileReader.cpp b/XMLDB/FileReader.cpp
index 62f10e6..b1da9a6 100644
--- a/XMLDB/FileReader.cpp
+++ b/XMLDB/FileReader.cpp
@@ -34,6 +34,7 @@
#include <QHash>
#include <QXmlStreamReader>
#include "CompressFileInfo.h"
+#include <QDebug>
void XMLDB::FileReader::read( const QString& configFile )
{
@@ -249,6 +250,12 @@ void XMLDB::FileReader::loadMemberGroups( ReaderPtr reader )
QStringList members = reader->attribute(_members_).split( \
QString::fromLatin1( "," ), QString::SkipEmptyParts );
for( QStringList::Iterator membersIt = members.begin(); membersIt != \
members.end(); ++membersIt ) {
DB::CategoryPtr catPtr = \
_db->_categoryCollection.categoryForName( category ); + if \
(catPtr.isNull()) + { // category was not declared in "Categories"
+ qWarning() << "File corruption in index.xml. Inserting \
missing category: " << category; + catPtr = new \
XMLCategory(category, QString::fromUtf8("dialog-warning"), DB::Category::TreeView, \
32, false); + _db->_categoryCollection.addCategory( catPtr );
+ }
XMLCategory* cat = static_cast<XMLCategory*>( catPtr.data() );
QString member = cat->nameForId( (*membersIt).toInt() );
Q_ASSERT( !member.isNull() );
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic