SVN commit 648392 by amantia: fix crash after using Close Other Tabs for a tab holding a plugin M +1 -0 ChangeLog M +6 -0 parsers/node.cpp M +4 -0 parsers/parser.cpp M +2 -0 src/viewmanager.cpp --- branches/KDE/3.5/kdewebdev/quanta/ChangeLog #648391:648392 @@ -4,6 +4,7 @@ - bugfixes: - fix directory creation when certain ftp servers are used [#141232] - fix crash when dropping a document template on an Untitled empty document [#141908] + - fix crash after using Close Other Tabs for a tab holding a plugin - improvements: - autocompletion for member variables. Patch by Andrew Lowe . --- branches/KDE/3.5/kdewebdev/quanta/parsers/node.cpp #648391:648392 @@ -86,6 +86,12 @@ child = 0L; delete next; next = 0L; + } else + { + if (next && next->prev == this) + next->prev = 0L; + if (child && child->parent == this) + child->parent = 0L; } delete tag; --- branches/KDE/3.5/kdewebdev/quanta/parsers/parser.cpp #648391:648392 @@ -827,6 +827,10 @@ { nextNode->prev = prev; } + if (nextNode && nextNode->parent == node) + { + nextNode->parent = parent; + } if (next) next->prev = prev; if (prev && prev->next == node) --- branches/KDE/3.5/kdewebdev/quanta/src/viewmanager.cpp #648391:648392 @@ -254,6 +254,8 @@ currentView = m_contextView; else currentView = quantaApp->activeWindow(); + if (dynamic_cast(currentView) && !static_cast(currentView)->document()) + ToolbarTabWidget::ref()->reparent(0, 0, QPoint(), false); KMdiIterator *it = quantaApp->createIterator(); //save the children first to a list, as removing invalidates our iterator QValueList children;