[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