dc94a41a | 2014-10-04 18:27:03 | Timothy Pearson |
Fix rare Konqueror crash in tree view mode This relates to Bug 1820 |
||
M konqueror/listview/konq_listviewitems.cc M konqueror/listview/konq_listviewitems.h M konqueror/listview/konq_treeviewitem.cc M konqueror/listview/konq_treeviewitem.h M konqueror/listview/konq_treeviewwidget.cc |
||
diff --git a/konqueror/listview/konq_listviewitems.cc b/konqueror/listview/konq_listviewitems.cc index d566531..45ff99c 100644 --- a/konqueror/listview/konq_listviewitems.cc +++ b/konqueror/listview/konq_listviewitems.cc @@ -404,6 +404,7 @@ ,m_bDisabled(false) ,m_bActive(false) ,m_fileitem(_fileitem) +,m_fileitemURL(_fileitem->url()) ,m_pListViewWidget(_listViewWidget) {} @@ -413,6 +414,7 @@ ,m_bDisabled(false) ,m_bActive(false) ,m_fileitem(_fileitem) +,m_fileitemURL(_fileitem->url()) ,m_pListViewWidget(_listViewWidget) {} diff --git a/konqueror/listview/konq_listviewitems.h b/konqueror/listview/konq_listviewitems.h index f374daf..2e28275 100644 --- a/konqueror/listview/konq_listviewitems.h +++ b/konqueror/listview/konq_listviewitems.h @@ -71,8 +71,11 @@ bool m_bDisabled; bool m_bActive; - /** Pointer to the file item in KDirLister's list */ + /** Pointer to the file item in KDirLister's list + * Don't use this unless you absolutely have to! */ KFileItem* m_fileitem; + /** URL of file item */ + KURL m_fileitemURL; /** Parent tree view */ KonqBaseListViewWidget* m_pListViewWidget; diff --git a/konqueror/listview/konq_treeviewitem.cc b/konqueror/listview/konq_treeviewitem.cc index 32baf1c..12953c4 100644 --- a/konqueror/listview/konq_treeviewitem.cc +++ b/konqueror/listview/konq_treeviewitem.cc @@ -89,8 +89,13 @@ } } +KURL KonqListViewDir::kurl() +{ + return m_fileitemURL; +} + TQString KonqListViewDir::url( int _trailing ) { - return item()->url().url( _trailing ); + return m_fileitemURL.url( _trailing ); } diff --git a/konqueror/listview/konq_treeviewitem.h b/konqueror/listview/konq_treeviewitem.h index b17adac..6dcc1bb 100644 --- a/konqueror/listview/konq_treeviewitem.h +++ b/konqueror/listview/konq_treeviewitem.h @@ -68,6 +68,11 @@ /** * URL of this directory + */ + KURL kurl(); + + /** + * URL of this directory * @param _trailing set to true for a trailing slash (see KURL) */ TQString url( int _trailing ); diff --git a/konqueror/listview/konq_treeviewwidget.cc b/konqueror/listview/konq_treeviewwidget.cc index 4d04f2f..77adc4b 100644 --- a/konqueror/listview/konq_treeviewwidget.cc +++ b/konqueror/listview/konq_treeviewwidget.cc @@ -294,13 +294,13 @@ void KonqTreeViewWidget::openSubFolder( KonqListViewDir* _dir, bool _reload ) { - m_dirLister->openURL( _dir->item()->url(), true /* keep existing data */, _reload ); + m_dirLister->openURL( _dir->kurl(), true /* keep existing data */, _reload ); slotUpdateBackground(); } void KonqTreeViewWidget::stopListingSubFolder( KonqListViewDir* _dir ) { - m_dirLister->stop( _dir->item()->url() ); + m_dirLister->stop( _dir->kurl() ); slotUpdateBackground(); } |