| Summary: | [FEATURE] Minimal patch to make KDE STL compatible | ||
|---|---|---|---|
| Product: | [Unmaintained] bindings | Reporter: | Claus Rasmussen <clr> |
| Component: | general | Assignee: | bindings-bugs-null |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | unspecified | ||
| OS: | Other | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
what Similar patch has been applied. |
(*** This bug was imported into bugs.kde.org ***) Package: kdebindings Version: 3.0rc3 System : RedHat 7.2 Problem: KDE is not STL compatible by default. The following very simple patch corrects the only clash between STL and KDE when Qt is compiled with the STL option. It seems to me that there is no real justification for not using a STL compatible Qt when the conversion is that simple. I would suggest to include this in the 3.1 (or 3.0.1) release. diff -Naur kdebindings-3.0rc3/qtc/clib/qtc/qt_QStringList.cpp kdebindings-patched/qtc/clib/qtc/qt_QStringList.cpp --- kdebindings-3.0rc3/qtc/clib/qtc/qt_QStringList.cpp Sat Dec 1 07:14:15 2001+++ kdebindings-patched/qtc/clib/qtc/qt_QStringList.cpp Tue Mar 19 16:37:57 2002@@ -227 +227 @@ #include <qstringlist.h> -static QStringList::Iterator iterator; +static QStringList::Iterator qt_iterator; class QStringListBridge : public QStringList { @@ -6718 +6718 @@ return (qt_QStringList*)new QStringList(QStringListBridge::split((QRegExp&)* (QRegExp*)sep (QString&)* (QString*)str (bool)allowEmptyEntries)); } void qt_QStringList_begin( qt_QStringList* instPointer){ - iterator = ((QStringList*)instPointer)->begin(); + qt_iterator = ((QStringList*)instPointer)->begin(); return; } qt_QString * qt_QStringList_current(){ - if ( *iterator == NULL ) { + if ( *qt_iterator == NULL ) { return NULL; } else { - return (qt_QString *) new QString(*iterator); + return (qt_QString *) new QString(*qt_iterator); } } qt_QString * qt_QStringList_next(){ - iterator++; + qt_iterator++; return qt_QStringList_current(); } void qt_QStringList_clear( qt_QStringList* instPointer){