diff options
author | Kurt Korbatits <kurt.korbatits@nokia.com> | 2010-06-10 04:37:54 (GMT) |
---|---|---|
committer | Kurt Korbatits <kurt.korbatits@nokia.com> | 2010-06-10 04:37:54 (GMT) |
commit | b2cfa7ceaba6f6aef3f9d01f82f8aba95ba45cd6 (patch) | |
tree | c84ba40e7e2b5505d4c46a1f144529b0d05f9769 /src | |
parent | a4df1784086ee086e64b35fc1d2df827704708be (diff) | |
parent | be68f6960f7665c715ea4cca90c2ea4ccae1e0fa (diff) | |
download | Qt-b2cfa7ceaba6f6aef3f9d01f82f8aba95ba45cd6.zip Qt-b2cfa7ceaba6f6aef3f9d01f82f8aba95ba45cd6.tar.gz Qt-b2cfa7ceaba6f6aef3f9d01f82f8aba95ba45cd6.tar.bz2 |
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-multimedia-staging into 4.6
Diffstat (limited to 'src')
60 files changed, 852 insertions, 680 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h index be74e2a..5e15480 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h @@ -317,6 +317,11 @@ #define WTF_PLATFORM_X86_64 1 #endif +/* PLATFORM(ALPHA) */ +#if defined(__alpha__) +#define WTF_PLATFORM_ALPHA 1 +#endif + /* PLATFORM(SH4) */ #if defined(__SH4__) #define WTF_PLATFORM_SH4 1 @@ -720,7 +725,7 @@ #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64) #if PLATFORM(X86_64) && (PLATFORM(DARWIN) || PLATFORM(LINUX) || PLATFORM(SOLARIS) || PLATFORM(HPUX)) #define WTF_USE_JSVALUE64 1 -#elif (PLATFORM(IA64) && !PLATFORM(IA64_32)) || PLATFORM(SPARC64) +#elif (PLATFORM(IA64) && !PLATFORM(IA64_32)) || PLATFORM(SPARC64) || PLATFORM(ALPHA) #define WTF_USE_JSVALUE64 1 #elif PLATFORM(AIX64) #define WTF_USE_JSVALUE64 1 diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp index 6cfeb76..9b64ab3 100644 --- a/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp +++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.cpp @@ -184,6 +184,8 @@ int AbstractAudioEffect::effectParameterChanged( const EffectParameter ¶m, const QVariant &value) { // Default implementation + Q_UNUSED(param) + Q_UNUSED(value) Q_ASSERT_X(false, Q_FUNC_INFO, "Effect has no parameters"); return 0; } diff --git a/src/3rdparty/phonon/mmf/abstractaudioeffect.h b/src/3rdparty/phonon/mmf/abstractaudioeffect.h index d71993b..70adcf6 100644 --- a/src/3rdparty/phonon/mmf/abstractaudioeffect.h +++ b/src/3rdparty/phonon/mmf/abstractaudioeffect.h @@ -118,6 +118,10 @@ private: // for each of the effects. Using this reduces repetition of boilerplate // in the implementations of the backend effect nodes. +#ifdef Q_CC_NOKIAX86 +# pragma warn_illtokenpasting off +#endif + #define PHONON_MMF_DEFINE_EFFECT_FUNCTIONS(Effect) \ \ void Effect##::createEffect(AudioPlayer::NativePlayer *player) \ diff --git a/src/3rdparty/phonon/mmf/audiooutput.cpp b/src/3rdparty/phonon/mmf/audiooutput.cpp index c6be20b..3588683 100644 --- a/src/3rdparty/phonon/mmf/audiooutput.cpp +++ b/src/3rdparty/phonon/mmf/audiooutput.cpp @@ -78,6 +78,9 @@ bool MMF::AudioOutput::setOutputDevice(int index) { Q_ASSERT_X(index == AudioOutputDeviceID, Q_FUNC_INFO, "We only support one output device, with id 0"); +#ifdef QT_NO_DEBUG + Q_UNUSED(index) +#endif return true; } diff --git a/src/3rdparty/phonon/mmf/bassboost.cpp b/src/3rdparty/phonon/mmf/bassboost.cpp index c7af939..67076f6 100644 --- a/src/3rdparty/phonon/mmf/bassboost.cpp +++ b/src/3rdparty/phonon/mmf/bassboost.cpp @@ -49,6 +49,7 @@ const char* BassBoost::description() bool BassBoost::getParameters(CMdaAudioOutputStream *stream, QList<EffectParameter> ¶meters) { + Q_UNUSED(parameters) QScopedPointer<CBassBoost> effect; TRAPD(err, effect.reset(CBassBoost::NewL(*stream))); return (KErrNone == err); diff --git a/src/3rdparty/phonon/mmf/effectfactory.cpp b/src/3rdparty/phonon/mmf/effectfactory.cpp index c5e33d5..4643978 100644 --- a/src/3rdparty/phonon/mmf/effectfactory.cpp +++ b/src/3rdparty/phonon/mmf/effectfactory.cpp @@ -183,8 +183,9 @@ EffectFactory::EffectData EffectFactory::getData() /* defaultValue */ QVariant(bool(true))); data.m_parameters.append(param); - if (data.m_supported = BackendNode::getParameters - (stream.data(), data.m_parameters)) { + data.m_supported = BackendNode::getParameters(stream.data(), + data.m_parameters); + if (data.m_supported) { const QString description = QCoreApplication::translate ("Phonon::MMF::EffectFactory", BackendNode::description()); data.m_descriptions.insert("name", description); diff --git a/src/3rdparty/phonon/mmf/loudness.cpp b/src/3rdparty/phonon/mmf/loudness.cpp index 1079a35..ca05ab0 100644 --- a/src/3rdparty/phonon/mmf/loudness.cpp +++ b/src/3rdparty/phonon/mmf/loudness.cpp @@ -49,6 +49,7 @@ const char* Loudness::description() bool Loudness::getParameters(CMdaAudioOutputStream *stream, QList<EffectParameter> ¶meters) { + Q_UNUSED(parameters) QScopedPointer<CLoudness> effect; TRAPD(err, effect.reset(CLoudness::NewL(*stream))); return (KErrNone == err); diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index fe2950e..51d663b 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - 4fb414b38f7c7c8439ce6a4323f1acb057a3ff20 + d6d6c3821ed111b214a753f1ce8fa969c1a94dc3 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 5e63c7c..c3df1bf 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,70 @@ +2010-04-19 Balazs Kelemen <kb@inf.u-szeged.hu> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] Destroy SharedTimerQt before destruction of QCoreApplication. + + To avoid unsafe situations caused by running WebCore code (through firing timers) when destruction of QCoreApplication + has been started, we should explicitly destroy the SharedTimerQt instance on application exit. + We can achieve that through installing a self-destroying slot for the QCoreApplication::aboutToQuit() signal + into the SharedTimerQt instance. + + https://bugs.webkit.org/show_bug.cgi?id=36832 + + No functional change so no new tests. + + * platform/qt/SharedTimerQt.cpp: + (WebCore::SharedTimerQt::SharedTimerQt): + (WebCore::SharedTimerQt::destroy): + (WebCore::SharedTimerQt::inst): + +2010-05-04 Tucker Jay <jay.tucker@nokia.com> + + Reviewed by Holger Freyther. + + Animated GIF images does not animate 10x as expected by default. + https://bugs.webkit.org/show_bug.cgi?id=36818 + + Added test case to existing manual test to test the + fixed functionality. + + * manual-tests/qt/qt-10loop-anim.gif: Added. + * manual-tests/qt/qt-gif-test.html: + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::repetitionCount): + +2010-04-21 Zoltan Herczeg <zherczeg@webkit.org> + + Reviewed by Kenneth Rohde Christiansen. + + [Qt] startAnimation() is not needed to preceede nativeImageForCurrentFrame() + https://bugs.webkit.org/show_bug.cgi?id=37844 + + nativeImageForCurrentFrame() resets the m_decoder parameter under Qt, + which is required by startAnimation() to detect frame and repetition counts. + Hence, Image::drawTiled cannot start animations under Qt: + <html><body background="animated.gif"></body></html> does not work + + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::internalHandleCurrentImage): + +2010-03-10 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Simon Hausmann. + + [Qt] Non animated gifs are animated in QtWebKit + https://bugs.webkit.org/show_bug.cgi?id=35955 + + Properly map Qt animated and non-animated values to WebCore's + understanding of animated and non-animated images. Currently + we can not map anything to the cAnimationLoopNone value. + + * manual-tests/qt/qt-anim.gif: Added. + * manual-tests/qt/qt-gif-test.html: Added. + * manual-tests/qt/qt-noanim.gif: Added. + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::repetitionCount): + 2010-04-26 Simon Hausmann <simon.hausmann@nokia.com> Reviewed by Kenneth Rohde Christiansen. diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp index 9bcb3e9..764b240 100644 --- a/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp @@ -114,8 +114,23 @@ size_t ImageDecoderQt::frameCount() int ImageDecoderQt::repetitionCount() const { - if (m_reader && m_reader->supportsAnimation()) - m_repetitionCount = qMax(0, m_reader->loopCount()); + if (m_reader && m_reader->supportsAnimation()) { + m_repetitionCount = m_reader->loopCount(); + + // Qt and WebCore have a incompatible understanding of + // the loop count and we can not completely map everything. + // Qt | WebCore | description + // -1 | 0 | infinite animation + // 0 | cAnimationLoopOnce | show every frame once + // n | n+1 | Qt returns the # of iterations - 1 + // n/a | cAnimationNone | show only the first frame + if (m_repetitionCount == -1) + m_repetitionCount = 0; + else if (m_repetitionCount == 0) + m_repetitionCount = cAnimationLoopOnce; + else + ++m_repetitionCount; + } return m_repetitionCount; } @@ -188,8 +203,11 @@ void ImageDecoderQt::internalHandleCurrentImage(size_t frameIndex) { // Now get the QImage from Qt and place it in the RGBA32Buffer QImage img; - if (!m_reader->read(&img)) + if (!m_reader->read(&img)) { + frameCount(); + repetitionCount(); return failRead(); + } // now into the RGBA32Buffer - even if the image is not QSize imageSize = img.size(); diff --git a/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp b/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp index e9bcaee..7c0fd05 100644 --- a/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp +++ b/src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp @@ -40,6 +40,8 @@ namespace WebCore { class SharedTimerQt : public QObject { + Q_OBJECT + friend void setSharedTimerFiredFunction(void (*f)()); public: static SharedTimerQt* inst(); @@ -50,15 +52,18 @@ public: protected: void timerEvent(QTimerEvent* ev); +private slots: + void destroy(); + private: - SharedTimerQt(QObject* parent); + SharedTimerQt(); ~SharedTimerQt(); QBasicTimer m_timer; void (*m_timerFunction)(); }; -SharedTimerQt::SharedTimerQt(QObject* parent) - : QObject(parent) +SharedTimerQt::SharedTimerQt() + : QObject() , m_timerFunction(0) {} @@ -68,11 +73,18 @@ SharedTimerQt::~SharedTimerQt() (m_timerFunction)(); } +void SharedTimerQt::destroy() +{ + delete this; +} + SharedTimerQt* SharedTimerQt::inst() { static QPointer<SharedTimerQt> timer; - if (!timer) - timer = new SharedTimerQt(QCoreApplication::instance()); + if (!timer) { + timer = new SharedTimerQt(); + timer->connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), SLOT(destroy())); + } return timer; } @@ -129,6 +141,8 @@ void stopSharedTimer() SharedTimerQt::inst()->stop(); } +#include "SharedTimerQt.moc" + } // vim: ts=4 sw=4 et diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp index 0fa31d5..8eaf3e8 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp @@ -324,8 +324,9 @@ void QWebFramePrivate::renderPrivate(QPainter *painter, QWebFrame::RenderLayer l } } -static bool webframe_scrollOverflow(WebCore::Frame* frame, int dx, int dy, const QPoint& pos) +bool QWEBKIT_EXPORT qtwebkit_webframe_scrollOverflow(QWebFrame* qFrame, int dx, int dy, const QPoint& pos) { + WebCore::Frame* frame = QWebFramePrivate::core(qFrame); if (!frame || !frame->document() || !frame->view() || !frame->eventHandler()) return false; @@ -348,17 +349,24 @@ static bool webframe_scrollOverflow(WebCore::Frame* frame, int dx, int dy, const bool scrolledHorizontal = false; bool scrolledVertical = false; - if (dx > 0) - scrolledHorizontal = renderLayer->scroll(ScrollRight, ScrollByPixel, dx); - else if (dx < 0) - scrolledHorizontal = renderLayer->scroll(ScrollLeft, ScrollByPixel, qAbs(dx)); + do { + if (dx > 0) + scrolledHorizontal = renderLayer->scroll(ScrollRight, ScrollByPixel, dx); + else if (dx < 0) + scrolledHorizontal = renderLayer->scroll(ScrollLeft, ScrollByPixel, qAbs(dx)); + + if (dy > 0) + scrolledVertical = renderLayer->scroll(ScrollDown, ScrollByPixel, dy); + else if (dy < 0) + scrolledVertical = renderLayer->scroll(ScrollUp, ScrollByPixel, qAbs(dy)); + + if (scrolledHorizontal || scrolledVertical) + return true; - if (dy > 0) - scrolledVertical = renderLayer->scroll(ScrollDown, ScrollByPixel, dy); - else if (dy < 0) - scrolledVertical = renderLayer->scroll(ScrollUp, ScrollByPixel, qAbs(dy)); + renderLayer = renderLayer->parent(); + } while (renderLayer); - return (scrolledHorizontal || scrolledVertical); + return false; } @@ -1060,7 +1068,7 @@ void QWEBKIT_EXPORT qtwebkit_webframe_scrollRecursively(QWebFrame* qFrame, int d if (!qFrame) return; - if (webframe_scrollOverflow(QWebFramePrivate::core(qFrame), dx, dy, pos)) + if (qtwebkit_webframe_scrollOverflow(qFrame, dx, dy, pos)) return; bool scrollHorizontal = false; @@ -1074,7 +1082,7 @@ void QWEBKIT_EXPORT qtwebkit_webframe_scrollRecursively(QWebFrame* qFrame, int d if (dy > 0) // scroll down scrollVertical = qFrame->scrollBarValue(Qt::Vertical) < qFrame->scrollBarMaximum(Qt::Vertical); - else if (dy < 0) //scroll up + else if (dy < 0) //scroll up scrollVertical = qFrame->scrollBarValue(Qt::Vertical) > qFrame->scrollBarMinimum(Qt::Vertical); if (scrollHorizontal || scrollVertical) { diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp index 97a4e4e..ff92f0b 100644 --- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp +++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp @@ -3071,6 +3071,8 @@ QWebPluginFactory *QWebPage::pluginFactory() const The default implementation returns the following value: "Mozilla/5.0 (%Platform%; %Security%; %Subplatform%; %Locale%) AppleWebKit/%WebKitVersion% (KHTML, like Gecko) %AppVersion Safari/%WebKitVersion%" + + On mobile platforms such as Symbian S60 and Maemo, "Mobile Safari" is used instead of "Safari". In this string the following values are replaced at run-time: \list @@ -3097,7 +3099,7 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const #elif defined Q_WS_X11 "X11" #elif defined Q_OS_SYMBIAN - "SymbianOS" + "Symbian" #else "Unknown" #endif @@ -3164,7 +3166,7 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const #elif defined Q_OS_ULTRIX "DEC Ultrix" #elif defined Q_WS_S60 - "Series60" + "" #elif defined Q_OS_UNIX "UNIX BSD/SYSV system" #elif defined Q_OS_UNIXWARE @@ -3181,16 +3183,25 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const QSysInfo::SymbianVersion symbianVersion = QSysInfo::symbianVersion(); switch (symbianVersion) { case QSysInfo::SV_9_2: - osVer = "/9.2"; + osVer = "OS/9.2"; break; case QSysInfo::SV_9_3: - osVer = "/9.3"; + osVer = "OS/9.3"; break; case QSysInfo::SV_9_4: - osVer = "/9.4"; + osVer = "OS/9.4"; + break; + case QSysInfo::SV_SF_2: + osVer = "/2"; + break; + case QSysInfo::SV_SF_3: + osVer = "/3"; + break; + case QSysInfo::SV_SF_4: + osVer = "/4"; break; default: - osVer = "Unknown"; + osVer = ""; } #endif ua = ua.arg(osVer); @@ -3259,20 +3270,20 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const // SubPlatform Version QString subPlatformVer; -#ifdef Q_OS_SYMBIAN +#ifdef Q_WS_S60 QSysInfo::S60Version s60Version = QSysInfo::s60Version(); switch (s60Version) { case QSysInfo::SV_S60_3_1: - subPlatformVer = "/3.1"; + subPlatformVer = "Series60/3.1"; break; case QSysInfo::SV_S60_3_2: - subPlatformVer = "/3.2"; + subPlatformVer = "Series60/3.2"; break; case QSysInfo::SV_S60_5_0: - subPlatformVer = "/5.0"; + subPlatformVer = "Series60/5.0"; break; default: - subPlatformVer = " Unknown"; + subPlatformVer = ""; } #endif ua = ua.arg(subPlatformVer); @@ -3282,7 +3293,7 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const if (view()) locale = view()->locale(); QString name = locale.name(); - name[2] = QLatin1Char('-'); + name.replace(QLatin1Char('_'), QLatin1Char('-')); ua.append(name); ua.append(QLatin1String(") ")); @@ -3305,8 +3316,13 @@ QString QWebPage::userAgentForUrl(const QUrl& url) const ua.append(QLatin1String(qVersion())); } +#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) + ua.append(QString(QLatin1String(" Mobile Safari/%1")) + .arg(qWebKitVersion())); +#else ua.append(QString(QLatin1String(" Safari/%1")) .arg(qWebKitVersion())); +#endif return ua; } diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index d6b4a9d..5d37901 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,29 @@ +2010-05-19 Denis Dzyubenko <denis.dzyubenko@nokia.com> + + Reviewed by Kenneth Rohde Christiansen. + + When creating the UA, do not sassmue the language code is a + two-letter iso639-1 code. + + * Api/qwebpage.cpp: + (QWebPage::userAgentForUrl): + +2010-05-12 Joe Ligman <joseph.ligman@nokia.com> + + Reviewed by Laszlo Gombos. + + [Qt] Nested overflow div does not scroll + https://bugs.webkit.org/show_bug.cgi?id=38641 + + Modify qtwebkit_webframe_scrollOverflow, if the current node's render layer + does not scroll it will try and scroll the parent's render layer. Also export + qtwebkit_webframe_scrollOverflow so we can use it independently of + qtwebkit_webframe_scrollRecursively + + * Api/qwebframe.cpp: + (qtwebkit_webframe_scrollOverflow): + (qtwebkit_webframe_scrollRecursively): + 2010-04-26 Thiago Macieira <thiago.macieira@nokia.com> Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def b/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def index cc609e1..a6efe7e 100644 --- a/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def +++ b/src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def @@ -624,5 +624,30 @@ EXPORTS ?qt_resumeActiveDOMObjects@@YAXPAVQWebFrame@@@Z @ 623 NONAME ; void qt_resumeActiveDOMObjects(class QWebFrame *) ?qt_suspendActiveDOMObjects@@YAXPAVQWebFrame@@@Z @ 624 NONAME ; void qt_suspendActiveDOMObjects(class QWebFrame *) ?qtwebkit_webframe_scrollRecursively@@YA_NPAVQWebFrame@@HH@Z @ 625 NONAME ABSENT ; bool qtwebkit_webframe_scrollRecursively(class QWebFrame *, int, int) - ?qtwebkit_webframe_scrollRecursively@@YAXPAVQWebFrame@@HHABVQPoint@@@Z @ 626 NONAME ; void qtwebkit_webframe_scrollRecursively(class QWebFrame *, int, int, class QPoint const &) + ?closeEvent@QWebInspector@@MAEXPAVQCloseEvent@@@Z @ 626 NONAME ABSENT ; void QWebInspector::closeEvent(class QCloseEvent *) + ?inspectorUrl@QWebSettings@@QBE?AVQUrl@@XZ @ 627 NONAME ABSENT ; class QUrl QWebSettings::inspectorUrl(void) const + ?isTiledBackingStoreFrozen@QGraphicsWebView@@QBE_NXZ @ 628 NONAME ABSENT ; bool QGraphicsWebView::isTiledBackingStoreFrozen(void) const + ?pageChanged@QWebFrame@@IAEXXZ @ 629 NONAME ABSENT ; void QWebFrame::pageChanged(void) + ?qt_drt_enableCaretBrowsing@@YAXPAVQWebPage@@_N@Z @ 630 NONAME ABSENT ; void qt_drt_enableCaretBrowsing(class QWebPage *, bool) + ?qt_drt_evaluateScriptInIsolatedWorld@@YAXPAVQWebFrame@@HABVQString@@@Z @ 631 NONAME ABSENT ; void qt_drt_evaluateScriptInIsolatedWorld(class QWebFrame *, int, class QString const &) + ?qt_drt_hasDocumentElement@@YA_NPAVQWebFrame@@@Z @ 632 NONAME ABSENT ; bool qt_drt_hasDocumentElement(class QWebFrame *) + ?qt_drt_numberOfPages@@YAHPAVQWebFrame@@MM@Z @ 633 NONAME ABSENT ; int qt_drt_numberOfPages(class QWebFrame *, float, float) + ?qt_drt_pageNumberForElementById@@YAHPAVQWebFrame@@ABVQString@@MM@Z @ 634 NONAME ABSENT ; int qt_drt_pageNumberForElementById(class QWebFrame *, class QString const &, float, float) + ?qt_drt_pauseSVGAnimation@@YA_NPAVQWebFrame@@ABVQString@@N1@Z @ 635 NONAME ABSENT ; bool qt_drt_pauseSVGAnimation(class QWebFrame *, class QString const &, double, class QString const &) + ?qt_drt_setDomainRelaxationForbiddenForURLScheme@@YAX_NABVQString@@@Z @ 636 NONAME ABSENT ; void qt_drt_setDomainRelaxationForbiddenForURLScheme(bool, class QString const &) + ?qt_drt_setFrameFlatteningEnabled@@YAXPAVQWebPage@@_N@Z @ 637 NONAME ABSENT ; void qt_drt_setFrameFlatteningEnabled(class QWebPage *, bool) + ?qt_drt_setMediaType@@YAXPAVQWebFrame@@ABVQString@@@Z @ 638 NONAME ABSENT ; void qt_drt_setMediaType(class QWebFrame *, class QString const &) + ?qt_drt_setTimelineProfilingEnabled@@YAXPAVQWebPage@@_N@Z @ 639 NONAME ABSENT ; void qt_drt_setTimelineProfilingEnabled(class QWebPage *, bool) + ?qt_drt_webinspector_close@@YAXPAVQWebPage@@@Z @ 640 NONAME ABSENT ; void qt_drt_webinspector_close(class QWebPage *) + ?qt_drt_webinspector_executeScript@@YAXPAVQWebPage@@JABVQString@@@Z @ 641 NONAME ABSENT ; void qt_drt_webinspector_executeScript(class QWebPage *, long, class QString const &) + ?qt_drt_webinspector_show@@YAXPAVQWebPage@@@Z @ 642 NONAME ABSENT ; void qt_drt_webinspector_show(class QWebPage *) + ?qt_drt_workerThreadCount@@YAHXZ @ 643 NONAME ABSENT ; int qt_drt_workerThreadCount(void) + ?qt_wrt_setViewMode@@YAXPAVQWebPage@@ABVQString@@@Z @ 644 NONAME ABSENT ; void qt_wrt_setViewMode(class QWebPage *, class QString const &) + ?qtwebkit_webframe_scrollRecursively@@YAXPAVQWebFrame@@HHABVQPoint@@@Z @ 645 NONAME ; void qtwebkit_webframe_scrollRecursively(class QWebFrame *, int, int, class QPoint const &) + ?resizesToContents@QGraphicsWebView@@QBE_NXZ @ 646 NONAME ABSENT ; bool QGraphicsWebView::resizesToContents(void) const + ?scrollToAnchor@QWebFrame@@QAEXABVQString@@@Z @ 647 NONAME ABSENT ; void QWebFrame::scrollToAnchor(class QString const &) + ?setInspectorUrl@QWebSettings@@QAEXABVQUrl@@@Z @ 648 NONAME ABSENT ; void QWebSettings::setInspectorUrl(class QUrl const &) + ?setResizesToContents@QGraphicsWebView@@QAEX_N@Z @ 649 NONAME ABSENT ; void QGraphicsWebView::setResizesToContents(bool) + ?setTiledBackingStoreFrozen@QGraphicsWebView@@QAEX_N@Z @ 650 NONAME ABSENT ; void QGraphicsWebView::setTiledBackingStoreFrozen(bool) + ?qtwebkit_webframe_scrollOverflow@@YA_NPAVQWebFrame@@HHABVQPoint@@@Z @ 651 NONAME ABSENT ; bool qtwebkit_webframe_scrollOverflow(QWebFrame *, int, int, const QPoint&) diff --git a/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def b/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def index d244ad5..30f8584 100644 --- a/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def +++ b/src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def @@ -695,3 +695,78 @@ EXPORTS _Z26qt_suspendActiveDOMObjectsP9QWebFrame @ 694 NONAME _Z35qtwebkit_webframe_scrollRecursivelyP9QWebFrameii @ 695 NONAME ABSENT _Z35qtwebkit_webframe_scrollRecursivelyP9QWebFrameiiRK6QPoint @ 696 NONAME + _ZN9QWebFrame17scrollRecursivelyEii @ 697 NONAME ABSENT + _ZN16QGraphicsWebView20setResizesToContentsEb @ 698 NONAME ABSENT + _ZNK16QGraphicsWebView17resizesToContentsEv @ 699 NONAME ABSENT + _Z20qt_drt_numberOfPagesP9QWebFrameff @ 700 NONAME ABSENT + _Z24qt_drt_pauseSVGAnimationP9QWebFrameRK7QStringdS3_ @ 701 NONAME ABSENT + _Z24qt_drt_webinspector_showP8QWebPage @ 702 NONAME ABSENT + _Z24qt_drt_workerThreadCountv @ 703 NONAME ABSENT + _Z25qt_drt_hasDocumentElementP9QWebFrame @ 704 NONAME ABSENT + _Z25qt_drt_webinspector_closeP8QWebPage @ 705 NONAME ABSENT + _Z31qt_drt_pageNumberForElementByIdP9QWebFrameRK7QStringff @ 706 NONAME ABSENT + _Z33qt_drt_webinspector_executeScriptP8QWebPagelRK7QString @ 707 NONAME ABSENT + _Z34qt_drt_setTimelineProfilingEnabledP8QWebPageb @ 708 NONAME ABSENT + _Z32qt_drt_setFrameFlatteningEnabledP8QWebPageb @ 709 NONAME ABSENT + _Z36qt_drt_evaluateScriptInIsolatedWorldP9QWebFrameiRK7QString @ 710 NONAME ABSENT + _Z47qt_drt_setDomainRelaxationForbiddenForURLSchemebRK7QString @ 711 NONAME ABSENT + _ZN9QWebFrame11pageChangedEv @ 712 NONAME ABSENT + _ZN9QWebFrame14scrollToAnchorERK7QString @ 713 NONAME ABSENT + _ZN12QWebSettings15setInspectorUrlERK4QUrl @ 714 NONAME ABSENT + _ZN13QWebInspector10closeEventEP11QCloseEvent @ 715 NONAME ABSENT + _ZN16QGraphicsWebView26setTiledBackingStoreFrozenEb @ 716 NONAME ABSENT + _ZNK16QGraphicsWebView25isTiledBackingStoreFrozenEv @ 717 NONAME ABSENT + _Z18qt_wrt_setViewModeP8QWebPageRK7QString @ 718 NONAME ABSENT + _Z19qt_drt_setMediaTypeP9QWebFrameRK7QString @ 719 NONAME ABSENT + _Z26qt_drt_enableCaretBrowsingP8QWebPageb @ 720 NONAME ABSENT + _ZNK12QWebSettings12inspectorUrlEv @ 721 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt19webPageSetGroupNameEP8QWebPageRK7QString @ 722 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt16webPageGroupNameEP8QWebPage @ 723 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt23garbageCollectorCollectEv @ 724 NONAME ABSENT + _Z32qtwebkit_webframe_scrollOverflowP9QWebFrameiiRK6QPoint @ 725 NONAME + _ZN23DumpRenderTreeSupportQt12setMediaTypeEP9QWebFrameRK7QString @ 726 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt13numberOfPagesEP9QWebFrameff @ 727 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt13selectedRangeEP8QWebPage @ 728 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt14clearFrameNameEP9QWebFrame @ 729 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt14pauseAnimationEP9QWebFrameRK7QStringdS4_ @ 730 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt15dumpFrameLoaderEb @ 731 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt16dumpNotificationEb @ 732 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt16isCommandEnabledEP8QWebPageRK7QString @ 733 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt16webInspectorShowEP8QWebPage @ 734 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt17pauseSVGAnimationEP9QWebFrameRK7QStringdS4_ @ 735 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt17webInspectorCloseEP8QWebPage @ 736 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt17workerThreadCountEv @ 737 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt18hasDocumentElementEP9QWebFrame @ 738 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt20dumpEditingCallbacksEb @ 739 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt21markerTextForListItemERK11QWebElement @ 740 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt22javaScriptObjectsCountEv @ 741 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt23setCaretBrowsingEnabledEP8QWebPageb @ 742 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt24executeCoreCommandByNameEP8QWebPageRK7QStringS4_ @ 743 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt21dumpSetAcceptsEditingEb @744 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt22resumeActiveDOMObjectsEP9QWebFrame @745 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt23suspendActiveDOMObjectsEP9QWebFrame @746 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt24numberOfActiveAnimationsEP9QWebFrame @747 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt24pageNumberForElementByIdEP9QWebFrameRK7QStringff @748 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt25dumpResourceLoadCallbacksEb @749 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt25pauseTransitionOfPropertyEP9QWebFrameRK7QStringdS4_ @750 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt25setFrameFlatteningEnabledEP8QWebPageb @751 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt25webInspectorExecuteScriptEP8QWebPagelRK7QString @752 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt25whiteListAccessFromOriginERK7QStringS2_S2_b @753 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt26counterValueForElementByIdEP9QWebFrameRK7QString @754 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt26firstRectForCharacterRangeEP8QWebPageii @755 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt26overwritePluginDirectoriesEv @756 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt27resetOriginAccessWhiteListsEv @757 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt27setSmartInsertDeleteEnabledEP8QWebPageb @758 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt27setTimelineProfilingEnabledEP8QWebPageb @759 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt28setDumpRenderTreeModeEnabledEb @760 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt29dumpResourceLoadCallbacksPathERK7QString @761 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt29evaluateScriptInIsolatedWorldEP9QWebFrameiRK7QString @762 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt29setJavaScriptProfilingEnabledEP9QWebFrameb @763 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt29setWillSendRequestReturnsNullEb @764 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt30setWillSendRequestClearHeadersERK11QStringList @765 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt33computedStyleIncludingVisitedInfoERK11QWebElement @766 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt34setSelectTrailingWhitespaceEnabledEP8QWebPageb @767 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt39elementDoesAutoCompleteForElementWithIdEP9QWebFrameRK7QString @768 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt39setWillSendRequestReturnsNullOnRedirectEb @769 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt40garbageCollectorCollectOnAlternateThreadEb @770 NONAME ABSENT + _ZN23DumpRenderTreeSupportQt40setDomainRelaxationForbiddenForURLSchemeEbRK7QString @771 NONAME ABSENT diff --git a/src/corelib/arch/qatomic_alpha.h b/src/corelib/arch/qatomic_alpha.h index 5d0b2b6..6989c25 100644 --- a/src/corelib/arch/qatomic_alpha.h +++ b/src/corelib/arch/qatomic_alpha.h @@ -367,7 +367,7 @@ Q_INLINE_TEMPLATE bool QBasicAtomicPointer<T>::testAndSetRelease(T *expectedValu template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue) { - register void *old, *tmp; + register T *old, *tmp; asm volatile("1:\n" "ldq_l %0,%2\n" /* old=*ptr; */ "mov %3,%1\n" /* tmp=newval; */ @@ -385,7 +385,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelaxed(T *newValue) template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue) { - register void *old, *tmp; + register T *old, *tmp; asm volatile("1:\n" "ldq_l %0,%2\n" /* old=*ptr; */ "mov %3,%1\n" /* tmp=newval; */ @@ -404,7 +404,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreAcquire(T *newValue) template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue) { - register void *old, *tmp; + register T *old, *tmp; asm volatile("mb\n" "1:\n" "ldq_l %0,%2\n" /* old=*ptr; */ @@ -423,7 +423,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndStoreRelease(T *newValue) template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueToAdd) { - register void *old, *tmp; + register T *old, *tmp; asm volatile("1:\n" "ldq_l %0,%2\n" /* old=*ptr; */ "addq %0,%3,%1\n"/* tmp=old+value; */ @@ -441,7 +441,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelaxed(qptrdiff valueTo template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueToAdd) { - register void *old, *tmp; + register T *old, *tmp; asm volatile("1:\n" "ldq_l %0,%2\n" /* old=*ptr; */ "addq %0,%3,%1\n"/* tmp=old+value; */ @@ -460,7 +460,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddAcquire(qptrdiff valueTo template <typename T> Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueToAdd) { - register void *old, *tmp; + register T *old, *tmp; asm volatile("mb\n" "1:\n" "ldq_l %0,%2\n" /* old=*ptr; */ diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp index 6448b06..d00a623 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian.cpp +++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp @@ -100,25 +100,40 @@ static inline int qt_socket_select(int nfds, fd_set *readfds, fd_set *writefds, class QSelectMutexGrabber { public: - QSelectMutexGrabber(int fd, QMutex *mutex) - : m_mutex(mutex) + QSelectMutexGrabber(int fd, QMutex *threadMutex, QMutex *selectCallMutex) + : m_threadMutex(threadMutex), m_selectCallMutex(selectCallMutex), bHasThreadLock(false) { - if (m_mutex->tryLock()) + // see if selectThread is waiting m_waitCond + // if yes ... dont write to pipe + if (m_threadMutex->tryLock()) { + bHasThreadLock = true; return; + } + + // still check that SelectThread + // is in select call + if (m_selectCallMutex->tryLock()) { + m_selectCallMutex->unlock(); + return; + } char dummy = 0; qt_pipe_write(fd, &dummy, 1); - m_mutex->lock(); + m_threadMutex->lock(); + bHasThreadLock = true; } ~QSelectMutexGrabber() { - m_mutex->unlock(); + if(bHasThreadLock) + m_threadMutex->unlock(); } private: - QMutex *m_mutex; + QMutex *m_threadMutex; + QMutex *m_selectCallMutex; + bool bHasThreadLock; }; /* @@ -400,7 +415,12 @@ void QSelectThread::run() int ret; int savedSelectErrno; - ret = qt_socket_select(maxfd, &readfds, &writefds, &exceptionfds, 0); + { + // helps fighting the race condition between + // selctthread and new socket requests (cancel, restart ...) + QMutexLocker locker(&m_selectCallMutex); + ret = qt_socket_select(maxfd, &readfds, &writefds, &exceptionfds, 0); + } savedSelectErrno = errno; char buffer; @@ -464,9 +484,9 @@ void QSelectThread::run() } // end for // traversed all, so update + updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds); updateActivatedNotifiers(QSocketNotifier::Read, &readfds); updateActivatedNotifiers(QSocketNotifier::Write, &writefds); - updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds); break; case EINTR: // Should never occur on Symbian, but this is future proof! @@ -476,9 +496,9 @@ void QSelectThread::run() break; } } else { + updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds); updateActivatedNotifiers(QSocketNotifier::Read, &readfds); updateActivatedNotifiers(QSocketNotifier::Write, &writefds); - updateActivatedNotifiers(QSocketNotifier::Exception, &exceptionfds); } m_waitCond.wait(&m_mutex); @@ -495,7 +515,9 @@ void QSelectThread::requestSocketEvents ( QSocketNotifier *notifier, TRequestSta start(); } - QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex); + QMutexLocker locker(&m_grabberMutex); + + QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex, &m_selectCallMutex); Q_ASSERT(!m_AOStatuses.contains(notifier)); @@ -506,7 +528,9 @@ void QSelectThread::requestSocketEvents ( QSocketNotifier *notifier, TRequestSta void QSelectThread::cancelSocketEvents ( QSocketNotifier *notifier ) { - QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex); + QMutexLocker locker(&m_grabberMutex); + + QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex, &m_selectCallMutex); m_AOStatuses.remove(notifier); @@ -515,7 +539,9 @@ void QSelectThread::cancelSocketEvents ( QSocketNotifier *notifier ) void QSelectThread::restart() { - QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex); + QMutexLocker locker(&m_grabberMutex); + + QSelectMutexGrabber lock(m_pipeEnds[1], &m_mutex, &m_selectCallMutex); m_waitCond.wakeAll(); } diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h index 8a9c9a0..7021314 100644 --- a/src/corelib/kernel/qeventdispatcher_symbian_p.h +++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h @@ -211,6 +211,26 @@ private: QMutex m_mutex; QWaitCondition m_waitCond; bool m_quit; + + // to protect when several + // requests like: + // requestSocketEvents + // cancelSocketEvents + // kick in the same time + // all will fight for m_mutex + // + // TODO: fix more elegantely + // + QMutex m_grabberMutex; + + // this one will tell + // if selectthread is + // really in select call + // and will prevent + // writing to pipe that + // causes later in locking + // of the thread in waitcond + QMutex m_selectCallMutex; }; class Q_CORE_EXPORT CQtActiveScheduler : public CActiveScheduler diff --git a/src/corelib/tools/qhash.h b/src/corelib/tools/qhash.h index 05eae42..1d206ce 100644 --- a/src/corelib/tools/qhash.h +++ b/src/corelib/tools/qhash.h @@ -927,7 +927,7 @@ public: { return QHash<Key, T>::insertMulti(key, value); } inline QMultiHash &operator+=(const QMultiHash &other) - { unite(other); return *this; } + { this->unite(other); return *this; } inline QMultiHash operator+(const QMultiHash &other) const { QMultiHash result = *this; result += other; return result; } @@ -1002,12 +1002,7 @@ Q_INLINE_TEMPLATE int QMultiHash<Key, T>::remove(const Key &key, const T &value) typename QHash<Key, T>::iterator end(QHash<Key, T>::end()); while (i != end && i.key() == key) { if (i.value() == value) { -#if defined(Q_CC_RVCT) - // RVCT has problems with scoping, apparently. - i = QHash<Key, T>::erase(i); -#else - i = erase(i); -#endif + i = this->erase(i); ++n; } else { ++i; diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp index 8d79cb3..5925985 100644 --- a/src/corelib/tools/qlocale.cpp +++ b/src/corelib/tools/qlocale.cpp @@ -743,6 +743,7 @@ struct WindowsToISOListElt { char iso_name[6]; }; +/* NOTE: This array should be sorted by the first column! */ static const WindowsToISOListElt windows_to_iso_list[] = { { 0x0401, "ar_SA" }, { 0x0402, "bg\0 " }, diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp index 2e5daec..806a142 100644 --- a/src/corelib/tools/qlocale_symbian.cpp +++ b/src/corelib/tools/qlocale_symbian.cpp @@ -87,71 +87,75 @@ struct symbianToISO { /* - Mapping from Symbian to ISO locale + Mapping from Symbian to ISO locale. + NOTE: This array should be sorted by the first column! */ static const symbianToISO symbian_to_iso_list[] = { - { ELangEnglish, "en_GB" }, - { ELangFrench, "fr_FR" }, - { ELangGerman, "de_DE" }, - { ELangSpanish, "es_ES" }, - { ELangItalian, "it_IT" }, - { ELangSwedish, "sv_SE" }, - { ELangDanish, "da_DK" }, - { ELangNorwegian, "no_NO" }, - { ELangFinnish, "fi_FI" }, - { ELangAmerican, "en_US" }, - { ELangPortuguese, "pt_PT" }, - { ELangTurkish, "tr_TR" }, - { ELangIcelandic, "is_IS" }, - { ELangRussian, "ru_RU" }, - { ELangHungarian, "hu_HU" }, - { ELangDutch, "nl_NL" }, - { ELangBelgianFlemish, "nl_BE" }, - { ELangCzech, "cs_CZ" }, - { ELangSlovak, "sk_SK" }, - { ELangPolish, "pl_PL" }, - { ELangSlovenian, "sl_SI" }, - { ELangTaiwanChinese, "zh_TW" }, - { ELangHongKongChinese, "zh_HK" }, - { ELangPrcChinese, "zh_CN" }, - { ELangJapanese, "ja_JP" }, - { ELangThai, "th_TH" }, - { ELangArabic, "ar_AE" }, - { ELangTagalog, "tl_PH" }, - { ELangBulgarian, "bg_BG" }, - { ELangCatalan, "ca_ES" }, - { ELangCroatian, "hr_HR" }, - { ELangEstonian, "et_EE" }, - { ELangFarsi, "fa_IR" }, - { ELangCanadianFrench, "fr_CA" }, - { ELangGreek, "el_GR" }, - { ELangHebrew, "he_IL" }, - { ELangHindi, "hi_IN" }, - { ELangIndonesian, "id_ID" }, - { ELangLatvian, "lv_LV" }, - { ELangLithuanian, "lt_LT" }, - { ELangMalay, "ms_MY" }, - { ELangBrazilianPortuguese, "pt_BR" }, - { ELangRomanian, "ro_RO" }, - { ELangSerbian, "sr_YU" }, - { ELangLatinAmericanSpanish,"es_MX" }, // TODO: should be es_419 - { ELangUkrainian, "uk_UA" }, - { ELangUrdu, "ur_PK" }, // India/Pakistan - { ELangVietnamese, "vi_VN" }, + { ELangEnglish, "en_GB" }, // 1 + { ELangFrench, "fr_FR" }, // 2 + { ELangGerman, "de_DE" }, // 3 + { ELangSpanish, "es_ES" }, // 4 + { ELangItalian, "it_IT" }, // 5 + { ELangSwedish, "sv_SE" }, // 6 + { ELangDanish, "da_DK" }, // 7 + { ELangNorwegian, "no_NO" }, // 8 + { ELangFinnish, "fi_FI" }, // 9 + { ELangAmerican, "en_US" }, // 10 + { ELangPortuguese, "pt_PT" }, // 13 + { ELangTurkish, "tr_TR" }, // 14 + { ELangIcelandic, "is_IS" }, // 15 + { ELangRussian, "ru_RU" }, // 16 + { ELangHungarian, "hu_HU" }, // 17 + { ELangDutch, "nl_NL" }, // 18 + { ELangBelgianFlemish, "nl_BE" }, // 19 + { ELangCzech, "cs_CZ" }, // 25 + { ELangSlovak, "sk_SK" }, // 26 + { ELangPolish, "pl_PL" }, // 27 + { ELangSlovenian, "sl_SI" }, // 28 + { ELangTaiwanChinese, "zh_TW" }, // 29 + { ELangHongKongChinese, "zh_HK" }, // 30 + { ELangPrcChinese, "zh_CN" }, // 31 + { ELangJapanese, "ja_JP" }, // 32 + { ELangThai, "th_TH" }, // 33 + { ELangArabic, "ar_AE" }, // 37 + { ELangTagalog, "tl_PH" }, // 39 + { ELangBulgarian, "bg_BG" }, // 42 + { ELangCatalan, "ca_ES" }, // 44 + { ELangCroatian, "hr_HR" }, // 45 + { ELangEstonian, "et_EE" }, // 49 + { ELangFarsi, "fa_IR" }, // 50 + { ELangCanadianFrench, "fr_CA" }, // 51 + { ELangGreek, "el_GR" }, // 54 + { ELangHebrew, "he_IL" }, // 57 + { ELangHindi, "hi_IN" }, // 58 + { ELangIndonesian, "id_ID" }, // 59 + { ELangKorean, "ko_KO" }, // 65 + { ELangLatvian, "lv_LV" }, // 67 + { ELangLithuanian, "lt_LT" }, // 68 + { ELangMalay, "ms_MY" }, // 70 + { ELangNorwegianNynorsk, "nn_NO" }, // 75 + { ELangBrazilianPortuguese, "pt_BR" }, // 76 + { ELangRomanian, "ro_RO" }, // 78 + { ELangSerbian, "sr_RS" }, // 79 + { ELangLatinAmericanSpanish,"es_419" }, // 83 + { ELangUkrainian, "uk_UA" }, // 93 + { ELangUrdu, "ur_PK" }, // 94 - India/Pakistan + { ELangVietnamese, "vi_VN" }, // 96 #ifdef __E32LANG_H__ // 5.0 - { ELangBasque, "eu_ES" }, - { ELangGalician, "gl_ES" }, + { ELangBasque, "eu_ES" }, // 102 + { ELangGalician, "gl_ES" }, // 103 #endif #if !defined(__SERIES60_31__) - { ELangEnglish_Apac, "en" }, - { ELangEnglish_Taiwan, "en_TW" }, - { ELangEnglish_HongKong, "en_HK" }, - { ELangEnglish_Prc, "en_CN" }, - { ELangEnglish_Japan, "en_JP"}, - { ELangEnglish_Thailand, "en_TH" }, - { ELangMalay_Apac, "ms" } + { ELangEnglish_Apac, "en" }, // 129 + { ELangEnglish_Taiwan, "en_TW" }, // 157 ### Not supported by CLDR + { ELangEnglish_HongKong, "en_HK" }, // 158 + { ELangEnglish_Prc, "en_CN" }, // 159 ### Not supported by CLDR + { ELangEnglish_Japan, "en_JP"}, // 160 ### Not supported by CLDR + { ELangEnglish_Thailand, "en_TH" }, // 161 ### Not supported by CLDR + { ELangMalay_Apac, "ms" }, // 326 #endif + { 327/*ELangIndonesian_Apac*/,"id_ID" } // 327 - appeared in Symbian^3 }; /*! diff --git a/src/corelib/tools/qmap.h b/src/corelib/tools/qmap.h index 4679812..75e73f2 100644 --- a/src/corelib/tools/qmap.h +++ b/src/corelib/tools/qmap.h @@ -953,7 +953,7 @@ public: { return QMap<Key, T>::insertMulti(key, value); } inline QMultiMap &operator+=(const QMultiMap &other) - { unite(other); return *this; } + { this->unite(other); return *this; } inline QMultiMap operator+(const QMultiMap &other) const { QMultiMap result = *this; result += other; return result; } @@ -1028,12 +1028,7 @@ Q_INLINE_TEMPLATE int QMultiMap<Key, T>::remove(const Key &key, const T &value) typename QMap<Key, T>::iterator end(QMap<Key, T>::end()); while (i != end && !qMapLessThanKey<Key>(key, i.key())) { if (i.value() == value) { -#if defined(Q_CC_RVCT) - // RVCT has problems with scoping, apparently. - i = QMap<Key, T>::erase(i); -#else - i = erase(i); -#endif + i = this->erase(i); ++n; } else { ++i; diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index aecb66e..a70488f 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -128,9 +128,9 @@ private: friend class QPodList<T, Prealloc>; void realloc(int size, int alloc); - int a; - int s; - T *ptr; + int a; // capacity + int s; // size + T *ptr; // data union { // ### Qt 5: Use 'Prealloc * sizeof(T)' as array size char array[sizeof(qint64) * (((Prealloc * sizeof(T)) / sizeof(qint64)) + 1)]; @@ -193,8 +193,8 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray<T, Prealloc>::realloc(int asize, int a Q_ASSERT(aalloc >= asize); T *oldPtr = ptr; int osize = s; - // s = asize; + const int copySize = qMin(asize, osize); if (aalloc != a) { ptr = reinterpret_cast<T *>(qMalloc(aalloc * sizeof(T))); Q_CHECK_PTR(ptr); @@ -205,7 +205,6 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray<T, Prealloc>::realloc(int asize, int a if (QTypeInfo<T>::isStatic) { QT_TRY { // copy all the old elements - const int copySize = qMin(asize, osize); while (s < copySize) { new (ptr+s) T(*(oldPtr+s)); (oldPtr+s)->~T(); @@ -221,19 +220,19 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray<T, Prealloc>::realloc(int asize, int a QT_RETHROW; } } else { - qMemCopy(ptr, oldPtr, qMin(asize, osize) * sizeof(T)); + qMemCopy(ptr, oldPtr, copySize * sizeof(T)); } } else { ptr = oldPtr; return; } } + s = copySize; if (QTypeInfo<T>::isComplex) { + // destroy remaining old objects while (osize > asize) (oldPtr+(--osize))->~T(); - if (!QTypeInfo<T>::isStatic) - s = osize; } if (oldPtr != reinterpret_cast<T *>(array) && oldPtr != ptr) diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index 6cb4924..0f49dcc 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -523,7 +523,7 @@ qDBusSignalFilter(DBusConnection *connection, DBusMessage *message, void *data) return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; QDBusMessage amsg = QDBusMessagePrivate::fromDBusMessage(message); - qDBusDebug() << d << "got message:" << amsg; + qDBusDebug() << d << "got message (signal):" << amsg; return d->handleMessage(amsg) ? DBUS_HANDLER_RESULT_HANDLED : @@ -1687,15 +1687,31 @@ static void qDBusResultReceived(DBusPendingCall *pending, void *user_data) void QDBusConnectionPrivate::waitForFinished(QDBusPendingCallPrivate *pcall) { Q_ASSERT(pcall->pending); - QDBusDispatchLocker locker(PendingCallBlockAction, this); - q_dbus_pending_call_block(pcall->pending); - // QDBusConnectionPrivate::processFinishedCall() is called automatically + Q_ASSERT(!pcall->autoDelete); + //Q_ASSERT(pcall->mutex.isLocked()); // there's no such function + + if (pcall->waitingForFinished) { + // another thread is already waiting + pcall->waitForFinishedCondition.wait(&pcall->mutex); + } else { + pcall->waitingForFinished = true; + pcall->mutex.unlock(); + + { + QDBusDispatchLocker locker(PendingCallBlockAction, this); + q_dbus_pending_call_block(pcall->pending); + // QDBusConnectionPrivate::processFinishedCall() is called automatically + } + pcall->mutex.lock(); + } } void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call) { QDBusConnectionPrivate *connection = const_cast<QDBusConnectionPrivate *>(call->connection); + QMutexLocker locker(&call->mutex); + QDBusMessage &msg = call->replyMessage; if (call->pending) { // decode the message @@ -1725,6 +1741,12 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call) qDBusDebug() << "Deliver failed!"; } + if (call->pending) + q_dbus_pending_call_unref(call->pending); + call->pending = 0; + + locker.unlock(); + // Are there any watchers? if (call->watcherHelper) call->watcherHelper->emitSignals(msg, call->sentMessage); @@ -1732,12 +1754,10 @@ void QDBusConnectionPrivate::processFinishedCall(QDBusPendingCallPrivate *call) if (msg.type() == QDBusMessage::ErrorMessage) emit connection->callWithCallbackFailed(QDBusError(msg), call->sentMessage); - if (call->pending) - q_dbus_pending_call_unref(call->pending); - call->pending = 0; - - if (call->autoDelete) + if (call->autoDelete) { + Q_ASSERT(!call->waitingForFinished); // can't wait on a call with autoDelete! delete call; + } } int QDBusConnectionPrivate::send(const QDBusMessage& message) @@ -1879,17 +1899,14 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM { if (isServiceRegisteredByThread(message.service())) { // special case for local calls - QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate; - pcall->sentMessage = message; + QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate(message, this); pcall->replyMessage = sendWithReplyLocal(message); - pcall->connection = this; return pcall; } checkThread(); - QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate; - pcall->sentMessage = message; + QDBusPendingCallPrivate *pcall = new QDBusPendingCallPrivate(message, this); pcall->ref = 0; QDBusError error; @@ -1913,7 +1930,6 @@ QDBusPendingCallPrivate *QDBusConnectionPrivate::sendWithReplyAsync(const QDBusM q_dbus_message_unref(msg); pcall->pending = pending; - pcall->connection = this; q_dbus_pending_call_set_notify(pending, qDBusResultReceived, pcall, 0); return pcall; diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp index 3db5d9f..86b585d 100644 --- a/src/dbus/qdbuspendingcall.cpp +++ b/src/dbus/qdbuspendingcall.cpp @@ -208,6 +208,8 @@ void QDBusPendingCallPrivate::setMetaTypes(int count, const int *types) void QDBusPendingCallPrivate::checkReceivedSignature() { + // MUST BE CALLED WITH A LOCKED MUTEX! + if (replyMessage.type() == QDBusMessage::InvalidMessage) return; // not yet finished - no message to // validate against @@ -230,6 +232,8 @@ void QDBusPendingCallPrivate::checkReceivedSignature() void QDBusPendingCallPrivate::waitForFinished() { + QMutexLocker locker(&mutex); + if (replyMessage.type() != QDBusMessage::InvalidMessage) return; // already finished @@ -310,7 +314,11 @@ QDBusPendingCall &QDBusPendingCall::operator=(const QDBusPendingCall &other) bool QDBusPendingCall::isFinished() const { - return !d || (d->replyMessage.type() != QDBusMessage::InvalidMessage); + if (!d) + return true; // considered finished + + QMutexLocker locker(&d->mutex); + return d->replyMessage.type() != QDBusMessage::InvalidMessage; } void QDBusPendingCall::waitForFinished() @@ -329,7 +337,10 @@ void QDBusPendingCall::waitForFinished() */ bool QDBusPendingCall::isValid() const { - return d ? d->replyMessage.type() == QDBusMessage::ReplyMessage : false; + if (!d) + return false; + QMutexLocker locker(&d->mutex); + return d->replyMessage.type() == QDBusMessage::ReplyMessage; } /*! @@ -343,7 +354,10 @@ bool QDBusPendingCall::isValid() const */ bool QDBusPendingCall::isError() const { - return d ? d->replyMessage.type() == QDBusMessage::ErrorMessage : true; + if (!d) + return true; // considered finished and an error + QMutexLocker locker(&d->mutex); + return d->replyMessage.type() == QDBusMessage::ErrorMessage; } /*! @@ -356,8 +370,10 @@ bool QDBusPendingCall::isError() const */ QDBusError QDBusPendingCall::error() const { - if (d) + if (d) { + QMutexLocker locker(&d->mutex); return d->replyMessage; + } // not connected, return an error QDBusError err = QDBusError(QDBusError::Disconnected, @@ -378,7 +394,10 @@ QDBusError QDBusPendingCall::error() const */ QDBusMessage QDBusPendingCall::reply() const { - return d ? d->replyMessage : QDBusMessage::createError(error()); + if (!d) + return QDBusMessage::createError(error()); + QMutexLocker locker(&d->mutex); + return d->replyMessage; } #if 0 @@ -439,9 +458,8 @@ QDBusPendingCall QDBusPendingCall::fromCompletedCall(const QDBusMessage &msg) QDBusPendingCallPrivate *d = 0; if (msg.type() == QDBusMessage::ErrorMessage || msg.type() == QDBusMessage::ReplyMessage) { - d = new QDBusPendingCallPrivate; + d = new QDBusPendingCallPrivate(QDBusMessage(), 0); d->replyMessage = msg; - d->connection = 0; } return QDBusPendingCall(d); @@ -471,9 +489,10 @@ QDBusPendingCallWatcher::QDBusPendingCallWatcher(const QDBusPendingCall &call, Q : QObject(*new QDBusPendingCallWatcherPrivate, parent), QDBusPendingCall(call) { if (d) { // QDBusPendingCall::d + QMutexLocker locker(&d->mutex); if (!d->watcherHelper) { d->watcherHelper = new QDBusPendingCallWatcherHelper; - if (isFinished()) { + if (d->replyMessage.type() != QDBusMessage::InvalidMessage) { // cause a signal emission anyways QMetaObject::invokeMethod(d->watcherHelper, "finished", Qt::QueuedConnection); } diff --git a/src/dbus/qdbuspendingcall_p.h b/src/dbus/qdbuspendingcall_p.h index 641c397..c3aed53 100644 --- a/src/dbus/qdbuspendingcall_p.h +++ b/src/dbus/qdbuspendingcall_p.h @@ -57,6 +57,8 @@ #include <qshareddata.h> #include <qpointer.h> #include <qlist.h> +#include <qmutex.h> +#include <qwaitcondition.h> #include "qdbusmessage.h" #include "qdbus_symbols_p.h" @@ -71,24 +73,35 @@ class QDBusConnectionPrivate; class QDBusPendingCallPrivate: public QSharedData { public: - QDBusMessage sentMessage; - QDBusMessage replyMessage; -// QDBusMessage pendingReplyMessage; // used in the local loop - QDBusPendingCallWatcherHelper *watcherHelper; - DBusPendingCall *pending; - QDBusConnectionPrivate *connection; + // { + // set only during construction: + const QDBusMessage sentMessage; + QDBusConnectionPrivate * const connection; - QString expectedReplySignature; - int expectedReplyCount; - - // for the callback + // for the callback mechanism (see setReplyCallback and QDBusConnectionPrivate::sendWithReplyAsync) QPointer<QObject> receiver; QList<int> metaTypes; int methodIdx; bool autoDelete; + // } + + mutable QMutex mutex; + QWaitCondition waitForFinishedCondition; + + // { + // protected by the mutex above: + QDBusPendingCallWatcherHelper *watcherHelper; + QDBusMessage replyMessage; + DBusPendingCall *pending; + volatile bool waitingForFinished; + + QString expectedReplySignature; + int expectedReplyCount; + // } - QDBusPendingCallPrivate() : watcherHelper(0), pending(0), autoDelete(false) + QDBusPendingCallPrivate(const QDBusMessage &sent, QDBusConnectionPrivate *connection) + : sentMessage(sent), connection(connection), autoDelete(false), watcherHelper(0), pending(0), waitingForFinished(false) { } ~QDBusPendingCallPrivate(); bool setReplyCallback(QObject *target, const char *member); diff --git a/src/dbus/qdbuspendingreply.cpp b/src/dbus/qdbuspendingreply.cpp index b492660..1df47f4 100644 --- a/src/dbus/qdbuspendingreply.cpp +++ b/src/dbus/qdbuspendingreply.cpp @@ -252,7 +252,7 @@ void QDBusPendingReplyData::assign(const QDBusPendingCall &other) void QDBusPendingReplyData::assign(const QDBusMessage &message) { - d = new QDBusPendingCallPrivate; // drops the reference to the old one + d = new QDBusPendingCallPrivate(QDBusMessage(), 0); // drops the reference to the old one d->replyMessage = message; } @@ -271,6 +271,7 @@ QVariant QDBusPendingReplyData::argumentAt(int index) const void QDBusPendingReplyData::setMetaTypes(int count, const int *types) { Q_ASSERT(d); + QMutexLocker locker(&d->mutex); d->setMetaTypes(count, types); d->checkReceivedSignature(); } diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index ee19216..776cdba 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -42,11 +42,40 @@ #include <QtGui/qpaintdevice.h> #include <QtGui/qpixmap.h> #include <QtGui/qwidget.h> +#include <QtCore/qatomic.h> #include <QtCore/qdebug.h> #include "qegl_p.h" QT_BEGIN_NAMESPACE + +/* + QEglContextTracker is used to track the EGL contexts that we + create internally in Qt, so that we can call eglTerminate() to + free additional EGL resources when the last context is destroyed. +*/ + +class QEglContextTracker +{ +public: + static void ref() { contexts.ref(); } + static void deref() { + if (!contexts.deref()) { + eglTerminate(QEglContext::display()); + displayOpen = 0; + } + } + static void setDisplayOpened() { displayOpen = 1; } + static bool displayOpened() { return displayOpen; } + +private: + static QBasicAtomicInt contexts; + static QBasicAtomicInt displayOpen; +}; + +QBasicAtomicInt QEglContextTracker::contexts = Q_BASIC_ATOMIC_INITIALIZER(0); +QBasicAtomicInt QEglContextTracker::displayOpen = Q_BASIC_ATOMIC_INITIALIZER(0); + // Current GL and VG contexts. These are used to determine if // we can avoid an eglMakeCurrent() after a call to lazyDoneCurrent(). // If a background thread modifies the value, the worst that will @@ -65,6 +94,7 @@ QEglContext::QEglContext() , ownsContext(true) , sharing(false) { + QEglContextTracker::ref(); } QEglContext::~QEglContext() @@ -75,6 +105,7 @@ QEglContext::~QEglContext() currentGLContext = 0; if (currentVGContext == this) currentVGContext = 0; + QEglContextTracker::deref(); } bool QEglContext::isValid() const @@ -361,11 +392,9 @@ QEglProperties QEglContext::configProperties(EGLConfig cfg) const EGLDisplay QEglContext::display() { - static bool openedDisplay = false; - - if (!openedDisplay) { + if (!QEglContextTracker::displayOpened()) { dpy = eglGetDisplay(nativeDisplay()); - openedDisplay = true; + QEglContextTracker::setDisplayOpened(); if (dpy == EGL_NO_DISPLAY) { qWarning("QEglContext::display(): Falling back to EGL_DEFAULT_DISPLAY"); dpy = eglGetDisplay(EGLNativeDisplayType(EGL_DEFAULT_DISPLAY)); diff --git a/src/gui/embedded/qwsmanager_qws.cpp b/src/gui/embedded/qwsmanager_qws.cpp index d6ef148..ac6d36e 100644 --- a/src/gui/embedded/qwsmanager_qws.cpp +++ b/src/gui/embedded/qwsmanager_qws.cpp @@ -392,7 +392,7 @@ void QWSManagerPrivate::dirtyRegion(int decorationRegion, const QRegion &clip) { QTLWExtra *topextra = managed->d_func()->extra->topextra; - QWidgetBackingStore *bs = topextra->backingStore; + QWidgetBackingStore *bs = topextra->backingStore.data(); const bool pendingUpdateRequest = bs->isDirty(); if (decorationRegion == QDecoration::All) { diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index d46f40e..473f93a 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -272,6 +272,8 @@ bool QImageData::checkForAlphaPixels() const switch (format) { + case QImage::Format_Mono: + case QImage::Format_MonoLSB: case QImage::Format_Indexed8: has_alpha_pixels = has_alpha_clut; break; diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h index ce39334..cf144c5 100644 --- a/src/gui/kernel/qapplication_p.h +++ b/src/gui/kernel/qapplication_p.h @@ -566,7 +566,8 @@ public: void _q_readRX71MultiTouchEvents(); #endif -#if defined(Q_WS_S60) +#if defined(Q_OS_SYMBIAN) + int pressureSupported; int maxTouchPressure; QList<QTouchEvent::TouchPoint> appAllTouchPoints; #endif diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index dbdcef9..78027b2 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -407,15 +407,22 @@ void QSymbianControl::HandleLongTapEventL( const TPoint& aPenEventLocation, cons void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent *event) { QApplicationPrivate *d = QApplicationPrivate::instance(); + qreal pressure; + if(d->pressureSupported + && event->Pressure() > 0) //workaround for misconfigured HAL + pressure = event->Pressure() / qreal(d->maxTouchPressure); + else + pressure = qreal(1.0); QRect screenGeometry = qApp->desktop()->screenGeometry(qwidget); - while (d->appAllTouchPoints.count() <= event->PointerNumber()) - d->appAllTouchPoints.append(QTouchEvent::TouchPoint(d->appAllTouchPoints.count())); + QList<QTouchEvent::TouchPoint> points = d->appAllTouchPoints; + while (points.count() <= event->PointerNumber()) + points.append(QTouchEvent::TouchPoint(points.count())); Qt::TouchPointStates allStates = 0; - for (int i = 0; i < d->appAllTouchPoints.count(); ++i) { - QTouchEvent::TouchPoint &touchPoint = d->appAllTouchPoints[i]; + for (int i = 0; i < points.count(); ++i) { + QTouchEvent::TouchPoint &touchPoint = points[i]; if (touchPoint.id() == event->PointerNumber()) { Qt::TouchPointStates state; @@ -445,7 +452,7 @@ void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent touchPoint.setNormalizedPos(QPointF(screenPos.x() / screenGeometry.width(), screenPos.y() / screenGeometry.height())); - touchPoint.setPressure(event->Pressure() / qreal(d->maxTouchPressure)); + touchPoint.setPressure(pressure); } else if (touchPoint.state() != Qt::TouchPointReleased) { // all other active touch points should be marked as stationary touchPoint.setState(Qt::TouchPointStationary); @@ -457,11 +464,13 @@ void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent if ((allStates & Qt::TouchPointStateMask) == Qt::TouchPointReleased) { // all touch points released d->appAllTouchPoints.clear(); + } else { + d->appAllTouchPoints = points; } QApplicationPrivate::translateRawTouchEvent(qwidget, QTouchEvent::TouchScreen, - d->appAllTouchPoints); + points); } #endif @@ -925,6 +934,9 @@ void QSymbianControl::SizeChanged() qwidget->d_func()->syncBackingStore(); if (!slowResize && tlwExtra) tlwExtra->inTopLevelResize = false; + } else { + QResizeEvent *e = new QResizeEvent(newSize, oldSize); + QApplication::postEvent(qwidget, e); } } @@ -1691,19 +1703,27 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent return 1; const TWsVisibilityChangedEvent *visChangedEvent = event->VisibilityChanged(); QWidget *w = QWidgetPrivate::mapper->value(control); - if (!w->d_func()->maybeTopData()) + QWidget *const window = w->window(); + if (!window->d_func()->maybeTopData()) break; + QRefCountedWidgetBackingStore &backingStore = window->d_func()->maybeTopData()->backingStore; if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::ENotVisible) { - delete w->d_func()->topData()->backingStore; - w->d_func()->topData()->backingStore = 0; + // Decrement backing store reference count + backingStore.deref(); // In order to ensure that any resources used by the window surface // are immediately freed, we flush the WSERV command buffer. S60->wsSession().Flush(); - } else if ((visChangedEvent->iFlags & TWsVisibilityChangedEvent::EPartiallyVisible) - && !w->d_func()->maybeBackingStore()) { - w->d_func()->topData()->backingStore = new QWidgetBackingStore(w); - w->d_func()->invalidateBuffer(w->rect()); - w->repaint(); + } else if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::EPartiallyVisible) { + if (backingStore.data()) { + // Increment backing store reference count + backingStore.ref(); + } else { + // Create backing store with an initial reference count of 1 + backingStore.create(window); + backingStore.ref(); + w->d_func()->invalidateBuffer(w->rect()); + w->repaint(); + } } return 1; } @@ -1916,6 +1936,8 @@ TUint QApplicationPrivate::resolveS60ScanCode(TInt scanCode, TUint keysym) void QApplicationPrivate::initializeMultitouch_sys() { #ifdef QT_SYMBIAN_SUPPORTS_ADVANCED_POINTER + if (HAL::Get(HALData::EPointer3DPressureSupported, pressureSupported) != KErrNone) + pressureSupported = 0; if (HAL::Get(HALData::EPointer3DMaxPressure, maxTouchPressure) != KErrNone) maxTouchPressure = KMaxTInt; #endif diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index 6c30a4a..b3fc2f6 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -1527,7 +1527,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam case WM_SETTINGCHANGE: #ifdef Q_WS_WINCE // CE SIP hide/show - if (wParam == SPI_SETSIPINFO) { + if (qt_desktopWidget && wParam == SPI_SETSIPINFO) { QResizeEvent re(QSize(0, 0), QSize(0, 0)); // Calculated by QDesktopWidget QApplication::sendEvent(qt_desktopWidget, &re); break; diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 25a7750..304cd17 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -5245,7 +5245,7 @@ bool QETWidget::translateConfigEvent(const XEvent *event) if (isVisible() && data->crect.size() != oldSize) { Q_ASSERT(d->extra->topextra); - QWidgetBackingStore *bs = d->extra->topextra->backingStore; + QWidgetBackingStore *bs = d->extra->topextra->backingStore.data(); const bool hasStaticContents = bs && bs->hasStaticContents(); // If we have a backing store with static contents, we have to disable the top-level // resize optimization in order to get invalidated regions for resized widgets. diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index e180001..a9ea9ac 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -161,6 +161,51 @@ static inline bool hasBackingStoreSupport() extern bool qt_sendSpontaneousEvent(QObject*, QEvent*); // qapplication.cpp extern QDesktopWidget *qt_desktopWidget; // qapplication.cpp + +QRefCountedWidgetBackingStore::QRefCountedWidgetBackingStore() + : m_ptr(0) + , m_count(0) +{ + +} + +QRefCountedWidgetBackingStore::~QRefCountedWidgetBackingStore() +{ + delete m_ptr; +} + +void QRefCountedWidgetBackingStore::create(QWidget *widget) +{ + destroy(); + m_ptr = new QWidgetBackingStore(widget); + m_count = 0; +} + +void QRefCountedWidgetBackingStore::destroy() +{ + delete m_ptr; + m_ptr = 0; + m_count = 0; +} + +void QRefCountedWidgetBackingStore::ref() +{ + Q_ASSERT(m_ptr); + ++m_count; +} + +void QRefCountedWidgetBackingStore::deref() +{ + if (m_count) { + Q_ASSERT(m_ptr); + if (0 == --m_count) { + delete m_ptr; + m_ptr = 0; + } + } +} + + QWidgetPrivate::QWidgetPrivate(int version) : QObjectPrivate(version) , extra(0) @@ -1324,11 +1369,9 @@ void QWidget::create(WId window, bool initializeWindow, bool destroyOldWindow) // a real toplevel window needs a backing store if (isWindow() && windowType() != Qt::Desktop) { - delete d->topData()->backingStore; - // QWidgetBackingStore will check this variable, hence it must be 0 - d->topData()->backingStore = 0; + d->topData()->backingStore.destroy(); if (hasBackingStoreSupport()) - d->topData()->backingStore = new QWidgetBackingStore(this); + d->topData()->backingStore.create(this); } d->setModal_sys(); @@ -1451,8 +1494,7 @@ QWidget::~QWidget() // the backing store will delete its window surface, which may or may // not have a reference to this widget that will be used later to // notify the window it no longer has a surface. - delete d->extra->topextra->backingStore; - d->extra->topextra->backingStore = 0; + d->extra->topextra->backingStore.destroy(); } #endif if (QWidgetBackingStore *bs = d->maybeBackingStore()) { @@ -1540,7 +1582,6 @@ void QWidgetPrivate::createTLExtra() QTLWExtra* x = extra->topextra = new QTLWExtra; x->icon = 0; x->iconPixmap = 0; - x->backingStore = 0; x->windowSurface = 0; x->sharedPainter = 0; x->incw = x->inch = 0; @@ -1619,7 +1660,7 @@ void QWidgetPrivate::deleteExtra() #endif if (extra->topextra) { deleteTLSysExtra(); - delete extra->topextra->backingStore; + extra->topextra->backingStore.destroy(); delete extra->topextra->icon; delete extra->topextra->iconPixmap; #if defined(Q_WS_QWS) && !defined(QT_NO_QWS_MANAGER) diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index 555647c..9f7ad95 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -110,13 +110,53 @@ class QWidgetItemV2; class QStyle; +class Q_AUTOTEST_EXPORT QRefCountedWidgetBackingStore +{ +public: + QRefCountedWidgetBackingStore(); + ~QRefCountedWidgetBackingStore(); + + void create(QWidget *tlw); + void destroy(); + + void ref(); + void deref(); + + inline QWidgetBackingStore* data() + { + return m_ptr; + } + + inline QWidgetBackingStore* operator->() + { + return m_ptr; + } + + inline QWidgetBackingStore& operator*() + { + return *m_ptr; + } + + inline operator bool() const + { + return (0 != m_ptr); + } + +private: + Q_DISABLE_COPY(QRefCountedWidgetBackingStore) + +private: + QWidgetBackingStore* m_ptr; + int m_count; +}; + struct QTLWExtra { // *************************** Cross-platform variables ***************************** // Regular pointers (keep them together to avoid gaps on 64 bits architectures). QIcon *icon; // widget icon QPixmap *iconPixmap; - QWidgetBackingStore *backingStore; + QRefCountedWidgetBackingStore backingStore; QWindowSurface *windowSurface; QPainter *sharedPainter; @@ -907,7 +947,7 @@ inline QWidgetBackingStore *QWidgetPrivate::maybeBackingStore() const { Q_Q(const QWidget); QTLWExtra *x = q->window()->d_func()->maybeTopData(); - return x ? x->backingStore : 0; + return x ? x->backingStore.data() : 0; } QT_END_NAMESPACE diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 02e7cb8..86b858d 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -433,6 +433,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de // Request mouse move events. drawableWindow->PointerFilter(EPointerFilterEnterExit | EPointerFilterMove | EPointerFilterDrag, 0); + drawableWindow->EnableVisibilityChangeEvents(); if (q->isVisible() && q->testAttribute(Qt::WA_Mapped)) { activateSymbianWindow(control.data()); @@ -487,11 +488,8 @@ void QWidgetPrivate::show_sys() && !S60->buttonGroupContainer() && !S60->statusPane()) { bool isFullscreen = q->windowState() & Qt::WindowFullScreen; - bool cbaRequested = q->windowFlags() & Qt::WindowSoftkeysVisibleHint; - // If the window is fullscreen and has not explicitly requested that the CBA be visible - // we delay the creation even more. - if ((!isFullscreen || cbaRequested) && !q->testAttribute(Qt::WA_DontShowOnScreen)) { + if (!q->testAttribute(Qt::WA_DontShowOnScreen)) { // Create the status pane and CBA here CEikAppUi *ui = static_cast<CEikAppUi *>(S60->appUi()); @@ -911,14 +909,12 @@ void QWidgetPrivate::registerDropSite(bool /* on */) void QWidgetPrivate::createTLSysExtra() { - extra->topextra->backingStore = 0; extra->topextra->inExpose = 0; } void QWidgetPrivate::deleteTLSysExtra() { - delete extra->topextra->backingStore; - extra->topextra->backingStore = 0; + extra->topextra->backingStore.destroy(); } void QWidgetPrivate::createSysExtra() diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp index 8de9eaa..14f715f 100644 --- a/src/gui/painting/qbackingstore.cpp +++ b/src/gui/painting/qbackingstore.cpp @@ -884,7 +884,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy) QWidgetPrivate *pd = pw->d_func(); QRect clipR(pd->clipRect()); #ifdef Q_WS_QWS - QWidgetBackingStore *wbs = x->backingStore; + QWidgetBackingStore *wbs = x->backingStore.data(); QWSWindowSurface *surface = static_cast<QWSWindowSurface*>(wbs->windowSurface); clipR = clipR.intersected(surface->clipRegion().translated(-toplevelOffset).boundingRect()); #endif @@ -914,7 +914,7 @@ void QWidgetPrivate::moveRect(const QRect &rect, int dx, int dy) invalidateBuffer((newRect & clipR).translated(-data.crect.topLeft())); } else { - QWidgetBackingStore *wbs = x->backingStore; + QWidgetBackingStore *wbs = x->backingStore.data(); QRegion childExpose(newRect & clipR); if (sourceRect.isValid() && wbs->bltRect(sourceRect, dx, dy, pw)) @@ -957,7 +957,7 @@ void QWidgetPrivate::scrollRect(const QRect &rect, int dx, int dy) if (x->inTopLevelResize) return; - QWidgetBackingStore *wbs = x->backingStore; + QWidgetBackingStore *wbs = x->backingStore.data(); if (!wbs) return; diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 96981af..6055a04 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -7806,10 +7806,11 @@ start_lengthVariant: for (int i = 0; i < textLayout.lineCount(); i++) { QTextLine line = textLayout.lineAt(i); + qreal advance = textLayout.engine()->lines[i].textAdvance.toReal(); if (tf & Qt::AlignRight) - xoff = r.width() - line.naturalTextWidth(); + xoff = r.width() - advance; else if (tf & Qt::AlignHCenter) - xoff = (r.width() - line.naturalTextWidth())/2; + xoff = (r.width() - advance)/2; line.draw(painter, QPointF(r.x() + xoff + line.x(), r.y() + yoff)); } diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp index 7b7f325..b65323f 100644 --- a/src/gui/painting/qtextureglyphcache.cpp +++ b/src/gui/painting/qtextureglyphcache.cpp @@ -66,6 +66,7 @@ void QTextureGlyphCache::populate(const QTextItemInt &ti, m_current_textitem = &ti; const int margin = glyphMargin(); + const int paddingDoubled = glyphPadding() * 2; QHash<glyph_t, Coord> listItemCoordinates; int rowHeight = 0; @@ -114,7 +115,7 @@ void QTextureGlyphCache::populate(const QTextItemInt &ti, if (listItemCoordinates.isEmpty()) return; - rowHeight += margin * 2; + rowHeight += margin * 2 + paddingDoubled; if (isNull()) createCache(QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH, rowHeight); @@ -126,7 +127,7 @@ void QTextureGlyphCache::populate(const QTextItemInt &ti, if (m_cx + c.w > m_w) { // no room on the current line, start new glyph strip m_cx = 0; - m_cy = m_h; + m_cy = m_h + paddingDoubled; } if (m_cy + c.h > m_h) { int new_height; @@ -153,7 +154,7 @@ void QTextureGlyphCache::populate(const QTextItemInt &ti, } else { // for the Mono case, glyph_width is 8-bit aligned, // and therefore so will m_cx - m_cx += c.w; + m_cx += c.w + paddingDoubled; } ++iter; } diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h index d347e61..ebb7d6b 100644 --- a/src/gui/painting/qtextureglyphcache_p.h +++ b/src/gui/painting/qtextureglyphcache_p.h @@ -97,6 +97,7 @@ public: virtual void createTextureData(int width, int height) = 0; virtual void resizeTextureData(int width, int height) = 0; virtual int glyphMargin() const { return 0; } + virtual int glyphPadding() const { return 0; } virtual void fillTexture(const Coord &coord, glyph_t glyph) = 0; diff --git a/src/gui/s60framework/qs60mainappui.cpp b/src/gui/s60framework/qs60mainappui.cpp index feffc9f..ce13de8 100644 --- a/src/gui/s60framework/qs60mainappui.cpp +++ b/src/gui/s60framework/qs60mainappui.cpp @@ -64,6 +64,9 @@ #include <private/qt_s60_p.h> #include <qdebug.h> +//Animated wallpapers in Qt applications are not supported. +const TInt KAknDisableAnimationBackground = 0x02000000; + QT_BEGIN_NAMESPACE /*! @@ -115,6 +118,11 @@ void QS60MainAppUi::ConstructL() TInt flags = CAknAppUi::EAknEnableSkin | CAknAppUi::ENoScreenFurniture | CAknAppUi::ENonStandardResourceFile; + // After 5th Edition S60, native side supports animated wallpapers. + // However, there is no support for that feature on Qt side, so indicate to + // native UI framework that this application will not support background animations. + if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0) + flags |= KAknDisableAnimationBackground; BaseConstructL(flags); } diff --git a/src/gui/styles/qstylesheetstyle.cpp b/src/gui/styles/qstylesheetstyle.cpp index 0b615bc..3201fdd 100644 --- a/src/gui/styles/qstylesheetstyle.cpp +++ b/src/gui/styles/qstylesheetstyle.cpp @@ -3184,7 +3184,7 @@ void QStyleSheetStyle::drawComplexControl(ComplexControl cc, const QStyleOptionC subRule2.drawRule(p, r); } - handleSubRule.drawRule(p, grooveSubRule.boxRect(hr, Margin)); + handleSubRule.drawRule(p, handleSubRule.boxRect(hr, Margin)); } if (slider->subControls & SC_SliderTickmarks) { diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index f36cbd2..5054b66 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -382,6 +382,7 @@ struct Q_AUTOTEST_EXPORT QScriptLine QFixed y; QFixed width; QFixed textWidth; + QFixed textAdvance; int from; signed int length : 29; mutable uint justified : 1; diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 3c0e85e..c5dd854 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -89,9 +89,9 @@ static QFixed alignLine(QTextEngine *eng, const QScriptLine &line) if (align & Qt::AlignJustify && eng->option.textDirection() == Qt::RightToLeft) align = Qt::AlignRight; if (align & Qt::AlignRight) - x = line.width - (line.textWidth + leadingSpaceWidth(eng, line)); + x = line.width - (line.textAdvance + leadingSpaceWidth(eng, line)); else if (align & Qt::AlignHCenter) - x = (line.width - line.textWidth)/2; + x = (line.width - line.textAdvance)/2; } return x; } @@ -1928,6 +1928,7 @@ void QTextLine::layout_helper(int maxGlyphs) found: if (lbh.rightBearing > 0) // If right bearing has not yet been adjusted lbh.adjustRightBearing(); + line.textAdvance = line.textWidth; line.textWidth -= qMin(QFixed(), lbh.rightBearing); if (line.length == 0) { diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 879ba2a..c05829a 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -992,19 +992,9 @@ bool QMenuPrivate::mouseEventTaken(QMouseEvent *e) return false; } -class ExceptionGuard -{ -public: - inline ExceptionGuard(bool *w = 0) : watched(w) { Q_ASSERT(!(*watched)); *watched = true; } - inline ~ExceptionGuard() { *watched = false; } - inline operator bool() { return *watched; } -private: - bool *watched; -}; - void QMenuPrivate::activateCausedStack(const QList<QPointer<QWidget> > &causedStack, QAction *action, QAction::ActionEvent action_e, bool self) { - ExceptionGuard guard(&activationRecursionGuard); + QBoolBlocker guard(activationRecursionGuard); #ifdef QT3_SUPPORT const int actionId = q_func()->findIdForAction(action); #endif diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h index 51cb5e8..41a896d 100644 --- a/src/network/access/qhttpnetworkconnectionchannel_p.h +++ b/src/network/access/qhttpnetworkconnectionchannel_p.h @@ -65,7 +65,7 @@ #include <private/qhttpnetworkrequest_p.h> #include <private/qhttpnetworkreply_p.h> -#include "qhttpnetworkconnection_p.h" +#include <private/qhttpnetworkconnection_p.h> #ifndef QT_NO_HTTP diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp index 354c944..6550a50 100644 --- a/src/network/socket/qnativesocketengine_unix.cpp +++ b/src/network/socket/qnativesocketengine_unix.cpp @@ -848,11 +848,7 @@ qint64 QNativeSocketEnginePrivate::nativeWrite(const char *data, qint64 len) // Symbian does not support signals natively and Open C returns EINTR when moving to offline writtenBytes = ::write(socketDescriptor, data, len); #else - // loop while ::write() returns -1 and errno == EINTR, in case - // of an interrupting signal. - do { - writtenBytes = qt_safe_write(socketDescriptor, data, len); - } while (writtenBytes < 0 && errno == EINTR); + writtenBytes = qt_safe_write(socketDescriptor, data, len); #endif if (writtenBytes < 0) { @@ -896,9 +892,7 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxSize) #ifdef Q_OS_SYMBIAN r = ::read(socketDescriptor, data, maxSize); #else - do { - r = qt_safe_read(socketDescriptor, data, maxSize); - } while (r == -1 && errno == EINTR); + r = qt_safe_read(socketDescriptor, data, maxSize); #endif if (r < 0) { diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp index 828849d..237b3ab 100644 --- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp +++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp @@ -1390,7 +1390,8 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(const QPointF &p, QFontEngineGly glActiveTexture(GL_TEXTURE0 + QT_MASK_TEXTURE_UNIT); glBindTexture(GL_TEXTURE_2D, cache->texture()); - updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, false); + QOpenGL2PaintEngineState *s = q->state(); + updateTextureFilter(GL_TEXTURE_2D, GL_REPEAT, s->matrix.type() > QTransform::TxTranslate); shaderManager->currentProgram()->setUniformValue(location(QGLEngineShaderManager::MaskTexture), QT_MASK_TEXTURE_UNIT); glDrawArrays(GL_TRIANGLES, 0, 6 * glyphs.size()); diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp index 6cb76ee..994c1c9 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp @@ -246,4 +246,9 @@ int QGLTextureGlyphCache::glyphMargin() const #endif } +int QGLTextureGlyphCache::glyphPadding() const +{ + return 1; +} + QT_END_NAMESPACE diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h index 2a8a782..04731b1 100644 --- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h +++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h @@ -73,6 +73,7 @@ public: virtual void resizeTextureData(int width, int height); virtual void fillTexture(const Coord &c, glyph_t glyph); virtual int glyphMargin() const; + virtual int glyphPadding() const; inline GLuint texture() const { return m_texture; } diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp index f0b06ef5..326785e 100644 --- a/src/opengl/qgl_x11.cpp +++ b/src/opengl/qgl_x11.cpp @@ -1765,6 +1765,9 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, con glXBindTexImageEXT(x11Info.display(), (GLXPixmap)pixmapData->gl_surface, GLX_FRONT_LEFT_EXT, 0); glBindTexture(GL_TEXTURE_2D, textureId); + GLuint filtering = (options & QGLContext::LinearFilteringBindOption) ? GL_LINEAR : GL_NEAREST; + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, filtering); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, filtering); if (!((hasAlpha && RGBAConfigInverted) || (!hasAlpha && RGBConfigInverted))) options &= ~QGLContext::InvertedYBindOption; diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp index 07f8415..cfc481e 100644 --- a/src/openvg/qpaintengine_vg.cpp +++ b/src/openvg/qpaintengine_vg.cpp @@ -1626,11 +1626,48 @@ void QVGPaintEngine::clip(const QVectorPath &path, Qt::ClipOperation op) QRectF rect(points[0], points[1], points[2] - points[0], points[5] - points[1]); clip(rect.toRect(), op); - } else { - // The best we can do is clip to the bounding rectangle - // of all control points. - clip(path.controlPointRect().toRect(), op); + return; + } + + // Try converting the path into a QRegion that tightly follows + // the outline of the path we want to clip with. + QRegion region(path.convertToPainterPath().toFillPolygon(QTransform()).toPolygon()); + switch (op) { + case Qt::NoClip: + { + region = defaultClipRegion(); + } + break; + + case Qt::ReplaceClip: + { + region = d->transform.map(region); + } + break; + + case Qt::IntersectClip: + { + region = s->clipRegion.intersect(d->transform.map(region)); + } + break; + + case Qt::UniteClip: + { + region = s->clipRegion.unite(d->transform.map(region)); + } + break; } + if (region.numRects() <= d->maxScissorRects) { + // We haven't reached the maximum scissor count yet, so we can + // still make use of this region. + s->clipRegion = region; + updateScissor(); + return; + } + + // The best we can do is clip to the bounding rectangle + // of all control points. + clip(path.controlPointRect().toRect(), op); } void QVGPaintEngine::clip(const QRect &rect, Qt::ClipOperation op) diff --git a/src/qbase.pri b/src/qbase.pri index 6f2dfa4..59beaab 100644 --- a/src/qbase.pri +++ b/src/qbase.pri @@ -1,4 +1,4 @@ -isEmpty(TARGET):error(You must set TARGET before include()'ing $${_FILE_}) +isEmpty(TARGET):error("You must set TARGET before include()'ing $${_FILE_}") INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat !isEmpty(RCC_DIR): INCLUDEPATH += $$RCC_DIR isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700 diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index 88427ec..3368e4c 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -12548,252 +12548,65 @@ EXPORTS ?timerEvent@QS60Style@@MAEXPAVQTimerEvent@@@Z @ 12547 NONAME ; void QS60Style::timerEvent(class QTimerEvent *) ?updateAncestorFlags@QGraphicsItemPrivate@@QAEXXZ @ 12548 NONAME ; void QGraphicsItemPrivate::updateAncestorFlags(void) ?updateChildWithGraphicsEffectFlagRecursively@QGraphicsItemPrivate@@QAEXXZ @ 12549 NONAME ; void QGraphicsItemPrivate::updateChildWithGraphicsEffectFlagRecursively(void) - ?isOpacityNull@QGraphicsItemPrivate@@SA_NM@Z @ 12550 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(float) - ?isOpacityNull@QGraphicsItemPrivate@@QBE_NXZ @ 12551 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(void) const - ?api@QEglContext@@QBE?AW4API@QEgl@@XZ @ 12552 NONAME ABSENT ; enum QEgl::API QEglContext::api(void) const + ?api@QEglContext@@QBE?AW4API@QEgl@@XZ @ 12550 NONAME ; enum QEgl::API QEglContext::api(void) const + ?display@QEglContext@@SAHXZ @ 12551 NONAME ; int QEglContext::display(void) + ?isOpacityNull@QGraphicsItemPrivate@@SA_NM@Z @ 12552 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(float) ?chooseConfig@QEglContext@@QAE_NABVQEglProperties@@W4PixelFormatMatch@QEgl@@@Z @ 12553 NONAME ; bool QEglContext::chooseConfig(class QEglProperties const &, enum QEgl::PixelFormatMatch) ?destroySurface@QEglContext@@QAEXH@Z @ 12554 NONAME ; void QEglContext::destroySurface(int) ?lazyDoneCurrent@QEglContext@@QAE_NXZ @ 12555 NONAME ; bool QEglContext::lazyDoneCurrent(void) - ?waitNative@QEglContext@@QAEXXZ @ 12556 NONAME ABSENT ; void QEglContext::waitNative(void) - ?context@QEglContext@@QBEHXZ @ 12557 NONAME ABSENT ; int QEglContext::context(void) const + ?waitNative@QEglContext@@QAEXXZ @ 12556 NONAME ; void QEglContext::waitNative(void) + ?context@QEglContext@@QBEHXZ @ 12557 NONAME ; int QEglContext::context(void) const ?configAttrib@QEglContext@@QBE_NHPAH@Z @ 12558 NONAME ; bool QEglContext::configAttrib(int, int *) const ??0QEglProperties@@QAE@ABV0@@Z @ 12559 NONAME ; QEglProperties::QEglProperties(class QEglProperties const &) - ?config@QEglContext@@QBEHXZ @ 12560 NONAME ABSENT ; int QEglContext::config(void) const - ?openDisplay@QEglContext@@QAE_NPAVQPaintDevice@@@Z @ 12561 NONAME ABSENT ; bool QEglContext::openDisplay(class QPaintDevice *) - ?error@QEglContext@@SAHXZ @ 12562 NONAME ABSENT ; int QEglContext::error(void) + ?config@QEglContext@@QBEHXZ @ 12560 NONAME ; int QEglContext::config(void) const + ?clearFocusHelper@QGraphicsItemPrivate@@QAEX_N@Z @ 12561 NONAME ; void QGraphicsItemPrivate::clearFocusHelper(bool) + ?error@QEglContext@@SAHXZ @ 12562 NONAME ; int QEglContext::error(void) ?swapBuffers@QEglContext@@QAE_NH@Z @ 12563 NONAME ; bool QEglContext::swapBuffers(int) - ?setApi@QEglContext@@QAEXW4API@QEgl@@@Z @ 12564 NONAME ; void QEglContext::setApi(enum QEgl::API) - ?makeCurrent@QEglContext@@QAE_NH@Z @ 12565 NONAME ; bool QEglContext::makeCurrent(int) - ?createSurface@QEglContext@@QAEHPAVQPaintDevice@@PBVQEglProperties@@@Z @ 12566 NONAME ; int QEglContext::createSurface(class QPaintDevice *, class QEglProperties const *) - ?dumpAllConfigs@QEglContext@@QAEXXZ @ 12567 NONAME ; void QEglContext::dumpAllConfigs(void) - ?reduceConfiguration@QEglProperties@@QAE_NXZ @ 12568 NONAME ; bool QEglProperties::reduceConfiguration(void) - ?removeValue@QEglProperties@@QAE_NH@Z @ 12569 NONAME ; bool QEglProperties::removeValue(int) - ?toString@QEglProperties@@QBE?AVQString@@XZ @ 12570 NONAME ; class QString QEglProperties::toString(void) const - ?dumpAllConfigs@QEglProperties@@SAXXZ @ 12571 NONAME ; void QEglProperties::dumpAllConfigs(void) - ?defaultDisplay@QEglContext@@SAHPAVQPaintDevice@@@Z @ 12572 NONAME ABSENT ; int QEglContext::defaultDisplay(class QPaintDevice *) - ?configProperties@QEglContext@@QBE?AVQEglProperties@@H@Z @ 12573 NONAME ABSENT ; class QEglProperties QEglContext::configProperties(int) const - ?properties@QEglProperties@@QBEPBHXZ @ 12574 NONAME ; int const * QEglProperties::properties(void) const - ??0QEglContext@@QAE@XZ @ 12575 NONAME ; QEglContext::QEglContext(void) - ??1QEglContext@@QAE@XZ @ 12576 NONAME ; QEglContext::~QEglContext(void) - ?isValid@QEglContext@@QBE_NXZ @ 12577 NONAME ; bool QEglContext::isValid(void) const - ?value@QEglProperties@@QBEHH@Z @ 12578 NONAME ; int QEglProperties::value(int) const - ?clearError@QEglContext@@SAXXZ @ 12579 NONAME ABSENT ; void QEglContext::clearError(void) - ??0QEglProperties@@QAE@H@Z @ 12580 NONAME ; QEglProperties::QEglProperties(int) - ?setValue@QEglProperties@@QAEXHH@Z @ 12581 NONAME ; void QEglProperties::setValue(int, int) - ?setPaintDeviceFormat@QEglProperties@@QAEXPAVQPaintDevice@@@Z @ 12582 NONAME ; void QEglProperties::setPaintDeviceFormat(class QPaintDevice *) - ?destroy@QEglContext@@QAEXXZ @ 12583 NONAME ABSENT ; void QEglContext::destroy(void) - ?setRenderableType@QEglProperties@@QAEXW4API@QEgl@@@Z @ 12584 NONAME ; void QEglProperties::setRenderableType(enum QEgl::API) - ?setContext@QEglContext@@QAEXH@Z @ 12585 NONAME ; void QEglContext::setContext(int) - ?waitClient@QEglContext@@QAEXXZ @ 12586 NONAME ABSENT ; void QEglContext::waitClient(void) - ?isEmpty@QEglProperties@@QBE_NXZ @ 12587 NONAME ; bool QEglProperties::isEmpty(void) const - ?getDisplay@QEglContext@@CAHPAVQPaintDevice@@@Z @ 12588 NONAME ABSENT ; int QEglContext::getDisplay(class QPaintDevice *) - ?isSharing@QEglContext@@QBE_NXZ @ 12589 NONAME ; bool QEglContext::isSharing(void) const - ?isCurrent@QEglContext@@QBE_NXZ @ 12590 NONAME ; bool QEglContext::isCurrent(void) const - ??0QEglProperties@@QAE@XZ @ 12591 NONAME ; QEglProperties::QEglProperties(void) - ?extensions@QEglContext@@SA?AVQString@@XZ @ 12592 NONAME ABSENT ; class QString QEglContext::extensions(void) - ?setCurrentContext@QEglContext@@CAXW4API@QEgl@@PAV1@@Z @ 12593 NONAME ; void QEglContext::setCurrentContext(enum QEgl::API, class QEglContext *) - ??1QEglProperties@@QAE@XZ @ 12594 NONAME ; QEglProperties::~QEglProperties(void) - ?createContext@QEglContext@@QAE_NPAV1@PBVQEglProperties@@@Z @ 12595 NONAME ; bool QEglContext::createContext(class QEglContext *, class QEglProperties const *) - ?setConfig@QEglContext@@QAEXH@Z @ 12596 NONAME ; void QEglContext::setConfig(int) - ?hasExtension@QEglContext@@SA_NPBD@Z @ 12597 NONAME ABSENT ; bool QEglContext::hasExtension(char const *) - ?doneCurrent@QEglContext@@QAE_NXZ @ 12598 NONAME ; bool QEglContext::doneCurrent(void) - ?display@QEglContext@@QBEHXZ @ 12599 NONAME ABSENT ; int QEglContext::display(void) const - ?setPixelFormat@QEglProperties@@QAEXW4Format@QImage@@@Z @ 12600 NONAME ; void QEglProperties::setPixelFormat(enum QImage::Format) - ?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12601 NONAME ; class QEglContext * QEglContext::currentContext(enum QEgl::API) - ?errorString@QEglContext@@SA?AVQString@@H@Z @ 12602 NONAME ; class QString QEglContext::errorString(int) - ?removeAllApplicationFonts@QFontDatabase@@SA_NXZ @ 12603 NONAME ; bool QFontDatabase::removeAllApplicationFonts() - ??0FileInfo@QZipReader@@QAE@XZ @ 12604 NONAME ABSENT ; QZipReader::FileInfo::FileInfo(void) - ??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12605 NONAME ABSENT ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void) - ??0QGraphicsViewPrivate@@QAE@XZ @ 12606 NONAME ABSENT ; QGraphicsViewPrivate::QGraphicsViewPrivate(void) - ??0QKeySequence@@QAE@ABVQString@@W4SequenceFormat@0@@Z @ 12607 NONAME ABSENT ; QKeySequence::QKeySequence(class QString const &, enum QKeySequence::SequenceFormat) - ??0QStaticText@@QAE@ABV0@@Z @ 12608 NONAME ABSENT ; QStaticText::QStaticText(class QStaticText const &) - ??0QStaticText@@QAE@ABVQString@@ABVQSizeF@@@Z @ 12609 NONAME ABSENT ; QStaticText::QStaticText(class QString const &, class QSizeF const &) - ??0QStaticText@@QAE@XZ @ 12610 NONAME ABSENT ; QStaticText::QStaticText(void) - ??0QStaticTextItem@@QAE@XZ @ 12611 NONAME ABSENT ; QStaticTextItem::QStaticTextItem(void) - ??0QZipReader@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 12612 NONAME ABSENT ; QZipReader::QZipReader(class QString const &, class QFlags<enum QIODevice::OpenModeFlag>) - ??0QZipReader@@QAE@PAVQIODevice@@@Z @ 12613 NONAME ABSENT ; QZipReader::QZipReader(class QIODevice *) - ??1FileInfo@QZipReader@@QAE@XZ @ 12614 NONAME ABSENT ; QZipReader::FileInfo::~FileInfo(void) - ??1QAbstractScrollAreaPrivate@@UAE@XZ @ 12615 NONAME ABSENT ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(void) - ??1QGraphicsViewPrivate@@UAE@XZ @ 12616 NONAME ABSENT ; QGraphicsViewPrivate::~QGraphicsViewPrivate(void) - ??1QStaticText@@QAE@XZ @ 12617 NONAME ABSENT ; QStaticText::~QStaticText(void) - ??1QStaticTextItem@@QAE@XZ @ 12618 NONAME ABSENT ; QStaticTextItem::~QStaticTextItem(void) - ??1QZipReader@@QAE@XZ @ 12619 NONAME ABSENT ; QZipReader::~QZipReader(void) - ??4FileInfo@QZipReader@@QAEAAU01@ABU01@@Z @ 12620 NONAME ABSENT ; struct QZipReader::FileInfo & QZipReader::FileInfo::operator=(struct QZipReader::FileInfo const &) - ??4QStaticText@@QAEAAV0@ABV0@@Z @ 12621 NONAME ABSENT ; class QStaticText & QStaticText::operator=(class QStaticText const &) - ??8QStaticText@@QBE_NABV0@@Z @ 12622 NONAME ABSENT ; bool QStaticText::operator==(class QStaticText const &) const - ??9QStaticText@@QBE_NABV0@@Z @ 12623 NONAME ABSENT ; bool QStaticText::operator!=(class QStaticText const &) const - ??_EQAbstractScrollAreaPrivate@@UAE@I@Z @ 12624 NONAME ABSENT ; QAbstractScrollAreaPrivate::~QAbstractScrollAreaPrivate(unsigned int) - ??_EQGraphicsViewPrivate@@UAE@I@Z @ 12625 NONAME ABSENT ; QGraphicsViewPrivate::~QGraphicsViewPrivate(unsigned int) - ?_q_hslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12626 NONAME ABSENT ; void QAbstractScrollAreaPrivate::_q_hslide(int) - ?_q_setViewportCursor@QGraphicsViewPrivate@@QAEXABVQCursor@@@Z @ 12627 NONAME ABSENT ; void QGraphicsViewPrivate::_q_setViewportCursor(class QCursor const &) - ?_q_showOrHideScrollBars@QAbstractScrollAreaPrivate@@QAEXXZ @ 12628 NONAME ABSENT ; void QAbstractScrollAreaPrivate::_q_showOrHideScrollBars(void) - ?_q_unsetViewportCursor@QGraphicsViewPrivate@@QAEXXZ @ 12629 NONAME ABSENT ; void QGraphicsViewPrivate::_q_unsetViewportCursor(void) - ?_q_vslide@QAbstractScrollAreaPrivate@@QAEXH@Z @ 12630 NONAME ABSENT ; void QAbstractScrollAreaPrivate::_q_vslide(int) - ?allocStyleOptionsArray@QGraphicsViewPrivate@@QAEPAVQStyleOptionGraphicsItem@@H@Z @ 12631 NONAME ABSENT ; class QStyleOptionGraphicsItem * QGraphicsViewPrivate::allocStyleOptionsArray(int) - ?anchorAt@QPlainTextEdit@@QBE?AVQString@@ABVQPoint@@@Z @ 12632 NONAME ABSENT ; class QString QPlainTextEdit::anchorAt(class QPoint const &) const - ?assign@QKeySequence@@AAEHABVQString@@W4SequenceFormat@1@@Z @ 12633 NONAME ABSENT ; int QKeySequence::assign(class QString const &, enum QKeySequence::SequenceFormat) - ?autoFillBackground@QGraphicsWidget@@QBE_NXZ @ 12634 NONAME ABSENT ; bool QGraphicsWidget::autoFillBackground(void) const - ?canKeypadNavigate@QWidgetPrivate@@SA_NW4Orientation@Qt@@@Z @ 12635 NONAME ; bool QWidgetPrivate::canKeypadNavigate(enum Qt::Orientation) - ?centerView@QGraphicsViewPrivate@@QAEXW4ViewportAnchor@QGraphicsView@@@Z @ 12636 NONAME ABSENT ; void QGraphicsViewPrivate::centerView(enum QGraphicsView::ViewportAnchor) - ?clearUndoRedoStacks@QTextDocument@@QAEXW4Stacks@1@@Z @ 12637 NONAME ABSENT ; void QTextDocument::clearUndoRedoStacks(enum QTextDocument::Stacks) - ?close@QZipReader@@QAEXXZ @ 12638 NONAME ABSENT ; void QZipReader::close(void) - ?constBits@QImage@@QBEPBEXZ @ 12639 NONAME ABSENT ; unsigned char const * QImage::constBits(void) const - ?constScanLine@QImage@@QBEPBEH@Z @ 12640 NONAME ABSENT ; unsigned char const * QImage::constScanLine(int) const - ?contentsOffset@QAbstractScrollAreaPrivate@@UBE?AVQPoint@@XZ @ 12641 NONAME ABSENT ; class QPoint QAbstractScrollAreaPrivate::contentsOffset(void) const - ?convertFromImage@QPixmap@@QAE_NABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 12642 NONAME ABSENT ; bool QPixmap::convertFromImage(class QImage const &, class QFlags<enum Qt::ImageConversionFlag>) - ?count@QZipReader@@QBEHXZ @ 12643 NONAME ABSENT ; int QZipReader::count(void) const - ?create@Fragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12644 NONAME ABSENT ; class QPainter::Fragment QPainter::Fragment::create(class QPointF const &, class QRectF const &, float, float, float, float) - ?detach@QStaticText@@AAEXXZ @ 12645 NONAME ABSENT ; void QStaticText::detach(void) - ?directoryLoaded@QFileSystemModel@@IAEXABVQString@@@Z @ 12646 NONAME ABSENT ; void QFileSystemModel::directoryLoaded(class QString const &) - ?dispatchPendingUpdateRequests@QGraphicsViewPrivate@@QAEXXZ @ 12647 NONAME ABSENT ; void QGraphicsViewPrivate::dispatchPendingUpdateRequests(void) - ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4FragmentHint@QPainter@@@@@Z @ 12648 NONAME ABSENT ; void QPaintEngineEx::drawPixmapFragments(class QPainter::Fragment const *, int, class QPixmap const &, class QFlags<enum QPainter::FragmentHint>) - ?drawPixmapFragments@QPainter@@QAEXPBVFragment@1@HABVQPixmap@@V?$QFlags@W4FragmentHint@QPainter@@@@@Z @ 12649 NONAME ABSENT ; void QPainter::drawPixmapFragments(class QPainter::Fragment const *, int, class QPixmap const &, class QFlags<enum QPainter::FragmentHint>) - ?drawStaticText@QPainter@@QAEXABVQPoint@@ABVQStaticText@@@Z @ 12650 NONAME ABSENT ; void QPainter::drawStaticText(class QPoint const &, class QStaticText const &) - ?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12651 NONAME ABSENT ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &) - ?drawStaticText@QPainter@@QAEXHHABVQStaticText@@@Z @ 12652 NONAME ABSENT ; void QPainter::drawStaticText(int, int, class QStaticText const &) - ?entryInfoAt@QZipReader@@QBE?AUFileInfo@1@H@Z @ 12653 NONAME ABSENT ; struct QZipReader::FileInfo QZipReader::entryInfoAt(int) const - ?exists@QZipReader@@QBE_NXZ @ 12654 NONAME ABSENT ; bool QZipReader::exists(void) const - ?extractAll@QZipReader@@QBE_NABVQString@@@Z @ 12655 NONAME ABSENT ; bool QZipReader::extractAll(class QString const &) const - ?fileData@QZipReader@@QBE?AVQByteArray@@ABVQString@@@Z @ 12656 NONAME ABSENT ; class QByteArray QZipReader::fileData(class QString const &) const - ?fileInfoList@QZipReader@@QBE?AV?$QList@UFileInfo@QZipReader@@@@XZ @ 12657 NONAME ABSENT ; class QList<struct QZipReader::FileInfo> QZipReader::fileInfoList(void) const - ?findItems@QGraphicsViewPrivate@@QBE?AV?$QList@PAVQGraphicsItem@@@@ABVQRegion@@PA_NABVQTransform@@@Z @ 12658 NONAME ABSENT ; class QList<class QGraphicsItem *> QGraphicsViewPrivate::findItems(class QRegion const &, bool *, class QTransform const &) const - ?fixup@QIntValidator@@UBEXAAVQString@@@Z @ 12659 NONAME ABSENT ; void QIntValidator::fixup(class QString &) const - ?freeStyleOptionsArray@QGraphicsViewPrivate@@QAEXPAVQStyleOptionGraphicsItem@@@Z @ 12660 NONAME ABSENT ; void QGraphicsViewPrivate::freeStyleOptionsArray(class QStyleOptionGraphicsItem *) - ?getPixmapCursor@QApplicationPrivate@@QAE?AVQPixmap@@W4CursorShape@Qt@@@Z @ 12661 NONAME ABSENT ; class QPixmap QApplicationPrivate::getPixmapCursor(enum Qt::CursorShape) - ?getSubRange@QBezier@@QBE?AV1@MM@Z @ 12662 NONAME ABSENT ; class QBezier QBezier::getSubRange(float, float) const - ?hasSelectedText@QLabel@@QBE_NXZ @ 12663 NONAME ABSENT ; bool QLabel::hasSelectedText(void) const - ?horizontalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12664 NONAME ABSENT ; long long QGraphicsViewPrivate::horizontalScroll(void) const - ?inTabWidget@QWidgetPrivate@@SA_NPAVQWidget@@@Z @ 12665 NONAME ; bool QWidgetPrivate::inTabWidget(class QWidget *) - ?init@QAbstractScrollAreaPrivate@@QAEXXZ @ 12666 NONAME ABSENT ; void QAbstractScrollAreaPrivate::init(void) - ?isImageCached@QImagePixmapCleanupHooks@@SA_NABVQImage@@@Z @ 12667 NONAME ; bool QImagePixmapCleanupHooks::isImageCached(class QImage const &) - ?isPixmapCached@QImagePixmapCleanupHooks@@SA_NABVQPixmap@@@Z @ 12668 NONAME ; bool QImagePixmapCleanupHooks::isPixmapCached(class QPixmap const &) - ?isReadable@QZipReader@@QBE_NXZ @ 12669 NONAME ABSENT ; bool QZipReader::isReadable(void) const - ?isValidColor@QColor@@SA_NABVQString@@@Z @ 12670 NONAME ABSENT ; bool QColor::isValidColor(class QString const &) - ?layoutChildren@QAbstractScrollAreaPrivate@@QAEXXZ @ 12671 NONAME ABSENT ; void QAbstractScrollAreaPrivate::layoutChildren(void) - ?mapBy@QBezier@@QBE?AV1@ABVQTransform@@@Z @ 12672 NONAME ABSENT ; class QBezier QBezier::mapBy(class QTransform const &) const - ?mapRectFromScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12673 NONAME ABSENT ; class QRectF QGraphicsViewPrivate::mapRectFromScene(class QRectF const &) const - ?mapRectToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABVQRect@@@Z @ 12674 NONAME ABSENT ; class QRectF QGraphicsViewPrivate::mapRectToScene(class QRect const &) const - ?mapToScene@QGraphicsViewPrivate@@QBE?AVQPointF@@ABV2@@Z @ 12675 NONAME ABSENT ; class QPointF QGraphicsViewPrivate::mapToScene(class QPointF const &) const - ?mapToScene@QGraphicsViewPrivate@@QBE?AVQRectF@@ABV2@@Z @ 12676 NONAME ABSENT ; class QRectF QGraphicsViewPrivate::mapToScene(class QRectF const &) const - ?mapToViewRect@QGraphicsViewPrivate@@QBE?AVQRect@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12677 NONAME ABSENT ; class QRect QGraphicsViewPrivate::mapToViewRect(class QGraphicsItem const *, class QRectF const &) const - ?mapToViewRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQGraphicsItem@@ABVQRectF@@@Z @ 12678 NONAME ABSENT ; class QRegion QGraphicsViewPrivate::mapToViewRegion(class QGraphicsItem const *, class QRectF const &) const - ?maximumSize@QStaticText@@QBE?AVQSizeF@@XZ @ 12679 NONAME ABSENT ; class QSizeF QStaticText::maximumSize(void) const - ?mouseMoveEventHandler@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12680 NONAME ABSENT ; void QGraphicsViewPrivate::mouseMoveEventHandler(class QMouseEvent *) - ?performanceHint@QStaticText@@QBE?AW4PerformanceHint@1@XZ @ 12681 NONAME ABSENT ; enum QStaticText::PerformanceHint QStaticText::performanceHint(void) const - ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12682 NONAME ABSENT ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *) - ?populateSceneDragDropEvent@QGraphicsViewPrivate@@QAEXPAVQGraphicsSceneDragDropEvent@@PAVQDropEvent@@@Z @ 12683 NONAME ABSENT ; void QGraphicsViewPrivate::populateSceneDragDropEvent(class QGraphicsSceneDragDropEvent *, class QDropEvent *) - ?positionInBlock@QTextCursor@@QBEHXZ @ 12684 NONAME ABSENT ; int QTextCursor::positionInBlock(void) const - ?prepare@QStaticText@@QAEXABVQTransform@@ABVQFont@@@Z @ 12685 NONAME ABSENT ; void QStaticText::prepare(class QTransform const &, class QFont const &) - ?processPendingUpdates@QGraphicsViewPrivate@@QAEXXZ @ 12686 NONAME ABSENT ; void QGraphicsViewPrivate::processPendingUpdates(void) - ?q_func@QAbstractScrollAreaPrivate@@AAEPAVQAbstractScrollArea@@XZ @ 12687 NONAME ABSENT ; class QAbstractScrollArea * QAbstractScrollAreaPrivate::q_func(void) - ?q_func@QAbstractScrollAreaPrivate@@ABEPBVQAbstractScrollArea@@XZ @ 12688 NONAME ABSENT ; class QAbstractScrollArea const * QAbstractScrollAreaPrivate::q_func(void) const - ?q_func@QGraphicsViewPrivate@@AAEPAVQGraphicsView@@XZ @ 12689 NONAME ABSENT ; class QGraphicsView * QGraphicsViewPrivate::q_func(void) - ?q_func@QGraphicsViewPrivate@@ABEPBVQGraphicsView@@XZ @ 12690 NONAME ABSENT ; class QGraphicsView const * QGraphicsViewPrivate::q_func(void) const - ?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12691 NONAME ABSENT ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int) - ?recalculateContentSize@QGraphicsViewPrivate@@QAEXXZ @ 12692 NONAME ABSENT ; void QGraphicsViewPrivate::recalculateContentSize(void) - ?render@QWidgetPrivate@@QAEXPAVQPaintDevice@@ABVQPoint@@ABVQRegion@@V?$QFlags@W4RenderFlag@QWidget@@@@_N@Z @ 12693 NONAME ABSENT ; void QWidgetPrivate::render(class QPaintDevice *, class QPoint const &, class QRegion const &, class QFlags<enum QWidget::RenderFlag>, bool) - ?replaceScrollBar@QAbstractScrollAreaPrivate@@QAEXPAVQScrollBar@@W4Orientation@Qt@@@Z @ 12694 NONAME ABSENT ; void QAbstractScrollAreaPrivate::replaceScrollBar(class QScrollBar *, enum Qt::Orientation) - ?replayLastMouseEvent@QGraphicsViewPrivate@@QAEXXZ @ 12695 NONAME ABSENT ; void QGraphicsViewPrivate::replayLastMouseEvent(void) - ?rubberBandRegion@QGraphicsViewPrivate@@QBE?AVQRegion@@PBVQWidget@@ABVQRect@@@Z @ 12696 NONAME ABSENT ; class QRegion QGraphicsViewPrivate::rubberBandRegion(class QWidget const *, class QRect const &) const - ?scrollBarPolicyChanged@QAbstractScrollAreaPrivate@@UAEXW4Orientation@Qt@@W4ScrollBarPolicy@3@@Z @ 12697 NONAME ABSENT ; void QAbstractScrollAreaPrivate::scrollBarPolicyChanged(enum Qt::Orientation, enum Qt::ScrollBarPolicy) - ?selectedText@QLabel@@QBE?AVQString@@XZ @ 12698 NONAME ABSENT ; class QString QLabel::selectedText(void) const - ?selectionStart@QLabel@@QBEHXZ @ 12699 NONAME ABSENT ; int QLabel::selectionStart(void) const - ?setAutoFillBackground@QGraphicsWidget@@QAEX_N@Z @ 12700 NONAME ABSENT ; void QGraphicsWidget::setAutoFillBackground(bool) - ?setColorFromString@QColor@@AAE_NABVQString@@@Z @ 12701 NONAME ABSENT ; bool QColor::setColorFromString(class QString const &) - ?setMaximumSize@QStaticText@@QAEXABVQSizeF@@@Z @ 12702 NONAME ABSENT ; void QStaticText::setMaximumSize(class QSizeF const &) - ?setPerformanceHint@QStaticText@@QAEXW4PerformanceHint@1@@Z @ 12703 NONAME ABSENT ; void QStaticText::setPerformanceHint(enum QStaticText::PerformanceHint) - ?setSelection@QLabel@@QAEXHH@Z @ 12704 NONAME ABSENT ; void QLabel::setSelection(int, int) - ?setText@QStaticText@@QAEXABVQString@@@Z @ 12705 NONAME ABSENT ; void QStaticText::setText(class QString const &) - ?setTextFormat@QStaticText@@QAEXW4TextFormat@Qt@@@Z @ 12706 NONAME ABSENT ; void QStaticText::setTextFormat(enum Qt::TextFormat) - ?setUserData@QStaticTextItem@@QAEXPAVQStaticTextUserData@@@Z @ 12707 NONAME ABSENT ; void QStaticTextItem::setUserData(class QStaticTextUserData *) - ?size@QStaticText@@QBE?AVQSizeF@@XZ @ 12708 NONAME ABSENT ; class QSizeF QStaticText::size(void) const - ?status@QZipReader@@QBE?AW4Status@1@XZ @ 12709 NONAME ABSENT ; enum QZipReader::Status QZipReader::status(void) const - ?storeDragDropEvent@QGraphicsViewPrivate@@QAEXPBVQGraphicsSceneDragDropEvent@@@Z @ 12710 NONAME ABSENT ; void QGraphicsViewPrivate::storeDragDropEvent(class QGraphicsSceneDragDropEvent const *) - ?storeMouseEvent@QGraphicsViewPrivate@@QAEXPAVQMouseEvent@@@Z @ 12711 NONAME ABSENT ; void QGraphicsViewPrivate::storeMouseEvent(class QMouseEvent *) - ?text@QStaticText@@QBE?AVQString@@XZ @ 12712 NONAME ABSENT ; class QString QStaticText::text(void) const - ?textFormat@QStaticText@@QBE?AW4TextFormat@Qt@@XZ @ 12713 NONAME ABSENT ; enum Qt::TextFormat QStaticText::textFormat(void) const - ?translateTouchEvent@QGraphicsViewPrivate@@SAXPAV1@PAVQTouchEvent@@@Z @ 12714 NONAME ABSENT ; void QGraphicsViewPrivate::translateTouchEvent(class QGraphicsViewPrivate *, class QTouchEvent *) - ?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12715 NONAME ABSENT ; void QGraphicsViewPrivate::updateAll(void) - ?updateInputMethodSensitivity@QGraphicsViewPrivate@@QAEXXZ @ 12716 NONAME ABSENT ; void QGraphicsViewPrivate::updateInputMethodSensitivity(void) - ?updateLastCenterPoint@QGraphicsViewPrivate@@QAEXXZ @ 12717 NONAME ABSENT ; void QGraphicsViewPrivate::updateLastCenterPoint(void) - ?updateRect@QGraphicsViewPrivate@@QAE_NABVQRect@@@Z @ 12718 NONAME ABSENT ; bool QGraphicsViewPrivate::updateRect(class QRect const &) - ?updateRegion@QGraphicsViewPrivate@@QAE_NABVQRegion@@@Z @ 12719 NONAME ABSENT ; bool QGraphicsViewPrivate::updateRegion(class QRegion const &) - ?updateScroll@QGraphicsViewPrivate@@QAEXXZ @ 12720 NONAME ABSENT ; void QGraphicsViewPrivate::updateScroll(void) - ?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12721 NONAME ABSENT ; long long QGraphicsViewPrivate::verticalScroll(void) const - ?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12722 NONAME ABSENT ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *) - ?visibilityChanged@QToolBar@@IAEX_N@Z @ 12723 NONAME ABSENT ; void QToolBar::visibilityChanged(bool) - ??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12724 NONAME ABSENT ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &) - ??0QStaticText@@QAE@ABVQString@@@Z @ 12725 NONAME ABSENT ; QStaticText::QStaticText(class QString const &) - ?append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12726 NONAME ABSENT ; void QGraphicsItemPrivate::append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *) - ?bitPlaneCount@QImage@@QBEHXZ @ 12727 NONAME ABSENT ; int QImage::bitPlaneCount(void) const - ?childrenChanged@QGraphicsObject@@IAEXXZ @ 12728 NONAME ABSENT ; void QGraphicsObject::childrenChanged(void) - ?childrenList@QGraphicsItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQGraphicsObject@@@@XZ @ 12729 NONAME ABSENT ; class QDeclarativeListProperty<class QGraphicsObject> QGraphicsItemPrivate::childrenList(void) - ?clearFocusHelper@QGraphicsItemPrivate@@QAEX_N@Z @ 12730 NONAME ; void QGraphicsItemPrivate::clearFocusHelper(bool) - ?commandDescription@QPaintBuffer@@QBE?AVQString@@H@Z @ 12731 NONAME ABSENT ; class QString QPaintBuffer::commandDescription(int) const - ?create@PixmapFragment@QPainter@@SA?AV12@ABVQPointF@@ABVQRectF@@MMMM@Z @ 12732 NONAME ABSENT ; class QPainter::PixmapFragment QPainter::PixmapFragment::create(class QPointF const &, class QRectF const &, float, float, float, float) - ?device@QZipReader@@QBEPAVQIODevice@@XZ @ 12733 NONAME ABSENT ; class QIODevice * QZipReader::device(void) const - ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12734 NONAME ABSENT ; void QPaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>) - ?drawPixmapFragments@QPainter@@QAEXPBVPixmapFragment@1@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 12735 NONAME ABSENT ; void QPainter::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>) - ?frameEndIndex@QPaintBuffer@@QBEHH@Z @ 12736 NONAME ABSENT ; int QPaintBuffer::frameEndIndex(int) const - ?frameStartIndex@QPaintBuffer@@QBEHH@Z @ 12737 NONAME ABSENT ; int QPaintBuffer::frameStartIndex(int) const - ?geometryChanged@QGraphicsWidget@@IAEXXZ @ 12738 NONAME ABSENT ; void QGraphicsWidget::geometryChanged(void) - ?getGlyphBearings@QFontEngine@@UAEXIPAM0@Z @ 12739 NONAME ; void QFontEngine::getGlyphBearings(unsigned int, float *, float *) - ?height@QGraphicsItemPrivate@@UBEMXZ @ 12740 NONAME ABSENT ; float QGraphicsItemPrivate::height(void) const - ?heightChanged@QGraphicsObject@@IAEXXZ @ 12741 NONAME ABSENT ; void QGraphicsObject::heightChanged(void) - ?horizontalAdvance@QTextLine@@QBEMXZ @ 12742 NONAME ABSENT ; float QTextLine::horizontalAdvance(void) const - ?isValid@FileInfo@QZipReader@@QBE_NXZ @ 12743 NONAME ABSENT ; bool QZipReader::FileInfo::isValid(void) const - ?layoutChanged@QGraphicsWidget@@IAEXXZ @ 12744 NONAME ABSENT ; void QGraphicsWidget::layoutChanged(void) - ?pageAdded@QWizard@@IAEXH@Z @ 12745 NONAME ABSENT ; void QWizard::pageAdded(int) - ?pageRemoved@QWizard@@IAEXH@Z @ 12746 NONAME ABSENT ; void QWizard::pageRemoved(int) - ?paste@QLineControl@@QAEXW4Mode@QClipboard@@@Z @ 12747 NONAME ABSENT ; void QLineControl::paste(enum QClipboard::Mode) - ?paste@QTextControl@@QAEXW4Mode@QClipboard@@@Z @ 12748 NONAME ABSENT ; void QTextControl::paste(enum QClipboard::Mode) - ?placeholderText@QLineEdit@@QBE?AVQString@@XZ @ 12749 NONAME ABSENT ; class QString QLineEdit::placeholderText(void) const - ?prependGraphicsTransform@QGraphicsItemPrivate@@QAEXPAVQGraphicsTransform@@@Z @ 12750 NONAME ABSENT ; void QGraphicsItemPrivate::prependGraphicsTransform(class QGraphicsTransform *) - ?processCommands@QPaintBuffer@@QBEHPAVQPainter@@HH@Z @ 12751 NONAME ABSENT ; int QPaintBuffer::processCommands(class QPainter *, int, int) const - ?processCommands@QPainterReplayer@@QAEXABVQPaintBuffer@@PAVQPainter@@HH@Z @ 12752 NONAME ABSENT ; void QPainterReplayer::processCommands(class QPaintBuffer const &, class QPainter *, int, int) - ?resetHeight@QGraphicsItemPrivate@@UAEXXZ @ 12753 NONAME ABSENT ; void QGraphicsItemPrivate::resetHeight(void) - ?resetWidth@QGraphicsItemPrivate@@UAEXXZ @ 12754 NONAME ABSENT ; void QGraphicsItemPrivate::resetWidth(void) - ?resizeEvent@QSplitterHandle@@MAEXPAVQResizeEvent@@@Z @ 12755 NONAME ABSENT ; void QSplitterHandle::resizeEvent(class QResizeEvent *) - ?setFocusHelper@QGraphicsItemPrivate@@QAEXW4FocusReason@Qt@@_N1@Z @ 12756 NONAME ; void QGraphicsItemPrivate::setFocusHelper(enum Qt::FocusReason, bool, bool) - ?setHeight@QGraphicsItemPrivate@@UAEXM@Z @ 12757 NONAME ABSENT ; void QGraphicsItemPrivate::setHeight(float) - ?setPlaceholderText@QLineEdit@@QAEXABVQString@@@Z @ 12758 NONAME ABSENT ; void QLineEdit::setPlaceholderText(class QString const &) - ?setSideWidget@QWizard@@QAEXPAVQWidget@@@Z @ 12759 NONAME ABSENT ; void QWizard::setSideWidget(class QWidget *) - ?setTextWidth@QStaticText@@QAEXM@Z @ 12760 NONAME ABSENT ; void QStaticText::setTextWidth(float) - ?setWidth@QGraphicsItemPrivate@@UAEXM@Z @ 12761 NONAME ABSENT ; void QGraphicsItemPrivate::setWidth(float) - ?sideWidget@QWizard@@QBEPAVQWidget@@XZ @ 12762 NONAME ABSENT ; class QWidget * QWizard::sideWidget(void) const - ?textWidth@QStaticText@@QBEMXZ @ 12763 NONAME ABSENT ; float QStaticText::textWidth(void) const - ?updateDisplayText@QLineControl@@AAEX_N@Z @ 12764 NONAME ; void QLineControl::updateDisplayText(bool) - ?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12765 NONAME ABSENT ; void QGraphicsItem::updateMicroFocus(void) - ?updateMicroFocus@QGraphicsObject@@IAEXXZ @ 12766 NONAME ABSENT ; void QGraphicsObject::updateMicroFocus(void) - ?width@QGraphicsItemPrivate@@UBEMXZ @ 12767 NONAME ABSENT ; float QGraphicsItemPrivate::width(void) const - ?widthChanged@QGraphicsObject@@IAEXXZ @ 12768 NONAME ABSENT ; void QGraphicsObject::widthChanged(void) - ?children_append@QGraphicsItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@PAVQGraphicsObject@@@Z @ 12769 NONAME ABSENT ; void QGraphicsItemPrivate::children_append(class QDeclarativeListProperty<class QGraphicsObject> *, class QGraphicsObject *) - ?children_at@QGraphicsItemPrivate@@SAPAVQGraphicsObject@@PAV?$QDeclarativeListProperty@VQGraphicsObject@@@@H@Z @ 12770 NONAME ABSENT ; class QGraphicsObject * QGraphicsItemPrivate::children_at(class QDeclarativeListProperty<class QGraphicsObject> *, int) - ?children_count@QGraphicsItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsObject@@@@@Z @ 12771 NONAME ABSENT ; int QGraphicsItemPrivate::children_count(class QDeclarativeListProperty<class QGraphicsObject> *) - ?display@QEglContext@@QAEHXZ @ 12772 NONAME ABSENT ; int QEglContext::display(void) - ?defaultConfig@QEgl@@YAHHW4API@1@V?$QFlags@W4ConfigOption@QEgl@@@@@Z @ 12773 NONAME ABSENT ; int QEgl::defaultConfig(int, enum QEgl::API, class QFlags<enum QEgl::ConfigOption>) - ?configAttrib@QEglContext@@QBEHH@Z @ 12774 NONAME ABSENT ; int QEglContext::configAttrib(int) const - ?error@QEgl@@YAHXZ @ 12775 NONAME ABSENT ; int QEgl::error(void) - ?errorString@QEgl@@YA?AVQString@@XZ @ 12776 NONAME ABSENT ; class QString QEgl::errorString(void) - ?configProperties@QEglContext@@QBE?AVQEglProperties@@XZ @ 12777 NONAME ABSENT ; class QEglProperties QEglContext::configProperties(void) const - ?extensions@QEgl@@YA?AVQString@@XZ @ 12778 NONAME ABSENT ; class QString QEgl::extensions(void) - ?nativePixmap@QEgl@@YAPAXPAVQPixmap@@@Z @ 12779 NONAME ABSENT ; void * QEgl::nativePixmap(class QPixmap *) - ?display@QEgl@@YAHXZ @ 12780 NONAME ABSENT ; int QEgl::display(void) - ?eglCreateImageKHR@QEgl@@YAHHHHHPBH@Z @ 12781 NONAME ABSENT ; int QEgl::eglCreateImageKHR(int, int, int, int, int const *) - ?hasExtension@QEgl@@YA_NPBD@Z @ 12782 NONAME ABSENT ; bool QEgl::hasExtension(char const *) - ?destroyContext@QEglContext@@QAEXXZ @ 12783 NONAME ; void QEglContext::destroyContext(void) - ?nativeWindow@QEgl@@YAPAXPAVQWidget@@@Z @ 12784 NONAME ABSENT ; void * QEgl::nativeWindow(class QWidget *) - ?errorString@QEgl@@YA?AVQString@@H@Z @ 12785 NONAME ABSENT ; class QString QEgl::errorString(int) - ?chooseConfig@QEgl@@YAHPBVQEglProperties@@W4PixelFormatMatch@1@@Z @ 12786 NONAME ABSENT ; int QEgl::chooseConfig(class QEglProperties const *, enum QEgl::PixelFormatMatch) - ?eglDestroyImageKHR@QEgl@@YAHHH@Z @ 12787 NONAME ABSENT ; int QEgl::eglDestroyImageKHR(int, int) - ?isEmpty@QItemSelectionRange@@QBE_NXZ @ 12788 NONAME ABSENT ; bool QItemSelectionRange::isEmpty(void) const - ?clearError@QEgl@@YAXXZ @ 12789 NONAME ABSENT ; void QEgl::clearError(void) - ?nativeDisplay@QEgl@@YAHXZ @ 12790 NONAME ABSENT ; int QEgl::nativeDisplay(void) - ?dumpAllConfigs@QEgl@@YAXXZ @ 12791 NONAME ABSENT ; void QEgl::dumpAllConfigs(void) - ?setDeviceType@QEglProperties@@QAEXH@Z @ 12792 NONAME ABSENT ; void QEglProperties::setDeviceType(int) - ?glyphPadding@QTextureGlyphCache@@UBEHXZ @ 12793 NONAME ABSENT ; int QTextureGlyphCache::glyphPadding(void) const - ?createSurface@QEgl@@YAHPAVQPaintDevice@@HPBVQEglProperties@@@Z @ 12794 NONAME ABSENT ; int QEgl::createSurface(class QPaintDevice *, int, class QEglProperties const *) - ?display@QEglContext@@SAHXZ @ 12795 NONAME ; int QEglContext::display(void) - ?nativeDisplay@QEglContext@@CAHXZ @ 12796 NONAME ; int QEglContext::nativeDisplay(void) - ?dpy@QEglContext@@0HA @ 12797 NONAME ; int QEglContext::dpy + ?canKeypadNavigate@QWidgetPrivate@@SA_NW4Orientation@Qt@@@Z @ 12564 NONAME ; bool QWidgetPrivate::canKeypadNavigate(enum Qt::Orientation) + ?removeAllApplicationFonts@QFontDatabase@@SA_NXZ @ 12565 NONAME ; bool QFontDatabase::removeAllApplicationFonts(void) + ?setApi@QEglContext@@QAEXW4API@QEgl@@@Z @ 12566 NONAME ; void QEglContext::setApi(enum QEgl::API) + ?updateDisplayText@QLineControl@@AAEX_N@Z @ 12567 NONAME ; void QLineControl::updateDisplayText(bool) + ?makeCurrent@QEglContext@@QAE_NH@Z @ 12568 NONAME ; bool QEglContext::makeCurrent(int) + ?isPixmapCached@QImagePixmapCleanupHooks@@SA_NABVQPixmap@@@Z @ 12569 NONAME ; bool QImagePixmapCleanupHooks::isPixmapCached(class QPixmap const &) + ?createSurface@QEglContext@@QAEHPAVQPaintDevice@@PBVQEglProperties@@@Z @ 12570 NONAME ; int QEglContext::createSurface(class QPaintDevice *, class QEglProperties const *) + ?dumpAllConfigs@QEglContext@@QAEXXZ @ 12571 NONAME ; void QEglContext::dumpAllConfigs(void) + ?reduceConfiguration@QEglProperties@@QAE_NXZ @ 12572 NONAME ; bool QEglProperties::reduceConfiguration(void) + ?nativeDisplay@QEglContext@@CAHXZ @ 12573 NONAME ; int QEglContext::nativeDisplay(void) + ?getGlyphBearings@QFontEngine@@UAEXIPAM0@Z @ 12574 NONAME ; void QFontEngine::getGlyphBearings(unsigned int, float *, float *) + ?removeValue@QEglProperties@@QAE_NH@Z @ 12575 NONAME ; bool QEglProperties::removeValue(int) + ?toString@QEglProperties@@QBE?AVQString@@XZ @ 12576 NONAME ; class QString QEglProperties::toString(void) const + ?isOpacityNull@QGraphicsItemPrivate@@QBE_NXZ @ 12577 NONAME ; bool QGraphicsItemPrivate::isOpacityNull(void) const + ?dumpAllConfigs@QEglProperties@@SAXXZ @ 12578 NONAME ; void QEglProperties::dumpAllConfigs(void) + ?inTabWidget@QWidgetPrivate@@SA_NPAVQWidget@@@Z @ 12579 NONAME ; bool QWidgetPrivate::inTabWidget(class QWidget *) + ?configProperties@QEglContext@@QBE?AVQEglProperties@@H@Z @ 12580 NONAME ; class QEglProperties QEglContext::configProperties(int) const + ?properties@QEglProperties@@QBEPBHXZ @ 12581 NONAME ; int const * QEglProperties::properties(void) const + ?destroyContext@QEglContext@@QAEXXZ @ 12582 NONAME ; void QEglContext::destroyContext(void) + ??0QEglContext@@QAE@XZ @ 12583 NONAME ; QEglContext::QEglContext(void) + ??1QEglContext@@QAE@XZ @ 12584 NONAME ; QEglContext::~QEglContext(void) + ?isValid@QEglContext@@QBE_NXZ @ 12585 NONAME ; bool QEglContext::isValid(void) const + ?value@QEglProperties@@QBEHH@Z @ 12586 NONAME ; int QEglProperties::value(int) const + ?clearError@QEglContext@@SAXXZ @ 12587 NONAME ; void QEglContext::clearError(void) + ??0QEglProperties@@QAE@H@Z @ 12588 NONAME ; QEglProperties::QEglProperties(int) + ?setValue@QEglProperties@@QAEXHH@Z @ 12589 NONAME ; void QEglProperties::setValue(int, int) + ?setPaintDeviceFormat@QEglProperties@@QAEXPAVQPaintDevice@@@Z @ 12590 NONAME ; void QEglProperties::setPaintDeviceFormat(class QPaintDevice *) + ?isImageCached@QImagePixmapCleanupHooks@@SA_NABVQImage@@@Z @ 12591 NONAME ; bool QImagePixmapCleanupHooks::isImageCached(class QImage const &) + ?setRenderableType@QEglProperties@@QAEXW4API@QEgl@@@Z @ 12592 NONAME ; void QEglProperties::setRenderableType(enum QEgl::API) + ?setContext@QEglContext@@QAEXH@Z @ 12593 NONAME ; void QEglContext::setContext(int) + ?waitClient@QEglContext@@QAEXXZ @ 12594 NONAME ; void QEglContext::waitClient(void) + ?isEmpty@QEglProperties@@QBE_NXZ @ 12595 NONAME ; bool QEglProperties::isEmpty(void) const + ?dpy@QEglContext@@0HA @ 12596 NONAME ; int QEglContext::dpy + ?isSharing@QEglContext@@QBE_NXZ @ 12597 NONAME ; bool QEglContext::isSharing(void) const + ?isCurrent@QEglContext@@QBE_NXZ @ 12598 NONAME ; bool QEglContext::isCurrent(void) const + ??0QEglProperties@@QAE@XZ @ 12599 NONAME ; QEglProperties::QEglProperties(void) + ?extensions@QEglContext@@SA?AVQString@@XZ @ 12600 NONAME ; class QString QEglContext::extensions(void) + ?setCurrentContext@QEglContext@@CAXW4API@QEgl@@PAV1@@Z @ 12601 NONAME ; void QEglContext::setCurrentContext(enum QEgl::API, class QEglContext *) + ??1QEglProperties@@QAE@XZ @ 12602 NONAME ; QEglProperties::~QEglProperties(void) + ?createContext@QEglContext@@QAE_NPAV1@PBVQEglProperties@@@Z @ 12603 NONAME ; bool QEglContext::createContext(class QEglContext *, class QEglProperties const *) + ?setConfig@QEglContext@@QAEXH@Z @ 12604 NONAME ; void QEglContext::setConfig(int) + ?hasExtension@QEglContext@@SA_NPBD@Z @ 12605 NONAME ; bool QEglContext::hasExtension(char const *) + ?doneCurrent@QEglContext@@QAE_NXZ @ 12606 NONAME ; bool QEglContext::doneCurrent(void) + ?setPixelFormat@QEglProperties@@QAEXW4Format@QImage@@@Z @ 12607 NONAME ; void QEglProperties::setPixelFormat(enum QImage::Format) + ?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12608 NONAME ; class QEglContext * QEglContext::currentContext(enum QEgl::API) + ?setFocusHelper@QGraphicsItemPrivate@@QAEXW4FocusReason@Qt@@_N1@Z @ 12609 NONAME ; void QGraphicsItemPrivate::setFocusHelper(enum Qt::FocusReason, bool, bool) + ?errorString@QEglContext@@SA?AVQString@@H@Z @ 12610 NONAME ; class QString QEglContext::errorString(int) diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index c648d87..5dc282c 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -3652,4 +3652,6 @@ EXPORTS _Z40QBasicAtomicPointer_fetchAndStoreAcquirePVPvS_ @ 3651 NONAME _Z40QBasicAtomicPointer_fetchAndStoreRelaxedPVPvS_ @ 3652 NONAME _Z40QBasicAtomicPointer_fetchAndStoreReleasePVPvS_ @ 3653 NONAME + _ZN10QTextCodec11validCodecsEv @ 3654 NONAME + _ZN20QStateMachinePrivate12clearHistoryEv @ 3655 NONAME diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 93fce62..cfe2630 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -11805,196 +11805,19 @@ EXPORTS _ZN24QImagePixmapCleanupHooks34executePixmapDataModificationHooksEP11QPixmapData @ 11804 NONAME _ZN9QS60Style10timerEventEP11QTimerEvent @ 11805 NONAME _ZN9QS60Style11eventFilterEP7QObjectP6QEvent @ 11806 NONAME - _ZN13QFontDatabase25removeAllApplicationFontsEv @ 11807 NONAME - _ZN10QZipReader5closeEv @ 11808 NONAME ABSENT - _ZN10QZipReader8FileInfoC1ERKS0_ @ 11809 NONAME ABSENT - _ZN10QZipReader8FileInfoC1Ev @ 11810 NONAME ABSENT - _ZN10QZipReader8FileInfoC2ERKS0_ @ 11811 NONAME ABSENT - _ZN10QZipReader8FileInfoC2Ev @ 11812 NONAME ABSENT - _ZN10QZipReader8FileInfoD1Ev @ 11813 NONAME ABSENT - _ZN10QZipReader8FileInfoD2Ev @ 11814 NONAME ABSENT - _ZN10QZipReader8FileInfoaSERKS0_ @ 11815 NONAME ABSENT - _ZN10QZipReaderC1EP9QIODevice @ 11816 NONAME ABSENT - _ZN10QZipReaderC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11817 NONAME ABSENT - _ZN10QZipReaderC2EP9QIODevice @ 11818 NONAME ABSENT - _ZN10QZipReaderC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 11819 NONAME ABSENT - _ZN10QZipReaderD1Ev @ 11820 NONAME ABSENT - _ZN10QZipReaderD2Ev @ 11821 NONAME ABSENT - _ZN11QStaticText13setTextFormatEN2Qt10TextFormatE @ 11822 NONAME ABSENT - _ZN11QStaticText14setMaximumSizeERK6QSizeF @ 11823 NONAME ABSENT - _ZN11QStaticText18setPerformanceHintENS_15PerformanceHintE @ 11824 NONAME ABSENT - _ZN11QStaticText6detachEv @ 11825 NONAME ABSENT - _ZN11QStaticText7prepareERK10QTransformRK5QFont @ 11826 NONAME ABSENT - _ZN11QStaticText7setTextERK7QString @ 11827 NONAME ABSENT - _ZN11QStaticTextC1ERK7QString @ 11828 NONAME ABSENT - _ZN11QStaticTextC1ERKS_ @ 11829 NONAME ABSENT - _ZN11QStaticTextC1Ev @ 11830 NONAME ABSENT - _ZN11QStaticTextC2ERK7QString @ 11831 NONAME ABSENT - _ZN11QStaticTextC2ERKS_ @ 11832 NONAME ABSENT - _ZN11QStaticTextC2Ev @ 11833 NONAME ABSENT - _ZN11QStaticTextD1Ev @ 11834 NONAME ABSENT - _ZN11QStaticTextD2Ev @ 11835 NONAME ABSENT - _ZN11QStaticTextaSERKS_ @ 11836 NONAME ABSENT - _ZN12QKeySequence6assignERK7QStringNS_14SequenceFormatE @ 11837 NONAME ABSENT - _ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11838 NONAME ABSENT - _ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11839 NONAME ABSENT - _ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11840 NONAME ABSENT - _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter8FragmentEiRK7QPixmap6QFlagsINS0_12FragmentHintEE @ 11841 NONAME ABSENT - _ZN14QWidgetPrivate11inTabWidgetEP7QWidget @ 11842 NONAME - _ZN14QWidgetPrivate17canKeypadNavigateEN2Qt11OrientationE @ 11843 NONAME - _ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11844 NONAME ABSENT - _ZN15QGraphicsWidget21setAutoFillBackgroundEb @ 11845 NONAME ABSENT - _ZN16QFileSystemModel15directoryLoadedERK7QString @ 11846 NONAME ABSENT - _ZN18QTextureGlyphCache8populateEP11QFontEngineiPKjPK11QFixedPoint @ 11847 NONAME ABSENT - _ZN19QApplicationPrivate15getPixmapCursorEN2Qt11CursorShapeE @ 11848 NONAME ABSENT - _ZN20QGraphicsViewPrivate10centerViewEN13QGraphicsView14ViewportAnchorE @ 11849 NONAME ABSENT - _ZN20QGraphicsViewPrivate10updateRectERK5QRect @ 11850 NONAME ABSENT - _ZN20QGraphicsViewPrivate12updateRegionERK7QRegion @ 11851 NONAME ABSENT - _ZN20QGraphicsViewPrivate12updateScrollEv @ 11852 NONAME ABSENT - _ZN20QGraphicsViewPrivate15storeMouseEventEP11QMouseEvent @ 11853 NONAME ABSENT - _ZN20QGraphicsViewPrivate18storeDragDropEventEPK27QGraphicsSceneDragDropEvent @ 11854 NONAME ABSENT - _ZN20QGraphicsViewPrivate19translateTouchEventEPS_P11QTouchEvent @ 11855 NONAME ABSENT - _ZN20QGraphicsViewPrivate20_q_setViewportCursorERK7QCursor @ 11856 NONAME ABSENT - _ZN20QGraphicsViewPrivate20replayLastMouseEventEv @ 11857 NONAME ABSENT - _ZN20QGraphicsViewPrivate21freeStyleOptionsArrayEP24QStyleOptionGraphicsItem @ 11858 NONAME ABSENT - _ZN20QGraphicsViewPrivate21mouseMoveEventHandlerEP11QMouseEvent @ 11859 NONAME ABSENT - _ZN20QGraphicsViewPrivate21processPendingUpdatesEv @ 11860 NONAME ABSENT - _ZN20QGraphicsViewPrivate21updateLastCenterPointEv @ 11861 NONAME ABSENT - _ZN20QGraphicsViewPrivate22_q_unsetViewportCursorEv @ 11862 NONAME ABSENT - _ZN20QGraphicsViewPrivate22allocStyleOptionsArrayEi @ 11863 NONAME ABSENT - _ZN20QGraphicsViewPrivate22recalculateContentSizeEv @ 11864 NONAME ABSENT - _ZN20QGraphicsViewPrivate26populateSceneDragDropEventEP27QGraphicsSceneDragDropEventP10QDropEvent @ 11865 NONAME ABSENT - _ZN20QGraphicsViewPrivate28updateInputMethodSensitivityEv @ 11866 NONAME ABSENT - _ZN20QGraphicsViewPrivateC1Ev @ 11867 NONAME ABSENT - _ZN20QGraphicsViewPrivateC2Ev @ 11868 NONAME ABSENT - _ZN24QImagePixmapCleanupHooks13isImageCachedERK6QImage @ 11869 NONAME - _ZN24QImagePixmapCleanupHooks14isPixmapCachedERK7QPixmap @ 11870 NONAME - _ZN26QAbstractScrollAreaPrivate14layoutChildrenEv @ 11871 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivate16replaceScrollBarEP10QScrollBarN2Qt11OrientationE @ 11872 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivate23_q_showOrHideScrollBarsEv @ 11873 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivate4initEv @ 11874 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivate9_q_hslideEi @ 11875 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivate9_q_vslideEi @ 11876 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivateC1Ev @ 11877 NONAME ABSENT - _ZN26QAbstractScrollAreaPrivateC2Ev @ 11878 NONAME ABSENT - _ZN6QColor12isValidColorERK7QString @ 11879 NONAME ABSENT - _ZN6QColor18setColorFromStringERK7QString @ 11880 NONAME ABSENT - _ZN6QLabel12setSelectionEii @ 11881 NONAME ABSENT - _ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11882 NONAME ABSENT - _ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11883 NONAME ABSENT - _ZN8QPainter19drawPixmapFragmentsEPKNS_8FragmentEiRK7QPixmap6QFlagsINS_12FragmentHintEE @ 11884 NONAME ABSENT - _ZN8QPainter8Fragment6createERK7QPointFRK6QRectFffff @ 11885 NONAME ABSENT - _ZN8QToolBar17visibilityChangedEb @ 11886 NONAME ABSENT - _ZNK10QZipReader10extractAllERK7QString @ 11887 NONAME ABSENT - _ZNK10QZipReader10isReadableEv @ 11888 NONAME ABSENT - _ZNK10QZipReader11entryInfoAtEi @ 11889 NONAME ABSENT - _ZNK10QZipReader12fileInfoListEv @ 11890 NONAME ABSENT - _ZNK10QZipReader5countEv @ 11891 NONAME ABSENT - _ZNK10QZipReader6existsEv @ 11892 NONAME ABSENT - _ZNK10QZipReader6statusEv @ 11893 NONAME ABSENT - _ZNK10QZipReader8fileDataERK7QString @ 11894 NONAME ABSENT - _ZNK11QStaticText10textFormatEv @ 11895 NONAME ABSENT - _ZNK11QStaticText11maximumSizeEv @ 11896 NONAME ABSENT - _ZNK11QStaticText15performanceHintEv @ 11897 NONAME ABSENT - _ZNK11QStaticText4sizeEv @ 11898 NONAME ABSENT - _ZNK11QStaticText4textEv @ 11899 NONAME ABSENT - _ZNK11QStaticTexteqERKS_ @ 11900 NONAME ABSENT - _ZNK11QStaticTextneERKS_ @ 11901 NONAME ABSENT - _ZNK11QTextCursor15positionInBlockEv @ 11902 NONAME ABSENT - _ZNK13QIntValidator5fixupER7QString @ 11903 NONAME ABSENT - _ZNK14QPlainTextEdit8anchorAtERK6QPoint @ 11904 NONAME ABSENT - _ZNK15QGraphicsWidget18autoFillBackgroundEv @ 11905 NONAME ABSENT - _ZNK20QGraphicsViewPrivate10mapToSceneERK6QRectF @ 11906 NONAME ABSENT - _ZNK20QGraphicsViewPrivate10mapToSceneERK7QPointF @ 11907 NONAME ABSENT - _ZNK20QGraphicsViewPrivate13mapToViewRectEPK13QGraphicsItemRK6QRectF @ 11908 NONAME ABSENT - _ZNK20QGraphicsViewPrivate14mapRectToSceneERK5QRect @ 11909 NONAME ABSENT - _ZNK20QGraphicsViewPrivate14verticalScrollEv @ 11910 NONAME ABSENT - _ZNK20QGraphicsViewPrivate15mapToViewRegionEPK13QGraphicsItemRK6QRectF @ 11911 NONAME ABSENT - _ZNK20QGraphicsViewPrivate16horizontalScrollEv @ 11912 NONAME ABSENT - _ZNK20QGraphicsViewPrivate16mapRectFromSceneERK6QRectF @ 11913 NONAME ABSENT - _ZNK20QGraphicsViewPrivate16rubberBandRegionEPK7QWidgetRK5QRect @ 11914 NONAME ABSENT - _ZNK20QGraphicsViewPrivate9findItemsERK7QRegionPbRK10QTransform @ 11915 NONAME ABSENT - _ZNK26QAbstractScrollAreaPrivate14contentsOffsetEv @ 11916 NONAME ABSENT - _ZNK6QImage13constScanLineEi @ 11917 NONAME ABSENT - _ZNK6QImage9constBitsEv @ 11918 NONAME ABSENT - _ZNK6QLabel12selectedTextEv @ 11919 NONAME ABSENT - _ZNK6QLabel14selectionStartEv @ 11920 NONAME ABSENT - _ZNK6QLabel15hasSelectedTextEv @ 11921 NONAME ABSENT - _ZNK7QBezier11getSubRangeEff @ 11922 NONAME ABSENT - _ZNK7QBezier5mapByERK10QTransform @ 11923 NONAME ABSENT - _ZTI20QGraphicsViewPrivate @ 11924 NONAME ABSENT - _ZTI26QAbstractScrollAreaPrivate @ 11925 NONAME ABSENT - _ZTV20QGraphicsViewPrivate @ 11926 NONAME ABSENT - _ZTV26QAbstractScrollAreaPrivate @ 11927 NONAME ABSENT - _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11928 NONAME ABSENT - _ZN11QFontEngine16getGlyphBearingsEjPfS0_ @ 11929 NONAME - _ZN12QLineControl17updateDisplayTextEb @ 11930 NONAME - _ZN12QLineControl5pasteEN10QClipboard4ModeE @ 11931 NONAME ABSENT - _ZN12QTextControl5pasteEN10QClipboard4ModeE @ 11932 NONAME ABSENT - _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 11933 NONAME ABSENT - _ZN15QGraphicsObject12widthChangedEv @ 11934 NONAME ABSENT - _ZN15QGraphicsObject13heightChangedEv @ 11935 NONAME ABSENT - _ZN15QGraphicsObject15childrenChangedEv @ 11936 NONAME ABSENT - _ZN15QGraphicsWidget15geometryChangedEv @ 11937 NONAME ABSENT - _ZN15QSplitterHandle11resizeEventEP12QResizeEvent @ 11938 NONAME ABSENT - _ZN20QGraphicsItemPrivate10resetWidthEv @ 11939 NONAME ABSENT - _ZN20QGraphicsItemPrivate11resetHeightEv @ 11940 NONAME ABSENT - _ZN20QGraphicsItemPrivate12childrenListEv @ 11941 NONAME ABSENT - _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEbb @ 11942 NONAME - _ZN20QGraphicsItemPrivate16clearFocusHelperEb @ 11943 NONAME - _ZN20QGraphicsItemPrivate24prependGraphicsTransformEP18QGraphicsTransform @ 11944 NONAME ABSENT - _ZN20QGraphicsItemPrivate6appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11945 NONAME ABSENT - _ZN20QGraphicsItemPrivate8setWidthEf @ 11946 NONAME ABSENT - _ZN20QGraphicsItemPrivate9setHeightEf @ 11947 NONAME ABSENT - _ZN7QWizard11pageRemovedEi @ 11948 NONAME ABSENT - _ZN7QWizard13setSideWidgetEP7QWidget @ 11949 NONAME ABSENT - _ZN7QWizard9pageAddedEi @ 11950 NONAME ABSENT - _ZN8QPainter14PixmapFragment6createERK7QPointFRK6QRectFffff @ 11951 NONAME ABSENT - _ZN8QPainter19drawPixmapFragmentsEPKNS_14PixmapFragmentEiRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 11952 NONAME ABSENT - _ZN9QLineEdit18setPlaceholderTextERK7QString @ 11953 NONAME ABSENT - _ZNK10QZipReader6deviceEv @ 11954 NONAME ABSENT - _ZNK10QZipReader8FileInfo7isValidEv @ 11955 NONAME ABSENT - _ZNK20QGraphicsItemPrivate5widthEv @ 11956 NONAME ABSENT - _ZNK20QGraphicsItemPrivate6heightEv @ 11957 NONAME ABSENT - _ZNK6QImage13bitPlaneCountEv @ 11958 NONAME ABSENT - _ZNK7QWizard10sideWidgetEv @ 11959 NONAME ABSENT - _ZNK9QLineEdit15placeholderTextEv @ 11960 NONAME ABSENT - _ZNK9QTextLine17horizontalAdvanceEv @ 11961 NONAME ABSENT - _ZN11QStaticText12setTextWidthEf @ 11962 NONAME ABSENT - _ZN13QGraphicsItem16updateMicroFocusEv @ 11963 NONAME ABSENT - _ZN15QGraphicsObject16updateMicroFocusEv @ 11964 NONAME ABSENT - _ZN15QGraphicsWidget13layoutChangedEv @ 11965 NONAME ABSENT - _ZN16QPainterReplayer15processCommandsERK12QPaintBufferP8QPainterii @ 11966 NONAME ABSENT - _ZNK11QStaticText9textWidthEv @ 11967 NONAME ABSENT - _ZNK12QPaintBuffer13frameEndIndexEi @ 11968 NONAME ABSENT - _ZNK12QPaintBuffer15frameStartIndexEi @ 11969 NONAME ABSENT - _ZNK12QPaintBuffer15processCommandsEP8QPainterii @ 11970 NONAME ABSENT - _ZNK12QPaintBuffer18commandDescriptionEi @ 11971 NONAME ABSENT - _ZN20QGraphicsItemPrivate11children_atEP24QDeclarativeListPropertyI15QGraphicsObjectEi @ 11972 NONAME ABSENT - _ZN20QGraphicsItemPrivate14children_countEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 11973 NONAME ABSENT - _ZN20QGraphicsItemPrivate15children_appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11974 NONAME ABSENT - _ZN11QEglContext14destroyContextEv @ 11975 NONAME - _ZN14QEglProperties13setDeviceTypeEi @ 11976 NONAME ABSENT - _ZN4QEgl10clearErrorEv @ 11977 NONAME ABSENT - _ZN4QEgl10extensionsEv @ 11978 NONAME ABSENT - _ZN4QEgl11errorStringEi @ 11979 NONAME ABSENT - _ZN4QEgl11errorStringEv @ 11980 NONAME ABSENT - _ZN4QEgl12chooseConfigEPK14QEglPropertiesNS_16PixelFormatMatchE @ 11981 NONAME ABSENT - _ZN4QEgl12hasExtensionEPKc @ 11982 NONAME ABSENT - _ZN4QEgl12nativePixmapEP7QPixmap @ 11983 NONAME ABSENT - _ZN4QEgl12nativeWindowEP7QWidget @ 11984 NONAME ABSENT - _ZN4QEgl13createSurfaceEP12QPaintDeviceiPK14QEglProperties @ 11985 NONAME ABSENT - _ZN4QEgl13defaultConfigEiNS_3APIE6QFlagsINS_12ConfigOptionEE @ 11986 NONAME ABSENT - _ZN4QEgl13nativeDisplayEv @ 11987 NONAME ABSENT - _ZN4QEgl14dumpAllConfigsEv @ 11988 NONAME ABSENT - _ZN4QEgl17eglCreateImageKHREiiiiPKi @ 11989 NONAME ABSENT - _ZN4QEgl18eglDestroyImageKHREii @ 11990 NONAME ABSENT - _ZN4QEgl5errorEv @ 11991 NONAME ABSENT - _ZN4QEgl7displayEv @ 11992 NONAME ABSENT - _ZNK11QEglContext12configAttribEi @ 11993 NONAME ABSENT - _ZNK11QEglContext16configPropertiesEv @ 11994 NONAME ABSENT - _ZNK19QItemSelectionRange7isEmptyEv @ 11995 NONAME ABSENT - _ZN11QEglContext13nativeDisplayEv @ 11996 NONAME - _ZN11QEglContext3dpyE @ 11997 NONAME DATA 4 - _ZN11QEglContext7displayEv @ 11998 NONAME + _ZN11QEglContext10clearErrorEv @ 11807 NONAME + _ZN11QEglContext13nativeDisplayEv @ 11808 NONAME + _ZN11QEglContext14destroyContextEv @ 11809 NONAME + _ZN11QEglContext3dpyE @ 11810 NONAME DATA 4 + _ZN11QEglContext5errorEv @ 11811 NONAME + _ZN11QEglContext7displayEv @ 11812 NONAME + _ZN11QFontEngine16getGlyphBearingsEjPfS0_ @ 11813 NONAME + _ZN12QLineControl17updateDisplayTextEb @ 11814 NONAME + _ZN13QFontDatabase25removeAllApplicationFontsEv @ 11815 NONAME + _ZN14QWidgetPrivate11inTabWidgetEP7QWidget @ 11816 NONAME + _ZN14QWidgetPrivate17canKeypadNavigateEN2Qt11OrientationE @ 11817 NONAME + _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEbb @ 11818 NONAME + _ZN20QGraphicsItemPrivate16clearFocusHelperEb @ 11819 NONAME + _ZN24QImagePixmapCleanupHooks13isImageCachedERK6QImage @ 11820 NONAME + _ZN24QImagePixmapCleanupHooks14isPixmapCachedERK7QPixmap @ 11821 NONAME diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def index c37c4a0..77c36b4 100644 --- a/src/s60installs/eabi/QtNetworku.def +++ b/src/s60installs/eabi/QtNetworku.def @@ -993,4 +993,6 @@ EXPORTS _ZN10QSslSocket15setSocketOptionEN15QAbstractSocket12SocketOptionERK8QVariant @ 992 NONAME _ZN15QNetworkRequest20setOriginatingObjectEP7QObject @ 993 NONAME _ZNK15QNetworkRequest17originatingObjectEv @ 994 NONAME + _Z19qt_qhostinfo_lookupRK7QStringP7QObjectPKcPbPi @ 995 NONAME + _Z24qt_qhostinfo_clear_cachev @ 996 NONAME diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def index eb4caef..cf226c5 100644 --- a/src/s60installs/eabi/QtOpenVGu.def +++ b/src/s60installs/eabi/QtOpenVGu.def @@ -196,4 +196,6 @@ EXPORTS _ZN13QVGPixmapData19detachImageFromPoolEv @ 195 NONAME _ZTI12QVGImagePool @ 196 NONAME _ZTV12QVGImagePool @ 197 NONAME + _ZN25QVGEGLWindowSurfaceDirect6scrollEP7QWidgetRK7QRegionii @ 198 NONAME + _ZNK25QVGEGLWindowSurfaceDirect22supportsStaticContentsEv @ 199 NONAME |