diff options
131 files changed, 1025 insertions, 709 deletions
diff --git a/examples/multimedia/audiodevices/audiodevicesbase.ui b/examples/multimedia/audiodevices/audiodevicesbase.ui index faa39dc298..667a6e5d64 100644 --- a/examples/multimedia/audiodevices/audiodevicesbase.ui +++ b/examples/multimedia/audiodevices/audiodevicesbase.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>504</width> - <height>702</height> + <width>320</width> + <height>300</height> </rect> </property> <property name="windowTitle"> @@ -16,241 +16,288 @@ <widget class="QWidget" name="centralwidget"> <layout class="QVBoxLayout" name="verticalLayout"> <item> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0"> - <widget class="QLabel" name="deviceLabel"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>1</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Device</string> - </property> - </widget> - </item> - <item row="0" column="1"> - <widget class="QLabel" name="modeLabel"> - <property name="text"> - <string>Mode</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QComboBox" name="deviceBox"/> - </item> - <item row="1" column="1"> - <widget class="QComboBox" name="modeBox"> + <widget class="QScrollArea" name="scrollArea"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>-192</y> + <width>282</width> + <height>471</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <property name="text"> - <string>Input</string> - </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="deviceLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>1</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Device</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLabel" name="modeLabel"> + <property name="text"> + <string>Mode</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QComboBox" name="deviceBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>150</width> + <height>0</height> + </size> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QComboBox" name="modeBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <item> + <property name="text"> + <string>Input</string> + </property> + </item> + <item> + <property name="text"> + <string>Output</string> + </property> + </item> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="actualLabel"> + <property name="frameShape"> + <enum>QFrame::Panel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <property name="text"> + <string>Actual Settings</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="nearestLabel"> + <property name="frameShape"> + <enum>QFrame::Panel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <property name="text"> + <string>Nearest Settings</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="actualFreqLabel"> + <property name="text"> + <string>Frequency</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLabel" name="nearestFreqLabel"> + <property name="text"> + <string>Frequency</string> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QComboBox" name="frequencyBox"/> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="nearestFreq"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="actualChannelsLabel"> + <property name="text"> + <string>Channels</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLabel" name="nearestChannelLabel"> + <property name="text"> + <string>Channel</string> + </property> + </widget> + </item> + <item row="6" column="0"> + <widget class="QComboBox" name="channelsBox"/> + </item> + <item row="6" column="1"> + <widget class="QLineEdit" name="nearestChannel"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="7" column="0"> + <widget class="QLabel" name="actualCodecLabel"> + <property name="text"> + <string>Codecs</string> + </property> + </widget> + </item> + <item row="7" column="1"> + <widget class="QLabel" name="nearestCodecLabel"> + <property name="text"> + <string>Codec</string> + </property> + </widget> + </item> + <item row="8" column="0"> + <widget class="QComboBox" name="codecsBox"/> + </item> + <item row="8" column="1"> + <widget class="QLineEdit" name="nearestCodec"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="9" column="0"> + <widget class="QLabel" name="actualSampleSizeLabel"> + <property name="text"> + <string>SampleSize</string> + </property> + </widget> + </item> + <item row="9" column="1"> + <widget class="QLabel" name="nearestSampleSizeLabel"> + <property name="text"> + <string>SampleSize</string> + </property> + </widget> + </item> + <item row="10" column="0"> + <widget class="QComboBox" name="sampleSizesBox"/> + </item> + <item row="10" column="1"> + <widget class="QLineEdit" name="nearestSampleSize"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="11" column="0"> + <widget class="QLabel" name="actualSampleTypeLabel"> + <property name="text"> + <string>SampleType</string> + </property> + </widget> + </item> + <item row="11" column="1"> + <widget class="QLabel" name="nearestSampleTypeLabel"> + <property name="text"> + <string>SampleType</string> + </property> + </widget> + </item> + <item row="12" column="0"> + <widget class="QComboBox" name="sampleTypesBox"/> + </item> + <item row="12" column="1"> + <widget class="QLineEdit" name="nearestSampleType"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="13" column="0"> + <widget class="QLabel" name="actualEndianLabel"> + <property name="text"> + <string>Endianess</string> + </property> + </widget> + </item> + <item row="13" column="1"> + <widget class="QLabel" name="nearestEndianLabel"> + <property name="text"> + <string>Endianess</string> + </property> + </widget> + </item> + <item row="14" column="0"> + <widget class="QComboBox" name="endianBox"/> + </item> + <item row="14" column="1"> + <widget class="QLineEdit" name="nearestEndian"> + <property name="enabled"> + <bool>false</bool> + </property> + </widget> + </item> + <item row="15" column="0" colspan="2"> + <widget class="QTextEdit" name="logOutput"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> + </property> + </widget> + </item> + <item row="16" column="0" colspan="2"> + <widget class="QPushButton" name="testButton"> + <property name="text"> + <string>Test</string> + </property> + </widget> + </item> + </layout> </item> - <item> - <property name="text"> - <string>Output</string> - </property> - </item> - </widget> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="actualLabel"> - <property name="frameShape"> - <enum>QFrame::Panel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <property name="text"> - <string>Actual Settings</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QLabel" name="nearestLabel"> - <property name="frameShape"> - <enum>QFrame::Panel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <property name="text"> - <string>Nearest Settings</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="actualFreqLabel"> - <property name="text"> - <string>Frequency</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QLabel" name="nearestFreqLabel"> - <property name="text"> - <string>Frequency</string> - </property> - </widget> - </item> - <item row="4" column="0"> - <widget class="QComboBox" name="frequencyBox"/> - </item> - <item row="4" column="1"> - <widget class="QLineEdit" name="nearestFreq"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="5" column="0"> - <widget class="QLabel" name="actualChannelsLabel"> - <property name="text"> - <string>Channels</string> - </property> - </widget> - </item> - <item row="5" column="1"> - <widget class="QLabel" name="nearestChannelLabel"> - <property name="text"> - <string>Channel</string> - </property> - </widget> - </item> - <item row="6" column="0"> - <widget class="QComboBox" name="channelsBox"/> - </item> - <item row="6" column="1"> - <widget class="QLineEdit" name="nearestChannel"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="7" column="0"> - <widget class="QLabel" name="actualCodecLabel"> - <property name="text"> - <string>Codecs</string> - </property> - </widget> - </item> - <item row="7" column="1"> - <widget class="QLabel" name="nearestCodecLabel"> - <property name="text"> - <string>Codec</string> - </property> - </widget> - </item> - <item row="8" column="0"> - <widget class="QComboBox" name="codecsBox"/> - </item> - <item row="8" column="1"> - <widget class="QLineEdit" name="nearestCodec"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="9" column="0"> - <widget class="QLabel" name="actualSampleSizeLabel"> - <property name="text"> - <string>SampleSize</string> - </property> - </widget> - </item> - <item row="9" column="1"> - <widget class="QLabel" name="nearestSampleSizeLabel"> - <property name="text"> - <string>SampleSize</string> - </property> - </widget> - </item> - <item row="10" column="0"> - <widget class="QComboBox" name="sampleSizesBox"/> - </item> - <item row="10" column="1"> - <widget class="QLineEdit" name="nearestSampleSize"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="11" column="0"> - <widget class="QLabel" name="actualSampleTypeLabel"> - <property name="text"> - <string>SampleType</string> - </property> - </widget> - </item> - <item row="11" column="1"> - <widget class="QLabel" name="nearestSampleTypeLabel"> - <property name="text"> - <string>SampleType</string> - </property> - </widget> - </item> - <item row="12" column="0"> - <widget class="QComboBox" name="sampleTypesBox"/> - </item> - <item row="12" column="1"> - <widget class="QLineEdit" name="nearestSampleType"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="13" column="0"> - <widget class="QLabel" name="actualEndianLabel"> - <property name="text"> - <string>Endianess</string> - </property> - </widget> - </item> - <item row="13" column="1"> - <widget class="QLabel" name="nearestEndianLabel"> - <property name="text"> - <string>Endianess</string> - </property> - </widget> - </item> - <item row="14" column="0"> - <widget class="QComboBox" name="endianBox"/> - </item> - <item row="14" column="1"> - <widget class="QLineEdit" name="nearestEndian"> - <property name="enabled"> - <bool>false</bool> - </property> - </widget> - </item> - <item row="15" column="0" colspan="2"> - <widget class="QTextEdit" name="logOutput"> - <property name="enabled"> - <bool>false</bool> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>40</height> - </size> - </property> - </widget> - </item> - <item row="16" column="0" colspan="2"> - <widget class="QPushButton" name="testButton"> - <property name="text"> - <string>Test</string> - </property> - </widget> - </item> - </layout> + </layout> + </widget> + </widget> </item> </layout> </widget> diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp index 0fcdf969b6..44a0a01d8e 100644 --- a/src/corelib/codecs/qiconvcodec.cpp +++ b/src/corelib/codecs/qiconvcodec.cpp @@ -168,7 +168,7 @@ Q_GLOBAL_STATIC(QThreadStorage<QIconvCodec::IconvState *>, toUnicodeState) QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState *convState) const { if (utf16Codec == reinterpret_cast<QTextCodec *>(~0)) - return QString::fromAscii(chars, len); + return QString::fromLatin1(chars, len); int invalidCount = 0; int remainingCount = 0; @@ -207,9 +207,9 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState static int reported = 0; if (!reported++) { fprintf(stderr, - "QIconvCodec::convertToUnicode: using ASCII for conversion, iconv_open failed\n"); + "QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed\n"); } - return QString::fromAscii(chars, len); + return QString::fromLatin1(chars, len); } *pstate = new IconvState(cd); @@ -273,14 +273,14 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState // some other error // note, cannot use qWarning() since we are implementing the codecForLocale :) - perror("QIconvCodec::convertToUnicode: using ASCII for conversion, iconv failed"); + perror("QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv failed"); if (!convState) { // reset state iconv(state->cd, 0, &inBytesLeft, 0, &outBytesLeft); } - return QString::fromAscii(chars, len); + return QString::fromLatin1(chars, len); } } while (inBytesLeft != 0); @@ -353,12 +353,12 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt state = new IconvState(QIconvCodec::createIconv_t(0, UTF16)); if (state->cd == reinterpret_cast<iconv_t>(-1)) { if (!setByteOrder(state->cd)) { - perror("QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv failed for BOM"); + perror("QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed for BOM"); iconv_close(state->cd); state->cd = reinterpret_cast<iconv_t>(-1); - return QString(uc, len).toAscii(); + return QString(uc, len).toLatin1(); } } } @@ -366,9 +366,9 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt static int reported = 0; if (!reported++) { fprintf(stderr, - "QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv_open failed\n"); + "QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed\n"); } - return QString(uc, len).toAscii(); + return QString(uc, len).toLatin1(); } size_t outBytesLeft = len; @@ -425,12 +425,12 @@ QByteArray QIconvCodec::convertFromUnicode(const QChar *uc, int len, ConverterSt default: { // note, cannot use qWarning() since we are implementing the codecForLocale :) - perror("QIconvCodec::convertFromUnicode: using ASCII for conversion, iconv failed"); + perror("QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed"); // reset to initial state iconv(state->cd, 0, &inBytesLeft, 0, &outBytesLeft); - return QString(uc, len).toAscii(); + return QString(uc, len).toLatin1(); } } } diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp index dfa2c175c5..373c0b4d8f 100644 --- a/src/corelib/global/qglobal.cpp +++ b/src/corelib/global/qglobal.cpp @@ -2079,7 +2079,28 @@ static void mac_default_handler(const char *msg) } #endif // Q_CC_MWERKS && Q_OS_MACX - +#if !defined(Q_OS_WIN) && !defined(QT_NO_THREAD) && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX) && \ + defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L +namespace { + // There are two incompatible versions of strerror_r: + // a) the XSI/POSIX.1 version, which returns an int, + // indicating success or not + // b) the GNU version, which returns a char*, which may or may not + // be the beginning of the buffer we used + // The GNU libc manpage for strerror_r says you should use the the XSI + // version in portable code. However, it's impossible to do that if + // _GNU_SOURCE is defined so we use C++ overloading to decide what to do + // depending on the return type + static inline QString fromstrerror_helper(int, const QByteArray &buf) + { + return QString::fromLocal8Bit(buf); + } + static inline QString fromstrerror_helper(const char *str, const QByteArray &) + { + return QString::fromLocal8Bit(str); + } +} +#endif QString qt_error_string(int errorCode) { @@ -2122,12 +2143,9 @@ QString qt_error_string(int errorCode) if (ret.isEmpty() && errorCode == ERROR_MOD_NOT_FOUND) ret = QString::fromLatin1("The specified module could not be found."); - #elif !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX) - QByteArray buf(1024, '\0'); - strerror_r(errorCode, buf.data(), buf.size()); - ret = QString::fromLocal8Bit(buf.constData()); + ret = fromstrerror_helper(strerror_r(errorCode, buf.data(), buf.size()), buf); #else ret = QString::fromLocal8Bit(strerror(errorCode)); #endif diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index 3b86e89060..4566ec001a 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -43,7 +43,6 @@ #include <private/qthread_p.h> #include <qcoreapplication.h> #include <private/qcoreapplication_p.h> -#include <qdatetime.h> #include <unistd.h> #include <errno.h> @@ -636,6 +635,74 @@ void QSocketActiveObject::deleteLater() } } +#ifdef QT_SYMBIAN_PRIORITY_DROP +class QIdleDetectorThread +{ +public: + QIdleDetectorThread() + : m_state(STATE_RUN), m_stop(false) + { + qt_symbian_throwIfError(m_lock.CreateLocal()); + TInt err = m_idleDetectorThread.Create(KNullDesC(), &idleDetectorThreadFunc, 1024, &User::Allocator(), this); + if (err != KErrNone) + m_lock.Close(); + qt_symbian_throwIfError(err); + m_idleDetectorThread.SetPriority(EPriorityAbsoluteBackgroundNormal); + m_idleDetectorThread.Resume(); + } + + ~QIdleDetectorThread() + { + // close down the idle thread because if corelib is loaded temporarily, this would leak threads into the host process + m_stop = true; + m_lock.Signal(); + m_idleDetectorThread.SetPriority(EPriorityNormal); + TRequestStatus s; + m_idleDetectorThread.Logon(s); + User::WaitForRequest(s); + m_idleDetectorThread.Close(); + m_lock.Close(); + } + + void kick() + { + m_state = STATE_KICKED; + m_lock.Signal(); + } + + bool hasRun() + { + return m_state == STATE_RUN; + } + +private: + static TInt idleDetectorThreadFunc(TAny* self) + { + static_cast<QIdleDetectorThread*>(self)->IdleLoop(); + return KErrNone; + } + + void IdleLoop() + { + while (!m_stop) { + m_lock.Wait(); + m_state = STATE_RUN; + } + } + +private: + enum IdleStates {STATE_KICKED, STATE_RUN} m_state; + bool m_stop; + RThread m_idleDetectorThread; + RFastLock m_lock; +}; + +Q_GLOBAL_STATIC(QIdleDetectorThread, idleDetectorThread); + +const int maxBusyTime = 2000; // maximum time we allow idle detector to be blocked before worrying, in milliseconds +const int baseDelay = 1000; // minimum delay time used when backing off to allow idling, in microseconds +#endif + QEventDispatcherSymbian::QEventDispatcherSymbian(QObject *parent) : QAbstractEventDispatcher(parent), m_selectThread(0), @@ -647,11 +714,15 @@ QEventDispatcherSymbian::QEventDispatcherSymbian(QObject *parent) m_iterationCount(0), m_noSocketEvents(false) { +#ifdef QT_SYMBIAN_PRIORITY_DROP + m_delay = baseDelay; + m_avgEventTime = 0; + idleDetectorThread(); +#endif } QEventDispatcherSymbian::~QEventDispatcherSymbian() { - m_processHandle.Close(); } void QEventDispatcherSymbian::startingUp() @@ -720,23 +791,7 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla m_interrupt = false; #ifdef QT_SYMBIAN_PRIORITY_DROP - /* - * This QTime variable is used to measure the time it takes to finish - * the event loop. If we take too long in the loop, other processes - * may be starved and killed. After the first event has completed, we - * take the current time, and if the remaining events take longer than - * a preset time, we temporarily lower the priority to force a context - * switch. For applications that do not take unecessarily long in the - * event loop, the priority will not be altered. - */ - QTime time; - enum { - FirstRun, - SubsequentRun, - TimeStarted - } timeState = FirstRun; - - TProcessPriority priority; + QTime eventTimer; #endif while (1) { @@ -752,10 +807,18 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla } #ifdef QT_SYMBIAN_PRIORITY_DROP - if (timeState == SubsequentRun) { - time.start(); - timeState = TimeStarted; + if (idleDetectorThread()->hasRun()) { + if (m_delay > baseDelay) + m_delay -= baseDelay; + m_lastIdleRequestTimer.start(); + idleDetectorThread()->kick(); + } else if (m_lastIdleRequestTimer.elapsed() > maxBusyTime) { + User::AfterHighRes(m_delay); + // allow delay to be up to 1/4 of execution time + if (!idleDetectorThread()->hasRun() && m_delay*3 < m_avgEventTime) + m_delay += baseDelay; } + eventTimer.start(); #endif TInt error; @@ -765,6 +828,12 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla CActiveScheduler::Current()->Error(error); } +#ifdef QT_SYMBIAN_PRIORITY_DROP + int eventDur = eventTimer.elapsed()*1000; + // average is calcualted as a 5% decaying exponential average + m_avgEventTime = (m_avgEventTime * 95 + eventDur * 5) / 100; +#endif + if (!handledSymbianEvent) { qFatal("QEventDispatcherSymbian::processEvents(): Caught Symbian stray signal"); } @@ -773,20 +842,6 @@ bool QEventDispatcherSymbian::processEvents ( QEventLoop::ProcessEventsFlags fla break; } block = false; -#ifdef QT_SYMBIAN_PRIORITY_DROP - if (timeState == TimeStarted && time.elapsed() > 100) { - priority = m_processHandle.Priority(); - m_processHandle.SetPriority(EPriorityBackground); - time.start(); - // Slight chance of race condition in the next lines, but nothing fatal - // will happen, just wrong priority. - if (m_processHandle.Priority() == EPriorityBackground) { - m_processHandle.SetPriority(priority); - } - } - if (timeState == FirstRun) - timeState = SubsequentRun; -#endif }; emit awake(); diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h index 52811999e0..05758cacd4 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian_p.h +++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h @@ -62,6 +62,7 @@ #include <qmutex.h> #include <qwaitcondition.h> #include <qsocketnotifier.h> +#include <qdatetime.h> #include <e32base.h> @@ -280,7 +281,9 @@ private: QList<QActiveObject *> m_deferredActiveObjects; - RProcess m_processHandle; + int m_delay; + int m_avgEventTime; + QTime m_lastIdleRequestTimer; }; #ifdef QT_DEBUG diff --git a/src/corelib/tools/qbytedata_p.h b/src/corelib/tools/qbytedata_p.h index c48bb3398d..08249e01d9 100644 --- a/src/corelib/tools/qbytedata_p.h +++ b/src/corelib/tools/qbytedata_p.h @@ -84,7 +84,7 @@ public: } - inline void append(QByteArray& bd) + inline void append(const QByteArray& bd) { if (bd.isEmpty()) return; diff --git a/src/corelib/xml/qxmlstream.g b/src/corelib/xml/qxmlstream.g index 1b882e093a..e91408f866 100644 --- a/src/corelib/xml/qxmlstream.g +++ b/src/corelib/xml/qxmlstream.g @@ -748,7 +748,7 @@ bool QXmlStreamReaderPrivate::parse() state_stack[tos] = 0; return true; } else if (act > 0) { - if (++tos == stack_size) + if (++tos == stack_size-1) reallocateStack(); Value &val = sym_stack[tos]; diff --git a/src/corelib/xml/qxmlstream_p.h b/src/corelib/xml/qxmlstream_p.h index ac421cf8b0..f6ab3a19bc 100644 --- a/src/corelib/xml/qxmlstream_p.h +++ b/src/corelib/xml/qxmlstream_p.h @@ -61,7 +61,7 @@ class QXmlStreamReader_Table { public: - enum { + enum VariousConstants { EOF_SYMBOL = 0, AMPERSAND = 5, ANY = 41, @@ -1242,7 +1242,7 @@ bool QXmlStreamReaderPrivate::parse() state_stack[tos] = 0; return true; } else if (act > 0) { - if (++tos == stack_size) + if (++tos == stack_size-1) reallocateStack(); Value &val = sym_stack[tos]; diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index c9a79eb632..5f7813b316 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -991,15 +991,6 @@ void QSymbianControl::FocusChanged(TDrawNow /* aDrawNow */) const TBool isFullscreen = qwidget->windowState() & Qt::WindowFullScreen; const TBool cbaVisibilityHint = qwidget->windowFlags() & Qt::WindowSoftkeysVisibleHint; buttonGroup->MakeVisible(visible || (isFullscreen && cbaVisibilityHint)); - - // Responsiviness - CEikCba *cba = static_cast<CEikCba *>( buttonGroup->ButtonGroup() ); // downcast from MEikButtonGroup - TUint cbaFlags = cba->ButtonGroupFlags(); - if(qwidget->windowFlags() & Qt::WindowSoftkeysRespondHint) - cbaFlags |= EAknCBAFlagRespondWhenInvisible; - else - cbaFlags &= ~EAknCBAFlagRespondWhenInvisible; - cba->SetButtonGroupFlags(cbaFlags); } #endif } else if (QApplication::activeWindow() == qwidget->window()) { diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index c30814bc15..a0429d3c96 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -1123,15 +1123,6 @@ void QWidget::setWindowState(Qt::WindowStates newstate) if (buttonGroup) { // Visibility buttonGroup->MakeVisible(visible || (isFullscreen && cbaRequested)); - - // Responsiviness - CEikCba *cba = static_cast<CEikCba *>( buttonGroup->ButtonGroup() ); // downcast from MEikButtonGroup - TUint cbaFlags = cba->ButtonGroupFlags(); - if(windowFlags() & Qt::WindowSoftkeysRespondHint) - cbaFlags |= EAknCBAFlagRespondWhenInvisible; - else - cbaFlags &= ~EAknCBAFlagRespondWhenInvisible; - cba->SetButtonGroupFlags(cbaFlags); } #endif // Q_WS_S60 diff --git a/src/gui/painting/qprintengine_ps.cpp b/src/gui/painting/qprintengine_ps.cpp index ac94de339b..28e9a7a309 100644 --- a/src/gui/painting/qprintengine_ps.cpp +++ b/src/gui/painting/qprintengine_ps.cpp @@ -485,7 +485,6 @@ void QPSPrintEnginePrivate::emitHeader(bool finished) QByteArray header; QPdf::ByteStream s(&header); - s << "%!PS-Adobe-1.0"; qreal scale = 72. / ((qreal) q->metric(QPaintDevice::PdmDpiY)); QRect pageRect = this->pageRect(); @@ -497,28 +496,32 @@ void QPSPrintEnginePrivate::emitHeader(bool finished) int width = pageRect.width(); int height = pageRect.height(); if (finished && pageCount == 1 && copies == 1 && - ((fullPage && qt_gen_epsf) || (outputFileName.endsWith(QLatin1String(".eps")))) - ) { + ((fullPage && qt_gen_epsf) || (outputFileName.endsWith(QLatin1String(".eps"))))) + { + // According to the EPSF 3.0 spec it is required that the PS + // version is PS-Adobe-3.0 + s << "%!PS-Adobe-3.0"; if (!boundingBox.isValid()) boundingBox.setRect(0, 0, width, height); if (orientation == QPrinter::Landscape) { if (!fullPage) boundingBox.translate(-mleft, -mtop); s << " EPSF-3.0\n%%BoundingBox: " - << (int)(printer->height() - boundingBox.bottom())*scale // llx - << (int)(printer->width() - boundingBox.right())*scale - 1 // lly - << (int)(printer->height() - boundingBox.top())*scale + 1 // urx - << (int)(printer->width() - boundingBox.left())*scale; // ury + << int((printer->height() - boundingBox.bottom())*scale) // llx + << int((printer->width() - boundingBox.right())*scale - 1) // lly + << int((printer->height() - boundingBox.top())*scale + 1) // urx + << int((printer->width() - boundingBox.left())*scale); // ury } else { if (!fullPage) boundingBox.translate(mleft, -mtop); s << " EPSF-3.0\n%%BoundingBox: " - << (int)(boundingBox.left())*scale - << (int)(printer->height() - boundingBox.bottom())*scale - 1 - << (int)(boundingBox.right())*scale + 1 - << (int)(printer->height() - boundingBox.top())*scale; + << int((boundingBox.left())*scale) + << int((printer->height() - boundingBox.bottom())*scale - 1) + << int((boundingBox.right())*scale + 1) + << int((printer->height() - boundingBox.top())*scale); } } else { + s << "%!PS-Adobe-1.0"; int w = width + (fullPage ? 0 : mleft + mright); int h = height + (fullPage ? 0 : mtop + mbottom); w = (int)(w*scale); diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 6f0590811f..90b8be36c7 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -92,10 +92,10 @@ static const qreal goldenRatio = 1.618; const layoutHeader QS60StylePrivate::m_layoutHeaders[] = { // *** generated layout data *** -{240,320,1,17,"QVGA Landscape"}, -{320,240,1,17,"QVGA Portrait"}, -{360,640,1,17,"NHD Landscape"}, -{640,360,1,17,"NHD Portrait"}, +{240,320,1,18,"QVGA Landscape"}, +{320,240,1,18,"QVGA Portrait"}, +{360,640,1,18,"NHD Landscape"}, +{640,360,1,18,"NHD Portrait"}, {352,800,1,12,"E90 Landscape"} // *** End of generated data *** }; @@ -104,11 +104,11 @@ const int QS60StylePrivate::m_numberOfLayouts = const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = { // *** generated pixel metrics *** -{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,0,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1, 106}, -{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,0,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1, 106}, -{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,0,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,13,13,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1, 135}, -{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,0,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,12,12,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1, 135}, -{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,0,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1, 106} +{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,30,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1, 106}, +{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,28,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1, 106}, +{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,13,13,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1, 135}, +{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,12,12,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1, 135}, +{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,30,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1, 106} // *** End of generated data *** }; @@ -2429,6 +2429,10 @@ int QS60Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const if (metricValue == KNotFound) metricValue = QCommonStyle::pixelMetric(metric, option, widget); + // Menu scrollers should be set to zero height for combobox popups + if (metric == PM_MenuScrollerHeight && !qobject_cast<const QMenu *>(widget)) + metricValue = 0; + //if layout direction is mirrored, switch left and right border margins if (option && option->direction == Qt::RightToLeft) { if (metric == PM_LayoutLeftMargin) @@ -2490,6 +2494,12 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; case CT_MenuItem: case CT_ItemViewItem: + if (const QStyleOptionMenuItem *menuItem = qstyleoption_cast<const QStyleOptionMenuItem *>(opt)) { + if (menuItem->menuItemType == QStyleOptionMenuItem::Separator) { + sz = QSize(); + break; + } + } sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget); if (QS60StylePrivate::isTouchSupported()) //Make itemview easier to use in touch devices @@ -2570,6 +2580,9 @@ int QS60Style::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w case SH_Menu_SelectionWrap: retValue = true; break; + case SH_Menu_MouseTracking: + retValue = true; + break; case SH_ItemView_ShowDecorationSelected: retValue = true; break; diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 24887b5d80..21a31a35ec 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -2616,10 +2616,8 @@ void QFontCache::cleanup() } QT_CATCH (const std::bad_alloc &) { // no cache - just ignore } - if (cache && cache->hasLocalData()) { - cache->localData()->clear(); + if (cache && cache->hasLocalData()) cache->setLocalData(0); - } } #endif // QT_NO_THREAD @@ -2631,6 +2629,7 @@ QFontCache::QFontCache() QFontCache::~QFontCache() { + clear(); { EngineDataCache::ConstIterator it = engineDataCache.constBegin(), end = engineDataCache.constEnd(); diff --git a/src/gui/text/qfontdatabase.cpp b/src/gui/text/qfontdatabase.cpp index ae5e9cabba..ff29462d3f 100644 --- a/src/gui/text/qfontdatabase.cpp +++ b/src/gui/text/qfontdatabase.cpp @@ -598,10 +598,10 @@ static QList<QFontDatabase::WritingSystem> determineWritingSystemsFromTrueTypeBi #if defined(Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) // class with virtual destructor, derived in qfontdatabase_s60.cpp -class QFontDatabaseS60Store +class QSymbianFontDatabaseExtras { public: - virtual ~QFontDatabaseS60Store() {} + virtual ~QSymbianFontDatabaseExtras() {} }; #endif @@ -614,7 +614,7 @@ public: , stream(0) #endif #if defined(Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) - , s60Store(0) + , symbianExtras(0) #endif { } ~QFontDatabasePrivate() { @@ -628,9 +628,9 @@ public: families = 0; count = 0; #if defined(Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) - if (s60Store) { - delete s60Store; - s60Store = 0; + if (symbianExtras) { + delete symbianExtras; + symbianExtras = 0; } #endif // don't clear the memory fonts! @@ -675,7 +675,7 @@ public: QDataStream *stream; QStringList fallbackFamilies; #elif defined(Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) - const QFontDatabaseS60Store *s60Store; + const QSymbianFontDatabaseExtras *symbianExtras; #endif }; diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp index ef5e0c44b7..3ad0806405 100644 --- a/src/gui/text/qfontdatabase_s60.cpp +++ b/src/gui/text/qfontdatabase_s60.cpp @@ -92,22 +92,22 @@ QFileInfoList alternativeFilePaths(const QString &path, const QStringList &nameF } #if defined(QT_NO_FREETYPE) -class QFontDatabaseS60StoreImplementation : public QFontDatabaseS60Store +class QSymbianFontDatabaseExtrasImplementation : public QSymbianFontDatabaseExtras { public: - QFontDatabaseS60StoreImplementation(); - ~QFontDatabaseS60StoreImplementation(); + QSymbianFontDatabaseExtrasImplementation(); + ~QSymbianFontDatabaseExtrasImplementation(); - const QFontEngineS60Extensions *extension(const QString &typeface) const; + const QSymbianTypeFaceExtras *extras(const QString &typeface) const; private: RHeap* m_heap; CFontStore *m_store; COpenFontRasterizer *m_rasterizer; - mutable QHash<QString, const QFontEngineS60Extensions *> m_extensions; + mutable QHash<QString, const QSymbianTypeFaceExtras *> m_extras; }; -QFontDatabaseS60StoreImplementation::QFontDatabaseS60StoreImplementation() +QSymbianFontDatabaseExtrasImplementation::QSymbianFontDatabaseExtrasImplementation() { m_heap = User::ChunkHeap(NULL, 0x1000, 0x100000); QT_TRAP_THROWING( @@ -127,10 +127,10 @@ QFontDatabaseS60StoreImplementation::QFontDatabaseS60StoreImplementation() QT_TRAP_THROWING(m_store->AddFileL(fontFilePtr)); } } -QFontDatabaseS60StoreImplementation::~QFontDatabaseS60StoreImplementation() +QSymbianFontDatabaseExtrasImplementation::~QSymbianFontDatabaseExtrasImplementation() { - typedef QHash<QString, const QFontEngineS60Extensions *>::iterator iterator; - for (iterator p = m_extensions.begin(); p != m_extensions.end(); ++p) { + typedef QHash<QString, const QSymbianTypeFaceExtras *>::iterator iterator; + for (iterator p = m_extras.begin(); p != m_extras.end(); ++p) { m_store->ReleaseFont((*p)->fontOwner()); delete *p; } @@ -156,9 +156,9 @@ COpenFont* OpenFontFromBitmapFont(const CBitmapFont* aBitmapFont) } #endif // FNTSTORE_H_INLINES_SUPPORT_FMM -const QFontEngineS60Extensions *QFontDatabaseS60StoreImplementation::extension(const QString &typeface) const +const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(const QString &typeface) const { - if (!m_extensions.contains(typeface)) { + if (!m_extras.contains(typeface)) { CFont* font = NULL; TFontSpec spec(qt_QString2TPtrC(typeface), 1); spec.iHeight = 1; @@ -171,9 +171,9 @@ const QFontEngineS60Extensions *QFontDatabaseS60StoreImplementation::extension(c #else OpenFontFromBitmapFont(bitmapFont); #endif // FNTSTORE_H_INLINES_SUPPORT_FMM - m_extensions.insert(typeface, new QFontEngineS60Extensions(font, openFont)); + m_extras.insert(typeface, new QSymbianTypeFaceExtras(font, openFont)); } - return m_extensions.value(typeface); + return m_extras.value(typeface); } #else class QFontEngineFTS60 : public QFontEngineFT @@ -240,14 +240,14 @@ static void initializeDb() return; #if defined(QT_NO_FREETYPE) - if (!db->s60Store) - db->s60Store = new QFontDatabaseS60StoreImplementation; + if (!db->symbianExtras) + db->symbianExtras = new QSymbianFontDatabaseExtrasImplementation; QSymbianFbsHeapLock lock(QSymbianFbsHeapLock::Unlock); const int numTypeFaces = QS60Data::screenDevice()->NumTypefaces(); - const QFontDatabaseS60StoreImplementation *store = - static_cast<const QFontDatabaseS60StoreImplementation*>(db->s60Store); + const QSymbianFontDatabaseExtrasImplementation *dbExtras = + static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras); bool fontAdded = false; for (int i = 0; i < numTypeFaces; i++) { TTypefaceSupport typefaceSupport; @@ -273,8 +273,8 @@ static void initializeDb() style->smoothScalable = typefaceSupport.iIsScalable; style->pixelSize(0, true); - const QFontEngineS60Extensions *extension = store->extension(familyName); - const QByteArray os2Table = extension->getSfntTable(MAKE_TAG('O', 'S', '/', '2')); + const QSymbianTypeFaceExtras *typeFaceExtras = dbExtras->extras(familyName); + const QByteArray os2Table = typeFaceExtras->getSfntTable(MAKE_TAG('O', 'S', '/', '2')); const unsigned char* data = reinterpret_cast<const unsigned char*>(os2Table.constData()); const unsigned char* ulUnicodeRange = data + 42; quint32 unicodeRange[4] = { @@ -394,10 +394,10 @@ QFontEngine *QFontDatabase::findFont(int script, const QFontPrivate *, const QFo QFontDef request = req; request.family = fontFamily; #if defined(QT_NO_FREETYPE) - const QFontDatabaseS60StoreImplementation *store = - static_cast<const QFontDatabaseS60StoreImplementation*>(db->s60Store); - const QFontEngineS60Extensions *extension = store->extension(fontFamily); - fe = new QFontEngineS60(request, extension); + const QSymbianFontDatabaseExtrasImplementation *dbExtras = + static_cast<const QSymbianFontDatabaseExtrasImplementation*>(db->symbianExtras); + const QSymbianTypeFaceExtras *typeFaceExtras = dbExtras->extras(fontFamily); + fe = new QFontEngineS60(request, typeFaceExtras); #else QFontEngine::FaceId faceId; const QtFontFamily * const reqQtFontFamily = db->family(fontFamily); diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp index e557f560b2..a9960e47a7 100644 --- a/src/gui/text/qfontengine_s60.cpp +++ b/src/gui/text/qfontengine_s60.cpp @@ -53,7 +53,7 @@ QT_BEGIN_NAMESPACE -QFontEngineS60Extensions::QFontEngineS60Extensions(CFont* fontOwner, COpenFont *font) +QSymbianTypeFaceExtras::QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font) : m_font(font) , m_cmap(0) , m_symbolCMap(false) @@ -68,7 +68,7 @@ QFontEngineS60Extensions::QFontEngineS60Extensions(CFont* fontOwner, COpenFont * Q_ASSERT(m_shapingExtension && m_trueTypeExtension); } -QByteArray QFontEngineS60Extensions::getSfntTable(uint tag) const +QByteArray QSymbianTypeFaceExtras::getSfntTable(uint tag) const { Q_ASSERT(m_trueTypeExtension->HasTrueTypeTable(tag)); TInt error = KErrNone; @@ -79,7 +79,7 @@ QByteArray QFontEngineS60Extensions::getSfntTable(uint tag) const return result; } -bool QFontEngineS60Extensions::getSfntTableData(uint tag, uchar *buffer, uint *length) const +bool QSymbianTypeFaceExtras::getSfntTableData(uint tag, uchar *buffer, uint *length) const { if (!m_trueTypeExtension->HasTrueTypeTable(tag)) return false; @@ -104,7 +104,7 @@ bool QFontEngineS60Extensions::getSfntTableData(uint tag, uchar *buffer, uint *l return result; } -const unsigned char *QFontEngineS60Extensions::cmap() const +const unsigned char *QSymbianTypeFaceExtras::cmap() const { if (!m_cmap) { m_cmapTable = getSfntTable(MAKE_TAG('c', 'm', 'a', 'p')); @@ -114,7 +114,7 @@ const unsigned char *QFontEngineS60Extensions::cmap() const return m_cmap; } -QPainterPath QFontEngineS60Extensions::glyphOutline(glyph_t glyph) const +QPainterPath QSymbianTypeFaceExtras::glyphOutline(glyph_t glyph) const { QPainterPath result; QPolygonF polygon; @@ -134,7 +134,7 @@ QPainterPath QFontEngineS60Extensions::glyphOutline(glyph_t glyph) const return result; } -CFont *QFontEngineS60Extensions::fontOwner() const +CFont *QSymbianTypeFaceExtras::fontOwner() const { return m_fontOwner; } @@ -192,8 +192,8 @@ void QFontEngineS60::releaseFont(CFont *&font) } } -QFontEngineS60::QFontEngineS60(const QFontDef &request, const QFontEngineS60Extensions *extensions) - : m_extensions(extensions) +QFontEngineS60::QFontEngineS60(const QFontDef &request, const QSymbianTypeFaceExtras *extras) + : m_extras(extras) , m_originalFont(0) , m_originalFontSizeInPixels((request.pixelSize >= 0)? request.pixelSize:pointsToPixels(request.pointSize)) @@ -220,7 +220,7 @@ bool QFontEngineS60::stringToCMap(const QChar *characters, int len, QGlyphLayout } HB_Glyph *g = glyphs->glyphs; - const unsigned char* cmap = m_extensions->cmap(); + const unsigned char* cmap = m_extras->cmap(); const bool isRtl = (flags & QTextEngine::RightToLeft); for (int i = 0; i < len; ++i) { const unsigned int uc = getChar(characters, i, len); @@ -339,7 +339,7 @@ const char *QFontEngineS60::name() const bool QFontEngineS60::canRender(const QChar *string, int len) { - const unsigned char *cmap = m_extensions->cmap(); + const unsigned char *cmap = m_extras->cmap(); for (int i = 0; i < len; ++i) { const unsigned int uc = getChar(string, i, len); if (QFontEngine::getTrueTypeGlyphIndex(cmap, uc) == 0) @@ -350,12 +350,12 @@ bool QFontEngineS60::canRender(const QChar *string, int len) QByteArray QFontEngineS60::getSfntTable(uint tag) const { - return m_extensions->getSfntTable(tag); + return m_extras->getSfntTable(tag); } bool QFontEngineS60::getSfntTableData(uint tag, uchar *buffer, uint *length) const { - return m_extensions->getSfntTableData(tag, buffer, length); + return m_extras->getSfntTableData(tag, buffer, length); } QFontEngine::Type QFontEngineS60::type() const diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h index a80af4d9a5..b6b117f427 100644 --- a/src/gui/text/qfontengine_s60_p.h +++ b/src/gui/text/qfontengine_s60_p.h @@ -63,10 +63,10 @@ class CFont; QT_BEGIN_NAMESPACE // ..gives us access to truetype tables, UTF-16<->GlyphID mapping, and glyph outlines -class QFontEngineS60Extensions +class QSymbianTypeFaceExtras { public: - QFontEngineS60Extensions(CFont* fontOwner, COpenFont *font); + QSymbianTypeFaceExtras(CFont* fontOwner, COpenFont *font); QByteArray getSfntTable(uint tag) const; bool getSfntTableData(uint tag, uchar *buffer, uint *length) const; @@ -87,7 +87,7 @@ private: class QFontEngineS60 : public QFontEngine { public: - QFontEngineS60(const QFontDef &fontDef, const QFontEngineS60Extensions *extensions); + QFontEngineS60(const QFontDef &fontDef, const QSymbianTypeFaceExtras *extras); ~QFontEngineS60(); bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const; @@ -128,7 +128,7 @@ private: CFont *fontWithSize(qreal size) const; static void releaseFont(CFont *&font); - const QFontEngineS60Extensions *m_extensions; + const QSymbianTypeFaceExtras *m_extras; CFont* m_originalFont; const qreal m_originalFontSizeInPixels; CFont* m_scaledFont; diff --git a/src/gui/widgets/qlineedit.cpp b/src/gui/widgets/qlineedit.cpp index 655fc61f54..c1c4abf3e9 100644 --- a/src/gui/widgets/qlineedit.cpp +++ b/src/gui/widgets/qlineedit.cpp @@ -740,8 +740,14 @@ bool QLineEdit::validateAndSet(const QString &newText, int newPos, setText(oldText); return false; } - setCursorPosition(newPos); - setSelection(qMin(newMarkAnchor, newMarkDrag), qAbs(newMarkAnchor - newMarkDrag)); + int selstart = qMin(newMarkAnchor, newMarkDrag); + int sellength = qAbs(newMarkAnchor - newMarkDrag); + if (selstart == newPos) { + selstart = qMax(newMarkAnchor, newMarkDrag); + sellength = -sellength; + } + //setSelection also set the position + setSelection(selstart, sellength); return true; } #endif //QT3_SUPPORT diff --git a/src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp index 6b150086a3..c9a8b713f8 100644 --- a/src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp +++ b/src/multimedia/multimedia/audio/qaudioinput_alsa_p.cpp @@ -58,8 +58,6 @@ QT_BEGIN_NAMESPACE //#define DEBUG_AUDIO 1 -static const int minimumIntervalTime = 50; - QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -594,10 +592,7 @@ int QAudioInputPrivate::periodSize() const void QAudioInputPrivate::setNotifyInterval(int ms) { - if(ms >= minimumIntervalTime) - intervalTime = ms; - else - intervalTime = minimumIntervalTime; + intervalTime = qMax(0, ms); } int QAudioInputPrivate::notifyInterval() const @@ -649,7 +644,7 @@ bool QAudioInputPrivate::deviceReady() if(deviceState != QAudio::ActiveState) return true; - if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { + if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); diff --git a/src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp index 260110e284..14a1cf337d 100644 --- a/src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp +++ b/src/multimedia/multimedia/audio/qaudioinput_win32_p.cpp @@ -57,8 +57,6 @@ QT_BEGIN_NAMESPACE //#define DEBUG_AUDIO 1 -static const int minimumIntervalTime = 50; - QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -74,16 +72,11 @@ QAudioInputPrivate::QAudioInputPrivate(const QByteArray &device, const QAudioFor pullMode = true; resuming = false; finished = false; - - connect(this,SIGNAL(processMore()),SLOT(deviceReady())); - - InitializeCriticalSection(&waveInCriticalSection); } QAudioInputPrivate::~QAudioInputPrivate() { stop(); - DeleteCriticalSection(&waveInCriticalSection); } void QT_WIN_CALLBACK QAudioInputPrivate::waveInProc( HWAVEIN hWaveIn, UINT uMsg, @@ -98,20 +91,18 @@ void QT_WIN_CALLBACK QAudioInputPrivate::waveInProc( HWAVEIN hWaveIn, UINT uMsg, if(!qAudio) return; + QMutexLocker(&qAudio->mutex); + switch(uMsg) { case WIM_OPEN: break; case WIM_DATA: - EnterCriticalSection(&qAudio->waveInCriticalSection); if(qAudio->waveFreeBlockCount > 0) qAudio->waveFreeBlockCount--; qAudio->feedback(); - LeaveCriticalSection(&qAudio->waveInCriticalSection); break; case WIM_CLOSE: - EnterCriticalSection(&qAudio->waveInCriticalSection); qAudio->finished = true; - LeaveCriticalSection(&qAudio->waveInCriticalSection); break; default: return; @@ -156,8 +147,7 @@ void QAudioInputPrivate::freeBlocks(WAVEHDR* blockArray) int count = buffer_size/period_size; for(int i = 0; i < count; i++) { - if (blocks->dwFlags & WHDR_PREPARED) - waveInUnprepareHeader(hWaveIn,blocks, sizeof(WAVEHDR)); + waveInUnprepareHeader(hWaveIn,blocks, sizeof(WAVEHDR)); blocks+=sizeof(WAVEHDR); } HeapFree(GetProcessHeap(), 0, blockArray); @@ -284,9 +274,9 @@ bool QAudioInputPrivate::open() return false; } - EnterCriticalSection(&waveInCriticalSection); + mutex.lock(); waveFreeBlockCount = buffer_size/period_size; - LeaveCriticalSection(&waveInCriticalSection); + mutex.unlock(); waveCurrentBlock = 0; @@ -330,13 +320,11 @@ void QAudioInputPrivate::close() Sleep(10); } - EnterCriticalSection(&waveInCriticalSection); - for(int i=0; i<waveFreeBlockCount; i++) { - if(waveBlocks[i].dwFlags & WHDR_PREPARED) - waveInUnprepareHeader(hWaveIn,&waveBlocks[i],sizeof(WAVEHDR)); - } - LeaveCriticalSection(&waveInCriticalSection); + mutex.lock(); + for(int i=0; i<waveFreeBlockCount; i++) + waveInUnprepareHeader(hWaveIn,&waveBlocks[i],sizeof(WAVEHDR)); freeBlocks(waveBlocks); + mutex.unlock(); } int QAudioInputPrivate::bytesReady() const @@ -407,9 +395,10 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) waveInUnprepareHeader(hWaveIn,&waveBlocks[header], sizeof(WAVEHDR)); - EnterCriticalSection(&waveInCriticalSection); + mutex.lock(); waveFreeBlockCount++; - LeaveCriticalSection(&waveInCriticalSection); + mutex.unlock(); + waveBlocks[header].dwBytesRecorded=0; waveBlocks[header].dwFlags = 0L; result = waveInPrepareHeader(hWaveIn,&waveBlocks[header], sizeof(WAVEHDR)); @@ -417,18 +406,22 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) result = waveInPrepareHeader(hWaveIn,&waveBlocks[header], sizeof(WAVEHDR)); qWarning("QAudioInput: failed to prepare block %d,err=%d",header,result); errorState = QAudio::IOError; - EnterCriticalSection(&waveInCriticalSection); + + mutex.lock(); waveFreeBlockCount--; - LeaveCriticalSection(&waveInCriticalSection); + mutex.unlock(); + return 0; } result = waveInAddBuffer(hWaveIn, &waveBlocks[header], sizeof(WAVEHDR)); if(result != MMSYSERR_NOERROR) { qWarning("QAudioInput: failed to setup block %d,err=%d",header,result); errorState = QAudio::IOError; - EnterCriticalSection(&waveInCriticalSection); + + mutex.lock(); waveFreeBlockCount--; - LeaveCriticalSection(&waveInCriticalSection); + mutex.unlock(); + return 0; } header++; @@ -436,7 +429,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) header = 0; p+=l; - EnterCriticalSection(&waveInCriticalSection); + mutex.lock(); if(!pullMode) { if(l+period_size > len && waveFreeBlockCount == buffer_size/period_size) done = true; @@ -444,7 +437,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len) if(waveFreeBlockCount == buffer_size/period_size) done = true; } - LeaveCriticalSection(&waveInCriticalSection); + mutex.unlock(); written+=l; } @@ -468,9 +461,10 @@ void QAudioInputPrivate::resume() return; } } - EnterCriticalSection(&waveInCriticalSection); + + mutex.lock(); waveFreeBlockCount = buffer_size/period_size; - LeaveCriticalSection(&waveInCriticalSection); + mutex.unlock(); waveCurrentBlock = 0; header = 0; @@ -498,10 +492,7 @@ int QAudioInputPrivate::periodSize() const void QAudioInputPrivate::setNotifyInterval(int ms) { - if(ms >= minimumIntervalTime) - intervalTime = ms; - else - intervalTime = minimumIntervalTime; + intervalTime = qMax(0, ms); } int QAudioInputPrivate::notifyInterval() const @@ -535,14 +526,13 @@ void QAudioInputPrivate::feedback() QTime now(QTime::currentTime()); qDebug()<<now.second()<<"s "<<now.msec()<<"ms :feedback() INPUT "<<this; #endif - bytesAvailable = bytesReady(); - if(!(deviceState==QAudio::StoppedState||deviceState==QAudio::SuspendedState)) - emit processMore(); + QMetaObject::invokeMethod(this, "deviceReady", Qt::QueuedConnection); } bool QAudioInputPrivate::deviceReady() { + bytesAvailable = bytesReady(); #ifdef DEBUG_AUDIO QTime now(QTime::currentTime()); qDebug()<<now.second()<<"s "<<now.msec()<<"ms :deviceReady() INPUT"; @@ -559,7 +549,7 @@ bool QAudioInputPrivate::deviceReady() a->trigger(); } - if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { + if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); diff --git a/src/multimedia/multimedia/audio/qaudioinput_win32_p.h b/src/multimedia/multimedia/audio/qaudioinput_win32_p.h index 66c253579b..8a9b02b711 100644 --- a/src/multimedia/multimedia/audio/qaudioinput_win32_p.h +++ b/src/multimedia/multimedia/audio/qaudioinput_win32_p.h @@ -62,6 +62,7 @@ #include <QtCore/qstring.h> #include <QtCore/qstringlist.h> #include <QtCore/qdatetime.h> +#include <QtCore/qmutex.h> #include <QtMultimedia/qaudio.h> #include <QtMultimedia/qaudiodeviceinfo.h> @@ -122,7 +123,7 @@ private: volatile int waveFreeBlockCount; int waveCurrentBlock; - CRITICAL_SECTION waveInCriticalSection; + QMutex mutex; static void QT_WIN_CALLBACK waveInProc( HWAVEIN hWaveIn, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 ); diff --git a/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp b/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp index afae8b782d..49b32c0745 100644 --- a/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp +++ b/src/multimedia/multimedia/audio/qaudiooutput_alsa_p.cpp @@ -58,8 +58,6 @@ QT_BEGIN_NAMESPACE //#define DEBUG_AUDIO 1 -static const int minimumIntervalTime = 50; - QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -573,10 +571,7 @@ int QAudioOutputPrivate::bufferSize() const void QAudioOutputPrivate::setNotifyInterval(int ms) { - if(ms >= minimumIntervalTime) - intervalTime = ms; - else - intervalTime = minimumIntervalTime; + intervalTime = qMax(0, ms); } int QAudioOutputPrivate::notifyInterval() const @@ -718,7 +713,7 @@ bool QAudioOutputPrivate::deviceReady() if(deviceState != QAudio::ActiveState) return true; - if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { + if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); diff --git a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp index ced8c32fc0..a8aeb4193d 100644 --- a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/multimedia/audio/qaudiooutput_win32_p.cpp @@ -56,8 +56,6 @@ QT_BEGIN_NAMESPACE -static const int minimumIntervalTime = 50; - QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioFormat& audioFormat): settings(audioFormat) { @@ -73,17 +71,15 @@ QAudioOutputPrivate::QAudioOutputPrivate(const QByteArray &device, const QAudioF audioSource = 0; pullMode = true; finished = false; - InitializeCriticalSection(&waveOutCriticalSection); } QAudioOutputPrivate::~QAudioOutputPrivate() { - EnterCriticalSection(&waveOutCriticalSection); + mutex.lock(); finished = true; - LeaveCriticalSection(&waveOutCriticalSection); + mutex.unlock(); close(); - DeleteCriticalSection(&waveOutCriticalSection); } void CALLBACK QAudioOutputPrivate::waveOutProc( HWAVEOUT hWaveOut, UINT uMsg, @@ -98,6 +94,8 @@ void CALLBACK QAudioOutputPrivate::waveOutProc( HWAVEOUT hWaveOut, UINT uMsg, if(!qAudio) return; + QMutexLocker(&qAudio->mutex); + switch(uMsg) { case WOM_OPEN: qAudio->feedback(); @@ -105,16 +103,13 @@ void CALLBACK QAudioOutputPrivate::waveOutProc( HWAVEOUT hWaveOut, UINT uMsg, case WOM_CLOSE: return; case WOM_DONE: - EnterCriticalSection(&qAudio->waveOutCriticalSection); if(qAudio->finished || qAudio->buffer_size == 0 || qAudio->period_size == 0) { - LeaveCriticalSection(&qAudio->waveOutCriticalSection); return; } qAudio->waveFreeBlockCount++; if(qAudio->waveFreeBlockCount >= qAudio->buffer_size/qAudio->period_size) qAudio->waveFreeBlockCount = qAudio->buffer_size/qAudio->period_size; qAudio->feedback(); - LeaveCriticalSection(&qAudio->waveOutCriticalSection); break; default: return; @@ -150,8 +145,7 @@ void QAudioOutputPrivate::freeBlocks(WAVEHDR* blockArray) int count = buffer_size/period_size; for(int i = 0; i < count; i++) { - if (blocks->dwFlags & WHDR_PREPARED) - waveOutUnprepareHeader(hWaveOut,blocks, sizeof(WAVEHDR)); + waveOutUnprepareHeader(hWaveOut,blocks, sizeof(WAVEHDR)); blocks+=sizeof(WAVEHDR); } HeapFree(GetProcessHeap(), 0, blockArray); @@ -226,9 +220,9 @@ bool QAudioOutputPrivate::open() } waveBlocks = allocateBlocks(period_size, buffer_size/period_size); - EnterCriticalSection(&waveOutCriticalSection); + mutex.lock(); waveFreeBlockCount = buffer_size/period_size; - LeaveCriticalSection(&waveOutCriticalSection); + mutex.unlock(); waveCurrentBlock = 0; @@ -334,10 +328,7 @@ int QAudioOutputPrivate::bufferSize() const void QAudioOutputPrivate::setNotifyInterval(int ms) { - if(ms >= minimumIntervalTime) - intervalTime = ms; - else - intervalTime = minimumIntervalTime; + intervalTime = qMax(0, ms); } int QAudioOutputPrivate::notifyInterval() const @@ -369,12 +360,12 @@ qint64 QAudioOutputPrivate::write( const char *data, qint64 len ) int remain; current = &waveBlocks[waveCurrentBlock]; while(l > 0) { - EnterCriticalSection(&waveOutCriticalSection); + mutex.lock(); if(waveFreeBlockCount==0) { - LeaveCriticalSection(&waveOutCriticalSection); + mutex.unlock(); break; } - LeaveCriticalSection(&waveOutCriticalSection); + mutex.unlock(); if(current->dwFlags & WHDR_PREPARED) waveOutUnprepareHeader(hWaveOut, current, sizeof(WAVEHDR)); @@ -391,15 +382,13 @@ qint64 QAudioOutputPrivate::write( const char *data, qint64 len ) waveOutPrepareHeader(hWaveOut, current, sizeof(WAVEHDR)); waveOutWrite(hWaveOut, current, sizeof(WAVEHDR)); - EnterCriticalSection(&waveOutCriticalSection); + mutex.lock(); waveFreeBlockCount--; - LeaveCriticalSection(&waveOutCriticalSection); #ifdef DEBUG_AUDIO - EnterCriticalSection(&waveOutCriticalSection); qDebug("write out l=%d, waveFreeBlockCount=%d", current->dwBufferLength,waveFreeBlockCount); - LeaveCriticalSection(&waveOutCriticalSection); #endif + mutex.unlock(); totalTimeValue += current->dwBufferLength; waveCurrentBlock++; waveCurrentBlock %= buffer_size/period_size; @@ -454,7 +443,7 @@ void QAudioOutputPrivate::feedback() bool QAudioOutputPrivate::deviceReady() { - if(deviceState == QAudio::StoppedState) + if(deviceState == QAudio::StoppedState || deviceState == QAudio::SuspendedState) return false; if(pullMode) { @@ -468,14 +457,16 @@ bool QAudioOutputPrivate::deviceReady() startup = true; bool full=false; - EnterCriticalSection(&waveOutCriticalSection); + + mutex.lock(); if(waveFreeBlockCount==0) full = true; - LeaveCriticalSection(&waveOutCriticalSection); + mutex.unlock(); + if (full){ #ifdef DEBUG_AUDIO qDebug() << "Skipping data as unable to write"; #endif - if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime ) { + if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime ) { emit notify(); elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); @@ -505,12 +496,14 @@ bool QAudioOutputPrivate::deviceReady() bytesAvailable = bytesFree(); int check = 0; - EnterCriticalSection(&waveOutCriticalSection); + + mutex.lock(); check = waveFreeBlockCount; - LeaveCriticalSection(&waveOutCriticalSection); + mutex.unlock(); + if(check == buffer_size/period_size) { - errorState = QAudio::UnderrunError; if (deviceState != QAudio::IdleState) { + errorState = QAudio::UnderrunError; deviceState = QAudio::IdleState; emit stateChanged(deviceState); } @@ -522,19 +515,23 @@ bool QAudioOutputPrivate::deviceReady() } } else { int buffered; - EnterCriticalSection(&waveOutCriticalSection); + + mutex.lock(); buffered = waveFreeBlockCount; - LeaveCriticalSection(&waveOutCriticalSection); - errorState = QAudio::UnderrunError; + mutex.unlock(); + if (buffered >= buffer_size/period_size && deviceState == QAudio::ActiveState) { - deviceState = QAudio::IdleState; - emit stateChanged(deviceState); + if (deviceState != QAudio::IdleState) { + errorState = QAudio::UnderrunError; + deviceState = QAudio::IdleState; + emit stateChanged(deviceState); + } } } if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState) return true; - if((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { + if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) { emit notify(); elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime; timeStamp.restart(); diff --git a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.h b/src/multimedia/multimedia/audio/qaudiooutput_win32_p.h index 68a40f78e7..2d19225cd5 100644 --- a/src/multimedia/multimedia/audio/qaudiooutput_win32_p.h +++ b/src/multimedia/multimedia/audio/qaudiooutput_win32_p.h @@ -61,6 +61,7 @@ #include <QtCore/qstring.h> #include <QtCore/qstringlist.h> #include <QtCore/qdatetime.h> +#include <QtCore/qmutex.h> #include <QtMultimedia/qaudio.h> #include <QtMultimedia/qaudiodeviceinfo.h> @@ -119,7 +120,7 @@ private: static void QT_WIN_CALLBACK waveOutProc( HWAVEOUT hWaveOut, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 ); - CRITICAL_SECTION waveOutCriticalSection; + QMutex mutex; WAVEHDR* allocateBlocks(int size, int count); void freeBlocks(WAVEHDR* blockArray); diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp index 57d995af51..3b7bc9eb16 100644 --- a/src/network/access/qhttpnetworkconnectionchannel.cpp +++ b/src/network/access/qhttpnetworkconnectionchannel.cpp @@ -317,6 +317,13 @@ void QHttpNetworkConnectionChannel::_q_receiveReply() return; } + // only run when the QHttpNetworkConnection is not currently being destructed, e.g. + // this function is called from _q_disconnected which is called because + // of ~QHttpNetworkConnectionPrivate + if (!qobject_cast<QHttpNetworkConnection*>(connection)) { + return; + } + qint64 bytes = 0; QAbstractSocket::SocketState socketState = socket->state(); diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp index 7a48c2b16e..3154ed618c 100644 --- a/src/network/access/qnetworkaccesshttpbackend.cpp +++ b/src/network/access/qnetworkaccesshttpbackend.cpp @@ -726,8 +726,7 @@ void QNetworkAccessHttpBackend::readFromHttp() QByteDataBuffer list; while (httpReply->bytesAvailable() != 0 && nextDownstreamBlockSize() != 0 && nextDownstreamBlockSize() > list.byteAmount()) { - QByteArray data = httpReply->readAny(); - list.append(data); + list.append(httpReply->readAny()); } if (!list.isEmpty()) diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 07a5bf3cf3..128d18f15a 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -478,6 +478,37 @@ qint64 QNetworkReplyImplPrivate::nextDownstreamBlockSize() const return qMax<qint64>(0, readBufferMaxSize - readBuffer.byteAmount()); } +void QNetworkReplyImplPrivate::initCacheSaveDevice() +{ + Q_Q(QNetworkReplyImpl); + + // save the meta data + QNetworkCacheMetaData metaData; + metaData.setUrl(url); + metaData = backend->fetchCacheMetaData(metaData); + + // save the redirect request also in the cache + QVariant redirectionTarget = q->attribute(QNetworkRequest::RedirectionTargetAttribute); + if (redirectionTarget.isValid()) { + QNetworkCacheMetaData::AttributesMap attributes = metaData.attributes(); + attributes.insert(QNetworkRequest::RedirectionTargetAttribute, redirectionTarget); + metaData.setAttributes(attributes); + } + + cacheSaveDevice = networkCache()->prepare(metaData); + + if (!cacheSaveDevice || (cacheSaveDevice && !cacheSaveDevice->isOpen())) { + if (cacheSaveDevice && !cacheSaveDevice->isOpen()) + qCritical("QNetworkReplyImpl: network cache returned a device that is not open -- " + "class %s probably needs to be fixed", + networkCache()->metaObject()->className()); + + networkCache()->remove(url); + cacheSaveDevice = 0; + cacheEnabled = false; + } +} + // we received downstream data and send this to the cache // and to our readBuffer (which in turn gets read by the user of QNetworkReply) void QNetworkReplyImplPrivate::appendDownstreamData(QByteDataBuffer &data) @@ -487,36 +518,12 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QByteDataBuffer &data) return; if (cacheEnabled && !cacheSaveDevice) { - // save the meta data - QNetworkCacheMetaData metaData; - metaData.setUrl(url); - metaData = backend->fetchCacheMetaData(metaData); - - // save the redirect request also in the cache - QVariant redirectionTarget = q->attribute(QNetworkRequest::RedirectionTargetAttribute); - if (redirectionTarget.isValid()) { - QNetworkCacheMetaData::AttributesMap attributes = metaData.attributes(); - attributes.insert(QNetworkRequest::RedirectionTargetAttribute, redirectionTarget); - metaData.setAttributes(attributes); - } - - cacheSaveDevice = networkCache()->prepare(metaData); - - if (!cacheSaveDevice || (cacheSaveDevice && !cacheSaveDevice->isOpen())) { - if (cacheSaveDevice && !cacheSaveDevice->isOpen()) - qCritical("QNetworkReplyImpl: network cache returned a device that is not open -- " - "class %s probably needs to be fixed", - networkCache()->metaObject()->className()); - - networkCache()->remove(url); - cacheSaveDevice = 0; - cacheEnabled = false; - } + initCacheSaveDevice(); } qint64 bytesWritten = 0; for (int i = 0; i < data.bufferCount(); i++) { - QByteArray item = data[i]; + QByteArray const &item = data[i]; if (cacheSaveDevice) cacheSaveDevice->write(item.constData(), item.size()); @@ -529,6 +536,13 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QByteDataBuffer &data) bytesDownloaded += bytesWritten; lastBytesDownloaded = bytesDownloaded; + appendDownstreamDataSignalEmissions(); +} + +void QNetworkReplyImplPrivate::appendDownstreamDataSignalEmissions() +{ + Q_Q(QNetworkReplyImpl); + QPointer<QNetworkReplyImpl> qq = q; QVariant totalSize = cookedHeaders.value(QNetworkRequest::ContentLengthHeader); @@ -572,6 +586,15 @@ void QNetworkReplyImplPrivate::appendDownstreamData(QIODevice *data) _q_copyReadyRead(); } +void QNetworkReplyImplPrivate::appendDownstreamData(const QByteArray &data) +{ + // TODO implement + + // TODO call + + qFatal("QNetworkReplyImplPrivate::appendDownstreamData not implemented"); +} + void QNetworkReplyImplPrivate::finished() { Q_Q(QNetworkReplyImpl); diff --git a/src/network/access/qnetworkreplyimpl_p.h b/src/network/access/qnetworkreplyimpl_p.h index bc7e4080c6..38084bda7c 100644 --- a/src/network/access/qnetworkreplyimpl_p.h +++ b/src/network/access/qnetworkreplyimpl_p.h @@ -156,8 +156,13 @@ public: void consume(qint64 count); void emitUploadProgress(qint64 bytesSent, qint64 bytesTotal); qint64 nextDownstreamBlockSize() const; + + void initCacheSaveDevice(); + void appendDownstreamDataSignalEmissions(); void appendDownstreamData(QByteDataBuffer &data); void appendDownstreamData(QIODevice *data); + void appendDownstreamData(const QByteArray &data); + void finished(); void error(QNetworkReply::NetworkError code, const QString &errorString); void metaDataChanged(); diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 72ed6be501..bf77eda498 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -1637,7 +1637,14 @@ static void convertFromGLImage(QImage &img, int w, int h, bool alpha_format, boo uint *q = (uint*)img.scanLine(y); for (int x=0; x < w; ++x) { const uint pixel = *q; - *q = ((pixel << 16) & 0xff0000) | ((pixel >> 16) & 0xff) | (pixel & 0xff00ff00); + if (alpha_format && include_alpha) { + *q = ((pixel << 16) & 0xff0000) | ((pixel >> 16) & 0xff) + | (pixel & 0xff00ff00); + } else { + *q = 0xff000000 | ((pixel << 16) & 0xff0000) + | ((pixel >> 16) & 0xff) | (pixel & 0x00ff00); + } + q++; } } @@ -1648,7 +1655,8 @@ static void convertFromGLImage(QImage &img, int w, int h, bool alpha_format, boo QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha) { - QImage img(size, alpha_format ? QImage::Format_ARGB32 : QImage::Format_RGB32); + QImage img(size, (alpha_format && include_alpha) ? QImage::Format_ARGB32 + : QImage::Format_RGB32); int w = size.width(); int h = size.height(); glReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, img.bits()); diff --git a/src/xmlpatterns/schema/qxsdschemaresolver.cpp b/src/xmlpatterns/schema/qxsdschemaresolver.cpp index 34eb12cc17..f3d1ed040a 100644 --- a/src/xmlpatterns/schema/qxsdschemaresolver.cpp +++ b/src/xmlpatterns/schema/qxsdschemaresolver.cpp @@ -632,7 +632,14 @@ void XsdSchemaResolver::resolveSimpleContentComplexTypes(const XsdComplexType::P } else { // 1.2 const XsdSimpleType::Ptr anonType(new XsdSimpleType()); - anonType->setCategory(complexBaseType->contentType()->simpleType()->category()); + XsdSimpleType::TypeCategory baseCategory = complexBaseType->contentType()->simpleType()->category(); + anonType->setCategory(baseCategory); + + if (baseCategory == XsdSimpleType::SimpleTypeList) { + const XsdSimpleType::Ptr baseSimpleType = complexBaseType->contentType()->simpleType(); + anonType->setItemType(baseSimpleType->itemType()); + } + anonType->setDerivationMethod(XsdSimpleType::DerivationRestriction); anonType->setWxsSuperType(complexBaseType->contentType()->simpleType()); anonType->setFacets(complexTypeFacets(complexType)); diff --git a/tests/auto/qlineedit/qlineedit.pro b/tests/auto/qlineedit/qlineedit.pro index f00a2d81b3..1f862b414b 100644 --- a/tests/auto/qlineedit/qlineedit.pro +++ b/tests/auto/qlineedit/qlineedit.pro @@ -1,4 +1,5 @@ load(qttest_p4) +contains(QT_CONFIG,qt3support) QT += qt3support SOURCES += tst_qlineedit.cpp diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp index 6dc2c82022..b34e559674 100644 --- a/tests/auto/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/qlineedit/tst_qlineedit.cpp @@ -276,6 +276,11 @@ private slots: #endif void taskQTBUG_7395_readOnlyShortcut(); +#ifdef QT3_SUPPORT + void validateAndSet_data(); + void validateAndSet(); +#endif + protected slots: #ifdef QT3_SUPPORT void lostFocus(); @@ -1491,6 +1496,34 @@ void tst_QLineEdit::lostFocus() { editingFinished(); } + +void tst_QLineEdit::validateAndSet_data() +{ + QTest::addColumn<QString>("newText"); + QTest::addColumn<int>("newPos"); + QTest::addColumn<int>("newMarkAnchor"); + QTest::addColumn<int>("newMarkDrag"); + + QTest::newRow("1") << QString("Hello World") << 3 << 3 << 5; + QTest::newRow("2") << QString("Hello World") << 5 << 3 << 5; +} + +void tst_QLineEdit::validateAndSet() +{ + QFETCH(QString, newText); + QFETCH(int, newPos); + QFETCH(int, newMarkAnchor); + QFETCH(int, newMarkDrag); + + QLineEdit e; + e.validateAndSet(newText, newPos, newMarkAnchor, newMarkDrag); + QCOMPARE(e.text(), newText); + QCOMPARE(e.cursorPosition(), newPos); + QCOMPARE(e.selectedText(), newText.mid(newMarkAnchor, newMarkDrag-newMarkAnchor)); +} + + + #endif void tst_QLineEdit::editingFinished() { diff --git a/tests/auto/qxmlstream/tst_qxmlstream.cpp b/tests/auto/qxmlstream/tst_qxmlstream.cpp index 27ae089a0f..3c5358c36c 100644 --- a/tests/auto/qxmlstream/tst_qxmlstream.cpp +++ b/tests/auto/qxmlstream/tst_qxmlstream.cpp @@ -569,6 +569,7 @@ private slots: void clear() const; void checkCommentIndentation() const; void checkCommentIndentation_data() const; + void qtbug9196_crash() const; private: static QByteArray readFile(const QString &filename); @@ -1528,5 +1529,16 @@ void tst_QXmlStream::checkCommentIndentation() const // task 256468 QCOMPARE(output, expectedOutput); } +void tst_QXmlStream::qtbug9196_crash() const +{ + // the following input used to produce a crash in the stream reader + QByteArray ba("<a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a>" + "<a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a><a></a>"); + QXmlStreamReader xml(ba); + while (!xml.atEnd()) { + xml.readNext(); + } +} + #include "tst_qxmlstream.moc" // vim: et:ts=4:sw=4:sts=4 diff --git a/tests/auto/selftests/expected_assert.lightxml b/tests/auto/selftests/expected_assert.lightxml index 50b5376510..f49cdf0826 100644 --- a/tests/auto/selftests/expected_assert.lightxml +++ b/tests/auto/selftests/expected_assert.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_assert.xml b/tests/auto/selftests/expected_assert.xml index 2a77999c0e..3a7152c71a 100644 --- a/tests/auto/selftests/expected_assert.xml +++ b/tests/auto/selftests/expected_assert.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Assert"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_assert.xunitxml b/tests/auto/selftests/expected_assert.xunitxml index 264ae9364a..2a7d5ebce8 100644 --- a/tests/auto/selftests/expected_assert.xunitxml +++ b/tests/auto/selftests/expected_assert.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="1" tests="3" name="tst_Assert"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="testNumber1"/> diff --git a/tests/auto/selftests/expected_badxml.lightxml b/tests/auto/selftests/expected_badxml.lightxml index d6a76f2fc6..244f9b3ffa 100644 --- a/tests/auto/selftests/expected_badxml.lightxml +++ b/tests/auto/selftests/expected_badxml.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_badxml.xml b/tests/auto/selftests/expected_badxml.xml index c1962c70cc..86fdd545ac 100644 --- a/tests/auto/selftests/expected_badxml.xml +++ b/tests/auto/selftests/expected_badxml.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_BadXml"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_badxml.xunitxml b/tests/auto/selftests/expected_badxml.xunitxml index 3a410e782b..724aed59e7 100644 --- a/tests/auto/selftests/expected_badxml.xunitxml +++ b/tests/auto/selftests/expected_badxml.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="8" failures="5" tests="5" name="tst_BadXml"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="fail" name="badDataTag"> diff --git a/tests/auto/selftests/expected_benchlibcallgrind.lightxml b/tests/auto/selftests/expected_benchlibcallgrind.lightxml index b3959add7f..b47cdc49e6 100644 --- a/tests/auto/selftests/expected_benchlibcallgrind.lightxml +++ b/tests/auto/selftests/expected_benchlibcallgrind.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_benchlibcallgrind.xml b/tests/auto/selftests/expected_benchlibcallgrind.xml index e27fbab7ab..12da64f06d 100644 --- a/tests/auto/selftests/expected_benchlibcallgrind.xml +++ b/tests/auto/selftests/expected_benchlibcallgrind.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_BenchlibCallgrind"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_benchlibcallgrind.xunitxml b/tests/auto/selftests/expected_benchlibcallgrind.xunitxml index 61b4b5a121..cc58f7fdd4 100644 --- a/tests/auto/selftests/expected_benchlibcallgrind.xunitxml +++ b/tests/auto/selftests/expected_benchlibcallgrind.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="3" name="tst_BenchlibCallgrind"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="twoHundredMillionInstructions"> diff --git a/tests/auto/selftests/expected_benchlibeventcounter.lightxml b/tests/auto/selftests/expected_benchlibeventcounter.lightxml index 3e6c444049..2d6b727c0e 100644 --- a/tests/auto/selftests/expected_benchlibeventcounter.lightxml +++ b/tests/auto/selftests/expected_benchlibeventcounter.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_benchlibeventcounter.xml b/tests/auto/selftests/expected_benchlibeventcounter.xml index 0e29bc46d7..7fa1fddab3 100644 --- a/tests/auto/selftests/expected_benchlibeventcounter.xml +++ b/tests/auto/selftests/expected_benchlibeventcounter.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_BenchlibEventCounter"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_benchlibeventcounter.xunitxml b/tests/auto/selftests/expected_benchlibeventcounter.xunitxml index 72a8b9e300..60dca28d4f 100644 --- a/tests/auto/selftests/expected_benchlibeventcounter.xunitxml +++ b/tests/auto/selftests/expected_benchlibeventcounter.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="3" name="tst_BenchlibEventCounter"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="events"> diff --git a/tests/auto/selftests/expected_benchliboptions.lightxml b/tests/auto/selftests/expected_benchliboptions.lightxml index 1138462c54..7a42cc750f 100644 --- a/tests/auto/selftests/expected_benchliboptions.lightxml +++ b/tests/auto/selftests/expected_benchliboptions.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_benchliboptions.xml b/tests/auto/selftests/expected_benchliboptions.xml index bcf1ea03e6..40bff95f79 100644 --- a/tests/auto/selftests/expected_benchliboptions.xml +++ b/tests/auto/selftests/expected_benchliboptions.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_BenchlibOneHundredMinimum"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_benchliboptions.xunitxml b/tests/auto/selftests/expected_benchliboptions.xunitxml index f5c776d36f..7317e90470 100644 --- a/tests/auto/selftests/expected_benchliboptions.xunitxml +++ b/tests/auto/selftests/expected_benchliboptions.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="3" name="tst_BenchlibOneHundredMinimum"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="threeEvents"> diff --git a/tests/auto/selftests/expected_benchlibtickcounter.lightxml b/tests/auto/selftests/expected_benchlibtickcounter.lightxml index 0071ceb4df..ea926c2073 100644 --- a/tests/auto/selftests/expected_benchlibtickcounter.lightxml +++ b/tests/auto/selftests/expected_benchlibtickcounter.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_benchlibtickcounter.xml b/tests/auto/selftests/expected_benchlibtickcounter.xml index 3a63d7438e..3cd82a2b1a 100644 --- a/tests/auto/selftests/expected_benchlibtickcounter.xml +++ b/tests/auto/selftests/expected_benchlibtickcounter.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_BenchlibTickCounter"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_benchlibtickcounter.xunitxml b/tests/auto/selftests/expected_benchlibtickcounter.xunitxml index 15ff5ae9ad..28c8f11143 100644 --- a/tests/auto/selftests/expected_benchlibtickcounter.xunitxml +++ b/tests/auto/selftests/expected_benchlibtickcounter.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="3" name="tst_BenchlibTickCounter"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="threeBillionTicks"> diff --git a/tests/auto/selftests/expected_benchlibwalltime.lightxml b/tests/auto/selftests/expected_benchlibwalltime.lightxml index aa0cc010c6..500647d606 100644 --- a/tests/auto/selftests/expected_benchlibwalltime.lightxml +++ b/tests/auto/selftests/expected_benchlibwalltime.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_benchlibwalltime.xml b/tests/auto/selftests/expected_benchlibwalltime.xml index 155fca9dbe..1379d4bcc9 100644 --- a/tests/auto/selftests/expected_benchlibwalltime.xml +++ b/tests/auto/selftests/expected_benchlibwalltime.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_BenchlibWalltime"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_benchlibwalltime.xunitxml b/tests/auto/selftests/expected_benchlibwalltime.xunitxml index 5b713a9e2a..e4ffca4d09 100644 --- a/tests/auto/selftests/expected_benchlibwalltime.xunitxml +++ b/tests/auto/selftests/expected_benchlibwalltime.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="5" name="tst_BenchlibWalltime"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="waitForOneThousand"> diff --git a/tests/auto/selftests/expected_cmptest.lightxml b/tests/auto/selftests/expected_cmptest.lightxml index 9824daebee..a6d35e47ac 100644 --- a/tests/auto/selftests/expected_cmptest.lightxml +++ b/tests/auto/selftests/expected_cmptest.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_cmptest.xml b/tests/auto/selftests/expected_cmptest.xml index 4dd1bc542b..7064fcb1d0 100644 --- a/tests/auto/selftests/expected_cmptest.xml +++ b/tests/auto/selftests/expected_cmptest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Cmptest"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_cmptest.xunitxml b/tests/auto/selftests/expected_cmptest.xunitxml index dc77fd25fd..01bfda8d01 100644 --- a/tests/auto/selftests/expected_cmptest.xunitxml +++ b/tests/auto/selftests/expected_cmptest.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="4" tests="5" name="tst_Cmptest"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="compare_boolfuncs"/> diff --git a/tests/auto/selftests/expected_commandlinedata.lightxml b/tests/auto/selftests/expected_commandlinedata.lightxml index 8763a913dc..ad1f893519 100644 --- a/tests/auto/selftests/expected_commandlinedata.lightxml +++ b/tests/auto/selftests/expected_commandlinedata.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_commandlinedata.xml b/tests/auto/selftests/expected_commandlinedata.xml index 95b7a502ac..bcc8cbdbb7 100644 --- a/tests/auto/selftests/expected_commandlinedata.xml +++ b/tests/auto/selftests/expected_commandlinedata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_DataTable"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_commandlinedata.xunitxml b/tests/auto/selftests/expected_commandlinedata.xunitxml index 9c4dbfd6e1..45b833cf19 100644 --- a/tests/auto/selftests/expected_commandlinedata.xunitxml +++ b/tests/auto/selftests/expected_commandlinedata.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="6" failures="0" tests="4" name="tst_DataTable"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="fiveTablePasses"> diff --git a/tests/auto/selftests/expected_crashes.lightxml b/tests/auto/selftests/expected_crashes.lightxml index 60ef54063e..2eee3cc3a1 100644 --- a/tests/auto/selftests/expected_crashes.lightxml +++ b/tests/auto/selftests/expected_crashes.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_crashes.xml b/tests/auto/selftests/expected_crashes.xml index d20cee3d3c..be01e633e9 100644 --- a/tests/auto/selftests/expected_crashes.xml +++ b/tests/auto/selftests/expected_crashes.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Crashes"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_crashes.xunitxml b/tests/auto/selftests/expected_crashes.xunitxml index 7b5b552386..558491c598 100644 --- a/tests/auto/selftests/expected_crashes.xunitxml +++ b/tests/auto/selftests/expected_crashes.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="1" tests="2" name="tst_Crashes"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="fail" name="crash"> diff --git a/tests/auto/selftests/expected_datatable.lightxml b/tests/auto/selftests/expected_datatable.lightxml index 681aa10b22..a1c9d2b057 100644 --- a/tests/auto/selftests/expected_datatable.lightxml +++ b/tests/auto/selftests/expected_datatable.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_datatable.xml b/tests/auto/selftests/expected_datatable.xml index 447245163d..0d12594a09 100644 --- a/tests/auto/selftests/expected_datatable.xml +++ b/tests/auto/selftests/expected_datatable.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_DataTable"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_datatable.xunitxml b/tests/auto/selftests/expected_datatable.xunitxml index 8b23938fc7..6bac80e0a2 100644 --- a/tests/auto/selftests/expected_datatable.xunitxml +++ b/tests/auto/selftests/expected_datatable.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="13" tests="10" name="tst_DataTable"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="singleTestFunction1"/> diff --git a/tests/auto/selftests/expected_datetime.lightxml b/tests/auto/selftests/expected_datetime.lightxml index 054d3063c2..edad6aa832 100644 --- a/tests/auto/selftests/expected_datetime.lightxml +++ b/tests/auto/selftests/expected_datetime.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_datetime.xml b/tests/auto/selftests/expected_datetime.xml index 7ac35d8b10..b7b870e678 100644 --- a/tests/auto/selftests/expected_datetime.xml +++ b/tests/auto/selftests/expected_datetime.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_DateTime"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_datetime.xunitxml b/tests/auto/selftests/expected_datetime.xunitxml index 0c66aa6015..b30d1c441f 100644 --- a/tests/auto/selftests/expected_datetime.xunitxml +++ b/tests/auto/selftests/expected_datetime.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="3" tests="4" name="tst_DateTime"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="fail" name="dateTime"> diff --git a/tests/auto/selftests/expected_exceptionthrow.lightxml b/tests/auto/selftests/expected_exceptionthrow.lightxml index f092a0c0dc..90371e4e36 100644 --- a/tests/auto/selftests/expected_exceptionthrow.lightxml +++ b/tests/auto/selftests/expected_exceptionthrow.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_exceptionthrow.xml b/tests/auto/selftests/expected_exceptionthrow.xml index 69d6e2a1bc..bddbb7d7b6 100644 --- a/tests/auto/selftests/expected_exceptionthrow.xml +++ b/tests/auto/selftests/expected_exceptionthrow.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Exception"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_exceptionthrow.xunitxml b/tests/auto/selftests/expected_exceptionthrow.xunitxml index 6fcf70f4a8..ab0d379255 100644 --- a/tests/auto/selftests/expected_exceptionthrow.xunitxml +++ b/tests/auto/selftests/expected_exceptionthrow.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="1" tests="2" name="tst_Exception"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="fail" name="throwException"> diff --git a/tests/auto/selftests/expected_expectfail.lightxml b/tests/auto/selftests/expected_expectfail.lightxml index 2424ada82b..d3fb05bb48 100644 --- a/tests/auto/selftests/expected_expectfail.lightxml +++ b/tests/auto/selftests/expected_expectfail.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_expectfail.xml b/tests/auto/selftests/expected_expectfail.xml index 849b16a0ed..670467eb07 100644 --- a/tests/auto/selftests/expected_expectfail.xml +++ b/tests/auto/selftests/expected_expectfail.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_ExpectFail"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_expectfail.xunitxml b/tests/auto/selftests/expected_expectfail.xunitxml index 429093c319..32a5cfca81 100644 --- a/tests/auto/selftests/expected_expectfail.xunitxml +++ b/tests/auto/selftests/expected_expectfail.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="7" failures="0" tests="5" name="tst_ExpectFail"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="xfail" name="expectAndContinue"> diff --git a/tests/auto/selftests/expected_failinit.lightxml b/tests/auto/selftests/expected_failinit.lightxml index 13ba15d7d2..93a4e3f90e 100644 --- a/tests/auto/selftests/expected_failinit.lightxml +++ b/tests/auto/selftests/expected_failinit.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/failinit/tst_failinit.cpp" line="55"> diff --git a/tests/auto/selftests/expected_failinit.xml b/tests/auto/selftests/expected_failinit.xml index 0943586e1e..e1f9e8d069 100644 --- a/tests/auto/selftests/expected_failinit.xml +++ b/tests/auto/selftests/expected_failinit.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_FailInit"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/failinit/tst_failinit.cpp" line="55"> diff --git a/tests/auto/selftests/expected_failinit.xunitxml b/tests/auto/selftests/expected_failinit.xunitxml index 40f9134ca3..3c2e31be29 100644 --- a/tests/auto/selftests/expected_failinit.xunitxml +++ b/tests/auto/selftests/expected_failinit.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="1" tests="2" name="tst_FailInit"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="fail" name="initTestCase"> <failure message="'false' returned FALSE. ()" result="fail"/> diff --git a/tests/auto/selftests/expected_failinitdata.lightxml b/tests/auto/selftests/expected_failinitdata.lightxml index 9fac6f9cb8..56d8c71ba6 100644 --- a/tests/auto/selftests/expected_failinitdata.lightxml +++ b/tests/auto/selftests/expected_failinitdata.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/failinitdata/tst_failinitdata.cpp" line="56"> diff --git a/tests/auto/selftests/expected_failinitdata.xml b/tests/auto/selftests/expected_failinitdata.xml index 7ef3e0ff96..47be1b6726 100644 --- a/tests/auto/selftests/expected_failinitdata.xml +++ b/tests/auto/selftests/expected_failinitdata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_FailInitData"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="fail" file="/local/user_builds/qt/4.6/tests/auto/selftests/failinitdata/tst_failinitdata.cpp" line="56"> diff --git a/tests/auto/selftests/expected_failinitdata.xunitxml b/tests/auto/selftests/expected_failinitdata.xunitxml index e2c11b0a42..f32ccd5e81 100644 --- a/tests/auto/selftests/expected_failinitdata.xunitxml +++ b/tests/auto/selftests/expected_failinitdata.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="1" tests="1" name="tst_FailInitData"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="fail" name="initTestCase"> <failure message="'false' returned FALSE. ()" result="fail"/> diff --git a/tests/auto/selftests/expected_fetchbogus.lightxml b/tests/auto/selftests/expected_fetchbogus.lightxml index edce1963ce..c53d851d79 100644 --- a/tests/auto/selftests/expected_fetchbogus.lightxml +++ b/tests/auto/selftests/expected_fetchbogus.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_fetchbogus.xml b/tests/auto/selftests/expected_fetchbogus.xml index 9df9b6dd72..7daa065e3d 100644 --- a/tests/auto/selftests/expected_fetchbogus.xml +++ b/tests/auto/selftests/expected_fetchbogus.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_FetchBogus"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_fetchbogus.xunitxml b/tests/auto/selftests/expected_fetchbogus.xunitxml index 864e8a0e00..fe31b4b600 100644 --- a/tests/auto/selftests/expected_fetchbogus.xunitxml +++ b/tests/auto/selftests/expected_fetchbogus.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="1" tests="2" name="tst_FetchBogus"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="fail" name="fetchBogus"> diff --git a/tests/auto/selftests/expected_globaldata.lightxml b/tests/auto/selftests/expected_globaldata.lightxml index 47ef0e9594..2d195ee58b 100644 --- a/tests/auto/selftests/expected_globaldata.lightxml +++ b/tests/auto/selftests/expected_globaldata.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_globaldata.xml b/tests/auto/selftests/expected_globaldata.xml index 8cafbf8fb5..ea4beb1886 100644 --- a/tests/auto/selftests/expected_globaldata.xml +++ b/tests/auto/selftests/expected_globaldata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Subtest"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_globaldata.xunitxml b/tests/auto/selftests/expected_globaldata.xunitxml index f4446761e5..d88fdbffa6 100644 --- a/tests/auto/selftests/expected_globaldata.xunitxml +++ b/tests/auto/selftests/expected_globaldata.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="3" failures="0" tests="6" name="tst_Subtest"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="testGlobal"/> diff --git a/tests/auto/selftests/expected_longstring.lightxml b/tests/auto/selftests/expected_longstring.lightxml index df615a13af..a186ccc604 100644 --- a/tests/auto/selftests/expected_longstring.lightxml +++ b/tests/auto/selftests/expected_longstring.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_longstring.xml b/tests/auto/selftests/expected_longstring.xml index ca352fc267..45ad2862fd 100644 --- a/tests/auto/selftests/expected_longstring.xml +++ b/tests/auto/selftests/expected_longstring.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_LongString"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_longstring.xunitxml b/tests/auto/selftests/expected_longstring.xunitxml index 0d05f57f65..6486817dbb 100644 --- a/tests/auto/selftests/expected_longstring.xunitxml +++ b/tests/auto/selftests/expected_longstring.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="1" tests="3" name="tst_LongString"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="fail" name="failWithLongString"> diff --git a/tests/auto/selftests/expected_maxwarnings.lightxml b/tests/auto/selftests/expected_maxwarnings.lightxml index fc4552d4c3..f9320ea151 100644 --- a/tests/auto/selftests/expected_maxwarnings.lightxml +++ b/tests/auto/selftests/expected_maxwarnings.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_maxwarnings.xml b/tests/auto/selftests/expected_maxwarnings.xml index 934607b75b..2c3736e263 100644 --- a/tests/auto/selftests/expected_maxwarnings.xml +++ b/tests/auto/selftests/expected_maxwarnings.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="MaxWarnings"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_maxwarnings.xunitxml b/tests/auto/selftests/expected_maxwarnings.xunitxml index 1444130856..b1b0215cef 100644 --- a/tests/auto/selftests/expected_maxwarnings.xunitxml +++ b/tests/auto/selftests/expected_maxwarnings.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="2002" failures="0" tests="3" name="MaxWarnings"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="warn"> diff --git a/tests/auto/selftests/expected_multiexec.lightxml b/tests/auto/selftests/expected_multiexec.lightxml index 092479cc27..1f42eac34e 100644 --- a/tests/auto/selftests/expected_multiexec.lightxml +++ b/tests/auto/selftests/expected_multiexec.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_multiexec.xml b/tests/auto/selftests/expected_multiexec.xml index 2a88d32956..7f71f6edac 100644 --- a/tests/auto/selftests/expected_multiexec.xml +++ b/tests/auto/selftests/expected_multiexec.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Nothing"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_multiexec.xunitxml b/tests/auto/selftests/expected_multiexec.xunitxml index 8b7f3ba2a0..6bc04c3ddd 100644 --- a/tests/auto/selftests/expected_multiexec.xunitxml +++ b/tests/auto/selftests/expected_multiexec.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="3" name="tst_Nothing"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="nothing"/> diff --git a/tests/auto/selftests/expected_singleskip.lightxml b/tests/auto/selftests/expected_singleskip.lightxml index 1d414e899e..971a999643 100644 --- a/tests/auto/selftests/expected_singleskip.lightxml +++ b/tests/auto/selftests/expected_singleskip.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_singleskip.xml b/tests/auto/selftests/expected_singleskip.xml index 89119e39c4..483863ec91 100644 --- a/tests/auto/selftests/expected_singleskip.xml +++ b/tests/auto/selftests/expected_singleskip.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_SingleSkip"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_singleskip.xunitxml b/tests/auto/selftests/expected_singleskip.xunitxml index 0ac8be09fe..70968fa1c4 100644 --- a/tests/auto/selftests/expected_singleskip.xunitxml +++ b/tests/auto/selftests/expected_singleskip.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="0" tests="3" name="tst_SingleSkip"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase name="myTest"> diff --git a/tests/auto/selftests/expected_skip.lightxml b/tests/auto/selftests/expected_skip.lightxml index 86a2a960f8..145704ef7a 100644 --- a/tests/auto/selftests/expected_skip.lightxml +++ b/tests/auto/selftests/expected_skip.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_skip.xml b/tests/auto/selftests/expected_skip.xml index 5c61eb8b54..3c7b1073c8 100644 --- a/tests/auto/selftests/expected_skip.xml +++ b/tests/auto/selftests/expected_skip.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Skip"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_skip.xunitxml b/tests/auto/selftests/expected_skip.xunitxml index 4749906c53..956d51f531 100644 --- a/tests/auto/selftests/expected_skip.xunitxml +++ b/tests/auto/selftests/expected_skip.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="4" failures="0" tests="5" name="tst_Skip"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase name="test"> diff --git a/tests/auto/selftests/expected_skipglobal.lightxml b/tests/auto/selftests/expected_skipglobal.lightxml index 61c778f40e..66084fc1e8 100644 --- a/tests/auto/selftests/expected_skipglobal.lightxml +++ b/tests/auto/selftests/expected_skipglobal.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Message type="skip" file="/local/user_builds/qt/4.6/tests/auto/selftests/skipglobal/tst_skipglobal.cpp" line="72"> diff --git a/tests/auto/selftests/expected_skipglobal.xml b/tests/auto/selftests/expected_skipglobal.xml index 54a5671fb8..4d25bc9460 100644 --- a/tests/auto/selftests/expected_skipglobal.xml +++ b/tests/auto/selftests/expected_skipglobal.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_SkipGlobal"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Message type="skip" file="/local/user_builds/qt/4.6/tests/auto/selftests/skipglobal/tst_skipglobal.cpp" line="72"> diff --git a/tests/auto/selftests/expected_skipglobal.xunitxml b/tests/auto/selftests/expected_skipglobal.xunitxml index cf6152f1fe..cc43ec8614 100644 --- a/tests/auto/selftests/expected_skipglobal.xunitxml +++ b/tests/auto/selftests/expected_skipglobal.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="0" tests="1" name="tst_SkipGlobal"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase name="initTestCase"> <!-- message="Skippy Skippy" type="skip" --> diff --git a/tests/auto/selftests/expected_skipinit.lightxml b/tests/auto/selftests/expected_skipinit.lightxml index 0fbcdfb07c..ea07bd7b9d 100644 --- a/tests/auto/selftests/expected_skipinit.lightxml +++ b/tests/auto/selftests/expected_skipinit.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Message type="skip" file="/local/user_builds/qt/4.6/tests/auto/selftests/skipinit/tst_skipinit.cpp" line="55"> diff --git a/tests/auto/selftests/expected_skipinit.xml b/tests/auto/selftests/expected_skipinit.xml index e8f2772399..5118fd1cb0 100644 --- a/tests/auto/selftests/expected_skipinit.xml +++ b/tests/auto/selftests/expected_skipinit.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_SkipInit"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Message type="skip" file="/local/user_builds/qt/4.6/tests/auto/selftests/skipinit/tst_skipinit.cpp" line="55"> diff --git a/tests/auto/selftests/expected_skipinit.xunitxml b/tests/auto/selftests/expected_skipinit.xunitxml index 848b53937a..f62df71d96 100644 --- a/tests/auto/selftests/expected_skipinit.xunitxml +++ b/tests/auto/selftests/expected_skipinit.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="0" tests="2" name="tst_SkipInit"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase name="initTestCase"> <!-- message="Skip inside initTestCase. This should skip all tests in the class." type="skip" --> diff --git a/tests/auto/selftests/expected_skipinitdata.lightxml b/tests/auto/selftests/expected_skipinitdata.lightxml index 2caf2cca4a..bac851ec25 100644 --- a/tests/auto/selftests/expected_skipinitdata.lightxml +++ b/tests/auto/selftests/expected_skipinitdata.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Message type="skip" file="/local/user_builds/qt/4.6/tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp" line="56"> diff --git a/tests/auto/selftests/expected_skipinitdata.xml b/tests/auto/selftests/expected_skipinitdata.xml index ced753e447..05e57b1ab3 100644 --- a/tests/auto/selftests/expected_skipinitdata.xml +++ b/tests/auto/selftests/expected_skipinitdata.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_SkipInitData"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Message type="skip" file="/local/user_builds/qt/4.6/tests/auto/selftests/skipinitdata/tst_skipinitdata.cpp" line="56"> diff --git a/tests/auto/selftests/expected_skipinitdata.xunitxml b/tests/auto/selftests/expected_skipinitdata.xunitxml index b761debff2..93967eb055 100644 --- a/tests/auto/selftests/expected_skipinitdata.xunitxml +++ b/tests/auto/selftests/expected_skipinitdata.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="1" failures="0" tests="1" name="tst_SkipInitData"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase name="initTestCase"> <!-- message="Skip inside initTestCase. This should skip all tests in the class." type="skip" --> diff --git a/tests/auto/selftests/expected_sleep.lightxml b/tests/auto/selftests/expected_sleep.lightxml index b235385174..d7e8ea970f 100644 --- a/tests/auto/selftests/expected_sleep.lightxml +++ b/tests/auto/selftests/expected_sleep.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_sleep.xml b/tests/auto/selftests/expected_sleep.xml index 2733c754d4..cbc4d14004 100644 --- a/tests/auto/selftests/expected_sleep.xml +++ b/tests/auto/selftests/expected_sleep.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Sleep"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_sleep.xunitxml b/tests/auto/selftests/expected_sleep.xunitxml index ec2dac79ab..409621e6bc 100644 --- a/tests/auto/selftests/expected_sleep.xunitxml +++ b/tests/auto/selftests/expected_sleep.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="0" tests="3" name="tst_Sleep"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="sleep"/> diff --git a/tests/auto/selftests/expected_strcmp.lightxml b/tests/auto/selftests/expected_strcmp.lightxml index 96e5e2d9c2..40b5da4878 100644 --- a/tests/auto/selftests/expected_strcmp.lightxml +++ b/tests/auto/selftests/expected_strcmp.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_strcmp.xml b/tests/auto/selftests/expected_strcmp.xml index 953286faa8..13fe772431 100644 --- a/tests/auto/selftests/expected_strcmp.xml +++ b/tests/auto/selftests/expected_strcmp.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_StrCmp"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_strcmp.xunitxml b/tests/auto/selftests/expected_strcmp.xunitxml index 6ce0c35d73..c2b694b8bb 100644 --- a/tests/auto/selftests/expected_strcmp.xunitxml +++ b/tests/auto/selftests/expected_strcmp.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="3" failures="5" tests="8" name="tst_StrCmp"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="compareCharStars"/> diff --git a/tests/auto/selftests/expected_subtest.lightxml b/tests/auto/selftests/expected_subtest.lightxml index d9d311c66f..c2b8d4d2f7 100644 --- a/tests/auto/selftests/expected_subtest.lightxml +++ b/tests/auto/selftests/expected_subtest.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_subtest.xml b/tests/auto/selftests/expected_subtest.xml index 8ca16a4a93..5ecb0a2e9f 100644 --- a/tests/auto/selftests/expected_subtest.xml +++ b/tests/auto/selftests/expected_subtest.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Subtest"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_subtest.xunitxml b/tests/auto/selftests/expected_subtest.xunitxml index 7d958ffe63..a5f75fe73e 100644 --- a/tests/auto/selftests/expected_subtest.xunitxml +++ b/tests/auto/selftests/expected_subtest.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="0" failures="7" tests="7" name="tst_Subtest"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="test1"/> diff --git a/tests/auto/selftests/expected_warnings.lightxml b/tests/auto/selftests/expected_warnings.lightxml index 9c8be34851..4e0ae8a789 100644 --- a/tests/auto/selftests/expected_warnings.lightxml +++ b/tests/auto/selftests/expected_warnings.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_warnings.xml b/tests/auto/selftests/expected_warnings.xml index 8d22b8cbb7..13e6c1df79 100644 --- a/tests/auto/selftests/expected_warnings.xml +++ b/tests/auto/selftests/expected_warnings.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Warnings"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_warnings.xunitxml b/tests/auto/selftests/expected_warnings.xunitxml index 9c377e50d4..a96393d648 100644 --- a/tests/auto/selftests/expected_warnings.xunitxml +++ b/tests/auto/selftests/expected_warnings.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="8" failures="1" tests="4" name="tst_Warnings"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="testWarnings"> diff --git a/tests/auto/selftests/expected_xunit.lightxml b/tests/auto/selftests/expected_xunit.lightxml index d7573f3a68..726f08d321 100644 --- a/tests/auto/selftests/expected_xunit.lightxml +++ b/tests/auto/selftests/expected_xunit.lightxml @@ -1,6 +1,6 @@ <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0"/> diff --git a/tests/auto/selftests/expected_xunit.xml b/tests/auto/selftests/expected_xunit.xml index 39c132b8b4..8992f49993 100644 --- a/tests/auto/selftests/expected_xunit.xml +++ b/tests/auto/selftests/expected_xunit.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <TestCase name="tst_Xunit"> <Environment> - <QtVersion>4.6.3</QtVersion> - <QTestVersion>4.6.3</QTestVersion> + <QtVersion>@INSERT_QT_VERSION_HERE@</QtVersion> + <QTestVersion>@INSERT_QT_VERSION_HERE@</QTestVersion> </Environment> <TestFunction name="initTestCase"> <Incident type="pass" file="" line="0" /> diff --git a/tests/auto/selftests/expected_xunit.xunitxml b/tests/auto/selftests/expected_xunit.xunitxml index 8d5403c110..e77004f819 100644 --- a/tests/auto/selftests/expected_xunit.xunitxml +++ b/tests/auto/selftests/expected_xunit.xunitxml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" ?> <testsuite errors="5" failures="3" tests="9" name="tst_Xunit"> <properties> - <property value="4.6.3" name="QTestVersion"/> - <property value="4.6.3" name="QtVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QTestVersion"/> + <property value="@INSERT_QT_VERSION_HERE@" name="QtVersion"/> </properties> <testcase result="pass" name="initTestCase"/> <testcase result="pass" name="testFunc1"> diff --git a/tests/auto/selftests/tst_selftests.cpp b/tests/auto/selftests/tst_selftests.cpp index cc73d21c02..0cff2fd575 100644 --- a/tests/auto/selftests/tst_selftests.cpp +++ b/tests/auto/selftests/tst_selftests.cpp @@ -117,19 +117,26 @@ static QList<QByteArray> splitLines(QByteArray ba) ba.replace('\r', ""); QList<QByteArray> out = ba.split('\n'); - // Replace any ` file="..."' in XML with a generic location. - static const char marker[] = " file=\""; + // Replace any ` file="..."' or ` line="..."' in XML with a generic location. + static const char *markers[][2] = { + { " file=\"", " file=\"__FILE__\"" }, + { " line=\"", " line=\"__LINE__\"" } + }; + static const int markerCount = sizeof markers / sizeof markers[0]; + for (int i = 0; i < out.size(); ++i) { QByteArray& line = out[i]; - int index = line.indexOf(marker); - if (index == -1) { - continue; - } - int end = line.indexOf('"', index + sizeof(marker)); - if (end == -1) { - continue; + for (int j = 0; j < markerCount; ++j) { + int index = line.indexOf(markers[j][0]); + if (index == -1) { + continue; + } + int end = line.indexOf('"', index + strlen(markers[j][0]) + 1); + if (end == -1) { + continue; + } + line.replace(index, end-index, markers[j][1]); } - line.replace(index, end-index, " file=\"__FILE__\""); } return out; @@ -396,7 +403,7 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QString const& logger, Q continue; const QString output(QString::fromLatin1(line)); - const QString expected(QString::fromLatin1(exp.at(i)).replace("<INSERT_QT_VERSION_HERE>", QT_VERSION_STR)); + const QString expected(QString::fromLatin1(exp.at(i)).replace("@INSERT_QT_VERSION_HERE@", QT_VERSION_STR)); if (line.contains("ASSERT") && output != expected) { QEXPECT_FAIL("assert", "QTestLib prints out the absolute path.", Continue); @@ -421,7 +428,7 @@ void tst_Selftests::doRunSubTest(QString const& subdir, QString const& logger, Q Are we expecting this line to be a benchmark result? If so, don't do a literal comparison, since results have some natural variance. */ - if (benchmark) { + if (benchmark || line.startsWith("<BenchmarkResult")) { QString error; BenchmarkResult actualResult = BenchmarkResult::parse(output, &error); @@ -451,6 +458,22 @@ void tst_Selftests::runSubTest() doRunSubTest(subdir, logger, arguments); } +// attribute must contain =" +QString extractXmlAttribute(const QString &line, const char *attribute) +{ + int index = line.indexOf(attribute); + if (index == -1) + return QString(); + int end = line.indexOf('"', index + strlen(attribute)); + if (end == -1) + return QString(); + + QString result = line.mid(index + strlen(attribute), end - index - strlen(attribute)); + if (result.isEmpty()) + return ""; // ensure empty but not null + return result; +} + /* Parse line into the BenchmarkResult it represents. */ BenchmarkResult BenchmarkResult::parse(QString const& line, QString* error) { @@ -464,6 +487,56 @@ BenchmarkResult BenchmarkResult::parse(QString const& line, QString* error) return out; } + if (line.startsWith("<BenchmarkResult ")) { + // XML result + // format: + // <BenchmarkResult metric="$unit" tag="$tag" value="$total" iterations="$iterations" /> + if (!line.endsWith("/>")) { + if (error) *error = "unterminated XML"; + return out; + } + + QString unit = extractXmlAttribute(line, " metric=\""); + QString sTotal = extractXmlAttribute(line, " value=\""); + QString sIterations = extractXmlAttribute(line, " iterations=\""); + if (unit.isNull() || sTotal.isNull() || sIterations.isNull()) { + if (error) *error = "XML snippet did not contain all required values"; + return out; + } + + bool ok; +#if QT_VERSION >= 0x040700 + // Qt 4.7 uses floating point + double total = sTotal.toDouble(&ok); + if (!ok) { + if (error) *error = sTotal + " is not a valid number"; + return out; + } + double iterations = sIterations.toDouble(&ok); + if (!ok) { + if (error) *error = sIterations + " is not a valid number"; + return out; + } +#else + qlonglong total = sTotal.toLongLong(&ok); + if (!ok) { + if (error) *error = sTotal + " is not a valid integer"; + return out; + } + qlonglong iterations = sIterations.toLongLong(&ok); + if (!ok) { + if (error) *error = sIterations + " is not a valid integer"; + return out; + } +#endif + + out.unit = unit; + out.total = total; + out.iterations = iterations; + return out; + } + // Text result + /* This code avoids using a QRegExp because QRegExp might be broken. */ /* Sample format: 4,000 msec per iteration (total: 4,000, iterations: 1) */ diff --git a/tests/auto/xmlpatternsvalidator/files/complex-type-including-anonymous-type.xsd b/tests/auto/xmlpatternsvalidator/files/complex-type-including-anonymous-type.xsd new file mode 100644 index 0000000000..da765b471a --- /dev/null +++ b/tests/auto/xmlpatternsvalidator/files/complex-type-including-anonymous-type.xsd @@ -0,0 +1,24 @@ +<schema targetNamespace="http://qt.nokia.com/test" + xmlns:gml="http://qt.nokia.com/test" + xmlns="http://www.w3.org/2001/XMLSchema"> + + <!-- ============= This is an excerpt from GML (http://www.opengis.net/gml) + which used to produce a crash in QXmlSchema ========== --> + + <simpleType name="doubleList"> + <list itemType="double"/> + </simpleType> + + <complexType name="DirectPositionType"> + <simpleContent> + <extension base="gml:doubleList"/> + </simpleContent> + </complexType> + + <complexType name="VectorType"> + <simpleContent> + <restriction base="gml:DirectPositionType"/> + </simpleContent> + </complexType> + +</schema> diff --git a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp index 7aab47f4ea..3517b5a426 100644 --- a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp +++ b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp @@ -111,8 +111,8 @@ void tst_XmlPatternsValidator::xsdSupport() process.start(m_command, arguments); - QCOMPARE(process.exitStatus(), QProcess::NormalExit); QVERIFY(process.waitForFinished()); + QCOMPARE(process.exitStatus(), QProcess::NormalExit); if(process.exitCode() != expectedExitCode) QTextStream(stderr) << "foo:" << process.readAllStandardError(); @@ -197,20 +197,25 @@ void tst_XmlPatternsValidator::xsdSupport_data() const << (QStringList() << QLatin1String("files/instance.xml")) << QString(); - QTest::newRow("A schema with an indirectly included type") + QTest::newRow("QTBUG-8394 A schema with an indirectly included type") << 0 << (QStringList() << QLatin1String("files/indirect-include-a.xsd")) << QString(); - QTest::newRow("A schema with an indirectly imported type") + QTest::newRow("QTBUG-8394 A schema with an indirectly imported type") << 0 << (QStringList() << QLatin1String("files/indirect-import-a.xsd")) << QString(); - QTest::newRow("A schema with an indirectly redefined type") + QTest::newRow("QTBUG-8394 A schema with an indirectly redefined type") << 0 << (QStringList() << QLatin1String("files/indirect-redefine-a.xsd")) << QString(); + + QTest::newRow("QTBUG-8920 A schema with a complex type that indirectly includes an anonymous type") + << 0 + << (QStringList() << QLatin1String("files/complex-type-including-anonymous-type.xsd")) + << QString(); } QTEST_MAIN(tst_XmlPatternsValidator) diff --git a/util/qlalr/cppgenerator.cpp b/util/qlalr/cppgenerator.cpp index f52a86fc56..45de51cde6 100644 --- a/util/qlalr/cppgenerator.cpp +++ b/util/qlalr/cppgenerator.cpp @@ -355,7 +355,7 @@ void CppGenerator::operator () () out << startIncludeGuard(grammar.merged_output) << endl; if (copyright) { - out << "#if defined(Q_OS_VXWORKS) && defined(ERROR)" << endl + out << "#if defined(ERROR)" << endl << "# undef ERROR" << endl << "#endif" << endl << endl; } diff --git a/util/s60pixelmetrics/pixel_metrics.cpp b/util/s60pixelmetrics/pixel_metrics.cpp index 814e185fd4..0fd650e5b6 100644 --- a/util/s60pixelmetrics/pixel_metrics.cpp +++ b/util/s60pixelmetrics/pixel_metrics.cpp @@ -50,7 +50,7 @@ // so that we can keep dynamic and static values inline. // Please adjust version data if correcting dynamic PM calculations. const TInt KPMMajorVersion = 1; -const TInt KPMMinorVersion = 17; +const TInt KPMMinorVersion = 18; TPixelMetricsVersion PixelMetrics::Version() { @@ -1020,7 +1020,21 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric) break; case QStyle::PM_MenuScrollerHeight: - value = 0; + { + TRect rectParent( mainPaneRect ); + TAknLayoutRect listWidthScrollBarsRect; + listWidthScrollBarsRect.LayoutRect( rectParent, AknLayoutScalable_Avkon::listscroll_gen_pane(0).LayoutLine() ); + + TAknLayoutRect listWidgetRect; + listWidgetRect.LayoutRect( listWidthScrollBarsRect.Rect(), AknLayoutScalable_Avkon::list_gen_pane(0).LayoutLine() ); + TAknLayoutRect singleLineListWidgetRect; + singleLineListWidgetRect.LayoutRect( listWidgetRect.Rect(), AknLayoutScalable_Avkon::list_single_pane(0).LayoutLine() ); + + TAknLayoutRect listHighlightRect; + listHighlightRect.LayoutRect( singleLineListWidgetRect.Rect(), AknLayoutScalable_Avkon::list_highlight_pane_cp1(0).LayoutLine() ); + + value = listHighlightRect.Rect().Height(); + } break; // todo: re-check if these really are not available in s60 |