[prev in list] [next in list] [prev in thread] [next in thread]
List: kdevelop-bugs
Subject: [Bug 89954] crashing with c++ parser (code compeletion wizard)
From: kdevelop-bugs-admin () barney ! cs ! uni-potsdam ! de
Date: 2004-09-24 22:26:46
Message-ID: 20040924222646.25417.qmail () ktown ! kde ! org
[Download RAW message or body]
------- 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=89954
jens.dagerbo swipnet se changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
------- Additional Comments From jens.dagerbo swipnet se 2004-09-25 00:26 -------
CVS commit by dagerbo:
Reenabled the custom pcs importer plugin (desktop name conflict) and fixed a crash.
CCMAIL: 89954-done bugs kde org
A kdevpcscustomimporter.desktop 1.1
M +2 -1 Makefile.am 1.4
M +1 -1 kdevcustomimporter.cpp 1.4
M +21 -15 settingsdialog.cpp 1.6
M +1 -0 settingsdialog.h 1.3
R kdevcustomimporter.desktop 1.29
--- kdevelop/languages/cpp/pcsimporter/customimporter/Makefile.am #1.3:1.4
@ -3,7 +3,8 @
lib_LTLIBRARIES = libkdevcustomimporter.la
-kde_services_DATA = kdevcustomimporter.desktop
+
noinst_HEADERS = kdevcustomimporter.h
libkdevcustomimporter_la_SOURCES = kdevcustomimporter.cpp settingsdialog.cpp settingsdialogbase.ui
libkdevcustomimporter_la_LIBADD = $(top_builddir)/lib/libkdevelop.la
libkdevcustomimporter_la_LDFLAGS = -module $(all_libraries) $(KDE_PLUGIN)
+kde_services_DATA = kdevpcscustomimporter.desktop
--- kdevelop/languages/cpp/pcsimporter/customimporter/kdevcustomimporter.cpp #1.3:1.4
@ -94,5 +94,5 @ void KDevCustomImporter::processDir( con
const QFileInfoList *dirEntries = dir.entryInfoList();
QPtrListIterator<QFileInfo> it(*dirEntries);
- for (; it.current(); ++it) {
+ for (; dirEntries && it.current(); ++it) {
QString fileName = it.current()->fileName();
if (fileName == "." || fileName == "..")
--- kdevelop/languages/cpp/pcsimporter/customimporter/settingsdialog.cpp #1.5:1.6
@ -10,4 +10,5 @
***************************************************************************/
+#include <qdir.h>
#include <klistbox.h>
@ -16,13 +17,8 @
#include <kdeversion.h>
#include <klocale.h>
+#include <kmessagebox.h>
+#include <klineedit.h>
-// only for KDE < 3.1
-#if KDE_VERSION <= 305
-#include "../compat/kdeveditlistbox.h"
-//using namespace KDevCompat;
-#define KEditListBox KDevCompat::KEditListBox
-#else
#include <keditlistbox.h>
-#endif
// should be included after possible KEditListBox redefinition
@ -43,13 +39,5 @ SettingsDialog::SettingsDialog(QWidget*
req->setMode(KFile::Directory);
KEditListBox::CustomEditor pCustomEditor;
-#if KDE_VERSION > 305
pCustomEditor = req->customEditor();
-#else
- QObjectList* pOL = req->queryList("KLineEdit"); // dirty hack :)
- KLineEdit* pEdit = dynamic_cast<KLineEdit*>(pOL->first());
- assert(pEdit);
- KEditListBox::CustomEditor editor(req, pEdit);
- pCustomEditor = editor;
-#endif
elb = new KEditListBox( i18n("Directories to Parse"), pCustomEditor, this );
@ -59,4 +47,5 @ SettingsDialog::SettingsDialog(QWidget*
connect(elb->addButton(), SIGNAL(clicked()), this, SLOT(validate()));
connect(elb->removeButton(), SIGNAL(clicked()), this, SLOT(validate()));
+ connect(elb, SIGNAL(added(const QString& )), this, SLOT(validateDirectory(const QString& )) );
}
@ -85,4 +74,21 @ void SettingsDialog::validate()
}
+void SettingsDialog::validateDirectory( const QString & dir )
+{
+ QDir d( dir, QString::null, QDir::DefaultSort, QDir::Dirs );
+ if ( !d.exists() )
+ {
+ elb->lineEdit()->setText( dir );
+
+ if ( QListBoxItem * item = elb->listBox()->findItem( dir, Qt::ExactMatch ) )
+ {
+ elb->listBox()->removeItem( elb->listBox()->index( item ) );
+ }
+
+ QString errormsg = QString("<qt><b>%1</b> is not a directory</qt>").arg( dir );
+ KMessageBox::error( 0, errormsg, "Couldn't find directory" );
+ }
+}
+
#include "settingsdialog.moc"
--- kdevelop/languages/cpp/pcsimporter/customimporter/settingsdialog.h #1.2:1.3
@ -36,4 +36,5 @ public:
private slots:
void validate();
+ void validateDirectory( const QString & dir );
private:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic