From kdevelop-bugs Sun Sep 26 10:38:08 2004 From: kdevelop-bugs-admin () barney ! cs ! uni-potsdam ! de Date: Sun, 26 Sep 2004 10:38:08 +0000 To: kdevelop-bugs Subject: [Bug 90242] Crash by close of kdevelop if a qtdesignerpart was open. Message-Id: <20040926103808.1050.qmail () ktown ! kde ! org> X-MARC-Message: https://marc.info/?l=kdevelop-bugs&m=118306930405247 ------- 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=90242 ------- Additional Comments From alex.kern gmx de 2004-09-26 12:38 ------- Here is a relevant piece of code: void QtDesignerIntegration::saveSettings(QDomDocument dom, QString path) { kdDebug() << "QtDesignerIntegration::saveSettings" << endl; QDomElement el = DomUtil::createElementByPath(dom, path + "/qtdesigner"); for (QMap::const_iterator it = m_implementations.begin(); it != m_implementations.end(); ++it) { QDomElement il = dom.createElement("implementation"); el.appendChild(il); il.setAttribute("path", it.key()); il.setAttribute("implementationpath", it.data()->fileName()); <----!! il.setAttribute("class", it.data()->name()); } } It is suspect to me, that loadSettings has an exception for this attribute: void QtDesignerIntegration::loadSettings(QDomDocument dom, QString path) { QDomElement el = DomUtil::elementByPath(dom, path + "/qtdesigner"); if (el.isNull()) return; QDomNodeList impls = el.elementsByTagName("implementation"); for (uint i = 0; i < impls.count(); ++i) { QDomElement el = impls.item(i).toElement(); if (el.isNull()) continue; FileDom file = m_part->codeModel()->fileByName(el.attribute("implementationpath")); <--! if (!file) <--! continue; <--! ClassList cllist = file->classByName(el.attribute("class")); if (cllist.count() > 0) m_implementations[el.attribute("path")] = cllist.first(); } } Cheers Alex