[Bug 72502] Kdevelop crashes when closing multiple files via Keyboard shortcut (Ctrl + W)
Alexander Dymo
cloudtemple at mksat.net
Thu Jan 15 22:39:02 UTC 2004
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=72502
cloudtemple at mksat.net changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From cloudtemple at mksat.net 2004-01-15 22:15 -------
Subject: kdevelop
CVS commit by dymo:
Commited patches to fix
#72582 Crashes while loading plugins after unloading plugins
#72502 Kdevelop crashes when closing multiple files via Keyboard
CCMAIL: 72582-done at bugs.kde.org
CCMAIL: 72502-done at bugs.kde.org
M +2 -0 lib/interfaces/kdevapi.cpp 1.11
M +15 -24 parts/bookmarks/bookmarks_part.cpp 1.18
--- kdevelop/parts/bookmarks/bookmarks_part.cpp #1.17:1.18
@@ -151,7 +151,7 @@ void BookmarksPart::marksChanged()
{
KParts::ReadOnlyPart * ro_part = *it;
- KTextEditor::MarkInterface * mi = dynamic_cast<KTextEditor::MarkInterface*>( ro_part );
-
- if ( ro_part && mi && partIsSane( ro_part ) )
+ if ( partIsSane( ro_part ) )
+ {
+ if ( dynamic_cast<KTextEditor::MarkInterface*>( ro_part ) )
{
if ( EditorData * data = storeBookmarksForURL( ro_part ) )
@@ -165,4 +165,5 @@ void BookmarksPart::marksChanged()
}
}
+ }
++it;
}
@@ -505,17 +506,7 @@ KParts::ReadOnlyPart * BookmarksPart::pa
bool BookmarksPart::partIsSane( KParts::ReadOnlyPart * ro_part )
{
- //kdDebug(0) << "BookmarksPart::partIsSane()" << endl;
-
- bool isSane = true;
-
- isSane = isSane && partController()->parts()->contains( ro_part);
- isSane = isSane && !ro_part->url().path().isEmpty();
-
- if ( ! isSane )
- {
- //kdDebug(0) << " ** Non-sane part encountered! ** " << endl;
- }
-
- return isSane;
+ return ( ro_part != 0 ) &&
+ partController()->parts()->contains( ro_part) &&
+ !ro_part->url().path().isEmpty();
}
--- kdevelop/lib/interfaces/kdevapi.cpp #1.10:1.11
@@ -157,4 +157,6 @@ void KDevApi::registerVersionControl( KD
void KDevApi::unregisterVersionControl( KDevVersionControl *vcs )
{
+ if( vcs == d->m_versionControl )
+ setVersionControl( 0 );
d->m_registeredVcs.remove( vcs->uid() );
}
More information about the KDevelop-devel
mailing list