summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKurt Korbatits <kurt.korbatits@nokia.com>2010-06-10 04:37:54 (GMT)
committerKurt Korbatits <kurt.korbatits@nokia.com>2010-06-10 04:37:54 (GMT)
commitb2cfa7ceaba6f6aef3f9d01f82f8aba95ba45cd6 (patch)
treec84ba40e7e2b5505d4c46a1f144529b0d05f9769 /src
parenta4df1784086ee086e64b35fc1d2df827704708be (diff)
parentbe68f6960f7665c715ea4cca90c2ea4ccae1e0fa (diff)
downloadQt-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')
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h7
-rw-r--r--src/3rdparty/phonon/mmf/abstractaudioeffect.cpp2
-rw-r--r--src/3rdparty/phonon/mmf/abstractaudioeffect.h4
-rw-r--r--src/3rdparty/phonon/mmf/audiooutput.cpp3
-rw-r--r--src/3rdparty/phonon/mmf/bassboost.cpp1
-rw-r--r--src/3rdparty/phonon/mmf/effectfactory.cpp5
-rw-r--r--src/3rdparty/phonon/mmf/loudness.cpp1
-rw-r--r--src/3rdparty/webkit/VERSION2
-rw-r--r--src/3rdparty/webkit/WebCore/ChangeLog67
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/qt/ImageDecoderQt.cpp24
-rw-r--r--src/3rdparty/webkit/WebCore/platform/qt/SharedTimerQt.cpp24
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebframe.cpp32
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp40
-rw-r--r--src/3rdparty/webkit/WebKit/qt/ChangeLog26
-rw-r--r--src/3rdparty/webkit/WebKit/qt/symbian/bwins/QtWebKitu.def27
-rw-r--r--src/3rdparty/webkit/WebKit/qt/symbian/eabi/QtWebKitu.def75
-rw-r--r--src/corelib/arch/qatomic_alpha.h12
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp50
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h20
-rw-r--r--src/corelib/tools/qhash.h9
-rw-r--r--src/corelib/tools/qlocale.cpp1
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp120
-rw-r--r--src/corelib/tools/qmap.h9
-rw-r--r--src/corelib/tools/qvarlengtharray.h15
-rw-r--r--src/dbus/qdbusintegrator.cpp46
-rw-r--r--src/dbus/qdbuspendingcall.cpp35
-rw-r--r--src/dbus/qdbuspendingcall_p.h35
-rw-r--r--src/dbus/qdbuspendingreply.cpp3
-rw-r--r--src/gui/egl/qegl.cpp37
-rw-r--r--src/gui/embedded/qwsmanager_qws.cpp2
-rw-r--r--src/gui/image/qimage.cpp2
-rw-r--r--src/gui/kernel/qapplication_p.h3
-rw-r--r--src/gui/kernel/qapplication_s60.cpp50
-rw-r--r--src/gui/kernel/qapplication_win.cpp2
-rw-r--r--src/gui/kernel/qapplication_x11.cpp2
-rw-r--r--src/gui/kernel/qwidget.cpp57
-rw-r--r--src/gui/kernel/qwidget_p.h44
-rw-r--r--src/gui/kernel/qwidget_s60.cpp10
-rw-r--r--src/gui/painting/qbackingstore.cpp6
-rw-r--r--src/gui/painting/qpainter.cpp5
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp7
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h1
-rw-r--r--src/gui/s60framework/qs60mainappui.cpp8
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp2
-rw-r--r--src/gui/text/qtextengine_p.h1
-rw-r--r--src/gui/text/qtextlayout.cpp5
-rw-r--r--src/gui/widgets/qmenu.cpp12
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h2
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp10
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp3
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp5
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h1
-rw-r--r--src/opengl/qgl_x11.cpp3
-rw-r--r--src/openvg/qpaintengine_vg.cpp45
-rw-r--r--src/qbase.pri2
-rw-r--r--src/s60installs/bwins/QtGuiu.def297
-rw-r--r--src/s60installs/eabi/QtCoreu.def2
-rw-r--r--src/s60installs/eabi/QtGuiu.def207
-rw-r--r--src/s60installs/eabi/QtNetworku.def2
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def2
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 &param, 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> &parameters)
{
+ 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> &parameters)
{
+ 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