[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs
From: Daniel Teske <teske () squorn ! de>
Date: 2008-07-06 12:41:15
Message-ID: 1215348075.554232.17792.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 828708 by teske:
Fixes: Crashing of open file dialog and dolphin if the file
KDEHOME/share/apps/kfileplaces/bookmarks.xml is inaccessible.
Mainly adding a few checks for null bookmarks.
BUG: 163501
M +7 -2 kfile/kfileplacesitem.cpp
M +8 -7 kfile/kfileplacesmodel.cpp
M +7 -3 kio/bookmarks/kbookmark.cc
--- trunk/KDE/kdelibs/kfile/kfileplacesitem.cpp #828707:828708
@@ -179,6 +179,8 @@
const QString &iconName)
{
KBookmarkGroup root = manager->root();
+ if (root.isNull())
+ return KBookmark();
KBookmark bookmark = root.addBookmark(label, url, iconName);
bookmark.setMetaDataItem("ID", generateNewId());
@@ -191,7 +193,8 @@
const QString &iconName)
{
KBookmark bookmark = createBookmark(manager, label, url, iconName);
- bookmark.setMetaDataItem("isSystemItem", "true");
+ if (!bookmark.isNull())
+ bookmark.setMetaDataItem("isSystemItem", "true");
return bookmark;
}
@@ -200,9 +203,11 @@
const QString &udi)
{
KBookmarkGroup root = manager->root();
+ if (root.isNull())
+ return KBookmark();
KBookmark bookmark = root.createNewSeparator();
bookmark.setMetaDataItem("UDI", udi);
- bookmark.setMetaDataItem("isSystemItem", "true");
+ bookmark.setMetaDataItem("isSystemItem", "true");
return bookmark;
}
--- trunk/KDE/kdelibs/kfile/kfileplacesmodel.cpp #828707:828708
@@ -425,13 +425,14 @@
// Add bookmarks for the remaining devices, they were previously unknown
foreach (const QString &udi, devices) {
bookmark = KFilePlacesItem::createDeviceBookmark(bookmarkManager, udi);
-
- KFilePlacesItem *item = new KFilePlacesItem(bookmarkManager,
- bookmark.address(), udi);
- connect(item, SIGNAL(itemChanged(const QString&)),
- q, SLOT(_k_itemChanged(const QString&)));
- // TODO: Update bookmark internal element
- items << item;
+ if (!bookmark.isNull()) {
+ KFilePlacesItem *item = new KFilePlacesItem(bookmarkManager,
+ bookmark.address(), udi);
+ connect(item, SIGNAL(itemChanged(const QString&)),
+ q, SLOT(_k_itemChanged(const QString&)));
+ // TODO: Update bookmark internal element
+ items << item;
+ }
}
return items;
--- trunk/KDE/kdelibs/kio/bookmarks/kbookmark.cc #828707:828708
@@ -156,7 +156,8 @@
KBookmarkGroup KBookmarkGroup::createNewFolder( const QString & text )
{
- Q_ASSERT(!element.isNull());
+ if (isNull())
+ return KBookmarkGroup();
QDomDocument doc = element.ownerDocument();
QDomElement groupElem = doc.createElement( "folder" );
element.appendChild( groupElem );
@@ -169,7 +170,8 @@
KBookmark KBookmarkGroup::createNewSeparator()
{
- Q_ASSERT(!element.isNull());
+ if (isNull())
+ return KBookmark();
QDomDocument doc = element.ownerDocument();
Q_ASSERT(!doc.isNull());
QDomElement sepElem = doc.createElement( "separator" );
@@ -213,7 +215,9 @@
KBookmark KBookmarkGroup::addBookmark( const QString & text, const KUrl & url, const QString & icon )
{
- QDomDocument doc = element.ownerDocument();
+ if (isNull())
+ return KBookmark();
+ QDomDocument doc = element.ownerDocument();
QDomElement elem = doc.createElement( "bookmark" );
elem.setAttribute( "href", url.url() ); // gives us utf8
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic