From b4ddcbbf1ce067a823815c07a357a065be731d48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Wed, 10 Nov 2010 22:58:18 +0100 Subject: Fix warning about initialization order Merge-request: 1254 Reviewed-by: Gabriel de Dietrich --- src/gui/widgets/qmenu_p.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/widgets/qmenu_p.h b/src/gui/widgets/qmenu_p.h index 0e63799..82bd932 100644 --- a/src/gui/widgets/qmenu_p.h +++ b/src/gui/widgets/qmenu_p.h @@ -154,6 +154,9 @@ public: #endif scroll(0), eventLoop(0), tearoff(0), tornoff(0), tearoffHighlighted(0), hasCheckableItems(0), sloppyAction(0), doChildEffects(false) +#ifdef QT3_SUPPORT + ,emitHighlighted(false) +#endif #ifdef Q_WS_MAC ,mac_menu(0) #endif @@ -163,9 +166,6 @@ public: #ifdef Q_WS_S60 ,symbian_menu(0) #endif -#ifdef QT3_SUPPORT - ,emitHighlighted(false) -#endif { } ~QMenuPrivate() { -- cgit v0.12 From 68d633cc840c5526a0ad77985404f53ada6ba91a Mon Sep 17 00:00:00 2001 From: Aurelien Gateau Date: Thu, 7 Oct 2010 15:23:42 +0200 Subject: Hide QMenuAction This will help abstracting the platform specific parts of QMenuBarPrivate in a common interface. Merge-request: 1254 Reviewed-by: Gabriel de Dietrich --- src/gui/widgets/qmenu_mac.mm | 4 ++-- src/gui/widgets/qmenu_symbian.cpp | 4 ++-- src/gui/widgets/qmenu_wince.cpp | 4 ++-- src/gui/widgets/qmenubar.cpp | 2 +- src/gui/widgets/qmenubar_p.h | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/gui/widgets/qmenu_mac.mm b/src/gui/widgets/qmenu_mac.mm index 9db068c..56658b3 100644 --- a/src/gui/widgets/qmenu_mac.mm +++ b/src/gui/widgets/qmenu_mac.mm @@ -1639,7 +1639,7 @@ QMenuBarPrivate::QMacMenuBarPrivate::~QMacMenuBarPrivate() } void -QMenuBarPrivate::QMacMenuBarPrivate::addAction(QAction *a, QMacMenuAction *before) +QMenuBarPrivate::QMacMenuBarPrivate::addAction(QAction *a, QAction *before) { if (a->isSeparator() || !menu) return; @@ -1649,7 +1649,7 @@ QMenuBarPrivate::QMacMenuBarPrivate::addAction(QAction *a, QMacMenuAction *befor #ifndef QT_MAC_USE_COCOA action->command = qt_mac_menu_static_cmd_id++; #endif - addAction(action, before); + addAction(action, findAction(before)); } void diff --git a/src/gui/widgets/qmenu_symbian.cpp b/src/gui/widgets/qmenu_symbian.cpp index 56eca9a..4250601 100644 --- a/src/gui/widgets/qmenu_symbian.cpp +++ b/src/gui/widgets/qmenu_symbian.cpp @@ -398,12 +398,12 @@ void QMenuPrivate::QSymbianMenuPrivate::rebuild(bool) { } -void QMenuBarPrivate::QSymbianMenuBarPrivate::addAction(QAction *a, QSymbianMenuAction *before) +void QMenuBarPrivate::QSymbianMenuBarPrivate::addAction(QAction *a, QAction *before) { QSymbianMenuAction *action = new QSymbianMenuAction; action->action = a; action->command = qt_symbian_menu_static_cmd_id++; - addAction(action, before); + addAction(action, findAction(before)); } void QMenuBarPrivate::QSymbianMenuBarPrivate::addAction(QSymbianMenuAction *action, QSymbianMenuAction *before) diff --git a/src/gui/widgets/qmenu_wince.cpp b/src/gui/widgets/qmenu_wince.cpp index 1157fff..b0c6c1b 100644 --- a/src/gui/widgets/qmenu_wince.cpp +++ b/src/gui/widgets/qmenu_wince.cpp @@ -504,12 +504,12 @@ void QMenuPrivate::QWceMenuPrivate::removeAction(QWceMenuAction *action) rebuild(); } -void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QAction *a, QWceMenuAction *before) +void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QAction *a, QAction *before) { QWceMenuAction *action = new QWceMenuAction; action->action = a; action->command = qt_wce_menu_static_cmd_id++; - addAction(action, before); + addAction(action, findAction(before)); } void QMenuBarPrivate::QWceMenuBarPrivate::addAction(QWceMenuAction *action, QWceMenuAction *before) diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp index 3ff98a4..036ad24 100644 --- a/src/gui/widgets/qmenubar.cpp +++ b/src/gui/widgets/qmenubar.cpp @@ -1287,7 +1287,7 @@ void QMenuBar::actionEvent(QActionEvent *e) if (!nativeMenuBar) return; if(e->type() == QEvent::ActionAdded) - nativeMenuBar->addAction(e->action(), nativeMenuBar->findAction(e->before())); + nativeMenuBar->addAction(e->action(), e->before()); else if(e->type() == QEvent::ActionRemoved) nativeMenuBar->removeAction(e->action()); else if(e->type() == QEvent::ActionChanged) diff --git a/src/gui/widgets/qmenubar_p.h b/src/gui/widgets/qmenubar_p.h index 1ac694e..341b1f7 100644 --- a/src/gui/widgets/qmenubar_p.h +++ b/src/gui/widgets/qmenubar_p.h @@ -181,7 +181,7 @@ public: QMacMenuBarPrivate(); ~QMacMenuBarPrivate(); - void addAction(QAction *, QMacMenuAction* =0); + void addAction(QAction *, QAction* =0); void addAction(QMacMenuAction *, QMacMenuAction* =0); void syncAction(QMacMenuAction *); inline void syncAction(QAction *a) { syncAction(findAction(a)); } @@ -220,7 +220,7 @@ public: QWceMenuBarPrivate(QMenuBarPrivate *menubar); ~QWceMenuBarPrivate(); - void addAction(QAction *, QWceMenuAction* =0); + void addAction(QAction *, QAction* =0); void addAction(QWceMenuAction *, QWceMenuAction* =0); void syncAction(QWceMenuAction *); inline void syncAction(QAction *a) { syncAction(findAction(a)); } @@ -250,7 +250,7 @@ public: QMenuBarPrivate *d; QSymbianMenuBarPrivate(QMenuBarPrivate *menubar); ~QSymbianMenuBarPrivate(); - void addAction(QAction *, QSymbianMenuAction* =0); + void addAction(QAction *, QAction* =0); void addAction(QSymbianMenuAction *, QSymbianMenuAction* =0); void syncAction(QSymbianMenuAction *); inline void syncAction(QAction *a) { syncAction(findAction(a)); } -- cgit v0.12 From 9aeadca09ab4e27ebf299873f90490d585b4fb7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Wed, 10 Nov 2010 23:37:56 +0100 Subject: Introduce QAbstractPlatformMenuBar Merge-request: 1254 Reviewed-by: Gabriel de Dietrich --- src/gui/widgets/qabstractplatformmenubar_p.h | 95 +++++++++++++++++++ src/gui/widgets/qmenubar.cpp | 134 +++++++++++++++++++++++++-- src/gui/widgets/qmenubar_p.h | 33 ++++++- src/gui/widgets/qmenubar_x11.cpp | 114 +++++++++++++++++++++++ src/gui/widgets/qmenubar_x11_p.h | 84 +++++++++++++++++ src/gui/widgets/widgets.pri | 8 ++ 6 files changed, 457 insertions(+), 11 deletions(-) create mode 100644 src/gui/widgets/qabstractplatformmenubar_p.h create mode 100644 src/gui/widgets/qmenubar_x11.cpp create mode 100644 src/gui/widgets/qmenubar_x11_p.h diff --git a/src/gui/widgets/qabstractplatformmenubar_p.h b/src/gui/widgets/qabstractplatformmenubar_p.h new file mode 100644 index 0000000..86e212b --- /dev/null +++ b/src/gui/widgets/qabstractplatformmenubar_p.h @@ -0,0 +1,95 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QABSTRACTPLATFORMMENUBAR_P_H +#define QABSTRACTPLATFORMMENUBAR_P_H + +#include + +#ifndef QT_NO_MENUBAR + +QT_BEGIN_NAMESPACE + +class QAction; +class QActionEvent; +class QEvent; +class QMenuBar; +class QObject; +class QWidget; + +/*! + The platform-specific implementation of a menubar +*/ +class QAbstractPlatformMenuBar +{ +public: + virtual ~QAbstractPlatformMenuBar() {} + + virtual void init(QMenuBar *) = 0; + + virtual void setVisible(bool visible) = 0; + + virtual void actionEvent(QActionEvent *) = 0; + + virtual void handleReparent(QWidget *oldParent, QWidget *newParent, QWidget *oldWindow, QWidget *newWindow) = 0; + + virtual bool allowCornerWidgets() const = 0; + + virtual void popupAction(QAction *) = 0; + + virtual void setNativeMenuBar(bool) = 0; + + virtual bool isNativeMenuBar() const = 0; + + /*! + Return true if the native menubar is capable of listening to the + shortcut keys. If false is returned, QMenuBar will trigger actions on + shortcut itself. + */ + virtual bool shortcutsHandledByNativeMenuBar() const = 0; + + virtual bool menuBarEventFilter(QObject *, QEvent *event) = 0; +}; + +QT_END_NAMESPACE + +#endif // QT_NO_MENUBAR + +#endif // QABSTRACTPLATFORMMENUBAR_P_H diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp index 036ad24..ce95c84 100644 --- a/src/gui/widgets/qmenubar.cpp +++ b/src/gui/widgets/qmenubar.cpp @@ -66,6 +66,9 @@ #include "qmenu_p.h" #include "qmenubar_p.h" #include "qdebug.h" +#ifdef Q_WS_X11 +#include "qmenubar_x11_p.h" +#endif #ifdef Q_WS_WINCE extern bool qt_wince_is_mobile(); //defined in qguifunctions_wce.cpp @@ -173,7 +176,11 @@ void QMenuBarPrivate::updateGeometries() return; int q_width = q->width()-(q->style()->pixelMetric(QStyle::PM_MenuBarPanelWidth, 0, q)*2); int q_start = -1; - if(leftWidget || rightWidget) { + if( +#ifdef Q_WS_X11 + platformMenuBar->allowCornerWidgets() && +#endif + (leftWidget || rightWidget)) { int vmargin = q->style()->pixelMetric(QStyle::PM_MenuBarVMargin, 0, q) + q->style()->pixelMetric(QStyle::PM_MenuBarPanelWidth, 0, q); int hmargin = q->style()->pixelMetric(QStyle::PM_MenuBarHMargin, 0, q) @@ -204,7 +211,11 @@ void QMenuBarPrivate::updateGeometries() calcActionRects(q_width, q_start); currentAction = 0; #ifndef QT_NO_SHORTCUT - if(itemsDirty) { + if( +#ifdef Q_WS_X11 + !platformMenuBar->shortcutsHandledByNativeMenuBar() && +#endif + itemsDirty) { for(int j = 0; j < shortcutIndexMap.size(); ++j) q->releaseShortcut(shortcutIndexMap.value(j)); shortcutIndexMap.resize(0); // faster than clear @@ -212,6 +223,12 @@ void QMenuBarPrivate::updateGeometries() shortcutIndexMap.append(q->grabShortcut(QKeySequence::mnemonic(actions.at(i)->text()))); } #endif +#ifdef Q_WS_X11 + if(q->isNativeMenuBar()) {//nothing to see here folks, move along.. + itemsDirty = false; + return; + } +#endif itemsDirty = false; hiddenActions.clear(); @@ -743,6 +760,11 @@ void QMenuBarPrivate::init() QApplication::setAttribute(Qt::AA_DontUseNativeMenuBar, true); } #endif +#ifdef Q_WS_X11 + platformMenuBar = new QX11MenuBar; + platformMenuBar->init(q); +#endif + q->setBackgroundRole(QPalette::Button); oldWindow = oldParent = 0; #ifdef QT3_SUPPORT @@ -751,6 +773,10 @@ void QMenuBarPrivate::init() #ifdef QT_SOFTKEYS_ENABLED menuBarAction = 0; #endif +#ifdef Q_WS_X11 + cornerWidgetToolBar = 0; + cornerWidgetContainer = 0; +#endif handleReparent(); q->setMouseTracking(q->style()->styleHint(QStyle::SH_MenuBar_MouseTracking, 0, q)); @@ -821,6 +847,10 @@ QMenuBar::~QMenuBar() Q_D(QMenuBar); d->symbianDestroyMenuBar(); #endif +#ifdef Q_WS_X11 + Q_D(QMenuBar); + delete d->cornerWidgetToolBar; +#endif } /*! @@ -1072,6 +1102,10 @@ void QMenuBar::paintEvent(QPaintEvent *e) */ void QMenuBar::setVisible(bool visible) { +#ifdef Q_WS_X11 + Q_D(QMenuBar); + d->platformMenuBar->setVisible(visible); +#else #if defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_WS_S60) if (isNativeMenuBar()) { if (!visible) @@ -1080,6 +1114,7 @@ void QMenuBar::setVisible(bool visible) } #endif QWidget::setVisible(visible); +#endif // Q_WS_X11 } /*! @@ -1275,6 +1310,9 @@ void QMenuBar::actionEvent(QActionEvent *e) { Q_D(QMenuBar); d->itemsDirty = true; +#ifdef Q_WS_X11 + d->platformMenuBar->actionEvent(e); +#endif #if defined (Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_WS_S60) if (isNativeMenuBar()) { #ifdef Q_WS_MAC @@ -1369,6 +1407,10 @@ void QMenuBarPrivate::handleReparent() newWindow->installEventFilter(q); } +#ifdef Q_WS_X11 + platformMenuBar->handleReparent(oldParent, newParent, oldWindow, newWindow); +#endif + oldParent = newParent; oldWindow = newWindow; @@ -1566,6 +1608,11 @@ bool QMenuBar::event(QEvent *e) bool QMenuBar::eventFilter(QObject *object, QEvent *event) { Q_D(QMenuBar); +#ifdef Q_WS_X11 + if (d->platformMenuBar->menuBarEventFilter(object, event)) { + return true; + } +#endif if (object == parent() && object) { #ifdef QT3_SUPPORT if (d->doAutoResize && event->type() == QEvent::Resize) { @@ -1659,7 +1706,7 @@ QRect QMenuBar::actionGeometry(QAction *act) const QSize QMenuBar::minimumSizeHint() const { Q_D(const QMenuBar); -#if defined(Q_WS_MAC) || defined(Q_WS_WINCE) || defined(Q_WS_S60) +#if defined(Q_WS_MAC) || defined(Q_WS_WINCE) || defined(Q_WS_S60) || defined(Q_WS_X11) const bool as_gui_menubar = !isNativeMenuBar(); #else const bool as_gui_menubar = true; @@ -1682,6 +1729,9 @@ QSize QMenuBar::minimumSizeHint() const ret += QSize(2*fw + hmargin, 2*fw + vmargin); } int margin = 2*vmargin + 2*fw + spaceBelowMenuBar; +#ifdef Q_WS_X11 + if (d->platformMenuBar->allowCornerWidgets()) { +#endif if(d->leftWidget) { QSize sz = d->leftWidget->minimumSizeHint(); ret.setWidth(ret.width() + sz.width()); @@ -1694,6 +1744,9 @@ QSize QMenuBar::minimumSizeHint() const if(sz.height() + margin > ret.height()) ret.setHeight(sz.height() + margin); } +#ifdef Q_WS_X11 + } +#endif if(as_gui_menubar) { QStyleOptionMenuItem opt; opt.rect = rect(); @@ -1715,7 +1768,7 @@ QSize QMenuBar::minimumSizeHint() const QSize QMenuBar::sizeHint() const { Q_D(const QMenuBar); -#if defined(Q_WS_MAC) || defined(Q_WS_WINCE) || defined(Q_WS_S60) +#if defined(Q_WS_MAC) || defined(Q_WS_WINCE) || defined(Q_WS_S60) || defined(Q_WS_X11) const bool as_gui_menubar = !isNativeMenuBar(); #else const bool as_gui_menubar = true; @@ -1741,6 +1794,9 @@ QSize QMenuBar::sizeHint() const ret += QSize(fw + hmargin, fw + vmargin); } int margin = 2*vmargin + 2*fw + spaceBelowMenuBar; +#ifdef Q_WS_X11 + if(d->platformMenuBar->allowCornerWidgets()) { +#endif if(d->leftWidget) { QSize sz = d->leftWidget->sizeHint(); ret.setWidth(ret.width() + sz.width()); @@ -1753,6 +1809,9 @@ QSize QMenuBar::sizeHint() const if(sz.height() + margin > ret.height()) ret.setHeight(sz.height() + margin); } +#ifdef Q_WS_X11 + } +#endif if(as_gui_menubar) { QStyleOptionMenuItem opt; opt.rect = rect(); @@ -1774,7 +1833,7 @@ QSize QMenuBar::sizeHint() const int QMenuBar::heightForWidth(int) const { Q_D(const QMenuBar); -#if defined(Q_WS_MAC) || defined(Q_WS_WINCE) || defined(Q_WS_S60) +#if defined(Q_WS_MAC) || defined(Q_WS_WINCE) || defined(Q_WS_S60) || defined(Q_WS_X11) const bool as_gui_menubar = !isNativeMenuBar(); #else const bool as_gui_menubar = true; @@ -1794,10 +1853,16 @@ int QMenuBar::heightForWidth(int) const height += 2*vmargin; } int margin = 2*vmargin + 2*fw + spaceBelowMenuBar; +#ifdef Q_WS_X11 + if(d->platformMenuBar->allowCornerWidgets()) { +#endif if(d->leftWidget) height = qMax(d->leftWidget->sizeHint().height() + margin, height); if(d->rightWidget) height = qMax(d->rightWidget->sizeHint().height() + margin, height); +#ifdef Q_WS_X11 + } +#endif if(as_gui_menubar) { QStyleOptionMenuItem opt; opt.init(this); @@ -1817,7 +1882,15 @@ void QMenuBarPrivate::_q_internalShortcutActivated(int id) { Q_Q(QMenuBar); QAction *act = actions.at(id); - setCurrentAction(act, true, true); +#ifdef Q_WS_X11 + if (q->isNativeMenuBar()) { + platformMenuBar->popupAction(act); + } else { +#endif + setCurrentAction(act, true, true); +#ifdef Q_WS_X11 + } +#endif if (act && !act->menu()) { activateAction(act, QAction::Trigger); //100 is the same as the default value in QPushButton::animateClick @@ -1838,6 +1911,39 @@ void QMenuBarPrivate::_q_updateLayout() } } +#ifdef Q_WS_X11 +void QMenuBarPrivate::updateCornerWidgetToolBar() +{ + Q_Q(QMenuBar); + if (!cornerWidgetToolBar) { + QMainWindow *window = qobject_cast(q->window()); + if (!window) { + qWarning() << "Menubar parent is not a QMainWindow, not showing corner widgets"; + return; + } + cornerWidgetToolBar = window->addToolBar(QApplication::translate("QMenuBar", "Corner Toolbar")); + cornerWidgetToolBar->setObjectName(QLatin1String("CornerToolBar")); + cornerWidgetContainer = new QWidget; + cornerWidgetToolBar->addWidget(cornerWidgetContainer); + new QHBoxLayout(cornerWidgetContainer); + } else { + QLayout *layout = cornerWidgetContainer->layout(); + while (layout->count() > 0) { + layout->takeAt(0); + } + } + if (leftWidget) { + leftWidget->setParent(cornerWidgetContainer); + cornerWidgetContainer->layout()->addWidget(leftWidget); + } + if (rightWidget) { + rightWidget->setParent(cornerWidgetContainer); + cornerWidgetContainer->layout()->addWidget(rightWidget); + } +} +#endif + + /*! \fn void QMenuBar::setCornerWidget(QWidget *widget, Qt::Corner corner) @@ -1870,10 +1976,18 @@ void QMenuBar::setCornerWidget(QWidget *w, Qt::Corner corner) return; } +#ifdef Q_WS_X11 + if(!d->platformMenuBar->allowCornerWidgets()) { + d->updateCornerWidgetToolBar(); + } else { +#endif if (w) { w->setParent(this); w->installEventFilter(this); } +#ifdef Q_WS_X11 + } +#endif d->_q_updateLayout(); } @@ -1923,6 +2037,9 @@ QWidget *QMenuBar::cornerWidget(Qt::Corner corner) const void QMenuBar::setNativeMenuBar(bool nativeMenuBar) { Q_D(QMenuBar); +#ifdef Q_WS_X11 + d->platformMenuBar->setNativeMenuBar(nativeMenuBar); +#else if (d->nativeMenuBar == -1 || (nativeMenuBar != bool(d->nativeMenuBar))) { d->nativeMenuBar = nativeMenuBar; #ifdef Q_WS_MAC @@ -1947,15 +2064,20 @@ void QMenuBar::setNativeMenuBar(bool nativeMenuBar) setVisible(true); #endif } +#endif // Q_WS_X11 } bool QMenuBar::isNativeMenuBar() const { Q_D(const QMenuBar); +#ifdef Q_WS_X11 + return d->platformMenuBar->isNativeMenuBar(); +#else if (d->nativeMenuBar == -1) { return !QApplication::instance()->testAttribute(Qt::AA_DontUseNativeMenuBar); } return d->nativeMenuBar; +#endif } /*! diff --git a/src/gui/widgets/qmenubar_p.h b/src/gui/widgets/qmenubar_p.h index 341b1f7..9a1f758 100644 --- a/src/gui/widgets/qmenubar_p.h +++ b/src/gui/widgets/qmenubar_p.h @@ -47,7 +47,7 @@ // ------------- // // This file is not part of the Qt API. It exists purely as an -// implementation detail. This header file may change from version to +// platformMenuBarementation detail. This header file may change from version to // version without notice, or even be removed. // // We mean it. @@ -61,6 +61,10 @@ #include "qguifunctions_wince.h" #endif +#ifdef Q_WS_X11 +#include "qabstractplatformmenubar_p.h" +#endif + #ifndef QT_NO_MENUBAR #ifdef Q_WS_S60 class CCoeControl; @@ -71,21 +75,27 @@ class CEikMenuBar; QT_BEGIN_NAMESPACE #ifndef QT_NO_MENUBAR +class QToolBar; class QMenuBarExtension; class QMenuBarPrivate : public QWidgetPrivate { Q_DECLARE_PUBLIC(QMenuBar) public: QMenuBarPrivate() : itemsDirty(0), currentAction(0), mouseDown(0), - closePopupMode(0), defaultPopDown(1), popupState(0), keyboardState(0), altPressed(0), - nativeMenuBar(-1), doChildEffects(false) + closePopupMode(0), defaultPopDown(1), popupState(0), keyboardState(0), altPressed(0) +#ifndef Q_WS_X11 + , nativeMenuBar(-1) +#endif + , doChildEffects(false) #ifdef QT3_SUPPORT , doAutoResize(false) #endif #ifdef Q_WS_MAC , mac_menubar(0) #endif - +#ifdef Q_WS_X11 + , platformMenuBar(0) +#endif #ifdef Q_WS_WINCE , wce_menubar(0), wceClassicMenu(false) #endif @@ -96,6 +106,9 @@ public: { } ~QMenuBarPrivate() { +#ifdef Q_WS_X11 + delete platformMenuBar; +#endif #ifdef Q_WS_MAC delete mac_menubar; #endif @@ -136,8 +149,9 @@ public: uint keyboardState : 1, altPressed : 1; QPointer keyboardFocusWidget; - +#ifndef Q_WS_X11 int nativeMenuBar : 3; // Only has values -1, 0, and 1 +#endif //firing of events void activateAction(QAction *, QAction::ActionEvent); @@ -173,6 +187,9 @@ public: #ifdef QT3_SUPPORT bool doAutoResize; #endif +#ifdef Q_WS_X11 + QAbstractPlatformMenuBar *platformMenuBar; +#endif #ifdef Q_WS_MAC //mac menubar binding struct QMacMenuBarPrivate { @@ -273,6 +290,12 @@ public: #ifdef QT_SOFTKEYS_ENABLED QAction *menuBarAction; #endif + +#ifdef Q_WS_X11 + void updateCornerWidgetToolBar(); + QToolBar *cornerWidgetToolBar; + QWidget *cornerWidgetContainer; +#endif }; #endif diff --git a/src/gui/widgets/qmenubar_x11.cpp b/src/gui/widgets/qmenubar_x11.cpp new file mode 100644 index 0000000..ca227a6 --- /dev/null +++ b/src/gui/widgets/qmenubar_x11.cpp @@ -0,0 +1,114 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#include "qmenubar_x11_p.h" + +#ifndef QT_NO_MENUBAR + +#include "qapplication.h" +#include "qdebug.h" +#include "qevent.h" +#include "qmenu.h" +#include "qmenubar.h" + +QT_BEGIN_NAMESPACE + +QX11MenuBar::~QX11MenuBar() +{ +} + +void QX11MenuBar::init(QMenuBar *_menuBar) +{ + nativeMenuBar = -1; + menuBar = _menuBar; +} + +void QX11MenuBar::setVisible(bool visible) +{ + menuBar->QWidget::setVisible(visible); +} + +void QX11MenuBar::actionEvent(QActionEvent *e) +{ + Q_UNUSED(e); +} + +void QX11MenuBar::handleReparent(QWidget *oldParent, QWidget *newParent, QWidget *oldWindow, QWidget *newWindow) +{ + Q_UNUSED(oldParent) + Q_UNUSED(newParent) + Q_UNUSED(oldWindow) + Q_UNUSED(newWindow) +} + +bool QX11MenuBar::allowCornerWidgets() const +{ + return true; +} + +void QX11MenuBar::popupAction(QAction *) +{ +} + +void QX11MenuBar::setNativeMenuBar(bool value) +{ + if (nativeMenuBar == -1 || (value != bool(nativeMenuBar))) { + nativeMenuBar = value; + } +} + +bool QX11MenuBar::isNativeMenuBar() const +{ + return false; +} + +bool QX11MenuBar::shortcutsHandledByNativeMenuBar() const +{ + return false; +} + +bool QX11MenuBar::menuBarEventFilter(QObject *, QEvent *) +{ + return false; +} + +QT_END_NAMESPACE + +#endif // QT_NO_MENUBAR diff --git a/src/gui/widgets/qmenubar_x11_p.h b/src/gui/widgets/qmenubar_x11_p.h new file mode 100644 index 0000000..dbe0223 --- /dev/null +++ b/src/gui/widgets/qmenubar_x11_p.h @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ +#ifndef QX11MENUBAR_P_H +#define QX11MENUBAR_P_H + +#ifndef QT_NO_MENUBAR + +#include "qabstractplatformmenubar_p.h" + +QT_BEGIN_NAMESPACE + +class QMenuBar; + +class QX11MenuBar : public QAbstractPlatformMenuBar +{ +public: + ~QX11MenuBar(); + + virtual void init(QMenuBar *); + + virtual void setVisible(bool visible); + + virtual void actionEvent(QActionEvent *e); + + virtual void handleReparent(QWidget *oldParent, QWidget *newParent, QWidget *oldWindow, QWidget *newWindow); + + virtual bool allowCornerWidgets() const; + + virtual void popupAction(QAction*); + + virtual void setNativeMenuBar(bool); + virtual bool isNativeMenuBar() const; + + virtual bool shortcutsHandledByNativeMenuBar() const; + virtual bool menuBarEventFilter(QObject *, QEvent *event); + +private: + QMenuBar *menuBar; + int nativeMenuBar : 3; // Only has values -1, 0, and 1 +}; + +QT_END_NAMESPACE + +#endif // QT_NO_MENUBAR + +#endif /* QX11MENUBAR_P_H */ diff --git a/src/gui/widgets/widgets.pri b/src/gui/widgets/widgets.pri index 669b838..6b3d6a9 100644 --- a/src/gui/widgets/widgets.pri +++ b/src/gui/widgets/widgets.pri @@ -144,6 +144,14 @@ SOURCES += \ widgets/qplaintextedit.cpp \ widgets/qprintpreviewwidget.cpp +x11: { + HEADERS += \ + widgets/qabstractplatformmenubar_p.h + + SOURCES += \ + widgets/qmenubar_x11.cpp +} + !embedded:!qpa:mac { HEADERS += widgets/qmacnativewidget_mac.h \ widgets/qmaccocoaviewcontainer_mac.h -- cgit v0.12 From 31ff55bbeb84f10e75e997c75a63deda83e62507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20G=C3=A2teau?= Date: Tue, 14 Jun 2011 18:04:26 +0200 Subject: Introduce menubar plugin system Merge-request: 1254 Reviewed-by: Gabriel de Dietrich --- src/gui/widgets/qabstractplatformmenubar_p.h | 12 ++++++++++++ src/gui/widgets/qmenubar.cpp | 5 ++++- src/gui/widgets/qmenubar_x11.cpp | 24 ++++++++++++++++++++++++ src/gui/widgets/qmenubar_x11_p.h | 2 ++ 4 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/gui/widgets/qabstractplatformmenubar_p.h b/src/gui/widgets/qabstractplatformmenubar_p.h index 86e212b..cb4e5cb 100644 --- a/src/gui/widgets/qabstractplatformmenubar_p.h +++ b/src/gui/widgets/qabstractplatformmenubar_p.h @@ -41,7 +41,9 @@ #ifndef QABSTRACTPLATFORMMENUBAR_P_H #define QABSTRACTPLATFORMMENUBAR_P_H +#include #include +#include #ifndef QT_NO_MENUBAR @@ -54,6 +56,16 @@ class QMenuBar; class QObject; class QWidget; +class QAbstractPlatformMenuBar; + +struct QPlatformMenuBarFactoryInterface : public QFactoryInterface +{ + virtual QAbstractPlatformMenuBar *create() = 0; +}; + +#define QPlatformMenuBarFactoryInterface_iid "com.nokia.qt.QPlatformMenuBarFactoryInterface" +Q_DECLARE_INTERFACE(QPlatformMenuBarFactoryInterface, QPlatformMenuBarFactoryInterface_iid) + /*! The platform-specific implementation of a menubar */ diff --git a/src/gui/widgets/qmenubar.cpp b/src/gui/widgets/qmenubar.cpp index ce95c84..3e5365c 100644 --- a/src/gui/widgets/qmenubar.cpp +++ b/src/gui/widgets/qmenubar.cpp @@ -55,6 +55,9 @@ #include #include #include +#ifdef Q_WS_X11 +#include +#endif #ifndef QT_NO_MENUBAR @@ -761,7 +764,7 @@ void QMenuBarPrivate::init() } #endif #ifdef Q_WS_X11 - platformMenuBar = new QX11MenuBar; + platformMenuBar = qt_guiPlatformMenuBarFactory()->create(); platformMenuBar->init(q); #endif diff --git a/src/gui/widgets/qmenubar_x11.cpp b/src/gui/widgets/qmenubar_x11.cpp index ca227a6..37c085f 100644 --- a/src/gui/widgets/qmenubar_x11.cpp +++ b/src/gui/widgets/qmenubar_x11.cpp @@ -48,6 +48,8 @@ #include "qmenu.h" #include "qmenubar.h" +#include + QT_BEGIN_NAMESPACE QX11MenuBar::~QX11MenuBar() @@ -109,6 +111,28 @@ bool QX11MenuBar::menuBarEventFilter(QObject *, QEvent *) return false; } +struct QX11MenuBarFactory : public QPlatformMenuBarFactoryInterface +{ + QAbstractPlatformMenuBar *create() { return new QX11MenuBar; } + virtual QStringList keys() const { return QStringList(); } +}; + +QPlatformMenuBarFactoryInterface *qt_guiPlatformMenuBarFactory() +{ + static QPlatformMenuBarFactoryInterface *factory = 0; + if (!factory) { +#ifndef QT_NO_LIBRARY + QFactoryLoader loader(QPlatformMenuBarFactoryInterface_iid, QLatin1String("/menubar")); + factory = qobject_cast(loader.instance(QLatin1String("default"))); +#endif // QT_NO_LIBRARY + if(!factory) { + static QX11MenuBarFactory def; + factory = &def; + } + } + return factory; +} + QT_END_NAMESPACE #endif // QT_NO_MENUBAR diff --git a/src/gui/widgets/qmenubar_x11_p.h b/src/gui/widgets/qmenubar_x11_p.h index dbe0223..1c43b04 100644 --- a/src/gui/widgets/qmenubar_x11_p.h +++ b/src/gui/widgets/qmenubar_x11_p.h @@ -77,6 +77,8 @@ private: int nativeMenuBar : 3; // Only has values -1, 0, and 1 }; +QPlatformMenuBarFactoryInterface *qt_guiPlatformMenuBarFactory(); + QT_END_NAMESPACE #endif // QT_NO_MENUBAR -- cgit v0.12 From 9e31f40c510d3efc3676cff2186410d38d539a4d Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Jun 2011 14:11:09 +0200 Subject: Added an additional check to workaround an issue on Windows. Reviewed-by: David Boddie Original-patch-by: Friedemann Kleint (cherry picked from commit 8b1654ec6a892e84c1654c9196e80461ee6e92fa) --- tools/qdoc3/cppcodemarker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp index 9591801..2067716 100644 --- a/tools/qdoc3/cppcodemarker.cpp +++ b/tools/qdoc3/cppcodemarker.cpp @@ -953,7 +953,7 @@ QString CppCodeMarker::addMarkUp(const QString &in, ident += ch; finish = i; readChar(); - } while (isalnum(ch) || ch == '_'); + } while (ch >= 0 && isalnum(ch) || ch == '_'); if (classRegExp.exactMatch(ident)) { tag = QLatin1String("type"); -- cgit v0.12 From 88b4736d8085db27abbe54ac6ece86f9badf154a Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 21 Jul 2011 19:59:00 +0200 Subject: Doc: Fixed the example of an encoded URL in the class description. Task-number: QTBUG-20398 --- src/corelib/io/qurl.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp index 2f0fd46..3f49cc6 100644 --- a/src/corelib/io/qurl.cpp +++ b/src/corelib/io/qurl.cpp @@ -63,8 +63,9 @@ unencoded representation is suitable for showing to users, but the encoded representation is typically what you would send to a web server. For example, the unencoded URL - "http://b\uuml\c{}hler.example.com" would be sent to the server as - "http://xn--bhler-kva.example.com/List%20of%20applicants.xml". + "http://b\uuml\c{}hler.example.com/List of applicants.xml" would be sent to the server as + "http://xn--bhler-kva.example.com/List%20of%20applicants.xml", + and this can be verified by calling the toEncoded() function. A URL can also be constructed piece by piece by calling setScheme(), setUserName(), setPassword(), setHost(), setPort(), -- cgit v0.12 From e8b49d0e33ea6c8a2814fcad70015dbcc28e9a5d Mon Sep 17 00:00:00 2001 From: Honglei Zhang Date: Fri, 19 Aug 2011 11:22:38 +0300 Subject: QXmlSimpleReader handle external entity reference file over 1k This commit fixes the bug that causes the QXmlSimpleReader can only handle external reference file less than 1k. Instead of reading the 1k buffer, the system will try to read all data from file into memory. This is not good for memory management. But there doesn't seem to be better solution without breaking the existing API. Task-number: QTBUG-21025 Reviewed-by: Peter Hartmann --- src/xml/sax/qxml.cpp | 8 +++++++- tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.ent | Bin 0 -> 2130 bytes tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml | 6 ++++++ .../qxmlsimplereader/xmldocs/valid/ext-sa/015.xml.ref | 10 ++++++++++ 4 files changed, 23 insertions(+), 1 deletion(-) create mode 100755 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.ent create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml create mode 100644 tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml.ref diff --git a/src/xml/sax/qxml.cpp b/src/xml/sax/qxml.cpp index 2f5384b..0c7f2ab 100644 --- a/src/xml/sax/qxml.cpp +++ b/src/xml/sax/qxml.cpp @@ -7748,7 +7748,13 @@ bool QXmlSimpleReaderPrivate::processReference() return false; } if (ret) { - QString xmlRefString = ret->data(); + QString xmlRefString; + QString buffer = ret->data(); + while (buffer.length()>0){ + xmlRefString += buffer; + ret->fetchData(); + buffer = ret->data(); + } delete ret; if (!stripTextDecl(xmlRefString)) { reportParseError(QLatin1String(XMLERR_ERRORINTEXTDECL)); diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.ent b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.ent new file mode 100755 index 0000000..86a8679 Binary files /dev/null and b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.ent differ diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml new file mode 100644 index 0000000..5550dab --- /dev/null +++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml @@ -0,0 +1,6 @@ + + +]> +&e; + diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml.ref b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml.ref new file mode 100644 index 0000000..1ec309a --- /dev/null +++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml.ref @@ -0,0 +1,10 @@ +setDocumentLocator(locator={columnNumber=1, lineNumber=1}) +startDocument() + startDTD(name="doc", publicId="", systemId="") + externalEntityDecl(name="e", publicId="", systemId="015.ent") + endDTD() + startElement(namespaceURI="", localName="doc", qName="doc", atts=[]) + resolveEntity(publicId="", systemId="015.ent", ret={}) + skippedEntity(name="e") + endElement(namespaceURI="", localName="doc", qName="doc") +endDocument() -- cgit v0.12 From 33f65993866e3eb2a80001f1b53f38dbfc7017ce Mon Sep 17 00:00:00 2001 From: Honglei Zhang Date: Mon, 22 Aug 2011 14:42:41 +0300 Subject: Enable running of XQuery test suite Some xmlpatterns auto test cases are still using old script. And some small bugs in test driver prevent the XQuery test suite testing. This commit updated the out-of-date scripts and fixes couple of bugs in test driver. Task-number: QTBUG-16028 Reviewed-by: Dmitry Trofimov --- tests/auto/qxmlquery/tst_qxmlquery.cpp | 1 + tests/auto/qxmlstream/test.xml | 3 + tests/auto/xmlpatternsschemats/Baseline.xml | 2 +- tests/auto/xmlpatternsschemats/ReadMe.txt | 8 +++ .../xmlpatternsschemats/TESTSUITE/updateSuite.sh | 12 +++- tests/auto/xmlpatternssdk/TestSuite.cpp | 1 + tests/auto/xmlpatternssdk/TestSuiteHandler.cpp | 17 +++++ tests/auto/xmlpatternssdk/TestSuiteHandler.h | 4 ++ tests/auto/xmlpatternssdk/Worker.cpp | 2 +- tests/auto/xmlpatternssdk/XSDTestSuiteHandler.cpp | 1 + tests/auto/xmlpatternsxqts/Baseline.xml | 2 - .../auto/xmlpatternsxqts/TESTSUITE/updateSuite.sh | 72 ++++++++++++++++++++++ tests/auto/xmlpatternsxqts/tst_suitetest.cpp | 5 +- tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp | 26 +------- tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh | 17 +++-- 15 files changed, 133 insertions(+), 40 deletions(-) create mode 100644 tests/auto/qxmlstream/test.xml create mode 100644 tests/auto/xmlpatternsschemats/ReadMe.txt delete mode 100644 tests/auto/xmlpatternsxqts/Baseline.xml create mode 100755 tests/auto/xmlpatternsxqts/TESTSUITE/updateSuite.sh diff --git a/tests/auto/qxmlquery/tst_qxmlquery.cpp b/tests/auto/qxmlquery/tst_qxmlquery.cpp index 1d3a0bc..e443720 100644 --- a/tests/auto/qxmlquery/tst_qxmlquery.cpp +++ b/tests/auto/qxmlquery/tst_qxmlquery.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include "MessageSilencer.h" #include "MessageValidator.h" diff --git a/tests/auto/qxmlstream/test.xml b/tests/auto/qxmlstream/test.xml new file mode 100644 index 0000000..797fd3b --- /dev/null +++ b/tests/auto/qxmlstream/test.xml @@ -0,0 +1,3 @@ + + + diff --git a/tests/auto/xmlpatternsschemats/Baseline.xml b/tests/auto/xmlpatternsschemats/Baseline.xml index 9576538..16878bc 100644 --- a/tests/auto/xmlpatternsschemats/Baseline.xml +++ b/tests/auto/xmlpatternsschemats/Baseline.xml @@ -1,2 +1,2 @@ -

Patternist is an implementation written in C++ and with the Qt/KDE libraries. It is licensed under GNU LGPL and part of KDE, the K Desktop Environment.

XQuery
\ No newline at end of file +

Patternist is an implementation written in C++ and with the Qt/KDE libraries. It is licensed under GNU LGPL and part of KDE, the K Desktop Environment.

XQuery
\ No newline at end of file diff --git a/tests/auto/xmlpatternsschemats/ReadMe.txt b/tests/auto/xmlpatternsschemats/ReadMe.txt new file mode 100644 index 0000000..0bf6d17 --- /dev/null +++ b/tests/auto/xmlpatternsschemats/ReadMe.txt @@ -0,0 +1,8 @@ +This testing requires test suite which is available from w3c website. Download, unpack and transform the test suite will take quite long time. This test is normally skipped. To get the test run, following steps are required: + +- Linux environment is normally required to retrieve and prepare test suite +- wget, Java should be preinstalled +- install Saxon(version 9 or upwards) +- Run updateSuite.sh under TESTSUITE +- create file runTests in the same directory of auto test executable. For example: touch runTests + diff --git a/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh b/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh index 0297db5..a61f0a1 100755 --- a/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh +++ b/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh @@ -44,6 +44,9 @@ # # NOTE: the files checked out CANNOT be added to Qt's # repository at the moment, due to legal complications. +# +# To run the script, Saxon package version 9 and above shall be installed +# DIRECTORY_NAME="xmlschema2006-11-06" ARCHIVE_NAME="xsts-2007-06-20.tar.gz" @@ -54,7 +57,10 @@ wget http://www.w3.org/XML/2004/xml-schema-test-suite/xmlschema2006-11-06/$ARCHI tar -xzf $ARCHIVE_NAME rm $ARCHIVE_NAME -CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs login -CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs checkout -d xmlschema2006-11-06-new XML/xml-schema-test-suite/2004-01-14/xmlschema2006-11-06 +# cvs script is used to retrive newer version of test suite. +#CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs login +#CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs checkout -d xmlschema2006-11-06-new XML/xml-schema-test-suite/2004-01-14/xmlschema2006-11-06 + +#Saxon need to be installed before the following command works. +java -jar /usr/share/java/saxon.jar -xsl:unifyCatalog.xsl -s:$DIRECTORY_NAME/suite.xml > testSuites.xml -java net.sf.saxon.Transform -xsl:unifyCatalog.xsl $DIRECTORY_NAME/suite.xml > testSuites.xml diff --git a/tests/auto/xmlpatternssdk/TestSuite.cpp b/tests/auto/xmlpatternssdk/TestSuite.cpp index e24786a..db94f25 100644 --- a/tests/auto/xmlpatternssdk/TestSuite.cpp +++ b/tests/auto/xmlpatternssdk/TestSuite.cpp @@ -151,6 +151,7 @@ TestSuite *TestSuite::openCatalog(QIODevice *input, } reader.setContentHandler(loader.data()); + reader.setEntityResolver(loader.data()); QXmlInputSource source(input); diff --git a/tests/auto/xmlpatternssdk/TestSuiteHandler.cpp b/tests/auto/xmlpatternssdk/TestSuiteHandler.cpp index 74a6082..c46350a 100644 --- a/tests/auto/xmlpatternssdk/TestSuiteHandler.cpp +++ b/tests/auto/xmlpatternssdk/TestSuiteHandler.cpp @@ -40,6 +40,7 @@ ****************************************************************************/ #include +#include #include "qacceltreeresourceloader_p.h" #include "qnetworkaccessdelegator_p.h" @@ -308,5 +309,21 @@ TestSuite *TestSuiteHandler::testSuite() const return m_ts; } +bool TestSuiteHandler::resolveEntity(const QString& publicId, + const QString& systemId, + QXmlInputSource*& ret) +{ + QFileInfo catFileName(m_catalogFile.path()); + QFileInfo externalFileName(catFileName.absolutePath(), systemId); + QFile *file = new QFile(externalFileName.absoluteFilePath()); + if (file->open(QIODevice::ReadOnly | QIODevice::Text)) { + ret = new QXmlInputSource(file); + return true; + } + return false; + //return QXmlDefaultHandler::resolveEntity(publicId, systemId, ret); +} + + // vim: et:ts=4:sw=4:sts=4 diff --git a/tests/auto/xmlpatternssdk/TestSuiteHandler.h b/tests/auto/xmlpatternssdk/TestSuiteHandler.h index 7a46145..2d6a22f 100644 --- a/tests/auto/xmlpatternssdk/TestSuiteHandler.h +++ b/tests/auto/xmlpatternssdk/TestSuiteHandler.h @@ -94,6 +94,10 @@ namespace QPatternistSDK const QString &qName, const QXmlAttributes &atts); + virtual bool resolveEntity(const QString& publicId, + const QString& systemId, + QXmlInputSource*& ret); + virtual TestSuite *testSuite() const; private: diff --git a/tests/auto/xmlpatternssdk/Worker.cpp b/tests/auto/xmlpatternssdk/Worker.cpp index f2051cc..4fb7da7 100644 --- a/tests/auto/xmlpatternssdk/Worker.cpp +++ b/tests/auto/xmlpatternssdk/Worker.cpp @@ -183,7 +183,7 @@ void Worker::threadFinished() const int totPass = count(m_result, TestResult::Pass); const int total = resultCount; const int notTested = m_notTested.count(); - const int percentage = int((static_cast(totPass) / total) * 100); + const int percentage = total==0 ? 0 : int((static_cast(totPass) / total) * 100); Q_ASSERT_X(percentage >= 0 && percentage <= 100, Q_FUNC_INFO, qPrintable(QString(QLatin1String("Percentage was: %1")).arg(percentage))); diff --git a/tests/auto/xmlpatternssdk/XSDTestSuiteHandler.cpp b/tests/auto/xmlpatternssdk/XSDTestSuiteHandler.cpp index 5b6fb90..9036dad 100644 --- a/tests/auto/xmlpatternssdk/XSDTestSuiteHandler.cpp +++ b/tests/auto/xmlpatternssdk/XSDTestSuiteHandler.cpp @@ -793,6 +793,7 @@ XSDTestSuiteHandler::XSDTestSuiteHandler(const QUrl &catalogFile) : m_ts(0) << QLatin1String("schZ012_a") << QLatin1String("stZ041") << QLatin1String("wildZ010"); + } bool XSDTestSuiteHandler::startElement(const QString &namespaceURI, diff --git a/tests/auto/xmlpatternsxqts/Baseline.xml b/tests/auto/xmlpatternsxqts/Baseline.xml deleted file mode 100644 index d9be95a..0000000 --- a/tests/auto/xmlpatternsxqts/Baseline.xml +++ /dev/null @@ -1,2 +0,0 @@ - -

Patternist is an implementation written in C++ and with the Qt/KDE libraries. It is licensed under GNU LGPL and part of KDE, the K Desktop Environment.

XQuery
\ No newline at end of file diff --git a/tests/auto/xmlpatternsxqts/TESTSUITE/updateSuite.sh b/tests/auto/xmlpatternsxqts/TESTSUITE/updateSuite.sh new file mode 100755 index 0000000..1157f51 --- /dev/null +++ b/tests/auto/xmlpatternsxqts/TESTSUITE/updateSuite.sh @@ -0,0 +1,72 @@ +#!/bin/sh +############################################################################# +## +## Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +## All rights reserved. +## Contact: Nokia Corporation (qt-info@nokia.com) +## +## This file is the build configuration utility of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## GNU Lesser General Public License Usage +## This file may be used under the terms of the GNU Lesser General Public +## License version 2.1 as published by the Free Software Foundation and +## appearing in the file LICENSE.LGPL included in the packaging of this +## file. Please review the following information to ensure the GNU Lesser +## General Public License version 2.1 requirements will be met: +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## In addition, as a special exception, Nokia gives you certain additional +## rights. These rights are described in the Nokia Qt LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU General +## Public License version 3.0 as published by the Free Software Foundation +## and appearing in the file LICENSE.GPL included in the packaging of this +## file. Please review the following information to ensure the GNU General +## Public License version 3.0 requirements will be met: +## http://www.gnu.org/copyleft/gpl.html. +## +## Other Usage +## Alternatively, this file may be used in accordance with the terms and +## conditions contained in a signed written agreement between you and Nokia. +## +## +## +## +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script updates the suite from W3C's CVS server. +# +# NOTE: the files checked out CANNOT be added to Qt's +# repository at the moment, due to legal complications. However, +# when the test suite is publically released, it is possible as +# according to W3C's usual license agreements. + +echo "*** This script typically doesn't need to be run." + +# There are two ways to retrieve test suites, via cvs or direct downloading. +# CVS always receive the latest release. + +# download test suite from http://dev.w3.org/2006/xquery-test-suite/ + +TMPFILE='tmpfile' +wget http://dev.w3.org/2006/xquery-test-suite/PublicPagesStagingArea/XQTS_1_0_3.zip -O $TMPFILE +unzip $TMPFILE +rm $TMPFILE + +# This is W3C's internal CVS server, not the public dev.w3.org. +# export CVSROOT=":pserver:anonymous@dev.w3.org:/sources/public" + +# echo "*** Enter 'anonymous' as password. ***" +# cvs login +# cvs get 2006/xquery-test-suite + +# Substitute entity values for entity references +mv XQTSCatalog.xml XQTSCatalogUnsolved.xml +xmllint -noent -output XQTSCatalog.xml XQTSCatalogUnsolved.xml + diff --git a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp index 76b7893..19adc0b 100644 --- a/tests/auto/xmlpatternsxqts/tst_suitetest.cpp +++ b/tests/auto/xmlpatternsxqts/tst_suitetest.cpp @@ -66,9 +66,6 @@ tst_SuiteTest::tst_SuiteTest(const SuiteType suiteType, /*! Returns an absolute path to the XQTS catalog, or flags a failure using QTestLib's mechanisms. - - Finding the location of the catalog is done with `p4 where` such that we don't have - to care about where it is checked out. */ void tst_SuiteTest::initTestCase() { @@ -87,7 +84,7 @@ void tst_SuiteTest::runTestSuite() const const QFileInfo fi(m_catalogPath); const QUrl catalogPath(QUrl::fromLocalFile(fi.absoluteFilePath())); - TestSuite::SuiteType suiteType; + TestSuite::SuiteType suiteType(TestSuite::XQuerySuite); switch (m_suiteType) { case XQuerySuite: suiteType = TestSuite::XQuerySuite; diff --git a/tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp b/tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp index ec14872..7caaf89 100644 --- a/tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp +++ b/tests/auto/xmlpatternsxqts/tst_xmlpatternsxqts.cpp @@ -70,30 +70,8 @@ void tst_XmlPatternsXQTS::catalogPath(QString &write) const if(dontRun()) QSKIP("This test takes too long time to run on the majority of platforms.", SkipAll); - QProcess p4; - - QStringList arguments; - arguments << QLatin1String("where") - << QLatin1String("//depot/autotests/4.4/tests/auto/xmlpatternsxqts/XQTS/XQTSCatalog.xml"); - p4.start(QLatin1String("p4"), arguments); - QVERIFY(p4.waitForFinished()); - QCOMPARE(p4.exitCode(), 0); - QCOMPARE(p4.exitStatus(), QProcess::NormalExit); - - /* `p4 where' prints for instance: - * - * //depot/qt/4.4/tests/auto/xmlpatternsxqts/... //fenglich-englich/qt-4.4/tests/auto/xmlpatternsxqts/... /home/fenglich/dev/autotests/4.4/tests/auto/xmlpatternsxqts/XQTS/XQTSCatalog.xml - * - * so we want the last string. - */ - write = QString::fromLocal8Bit(p4.readAllStandardOutput()).split(QLatin1Char(' ')).last().trimmed(); - - if(write.isEmpty() || !QFile::exists(write)) - { - QEXPECT_FAIL("", "//depot/autotests/4.4/tests/auto/xmlpatternsxqts/XQTS/ must be part of the perforce client spec, " - "checked out at an arbitrary location, for this test to run. The test suite will now be skipped.", Abort); - QVERIFY(false); - } + write = QLatin1String("TESTSUITE/XQTSCatalog.xml"); + return; } QTEST_MAIN(tst_XmlPatternsXQTS) diff --git a/tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh b/tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh index 52a5b07..1bac5ec 100755 --- a/tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh +++ b/tests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh @@ -47,14 +47,21 @@ # when the test suite is publically released, it is possible as # according to W3C's usual license agreements. -echo "*** This script typically doesn't need to be run, and it needs to be updated anyway." -exit 1 +echo "*** This script typically doesn't need to be run. Test Suite is not available. So, this test is only a place holder! ***" +exit 0 + +# Download the test suite +TMPFILE='tmpfile' +wget http://www.w3.org/Style/XSL/XSL-TestSuite.zip -O $TMPFILE +unzip $TMPFILE +rm $TMPFILE + # This is W3C's internal CVS server, not the public dev.w3.org. -export CVSROOT="fenglich@cvs.w3.org:path is currently unknown" +# export CVSROOT="fenglich@cvs.w3.org:path is currently unknown" -echo "*** Enter 'anonymous' as password. ***" -cvs login +# echo "*** Enter 'anonymous' as password. ***" +# cvs login mv catalog.xml catalogUnresolved.xml xmllint --noent --output catalog.xml catalogUnresolved.xml -- cgit v0.12 From ac10a99e642c9005efc7639583fcb726acc169fd Mon Sep 17 00:00:00 2001 From: mread Date: Wed, 24 Aug 2011 13:04:02 +0100 Subject: Giving QUuid::createUuid() more entropy on Symbian QUuid::createUuid() uuids have low entropy on Symbian, giving a dangerously high probability of collision. This change adds in more entropy from the kernel tick count to reduce the possibility of collision. Task-number: QTBUG-21072 Reviewed-by: Sami Merila --- src/corelib/plugin/quuid.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/corelib/plugin/quuid.cpp b/src/corelib/plugin/quuid.cpp index af63b79..83c6194 100644 --- a/src/corelib/plugin/quuid.cpp +++ b/src/corelib/plugin/quuid.cpp @@ -901,6 +901,12 @@ QUuid QUuid::createUuid() uint randNumber = 0; for (int filled = 0; filled < intbits; filled += randbits) randNumber |= qrand()< Date: Tue, 23 Aug 2011 12:18:54 +0300 Subject: Fix def file paths for Symbian shadow builds Def file paths are now generated absolute Task-number: QTBUG-10703 Reviewed-by: Sami Merila --- mkspecs/features/symbian/def_files.prf | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mkspecs/features/symbian/def_files.prf b/mkspecs/features/symbian/def_files.prf index 746de6a..a78c74e 100644 --- a/mkspecs/features/symbian/def_files.prf +++ b/mkspecs/features/symbian/def_files.prf @@ -30,28 +30,32 @@ symbian-abld|symbian-sbsv2 { # statements - they use the qmake generated statements instead # Static libraries obviously don't have DEF files, as they don't take part in dynamic linkage !contains(TEMPLATE, app):!contains(CONFIG, plugin):!contains(CONFIG, staticlib): { + # Symbian DEFFILE statements do not like drive letters, so remove it from the pro path. + FIXED_PRO_PATH = $$replace(_PRO_FILE_PWD_, "^.:", "")/ !isEmpty(DEF_FILE) { + contains(DEF_FILE,"^/.*"): FIXED_PRO_PATH = defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ - "DEFFILE $$DEF_FILE/bwins/$${clean_TARGET}.def" \ + "DEFFILE $$FIXED_PRO_PATH$$DEF_FILE/bwins/$${clean_TARGET}.def" \ "$${LITERAL_HASH}elif defined EABI" \ - "DEFFILE $$DEF_FILE/eabi/$${clean_TARGET}.def" \ + "DEFFILE $$FIXED_PRO_PATH$$DEF_FILE/eabi/$${clean_TARGET}.def" \ "$${LITERAL_HASH}endif" } else:!isEmpty(defFilePath) { + contains(defFilePath,"^/.*"): FIXED_PRO_PATH = defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ - "DEFFILE $$defFilePath/bwins/$${clean_TARGET}.def" \ + "DEFFILE $$FIXED_PRO_PATH$$defFilePath/bwins/$${clean_TARGET}.def" \ "$${LITERAL_HASH}elif defined EABI" \ - "DEFFILE $$defFilePath/eabi/$${clean_TARGET}.def" \ + "DEFFILE $$FIXED_PRO_PATH$$defFilePath/eabi/$${clean_TARGET}.def" \ "$${LITERAL_HASH}endif" } else { # If defFilePath is not defined, then put the folders containing the DEF files at the # same level as the .pro (and generated MMP) file(s) defBlock = \ "$${LITERAL_HASH}ifdef WINSCW" \ - "DEFFILE ./bwins/$${clean_TARGET}.def" \ + "DEFFILE $${FIXED_PRO_PATH}bwins/$${clean_TARGET}.def" \ "$${LITERAL_HASH}elif defined EABI" \ - "DEFFILE ./eabi/$${clean_TARGET}.def" \ + "DEFFILE $${FIXED_PRO_PATH}eabi/$${clean_TARGET}.def" \ "$${LITERAL_HASH}endif" } MMP_RULES += defBlock -- cgit v0.12 From a9822d39136a3f7912cc68320cfe030d95b4cb4f Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 24 Aug 2011 15:56:02 +0300 Subject: Improved support for shadow builds in Symbian. It is now possible to make shadow builds in Symbian. Note that any relative host side paths specified via BLD_INF_RULES, MMP_RULES, or DEPLOYMENT pkg_*rules are NOT automatically converted to point to build directory. Task-number: QTBUG-10432 Rubber-stamped-by: ossi Reviewed-by: TrustMe --- doc/src/development/qmake-manual.qdoc | 12 ++++++++++++ mkspecs/features/symbian/application_icon.prf | 4 +--- qmake/generators/makefile.cpp | 13 ++++++++----- qmake/generators/symbian/symbiancommon.cpp | 6 ++++-- qmake/generators/symbian/symmake.cpp | 26 +++++++++++--------------- qmake/generators/symbian/symmake.h | 1 + qmake/generators/symbian/symmake_abld.cpp | 3 ++- qmake/generators/symbian/symmake_sbsv2.cpp | 19 ++++++++----------- 8 files changed, 47 insertions(+), 37 deletions(-) diff --git a/doc/src/development/qmake-manual.qdoc b/doc/src/development/qmake-manual.qdoc index 329bac5..2c7fda2 100644 --- a/doc/src/development/qmake-manual.qdoc +++ b/doc/src/development/qmake-manual.qdoc @@ -1184,6 +1184,10 @@ Any rules you define will be added after automatically generated rules in each section. + \note Content specified using \c BLD_INF_RULES is inserted as-is into the \c bld.inf + file, so any rules that specify host side paths may not work correctly when doing + a shadow build. + \target CONFIG \section1 CONFIG @@ -1521,6 +1525,10 @@ override languages statement, you must override also package-header statement and all other statements which are language specific. + \note Custom deployments specified using \c pkg_postrules are inserted + as-is into the \c PKG file, so any rules that specify host side paths may not + work correctly when doing a shadow build. + On the Symbian platform, three separate PKG files are generated: \list @@ -1911,6 +1919,10 @@ \c TARGET.EPOCSTACKSIZE. Doing so could result in duplicate statements in the MMP file. + \note Content specified using \c MMP_RULES is inserted as-is into the \c MMP + file, so any rules that specify host side paths may not work correctly when doing + a shadow build. + \target MOC_DIR \section1 MOC_DIR diff --git a/mkspecs/features/symbian/application_icon.prf b/mkspecs/features/symbian/application_icon.prf index f058399..dc23428 100644 --- a/mkspecs/features/symbian/application_icon.prf +++ b/mkspecs/features/symbian/application_icon.prf @@ -45,9 +45,7 @@ contains(CONFIG, no_icon) { # Note: symbian-sbsv2 builds can't utilize extra compiler for mifconv, so ICON handling is done in code !symbian-sbsv2 { # Absolute path required for shadow builds. - # However, in older Symbian environments abld toolchain can't handle even moderately long - # paths, so don't force absolute there. - !symbian-abld:!contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON + !contains(ICON, "^(/|\\\\|.:).*"):ICON = $$_PRO_FILE_PWD_/$$ICON #Makefile: requires paths with backslash ICON_backslashed = $$ICON diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp index 00f6b4a..b9de92d 100644 --- a/qmake/generators/makefile.cpp +++ b/qmake/generators/makefile.cpp @@ -1769,6 +1769,7 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) { QString clean_targets; const QStringList &quc = project->values("QMAKE_EXTRA_COMPILERS"); + QDir outputDir(Option::output_dir); for(QStringList::ConstIterator it = quc.begin(); it != quc.end(); ++it) { QString tmp_out = fileFixify(project->values((*it) + ".output").first(), Option::output_dir, Option::output_dir); @@ -1960,9 +1961,11 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) QString cmd; if (isForSymbianSbsv2()) { // In sbsv2 the command inputs and outputs need to use absolute paths - cmd = replaceExtraCompilerVariables(tmp_cmd, - fileFixify(escapeFilePaths(inputs), FileFixifyAbsolute), - fileFixify(QStringList(tmp_out), FileFixifyAbsolute)); + QStringList absoluteInputs; + for (int i = 0; i < inputs.size(); ++i) + absoluteInputs.append(escapeFilePath(outputDir.absoluteFilePath(inputs.at(i)))); + cmd = replaceExtraCompilerVariables(tmp_cmd, absoluteInputs, + QStringList(outputDir.absoluteFilePath(tmp_out))); } else { cmd = replaceExtraCompilerVariables(tmp_cmd, escapeFilePaths(inputs), QStringList(tmp_out)); } @@ -1996,8 +1999,8 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t) if (isForSymbianSbsv2()) { // In sbsv2 the command inputs and outputs need to use absolute paths cmd = replaceExtraCompilerVariables(tmp_cmd, - fileFixify((*input), FileFixifyAbsolute), - fileFixify(out, FileFixifyAbsolute)); + outputDir.absoluteFilePath(*input), + outputDir.absoluteFilePath(out)); } else { cmd = replaceExtraCompilerVariables(tmp_cmd, (*input), out); } diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index d4db4b9..c9ffa11 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -503,9 +503,11 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, twf << wrapperStreamBuffer << endl; // Wrapped files deployment - QString currentPath = qmake_getpwd(); + QString currentPath = Option::output_dir; + if (!currentPath.endsWith(QLatin1Char('/'))) + currentPath += QLatin1Char('/'); QString sisName = QString("%1.sis").arg(fixedTarget); - twf << "\"" << currentPath << "/" << sisName << "\" - \"!:\\private\\2002CCCE\\import\\" << sisName << "\"" << endl; + twf << "\"" << currentPath << sisName << "\" - \"!:\\private\\2002CCCE\\import\\" << sisName << "\"" << endl; QString bootStrapPath = QLibraryInfo::location(QLibraryInfo::PrefixPath); bootStrapPath.append("/smartinstaller.sis"); diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index bdba329..694bbfb 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -126,8 +126,7 @@ QString SymbianMakefileGenerator::absolutizePath(const QString& origPath) if (resultPath.startsWith("/epoc32/", Qt::CaseInsensitive)) resultPath = QDir::fromNativeSeparators(qt_epocRoot()) + resultPath.mid(1); - QFileInfo fi(fileInfo(resultPath)); - + QFileInfo fi(outputDir, resultPath); // Since origPath can be something given in HEADERS, we need to check if we are dealing // with a file or a directory. In case the origPath doesn't yet exist, isFile() returns // false and we default to assuming it is a dir. @@ -271,6 +270,8 @@ void SymbianMakefileGenerator::init() MakefileGenerator::init(); SymbianCommonGenerator::init(); + outputDir = QDir(Option::output_dir); + if (0 != project->values("QMAKE_PLATFORM").size()) platform = varGlue("QMAKE_PLATFORM", "", " ", ""); @@ -338,7 +339,6 @@ void SymbianMakefileGenerator::initMmpVariables() srcpaths << project->values("UNUSED_SOURCES") << project->values("UI_SOURCES_DIR"); srcpaths << project->values("UI_DIR"); - QDir current = QDir::current(); QString absolutizedCurrent = absolutizePath("."); for (int j = 0; j < srcpaths.size(); ++j) { @@ -373,12 +373,12 @@ void SymbianMakefileGenerator::initMmpVariables() QStringList temporary; for (int i = 0; i < sysincspaths.size(); ++i) { QString origPath = sysincspaths.at(i); - QFileInfo origPathInfo(fileInfo(origPath)); + QFileInfo origPathInfo(outputDir, origPath); bool bFound = false; for (int j = 0; j < temporary.size(); ++j) { QString tmpPath = temporary.at(j); - QFileInfo tmpPathInfo(fileInfo(tmpPath)); + QFileInfo tmpPathInfo(outputDir, tmpPath); if (origPathInfo.absoluteFilePath() == tmpPathInfo.absoluteFilePath()) { bFound = true; @@ -515,14 +515,12 @@ void SymbianMakefileGenerator::writeMmpFile(QString &filename, const SymbianLoca writeMmpFileIncludePart(t); - QDir current = QDir::current(); - for (QMap::iterator it = sources.begin(); it != sources.end(); ++it) { QStringList values = it.value(); QString currentSourcePath = it.key(); if (values.size()) - t << "SOURCEPATH \t" << fixPathForMmp(currentSourcePath, current) << endl; + t << "SOURCEPATH \t" << fixPathForMmp(currentSourcePath, Option::output_dir) << endl; for (int i = 0; i < values.size(); ++i) { QString sourceFileName = values.at(i); @@ -709,13 +707,11 @@ void SymbianMakefileGenerator::writeMmpFileResourcePart(QTextStream& t, const Sy void SymbianMakefileGenerator::writeMmpFileSystemIncludePart(QTextStream& t) { - QDir current = QDir::current(); - for (QMap::iterator it = systeminclude.begin(); it != systeminclude.end(); ++it) { QStringList values = it.value(); for (int i = 0; i < values.size(); ++i) { QString handledPath = values.at(i); - t << "SYSTEMINCLUDE\t\t" << fixPathForMmp(handledPath, current) << endl; + t << "SYSTEMINCLUDE\t\t" << fixPathForMmp(handledPath, Option::output_dir) << endl; } } @@ -1105,7 +1101,7 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t) fromFile = item.endsWith(Option::pro_ext); fixedItem = item; } - QFileInfo fi(fileInfo(fixedItem)); + QFileInfo fi(outputDir, fixedItem); if (!fromFile) { t << "\t-$(MAKE) -f \"" << Option::fixPathToTargetOS(fi.absoluteFilePath() + "/Makefile") << "\" dodistclean" << endl; } else { @@ -1118,19 +1114,19 @@ void SymbianMakefileGenerator::generateDistcleanTargets(QTextStream& t) } - generatedFiles << Option::fixPathToTargetOS(fileInfo(Option::output.fileName()).absoluteFilePath()); // bld.inf + generatedFiles << Option::output.fileName(); // bld.inf generatedFiles << project->values("QMAKE_INTERNAL_PRL_FILE"); // Add generated prl files for cleanup generatedFiles << project->values("QMAKE_DISTCLEAN"); // Add any additional files marked for distclean QStringList fixedFiles; QStringList fixedDirs; foreach(QString item, generatedFiles) { - QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).absoluteFilePath()); + QString fixedItem = Option::fixPathToTargetOS(outputDir.absoluteFilePath(item)); if (!fixedFiles.contains(fixedItem)) { fixedFiles << fixedItem; } } foreach(QString item, generatedDirs) { - QString fixedItem = Option::fixPathToTargetOS(fileInfo(item).absoluteFilePath()); + QString fixedItem = Option::fixPathToTargetOS(outputDir.absoluteFilePath(item)); if (!fixedDirs.contains(fixedItem)) { fixedDirs << fixedItem; } diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h index 053b275..1dfb102 100644 --- a/qmake/generators/symbian/symmake.h +++ b/qmake/generators/symbian/symmake.h @@ -66,6 +66,7 @@ protected: // (output file) (source , command) QMap makmakeCommands; QStringList overriddenMmpKeywords; + QDir outputDir; QString fixPathForMmp(const QString& origPath, const QDir& parentDir); QString absolutizePath(const QString& origPath); diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp index 7863dca..7026355 100644 --- a/qmake/generators/symbian/symmake_abld.cpp +++ b/qmake/generators/symbian/symmake_abld.cpp @@ -70,7 +70,8 @@ SymbianAbldMakefileGenerator::~SymbianAbldMakefileGenerator() { } void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly) { - QFile ft(gnuMakefileName); + QString mkFullPath = Option::output_dir + QLatin1Char('/') + gnuMakefileName; + QFile ft(mkFullPath); if (ft.open(QIODevice::WriteOnly)) { generatedFiles << ft.fileName(); QTextStream t(&ft); diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp index 78a9024..cc32f8d 100644 --- a/qmake/generators/symbian/symmake_sbsv2.cpp +++ b/qmake/generators/symbian/symmake_sbsv2.cpp @@ -624,11 +624,11 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t // are not necessary. QStringList allPreDeps; foreach(QString item, project->values("PRE_TARGETDEPS")) { - allPreDeps.append(fileInfo(item).absoluteFilePath()); + allPreDeps.append(QDir::cleanPath(outputDir.absoluteFilePath(item))); } foreach (QString item, project->values("GENERATED_SOURCES")) { - allPreDeps.append(fileInfo(item).absoluteFilePath()); + allPreDeps.append(QDir::cleanPath(outputDir.absoluteFilePath(item))); } for (QMap::iterator it = sources.begin(); it != sources.end(); ++it) { @@ -638,7 +638,7 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t QString sourceFile = currentSourcePath + "/" + values.at(i); QStringList deps = findDependencies(QDir::toNativeSeparators(sourceFile)); foreach(QString depItem, deps) { - appendIfnotExist(allPreDeps, fileInfo(depItem).absoluteFilePath()); + appendIfnotExist(allPreDeps, QDir::cleanPath(outputDir.absoluteFilePath(depItem))); } } } @@ -649,7 +649,7 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t foreach(QString item, extraTargets) { foreach(QString targetItem, project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_TARGETS.") + item)) { // Make sure targetpath is absolute - QString absoluteTarget = fileInfo(targetItem).absoluteFilePath(); + QString absoluteTarget = QDir::cleanPath(outputDir.absoluteFilePath(targetItem)); if (allPreDeps.contains(absoluteTarget)) { QStringList deps = project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_DEPS.") + item + targetItem); QString commandItem = project->values(QLatin1String("QMAKE_INTERNAL_ET_PARSED_CMD.") + item + targetItem).join(" "); @@ -658,7 +658,7 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t QString absoluteDeps; foreach (QString depItem, deps) { if (!depItem.isEmpty()) { - absoluteDeps.append(fileInfo(depItem).absoluteFilePath()); + absoluteDeps.append(QDir::cleanPath(outputDir.absoluteFilePath(depItem))); absoluteDeps.append(" "); } } @@ -723,9 +723,7 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t QFileInfo iconInfo = fileInfo(icon); - QFileInfo bldinf(project->values("MAKEFILE").first()); - QString iconPath = bldinf.dir().relativeFilePath(iconInfo.path()); - + QString iconPath = outputDir.relativeFilePath(iconInfo.absolutePath()); QString iconFile = iconInfo.baseName(); QFileInfo iconTargetInfo = fileInfo(iconTargetFile); @@ -747,11 +745,10 @@ void SymbianSbsv2MakefileGenerator::writeBldInfExtensionRulesPart(QTextStream& t if (!cleanFiles.isEmpty()) { QStringList absoluteCleanFiles; foreach (QString cleanFile, cleanFiles) { - QFileInfo fi(cleanFile); QString fileName = QLatin1String("\""); - fileName.append(fi.absoluteFilePath()); + fileName.append(QDir::cleanPath(outputDir.absoluteFilePath(cleanFile))); fileName.append(QLatin1String("\"")); - absoluteCleanFiles << fileName; + absoluteCleanFiles << fileName; } t << "START EXTENSION qt/qmake_clean" << endl; t << "OPTION CLEAN_FILES " << absoluteCleanFiles.join(" ") << endl; -- cgit v0.12 From 33ad8aa89a214143f3ffb0850e81daffca2ac68d Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 24 Aug 2011 16:03:34 +0300 Subject: Fix BLD_INF_RULES.prj_exports statements in Qt libs for shadow builds. Task-number: QTBUG-10432 Rubber-stamped-by: ossi Reviewed-by: TrustMe --- mkspecs/common/symbian/symbian.conf | 7 +++++++ src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro | 4 +++- src/s60installs/s60installs.pro | 9 ++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index b19eece..61a6228 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -302,3 +302,10 @@ defineReplace(addLanguageDependentPkgItem) { return($$join(pkgLanguageList,",",,)) } + +# Sometimes a relative path to original .pro file directory is necessary when doing shadow builds. +defineReplace(relativeProPath) { + RELATIVE_PRO_FILE_PWD = $$replace(OUT_PWD, "^.:", "") # Lose drive letter if any + RELATIVE_PRO_FILE_PWD = $$replace(RELATIVE_PRO_FILE_PWD, "/[^/]*", "../")$$replace(_PRO_FILE_PWD_, "^[^/]*/", "") + return($$RELATIVE_PRO_FILE_PWD) +} diff --git a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro index 0d233e6..382217a 100644 --- a/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro +++ b/src/plugins/sqldrivers/sqlite_symbian/sqlite_symbian.pro @@ -4,6 +4,8 @@ TEMPLATE = subdirs # We just want to export the sqlite3 binaries for Symbian for platforms that do not have them. symbian-abld|symbian-sbsv2 { !symbian_no_export_sqlite:!exists($${EPOCROOT}epoc32/release/armv5/lib/sqlite3.dso) { - BLD_INF_RULES.prj_exports += ":zip SQLite3_v9.2.zip" + # Symbian exports do not like drive letter, so remove it from the source dir + SQLITE_SRC_DIR = $$relativeProPath() + BLD_INF_RULES.prj_exports += ":zip $$SQLITE_SRC_DIR/SQLite3_v9.2.zip" } } diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro index a43c3df..c2b462c 100755 --- a/src/s60installs/s60installs.pro +++ b/src/s60installs/s60installs.pro @@ -27,13 +27,16 @@ symbian: { $$QMAKE_LIBDIR_QT/QtTest$${QT_LIBINFIX}.dll \ $$QMAKE_LIBDIR_QT/QtSql$${QT_LIBINFIX}.dll + # Symbian exports do not like absolute paths, so generate a relative path to original .pro file dir + S60_INSTALLS_SOURCE_DIR = $$relativeProPath() + symbian-abld|symbian-sbsv2 { pluginLocations = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET) bearerPluginLocation = $${EPOCROOT}epoc32/release/$(PLATFORM)/$(TARGET) bearerStubZ = $${EPOCROOT}$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin BLD_INF_RULES.prj_exports += \ - "qsymbianbearer.qtplugin /$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" \ - "qsymbianbearer.qtplugin /epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" + "$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /$${HW_ZDIR}$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" \ + "$$S60_INSTALLS_SOURCE_DIR/qsymbianbearer.qtplugin /epoc32/winscw/c$${QT_PLUGINS_BASE_DIR}/bearer/qsymbianbearer$${QT_LIBINFIX}.qtplugin" } else { pluginLocations = $$QT_BUILD_TREE/plugins/s60 bearerPluginLocation = $$QT_BUILD_TREE/plugins/bearer @@ -171,5 +174,5 @@ symbian: { qtlibraries.files += $$QMAKE_LIBDIR_QT/QtMultimedia$${QT_LIBINFIX}.dll } - BLD_INF_RULES.prj_exports += "qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)" + BLD_INF_RULES.prj_exports += "$$S60_INSTALLS_SOURCE_DIR/qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)" } -- cgit v0.12 From 2485dea76dc36acb8fa9a5506ee66971ed89ff10 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 24 Aug 2011 16:04:57 +0300 Subject: Fix incorrect Symbian version check. This check is unnecessary and doesn't work post-Symbian3 SDKs. Reviewed-by: Sami Merila --- mkspecs/features/qt_functions.prf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 5baf7ce..9271de5 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -48,9 +48,7 @@ defineTest(qtAddLibrary) { symbian { isEqual(LIB_NAME, QtCore) { #workaround for dependency from f32file.h on e32svr.h which has moved location in symbian3 - contains(SYMBIAN_VERSION, Symbian3) { - INCLUDEPATH *= $$OS_LAYER_SYSTEMINCLUDE - } + INCLUDEPATH *= $$OS_LAYER_SYSTEMINCLUDE } else:isEqual(LIB_NAME, QtGui) { # Needed for #include because qs60mainapplication.h includes aknapp.h INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE -- cgit v0.12 From cf5286eca4b8d35ca1f8344ebbdd88c1511705c3 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 26 Aug 2011 10:20:41 +0200 Subject: QPA event loop: Set a timeout != 0 if there are no timers. Leaving it at 0 leads to event checking with 100% CPU even though we know that there are no events. Acknowledged-by: jlind --- src/gui/kernel/qeventdispatcher_qpa.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qeventdispatcher_qpa.cpp b/src/gui/kernel/qeventdispatcher_qpa.cpp index 200696d..3f2e8b2 100644 --- a/src/gui/kernel/qeventdispatcher_qpa.cpp +++ b/src/gui/kernel/qeventdispatcher_qpa.cpp @@ -284,7 +284,7 @@ int QEventDispatcherQPA::select(int nfds, fd_set *readfds, fd_set *writefds, fd_ Q_D(QEventDispatcherQPA); int retVal = 0; if (d->hasIntegration()) { - qint64 timeoutmsec = 0; + qint64 timeoutmsec = 1000; // wait a second if we don't have timers if (timeout) timeoutmsec = timeout->tv_sec * 1000 + (timeout->tv_usec/1000); d->selectReturnMutex->lock(); -- cgit v0.12 From 8f7535c3939e78f0c397d32945b577a98c234980 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Mon, 29 Aug 2011 13:24:53 +0300 Subject: Fix pointer event mapping when windows are fixed to native orientation When the "fix native orientation" feature is enabled via WA_SymbianNoSystemRotation, QSymbianControl has to do an extra mapping for all pointer events because in this special mode the RWindow and thus the CCoeControl will "rotate" (i.e. will change their dimensions according to the orientation of the device), however the EGL window surface and the QWidget will remain locked to the native orientation of the device (typically portrait). This means that the pointer events will correspond to the current orientation of the device, which is not what Qt wants: typically a graphics view or similar will perform the transformation of the input events too, and therefore passing already-transformed events is wrong (as it would result in double transformation). To solve this, all pointer event coordinates are mapped back to the native orientation. This had a problem however: It only took the traditional portrait and landscape modes into account. When there are two landscape modes (i.e. rotations of both 90 and 270 degrees are supported), the mapping of pointer events generated wrong results in one of them because they treated them the same. The patch corrects this, so all three orientations will result in proper input behavior, even when NoSystemRotation is set. Task-number: QT-5236 Reviewed-by: Sami Merila --- src/gui/kernel/qapplication_s60.cpp | 15 +++++++++++---- src/gui/kernel/qt_s60_p.h | 27 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 5ac9803..58fd0a8 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -580,13 +580,20 @@ QPoint QSymbianControl::translatePointForFixedNativeOrientation(const TPoint &po { QPoint pos(pointerEventPos.iX, pointerEventPos.iY); if (qwidget->d_func()->fixNativeOrientationCalled) { - QSize wsize = qwidget->size(); - TSize size = Size(); + QSize wsize = qwidget->size(); // always same as the size in the native orientation + TSize size = Size(); // depends on the current orientation if (size.iWidth == wsize.height() && size.iHeight == wsize.width()) { qreal x = pos.x(); qreal y = pos.y(); - pos.setX(size.iHeight - y); - pos.setY(x); + if (S60->screenRotation == QS60Data::ScreenRotation90) { + // DisplayRightUp + pos.setX(size.iHeight - y); + pos.setY(x); + } else if (S60->screenRotation == QS60Data::ScreenRotation270) { + // DisplayLeftUp + pos.setX(y); + pos.setY(size.iWidth - x); + } } } return pos; diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 3ec4052..96b8141 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -77,6 +77,7 @@ #include // CAknContextPane #include // CEikStatusPane #include // MAknFadedComponent and TAknPopupFader +#include // EGraphicsOrientation constants #ifdef QT_SYMBIAN_HAVE_AKNTRANSEFFECT_H #include // BeginFullScreen #include // BeginFullScreen @@ -213,6 +214,14 @@ public: int nativeScreenWidthInPixels; int nativeScreenHeightInPixels; + enum ScreenRotation { + ScreenRotation0, // portrait (or the native orientation) + ScreenRotation90, // typically DisplayLeftUp landscape + ScreenRotation180, // not used + ScreenRotation270 // DisplayRightUp landscape when 3-way orientation is supported + }; + ScreenRotation screenRotation; + int beginFullScreenCalled : 1; int endFullScreenCalled : 1; }; @@ -384,6 +393,24 @@ inline void QS60Data::updateScreenSize() inches = S60->screenWidthInTwips / (TReal)KTwipsPerInch; S60->defaultDpiX = S60->screenWidthInPixels / inches; + switch (params.iRotation) { + case CFbsBitGc::EGraphicsOrientationNormal: + S60->screenRotation = ScreenRotation0; + break; + case CFbsBitGc::EGraphicsOrientationRotated90: + S60->screenRotation = ScreenRotation90; + break; + case CFbsBitGc::EGraphicsOrientationRotated180: + S60->screenRotation = ScreenRotation180; + break; + case CFbsBitGc::EGraphicsOrientationRotated270: + S60->screenRotation = ScreenRotation270; + break; + default: + S60->screenRotation = ScreenRotation0; + break; + } + int screens = S60->screenCount(); for (int i = 0; i < screens; ++i) { CWsScreenDevice *dev = S60->screenDevice(i); -- cgit v0.12 From 7381c29d28261b64c8c953aae0041397658dc956 Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Mon, 16 May 2011 11:28:00 +0200 Subject: qdoc: Fixed QTBUG-19338 (cherry picked from commit 1ea0e706981006c48ad16a1ff8051df03610f20b) Reapplied after bad v4.7.4 merge --- tools/qdoc3/ditaxmlgenerator.cpp | 5 ++++- tools/qdoc3/generator.cpp | 11 +++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp index b801e1e..c49ff65 100644 --- a/tools/qdoc3/ditaxmlgenerator.cpp +++ b/tools/qdoc3/ditaxmlgenerator.cpp @@ -1199,7 +1199,10 @@ int DitaXmlGenerator::generateAtom(const Atom *atom, Just output the href as if the image is in the images directory... */ - fileName = QLatin1String("images/") + protectEnc(atom->string()); + if (atom->string()[0] == '/') + fileName = QLatin1String("images") + atom->string(); + else + fileName = QLatin1String("images/") + atom->string(); } if (currentTag() != DT_xref) diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index 3367301..6c92e54 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -783,10 +783,13 @@ QString Generator::imageFileName(const Node *relative, const QString& fileBase) if (filePath.isEmpty()) return QString(); - return QLatin1String("images/") - + Config::copyFile(relative->doc().location(), - filePath, userFriendlyFilePath, - outputDir() + QLatin1String("/images")); + QString path = Config::copyFile(relative->doc().location(), + filePath, + userFriendlyFilePath, + outputDir() + QLatin1String("/images")); + if (path[0] != '/') + return QLatin1String("images/") + path; + return QLatin1String("images") + path; } void Generator::setImageFileExtensions(const QStringList& extensions) -- cgit v0.12 From 8a551bcff806dddf696cb5f941e6f9aef5736c72 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 16 Jun 2011 16:10:38 +0200 Subject: Doc: Removed non-ASCII characters from the documentation. (cherry picked from commit 1bd6f1bd280ee6e1ecd4de2291c8ccfb4d06b7a4) Reapplied after bad v4.7.4 merge --- doc/src/platforms/supported-platforms.qdoc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/src/platforms/supported-platforms.qdoc b/doc/src/platforms/supported-platforms.qdoc index 9d47695..ba59c37 100644 --- a/doc/src/platforms/supported-platforms.qdoc +++ b/doc/src/platforms/supported-platforms.qdoc @@ -334,8 +334,8 @@ \section2 Advanced Text Layout Engine - Qt for Windows CE supports TrueType® and raster fonts. Qt also has - extended Unicode support and right-to-left languages. Qt’s rich text + Qt for Windows CE supports TrueType and raster fonts. Qt also has + extended Unicode support and right-to-left languages. Qt's rich text engine adds capabilities for complex text layouts including tables, path tracing and text which flows around shapes. @@ -373,7 +373,7 @@ by embedded Linux. You can use Qt to create highly memory efficient devices and applications that have completely unique user experiences. - Qt runs anywhere Linux runs. Qt’s intuitive API means fewer lines of + Qt runs anywhere Linux runs. Qt's intuitive API means fewer lines of code and higher level functionality in less time. Use the code from one single code-base and rebuild for all \l{Supported Platforms} {supported platforms}. @@ -410,7 +410,7 @@ frame buffer} that will match the physical device display, pixel for pixel. This gives the developer a realistic testing infrastructure testing on the desktop where the frame buffer simulates the physical - device display’s width, height and color depth. + device display's width, height and color depth. \section2 Inter-Process Communication (IPC) @@ -421,7 +421,7 @@ \section2 Extended Font Format Qt supports a wide range of font formats on embedded Linux including: - TrueType®, Postscript® Type1 and Qt pre-rendered fonts. Qt has + TrueType, Postscript Type1 and Qt pre-rendered fonts. Qt has extended Unicode support including automatic data extraction at build time and automatic update at runtime. @@ -681,7 +681,7 @@ \group platform-details Qt is a cross-platform application and UI framework. Using Qt, - you can write web-enabled applications once and deploy them + you can write GUI applications once and deploy them across desktop, mobile and embedded operating systems without rewriting the source code. -- cgit v0.12 From 5f1a48fc755fc8506db816536ea7f0fd08dde85d Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 16 Jun 2011 20:20:50 +0200 Subject: Doc: Added more appropriate links to help reduce confusion. Task-number: QTBUG-19919 (cherry picked from commit 26c29a2dd7efa4c66063d1255e1f694462cbae85) Reapplied after bad v4.7.4 merge --- src/gui/widgets/qtextedit.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp index 6757d77..b6661c9 100644 --- a/src/gui/widgets/qtextedit.cpp +++ b/src/gui/widgets/qtextedit.cpp @@ -2472,6 +2472,8 @@ bool QTextEdit::find(const QString &exp, QTextDocument::FindFlags options) and the text edit will try to guess the right format. Use setHtml() or setPlainText() directly to avoid text edit's guessing. + + \sa toPlainText(), toHtml() */ void QTextEdit::setText(const QString &text) { -- cgit v0.12 From b343191c421740c6b328a49619842ed8a39cfdda Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 16 Jun 2011 20:24:11 +0200 Subject: Doc: Added a simple introduction to Qt and fixed links. (cherry picked from commit 9ed61311bce15b8f1bb4b30ee9133f1a2355f41d) Reapplied after bad v4.7.4 merge --- doc/src/declarative/declarativeui.qdoc | 2 +- doc/src/declarative/qtquick-intro.qdoc | 2 +- doc/src/index.qdoc | 4 +- doc/src/qt-features.qdoc | 204 +++++++++++++++++++++++++++++++++ doc/src/qt4-intro.qdoc | 2 +- 5 files changed, 209 insertions(+), 5 deletions(-) create mode 100644 doc/src/qt-features.qdoc diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc index 56ab29f..d1d82d8 100644 --- a/doc/src/declarative/declarativeui.qdoc +++ b/doc/src/declarative/declarativeui.qdoc @@ -46,7 +46,7 @@ Qt applications. \section1 Getting Started \list -\o \l{Intro to Qt Quick}{Introduction to Qt Quick} +\o \l{Introduction to Qt Quick} \o \l{QML for Qt Programmers}{QML Programming for Qt Programmers} \o \l{Getting Started Programming with QML} diff --git a/doc/src/declarative/qtquick-intro.qdoc b/doc/src/declarative/qtquick-intro.qdoc index bdad2c3..4cd5db3 100644 --- a/doc/src/declarative/qtquick-intro.qdoc +++ b/doc/src/declarative/qtquick-intro.qdoc @@ -27,7 +27,7 @@ /*! \page qml-intro.html -\title Intro to Qt Quick +\title Introduction to Qt Quick Qt Quick is a collection of technologies that are designed to help developers create the kind of intuitive, modern, and fluid user interfaces that are diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc index 979c654..2ce6781 100644 --- a/doc/src/index.qdoc +++ b/doc/src/index.qdoc @@ -36,8 +36,8 @@ What is Qt \enddiv \list - \o \l{Qt Whitepaper}{Qt C++ Framework} - \o \l{Intro to Qt Quick}{Qt Quick} + \o \l{Qt Features Overview} + \o \l{Introduction to Qt Quick}{Qt Quick} \o \l{external: Qt Mobility Manual}{Qt Mobility} \o \l{Qt WebKit} \endlist diff --git a/doc/src/qt-features.qdoc b/doc/src/qt-features.qdoc new file mode 100644 index 0000000..0ae00b0 --- /dev/null +++ b/doc/src/qt-features.qdoc @@ -0,0 +1,204 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms +** and conditions contained in a signed written agreement between you +** and Nokia. +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \page qt-overview.html + \title Qt Features Overview + + This document provides a summary of the most important features of Qt, + providing links to other pages in the documentation that cover these + features in more detail. It is not intended to be a comprehensive + guide to Qt's features. + + \section1 Fundamental Technologies in Qt + + Qt is built upon a set of core technologies, provided by the \l QtCore + and \l QtGui modules. These include the following: + + \list + \o \l{The Tulip Container Classes}, a set of template container classes. + \o \l{The Arthur Paint System}, the Qt 4 painting framework. + \o \l{The Interview Framework}, a model/view architecture for item views + and the \l{QtSQL Module}, which also uses this architecture. + \o \l{The Scribe Classes}, a framework for creating text documents, + performing low-level text layout and writing OpenDocument files. + \o A collection of \l{Qt Widget Gallery}{common desktop widgets}, styled + to fit in on each supported platform. + \o \l{The Qt 4 Main Window Classes}, a main window, toolbar, menu, and + docking architecture. + \o The \l{Graphics View} framework provides a canvas for producing + interactive graphics. + \o The \l{QtNetwork Module} provides support for TCP, UDP and local + sockets that are integrated with Qt's event model, including support + for Secure Socket Layer (SSL) communications, + \l{QNetworkProxy}{network proxy} servers and + \l{Bearer Management}{network bearer management}. + \o Enhanced \l{qt4-threads.html}{thread support} allows + \l{Signals & Slots}{signal-slot} connections across threads and + per-thread event loops. + Additionally, \l{Thread Support in Qt}{a framework for concurrent programming} + using Qt paradigms makes common threading tasks easier. + \o A \l{resource system} for embedding images and other resource files + into executable files makes it easier to deploy applications. + \o A \l{QTestLib Manual}{unit testing framework} for Qt applications and + libraries. + \endlist + + The mature classes provided by these technologies have been used to build + robust, cross-platform desktop applications. They are augmented by a number + of additional technologies and improvements that have appeared over the + lifetime of Qt 4. + + \section1 Graphical User Interfaces + + \div{class="float-right"} + \inlineimage gtk-tabwidget.png + \enddiv + \div{class="float-right"} + \inlineimage gtk-progressbar.png + \br + \inlineimage gtk-checkbox.png + \br + \inlineimage plastique-combobox.png + \br + \inlineimage plastique-radiobutton.png + \enddiv + + Alongside the support for traditional desktop user interfaces, Qt includes + support for declarative UI development with \l{Qt Quick}, a set of + technologies for creating fluid, dynamic user interfaces. A starting point + for exploring this approach can be found in the \l{Introduction to Qt Quick} + guide. + + Qt provides a range of standard user interface elements, called widgets, + for each supported platform. Widgets can be used as containers for other + widgets, as windows, and as regular controls that the user interacts with. + Where the platform supports it, widgets can be made to appear partially + transparent, and may be styled with \l{Qt Style Sheets}. + + Support for \l{QTouchEvent}{touch input} and \l{Gestures Programming}{gestures} + enable widgets to be used to create intuitive user interfaces for + touch-enabled devices. + + User interfaces can also be created dynamically at run-time with the + features provided by the \l{QtUiTools} module. + + A selection of available widgets are shown in the \l{Qt Widget Gallery}. + An introduction to the concepts behind widgets can be found in the + \l{Widgets Tutorial}. + + \clearfloat + \section1 Painting, Printing and Rendering + + \div{class="float-left"} + \inlineimage qpainter-affinetransformations.png + \enddiv + + Widgets are just one of many kinds of paint device that Qt can render onto. + This support for unified painting makes it possible for applications to use + the same painting code for different tasks, as well as allowing Qt to be + extended to support additional file formats. + + Qt provides support for common bitmap image formats, + \l{QtSvg Module}{Scalable Vector Graphics} (SVG) drawings and animations, + Postscript and Portable Document Format (PDF) files. Postscript and PDF are + integrated with \l{Printing with Qt}{Qt's printing system}, which also + allows printed output to be previewed. + + Interactive graphics can be created with the + \l{The Animation Framework}{animation framework}, allowing animations to be + used with both widgets and graphics items. Animations can be used with the + \l{The State Machine Framework}{state machine framework}, which provides a + way to express application logic and integrate it with the user interface. + Animations can be enhanced with a collection of + \l{QGraphicsEffect}{graphics effects} that operate on graphics items and + can be applied individually or combined to create more complex effects. + + Qt supports integration with \l{QtOpenGL}{OpenGL} on a number of levels, + providing convenience functions for handling textures and colors, as well + as providing support for pixel and sample buffers. Future support for + higher level 3D integration is provided by Qt3D enablers which include + \l{QMatrix4x4}{matrix multiplication}, \l{QQuaternion}{quaternions}, and an + API for \l{QGLShader}{vertex and fragment shaders}. + + Two APIs are provided for multimedia. The + \l{Phonon Overview}{Phonon Multimedia Framework} has traditionally been + used on desktop platforms. A set of + \l{QtMultimedia Module}{multimedia services} provides low-level access to + the system's audio system and is often used on mobile devices. + + \clearfloat + \section1 Infrastructure + + \div{class="float-right"} + \inlineimage qtscript-context2d.png + \enddiv + + Facilities for Inter-Process Communication (IPC) and Remote Procedure + Calling (RPC) mechanisms are available on platforms that support the + \l{intro-to-dbus.html}{D-Bus} message bus system. + + An \l{Undo Framework}{Undo framework} based on the + \l{Books about GUI Design#Design Patterns}{Command pattern} is designed to + enable a consistent approach to handling data in editing applications. + + The \l{QtScript} and \l{QtScriptTools} modules provide support for + application scripting and debugging using the ECMAScript language. + + The \l{QtHelp Module} provides the foundations of an interactive help + system that can be used in conjunction with Qt Creator or integrated into + applications directly. + + XML handling is supported in a number of places in Qt. The \l QtCore module + provides classes for reading and writing XML streams. The \l QtXmlPatterns + module includes XQuery, XPath and XSLT support, providing facilities for + XML processing beyond that supported by the QtXml module, which contains + SAX and DOM parsers. XML schema validation in the QtXmlPatterns module + covers large parts of version 1.0 of the specification. + + \clearfloat + \section1 Web Client Integration + + Integration between \l{Webkit in Qt}{Qt and WebKit} makes it possible for + developers to use a fully-featured Web browser engine to display documents + and access online services. Developers can access the browser's environment + to create documents and run scripts within one or more browser widgets. + + A \l{QWebElement}{DOM access API} for QtWebKit provides a cleaner and safer + way to access elements and structures of Web pages without the use of + JavaScript. + + \section1 Further Reading + + Many of the technologies mentioned here, as well as other, more specific + features, are listed in the \l{What's New in Qt 4} document. A complete + list of Qt's modules can be found on the \l{All Modules} page, which + also includes more domain-specific technologies. + + The tools that are supplied with Qt are covered by the listing in the + \l{Qt's Tools} document. +*/ diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index 41d8b2e..d75bdca 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -132,7 +132,7 @@ In Qt 4.4: \list - \o \l{Webkit in QT}{Qt WebKit integration}, making it possible for developers + \o \l{WebKit in Qt}{Qt WebKit integration}, making it possible for developers to use a fully-featured Web browser to display documents and access online services. \o A multimedia API provided by the \l{Phonon Overview}{Phonon Multimedia Framework}. -- cgit v0.12 From 988aa8c2263b7de6aa20c9fa9c351e074d94fdb4 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 30 Jun 2011 19:08:43 +0200 Subject: Modified \since command behavior slightly to handle project and version. (The since argument can contain a project name and version, defaulting to the qdoc project if only a version number is specified.) Refactored common code into the Generator class. Fixed \sincelist HTML generation for tables containing only one item. (cherry picked from commit 6a2f18140bbc41207eb2f5e2323b699600d89606) Reapplied after bad v4.7.4 merge --- tools/qdoc3/ditaxmlgenerator.cpp | 83 ----------------------- tools/qdoc3/ditaxmlgenerator.h | 11 --- tools/qdoc3/doc.cpp | 2 +- tools/qdoc3/generator.cpp | 142 +++++++++++++++++++++++++++++++++++++-- tools/qdoc3/generator.h | 12 ++++ tools/qdoc3/htmlgenerator.cpp | 103 +++++----------------------- tools/qdoc3/htmlgenerator.h | 11 --- tools/qdoc3/node.cpp | 10 +++ tools/qdoc3/node.h | 2 +- 9 files changed, 174 insertions(+), 202 deletions(-) diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp index c49ff65..64f12d6 100644 --- a/tools/qdoc3/ditaxmlgenerator.cpp +++ b/tools/qdoc3/ditaxmlgenerator.cpp @@ -62,25 +62,6 @@ QT_BEGIN_NAMESPACE #define COMMAND_VERSION Doc::alias("version") int DitaXmlGenerator::id = 0; -QString DitaXmlGenerator::sinceTitles[] = - { - " New Namespaces", - " New Classes", - " New Member Functions", - " New Functions in Namespaces", - " New Global Functions", - " New Macros", - " New Enum Types", - " New Typedefs", - " New Properties", - " New Variables", - " New QML Elements", - " New Qml Properties", - " New Qml Signals", - " New Qml Methods", - "" - }; - /* The strings in this array must appear in the same order as the values in enum DitaXmlGenerator::DitaTag. @@ -3955,70 +3936,6 @@ void DitaXmlGenerator::findAllClasses(const InnerNode* node) } } -/*! - For generating the "New Classes... in 4.x" section on the - What's New in 4.x" page. - */ -void DitaXmlGenerator::findAllSince(const InnerNode* node) -{ - NodeList::const_iterator child = node->childNodes().constBegin(); - while (child != node->childNodes().constEnd()) { - QString sinceVersion = (*child)->since(); - if (((*child)->access() != Node::Private) && !sinceVersion.isEmpty()) { - NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceVersion); - if (nsmap == newSinceMaps.end()) - nsmap = newSinceMaps.insert(sinceVersion,NodeMultiMap()); - NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion); - if (ncmap == newClassMaps.end()) - ncmap = newClassMaps.insert(sinceVersion,NodeMap()); - NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceVersion); - if (nqcmap == newQmlClassMaps.end()) - nqcmap = newQmlClassMaps.insert(sinceVersion,NodeMap()); - - if ((*child)->type() == Node::Function) { - FunctionNode *func = static_cast(*child); - if ((func->status() > Node::Obsolete) && - (func->metaness() != FunctionNode::Ctor) && - (func->metaness() != FunctionNode::Dtor)) { - nsmap.value().insert(func->name(),(*child)); - } - } - else if ((*child)->url().isEmpty()) { - if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - ncmap.value().insert(className,(*child)); - } - else if ((*child)->subType() == Node::QmlClass) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - nqcmap.value().insert(className,(*child)); - } - } - else { - QString name = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - name = (*child)->parent()->name()+"::"+name; - nsmap.value().insert(name,(*child)); - } - if ((*child)->isInnerNode()) { - findAllSince(static_cast(*child)); - } - } - ++child; - } -} - void DitaXmlGenerator::findAllFunctions(const InnerNode* node) { NodeList::ConstIterator c = node->childNodes().begin(); diff --git a/tools/qdoc3/ditaxmlgenerator.h b/tools/qdoc3/ditaxmlgenerator.h index 408f46c..d8d3563 100644 --- a/tools/qdoc3/ditaxmlgenerator.h +++ b/tools/qdoc3/ditaxmlgenerator.h @@ -51,12 +51,6 @@ QT_BEGIN_NAMESPACE -typedef QMultiMap NodeMultiMap; -typedef QMap NewSinceMaps; -typedef QMap ParentMaps; -typedef QMap NodeMap; -typedef QMap NewClassMaps; - typedef QMap GuidMap; typedef QMap GuidMaps; @@ -418,7 +412,6 @@ class DitaXmlGenerator : public PageGenerator void findAllFunctions(const InnerNode *node); void findAllLegaleseTexts(const InnerNode *node); void findAllNamespaces(const InnerNode *node); - void findAllSince(const InnerNode *node); static int hOffset(const Node *node); static bool isThreeColumnEnumValueTable(const Atom *atom); virtual QString getLink(const Atom *atom, @@ -515,10 +508,6 @@ class DitaXmlGenerator : public PageGenerator #endif QMap funcIndex; QMap legaleseTexts; - NewSinceMaps newSinceMaps; - static QString sinceTitles[]; - NewClassMaps newClassMaps; - NewClassMaps newQmlClassMaps; static int id; static QString ditaTags[]; QStack xmlWriterStack; diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp index 479931d..37f68f8 100644 --- a/tools/qdoc3/doc.cpp +++ b/tools/qdoc3/doc.cpp @@ -828,7 +828,7 @@ void DocParser::parse(const QString& source, append(Atom::AnnotatedList, getArgument()); break; case CMD_SINCELIST: - append(Atom::SinceList, getArgument()); + append(Atom::SinceList, getRestOfLine().simplified()); break; case CMD_GENERATELIST: append(Atom::GeneratedList, getArgument()); diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index 6c92e54..355c9b2 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -77,6 +77,25 @@ QString Generator::outDir; QString Generator::project; QHash Generator::outputPrefixes; +QString Generator::sinceTitles[] = + { + " New Namespaces", + " New Classes", + " New Member Functions", + " New Functions in Namespaces", + " New Global Functions", + " New Macros", + " New Enum Types", + " New Typedefs", + " New Properties", + " New Variables", + " New QML Elements", + " New QML Properties", + " New QML Signals", + " New QML Methods", + "" + }; + static void singularPlural(Text& text, const NodeList& nodes) { if (nodes.count() == 1) @@ -760,8 +779,18 @@ QString Generator::typeString(const Node *node) case Node::Class: return "class"; case Node::Fake: - default: - return "documentation"; + { + switch (node->subType()) { + case Node::QmlClass: + return "element"; + case Node::QmlPropertyGroup: + return "property group"; + case Node::QmlBasicType: + return "type"; + default: + return "documentation"; + } + } case Node::Enum: return "enum"; case Node::Typedef: @@ -770,6 +799,8 @@ QString Generator::typeString(const Node *node) return "function"; case Node::Property: return "property"; + default: + return "documentation"; } } @@ -1094,11 +1125,21 @@ void Generator::generateSince(const Node *node, CodeMarker *marker) text << " was introduced or modified in "; else text << " was introduced in "; - if (project.isEmpty()) - text << "version"; - else - text << project; - text << " " << node->since() << "." << Atom::ParaRight; + + QStringList since = node->since().split(" "); + if (since.count() == 1) { + // Handle legacy use of \since . + if (project.isEmpty()) + text << "version"; + else + text << project; + text << " " << since[0]; + } else { + // Reconstruct the string. + text << " " << since.join(" "); + } + + text << "." << Atom::ParaRight; generateText(text, node, marker); } } @@ -1349,4 +1390,91 @@ QStringList Generator::getMetadataElements(const InnerNode* inner, const QString return s; } +/*! + For generating the "New Classes... in 4.6" section on the + What's New in 4.6" page. + */ +void Generator::findAllSince(const InnerNode *node) +{ + NodeList::const_iterator child = node->childNodes().constBegin(); + + // Traverse the tree, starting at the node supplied. + + while (child != node->childNodes().constEnd()) { + + QString sinceString = (*child)->since(); + + if (((*child)->access() != Node::Private) && !sinceString.isEmpty()) { + + // Insert a new entry into each map for each new since string found. + NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceString); + if (nsmap == newSinceMaps.end()) + nsmap = newSinceMaps.insert(sinceString,NodeMultiMap()); + + NewClassMaps::iterator ncmap = newClassMaps.find(sinceString); + if (ncmap == newClassMaps.end()) + ncmap = newClassMaps.insert(sinceString,NodeMap()); + + NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceString); + if (nqcmap == newQmlClassMaps.end()) + nqcmap = newQmlClassMaps.insert(sinceString,NodeMap()); + + if ((*child)->type() == Node::Function) { + // Insert functions into the general since map. + FunctionNode *func = static_cast(*child); + if ((func->status() > Node::Obsolete) && + (func->metaness() != FunctionNode::Ctor) && + (func->metaness() != FunctionNode::Dtor)) { + nsmap.value().insert(func->name(),(*child)); + } + } + else if ((*child)->url().isEmpty()) { + if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { + // Insert classes into the since and class maps. + QString className = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + className = (*child)->parent()->name()+"::"+className; + + nsmap.value().insert(className,(*child)); + ncmap.value().insert(className,(*child)); + } + else if ((*child)->subType() == Node::QmlClass) { + // Insert QML elements into the since and element maps. + QString className = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + className = (*child)->parent()->name()+"::"+className; + + nsmap.value().insert(className,(*child)); + nqcmap.value().insert(className,(*child)); + } + else if ((*child)->type() == Node::QmlProperty) { + // Insert QML properties into the since map. + QString propertyName = (*child)->name(); + nsmap.value().insert(propertyName,(*child)); + } + } + else { + // Insert external documents into the general since map. + QString name = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + name = (*child)->parent()->name()+"::"+name; + + nsmap.value().insert(name,(*child)); + } + + // Find child nodes with since commands. + if ((*child)->isInnerNode()) { + findAllSince(static_cast(*child)); + } + } + ++child; + } +} + QT_END_NAMESPACE diff --git a/tools/qdoc3/generator.h b/tools/qdoc3/generator.h index e5e9747..e66915b 100644 --- a/tools/qdoc3/generator.h +++ b/tools/qdoc3/generator.h @@ -57,6 +57,12 @@ QT_BEGIN_NAMESPACE +typedef QMap NodeMap; +typedef QMultiMap NodeMultiMap; +typedef QMap NewSinceMaps; +typedef QMap ParentMaps; +typedef QMap NewClassMaps; + class ClassNode; class Config; class CodeMarker; @@ -152,6 +158,7 @@ class Generator QString getMetadataElement(const InnerNode* inner, const QString& t); QStringList getMetadataElements(const InnerNode* inner, const QString& t); + void findAllSince(const InnerNode *node); private: void generateReimplementedFrom(const FunctionNode *func, @@ -180,6 +187,11 @@ class Generator const NodeList& subs, CodeMarker *marker); + static QString sinceTitles[]; + NewSinceMaps newSinceMaps; + NewClassMaps newClassMaps; + NewClassMaps newQmlClassMaps; + private: QString amp; QString lt; diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index 52da178..655c3b4 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -66,25 +66,6 @@ bool HtmlGenerator::debugging_on = false; QString HtmlGenerator::divNavTop = ""; -QString HtmlGenerator::sinceTitles[] = - { - " New Namespaces", - " New Classes", - " New Member Functions", - " New Functions in Namespaces", - " New Global Functions", - " New Macros", - " New Enum Types", - " New Typedefs", - " New Properties", - " New Variables", - " New QML Elements", - " New QML Properties", - " New QML Signals", - " New QML Methods", - "" - }; - static bool showBrokenLinks = false; static QRegExp linkTag("(<@link node=\"([^\"]+)\">).*()"); @@ -606,14 +587,18 @@ int HtmlGenerator::generateAtom(const Atom *atom, ncmap = newClassMaps.find(atom->string()); NewClassMaps::const_iterator nqcmap; nqcmap = newQmlClassMaps.find(atom->string()); + if ((nsmap != newSinceMaps.constEnd()) && !nsmap.value().isEmpty()) { QList
sections; QList
::ConstIterator s; + for (int i=0; itype()) { case Node::Fake: @@ -1346,6 +1331,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) // Generate brief text and status for modules. generateBrief(fake, marker); generateStatus(fake, marker); + generateSince(fake, marker); if (moduleNamespaceMap.contains(fake->name())) { out() << "" << divNavTop << "\n"; @@ -1362,6 +1348,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) // Generate brief text and status for modules. generateBrief(fake, marker); generateStatus(fake, marker); + generateSince(fake, marker); out() << "
    \n"; @@ -1393,6 +1380,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) generateQmlInherits(qml_cn, marker); generateQmlInheritedBy(qml_cn, marker); generateQmlInstantiates(qml_cn, marker); + generateSince(qml_cn, marker); QString allQmlMembersLink = generateAllQmlMembersFile(qml_cn, marker); if (!allQmlMembersLink.isEmpty()) { @@ -2242,9 +2230,6 @@ void HtmlGenerator::generateCompactList(const Node *relative, for (int i=0; i element to contain all the
    elements. */ out() << "
    \n"; + numTableRows = 0; + + int curParNr = 0; + int curParOffset = 0; - for (int i=0; i\n"; curParOffset++; } - out() << "
    \n"; + if (classMap.count() > 0) + out() << "\n"; + out() << "\n"; } @@ -3357,70 +3348,6 @@ void HtmlGenerator::findAllClasses(const InnerNode *node) } } -/*! - For generating the "New Classes... in 4.6" section on the - What's New in 4.6" page. - */ -void HtmlGenerator::findAllSince(const InnerNode *node) -{ - NodeList::const_iterator child = node->childNodes().constBegin(); - while (child != node->childNodes().constEnd()) { - QString sinceVersion = (*child)->since(); - if (((*child)->access() != Node::Private) && !sinceVersion.isEmpty()) { - NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceVersion); - if (nsmap == newSinceMaps.end()) - nsmap = newSinceMaps.insert(sinceVersion,NodeMultiMap()); - NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion); - if (ncmap == newClassMaps.end()) - ncmap = newClassMaps.insert(sinceVersion,NodeMap()); - NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceVersion); - if (nqcmap == newQmlClassMaps.end()) - nqcmap = newQmlClassMaps.insert(sinceVersion,NodeMap()); - - if ((*child)->type() == Node::Function) { - FunctionNode *func = static_cast(*child); - if ((func->status() > Node::Obsolete) && - (func->metaness() != FunctionNode::Ctor) && - (func->metaness() != FunctionNode::Dtor)) { - nsmap.value().insert(func->name(),(*child)); - } - } - else if ((*child)->url().isEmpty()) { - if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - ncmap.value().insert(className,(*child)); - } - else if ((*child)->subType() == Node::QmlClass) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - nqcmap.value().insert(className,(*child)); - } - } - else { - QString name = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - name = (*child)->parent()->name()+"::"+name; - nsmap.value().insert(name,(*child)); - } - if ((*child)->isInnerNode()) { - findAllSince(static_cast(*child)); - } - } - ++child; - } -} - void HtmlGenerator::findAllFunctions(const InnerNode *node) { NodeList::ConstIterator c = node->childNodes().begin(); diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index 70ec0b7..e36c562 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -56,12 +56,6 @@ QT_BEGIN_NAMESPACE -typedef QMultiMap NodeMultiMap; -typedef QMap NewSinceMaps; -typedef QMap ParentMaps; -typedef QMap NodeMap; -typedef QMap NewClassMaps; - class HelpProjectWriter; class HtmlGenerator : public PageGenerator @@ -224,7 +218,6 @@ class HtmlGenerator : public PageGenerator void findAllFunctions(const InnerNode *node); void findAllLegaleseTexts(const InnerNode *node); void findAllNamespaces(const InnerNode *node); - void findAllSince(const InnerNode *node); static int hOffset(const Node *node); static bool isThreeColumnEnumValueTable(const Atom *atom); virtual QString getLink(const Atom *atom, @@ -292,10 +285,6 @@ class HtmlGenerator : public PageGenerator NodeMap qmlClasses; QMap funcIndex; QMap legaleseTexts; - NewSinceMaps newSinceMaps; - static QString sinceTitles[]; - NewClassMaps newClassMaps; - NewClassMaps newQmlClassMaps; static int id; public: static bool debugging_on; diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index 56d76d3..189c28f 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -157,6 +157,16 @@ void Node::setLink(LinkType linkType, const QString &link, const QString &desc) } /*! + Sets the information about the project and version a node was introduced + in. The string is simplified, removing excess whitespace before being + stored. +*/ +void Node::setSince(const QString &since) +{ + sinc = since.simplified(); +} + +/*! Returns a string representing the access specifier. */ QString Node::accessString() const diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h index e1e9440..cb16bea 100644 --- a/tools/qdoc3/node.h +++ b/tools/qdoc3/node.h @@ -151,7 +151,7 @@ class Node void setDoc(const Doc& doc, bool replace = false); void setStatus(Status status) { sta = status; } void setThreadSafeness(ThreadSafeness safeness) { saf = safeness; } - void setSince(const QString &since) { sinc = since; } + void setSince(const QString &since); void setRelates(InnerNode* pseudoParent); void setModuleName(const QString &module) { mod = module; } void setLink(LinkType linkType, const QString &link, const QString &desc); -- cgit v0.12 From f0fd0eacc4d4a0db8c8b1124a53edb767d07f9cf Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 30 Jun 2011 19:13:55 +0200 Subject: Doc: Removed whitespace. (cherry picked from commit 01b3f508d1f7e9951baf60f487feadfa98ba4751) Reapplied after bad v4.7.4 merge --- doc/src/qt4-intro.qdoc | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/qt4-intro.qdoc b/doc/src/qt4-intro.qdoc index d75bdca..1547a7c 100644 --- a/doc/src/qt4-intro.qdoc +++ b/doc/src/qt4-intro.qdoc @@ -610,7 +610,6 @@ introduced in Qt 4.7. \sincelist 4.7 - */ /*! -- cgit v0.12 From 1730f02496011cd23241803d34136786348ddae2 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 30 Jun 2011 19:14:30 +0200 Subject: Doc: Standardized on QtQuick for \since declarations. (cherry picked from commit 609dc22f719ecb8d48349fd56f84960bbf46d731) Reapplied after bad v4.7.4 merge --- src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp | 4 ++-- src/declarative/graphicsitems/qdeclarativeborderimage.cpp | 4 ++-- src/declarative/graphicsitems/qdeclarativeflickable.cpp | 4 ++-- src/declarative/graphicsitems/qdeclarativegridview.cpp | 2 +- src/declarative/graphicsitems/qdeclarativeimage.cpp | 4 ++-- src/declarative/graphicsitems/qdeclarativeitem.cpp | 2 +- src/declarative/graphicsitems/qdeclarativelistview.cpp | 2 +- src/declarative/graphicsitems/qdeclarativemousearea.cpp | 2 +- src/declarative/graphicsitems/qdeclarativepositioners.cpp | 6 +++--- src/declarative/graphicsitems/qdeclarativerepeater.cpp | 6 +++--- src/declarative/graphicsitems/qdeclarativetext.cpp | 8 ++++---- src/declarative/graphicsitems/qdeclarativetextedit.cpp | 10 +++++----- src/declarative/graphicsitems/qdeclarativetextinput.cpp | 8 ++++---- 13 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp index b7fcbb5..fb1bdf6 100644 --- a/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeanimatedimage.cpp @@ -88,7 +88,7 @@ QT_BEGIN_NAMESPACE /*! \qmlproperty bool AnimatedImage::cache - \since Quick 1.1 + \since QtQuick 1.1 Specifies whether the image should be cached. The default value is true. Setting \a cache to false is useful when dealing with large images, @@ -97,7 +97,7 @@ QT_BEGIN_NAMESPACE /*! \qmlproperty bool AnimatedImage::mirror - \since Quick 1.1 + \since QtQuick 1.1 This property holds whether the image should be horizontally inverted (effectively displaying a mirrored image). diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp index 836ad49..bd6405c 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp @@ -215,7 +215,7 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage() /*! \qmlproperty bool BorderImage::cache - \since Quick 1.1 + \since QtQuick 1.1 Specifies whether the image should be cached. The default value is true. Setting \a cache to false is useful when dealing with large images, @@ -224,7 +224,7 @@ QDeclarativeBorderImage::~QDeclarativeBorderImage() /*! \qmlproperty bool BorderImage::mirror - \since Quick 1.1 + \since QtQuick 1.1 This property holds whether the image should be horizontally inverted (effectively displaying a mirrored image). diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 0a98c01..474126d 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -1420,7 +1420,7 @@ void QDeclarativeFlickable::setContentHeight(qreal h) /*! \qmlmethod Flickable::resizeContent(real width, real height, QPointF center) \preliminary - \since Quick 1.1 + \since QtQuick 1.1 Resizes the content to \a width x \a height about \a center. @@ -1460,7 +1460,7 @@ void QDeclarativeFlickable::resizeContent(qreal w, qreal h, QPointF center) /*! \qmlmethod Flickable::returnToBounds() \preliminary - \since Quick 1.1 + \since QtQuick 1.1 Ensures the content is within legal bounds. diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 59e4cbb..20410ab 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -2615,7 +2615,7 @@ void QDeclarativeGridView::positionViewAtIndex(int index, int mode) /*! \qmlmethod GridView::positionViewAtBeginning() \qmlmethod GridView::positionViewAtEnd() - \since Quick 1.1 + \since QtQuick 1.1 Positions the view at the beginning or end, taking into account any header or footer. diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp index e6bb798..9b9d680 100644 --- a/src/declarative/graphicsitems/qdeclarativeimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp @@ -473,7 +473,7 @@ QRectF QDeclarativeImage::boundingRect() const /*! \qmlproperty bool Image::cache - \since Quick 1.1 + \since QtQuick 1.1 Specifies whether the image should be cached. The default value is true. Setting \a cache to false is useful when dealing with large images, @@ -482,7 +482,7 @@ QRectF QDeclarativeImage::boundingRect() const /*! \qmlproperty bool Image::mirror - \since Quick 1.1 + \since QtQuick 1.1 This property holds whether the image should be horizontally inverted (effectively displaying a mirrored image). diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp index ccf0de0..ee2d19d 100644 --- a/src/declarative/graphicsitems/qdeclarativeitem.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp @@ -3444,7 +3444,7 @@ qreal QDeclarativeItem::implicitHeight() const /*! \qmlproperty real Item::implicitWidth \qmlproperty real Item::implicitHeight - \since Quick 1.1 + \since QtQuick 1.1 Defines the natural width or height of the Item if no \l width or \l height is specified. diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 57b7dea..e75189c 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -3026,7 +3026,7 @@ void QDeclarativeListView::positionViewAtIndex(int index, int mode) /*! \qmlmethod ListView::positionViewAtBeginning() \qmlmethod ListView::positionViewAtEnd() - \since Quick 1.1 + \since QtQuick 1.1 Positions the view at the beginning or end, taking into account any header or footer. diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp index 18f008a..0e06a4c 100644 --- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp +++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp @@ -419,7 +419,7 @@ void QDeclarativeMouseArea::setEnabled(bool a) /*! \qmlproperty bool MouseArea::preventStealing - \since Quick 1.1 + \since QtQuick 1.1 This property holds whether the mouse events may be stolen from this MouseArea. diff --git a/src/declarative/graphicsitems/qdeclarativepositioners.cpp b/src/declarative/graphicsitems/qdeclarativepositioners.cpp index f3d1a68..483cad4 100644 --- a/src/declarative/graphicsitems/qdeclarativepositioners.cpp +++ b/src/declarative/graphicsitems/qdeclarativepositioners.cpp @@ -584,7 +584,7 @@ QDeclarativeRow::QDeclarativeRow(QDeclarativeItem *parent) /*! \qmlproperty enumeration Row::layoutDirection - \since Quick 1.1 + \since QtQuick 1.1 This property holds the layoutDirection of the row. @@ -878,7 +878,7 @@ void QDeclarativeGrid::setFlow(Flow flow) /*! \qmlproperty enumeration Grid::layoutDirection - \since Quick 1.1 + \since QtQuick 1.1 This property holds the layout direction of the layout. @@ -1236,7 +1236,7 @@ void QDeclarativeFlow::setFlow(Flow flow) /*! \qmlproperty enumeration Flow::layoutDirection - \since Quick 1.1 + \since QtQuick 1.1 This property holds the layout direction of the layout. diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp index 813c255..e881b96 100644 --- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp +++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp @@ -128,7 +128,7 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate() /*! \qmlsignal Repeater::onItemAdded(int index, Item item) - \since Quick 1.1 + \since QtQuick 1.1 This handler is called when an item is added to the repeater. The \a index parameter holds the index at which the item has been inserted within the @@ -137,7 +137,7 @@ QDeclarativeRepeaterPrivate::~QDeclarativeRepeaterPrivate() /*! \qmlsignal Repeater::onItemRemoved(int index, Item item) - \since Quick 1.1 + \since QtQuick 1.1 This handler is called when an item is removed from the repeater. The \a index parameter holds the index at which the item was removed from the repeater, @@ -306,7 +306,7 @@ int QDeclarativeRepeater::count() const /*! \qmlmethod Item Repeater::itemAt(index) - \since Quick 1.1 + \since QtQuick 1.1 Returns the \l Item that has been created at the given \a index, or \c null if no item exists at \a index. diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp index 91c12d2..6d1b15d 100644 --- a/src/declarative/graphicsitems/qdeclarativetext.cpp +++ b/src/declarative/graphicsitems/qdeclarativetext.cpp @@ -1213,7 +1213,7 @@ void QDeclarativeText::setWrapMode(WrapMode mode) /*! \qmlproperty int Text::lineCount - \since Quick 1.1 + \since QtQuick 1.1 Returns the number of lines visible in the text item. @@ -1229,7 +1229,7 @@ int QDeclarativeText::lineCount() const /*! \qmlproperty bool Text::truncated - \since Quick 1.1 + \since QtQuick 1.1 Returns true if the text has been truncated due to \l maximumLineCount or \l elide. @@ -1246,7 +1246,7 @@ bool QDeclarativeText::truncated() const /*! \qmlproperty int Text::maximumLineCount - \since Quick 1.1 + \since QtQuick 1.1 Set this property to limit the number of lines that the text item will show. If elide is set to Text.ElideRight, the text will be elided appropriately. @@ -1480,7 +1480,7 @@ qreal QDeclarativeText::paintedHeight() const /*! \qmlproperty real Text::lineHeight - \since Quick 1.1 + \since QtQuick 1.1 Sets the line height for the text. The value can be in pixels or a multiplier depending on lineHeightMode. diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp index cc5279a..24d7f75 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp @@ -107,7 +107,7 @@ TextEdit { /*! \qmlsignal TextEdit::onLinkActivated(string link) - \since Quick 1.1 + \since QtQuick 1.1 This handler is called when the user clicks on a link embedded in the text. The link must be in rich text or HTML format and the @@ -624,7 +624,7 @@ void QDeclarativeTextEdit::setWrapMode(WrapMode mode) /*! \qmlproperty int TextEdit::lineCount - \since Quick 1.1 + \since QtQuick 1.1 Returns the total number of lines in the textEdit item. */ @@ -718,7 +718,7 @@ void QDeclarativeTextEdit::moveCursorSelection(int pos) /*! \qmlmethod void TextEdit::moveCursorSelection(int position, SelectionMode mode = TextEdit.SelectCharacters) - \since Quick 1.1 + \since QtQuick 1.1 Moves the cursor to \a position and updates the selection according to the optional \a mode parameter. (To only move the cursor, set the \l cursorPosition property.) @@ -1083,7 +1083,7 @@ void QDeclarativeTextEdit::setSelectByMouse(bool on) /*! \qmlproperty enum TextEdit::mouseSelectionMode - \since Quick 1.1 + \since QtQuick 1.1 Specifies how text should be selected using a mouse. @@ -1229,7 +1229,7 @@ void QDeclarativeTextEditPrivate::focusChanged(bool hasFocus) /*! \qmlmethod void TextEdit::deselect() - \since Quick 1.1 + \since QtQuick 1.1 Removes active text selection. */ diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp index c5c9f5e..231bd37 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp @@ -1018,7 +1018,7 @@ int QDeclarativeTextInput::positionAt(int x) const /*! \qmlmethod int TextInput::positionAt(int x, CursorPosition position = CursorBetweenCharacters) - \since Quick 1.1 + \since QtQuick 1.1 This function returns the character position at x pixels from the left of the textInput. Position 0 is before the @@ -1406,7 +1406,7 @@ QVariant QDeclarativeTextInput::inputMethodQuery(Qt::InputMethodQuery property) /*! \qmlmethod void TextInput::deselect() - \since Quick 1.1 + \since QtQuick 1.1 Removes active text selection. */ @@ -1578,7 +1578,7 @@ void QDeclarativeTextInput::setSelectByMouse(bool on) /*! \qmlproperty enum TextInput::mouseSelectionMode - \since Quick 1.1 + \since QtQuick 1.1 Specifies how text should be selected using a mouse. @@ -1626,7 +1626,7 @@ void QDeclarativeTextInput::moveCursorSelection(int position) /*! \qmlmethod void TextInput::moveCursorSelection(int position, SelectionMode mode = TextInput.SelectCharacters) - \since Quick 1.1 + \since QtQuick 1.1 Moves the cursor to \a position and updates the selection according to the optional \a mode parameter. (To only move the cursor, set the \l cursorPosition property.) -- cgit v0.12 From e12b5e8cc2500d15d79dfb43a64c41185d2958b7 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 30 Jun 2011 19:16:21 +0200 Subject: Doc: Fixed \since declarations. (cherry picked from commit 358e018dbb4b4dbdbfc702a6d462f113a1357e1e) Reapplied after bad v4.7.4 merge --- src/gui/kernel/qkeysequence.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index f8e4e57..8635bf2 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -934,7 +934,7 @@ QKeySequence::QKeySequence(const QString &key) } /*! - \since 4.x + \since 4.7 Creates a key sequence from the \a key string based on \a format. */ QKeySequence::QKeySequence(const QString &key, QKeySequence::SequenceFormat format) @@ -1131,7 +1131,7 @@ int QKeySequence::assign(const QString &ks) /*! \fn int QKeySequence::assign(const QString &keys, QKeySequence::SequenceFormat format) - \since 4.x + \since 4.7 Adds the given \a keys to the key sequence (based on \a format). \a keys may contain up to four key codes, provided they are -- cgit v0.12 From ad2164422b0e3b2c5f3b247a1e813271428d8f0d Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 30 Jun 2011 20:48:32 +0200 Subject: Doc: Clarified the range of return values from QLineF::angle(). Task-number: QTBUG-20197 (cherry picked from commit 86608d537eabc3cf7e1d1ddd1d0a2f90ccc2de2a) Reapplied after bad v4.7.4 merge --- src/corelib/tools/qline.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qline.cpp b/src/corelib/tools/qline.cpp index af3b7d5..0f67652 100644 --- a/src/corelib/tools/qline.cpp +++ b/src/corelib/tools/qline.cpp @@ -564,8 +564,9 @@ qreal QLineF::length() const Returns the angle of the line in degrees. - Positive values for the angles mean counter-clockwise while negative values - mean the clockwise direction. Zero degrees is at the 3 o'clock position. + The return value will be in the range of values from 0.0 up to but not + including 360.0. The angles are measured counter-clockwise from a point + on the x-axis to the right of the origin (x > 0). \sa setAngle() */ -- cgit v0.12 From 84f29a47efa4a3cd44d24ff46d8d410fbd10a0d8 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 8 Aug 2011 12:21:30 +0300 Subject: Fix undesirable VKB popup at task switch showInputPanelOnFocus = false needs to be set in declarative edit controls also on S60 platforms beyond Symbian^3, or VKB will popup when application itself comes to foreground if focus is on an edit control. With this fix the functionality is identical to S60 native apps. Task-number: QTBUG-20218 Reviewed-by: Joona Petrell (cherry picked from commit 6a3b5c13ac40c18951efd8be1e3506606da0f6f9) Reapplied after bad v4.7.4 merge --- src/declarative/graphicsitems/qdeclarativetextedit_p_p.h | 2 +- src/declarative/graphicsitems/qdeclarativetextinput_p_p.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h b/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h index 731d956..412d33c 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativetextedit_p_p.h @@ -77,7 +77,7 @@ public: yoff(0) { #ifdef Q_OS_SYMBIAN - if (QSysInfo::symbianVersion() == QSysInfo::SV_SF_1 || QSysInfo::symbianVersion() == QSysInfo::SV_SF_3) { + if (QSysInfo::symbianVersion() >= QSysInfo::SV_SF_1) { showInputPanelOnFocus = false; } #endif diff --git a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h index d3f11f6..0ae984a 100644 --- a/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h +++ b/src/declarative/graphicsitems/qdeclarativetextinput_p_p.h @@ -80,7 +80,7 @@ public: selectPressed(false) { #ifdef Q_OS_SYMBIAN - if (QSysInfo::symbianVersion() == QSysInfo::SV_SF_1 || QSysInfo::symbianVersion() == QSysInfo::SV_SF_3) { + if (QSysInfo::symbianVersion() >= QSysInfo::SV_SF_1) { showInputPanelOnFocus = false; } #endif -- cgit v0.12 From 2721b46392b36813436b46d74e661259ca3f1626 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Fri, 29 Jul 2011 16:16:57 +1000 Subject: Rework threading internals in XmlListModel to avoid global static QTBUG-20629 reports a crash on destruction of XmlListModel when cleaning up the global static for the QDeclarativeXmlQuery object. The fix restructures the internals to be like the threading structure used for QDeclarativePixmapReader which doesn't use a global static. Task-number: QTBUG-20629 Change-Id: I036cc673fa603ad4b5661f3facc811cc83710a89 (cherry picked from commit 7a80c5d656e5492dc026cbf643847d7f9c50324a) Reapplied after bad v4.7.4 merge --- src/declarative/util/qdeclarativexmllistmodel.cpp | 296 +++++++++++++++------- 1 file changed, 205 insertions(+), 91 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index 983a25e..9a74c04 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -147,114 +147,226 @@ struct XmlQueryJob QString prefix; }; -class QDeclarativeXmlQuery : public QObject + +class QDeclarativeXmlQueryEngine; +class QDeclarativeXmlQueryThreadObject : public QObject { Q_OBJECT public: - QDeclarativeXmlQuery(QObject *parent=0) - : QObject(parent), m_queryIds(XMLLISTMODEL_CLEAR_ID + 1) { - qRegisterMetaType("QDeclarativeXmlQueryResult"); - moveToThread(&m_thread); - m_thread.start(QThread::IdlePriority); - } + QDeclarativeXmlQueryThreadObject(QDeclarativeXmlQueryEngine *); - ~QDeclarativeXmlQuery() { - if(m_thread.isRunning()) { - m_thread.quit(); - m_thread.wait(); - } - } - - void abort(int id) { - QMutexLocker ml(&m_mutex); - if (id != -1) { - m_jobs.remove(id); - } - } - - int doQuery(QString query, QString namespaces, QByteArray data, QList* roleObjects, QStringList keyRoleResultsCache) { - { - QMutexLocker m1(&m_mutex); - m_queryIds.ref(); - if (m_queryIds <= 0) - m_queryIds = 1; - } - - XmlQueryJob job; - job.queryId = m_queryIds; - job.data = data; - job.query = QLatin1String("doc($src)") + query; - job.namespaces = namespaces; - job.keyRoleResultsCache = keyRoleResultsCache; - - for (int i=0; icount(); i++) { - if (!roleObjects->at(i)->isValid()) { - job.roleQueries << QString(); - continue; - } - job.roleQueries << roleObjects->at(i)->query(); - job.roleQueryErrorId << static_cast(roleObjects->at(i)); - if (roleObjects->at(i)->isKey()) - job.keyRoleQueries << job.roleQueries.last(); - } + void processJobs(); + virtual bool event(QEvent *e); - { - QMutexLocker ml(&m_mutex); - m_jobs.insert(m_queryIds, job); - } +private: + QDeclarativeXmlQueryEngine *m_queryEngine; +}; - QMetaObject::invokeMethod(this, "processQuery", Qt::QueuedConnection, Q_ARG(int, job.queryId)); - return job.queryId; - } -private slots: - void processQuery(int queryId) { - XmlQueryJob job; +class QDeclarativeXmlQueryEngine : public QThread +{ + Q_OBJECT +public: + QDeclarativeXmlQueryEngine(QDeclarativeEngine *eng); + ~QDeclarativeXmlQueryEngine(); - { - QMutexLocker ml(&m_mutex); - if (!m_jobs.contains(queryId)) - return; - job = m_jobs.value(queryId); - } + int doQuery(QString query, QString namespaces, QByteArray data, QList* roleObjects, QStringList keyRoleResultsCache); + void abort(int id); - QDeclarativeXmlQueryResult result; - result.queryId = job.queryId; - doQueryJob(&job, &result); - doSubQueryJob(&job, &result); + void processJobs(); - { - QMutexLocker ml(&m_mutex); - if (m_jobs.contains(queryId)) { - emit queryCompleted(result); - m_jobs.remove(queryId); - } - } - } + static QDeclarativeXmlQueryEngine *instance(QDeclarativeEngine *engine); -Q_SIGNALS: +signals: void queryCompleted(const QDeclarativeXmlQueryResult &); void error(void*, const QString&); protected: - + void run(); private: + void processQuery(XmlQueryJob *job); void doQueryJob(XmlQueryJob *job, QDeclarativeXmlQueryResult *currentResult); void doSubQueryJob(XmlQueryJob *job, QDeclarativeXmlQueryResult *currentResult); void getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const; void addIndexToRangeList(QList *ranges, int index) const; -private: QMutex m_mutex; - QThread m_thread; - QMap m_jobs; + QDeclarativeXmlQueryThreadObject *m_threadObject; + QList m_jobs; + QSet m_cancelledJobs; QAtomicInt m_queryIds; + + QDeclarativeEngine *m_engine; + QObject *m_eventLoopQuitHack; + + static QHash queryEngines; + static QMutex queryEnginesMutex; }; +QHash QDeclarativeXmlQueryEngine::queryEngines; +QMutex QDeclarativeXmlQueryEngine::queryEnginesMutex; + + +QDeclarativeXmlQueryThreadObject::QDeclarativeXmlQueryThreadObject(QDeclarativeXmlQueryEngine *e) + : m_queryEngine(e) +{ +} + +void QDeclarativeXmlQueryThreadObject::processJobs() +{ + QCoreApplication::postEvent(this, new QEvent(QEvent::User)); +} + +bool QDeclarativeXmlQueryThreadObject::event(QEvent *e) +{ + if (e->type() == QEvent::User) { + m_queryEngine->processJobs(); + return true; + } else { + return QObject::event(e); + } +} + + + +QDeclarativeXmlQueryEngine::QDeclarativeXmlQueryEngine(QDeclarativeEngine *eng) +: QThread(eng), m_threadObject(0), m_queryIds(XMLLISTMODEL_CLEAR_ID + 1), m_engine(eng), m_eventLoopQuitHack(0) +{ + qRegisterMetaType("QDeclarativeXmlQueryResult"); -Q_GLOBAL_STATIC(QDeclarativeXmlQuery, globalXmlQuery) + m_eventLoopQuitHack = new QObject; + m_eventLoopQuitHack->moveToThread(this); + connect(m_eventLoopQuitHack, SIGNAL(destroyed(QObject*)), SLOT(quit()), Qt::DirectConnection); + start(QThread::IdlePriority); +} -void QDeclarativeXmlQuery::doQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) +QDeclarativeXmlQueryEngine::~QDeclarativeXmlQueryEngine() +{ + queryEnginesMutex.lock(); + queryEngines.remove(m_engine); + queryEnginesMutex.unlock(); + + m_eventLoopQuitHack->deleteLater(); + wait(); +} + +int QDeclarativeXmlQueryEngine::doQuery(QString query, QString namespaces, QByteArray data, QList* roleObjects, QStringList keyRoleResultsCache) { + { + QMutexLocker m1(&m_mutex); + m_queryIds.ref(); + if (m_queryIds <= 0) + m_queryIds = 1; + } + + XmlQueryJob job; + job.queryId = m_queryIds; + job.data = data; + job.query = QLatin1String("doc($src)") + query; + job.namespaces = namespaces; + job.keyRoleResultsCache = keyRoleResultsCache; + + for (int i=0; icount(); i++) { + if (!roleObjects->at(i)->isValid()) { + job.roleQueries << QString(); + continue; + } + job.roleQueries << roleObjects->at(i)->query(); + job.roleQueryErrorId << static_cast(roleObjects->at(i)); + if (roleObjects->at(i)->isKey()) + job.keyRoleQueries << job.roleQueries.last(); + } + + { + QMutexLocker ml(&m_mutex); + m_jobs.append(job); + if (m_threadObject) + m_threadObject->processJobs(); + } + + return job.queryId; +} + +void QDeclarativeXmlQueryEngine::abort(int id) +{ + QMutexLocker ml(&m_mutex); + if (id != -1) { + m_cancelledJobs.insert(id); + if (m_threadObject) + m_threadObject->processJobs(); + } +} + +void QDeclarativeXmlQueryEngine::run() +{ + m_mutex.lock(); + m_threadObject = new QDeclarativeXmlQueryThreadObject(this); + m_mutex.unlock(); + + processJobs(); + exec(); + + delete m_threadObject; + m_threadObject = 0; +} + +void QDeclarativeXmlQueryEngine::processJobs() +{ + QMutexLocker locker(&m_mutex); + + while (true) { + if (m_cancelledJobs.isEmpty() && m_jobs.isEmpty()) + return; + + if (!m_cancelledJobs.isEmpty()) { + for (QList::Iterator it = m_jobs.begin(); it != m_jobs.end(); ++it) { + int queryId = (*it).queryId; + if (m_cancelledJobs.remove(queryId)) + it = m_jobs.erase(it); + } + m_cancelledJobs.clear(); + } + + if (!m_jobs.isEmpty()) { + XmlQueryJob currentJob = m_jobs.takeLast(); + + locker.unlock(); + processQuery(¤tJob); + locker.relock(); + } + } +} + +QDeclarativeXmlQueryEngine *QDeclarativeXmlQueryEngine::instance(QDeclarativeEngine *engine) +{ + queryEnginesMutex.lock(); + QDeclarativeXmlQueryEngine *queryEng = queryEngines.value(engine); + if (!queryEng) { + queryEng = new QDeclarativeXmlQueryEngine(engine); + queryEngines.insert(engine, queryEng); + } + queryEnginesMutex.unlock(); + + return queryEng; +} + +void QDeclarativeXmlQueryEngine::processQuery(XmlQueryJob *job) +{ + QDeclarativeXmlQueryResult result; + result.queryId = job->queryId; + doQueryJob(job, &result); + doSubQueryJob(job, &result); + + { + QMutexLocker ml(&m_mutex); + if (m_cancelledJobs.contains(job->queryId)) { + m_cancelledJobs.remove(job->queryId); + } else { + emit queryCompleted(result); + } + } +} + +void QDeclarativeXmlQueryEngine::doQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) { Q_ASSERT(currentJob->queryId != -1); @@ -293,7 +405,7 @@ void QDeclarativeXmlQuery::doQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQu currentResult->size = (count > 0 ? count : 0); } -void QDeclarativeXmlQuery::getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const +void QDeclarativeXmlQueryEngine::getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const { const QStringList &keysQueries = currentJob.keyRoleQueries; QString keysQuery; @@ -314,7 +426,7 @@ void QDeclarativeXmlQuery::getValuesOfKeyRoles(const XmlQueryJob& currentJob, QS } } -void QDeclarativeXmlQuery::addIndexToRangeList(QList *ranges, int index) const { +void QDeclarativeXmlQueryEngine::addIndexToRangeList(QList *ranges, int index) const { if (ranges->isEmpty()) ranges->append(qMakePair(index, 1)); else if (ranges->last().first + ranges->last().second == index) @@ -323,7 +435,7 @@ void QDeclarativeXmlQuery::addIndexToRangeList(QList * ranges->append(qMakePair(index, 1)); } -void QDeclarativeXmlQuery::doSubQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) +void QDeclarativeXmlQueryEngine::doSubQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) { Q_ASSERT(currentJob->queryId != -1); @@ -583,10 +695,6 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListPropertyisComponentComplete = false; + + QDeclarativeXmlQueryEngine *queryEngine = QDeclarativeXmlQueryEngine::instance(qmlEngine(this)); + connect(queryEngine, SIGNAL(queryCompleted(QDeclarativeXmlQueryResult)), + SLOT(queryCompleted(QDeclarativeXmlQueryResult))); + connect(queryEngine, SIGNAL(error(void*,QString)), + SLOT(queryError(void*,QString))); } void QDeclarativeXmlListModel::componentComplete() @@ -881,7 +995,7 @@ void QDeclarativeXmlListModel::reload() if (!d->isComponentComplete) return; - globalXmlQuery()->abort(d->queryId); + QDeclarativeXmlQueryEngine::instance(qmlEngine(this))->abort(d->queryId); d->queryId = -1; if (d->size < 0) @@ -897,7 +1011,7 @@ void QDeclarativeXmlListModel::reload() } if (!d->xml.isEmpty()) { - d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache); + d->queryId = QDeclarativeXmlQueryEngine::instance(qmlEngine(this))->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache); d->notifyQueryStarted(false); } else if (d->src.isEmpty()) { @@ -958,7 +1072,7 @@ void QDeclarativeXmlListModel::requestFinished() d->queryId = XMLLISTMODEL_CLEAR_ID; QTimer::singleShot(0, this, SLOT(dataCleared())); } else { - d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); + d->queryId = QDeclarativeXmlQueryEngine::instance(qmlEngine(this))->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); } disconnect(d->reply, 0, this, 0); d->reply->deleteLater(); -- cgit v0.12 From 4109e89a869637f4eeaf7e1fa83a25ab05786e49 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 11 Aug 2011 14:22:52 +1000 Subject: Revert accidental commit Revert "Rework threading internals in XmlListModel to avoid global static" This reverts commit 7a80c5d656e5492dc026cbf643847d7f9c50324a. (cherry picked from commit d30334bfdf5a05d6ea3c68e4014ce8f8d66f3876) Reapplied after bad v4.7.4 merge --- src/declarative/util/qdeclarativexmllistmodel.cpp | 296 +++++++--------------- 1 file changed, 91 insertions(+), 205 deletions(-) diff --git a/src/declarative/util/qdeclarativexmllistmodel.cpp b/src/declarative/util/qdeclarativexmllistmodel.cpp index 9a74c04..983a25e 100644 --- a/src/declarative/util/qdeclarativexmllistmodel.cpp +++ b/src/declarative/util/qdeclarativexmllistmodel.cpp @@ -147,226 +147,114 @@ struct XmlQueryJob QString prefix; }; - -class QDeclarativeXmlQueryEngine; -class QDeclarativeXmlQueryThreadObject : public QObject +class QDeclarativeXmlQuery : public QObject { Q_OBJECT public: - QDeclarativeXmlQueryThreadObject(QDeclarativeXmlQueryEngine *); - - void processJobs(); - virtual bool event(QEvent *e); - -private: - QDeclarativeXmlQueryEngine *m_queryEngine; -}; - - -class QDeclarativeXmlQueryEngine : public QThread -{ - Q_OBJECT -public: - QDeclarativeXmlQueryEngine(QDeclarativeEngine *eng); - ~QDeclarativeXmlQueryEngine(); - - int doQuery(QString query, QString namespaces, QByteArray data, QList* roleObjects, QStringList keyRoleResultsCache); - void abort(int id); - - void processJobs(); - - static QDeclarativeXmlQueryEngine *instance(QDeclarativeEngine *engine); - -signals: - void queryCompleted(const QDeclarativeXmlQueryResult &); - void error(void*, const QString&); - -protected: - void run(); - -private: - void processQuery(XmlQueryJob *job); - void doQueryJob(XmlQueryJob *job, QDeclarativeXmlQueryResult *currentResult); - void doSubQueryJob(XmlQueryJob *job, QDeclarativeXmlQueryResult *currentResult); - void getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const; - void addIndexToRangeList(QList *ranges, int index) const; - - QMutex m_mutex; - QDeclarativeXmlQueryThreadObject *m_threadObject; - QList m_jobs; - QSet m_cancelledJobs; - QAtomicInt m_queryIds; - - QDeclarativeEngine *m_engine; - QObject *m_eventLoopQuitHack; - - static QHash queryEngines; - static QMutex queryEnginesMutex; -}; -QHash QDeclarativeXmlQueryEngine::queryEngines; -QMutex QDeclarativeXmlQueryEngine::queryEnginesMutex; - - -QDeclarativeXmlQueryThreadObject::QDeclarativeXmlQueryThreadObject(QDeclarativeXmlQueryEngine *e) - : m_queryEngine(e) -{ -} - -void QDeclarativeXmlQueryThreadObject::processJobs() -{ - QCoreApplication::postEvent(this, new QEvent(QEvent::User)); -} - -bool QDeclarativeXmlQueryThreadObject::event(QEvent *e) -{ - if (e->type() == QEvent::User) { - m_queryEngine->processJobs(); - return true; - } else { - return QObject::event(e); + QDeclarativeXmlQuery(QObject *parent=0) + : QObject(parent), m_queryIds(XMLLISTMODEL_CLEAR_ID + 1) { + qRegisterMetaType("QDeclarativeXmlQueryResult"); + moveToThread(&m_thread); + m_thread.start(QThread::IdlePriority); } -} - - - -QDeclarativeXmlQueryEngine::QDeclarativeXmlQueryEngine(QDeclarativeEngine *eng) -: QThread(eng), m_threadObject(0), m_queryIds(XMLLISTMODEL_CLEAR_ID + 1), m_engine(eng), m_eventLoopQuitHack(0) -{ - qRegisterMetaType("QDeclarativeXmlQueryResult"); - - m_eventLoopQuitHack = new QObject; - m_eventLoopQuitHack->moveToThread(this); - connect(m_eventLoopQuitHack, SIGNAL(destroyed(QObject*)), SLOT(quit()), Qt::DirectConnection); - start(QThread::IdlePriority); -} - -QDeclarativeXmlQueryEngine::~QDeclarativeXmlQueryEngine() -{ - queryEnginesMutex.lock(); - queryEngines.remove(m_engine); - queryEnginesMutex.unlock(); - m_eventLoopQuitHack->deleteLater(); - wait(); -} - -int QDeclarativeXmlQueryEngine::doQuery(QString query, QString namespaces, QByteArray data, QList* roleObjects, QStringList keyRoleResultsCache) { - { - QMutexLocker m1(&m_mutex); - m_queryIds.ref(); - if (m_queryIds <= 0) - m_queryIds = 1; - } - - XmlQueryJob job; - job.queryId = m_queryIds; - job.data = data; - job.query = QLatin1String("doc($src)") + query; - job.namespaces = namespaces; - job.keyRoleResultsCache = keyRoleResultsCache; - - for (int i=0; icount(); i++) { - if (!roleObjects->at(i)->isValid()) { - job.roleQueries << QString(); - continue; + ~QDeclarativeXmlQuery() { + if(m_thread.isRunning()) { + m_thread.quit(); + m_thread.wait(); } - job.roleQueries << roleObjects->at(i)->query(); - job.roleQueryErrorId << static_cast(roleObjects->at(i)); - if (roleObjects->at(i)->isKey()) - job.keyRoleQueries << job.roleQueries.last(); } - { + void abort(int id) { QMutexLocker ml(&m_mutex); - m_jobs.append(job); - if (m_threadObject) - m_threadObject->processJobs(); + if (id != -1) { + m_jobs.remove(id); + } } - return job.queryId; -} + int doQuery(QString query, QString namespaces, QByteArray data, QList* roleObjects, QStringList keyRoleResultsCache) { + { + QMutexLocker m1(&m_mutex); + m_queryIds.ref(); + if (m_queryIds <= 0) + m_queryIds = 1; + } -void QDeclarativeXmlQueryEngine::abort(int id) -{ - QMutexLocker ml(&m_mutex); - if (id != -1) { - m_cancelledJobs.insert(id); - if (m_threadObject) - m_threadObject->processJobs(); - } -} + XmlQueryJob job; + job.queryId = m_queryIds; + job.data = data; + job.query = QLatin1String("doc($src)") + query; + job.namespaces = namespaces; + job.keyRoleResultsCache = keyRoleResultsCache; + + for (int i=0; icount(); i++) { + if (!roleObjects->at(i)->isValid()) { + job.roleQueries << QString(); + continue; + } + job.roleQueries << roleObjects->at(i)->query(); + job.roleQueryErrorId << static_cast(roleObjects->at(i)); + if (roleObjects->at(i)->isKey()) + job.keyRoleQueries << job.roleQueries.last(); + } -void QDeclarativeXmlQueryEngine::run() -{ - m_mutex.lock(); - m_threadObject = new QDeclarativeXmlQueryThreadObject(this); - m_mutex.unlock(); + { + QMutexLocker ml(&m_mutex); + m_jobs.insert(m_queryIds, job); + } - processJobs(); - exec(); + QMetaObject::invokeMethod(this, "processQuery", Qt::QueuedConnection, Q_ARG(int, job.queryId)); + return job.queryId; + } - delete m_threadObject; - m_threadObject = 0; -} +private slots: + void processQuery(int queryId) { + XmlQueryJob job; -void QDeclarativeXmlQueryEngine::processJobs() -{ - QMutexLocker locker(&m_mutex); + { + QMutexLocker ml(&m_mutex); + if (!m_jobs.contains(queryId)) + return; + job = m_jobs.value(queryId); + } - while (true) { - if (m_cancelledJobs.isEmpty() && m_jobs.isEmpty()) - return; + QDeclarativeXmlQueryResult result; + result.queryId = job.queryId; + doQueryJob(&job, &result); + doSubQueryJob(&job, &result); - if (!m_cancelledJobs.isEmpty()) { - for (QList::Iterator it = m_jobs.begin(); it != m_jobs.end(); ++it) { - int queryId = (*it).queryId; - if (m_cancelledJobs.remove(queryId)) - it = m_jobs.erase(it); + { + QMutexLocker ml(&m_mutex); + if (m_jobs.contains(queryId)) { + emit queryCompleted(result); + m_jobs.remove(queryId); } - m_cancelledJobs.clear(); } + } - if (!m_jobs.isEmpty()) { - XmlQueryJob currentJob = m_jobs.takeLast(); +Q_SIGNALS: + void queryCompleted(const QDeclarativeXmlQueryResult &); + void error(void*, const QString&); - locker.unlock(); - processQuery(¤tJob); - locker.relock(); - } - } -} +protected: -QDeclarativeXmlQueryEngine *QDeclarativeXmlQueryEngine::instance(QDeclarativeEngine *engine) -{ - queryEnginesMutex.lock(); - QDeclarativeXmlQueryEngine *queryEng = queryEngines.value(engine); - if (!queryEng) { - queryEng = new QDeclarativeXmlQueryEngine(engine); - queryEngines.insert(engine, queryEng); - } - queryEnginesMutex.unlock(); - return queryEng; -} +private: + void doQueryJob(XmlQueryJob *job, QDeclarativeXmlQueryResult *currentResult); + void doSubQueryJob(XmlQueryJob *job, QDeclarativeXmlQueryResult *currentResult); + void getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const; + void addIndexToRangeList(QList *ranges, int index) const; -void QDeclarativeXmlQueryEngine::processQuery(XmlQueryJob *job) -{ - QDeclarativeXmlQueryResult result; - result.queryId = job->queryId; - doQueryJob(job, &result); - doSubQueryJob(job, &result); +private: + QMutex m_mutex; + QThread m_thread; + QMap m_jobs; + QAtomicInt m_queryIds; +}; - { - QMutexLocker ml(&m_mutex); - if (m_cancelledJobs.contains(job->queryId)) { - m_cancelledJobs.remove(job->queryId); - } else { - emit queryCompleted(result); - } - } -} +Q_GLOBAL_STATIC(QDeclarativeXmlQuery, globalXmlQuery) -void QDeclarativeXmlQueryEngine::doQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) +void QDeclarativeXmlQuery::doQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) { Q_ASSERT(currentJob->queryId != -1); @@ -405,7 +293,7 @@ void QDeclarativeXmlQueryEngine::doQueryJob(XmlQueryJob *currentJob, QDeclarativ currentResult->size = (count > 0 ? count : 0); } -void QDeclarativeXmlQueryEngine::getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const +void QDeclarativeXmlQuery::getValuesOfKeyRoles(const XmlQueryJob& currentJob, QStringList *values, QXmlQuery *query) const { const QStringList &keysQueries = currentJob.keyRoleQueries; QString keysQuery; @@ -426,7 +314,7 @@ void QDeclarativeXmlQueryEngine::getValuesOfKeyRoles(const XmlQueryJob& currentJ } } -void QDeclarativeXmlQueryEngine::addIndexToRangeList(QList *ranges, int index) const { +void QDeclarativeXmlQuery::addIndexToRangeList(QList *ranges, int index) const { if (ranges->isEmpty()) ranges->append(qMakePair(index, 1)); else if (ranges->last().first + ranges->last().second == index) @@ -435,7 +323,7 @@ void QDeclarativeXmlQueryEngine::addIndexToRangeList(QListappend(qMakePair(index, 1)); } -void QDeclarativeXmlQueryEngine::doSubQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) +void QDeclarativeXmlQuery::doSubQueryJob(XmlQueryJob *currentJob, QDeclarativeXmlQueryResult *currentResult) { Q_ASSERT(currentJob->queryId != -1); @@ -695,6 +583,10 @@ void QDeclarativeXmlListModelPrivate::clear_role(QDeclarativeListPropertyisComponentComplete = false; - - QDeclarativeXmlQueryEngine *queryEngine = QDeclarativeXmlQueryEngine::instance(qmlEngine(this)); - connect(queryEngine, SIGNAL(queryCompleted(QDeclarativeXmlQueryResult)), - SLOT(queryCompleted(QDeclarativeXmlQueryResult))); - connect(queryEngine, SIGNAL(error(void*,QString)), - SLOT(queryError(void*,QString))); } void QDeclarativeXmlListModel::componentComplete() @@ -995,7 +881,7 @@ void QDeclarativeXmlListModel::reload() if (!d->isComponentComplete) return; - QDeclarativeXmlQueryEngine::instance(qmlEngine(this))->abort(d->queryId); + globalXmlQuery()->abort(d->queryId); d->queryId = -1; if (d->size < 0) @@ -1011,7 +897,7 @@ void QDeclarativeXmlListModel::reload() } if (!d->xml.isEmpty()) { - d->queryId = QDeclarativeXmlQueryEngine::instance(qmlEngine(this))->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache); + d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, d->xml.toUtf8(), &d->roleObjects, d->keyRoleResultsCache); d->notifyQueryStarted(false); } else if (d->src.isEmpty()) { @@ -1072,7 +958,7 @@ void QDeclarativeXmlListModel::requestFinished() d->queryId = XMLLISTMODEL_CLEAR_ID; QTimer::singleShot(0, this, SLOT(dataCleared())); } else { - d->queryId = QDeclarativeXmlQueryEngine::instance(qmlEngine(this))->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); + d->queryId = globalXmlQuery()->doQuery(d->query, d->namespaces, data, &d->roleObjects, d->keyRoleResultsCache); } disconnect(d->reply, 0, this, 0); d->reply->deleteLater(); -- cgit v0.12 From 9c76e0c868b189f811b6776d60a3836677a9ddea Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 18 Apr 2011 15:40:26 +0300 Subject: Do not modify window size for fullscreen windows in setGeometry_sys Minimum sizes of widgets can cause windows to expand beyond screen limits in QWidgetPrivate::setGeometry_sys. Normally this is not noticeable as the window size is forced in various places to the clientRect, but there are certain sequences where the size set in setGeometry_sys is the final one, resulting in too large windows. Removed the modification of window size in setGeometry_sys for fullscreen windows for which the correct size is already requested. Task-number: QTBUG-18749 Reviewed-by: Sami Merila (cherry picked from commit d4a2ce8ad5be6633f0e5c5a74eaa8b9c32c02ba8) Reapplied after bad v4.7.4 merge --- src/gui/kernel/qwidget_s60.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 5630706..ada85ce 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -239,7 +239,16 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) if (w != oldSize.width() || h != oldSize.height()) data.window_state &= ~Qt::WindowMaximized; - if (extra) { // any size restrictions? + bool checkExtra = true; + if (q->isWindow() && (data.window_state & Qt::WindowFullScreen)) { + // Do not modity window size for fullscreen windows, if requested + // size is already equal to clientRect. + TRect r = static_cast(S60->appUi())->ClientRect(); + if (w == r.Width() && h == r.Height()) + checkExtra = false; + } + + if (checkExtra && extra) { // any size restrictions? w = qMin(w,extra->maxw); h = qMin(h,extra->maxh); w = qMax(w,extra->minw); -- cgit v0.12 From 35108903fa1c7b8d2d2afb86914de8ed5028c12d Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 3 May 2011 16:50:46 +0300 Subject: Do not allow fullscreen/maximized windows to expand beyond client rect Automatic layouting of widgets still managed to layout maximized and fullscreen windows larger than client rect in Symbian in some cases. Fixed by limiting window dimensions to client area boundaries in setGeometry_sys if the window is maximized or fullscreen. Task-number: QTBUG-5697 Reviewed-by: Sami Merila (cherry picked from commit e9040d183dce6188ae9d1493167cb7247a6d4a7b) Reapplied after bad v4.7.4 merge --- src/gui/kernel/qwidget_s60.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index ada85ce..e437579 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -235,19 +235,21 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) QSize oldSize(q->size()); QRect oldGeom(data.crect); - // Lose maximized status if deliberate resize - if (w != oldSize.width() || h != oldSize.height()) - data.window_state &= ~Qt::WindowMaximized; - bool checkExtra = true; - if (q->isWindow() && (data.window_state & Qt::WindowFullScreen)) { - // Do not modity window size for fullscreen windows, if requested - // size is already equal to clientRect. + if (q->isWindow() && (data.window_state & (Qt::WindowFullScreen | Qt::WindowMaximized))) { + // Do not allow fullscreen/maximized windows to expand beyond client rect TRect r = static_cast(S60->appUi())->ClientRect(); + w = qMin(w, r.Width()); + h = qMin(h, r.Height()); + if (w == r.Width() && h == r.Height()) checkExtra = false; } + // Lose maximized status if deliberate resize + if (w != oldSize.width() || h != oldSize.height()) + data.window_state &= ~Qt::WindowMaximized; + if (checkExtra && extra) { // any size restrictions? w = qMin(w,extra->maxw); h = qMin(h,extra->maxh); -- cgit v0.12 From 2f97e4894d4110150b2248e93c6a59916da95bc4 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 11 Aug 2011 11:49:38 +0300 Subject: Fix clientRect usage in QWidgetPrivate::setGeometry_sys() S60->clientRect() should be used these days for getting S60 client rect, so fix the old fashined usage that was in cherry-picked commit. Task-number: QTTH-1306 Reviewed-by: TrustMe (cherry picked from commit 15b44c1ea04c3beebe4d7f6d9f45b81127c3c8f9) Reapplied after bad v4.7.4 merge --- src/gui/kernel/qwidget_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index e437579..c490572 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -238,7 +238,7 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) bool checkExtra = true; if (q->isWindow() && (data.window_state & (Qt::WindowFullScreen | Qt::WindowMaximized))) { // Do not allow fullscreen/maximized windows to expand beyond client rect - TRect r = static_cast(S60->appUi())->ClientRect(); + TRect r = S60->clientRect(); w = qMin(w, r.Width()); h = qMin(h, r.Height()); -- cgit v0.12 From 6b6e0c404e1e1ee4706248a1b2f23f284ed1bc42 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 12 Aug 2011 15:29:20 +0300 Subject: Fix softkeys cleanup QSoftKeyManager's keyedActions and softKeyCommandActions hashes were not properly cleaned up, resulting in randomly incorrect softkeys as already deleted cached actions were assigned to softkeys if the new action happened to be in the same address as the previously deleted action. Two bugs related to this were fixed: 1) qobject_cast can't be used in "destroyed" signal handler, as the cast will return NULL pointer in this case. Changed the cast to static_cast, which is safe here as the pointer is only used as a hash key. 2) If softkey action was created with QSoftKeyManager::createAction instead of QSoftKeyManager::createKeyedAction, the "destroyed" signal was not connected to cleanupHash slot, leaving such actions in softKeyCommandActions hash after deletion. Ensured the signal was connected properly in both cases. Task-number: QTTH-1442, QTBUG-20214 Reviewed-by: Gareth Stockwell (cherry picked from commit 1dc0a2ccd645abd26b13fd67313a03bbc722a74d) Reapplied after bad v4.7.4 merge --- src/gui/kernel/qsoftkeymanager.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/gui/kernel/qsoftkeymanager.cpp b/src/gui/kernel/qsoftkeymanager.cpp index 2700bbb..80e6ec6 100644 --- a/src/gui/kernel/qsoftkeymanager.cpp +++ b/src/gui/kernel/qsoftkeymanager.cpp @@ -126,8 +126,10 @@ QAction *QSoftKeyManager::createAction(StandardSoftKey standardKey, QWidget *act default: break; }; - if (key != 0) + if (key != 0) { QSoftKeyManager::instance()->d_func()->softKeyCommandActions.insert(action, key); + connect(action, SIGNAL(destroyed(QObject*)), QSoftKeyManager::instance(), SLOT(cleanupHash(QObject*))); + } #endif QAction::SoftKeyRole softKeyRole = QAction::NoSoftKey; switch (standardKey) { @@ -160,7 +162,13 @@ QAction *QSoftKeyManager::createKeyedAction(StandardSoftKey standardKey, Qt::Key QScopedPointer action(createAction(standardKey, actionWidget)); connect(action.data(), SIGNAL(triggered()), QSoftKeyManager::instance(), SLOT(sendKeyEvent())); + +#if defined(Q_WS_S60) && !defined(SYMBIAN_VERSION_9_4) && !defined(SYMBIAN_VERSION_9_3) && !defined(SYMBIAN_VERSION_9_2) + // Don't connect destroyed slot if is was already connected in createAction + if (!(QSoftKeyManager::instance()->d_func()->softKeyCommandActions.contains(action.data()))) +#endif connect(action.data(), SIGNAL(destroyed(QObject*)), QSoftKeyManager::instance(), SLOT(cleanupHash(QObject*))); + QSoftKeyManager::instance()->d_func()->keyedActions.insert(action.data(), key); return action.take(); #endif //QT_NO_ACTION @@ -169,7 +177,9 @@ QAction *QSoftKeyManager::createKeyedAction(StandardSoftKey standardKey, Qt::Key void QSoftKeyManager::cleanupHash(QObject *obj) { Q_D(QSoftKeyManager); - QAction *action = qobject_cast(obj); + // Can't use qobject_cast in destroyed() signal handler as that'll return NULL, + // so use static_cast instead. Since the pointer is only used as a hash key, it is safe. + QAction *action = static_cast(obj); d->keyedActions.remove(action); #if defined(Q_WS_S60) && !defined(SYMBIAN_VERSION_9_4) && !defined(SYMBIAN_VERSION_9_3) && !defined(SYMBIAN_VERSION_9_2) d->softKeyCommandActions.remove(action); -- cgit v0.12 From 636edb74bc3228e4819a605db19399dd277d7ad8 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Tue, 26 Apr 2011 15:35:51 +0200 Subject: Make text rendering working outside the gui thread on Symbian. It was previously not possible to render text (QPainter::drawText) in a secondary thread on Symbian, it always resulted in some kind of panic. This patch corrects it. For S60 5.0 and earlier the behavior is not changed, threaded text rendering is only supported on Symbian^3 and newer. This also means QFontDatabase::supportsThreadedFontRendering() will return true from now on, but only on Symbian^3 and higher. Task-number: QTBUG-18516 Reviewed-by: mread (cherry picked from commit 0c62e02b80570bf8b92eff7acceb9018df61c89e) (cherry picked from commit 13e7d402c438fd2c527dbc302cf1103d5c835a2f) Reapplied after bad v4.7.4 merge --- src/gui/kernel/qapplication_s60.cpp | 3 +++ src/gui/kernel/qt_s60_p.h | 26 ++++++++++++++++++++++++++ src/gui/text/qfontdatabase_s60.cpp | 30 +++++++++++++++++++----------- 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index b98bdbc..a53d273 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -2723,6 +2723,9 @@ QS60ThreadLocalData::QS60ThreadLocalData() QS60ThreadLocalData::~QS60ThreadLocalData() { + for (int i = 0; i < releaseFuncs.count(); ++i) + releaseFuncs[i](); + releaseFuncs.clear(); if (!usingCONEinstances) { delete screenDevice; wsSession.Close(); diff --git a/src/gui/kernel/qt_s60_p.h b/src/gui/kernel/qt_s60_p.h index 4295f60..3e6a293 100644 --- a/src/gui/kernel/qt_s60_p.h +++ b/src/gui/kernel/qt_s60_p.h @@ -97,6 +97,10 @@ static const int qt_symbian_max_screens = 4; //this macro exists because EColor16MAP enum value doesn't exist in Symbian OS 9.2 #define Q_SYMBIAN_ECOLOR16MAP TDisplayMode(13) +class QSymbianTypeFaceExtras; +typedef QHash QSymbianTypeFaceExtrasHash; +typedef void (*QThreadLocalReleaseFunc)(); + class Q_AUTOTEST_EXPORT QS60ThreadLocalData { public: @@ -105,6 +109,8 @@ public: bool usingCONEinstances; RWsSession wsSession; CWsScreenDevice *screenDevice; + QSymbianTypeFaceExtrasHash fontData; + QVector releaseFuncs; }; class QS60Data @@ -178,6 +184,8 @@ public: inline CWsScreenDevice* screenDevice(const QWidget *widget); inline CWsScreenDevice* screenDevice(int screenNumber); static inline int screenNumberForWidget(const QWidget *widget); + inline QSymbianTypeFaceExtrasHash& fontData(); + inline void addThreadLocalReleaseFunc(QThreadLocalReleaseFunc func); static inline CCoeAppUi* appUi(); static inline CEikMenuBar* menuBar(); #ifdef Q_WS_S60 @@ -477,6 +485,24 @@ inline int QS60Data::screenNumberForWidget(const QWidget *widget) return qt_widget_private(const_cast(w))->symbianScreenNumber; } +inline QSymbianTypeFaceExtrasHash& QS60Data::fontData() +{ + if (!tls.hasLocalData()) { + tls.setLocalData(new QS60ThreadLocalData); + } + return tls.localData()->fontData; +} + +inline void QS60Data::addThreadLocalReleaseFunc(QThreadLocalReleaseFunc func) +{ + if (!tls.hasLocalData()) { + tls.setLocalData(new QS60ThreadLocalData); + } + QS60ThreadLocalData *data = tls.localData(); + if (!data->releaseFuncs.contains(func)) + data->releaseFuncs.append(func); +} + inline CCoeAppUi* QS60Data::appUi() { return CCoeEnv::Static()-> AppUi(); diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp index 1c1bc29..d209726 100644 --- a/src/gui/text/qfontdatabase_s60.cpp +++ b/src/gui/text/qfontdatabase_s60.cpp @@ -166,7 +166,6 @@ public: COpenFontRasterizer *m_rasterizer; mutable QList m_extras; - mutable QHash m_extrasHash; mutable QSet m_applicationFontFamilies; }; @@ -269,8 +268,9 @@ void QSymbianFontDatabaseExtrasImplementation::clear() static_cast(db->symbianExtras); if (!dbExtras) return; // initializeDb() has never been called + QSymbianTypeFaceExtrasHash &extrasHash = S60->fontData(); if (QSymbianTypeFaceExtras::symbianFontTableApiAvailable()) { - qDeleteAll(dbExtras->m_extrasHash); + qDeleteAll(extrasHash); } else { typedef QList::iterator iterator; for (iterator p = dbExtras->m_extras.begin(); p != dbExtras->m_extras.end(); ++p) { @@ -279,11 +279,16 @@ void QSymbianFontDatabaseExtrasImplementation::clear() } dbExtras->m_extras.clear(); } - dbExtras->m_extrasHash.clear(); + extrasHash.clear(); } void qt_cleanup_symbianFontDatabase() { + static bool cleanupDone = false; + if (cleanupDone) + return; + cleanupDone = true; + QFontDatabasePrivate *db = privateDb(); if (!db) return; @@ -334,9 +339,12 @@ COpenFont* OpenFontFromBitmapFont(const CBitmapFont* aBitmapFont) const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(const QString &aTypeface, bool bold, bool italic) const { + QSymbianTypeFaceExtrasHash &extrasHash = S60->fontData(); + if (extrasHash.isEmpty() && QThread::currentThread() != QApplication::instance()->thread()) + S60->addThreadLocalReleaseFunc(clear); const QString typeface = qt_symbian_fontNameWithAppFontMarker(aTypeface); const QString searchKey = typeface + QString::number(int(bold)) + QString::number(int(italic)); - if (!m_extrasHash.contains(searchKey)) { + if (!extrasHash.contains(searchKey)) { TFontSpec searchSpec(qt_QString2TPtrC(typeface), 1); if (bold) searchSpec.iFontStyle.SetStrokeWeight(EStrokeWeightBold); @@ -350,7 +358,7 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c QScopedPointer sFont(font); QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font); sFont.take(); - m_extrasHash.insert(searchKey, extras); + extrasHash.insert(searchKey, extras); } else { const TInt err = m_store->GetNearestFontToDesignHeightInPixels(font, searchSpec); Q_ASSERT(err == KErrNone && font); @@ -364,20 +372,20 @@ const QSymbianTypeFaceExtras *QSymbianFontDatabaseExtrasImplementation::extras(c const TOpenFontFaceAttrib* const attrib = openFont->FaceAttrib(); const QString foundKey = QString((const QChar*)attrib->FullName().Ptr(), attrib->FullName().Length()); - if (!m_extrasHash.contains(foundKey)) { + if (!extrasHash.contains(foundKey)) { QScopedPointer sFont(font); QSymbianTypeFaceExtras *extras = new QSymbianTypeFaceExtras(font, openFont); sFont.take(); m_extras.append(extras); - m_extrasHash.insert(searchKey, extras); - m_extrasHash.insert(foundKey, extras); + extrasHash.insert(searchKey, extras); + extrasHash.insert(foundKey, extras); } else { m_store->ReleaseFont(font); - m_extrasHash.insert(searchKey, m_extrasHash.value(foundKey)); + extrasHash.insert(searchKey, extrasHash.value(foundKey)); } } } - return m_extrasHash.value(searchKey); + return extrasHash.value(searchKey); } void QSymbianFontDatabaseExtrasImplementation::removeAppFontData( @@ -971,7 +979,7 @@ bool QFontDatabase::removeAllApplicationFonts() bool QFontDatabase::supportsThreadedFontRendering() { - return false; + return QSymbianTypeFaceExtras::symbianFontTableApiAvailable(); } static -- cgit v0.12 From 11510d003d7eb7838183039d751d76dca6851a68 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Tue, 16 Aug 2011 14:02:42 +0300 Subject: Disabled splitscreen translation still moves screen Do not connect (or disconnect) signal cursorPositionChanged() to slot translateInputWidget() if auto-translation of splitview is disabled. Task-number: QTBUG-20813 Reviewed-by: Miikka Heikkinen (cherry picked from commit de12ff38f2be5362321aa8e79cfbfd9692e18ab0) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index c3d293b..d0dda83 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -474,7 +474,7 @@ void QCoeFepInputContext::resetSplitViewWidget(bool keepInputWidget) if (!alwaysResize) { if (gv->scene()) { - if (gv->scene()->focusItem()) { + if (gv->scene()->focusItem() && S60->partial_keyboardAutoTranslation) { // Check if the widget contains cursorPositionChanged signal and disconnect from it. QByteArray signal = QMetaObject::normalizedSignature(SIGNAL(cursorPositionChanged())); int index = gv->scene()->focusItem()->toGraphicsObject()->metaObject()->indexOfSignal(signal.right(signal.length() - 1)); @@ -580,7 +580,7 @@ void QCoeFepInputContext::ensureFocusWidgetVisible(QWidget *widget) if (!moveWithinVisibleArea) { // Check if the widget contains cursorPositionChanged signal and connect to it. QByteArray signal = QMetaObject::normalizedSignature(SIGNAL(cursorPositionChanged())); - if (gv->scene() && gv->scene()->focusItem()) { + if (gv->scene() && gv->scene()->focusItem() && S60->partial_keyboardAutoTranslation) { int index = gv->scene()->focusItem()->toGraphicsObject()->metaObject()->indexOfSignal(signal.right(signal.length() - 1)); if (index != -1) connect(gv->scene()->focusItem()->toGraphicsObject(), SIGNAL(cursorPositionChanged()), this, SLOT(translateInputWidget())); -- cgit v0.12 From b7f1dc2da720ba371b7f46f168ea271f0372c7f6 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Wed, 17 Aug 2011 12:52:09 +1000 Subject: Fix delayed password masking mid-string. Unmask the last character typed, not the last character in the string. Change-Id: I9c70d2347bf878c18ab0a7f4ea76f755ca19a85c Task-number: QTBUG-17003 Reviewed-by: Alan Alpert (cherry picked from commit b98e9e69dd8ba33d5f01b9518d95b63b86c4b443) Reapplied after bad v4.7.4 merge --- src/gui/widgets/qlinecontrol.cpp | 6 +++--- tests/auto/qlineedit/tst_qlineedit.cpp | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp index a879b49..198bc04 100644 --- a/src/gui/widgets/qlinecontrol.cpp +++ b/src/gui/widgets/qlinecontrol.cpp @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE #ifdef QT_GUI_PASSWORD_ECHO_DELAY -static int qt_passwordEchoDelay = QT_GUI_PASSWORD_ECHO_DELAY; +static const int qt_passwordEchoDelay = QT_GUI_PASSWORD_ECHO_DELAY; #endif /*! @@ -93,8 +93,8 @@ void QLineControl::updateDisplayText(bool forceUpdate) if (m_echoMode == QLineEdit::Password) { str.fill(m_passwordCharacter); #ifdef QT_GUI_PASSWORD_ECHO_DELAY - if (m_passwordEchoTimer != 0 && !str.isEmpty()) { - int cursor = m_text.length() - 1; + if (m_passwordEchoTimer != 0 && m_cursor > 0 && m_cursor <= m_text.length()) { + int cursor = m_cursor - 1; QChar uc = m_text.at(cursor); str[cursor] = uc; if (cursor > 0 && uc.unicode() >= 0xdc00 && uc.unicode() < 0xe000) { diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp index 1f33458..3276375 100644 --- a/tests/auto/qlineedit/tst_qlineedit.cpp +++ b/tests/auto/qlineedit/tst_qlineedit.cpp @@ -1764,6 +1764,13 @@ void tst_QLineEdit::passwordEchoDelay() QApplication::sendEvent(testWidget, &ev); QCOMPARE(testWidget->displayText(), QString(7, fillChar) + QLatin1Char('7')); + testWidget->setCursorPosition(3); + QCOMPARE(testWidget->displayText(), QString(7, fillChar) + QLatin1Char('7')); + QTest::keyPress(testWidget, 'a'); + QCOMPARE(testWidget->displayText(), QString(3, fillChar) + QLatin1Char('a') + QString(5, fillChar)); + QTest::keyPress(testWidget, Qt::Key_Backspace); + QCOMPARE(testWidget->displayText(), QString(8, fillChar)); + // restore clean state testWidget->setEchoMode(QLineEdit::Normal); } -- cgit v0.12 From b6dbe0a064139a0c45e374f87518d71195965fb0 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Wed, 17 Aug 2011 11:46:16 +0300 Subject: Handle CloseSoftwareInputPanel event in QCoeFepInputContext Handle CloseSoftwareInputPanel event in QCoeFepInputContext (i.e. notify the native side that SIP needs to be closed). Note that event is not consumed. Task-number: QTBUG-20033 Reviewed-by: Miikka Heikkinen (cherry picked from commit 5aef1b278488fb889e298ce858ae299b83edf5ed) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index d0dda83..2202d3a 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -252,9 +252,6 @@ bool QCoeFepInputContext::needsInputPanel() bool QCoeFepInputContext::filterEvent(const QEvent *event) { - // The CloseSoftwareInputPanel event is not handled here, because the VK will automatically - // close when it discovers that the underlying widget does not have input capabilities. - if (!focusWidget()) return false; @@ -318,6 +315,11 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) if (!needsInputPanel()) return false; + if (event->type() == QEvent::CloseSoftwareInputPanel) { + m_fepState->ReportAknEdStateEventL(MAknEdStateObserver::EAknClosePenInputRequest); + return false; + } + if (event->type() == QEvent::RequestSoftwareInputPanel) { // Only request virtual keyboard if it is not yet active or if this is the first time // panel is requested for this application. -- cgit v0.12 From 829f6e1cfedbfc3cb6826e331af7ad7c853351b8 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 17 Aug 2011 12:57:14 +0300 Subject: Symbian: Fix backspace on empty lines of multiline textedits Backspace on empty lines of multiline textedits didn't work because in Symbian the virtual keyboard only gets one block of text at a time, and there is some internal optimization in FEP that if the document is empty, backspace doesn't get generated. Fixed by faking document lenght to be one in cases where it is actually zero, except for password fields with hidden text, as an extra asterisk would be generated in those cases. Typically password fields are not multiline so this shouldn't be a problem. Task-number: QTBUG-20444 Reviewed-by: Sami Merila (cherry picked from commit a2709ef3f4410a1d1755e00353e6f969f8bb5613) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 2202d3a..e22e27c 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -1089,7 +1089,18 @@ TInt QCoeFepInputContext::DocumentLengthForFep() const return 0; QVariant variant = w->inputMethodQuery(Qt::ImSurroundingText); - return variant.value().size() + m_preeditString.size(); + + int size = variant.value().size() + m_preeditString.size(); + + // To fix an issue with backspaces not being generated if document size is zero, + // fake document length to be at least one always, except when dealing with + // hidden text widgets, where this faking would generate extra asterisk. Since the + // primary use of hidden text widgets is password fields, they are unlikely to + // support multiple lines anyway. + if (size == 0 && !(m_textCapabilities & TCoeInputCapabilities::ESecretText)) + size = 1; + + return size; } TInt QCoeFepInputContext::DocumentMaximumLengthForFep() const @@ -1172,6 +1183,12 @@ void QCoeFepInputContext::GetEditorContentForFep(TDes& aEditorContent, TInt aDoc // FEP expects the preedit string to be part of the editor content, so let's mix it in. int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt(); text.insert(cursor, m_preeditString); + + // Add additional space to empty non-password text to compensate + // for the fake length we specified in DocumentLengthForFep(). + if (text.size() == 0 && !(m_textCapabilities & TCoeInputCapabilities::ESecretText)) + text += QChar(0x20); + aEditorContent.Copy(qt_QString2TPtrC(text.mid(aDocumentPosition, aLengthToRetrieve))); } -- cgit v0.12 From 23c5cfdb1b7d3549dd114065669894ac254b5d66 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 18 Aug 2011 09:24:13 +0300 Subject: Compile fix for Symbian 5th and earlier Additional fix to enable compilation of Qt GUI to succeed on earlier Symbian SDKs. Task-number: QTBUG-20033 Reviewed-by: Kalle Lehtonen (cherry picked from commit 95df5be87b37da139dba33b06aaf6e2a251be698) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index e22e27c..d545f2e 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -64,6 +64,8 @@ #define QT_EAknCursorPositionChanged MAknEdStateObserver::EAknEdwinStateEvent(6) // MAknEdStateObserver::EAknActivatePenInputRequest #define QT_EAknActivatePenInputRequest MAknEdStateObserver::EAknEdwinStateEvent(7) +// MAknEdStateObserver::EAknClosePenInputRequest +#define QT_EAknClosePenInputRequest MAknEdStateObserver::EAknEdwinStateEvent(10) // EAknEditorFlagSelectionVisible is only valid from 3.2 onwards. // Sym^3 AVKON FEP manager expects that this flag is used for FEP-aware editors @@ -315,8 +317,9 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) if (!needsInputPanel()) return false; - if (event->type() == QEvent::CloseSoftwareInputPanel) { - m_fepState->ReportAknEdStateEventL(MAknEdStateObserver::EAknClosePenInputRequest); + if ((event->type() == QEvent::CloseSoftwareInputPanel) + && (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0)) { + m_fepState->ReportAknEdStateEventL(QT_EAknClosePenInputRequest); return false; } -- cgit v0.12 From d88772c75302f607c8b7ca8540bef7be2d46a16b Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 18 Aug 2011 15:43:55 +0300 Subject: Exact word bubble doesn't disappear when screen is tapped Sync FEP-aware text editors state to native side. Thus, native side can then do various operations based on editor state - such as removing the user typed 'exact word bubble'. Task-number: QTBUG-20919 Reviewed-by: Miikka Heikkinen (cherry picked from commit 1679b2d71f4f573699aad20aebf4eacc7605fdc8) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index d545f2e..8bdaa22 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -1077,6 +1077,10 @@ void QCoeFepInputContext::CancelFepInlineEdit() if (m_hasTempPreeditString) return; + // Sync with native side editor state. Native side can then do various operations + // based on editor state, such as removing 'exact word bubble'. + ReportAknEdStateEvent(MAknEdStateObserver::EAknSyncEdwinState); + QList attributes; QInputMethodEvent event(QLatin1String(""), attributes); event.setCommitString(QLatin1String(""), 0, 0); -- cgit v0.12 From a8eaaf4dec21e7c671805db2ae8f6e3b6b18f80e Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Fri, 19 Aug 2011 14:49:27 +0300 Subject: Exact word bubble doesn't disappear when screen is tapped (fix part 2) Prevent syncing with native side, if input capability changes are pending. Native side seems to be rather touchy about extra events, and might crash if syncing is requested while handling a capability change is on-going. Additionally, only cancel the transaction once. Otherwise cancellation might lead into loop (since we sync the state with native side) that eventually causes the application to crash. Task-number: QTBUG-20919 Reviewed-by: Miikka Heikkinen (cherry picked from commit b186288cbf796be662f86ae4d5c70e39ba6afb67) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_p.h | 1 + src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h index 9857015..8c30838 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_p.h +++ b/src/gui/inputmethod/qcoefepinputcontext_p.h @@ -154,6 +154,7 @@ private: TUint m_textCapabilities; bool m_inDestruction; bool m_pendingInputCapabilitiesChanged; + bool m_pendingTransactionCancel; int m_cursorVisibility; int m_inlinePosition; MFepInlineTextFormatRetriever *m_formatRetriever; diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 8bdaa22..9cf4212 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -109,6 +109,7 @@ QCoeFepInputContext::QCoeFepInputContext(QObject *parent) m_textCapabilities(TCoeInputCapabilities::EAllText), m_inDestruction(false), m_pendingInputCapabilitiesChanged(false), + m_pendingTransactionCancel(false), m_cursorVisibility(1), m_inlinePosition(0), m_formatRetriever(0), @@ -1074,12 +1075,10 @@ void QCoeFepInputContext::CancelFepInlineEdit() // We are not supposed to ever have a tempPreeditString and a real preedit string // from S60 at the same time, so it should be safe to rely on this test to determine // whether we should honor S60's request to clear the text or not. - if (m_hasTempPreeditString) + if (m_hasTempPreeditString || m_pendingTransactionCancel) return; - // Sync with native side editor state. Native side can then do various operations - // based on editor state, such as removing 'exact word bubble'. - ReportAknEdStateEvent(MAknEdStateObserver::EAknSyncEdwinState); + m_pendingTransactionCancel = true; QList attributes; QInputMethodEvent event(QLatin1String(""), attributes); @@ -1087,6 +1086,13 @@ void QCoeFepInputContext::CancelFepInlineEdit() m_preeditString.clear(); m_inlinePosition = 0; sendEvent(event); + + // Sync with native side editor state. Native side can then do various operations + // based on editor state, such as removing 'exact word bubble'. + if (!m_pendingInputCapabilitiesChanged) + ReportAknEdStateEvent(MAknEdStateObserver::EAknSyncEdwinState); + + m_pendingTransactionCancel = false; } TInt QCoeFepInputContext::DocumentLengthForFep() const -- cgit v0.12 From 8297bf8a201bff3159e6ee6750e2611af58fd7a7 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Jun 2011 14:11:09 +0200 Subject: Added an additional check to workaround an issue on Windows. Reviewed-by: David Boddie Original-patch-by: Friedemann Kleint (cherry picked from commit 8b1654ec6a892e84c1654c9196e80461ee6e92fa) (cherry picked from commit d62bb74d329b6ee5f6c52ac26e11bfe9a27f56a0) Reapplied after bad v4.7.4 merge --- tools/qdoc3/cppcodemarker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp index 9591801..2067716 100644 --- a/tools/qdoc3/cppcodemarker.cpp +++ b/tools/qdoc3/cppcodemarker.cpp @@ -953,7 +953,7 @@ QString CppCodeMarker::addMarkUp(const QString &in, ident += ch; finish = i; readChar(); - } while (isalnum(ch) || ch == '_'); + } while (ch >= 0 && isalnum(ch) || ch == '_'); if (classRegExp.exactMatch(ident)) { tag = QLatin1String("type"); -- cgit v0.12 From 6a61f377c2bf8aab036a9b75903d47a67251b658 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Mon, 22 Aug 2011 17:09:01 +0300 Subject: Symbian: Not possible to catch RequestSoftwareInputPanel in eventFilter Do not consume QEvent::RequestSoftwareInputPanel in QCoeFepInputContext. Task-number: QTBUG-20155 Reviewed-by: Miikka Heikkinen (cherry picked from commit 076ac0ee55b54ae3759af76cf5790e31fbd0f7e5) Reapplied after bad v4.7.4 merge --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 9cf4212..bc27c1e 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -360,10 +360,6 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) if (sControl) { sControl->setIgnoreFocusChanged(false); } - //If m_pointerHandler has already been set, it means that fep inline editing is in progress. - //When this is happening, do not filter out pointer events. - if (!m_pointerHandler) - return true; } } -- cgit v0.12 From 35d3cd9e56e2c8fd84b2ea94bd12e01d7890fab9 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Tue, 30 Aug 2011 11:33:01 +0200 Subject: QSslCertificate: blacklist fraudulent *.google.com blacklist the leaf certificate for now. There might well be more fake certificates in the wild, for that either the Diginotar.nl root cert needs to be disabled on the system or OCSP would need to be enabled (not supported by Qt yet). Reviewed-by: Richard J. Moore --- src/network/ssl/qsslcertificate.cpp | 1 + .../blacklisted-google.com-diginotar.pem | 30 ++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 tests/auto/qsslcertificate/more-certificates/blacklisted-google.com-diginotar.pem diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index 328c5c2..be3276d 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -812,6 +812,7 @@ static const char *certificate_blacklist[] = { "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", + "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", 0 }; diff --git a/tests/auto/qsslcertificate/more-certificates/blacklisted-google.com-diginotar.pem b/tests/auto/qsslcertificate/more-certificates/blacklisted-google.com-diginotar.pem new file mode 100644 index 0000000..12bbcae --- /dev/null +++ b/tests/auto/qsslcertificate/more-certificates/blacklisted-google.com-diginotar.pem @@ -0,0 +1,30 @@ +-----BEGIN CERTIFICATE----- +MIIFKDCCBBCgAwIBAgIQBeLmpM0J6lTWZbB1/iKiVjANBgkqhkiG9w0BAQUFADBm +MQswCQYDVQQGEwJOTDESMBAGA1UEChMJRGlnaU5vdGFyMSEwHwYDVQQDExhEaWdp +Tm90YXIgUHVibGljIENBIDIwMjUxIDAeBgkqhkiG9w0BCQEWEWluZm9AZGlnaW5v +dGFyLm5sMB4XDTExMDcxMDE5MDYzMFoXDTEzMDcwOTE5MDYzMFowajELMAkGA1UE +BhMCVVMxEzARBgNVBAoTCkdvb2dsZSBJbmMxFjAUBgNVBAcTDU1vdW50YWluIFZp +ZXcxFzAVBgNVBAUTDlBLMDAwMjI5MjAwMDAyMRUwEwYDVQQDEwwqLmdvb2dsZS5j +b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDNbeKubCV0aCxhOiOS +CSQ/w9HXTYuD5BLKuiqXNw3setdTymeJz2L8aWOHo3nicFNDVwWTgwWomGNr2J6Q +7g1iINNSW0rR4E1l2szRkcnAY6c6i/Eke93nF4i2hDsnIBveolF5yjpuRm73uQQD +ulHjA3BFRF/PTi0fw2/Yt+8ieoMuNcMWN6Eou5Gqt5YZkWv176ofeCbsBmMrP87x +OhhtTDckCapk4VQZG2XrfzZcV6tdzCp5TI8uHdu17cdzXm1imZ8tyvzFeiCEOQN8 +vPNzB/fIr3CJQ5q4uM5aKT3DD5PeVzf4rfJKQNgCTWiIBc9XcWEUuszwAsnmg7e2 +EJRdAgMBAAGjggHMMIIByDA6BggrBgEFBQcBAQQuMCwwKgYIKwYBBQUHMAGGHmh0 +dHA6Ly92YWxpZGF0aW9uLmRpZ2lub3Rhci5ubDAfBgNVHSMEGDAWgBTfM8Cvkv43 +/LbYFhbQ2bGR1fpupTAJBgNVHRMEAjAAMIHGBgNVHSAEgb4wgbswgbgGDmCEEAGH +aQEBAQIEAQICMIGlMCcGCCsGAQUFBwIBFhtodHRwOi8vd3d3LmRpZ2lub3Rhci5u +bC9jcHMwegYIKwYBBQUHAgIwbhpsQ29uZGl0aW9ucywgYXMgbWVudGlvbmVkIG9u +IG91ciB3ZWJzaXRlICh3d3cuZGlnaW5vdGFyLm5sKSwgYXJlIGFwcGxpY2FibGUg +dG8gYWxsIG91ciBwcm9kdWN0cyBhbmQgc2VydmljZXMuMEkGA1UdHwRCMEAwPqA8 +oDqGOGh0dHA6Ly9zZXJ2aWNlLmRpZ2lub3Rhci5ubC9jcmwvcHVibGljMjAyNS9s +YXRlc3RDUkwuY3JsMA4GA1UdDwEB/wQEAwIEsDAbBgNVHREEFDASgRBhZG1pbkBn +b29nbGUuY29tMB0GA1UdDgQWBBQHSn0WJzIo0eMBMQUNsMqN6eF/7TANBgkqhkiG +9w0BAQUFAAOCAQEAAs5dL7N9wzRJkI4Aq4lC5t8j5ZadqnqUcgYLADzSv4ExytNH +UY2nH6iVTihC0UPSsILWraoeApdT7Rphz/8DLQEBRGdeKWAptNM3EbiXtQaZT2uB +pidL8UoafX0kch3f71Y1scpBEjvu5ZZLnjg0A8AL0tnsereOVdDpU98bKqdbbrnM +FRmBlSf7xdaNca6JJHeEpga4E9Ty683CmccrSGXdU2tTCuHEJww+iOAUtPIZcsum +U7/eYeY1pMyGLyIjbNgRY7nDzRwvM/BsbL9eh4/mSQj/4nncqJd22sVQpCggQiVK +baB2sVGcVNBkK55bT8gPqnx8JypubyUvayzZGg== +-----END CERTIFICATE----- -- cgit v0.12 From 726cf479c1c03a5562841aacb7c1e7677e711c90 Mon Sep 17 00:00:00 2001 From: Honglei Zhang Date: Tue, 30 Aug 2011 17:42:15 +0300 Subject: Fix QXmlSimpleReader auto test failer Bug fix for QTBUG-21025 has introduced a auto test failure. One added xml file has typo and failed a test driver. The extra charactor is removed from the test xml file. Task-number: QTBUG-21025 Reviewed-by: Trust Me --- tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml index 5550dab..0e7b9cc 100644 --- a/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml +++ b/tests/auto/qxmlsimplereader/xmldocs/valid/ext-sa/015.xml @@ -1,6 +1,5 @@ + ]> &e; - -- cgit v0.12 From 131647aa8f90ea90905eb376697998939df049d6 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 30 Aug 2011 14:58:33 +0300 Subject: Fix Symbian system date format parsing. System date format parsing didn't work correctly when the format was locale-dependent (i.e. didn't have %F). The abbreviations of day, month, and year where not taken into account if they were specified in their proper place, i.e. with %*D, %*M, or %*Y parameter. Task-number: QT-5237 Reviewed-by: Sami Merila --- src/corelib/tools/qlocale_symbian.cpp | 63 ++++++++++++++++++++++++++++++----- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp index cdf0ab1..1214e46 100644 --- a/src/corelib/tools/qlocale_symbian.cpp +++ b/src/corelib/tools/qlocale_symbian.cpp @@ -195,7 +195,9 @@ QByteArray qt_symbianLocaleName(int code) return qt_resolveSymbianLocaleName(code, ISO); } -// order is: normal, abbr, nmode, nmode+abbr +// Rows are: normal, abbr, nmode, nmode+abbr +// First three values on a row are used for three component date, +// while the last two are used for two component date (i.e. no year). static const char *us_locale_dep[] = { "MM", "dd", "yyyy", "MM", "dd", "M", "d", "yy", "M", "d", @@ -214,6 +216,13 @@ static const char *jp_locale_dep[] = { "yyyy", "MMMM", "dd", "MMMM", "dd", "yy", "MMM", "d", "MMM", "d" }; +// 0 = day, 1 = month, 2 = year +static const int digit_map[] = { + 1, 0, 2, 1, 0, // American + 0, 1, 2, 0, 1, // European + 2, 1, 0, 1, 0 // Japanese +}; + /*! Returns a Qt version of the given \a sys_fmt Symbian locale format string. */ @@ -229,6 +238,9 @@ static QString s60ToQtFormat(const QString &sys_fmt) int i = 0; bool open_escape = false; bool abbrev_next = false; + bool abbrev_day = false; + bool abbrev_month = false; + bool abbrev_year = false; bool locale_indep_ordering = false; bool minus_mode = false; bool plus_mode = false; @@ -305,8 +317,11 @@ static QString s60ToQtFormat(const QString &sys_fmt) case 'D': { - if (!locale_indep_ordering) + if (!locale_indep_ordering) { + if (abbrev_next) + abbrev_day = true; break; + } if (!abbrev_next) result += QLatin1String("dd"); @@ -318,8 +333,11 @@ static QString s60ToQtFormat(const QString &sys_fmt) case 'M': { - if (!locale_indep_ordering) + if (!locale_indep_ordering) { + if (abbrev_next) + abbrev_month = true; break; + } if (!n_mode) { if (!abbrev_next) @@ -340,8 +358,11 @@ static QString s60ToQtFormat(const QString &sys_fmt) { n_mode = true; - if (!locale_indep_ordering) + if (!locale_indep_ordering) { + if (abbrev_next) + abbrev_month = true; break; + } if (!abbrev_next) result += QLatin1String("MMMM"); @@ -353,8 +374,11 @@ static QString s60ToQtFormat(const QString &sys_fmt) case 'Y': { - if (!locale_indep_ordering) + if (!locale_indep_ordering) { + if (abbrev_next) + abbrev_year = true; break; + } if (!abbrev_next) result += QLatin1String("yyyy"); @@ -522,7 +546,9 @@ static QString s60ToQtFormat(const QString &sys_fmt) const char **locale_dep; switch (df) { - default: // fallthru to american + default: + df = EDateAmerican; + // fallthru to american case EDateAmerican: locale_dep = us_locale_dep; break; @@ -534,12 +560,33 @@ static QString s60ToQtFormat(const QString &sys_fmt) break; } int offset = 0; - if (abbrev_next) + int adjustedDigit = c.digitValue() - 1; + + bool abbrev_this = abbrev_next; + // If abbreviation specified for this digit, use that. + // Otherwise abbreviate according to %D, %M, and %Y specified previously. + if (!abbrev_this) { + switch (digit_map[adjustedDigit + (static_cast(df) * 5)]) { + case 0: + abbrev_this = abbrev_day; + break; + case 1: + abbrev_this = abbrev_month; + break; + case 2: + abbrev_this = abbrev_year; + break; + default: + break; // never happens + } + } + + if (abbrev_this) offset += 5; if (n_mode) offset += 10; - result += QLatin1String(locale_dep[offset + (c.digitValue()-1)]); + result += QLatin1String(locale_dep[offset + (adjustedDigit)]); break; } -- cgit v0.12 From c2e2dd9f1f4e79095de6ab095ca4568894311233 Mon Sep 17 00:00:00 2001 From: Ademar de Souza Reis Jr Date: Tue, 30 Aug 2011 17:49:29 -0300 Subject: Updated WebKit to fb3b4700aa5abbb2db471b4f0eb7946ce4850cc4 Changes since last sync: [https://webkit.org/b/61235 #61235]: JavaScriptCore doesn't build on MinGW-w64 [https://webkit.org/b/67055 #67055]: [Qt] Do not unconditionally use pkg-config in .pro files --- src/3rdparty/webkit/.tag | 2 +- .../webkit/Source/JavaScriptCore/ChangeLog | 36 ++++++++++++++++++++++ .../webkit/Source/JavaScriptCore/wtf/Platform.h | 4 +-- .../webkit/Source/JavaScriptCore/wtf/wtf.pri | 2 +- src/3rdparty/webkit/Source/WebCore/ChangeLog | 23 ++++++++++++++ src/3rdparty/webkit/Source/WebCore/features.pri | 2 +- src/3rdparty/webkit/VERSION | 2 +- 7 files changed, 65 insertions(+), 6 deletions(-) diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index a560e52..8f212e7 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -dda59e50379214c098f365a39c4d64b39ced427e +fb3b4700aa5abbb2db471b4f0eb7946ce4850cc4 diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog index 010e66a..6b074b2 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog @@ -1,3 +1,39 @@ +2011-08-30 Ademar de Souza Reis Jr. + + [Qt] Do not unconditionally use pkg-config in .pro files + https://bugs.webkit.org/show_bug.cgi?id=67055 + + Reviewed by Andreas Kling. + + Original patch from Rohan McGovern + + Using the first pkg-config in PATH is prone to errors when cross + compiling inside the Qt repository (using Qt's build-system). + + This patch protect calls for pkg-config with + !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to + QT_CONFIG by Qt's 'configure' when cross-compiling on systems + without pkg-config. + + The respective change in Qt's configure has been submited already. + + No new tests as this is just a build change. + + * wtf/wtf.pri: protect pkg-config calls + +2011-08-28 Jonathan Liu + + Fix build error when compiling with MinGW-w64 by disabling JIT + on Windows 64-bit + https://bugs.webkit.org/show_bug.cgi?id=61235 + + Reviewed by Gavin Barraclough. + + The fixed mmap executable allocator for JIT on x86_64 requires + sys/mman.h which is not available on Windows. + + * wtf/Platform.h: + 2011-08-26 Ademar de Souza Reis Jr. [Qt] libwebcore.a source is compiled without -fvisibility=hidden diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h index 8309acc..be0a451 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h @@ -1014,8 +1014,8 @@ #define ENABLE_JIT 0 #endif -/* JIT is not implemented for 64 bit on MSVC */ -#if !defined(ENABLE_JIT) && COMPILER(MSVC) && CPU(X86_64) +/* JIT is not implemented for Windows 64-bit */ +#if !defined(ENABLE_JIT) && OS(WINDOWS) && CPU(X86_64) #define ENABLE_JIT 0 #endif diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/wtf.pri b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/wtf.pri index 5af613e..ccc2f60 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/wtf.pri +++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/wtf.pri @@ -42,7 +42,7 @@ SOURCES += \ wtf/unicode/UTF8.cpp linux-*:!contains(DEFINES, USE_QTMULTIMEDIA=1) { - !contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10) { + !contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10): { DEFINES += ENABLE_GLIB_SUPPORT=1 PKGCONFIG += glib-2.0 gio-2.0 CONFIG += link_pkgconfig diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog index 41d2ba7..ee257a7 100644 --- a/src/3rdparty/webkit/Source/WebCore/ChangeLog +++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog @@ -1,3 +1,26 @@ +2011-08-30 Ademar de Souza Reis Jr. + + [Qt] Do not unconditionally use pkg-config in .pro files + https://bugs.webkit.org/show_bug.cgi?id=67055 + + Reviewed by Andreas Kling. + + Original patch from Rohan McGovern + + Using the first pkg-config in PATH is prone to errors when cross + compiling inside the Qt repository (using Qt's build-system). + + This patch protect calls for pkg-config with + !contains(QT_CONFIG, no-pkg-config). no-pkg-config is added to + QT_CONFIG by Qt's 'configure' when cross-compiling on systems + without pkg-config. + + The respective change in Qt's configure has been submited already. + + No new tests as this is just a build change. + + * features.pri: protect pkg-config calls + 2011-08-25 Ademar de Souza Reis Jr. [Qt] Enable password echo on Symbian builds diff --git a/src/3rdparty/webkit/Source/WebCore/features.pri b/src/3rdparty/webkit/Source/WebCore/features.pri index 3e397a1..f04d0b4 100644 --- a/src/3rdparty/webkit/Source/WebCore/features.pri +++ b/src/3rdparty/webkit/Source/WebCore/features.pri @@ -168,7 +168,7 @@ symbian|maemo5|maemo6 { DEFINES += WTF_USE_QTKIT=1 DEFINES -= WTF_USE_QTKIT=0 } else: linux-*:!contains(DEFINES, USE_QTMULTIMEDIA=1) { - !contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10) { + !contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 gstreamer-0.10): { DEFINES -= ENABLE_VIDEO=0 DEFINES += ENABLE_VIDEO=1 DEFINES += WTF_USE_GSTREAMER=1 diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 413f504..7c1b678 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - dda59e50379214c098f365a39c4d64b39ced427e + fb3b4700aa5abbb2db471b4f0eb7946ce4850cc4 -- cgit v0.12 From 28538fcc543a9231191b9d6d2c573dc9917856ef Mon Sep 17 00:00:00 2001 From: Tomi Vihria Date: Wed, 31 Aug 2011 09:40:06 +0300 Subject: Freeze and re-enable def files for Symbian Task-number: QT-5158 Reviewed-by: Sami Merila --- config.profiles/symbian/bld.inf | 2 +- src/s60installs/bwins/QtCoreu.def | 785 +++++++------ src/s60installs/bwins/QtDeclarativeu.def | 125 +- src/s60installs/bwins/QtGuiu.def | 1850 ++++++++++++++---------------- src/s60installs/bwins/QtMultimediau.def | 31 +- src/s60installs/bwins/QtNetworku.def | 212 ++-- src/s60installs/bwins/QtOpenGLu.def | 306 ++--- src/s60installs/bwins/QtOpenVGu.def | 1 + src/s60installs/bwins/QtScriptu.def | 10 +- src/s60installs/bwins/QtSqlu.def | 27 +- src/s60installs/bwins/QtSvgu.def | 12 +- src/s60installs/bwins/QtTestu.def | 4 +- src/s60installs/bwins/QtXmlPatternsu.def | 11 +- src/s60installs/bwins/QtXmlu.def | 7 + src/s60installs/bwins/phononu.def | 58 +- src/s60installs/eabi/QtCoreu.def | 893 +++++++------- src/s60installs/eabi/QtDeclarativeu.def | 131 +-- src/s60installs/eabi/QtGuiu.def | 1196 ++++++++++--------- src/s60installs/eabi/QtNetworku.def | 204 ++-- src/s60installs/eabi/QtOpenGLu.def | 111 +- src/s60installs/eabi/QtOpenVGu.def | 1 + src/s60installs/eabi/QtSqlu.def | 6 +- src/s60installs/eabi/QtTestu.def | 8 +- 23 files changed, 2947 insertions(+), 3044 deletions(-) diff --git a/config.profiles/symbian/bld.inf b/config.profiles/symbian/bld.inf index 91b90c2..6ccb11c 100644 --- a/config.profiles/symbian/bld.inf +++ b/config.profiles/symbian/bld.inf @@ -80,5 +80,5 @@ translations/qt_zh_tw_symbian.ts /epoc32/include/platform/qt/translations/qt_zh_ PRJ_EXTENSIONS START EXTENSION qt/qtconfig OPTION QT_ROOT .. -OPTION OPTIONS -opensource -confirm-license -openvg -opengl-es-2 -script -no-scripttools -no-webkit -make make -graphicssystem openvg -phonon -phonon-backend -no-usedeffiles -dont-process -nomake examples -nomake demos -nomake tools -audio-backend -fpu softvfp+vfpv2 +OPTION OPTIONS -opensource -confirm-license -openvg -opengl-es-2 -script -no-scripttools -no-webkit -make make -graphicssystem openvg -phonon -phonon-backend -usedeffiles -dont-process -nomake examples -nomake demos -nomake tools -audio-backend -fpu softvfp+vfpv2 END \ No newline at end of file diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def index 35f4e6c..7e9e03c 100644 --- a/src/s60installs/bwins/QtCoreu.def +++ b/src/s60installs/bwins/QtCoreu.def @@ -4489,399 +4489,394 @@ EXPORTS ?symbianCommandLine@QCoreApplicationPrivate@@SAPAVCApaCommandLine@@XZ @ 4488 NONAME ; class CApaCommandLine * QCoreApplicationPrivate::symbianCommandLine(void) ?revision@QMetaProperty@@QBEHXZ @ 4489 NONAME ; int QMetaProperty::revision(void) const ?revision@QMetaMethod@@QBEHXZ @ 4490 NONAME ; int QMetaMethod::revision(void) const - ?indexOf@QStringRef@@QBEHABV1@HW4CaseSensitivity@Qt@@@Z @ 4491 NONAME ; int QStringRef::indexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const - ?count@QString@@QBEHABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4492 NONAME ; int QString::count(class QStringRef const &, enum Qt::CaseSensitivity) const - ?swap@QString@@QAEXAAV1@@Z @ 4493 NONAME ; void QString::swap(class QString &) - ?trUtf8@QAnimationDriver@@SA?AVQString@@PBD0H@Z @ 4494 NONAME ; class QString QAnimationDriver::trUtf8(char const *, char const *, int) - ?startsWith@QStringRef@@QBE_NVQChar@@W4CaseSensitivity@Qt@@@Z @ 4495 NONAME ; bool QStringRef::startsWith(class QChar, enum Qt::CaseSensitivity) const - ?setNativeKey@QSharedMemory@@QAEXABVQString@@@Z @ 4496 NONAME ; void QSharedMemory::setNativeKey(class QString const &) - ??0QAnimationDriver@@IAE@AAVQAnimationDriverPrivate@@PAVQObject@@@Z @ 4497 NONAME ; QAnimationDriver::QAnimationDriver(class QAnimationDriverPrivate &, class QObject *) - ?timerEvent@QUnifiedTimer@@MAEXPAVQTimerEvent@@@Z @ 4498 NONAME ; void QUnifiedTimer::timerEvent(class QTimerEvent *) - ?registerAnimation@QUnifiedTimer@@SAXPAVQAbstractAnimation@@_N@Z @ 4499 NONAME ; void QUnifiedTimer::registerAnimation(class QAbstractAnimation *, bool) - ?startsWith@QStringRef@@QBE_NABV1@W4CaseSensitivity@Qt@@@Z @ 4500 NONAME ; bool QStringRef::startsWith(class QStringRef const &, enum Qt::CaseSensitivity) const - ?contains@QStringRef@@QBE?AVQBool@@ABV1@W4CaseSensitivity@Qt@@@Z @ 4501 NONAME ; class QBool QStringRef::contains(class QStringRef const &, enum Qt::CaseSensitivity) const - ?startsWith@QStringRef@@QBE_NVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 4502 NONAME ; bool QStringRef::startsWith(class QLatin1String, enum Qt::CaseSensitivity) const - ?cast@QMetaObject@@QBEPBVQObject@@PBV2@@Z @ 4503 NONAME ; class QObject const * QMetaObject::cast(class QObject const *) const - ?ensureTimerUpdate@QUnifiedTimer@@SAXXZ @ 4504 NONAME ; void QUnifiedTimer::ensureTimerUpdate(void) - ?contains@QStringRef@@QBE?AVQBool@@VQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 4505 NONAME ; class QBool QStringRef::contains(class QLatin1String, enum Qt::CaseSensitivity) const - ?d_func@QAnimationDriver@@ABEPBVQAnimationDriverPrivate@@XZ @ 4506 NONAME ; class QAnimationDriverPrivate const * QAnimationDriver::d_func(void) const - ?swap@QVariant@@QAEXAAV1@@Z @ 4507 NONAME ; void QVariant::swap(class QVariant &) - ?lastIndexOf@QStringRef@@QBEHABV1@HW4CaseSensitivity@Qt@@@Z @ 4508 NONAME ; int QStringRef::lastIndexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const - ?indexOf@QStringRef@@QBEHVQLatin1String@@HW4CaseSensitivity@Qt@@@Z @ 4509 NONAME ; int QStringRef::indexOf(class QLatin1String, int, enum Qt::CaseSensitivity) const - ?senderSignalIndex@QObject@@IBEHXZ @ 4510 NONAME ; int QObject::senderSignalIndex(void) const - ?toUtf8@QStringRef@@QBE?AVQByteArray@@XZ @ 4511 NONAME ; class QByteArray QStringRef::toUtf8(void) const - ?startsWith@QString@@QBE_NABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4512 NONAME ; bool QString::startsWith(class QStringRef const &, enum Qt::CaseSensitivity) const - ?unlockInternal@QMutex@@AAEXXZ @ 4513 NONAME ; void QMutex::unlockInternal(void) - ?updateAnimationsTime@QUnifiedTimer@@QAEXXZ @ 4514 NONAME ; void QUnifiedTimer::updateAnimationsTime(void) - ?swap@QBitArray@@QAEXAAV1@@Z @ 4515 NONAME ; void QBitArray::swap(class QBitArray &) - ?nativeKey@QSharedMemory@@QBE?AVQString@@XZ @ 4516 NONAME ; class QString QSharedMemory::nativeKey(void) const - ?connect@QObject@@SA_NPBV1@ABVQMetaMethod@@01W4ConnectionType@Qt@@@Z @ 4517 NONAME ; bool QObject::connect(class QObject const *, class QMetaMethod const &, class QObject const *, class QMetaMethod const &, enum Qt::ConnectionType) - ?registerRunningAnimation@QUnifiedTimer@@AAEXPAVQAbstractAnimation@@@Z @ 4518 NONAME ; void QUnifiedTimer::registerRunningAnimation(class QAbstractAnimation *) - ?disconnect@QObject@@SA_NPBV1@ABVQMetaMethod@@01@Z @ 4519 NONAME ; bool QObject::disconnect(class QObject const *, class QMetaMethod const &, class QObject const *, class QMetaMethod const &) - ?installAnimationDriver@QUnifiedTimer@@QAEXPAVQAnimationDriver@@@Z @ 4520 NONAME ; void QUnifiedTimer::installAnimationDriver(class QAnimationDriver *) - ?startsWith@QStringRef@@QBE_NABVQString@@W4CaseSensitivity@Qt@@@Z @ 4521 NONAME ; bool QStringRef::startsWith(class QString const &, enum Qt::CaseSensitivity) const - ?contains@QStringRef@@QBE?AVQBool@@VQChar@@W4CaseSensitivity@Qt@@@Z @ 4522 NONAME ; class QBool QStringRef::contains(class QChar, enum Qt::CaseSensitivity) const - ?unregisterAnimation@QUnifiedTimer@@SAXPAVQAbstractAnimation@@@Z @ 4523 NONAME ; void QUnifiedTimer::unregisterAnimation(class QAbstractAnimation *) - ?qt_metacast@QAnimationDriver@@UAEPAXPBD@Z @ 4524 NONAME ; void * QAnimationDriver::qt_metacast(char const *) - ?count@QStringRef@@QBEHABVQString@@W4CaseSensitivity@Qt@@@Z @ 4525 NONAME ; int QStringRef::count(class QString const &, enum Qt::CaseSensitivity) const - ?endsWith@QStringRef@@QBE_NVQChar@@W4CaseSensitivity@Qt@@@Z @ 4526 NONAME ; bool QStringRef::endsWith(class QChar, enum Qt::CaseSensitivity) const - ??0QUnifiedTimer@@AAE@XZ @ 4527 NONAME ; QUnifiedTimer::QUnifiedTimer(void) - ??0QCoreApplicationPrivate@@QAE@AAHPAPADI@Z @ 4528 NONAME ; QCoreApplicationPrivate::QCoreApplicationPrivate(int &, char * *, unsigned int) - ??0QCoreApplication@@QAE@AAHPAPADH@Z @ 4529 NONAME ; QCoreApplication::QCoreApplication(int &, char * *, int) - ??0QAnimationDriver@@QAE@PAVQObject@@@Z @ 4530 NONAME ; QAnimationDriver::QAnimationDriver(class QObject *) - ?lastIndexOf@QStringRef@@QBEHVQLatin1String@@HW4CaseSensitivity@Qt@@@Z @ 4531 NONAME ; int QStringRef::lastIndexOf(class QLatin1String, int, enum Qt::CaseSensitivity) const - ??0QAnimationDriverPrivate@@QAE@XZ @ 4532 NONAME ; QAnimationDriverPrivate::QAnimationDriverPrivate(void) - ?endsWith@QString@@QBE_NABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4533 NONAME ; bool QString::endsWith(class QStringRef const &, enum Qt::CaseSensitivity) const - ?trUtf8@QAnimationDriver@@SA?AVQString@@PBD0@Z @ 4534 NONAME ; class QString QAnimationDriver::trUtf8(char const *, char const *) - ?install@QAnimationDriver@@QAEXXZ @ 4535 NONAME ; void QAnimationDriver::install(void) - ?qt_metacall@QAnimationDriver@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4536 NONAME ; int QAnimationDriver::qt_metacall(enum QMetaObject::Call, int, void * *) - ?endsWith@QStringRef@@QBE_NABVQString@@W4CaseSensitivity@Qt@@@Z @ 4537 NONAME ; bool QStringRef::endsWith(class QString const &, enum Qt::CaseSensitivity) const - ?lockInline@QMutex@@QAEXXZ @ 4538 NONAME ; void QMutex::lockInline(void) - ?endsWith@QStringRef@@QBE_NABV1@W4CaseSensitivity@Qt@@@Z @ 4539 NONAME ; bool QStringRef::endsWith(class QStringRef const &, enum Qt::CaseSensitivity) const - ??_EQUnifiedTimer@@UAE@I@Z @ 4540 NONAME ; QUnifiedTimer::~QUnifiedTimer(unsigned int) - ?setTimingInterval@QUnifiedTimer@@QAEXH@Z @ 4541 NONAME ; void QUnifiedTimer::setTimingInterval(int) - ?closestPauseAnimationTimeToFinish@QUnifiedTimer@@AAEHXZ @ 4542 NONAME ; int QUnifiedTimer::closestPauseAnimationTimeToFinish(void) - ??0QXmlStreamAttributes@@QAE@XZ @ 4543 NONAME ; QXmlStreamAttributes::QXmlStreamAttributes(void) - ?lastIndexOf@QString@@QBEHABVQStringRef@@HW4CaseSensitivity@Qt@@@Z @ 4544 NONAME ; int QString::lastIndexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const - ??1QAnimationDriverPrivate@@UAE@XZ @ 4545 NONAME ; QAnimationDriverPrivate::~QAnimationDriverPrivate(void) - ?swap@QUrl@@QAEXAAV1@@Z @ 4546 NONAME ; void QUrl::swap(class QUrl &) - ??_EQAnimationDriverPrivate@@UAE@I@Z @ 4547 NONAME ; QAnimationDriverPrivate::~QAnimationDriverPrivate(unsigned int) - ??_EQAnimationDriver@@UAE@I@Z @ 4548 NONAME ; QAnimationDriver::~QAnimationDriver(unsigned int) - ?instance@QUnifiedTimer@@SAPAV1@_N@Z @ 4549 NONAME ; class QUnifiedTimer * QUnifiedTimer::instance(bool) - ?setSlowdownFactor@QUnifiedTimer@@QAEXM@Z @ 4550 NONAME ; void QUnifiedTimer::setSlowdownFactor(float) - ?isRunning@QAnimationDriver@@QBE_NXZ @ 4551 NONAME ; bool QAnimationDriver::isRunning(void) const - ?count@QStringRef@@QBEHABV1@W4CaseSensitivity@Qt@@@Z @ 4552 NONAME ; int QStringRef::count(class QStringRef const &, enum Qt::CaseSensitivity) const - ?contains@QStringRef@@QBE?AVQBool@@ABVQString@@W4CaseSensitivity@Qt@@@Z @ 4553 NONAME ; class QBool QStringRef::contains(class QString const &, enum Qt::CaseSensitivity) const - ?tryLockInline@QMutex@@QAE_NXZ @ 4554 NONAME ; bool QMutex::tryLockInline(void) - ?lastIndexOf@QStringRef@@QBEHABVQString@@HW4CaseSensitivity@Qt@@@Z @ 4555 NONAME ; int QStringRef::lastIndexOf(class QString const &, int, enum Qt::CaseSensitivity) const - ?lockInternal@QMutex@@AAEXXZ @ 4556 NONAME ; void QMutex::lockInternal(void) - ?toLocal8Bit@QStringRef@@QBE?AVQByteArray@@XZ @ 4557 NONAME ; class QByteArray QStringRef::toLocal8Bit(void) const - ?indexOf@QStringRef@@QBEHVQChar@@HW4CaseSensitivity@Qt@@@Z @ 4558 NONAME ; int QStringRef::indexOf(class QChar, int, enum Qt::CaseSensitivity) const - ?toUcs4@QStringRef@@QBE?AV?$QVector@I@@XZ @ 4559 NONAME ; class QVector QStringRef::toUcs4(void) const - ?staticMetaObject@QAnimationDriver@@2UQMetaObject@@B @ 4560 NONAME ; struct QMetaObject const QAnimationDriver::staticMetaObject - ?unregisterRunningAnimation@QUnifiedTimer@@AAEXPAVQAbstractAnimation@@@Z @ 4561 NONAME ; void QUnifiedTimer::unregisterRunningAnimation(class QAbstractAnimation *) - ?isLocalFile@QUrl@@QBE_NXZ @ 4562 NONAME ; bool QUrl::isLocalFile(void) const - ?swap@QByteArray@@QAEXAAV1@@Z @ 4563 NONAME ; void QByteArray::swap(class QByteArray &) - ?tr@QAnimationDriver@@SA?AVQString@@PBD0H@Z @ 4564 NONAME ; class QString QAnimationDriver::tr(char const *, char const *, int) - ?toLatin1@QStringRef@@QBE?AVQByteArray@@XZ @ 4565 NONAME ; class QByteArray QStringRef::toLatin1(void) const - ??1QAnimationDriver@@UAE@XZ @ 4566 NONAME ; QAnimationDriver::~QAnimationDriver(void) - ?tr@QAnimationDriver@@SA?AVQString@@PBD0@Z @ 4567 NONAME ; class QString QAnimationDriver::tr(char const *, char const *) - ?waitForDone@QThreadPool@@QAE_NH@Z @ 4568 NONAME ; bool QThreadPool::waitForDone(int) - ?endsWith@QStringRef@@QBE_NVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 4569 NONAME ; bool QStringRef::endsWith(class QLatin1String, enum Qt::CaseSensitivity) const - ?stop@QAnimationDriver@@AAEXXZ @ 4570 NONAME ; void QAnimationDriver::stop(void) - ?getStaticMetaObject@QAnimationDriver@@SAABUQMetaObject@@XZ @ 4571 NONAME ; struct QMetaObject const & QAnimationDriver::getStaticMetaObject(void) - ?metaObject@QAnimationDriver@@UBEPBUQMetaObject@@XZ @ 4572 NONAME ; struct QMetaObject const * QAnimationDriver::metaObject(void) const - ?d_func@QAnimationDriver@@AAEPAVQAnimationDriverPrivate@@XZ @ 4573 NONAME ; class QAnimationDriverPrivate * QAnimationDriver::d_func(void) - ?app_compile_version@QCoreApplicationPrivate@@2HA @ 4574 NONAME ; int QCoreApplicationPrivate::app_compile_version - ?restartAnimationTimer@QUnifiedTimer@@QAEXXZ @ 4575 NONAME ; void QUnifiedTimer::restartAnimationTimer(void) - ?count@QStringRef@@QBEHVQChar@@W4CaseSensitivity@Qt@@@Z @ 4576 NONAME ; int QStringRef::count(class QChar, enum Qt::CaseSensitivity) const - ?toAscii@QStringRef@@QBE?AVQByteArray@@XZ @ 4577 NONAME ; class QByteArray QStringRef::toAscii(void) const - ?setConsistentTiming@QUnifiedTimer@@QAEX_N@Z @ 4578 NONAME ; void QUnifiedTimer::setConsistentTiming(bool) - ??1QUnifiedTimer@@UAE@XZ @ 4579 NONAME ; QUnifiedTimer::~QUnifiedTimer(void) - ?setSlowModeEnabled@QUnifiedTimer@@QAEX_N@Z @ 4580 NONAME ; void QUnifiedTimer::setSlowModeEnabled(bool) - ?updateAnimationTimer@QUnifiedTimer@@SAXXZ @ 4581 NONAME ; void QUnifiedTimer::updateAnimationTimer(void) - ?indexOf@QString@@QBEHABVQStringRef@@HW4CaseSensitivity@Qt@@@Z @ 4582 NONAME ; int QString::indexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const - ?lastIndexOf@QStringRef@@QBEHVQChar@@HW4CaseSensitivity@Qt@@@Z @ 4583 NONAME ; int QStringRef::lastIndexOf(class QChar, int, enum Qt::CaseSensitivity) const - ?advance@QAnimationDriver@@QAEXXZ @ 4584 NONAME ; void QAnimationDriver::advance(void) - ?start@QAnimationDriver@@AAEXXZ @ 4585 NONAME ; void QAnimationDriver::start(void) - ?unlockInline@QMutex@@QAEXXZ @ 4586 NONAME ; void QMutex::unlockInline(void) - ??0QSystemError@@QAE@HW4ErrorScope@0@@Z @ 4587 NONAME ; QSystemError::QSystemError(int, enum QSystemError::ErrorScope) - ??0QSystemError@@QAE@XZ @ 4588 NONAME ; QSystemError::QSystemError(void) - ?error@QSystemError@@QAEHXZ @ 4589 NONAME ; int QSystemError::error(void) - ?scope@QSystemError@@QAE?AW4ErrorScope@1@XZ @ 4590 NONAME ; enum QSystemError::ErrorScope QSystemError::scope(void) - ?toString@QSystemError@@QAE?AVQString@@XZ @ 4591 NONAME ; class QString QSystemError::toString(void) - ??0QFileInfo@@QAE@PAVQFileInfoPrivate@@@Z @ 4592 NONAME ; QFileInfo::QFileInfo(class QFileInfoPrivate *) - ?currentUnicodeVersion@QChar@@SA?AW4UnicodeVersion@1@XZ @ 4593 NONAME ; enum QChar::UnicodeVersion QChar::currentUnicodeVersion(void) - ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@ABVRFile@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4594 NONAME ; bool QFSFileEngine::open(class QFlags, class RFile const &, class QFlags) - ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@HV?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4595 NONAME ; bool QFSFileEngine::open(class QFlags, int, class QFlags) - ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@PAU__sFILE@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4596 NONAME ; bool QFSFileEngine::open(class QFlags, struct __sFILE *, class QFlags) - ?open@QFile@@QAE_NABVRFile@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4597 NONAME ; bool QFile::open(class RFile const &, class QFlags, class QFlags) - ?open@QFile@@QAE_NHV?$QFlags@W4OpenModeFlag@QIODevice@@@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4598 NONAME ; bool QFile::open(int, class QFlags, class QFlags) - ?open@QFile@@QAE_NPAU__sFILE@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4599 NONAME ; bool QFile::open(struct __sFILE *, class QFlags, class QFlags) - ?contains@QString@@QBE?AVQBool@@ABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4600 NONAME ; class QBool QString::contains(class QStringRef const &, enum Qt::CaseSensitivity) const - ?nsecsElapsed@QElapsedTimer@@QBE_JXZ @ 4601 NONAME ; long long QElapsedTimer::nsecsElapsed(void) const - ??XQPoint@@QAEAAV0@N@Z @ 4602 NONAME ; class QPoint & QPoint::operator*=(double) - ??XQPoint@@QAEAAV0@H@Z @ 4603 NONAME ; class QPoint & QPoint::operator*=(int) - ?hasError@QXmlStreamWriter@@QBE_NXZ @ 4604 NONAME ; bool QXmlStreamWriter::hasError(void) const - ?swap@QRegExp@@QAEXAAV1@@Z @ 4605 NONAME ; void QRegExp::swap(class QRegExp &) - ?indexOf@QStringRef@@QBEHABVQString@@HW4CaseSensitivity@Qt@@@Z @ 4606 NONAME ; int QStringRef::indexOf(class QString const &, int, enum Qt::CaseSensitivity) const - gzungetc @ 4607 NONAME - ?addSocket@QSymbianSocketManager@@QAEHABVRSocket@@@Z @ 4608 NONAME ; int QSymbianSocketManager::addSocket(class RSocket const &) - ??0QActiveObject@@QAE@HPAVQEventDispatcherSymbian@@@Z @ 4609 NONAME ; QActiveObject::QActiveObject(int, class QEventDispatcherSymbian *) - ?setDefaultConnection@QSymbianSocketManager@@QAEXPAVRConnection@@@Z @ 4610 NONAME ; void QSymbianSocketManager::setDefaultConnection(class RConnection *) - ?reactivateAndComplete@QActiveObject@@QAEXXZ @ 4611 NONAME ; void QActiveObject::reactivateAndComplete(void) - ?defaultConnection@QSymbianSocketManager@@QBEPAVRConnection@@XZ @ 4612 NONAME ; class RConnection * QSymbianSocketManager::defaultConnection(void) const - ?qt_symbianGetSocketServer@@YAAAVRSocketServ@@XZ @ 4613 NONAME ; class RSocketServ & qt_symbianGetSocketServer(void) - ?maybeQueueForLater@QActiveObject@@QAE_NXZ @ 4614 NONAME ABSENT ; bool QActiveObject::maybeQueueForLater(void) - ??_EQActiveObject@@UAE@I@Z @ 4615 NONAME ; QActiveObject::~QActiveObject(unsigned int) - ?lookupSocket@QSymbianSocketManager@@QBE_NHAAVRSocket@@@Z @ 4616 NONAME ; bool QSymbianSocketManager::lookupSocket(int, class RSocket &) const - ?wait@QActiveObject@@SA_NPAVCActive@@H@Z @ 4617 NONAME ABSENT ; bool QActiveObject::wait(class CActive *, int) - ?instance@QSymbianSocketManager@@SAAAV1@XZ @ 4618 NONAME ; class QSymbianSocketManager & QSymbianSocketManager::instance(void) - ??0QSymbianSocketManager@@QAE@XZ @ 4619 NONAME ; QSymbianSocketManager::QSymbianSocketManager(void) - ?create@QNonContiguousByteDeviceFactory@@SAPAVQNonContiguousByteDevice@@V?$QSharedPointer@VQRingBuffer@@@@@Z @ 4620 NONAME ; class QNonContiguousByteDevice * QNonContiguousByteDeviceFactory::create(class QSharedPointer) - ??1QSymbianSocketManager@@QAE@XZ @ 4621 NONAME ; QSymbianSocketManager::~QSymbianSocketManager(void) - ?isResetDisabled@QNonContiguousByteDevice@@QAE_NXZ @ 4622 NONAME ; bool QNonContiguousByteDevice::isResetDisabled(void) - ??1QActiveObject@@UAE@XZ @ 4623 NONAME ; QActiveObject::~QActiveObject(void) - ?wait@QActiveObject@@SA_NV?$QList@PAVCActive@@@@H@Z @ 4624 NONAME ABSENT ; bool QActiveObject::wait(class QList, int) - ?maybeDeferSocketEvent@QActiveObject@@QAE_NXZ @ 4625 NONAME ; bool QActiveObject::maybeDeferSocketEvent(void) - ?lookupSocket@QSymbianSocketManager@@QBEHABVRSocket@@@Z @ 4626 NONAME ; int QSymbianSocketManager::lookupSocket(class RSocket const &) const - ?areSocketEventsBlocked@QEventDispatcherSymbian@@QBE_NXZ @ 4627 NONAME ; bool QEventDispatcherSymbian::areSocketEventsBlocked(void) const - ?addDeferredSocketActiveObject@QEventDispatcherSymbian@@QAEXPAVQActiveObject@@@Z @ 4628 NONAME ; void QEventDispatcherSymbian::addDeferredSocketActiveObject(class QActiveObject *) - ?getSocketServer@QSymbianSocketManager@@QAEAAVRSocketServ@@XZ @ 4629 NONAME ; class RSocketServ & QSymbianSocketManager::getSocketServer(void) - ?removeSocket@QSymbianSocketManager@@QAE_NABVRSocket@@@Z @ 4630 NONAME ; bool QSymbianSocketManager::removeSocket(class RSocket const &) - ?started@QAnimationDriver@@MAEXXZ @ 4631 NONAME ; void QAnimationDriver::started(void) - ?stopped@QAnimationDriver@@MAEXXZ @ 4632 NONAME ; void QAnimationDriver::stopped(void) - ?toCurrencyString@QLocale@@QBE?AVQString@@NABV2@@Z @ 4633 NONAME ; class QString QLocale::toCurrencyString(double, class QString const &) const - ?quoteString@QLocale@@QBE?AVQString@@ABVQStringRef@@W4QuotationStyle@1@@Z @ 4634 NONAME ; class QString QLocale::quoteString(class QStringRef const &, enum QLocale::QuotationStyle) const - ?toCurrencyString@QLocale@@QBE?AVQString@@FABV2@@Z @ 4635 NONAME ; class QString QLocale::toCurrencyString(short, class QString const &) const - ?countryCode@QLocalePrivate@@QBE?AVQString@@XZ @ 4636 NONAME ; class QString QLocalePrivate::countryCode(void) const - ?toCurrencyString@QLocale@@QBE?AVQString@@IABV2@@Z @ 4637 NONAME ; class QString QLocale::toCurrencyString(unsigned int, class QString const &) const - ?longLongToString@QLocalePrivate@@SA?AVQString@@VQChar@@000_JHHHI@Z @ 4638 NONAME ; class QString QLocalePrivate::longLongToString(class QChar, class QChar, class QChar, class QChar, long long, int, int, int, unsigned int) - ?codeToScript@QLocalePrivate@@SA?AW4Script@QLocale@@ABVQString@@@Z @ 4639 NONAME ; enum QLocale::Script QLocalePrivate::codeToScript(class QString const &) - ?bcp47Name@QLocale@@QBE?AVQString@@XZ @ 4640 NONAME ; class QString QLocale::bcp47Name(void) const - ?quoteString@QLocale@@QBE?AVQString@@ABV2@W4QuotationStyle@1@@Z @ 4641 NONAME ; class QString QLocale::quoteString(class QString const &, enum QLocale::QuotationStyle) const - ?unsLongLongToString@QLocalePrivate@@SA?AVQString@@VQChar@@00_KHHHI@Z @ 4642 NONAME ; class QString QLocalePrivate::unsLongLongToString(class QChar, class QChar, class QChar, unsigned long long, int, int, int, unsigned int) - ?toCurrencyString@QLocale@@QBE?AVQString@@_KABV2@@Z @ 4643 NONAME ; class QString QLocale::toCurrencyString(unsigned long long, class QString const &) const - ?firstDayOfWeek@QLocale@@QBE?AW4DayOfWeek@Qt@@XZ @ 4644 NONAME ; enum Qt::DayOfWeek QLocale::firstDayOfWeek(void) const - ?createSeparatedList@QLocale@@QBE?AVQString@@ABVQStringList@@@Z @ 4645 NONAME ; class QString QLocale::createSeparatedList(class QStringList const &) const - ?codeToCountry@QLocalePrivate@@SA?AW4Country@QLocale@@ABVQString@@@Z @ 4646 NONAME ; enum QLocale::Country QLocalePrivate::codeToCountry(class QString const &) - ?scriptCode@QLocalePrivate@@QBE?AVQString@@XZ @ 4647 NONAME ; class QString QLocalePrivate::scriptCode(void) const - ?scriptToString@QLocale@@SA?AVQString@@W4Script@1@@Z @ 4648 NONAME ; class QString QLocale::scriptToString(enum QLocale::Script) - ?script@QLocale@@QBE?AW4Script@1@XZ @ 4649 NONAME ; enum QLocale::Script QLocale::script(void) const - ?codeToLanguage@QLocalePrivate@@SA?AW4Language@QLocale@@ABVQString@@@Z @ 4650 NONAME ; enum QLocale::Language QLocalePrivate::codeToLanguage(class QString const &) - ?weekdays@QLocale@@QBE?AV?$QList@W4DayOfWeek@Qt@@@@XZ @ 4651 NONAME ; class QList QLocale::weekdays(void) const - ?getLangAndCountry@QLocalePrivate@@SAXABVQString@@AAW4Language@QLocale@@AAW4Script@4@AAW4Country@4@@Z @ 4652 NONAME ; void QLocalePrivate::getLangAndCountry(class QString const &, enum QLocale::Language &, enum QLocale::Script &, enum QLocale::Country &) - ?bcp47Name@QLocalePrivate@@QBE?AVQString@@XZ @ 4653 NONAME ; class QString QLocalePrivate::bcp47Name(void) const - ?toCurrencyString@QLocale@@QBE?AVQString@@HABV2@@Z @ 4654 NONAME ; class QString QLocale::toCurrencyString(int, class QString const &) const - ?matchingLocales@QLocale@@SA?AVQStringList@@W4Language@1@W4Script@1@W4Country@1@@Z @ 4655 NONAME ABSENT ; class QStringList QLocale::matchingLocales(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) - ?languageCode@QLocalePrivate@@QBE?AVQString@@XZ @ 4656 NONAME ; class QString QLocalePrivate::languageCode(void) const - ?toCurrencyString@QLocale@@QBE?AVQString@@GABV2@@Z @ 4657 NONAME ; class QString QLocale::toCurrencyString(unsigned short, class QString const &) const - ?doubleToString@QLocalePrivate@@SA?AVQString@@VQChar@@00000NHW4DoubleForm@1@HI@Z @ 4658 NONAME ; class QString QLocalePrivate::doubleToString(class QChar, class QChar, class QChar, class QChar, class QChar, class QChar, double, int, enum QLocalePrivate::DoubleForm, int, unsigned int) - ?currencySymbol@QLocale@@QBE?AVQString@@W4CurrencySymbolFormat@1@@Z @ 4659 NONAME ; class QString QLocale::currencySymbol(enum QLocale::CurrencySymbolFormat) const - ?uiLanguages@QLocale@@QBE?AVQStringList@@XZ @ 4660 NONAME ; class QStringList QLocale::uiLanguages(void) const - ?findLocale@QLocalePrivate@@SAPBU1@W4Language@QLocale@@W4Script@3@W4Country@3@@Z @ 4661 NONAME ; struct QLocalePrivate const * QLocalePrivate::findLocale(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) - ?load@QTranslator@@QAE_NABVQLocale@@ABVQString@@111@Z @ 4662 NONAME ; bool QTranslator::load(class QLocale const &, class QString const &, class QString const &, class QString const &, class QString const &) - ??0QLocale@@QAE@W4Language@0@W4Script@0@W4Country@0@@Z @ 4663 NONAME ; QLocale::QLocale(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) - ?languageId@QLocalePrivate@@QBEGXZ @ 4664 NONAME ; unsigned short QLocalePrivate::languageId(void) const - ?countryId@QLocalePrivate@@QBEGXZ @ 4665 NONAME ; unsigned short QLocalePrivate::countryId(void) const - ?toCurrencyString@QLocale@@QBE?AVQString@@_JABV2@@Z @ 4666 NONAME ; class QString QLocale::toCurrencyString(long long, class QString const &) const - ?toCurrencyString@QLocale@@QBE?AVQString@@MABV2@@Z @ 4667 NONAME ; class QString QLocale::toCurrencyString(float, class QString const &) const - adler32_combine @ 4668 NONAME - adler32_combine64 @ 4669 NONAME - compressBound @ 4670 NONAME - crc32_combine @ 4671 NONAME - crc32_combine64 @ 4672 NONAME - deflateBound @ 4673 NONAME - deflatePrime @ 4674 NONAME - deflateSetHeader @ 4675 NONAME - deflateTune @ 4676 NONAME - gzbuffer @ 4677 NONAME - gzclearerr @ 4678 NONAME - gzclose_r @ 4679 NONAME - gzclose_w @ 4680 NONAME - gzdirect @ 4681 NONAME - gzoffset @ 4682 NONAME - gzoffset64 @ 4683 NONAME - gzopen64 @ 4684 NONAME - gzseek64 @ 4685 NONAME - gztell64 @ 4686 NONAME - inflateBack @ 4687 NONAME - inflateBackEnd @ 4688 NONAME - inflateBackInit_ @ 4689 NONAME - inflateCopy @ 4690 NONAME - inflateGetHeader @ 4691 NONAME - inflateMark @ 4692 NONAME - inflatePrime @ 4693 NONAME - inflateReset2 @ 4694 NONAME - inflateUndermine @ 4695 NONAME - zlibCompileFlags @ 4696 NONAME - ??_EQDateTime@@QAE@I@Z @ 4697 NONAME ABSENT ; QDateTime::~QDateTime(unsigned int) - ??4QDate@@QAEAAV0@ABV0@@Z @ 4698 NONAME ABSENT ; class QDate & QDate::operator=(class QDate const &) - ??4QSizeF@@QAEAAV0@ABV0@@Z @ 4699 NONAME ABSENT ; class QSizeF & QSizeF::operator=(class QSizeF const &) - ??0QSize@@QAE@ABV0@@Z @ 4700 NONAME ABSENT ; QSize::QSize(class QSize const &) - ??0QEvent@@QAE@ABV0@@Z @ 4701 NONAME ABSENT ; QEvent::QEvent(class QEvent const &) - ??0QTextCodecFactoryInterface@@QAE@XZ @ 4702 NONAME ABSENT ; QTextCodecFactoryInterface::QTextCodecFactoryInterface(void) - ??0QPointF@@QAE@ABV0@@Z @ 4703 NONAME ABSENT ; QPointF::QPointF(class QPointF const &) - ??_EQUrl@@QAE@I@Z @ 4704 NONAME ABSENT ; QUrl::~QUrl(unsigned int) - ??0QGenericArgument@@QAE@ABV0@@Z @ 4705 NONAME ABSENT ; QGenericArgument::QGenericArgument(class QGenericArgument const &) - ??_EQVariant@@QAE@I@Z @ 4706 NONAME ABSENT ; QVariant::~QVariant(unsigned int) - ??4QLineF@@QAEAAV0@ABV0@@Z @ 4707 NONAME ABSENT ; class QLineF & QLineF::operator=(class QLineF const &) - ??0QXmlStreamAttributes@@QAE@ABV0@@Z @ 4708 NONAME ABSENT ; QXmlStreamAttributes::QXmlStreamAttributes(class QXmlStreamAttributes const &) - ??0QMetaEnum@@QAE@ABV0@@Z @ 4709 NONAME ABSENT ; QMetaEnum::QMetaEnum(class QMetaEnum const &) - ??4QUuid@@QAEAAU0@ABU0@@Z @ 4710 NONAME ABSENT ; struct QUuid & QUuid::operator=(struct QUuid const &) - ??0CQtActiveScheduler@@QAE@XZ @ 4711 NONAME ABSENT ; CQtActiveScheduler::CQtActiveScheduler(void) - ??0QSizeF@@QAE@ABV0@@Z @ 4712 NONAME ABSENT ; QSizeF::QSizeF(class QSizeF const &) - ??4QMetaEnum@@QAEAAV0@ABV0@@Z @ 4713 NONAME ABSENT ; class QMetaEnum & QMetaEnum::operator=(class QMetaEnum const &) - ??4QRect@@QAEAAV0@ABV0@@Z @ 4714 NONAME ABSENT ; class QRect & QRect::operator=(class QRect const &) - ??_EQMutexPool@@QAE@I@Z @ 4715 NONAME ABSENT ; QMutexPool::~QMutexPool(unsigned int) - ??0QMetaClassInfo@@QAE@ABV0@@Z @ 4716 NONAME ABSENT ; QMetaClassInfo::QMetaClassInfo(class QMetaClassInfo const &) - ??0QDate@@QAE@ABV0@@Z @ 4717 NONAME ABSENT ; QDate::QDate(class QDate const &) - ??_EQTextDecoder@@QAE@I@Z @ 4718 NONAME ABSENT ; QTextDecoder::~QTextDecoder(unsigned int) - ??_EQMutex@@QAE@I@Z @ 4719 NONAME ABSENT ; QMutex::~QMutex(unsigned int) - ??0QTimerEvent@@QAE@ABV0@@Z @ 4720 NONAME ABSENT ; QTimerEvent::QTimerEvent(class QTimerEvent const &) - ??_EConverterState@QTextCodec@@QAE@I@Z @ 4721 NONAME ABSENT ; QTextCodec::ConverterState::~ConverterState(unsigned int) - ??4QTime@@QAEAAV0@ABV0@@Z @ 4722 NONAME ABSENT ; class QTime & QTime::operator=(class QTime const &) - ??0QMetaMethod@@QAE@ABV0@@Z @ 4723 NONAME ABSENT ; QMetaMethod::QMetaMethod(class QMetaMethod const &) - ??_EQTextEncoder@@QAE@I@Z @ 4724 NONAME ABSENT ; QTextEncoder::~QTextEncoder(unsigned int) - ??_EQFileInfo@@QAE@I@Z @ 4725 NONAME ABSENT ; QFileInfo::~QFileInfo(unsigned int) - ??4QRectF@@QAEAAV0@ABV0@@Z @ 4726 NONAME ABSENT ; class QRectF & QRectF::operator=(class QRectF const &) - ??4QXmlStreamStringRef@@QAEAAV0@ABV0@@Z @ 4727 NONAME ABSENT ; class QXmlStreamStringRef & QXmlStreamStringRef::operator=(class QXmlStreamStringRef const &) - ??4QBasicAtomicInt@@QAEAAV0@ABV0@@Z @ 4728 NONAME ABSENT ; class QBasicAtomicInt & QBasicAtomicInt::operator=(class QBasicAtomicInt const &) - ??_EQEasingCurve@@QAE@I@Z @ 4729 NONAME ABSENT ; QEasingCurve::~QEasingCurve(unsigned int) - ??_EQReadWriteLock@@QAE@I@Z @ 4730 NONAME ABSENT ; QReadWriteLock::~QReadWriteLock(unsigned int) - ??0QFactoryInterface@@QAE@XZ @ 4731 NONAME ABSENT ; QFactoryInterface::QFactoryInterface(void) - ??4QLine@@QAEAAV0@ABV0@@Z @ 4732 NONAME ABSENT ; class QLine & QLine::operator=(class QLine const &) - ??0QMetaProperty@@QAE@ABV0@@Z @ 4733 NONAME ABSENT ; QMetaProperty::QMetaProperty(class QMetaProperty const &) - ??_EQBitArray@@QAE@I@Z @ 4734 NONAME ABSENT ; QBitArray::~QBitArray(unsigned int) - ??0QTime@@QAE@ABV0@@Z @ 4735 NONAME ABSENT ; QTime::QTime(class QTime const &) - ??4QPoint@@QAEAAV0@ABV0@@Z @ 4736 NONAME ABSENT ; class QPoint & QPoint::operator=(class QPoint const &) - ??4QSize@@QAEAAV0@ABV0@@Z @ 4737 NONAME ABSENT ; class QSize & QSize::operator=(class QSize const &) - ??0QPoint@@QAE@ABV0@@Z @ 4738 NONAME ABSENT ; QPoint::QPoint(class QPoint const &) - ??4QPointF@@QAEAAV0@ABV0@@Z @ 4739 NONAME ABSENT ; class QPointF & QPointF::operator=(class QPointF const &) - ??_EQRegExp@@QAE@I@Z @ 4740 NONAME ABSENT ; QRegExp::~QRegExp(unsigned int) - ??4QLocalePrivate@@QAEAAU0@ABU0@@Z @ 4741 NONAME ABSENT ; struct QLocalePrivate & QLocalePrivate::operator=(struct QLocalePrivate const &) - ??4QSystemError@@QAEAAV0@ABV0@@Z @ 4742 NONAME ABSENT ; class QSystemError & QSystemError::operator=(class QSystemError const &) - ?staticMetaObjectExtraData@QPropertyAnimation@@0UQMetaObjectExtraData@@B @ 4743 NONAME ; struct QMetaObjectExtraData const QPropertyAnimation::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractTableModel@@0UQMetaObjectExtraData@@B @ 4744 NONAME ; struct QMetaObjectExtraData const QAbstractTableModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSequentialAnimationGroup@@0UQMetaObjectExtraData@@B @ 4745 NONAME ; struct QMetaObjectExtraData const QSequentialAnimationGroup::staticMetaObjectExtraData - ?createMutex@QMutexPool@@AAEPAVQMutex@@H@Z @ 4746 NONAME ; class QMutex * QMutexPool::createMutex(int) - ?qt_static_metacall@QAbstractAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4747 NONAME ; void QAbstractAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?placeMetaCall@QMetaCallEvent@@UAEXPAVQObject@@@Z @ 4748 NONAME ; void QMetaCallEvent::placeMetaCall(class QObject *) - ?staticMetaObjectExtraData@QAbstractEventDispatcher@@0UQMetaObjectExtraData@@B @ 4749 NONAME ; struct QMetaObjectExtraData const QAbstractEventDispatcher::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractListModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4750 NONAME ; void QAbstractListModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractEventDispatcher@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4751 NONAME ; void QAbstractEventDispatcher::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4752 NONAME ; void QAbstractState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QThreadPool@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4753 NONAME ; void QThreadPool::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFile@@0UQMetaObjectExtraData@@B @ 4754 NONAME ; struct QMetaObjectExtraData const QFile::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QBuffer@@0UQMetaObjectExtraData@@B @ 4755 NONAME ; struct QMetaObjectExtraData const QBuffer::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSocketNotifier@@0UQMetaObjectExtraData@@B @ 4756 NONAME ; struct QMetaObjectExtraData const QSocketNotifier::staticMetaObjectExtraData - ?qt_static_metacall@QIODevice@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4757 NONAME ; void QIODevice::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QEventLoop@@0UQMetaObjectExtraData@@B @ 4758 NONAME ; struct QMetaObjectExtraData const QEventLoop::staticMetaObjectExtraData - ?qt_static_metacall@QTranslator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4759 NONAME ; void QTranslator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSocketNotifier@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4760 NONAME ; void QSocketNotifier::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QState@@0UQMetaObjectExtraData@@B @ 4761 NONAME ; struct QMetaObjectExtraData const QState::staticMetaObjectExtraData - ?qt_static_metacall@QNonContiguousByteDevice@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4762 NONAME ; void QNonContiguousByteDevice::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QHistoryState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4763 NONAME ; void QHistoryState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAnimationDriver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4764 NONAME ; void QAnimationDriver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFileSystemWatcher@@0UQMetaObjectExtraData@@B @ 4765 NONAME ; struct QMetaObjectExtraData const QFileSystemWatcher::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTimeLine@@0UQMetaObjectExtraData@@B @ 4766 NONAME ; struct QMetaObjectExtraData const QTimeLine::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QThreadPool@@0UQMetaObjectExtraData@@B @ 4767 NONAME ; struct QMetaObjectExtraData const QThreadPool::staticMetaObjectExtraData - ?qt_static_metacall@QTimer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4768 NONAME ; void QTimer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4769 NONAME ; void QState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractTransition@@0UQMetaObjectExtraData@@B @ 4770 NONAME ; struct QMetaObjectExtraData const QAbstractTransition::staticMetaObjectExtraData - ?qt_static_metacall@QThread@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4771 NONAME ; void QThread::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QIODevice@@0UQMetaObjectExtraData@@B @ 4772 NONAME ; struct QMetaObjectExtraData const QIODevice::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSettings@@0UQMetaObjectExtraData@@B @ 4773 NONAME ; struct QMetaObjectExtraData const QSettings::staticMetaObjectExtraData - ?qt_static_metacall@QAnimationGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4774 NONAME ; void QAnimationGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTemporaryFile@@0UQMetaObjectExtraData@@B @ 4775 NONAME ; struct QMetaObjectExtraData const QTemporaryFile::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QObjectCleanupHandler@@0UQMetaObjectExtraData@@B @ 4776 NONAME ; struct QMetaObjectExtraData const QObjectCleanupHandler::staticMetaObjectExtraData - ?qt_static_metacall@QFactoryLoader@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4777 NONAME ; void QFactoryLoader::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTextCodecPlugin@@0UQMetaObjectExtraData@@B @ 4778 NONAME ; struct QMetaObjectExtraData const QTextCodecPlugin::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractState@@0UQMetaObjectExtraData@@B @ 4779 NONAME ; struct QMetaObjectExtraData const QAbstractState::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QNonContiguousByteDevice@@0UQMetaObjectExtraData@@B @ 4780 NONAME ; struct QMetaObjectExtraData const QNonContiguousByteDevice::staticMetaObjectExtraData - ?qt_static_metacall@QFileSystemWatcher@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4781 NONAME ; void QFileSystemWatcher::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?insert@QProcessEnvironment@@QAEXABV1@@Z @ 4782 NONAME ; void QProcessEnvironment::insert(class QProcessEnvironment const &) - ?qt_static_metacall@QSignalTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4783 NONAME ; void QSignalTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTimer@@0UQMetaObjectExtraData@@B @ 4784 NONAME ; struct QMetaObjectExtraData const QTimer::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTranslator@@0UQMetaObjectExtraData@@B @ 4785 NONAME ; struct QMetaObjectExtraData const QTranslator::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractItemModel@@0UQMetaObjectExtraData@@B @ 4786 NONAME ; struct QMetaObjectExtraData const QAbstractItemModel::staticMetaObjectExtraData - ?convertToAscii@QAbstractConcatenable@@KAXVQChar@@AAPAD@Z @ 4787 NONAME ; void QAbstractConcatenable::convertToAscii(class QChar, char * &) - ?staticMetaObjectExtraData@QAbstractAnimation@@0UQMetaObjectExtraData@@B @ 4788 NONAME ; struct QMetaObjectExtraData const QAbstractAnimation::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractItemModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4789 NONAME ; void QAbstractItemModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QStateMachine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4790 NONAME ; void QStateMachine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?nativeCountryName@QLocale@@QBE?AVQString@@XZ @ 4791 NONAME ; class QString QLocale::nativeCountryName(void) const - ?staticMetaObjectExtraData@QLibrary@@0UQMetaObjectExtraData@@B @ 4792 NONAME ; struct QMetaObjectExtraData const QLibrary::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPluginLoader@@0UQMetaObjectExtraData@@B @ 4793 NONAME ; struct QMetaObjectExtraData const QPluginLoader::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSharedMemory@@0UQMetaObjectExtraData@@B @ 4794 NONAME ; struct QMetaObjectExtraData const QSharedMemory::staticMetaObjectExtraData - ??0QMetaCallEvent@@QAE@GGP6AXPAVQObject@@W4Call@QMetaObject@@HPAPAX@ZPBV1@HHPAH2PAVQSemaphore@@@Z @ 4795 NONAME ; QMetaCallEvent::QMetaCallEvent(unsigned short, unsigned short, void (*)(class QObject *, enum QMetaObject::Call, int, void * *), class QObject const *, int, int, int *, void * *, class QSemaphore *) - ?qt_static_metacall@QFinalState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4796 NONAME ; void QFinalState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?matchingLocales@QLocale@@SA?AV?$QList@VQLocale@@@@W4Language@1@W4Script@1@W4Country@1@@Z @ 4797 NONAME ; class QList QLocale::matchingLocales(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) - ?staticMetaObjectExtraData@QAbstractListModel@@0UQMetaObjectExtraData@@B @ 4798 NONAME ; struct QMetaObjectExtraData const QAbstractListModel::staticMetaObjectExtraData - ?qt_static_metacall@QMimeData@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4799 NONAME ; void QMimeData::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTextCodecPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4800 NONAME ; void QTextCodecPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?convertToAscii@QAbstractConcatenable@@KAXPBVQChar@@HAAPAD@Z @ 4801 NONAME ; void QAbstractConcatenable::convertToAscii(class QChar const *, int, char * &) - ?qt_static_metacall@QBuffer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4802 NONAME ; void QBuffer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTemporaryFile@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4803 NONAME ; void QTemporaryFile::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QCoreApplication@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4804 NONAME ; void QCoreApplication::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAnimationDriver@@0UQMetaObjectExtraData@@B @ 4805 NONAME ; struct QMetaObjectExtraData const QAnimationDriver::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QObject@@0UQMetaObjectExtraData@@B @ 4806 NONAME ; struct QMetaObjectExtraData const QObject::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QThread@@0UQMetaObjectExtraData@@B @ 4807 NONAME ; struct QMetaObjectExtraData const QThread::staticMetaObjectExtraData - ?nativeLanguageName@QLocale@@QBE?AVQString@@XZ @ 4808 NONAME ; class QString QLocale::nativeLanguageName(void) const - ?staticMetaObjectExtraData@QFinalState@@0UQMetaObjectExtraData@@B @ 4809 NONAME ; struct QMetaObjectExtraData const QFinalState::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QMimeData@@0UQMetaObjectExtraData@@B @ 4810 NONAME ; struct QMetaObjectExtraData const QMimeData::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAnimationGroup@@0UQMetaObjectExtraData@@B @ 4811 NONAME ; struct QMetaObjectExtraData const QAnimationGroup::staticMetaObjectExtraData - ?qt_static_metacall@QFile@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4812 NONAME ; void QFile::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QLibrary@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4813 NONAME ; void QLibrary::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QVariantAnimation@@0UQMetaObjectExtraData@@B @ 4814 NONAME ; struct QMetaObjectExtraData const QVariantAnimation::staticMetaObjectExtraData - ?qt_static_metacall@QPluginLoader@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4815 NONAME ; void QPluginLoader::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFactoryLoader@@0UQMetaObjectExtraData@@B @ 4816 NONAME ; struct QMetaObjectExtraData const QFactoryLoader::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPauseAnimation@@0UQMetaObjectExtraData@@B @ 4817 NONAME ; struct QMetaObjectExtraData const QPauseAnimation::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QEventDispatcherSymbian@@0UQMetaObjectExtraData@@B @ 4818 NONAME ; struct QMetaObjectExtraData const QEventDispatcherSymbian::staticMetaObjectExtraData - ?qt_static_metacall@QObjectCleanupHandler@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4819 NONAME ; void QObjectCleanupHandler::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSignalMapper@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4820 NONAME ; void QSignalMapper::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QEventTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4821 NONAME ; void QEventTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?convertToLatin1@QAbstractConcatenable@@KAXVQChar@@AAPAD@Z @ 4822 NONAME ; void QAbstractConcatenable::convertToLatin1(class QChar, char * &) - ?qt_static_metacall@QObject@@CAXPAV1@W4Call@QMetaObject@@HPAPAX@Z @ 4823 NONAME ; void QObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QVariantAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4824 NONAME ; void QVariantAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QPauseAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4825 NONAME ; void QPauseAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSettings@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4826 NONAME ; void QSettings::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QHistoryState@@0UQMetaObjectExtraData@@B @ 4827 NONAME ; struct QMetaObjectExtraData const QHistoryState::staticMetaObjectExtraData - ?qt_static_metacall@QSharedMemory@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4828 NONAME ; void QSharedMemory::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4829 NONAME ; void QAbstractTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QProcess@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4830 NONAME ; void QProcess::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSequentialAnimationGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4831 NONAME ; void QSequentialAnimationGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSignalMapper@@0UQMetaObjectExtraData@@B @ 4832 NONAME ; struct QMetaObjectExtraData const QSignalMapper::staticMetaObjectExtraData - ?qt_static_metacall@QPropertyAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4833 NONAME ; void QPropertyAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QProcess@@0UQMetaObjectExtraData@@B @ 4834 NONAME ; struct QMetaObjectExtraData const QProcess::staticMetaObjectExtraData - ?qt_static_metacall@QParallelAnimationGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4835 NONAME ; void QParallelAnimationGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QEventDispatcherSymbian@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4836 NONAME ; void QEventDispatcherSymbian::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QCoreApplication@@0UQMetaObjectExtraData@@B @ 4837 NONAME ; struct QMetaObjectExtraData const QCoreApplication::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QParallelAnimationGroup@@0UQMetaObjectExtraData@@B @ 4838 NONAME ; struct QMetaObjectExtraData const QParallelAnimationGroup::staticMetaObjectExtraData - ?qt_static_metacall@QTimeLine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4839 NONAME ; void QTimeLine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QStateMachine@@0UQMetaObjectExtraData@@B @ 4840 NONAME ; struct QMetaObjectExtraData const QStateMachine::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSignalTransition@@0UQMetaObjectExtraData@@B @ 4841 NONAME ; struct QMetaObjectExtraData const QSignalTransition::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractTableModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4842 NONAME ; void QAbstractTableModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QEventTransition@@0UQMetaObjectExtraData@@B @ 4843 NONAME ; struct QMetaObjectExtraData const QEventTransition::staticMetaObjectExtraData - ?qt_static_metacall@QEventLoop@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4844 NONAME ; void QEventLoop::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?keys@QProcessEnvironment@@QBE?AVQStringList@@XZ @ 4845 NONAME ; class QStringList QProcessEnvironment::keys(void) const - ?qt_static_metacall@QFutureWatcherBase@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4846 NONAME ; void QFutureWatcherBase::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?progressValueChanged@QFutureWatcherBase@@IAEXH@Z @ 4847 NONAME ; void QFutureWatcherBase::progressValueChanged(int) - ?qt_metacast@QFutureWatcherBase@@UAEPAXPBD@Z @ 4848 NONAME ; void * QFutureWatcherBase::qt_metacast(char const *) - ?qIsEffectiveTLD@@YA_NABVQString@@@Z @ 4849 NONAME ; bool qIsEffectiveTLD(class QString const &) - ?tr@QFutureWatcherBase@@SA?AVQString@@PBD0@Z @ 4850 NONAME ; class QString QFutureWatcherBase::tr(char const *, char const *) - ?trolltechConf@QCoreApplicationPrivate@@SAPAVQSettings@@XZ @ 4851 NONAME ; class QSettings * QCoreApplicationPrivate::trolltechConf(void) - ?pause@QFutureWatcherBase@@QAEXXZ @ 4852 NONAME ; void QFutureWatcherBase::pause(void) - ?topLevelDomain@QUrl@@QBE?AVQString@@XZ @ 4853 NONAME ; class QString QUrl::topLevelDomain(void) const - ?togglePaused@QFutureWatcherBase@@QAEXXZ @ 4854 NONAME ; void QFutureWatcherBase::togglePaused(void) - ?toRfc4122@QUuid@@QBE?AVQByteArray@@XZ @ 4855 NONAME ; class QByteArray QUuid::toRfc4122(void) const - ?progressRangeChanged@QFutureWatcherBase@@IAEXHH@Z @ 4856 NONAME ; void QFutureWatcherBase::progressRangeChanged(int, int) - ?cancel@QFutureWatcherBase@@QAEXXZ @ 4857 NONAME ; void QFutureWatcherBase::cancel(void) - ?tr@QFutureWatcherBase@@SA?AVQString@@PBD0H@Z @ 4858 NONAME ; class QString QFutureWatcherBase::tr(char const *, char const *, int) - ?toByteArray@QUuid@@QBE?AVQByteArray@@XZ @ 4859 NONAME ; class QByteArray QUuid::toByteArray(void) const - ?runningAnimationCount@QUnifiedTimer@@QAEHXZ @ 4860 NONAME ; int QUnifiedTimer::runningAnimationCount(void) - ?getStaticMetaObject@QFutureWatcherBase@@SAABUQMetaObject@@XZ @ 4861 NONAME ; struct QMetaObject const & QFutureWatcherBase::getStaticMetaObject(void) - ?trUtf8@QFutureWatcherBase@@SA?AVQString@@PBD0H@Z @ 4862 NONAME ; class QString QFutureWatcherBase::trUtf8(char const *, char const *, int) - ?staticMetaObjectExtraData@QFutureWatcherBase@@0UQMetaObjectExtraData@@B @ 4863 NONAME ; struct QMetaObjectExtraData const QFutureWatcherBase::staticMetaObjectExtraData - ?qt_metacall@QFutureWatcherBase@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4864 NONAME ; int QFutureWatcherBase::qt_metacall(enum QMetaObject::Call, int, void * *) - ?resumed@QFutureWatcherBase@@IAEXXZ @ 4865 NONAME ; void QFutureWatcherBase::resumed(void) - ?setPaused@QFutureWatcherBase@@QAEX_N@Z @ 4866 NONAME ; void QFutureWatcherBase::setPaused(bool) - ?canceled@QFutureWatcherBase@@IAEXXZ @ 4867 NONAME ; void QFutureWatcherBase::canceled(void) - ?progressTextChanged@QFutureWatcherBase@@IAEXABVQString@@@Z @ 4868 NONAME ; void QFutureWatcherBase::progressTextChanged(class QString const &) - ?fromRfc4122@QUuid@@SA?AU1@ABVQByteArray@@@Z @ 4869 NONAME ; struct QUuid QUuid::fromRfc4122(class QByteArray const &) - ?staticMetaObject@QFutureWatcherBase@@2UQMetaObject@@B @ 4870 NONAME ; struct QMetaObject const QFutureWatcherBase::staticMetaObject - ?trUtf8@QFutureWatcherBase@@SA?AVQString@@PBD0@Z @ 4871 NONAME ; class QString QFutureWatcherBase::trUtf8(char const *, char const *) - ?d_func@QFutureWatcherBase@@ABEPBVQFutureWatcherBasePrivate@@XZ @ 4872 NONAME ; class QFutureWatcherBasePrivate const * QFutureWatcherBase::d_func(void) const - ?metaObject@QFutureWatcherBase@@UBEPBUQMetaObject@@XZ @ 4873 NONAME ; struct QMetaObject const * QFutureWatcherBase::metaObject(void) const - ?d_func@QFutureWatcherBase@@AAEPAVQFutureWatcherBasePrivate@@XZ @ 4874 NONAME ; class QFutureWatcherBasePrivate * QFutureWatcherBase::d_func(void) - ?qTopLevelDomain@@YA?AVQString@@ABV1@@Z @ 4875 NONAME ; class QString qTopLevelDomain(class QString const &) - ??0QUuid@@QAE@ABVQByteArray@@@Z @ 4876 NONAME ; QUuid::QUuid(class QByteArray const &) - ?resultReadyAt@QFutureWatcherBase@@IAEXH@Z @ 4877 NONAME ; void QFutureWatcherBase::resultReadyAt(int) - ?paused@QFutureWatcherBase@@IAEXXZ @ 4878 NONAME ; void QFutureWatcherBase::paused(void) - ?finished@QFutureWatcherBase@@IAEXXZ @ 4879 NONAME ; void QFutureWatcherBase::finished(void) - ?resume@QFutureWatcherBase@@QAEXXZ @ 4880 NONAME ; void QFutureWatcherBase::resume(void) - ?resultsReadyAt@QFutureWatcherBase@@IAEXHH@Z @ 4881 NONAME ; void QFutureWatcherBase::resultsReadyAt(int, int) - ?started@QFutureWatcherBase@@IAEXXZ @ 4882 NONAME ; void QFutureWatcherBase::started(void) - ?resetInternalData@QAbstractItemModel@@IAEXXZ @ 4883 NONAME ; void QAbstractItemModel::resetInternalData(void) - ?toLower@QLocale@@QBE?AVQString@@ABV2@@Z @ 4884 NONAME ; class QString QLocale::toLower(class QString const &) const - ?toUpper@QLocale@@QBE?AVQString@@ABV2@@Z @ 4885 NONAME ; class QString QLocale::toUpper(class QString const &) const + ??_EQDateTime@@QAE@I@Z @ 4491 NONAME ABSENT ; QDateTime::~QDateTime(unsigned int) + ??4QDate@@QAEAAV0@ABV0@@Z @ 4492 NONAME ABSENT ; class QDate & QDate::operator=(class QDate const &) + ??4QSizeF@@QAEAAV0@ABV0@@Z @ 4493 NONAME ABSENT ; class QSizeF & QSizeF::operator=(class QSizeF const &) + ??0QSize@@QAE@ABV0@@Z @ 4494 NONAME ABSENT ; QSize::QSize(class QSize const &) + ??0QEvent@@QAE@ABV0@@Z @ 4495 NONAME ABSENT ; QEvent::QEvent(class QEvent const &) + ??0QTextCodecFactoryInterface@@QAE@XZ @ 4496 NONAME ABSENT ; QTextCodecFactoryInterface::QTextCodecFactoryInterface(void) + ??0QPointF@@QAE@ABV0@@Z @ 4497 NONAME ABSENT ; QPointF::QPointF(class QPointF const &) + ??_EQUrl@@QAE@I@Z @ 4498 NONAME ABSENT ; QUrl::~QUrl(unsigned int) + ??0QGenericArgument@@QAE@ABV0@@Z @ 4499 NONAME ABSENT ; QGenericArgument::QGenericArgument(class QGenericArgument const &) + ??_EQVariant@@QAE@I@Z @ 4500 NONAME ABSENT ; QVariant::~QVariant(unsigned int) + ??4QLineF@@QAEAAV0@ABV0@@Z @ 4501 NONAME ABSENT ; class QLineF & QLineF::operator=(class QLineF const &) + ??0QXmlStreamAttributes@@QAE@ABV0@@Z @ 4502 NONAME ABSENT ; QXmlStreamAttributes::QXmlStreamAttributes(class QXmlStreamAttributes const &) + ??0QMetaEnum@@QAE@ABV0@@Z @ 4503 NONAME ABSENT ; QMetaEnum::QMetaEnum(class QMetaEnum const &) + ??4QUuid@@QAEAAU0@ABU0@@Z @ 4504 NONAME ABSENT ; struct QUuid & QUuid::operator=(struct QUuid const &) + ??0CQtActiveScheduler@@QAE@XZ @ 4505 NONAME ABSENT ; CQtActiveScheduler::CQtActiveScheduler(void) + ??0QSizeF@@QAE@ABV0@@Z @ 4506 NONAME ABSENT ; QSizeF::QSizeF(class QSizeF const &) + ??4QMetaEnum@@QAEAAV0@ABV0@@Z @ 4507 NONAME ABSENT ; class QMetaEnum & QMetaEnum::operator=(class QMetaEnum const &) + ??4QRect@@QAEAAV0@ABV0@@Z @ 4508 NONAME ABSENT ; class QRect & QRect::operator=(class QRect const &) + ??_EQMutexPool@@QAE@I@Z @ 4509 NONAME ABSENT ; QMutexPool::~QMutexPool(unsigned int) + ??0QMetaClassInfo@@QAE@ABV0@@Z @ 4510 NONAME ABSENT ; QMetaClassInfo::QMetaClassInfo(class QMetaClassInfo const &) + ??0QDate@@QAE@ABV0@@Z @ 4511 NONAME ABSENT ; QDate::QDate(class QDate const &) + ??_EQTextDecoder@@QAE@I@Z @ 4512 NONAME ABSENT ; QTextDecoder::~QTextDecoder(unsigned int) + ??_EQMutex@@QAE@I@Z @ 4513 NONAME ABSENT ; QMutex::~QMutex(unsigned int) + ??0QTimerEvent@@QAE@ABV0@@Z @ 4514 NONAME ABSENT ; QTimerEvent::QTimerEvent(class QTimerEvent const &) + ??0QXmlStreamAttributes@@QAE@XZ @ 4515 NONAME ABSENT ; QXmlStreamAttributes::QXmlStreamAttributes(void) + ??_EConverterState@QTextCodec@@QAE@I@Z @ 4516 NONAME ABSENT ; QTextCodec::ConverterState::~ConverterState(unsigned int) + ??4QTime@@QAEAAV0@ABV0@@Z @ 4517 NONAME ABSENT ; class QTime & QTime::operator=(class QTime const &) + ??0QMetaMethod@@QAE@ABV0@@Z @ 4518 NONAME ABSENT ; QMetaMethod::QMetaMethod(class QMetaMethod const &) + ??_EQTextEncoder@@QAE@I@Z @ 4519 NONAME ABSENT ; QTextEncoder::~QTextEncoder(unsigned int) + ??_EQFileInfo@@QAE@I@Z @ 4520 NONAME ABSENT ; QFileInfo::~QFileInfo(unsigned int) + ??4QRectF@@QAEAAV0@ABV0@@Z @ 4521 NONAME ABSENT ; class QRectF & QRectF::operator=(class QRectF const &) + ??4QXmlStreamStringRef@@QAEAAV0@ABV0@@Z @ 4522 NONAME ABSENT ; class QXmlStreamStringRef & QXmlStreamStringRef::operator=(class QXmlStreamStringRef const &) + ??4QBasicAtomicInt@@QAEAAV0@ABV0@@Z @ 4523 NONAME ABSENT ; class QBasicAtomicInt & QBasicAtomicInt::operator=(class QBasicAtomicInt const &) + ??_EQEasingCurve@@QAE@I@Z @ 4524 NONAME ABSENT ; QEasingCurve::~QEasingCurve(unsigned int) + ??_EQReadWriteLock@@QAE@I@Z @ 4525 NONAME ABSENT ; QReadWriteLock::~QReadWriteLock(unsigned int) + ??0QFactoryInterface@@QAE@XZ @ 4526 NONAME ABSENT ; QFactoryInterface::QFactoryInterface(void) + ??4QLine@@QAEAAV0@ABV0@@Z @ 4527 NONAME ABSENT ; class QLine & QLine::operator=(class QLine const &) + ??0QMetaProperty@@QAE@ABV0@@Z @ 4528 NONAME ABSENT ; QMetaProperty::QMetaProperty(class QMetaProperty const &) + ??_EQBitArray@@QAE@I@Z @ 4529 NONAME ABSENT ; QBitArray::~QBitArray(unsigned int) + ??0QTime@@QAE@ABV0@@Z @ 4530 NONAME ABSENT ; QTime::QTime(class QTime const &) + ??4QPoint@@QAEAAV0@ABV0@@Z @ 4531 NONAME ABSENT ; class QPoint & QPoint::operator=(class QPoint const &) + ??4QSize@@QAEAAV0@ABV0@@Z @ 4532 NONAME ABSENT ; class QSize & QSize::operator=(class QSize const &) + ??0QPoint@@QAE@ABV0@@Z @ 4533 NONAME ABSENT ; QPoint::QPoint(class QPoint const &) + ??4QPointF@@QAEAAV0@ABV0@@Z @ 4534 NONAME ABSENT ; class QPointF & QPointF::operator=(class QPointF const &) + ??_EQRegExp@@QAE@I@Z @ 4535 NONAME ABSENT ; QRegExp::~QRegExp(unsigned int) + ??4QLocalePrivate@@QAEAAU0@ABU0@@Z @ 4536 NONAME ABSENT ; struct QLocalePrivate & QLocalePrivate::operator=(struct QLocalePrivate const &) + adler32_combine @ 4537 NONAME + adler32_combine64 @ 4538 NONAME + compressBound @ 4539 NONAME + crc32_combine @ 4540 NONAME + crc32_combine64 @ 4541 NONAME + deflateBound @ 4542 NONAME + deflatePrime @ 4543 NONAME + deflateSetHeader @ 4544 NONAME + deflateTune @ 4545 NONAME + gzbuffer @ 4546 NONAME + gzclearerr @ 4547 NONAME + gzclose_r @ 4548 NONAME + gzclose_w @ 4549 NONAME + gzdirect @ 4550 NONAME + gzoffset @ 4551 NONAME + gzoffset64 @ 4552 NONAME + gzopen64 @ 4553 NONAME + gzseek64 @ 4554 NONAME + gztell64 @ 4555 NONAME + gzungetc @ 4556 NONAME + inflateBack @ 4557 NONAME + inflateBackEnd @ 4558 NONAME + inflateBackInit_ @ 4559 NONAME + inflateCopy @ 4560 NONAME + inflateGetHeader @ 4561 NONAME + inflateMark @ 4562 NONAME + inflatePrime @ 4563 NONAME + inflateReset2 @ 4564 NONAME + inflateUndermine @ 4565 NONAME + zlibCompileFlags @ 4566 NONAME + ?toLower@QLocale@@QBE?AVQString@@ABV2@@Z @ 4567 NONAME ; class QString QLocale::toLower(class QString const &) const + ?qt_static_metacall@QFutureWatcherBase@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4568 NONAME ; void QFutureWatcherBase::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSettings@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4569 NONAME ; void QSettings::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QMetaCallEvent@@QAE@GGP6AXPAVQObject@@W4Call@QMetaObject@@HPAPAX@ZPBV1@HHPAH2PAVQSemaphore@@@Z @ 4570 NONAME ; QMetaCallEvent::QMetaCallEvent(unsigned short, unsigned short, void (*)(class QObject *, enum QMetaObject::Call, int, void * *), class QObject const *, int, int, int *, void * *, class QSemaphore *) + ?qt_static_metacall@QFileSystemWatcher@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4571 NONAME ; void QFileSystemWatcher::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?contains@QString@@QBE?AVQBool@@ABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4572 NONAME ; class QBool QString::contains(class QStringRef const &, enum Qt::CaseSensitivity) const + ?qt_static_metacall@QBuffer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4573 NONAME ; void QBuffer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?progressValueChanged@QFutureWatcherBase@@IAEXH@Z @ 4574 NONAME ; void QFutureWatcherBase::progressValueChanged(int) + ?staticMetaObjectExtraData@QParallelAnimationGroup@@0UQMetaObjectExtraData@@B @ 4575 NONAME ; struct QMetaObjectExtraData const QParallelAnimationGroup::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QFileSystemWatcher@@0UQMetaObjectExtraData@@B @ 4576 NONAME ; struct QMetaObjectExtraData const QFileSystemWatcher::staticMetaObjectExtraData + ?swap@QRegExp@@QAEXAAV1@@Z @ 4577 NONAME ; void QRegExp::swap(class QRegExp &) + ?qt_metacast@QFutureWatcherBase@@UAEPAXPBD@Z @ 4578 NONAME ; void * QFutureWatcherBase::qt_metacast(char const *) + ?staticMetaObjectExtraData@QThreadPool@@0UQMetaObjectExtraData@@B @ 4579 NONAME ; struct QMetaObjectExtraData const QThreadPool::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QTimer@@0UQMetaObjectExtraData@@B @ 4580 NONAME ; struct QMetaObjectExtraData const QTimer::staticMetaObjectExtraData + ?indexOf@QStringRef@@QBEHABVQString@@HW4CaseSensitivity@Qt@@@Z @ 4581 NONAME ; int QStringRef::indexOf(class QString const &, int, enum Qt::CaseSensitivity) const + ?indexOf@QStringRef@@QBEHABV1@HW4CaseSensitivity@Qt@@@Z @ 4582 NONAME ; int QStringRef::indexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const + ?count@QString@@QBEHABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4583 NONAME ; int QString::count(class QStringRef const &, enum Qt::CaseSensitivity) const + ?qIsEffectiveTLD@@YA_NABVQString@@@Z @ 4584 NONAME ; bool qIsEffectiveTLD(class QString const &) + ?swap@QString@@QAEXAAV1@@Z @ 4585 NONAME ; void QString::swap(class QString &) + ?staticMetaObjectExtraData@QHistoryState@@0UQMetaObjectExtraData@@B @ 4586 NONAME ; struct QMetaObjectExtraData const QHistoryState::staticMetaObjectExtraData + ?trUtf8@QAnimationDriver@@SA?AVQString@@PBD0H@Z @ 4587 NONAME ; class QString QAnimationDriver::trUtf8(char const *, char const *, int) + ?startsWith@QStringRef@@QBE_NVQChar@@W4CaseSensitivity@Qt@@@Z @ 4588 NONAME ; bool QStringRef::startsWith(class QChar, enum Qt::CaseSensitivity) const + ?setNativeKey@QSharedMemory@@QAEXABVQString@@@Z @ 4589 NONAME ; void QSharedMemory::setNativeKey(class QString const &) + ?lookupSocket@QSymbianSocketManager@@QBEHABVRSocket@@@Z @ 4590 NONAME ; int QSymbianSocketManager::lookupSocket(class RSocket const &) const + ??0QAnimationDriver@@IAE@AAVQAnimationDriverPrivate@@PAVQObject@@@Z @ 4591 NONAME ; QAnimationDriver::QAnimationDriver(class QAnimationDriverPrivate &, class QObject *) + ?staticMetaObjectExtraData@QBuffer@@0UQMetaObjectExtraData@@B @ 4592 NONAME ; struct QMetaObjectExtraData const QBuffer::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QPluginLoader@@0UQMetaObjectExtraData@@B @ 4593 NONAME ; struct QMetaObjectExtraData const QPluginLoader::staticMetaObjectExtraData + ?convertToLatin1@QAbstractConcatenable@@KAXVQChar@@AAPAD@Z @ 4594 NONAME ; void QAbstractConcatenable::convertToLatin1(class QChar, char * &) + ?languageCode@QLocalePrivate@@QBE?AVQString@@XZ @ 4595 NONAME ; class QString QLocalePrivate::languageCode(void) const + ?timerEvent@QUnifiedTimer@@MAEXPAVQTimerEvent@@@Z @ 4596 NONAME ; void QUnifiedTimer::timerEvent(class QTimerEvent *) + ?currentUnicodeVersion@QChar@@SA?AW4UnicodeVersion@1@XZ @ 4597 NONAME ; enum QChar::UnicodeVersion QChar::currentUnicodeVersion(void) + ?registerAnimation@QUnifiedTimer@@SAXPAVQAbstractAnimation@@_N@Z @ 4598 NONAME ; void QUnifiedTimer::registerAnimation(class QAbstractAnimation *, bool) + ?staticMetaObjectExtraData@QThread@@0UQMetaObjectExtraData@@B @ 4599 NONAME ; struct QMetaObjectExtraData const QThread::staticMetaObjectExtraData + ?tr@QFutureWatcherBase@@SA?AVQString@@PBD0@Z @ 4600 NONAME ; class QString QFutureWatcherBase::tr(char const *, char const *) + ?startsWith@QStringRef@@QBE_NABV1@W4CaseSensitivity@Qt@@@Z @ 4601 NONAME ; bool QStringRef::startsWith(class QStringRef const &, enum Qt::CaseSensitivity) const + ?contains@QStringRef@@QBE?AVQBool@@ABV1@W4CaseSensitivity@Qt@@@Z @ 4602 NONAME ; class QBool QStringRef::contains(class QStringRef const &, enum Qt::CaseSensitivity) const + ?defaultConnection@QSymbianSocketManager@@QBEPAVRConnection@@XZ @ 4603 NONAME ; class RConnection * QSymbianSocketManager::defaultConnection(void) const + ?trolltechConf@QCoreApplicationPrivate@@SAPAVQSettings@@XZ @ 4604 NONAME ; class QSettings * QCoreApplicationPrivate::trolltechConf(void) + ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@HV?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4605 NONAME ; bool QFSFileEngine::open(class QFlags, int, class QFlags) + ?qt_static_metacall@QEventLoop@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4606 NONAME ; void QEventLoop::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?startsWith@QStringRef@@QBE_NVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 4607 NONAME ; bool QStringRef::startsWith(class QLatin1String, enum Qt::CaseSensitivity) const + ?staticMetaObjectExtraData@QAbstractEventDispatcher@@0UQMetaObjectExtraData@@B @ 4608 NONAME ; struct QMetaObjectExtraData const QAbstractEventDispatcher::staticMetaObjectExtraData + ?cast@QMetaObject@@QBEPBVQObject@@PBV2@@Z @ 4609 NONAME ; class QObject const * QMetaObject::cast(class QObject const *) const + ?staticMetaObjectExtraData@QSharedMemory@@0UQMetaObjectExtraData@@B @ 4610 NONAME ; struct QMetaObjectExtraData const QSharedMemory::staticMetaObjectExtraData + ?pause@QFutureWatcherBase@@QAEXXZ @ 4611 NONAME ; void QFutureWatcherBase::pause(void) + ?ensureTimerUpdate@QUnifiedTimer@@SAXXZ @ 4612 NONAME ; void QUnifiedTimer::ensureTimerUpdate(void) + ?contains@QStringRef@@QBE?AVQBool@@VQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 4613 NONAME ; class QBool QStringRef::contains(class QLatin1String, enum Qt::CaseSensitivity) const + ?insert@QProcessEnvironment@@QAEXABV1@@Z @ 4614 NONAME ; void QProcessEnvironment::insert(class QProcessEnvironment const &) + ?d_func@QAnimationDriver@@ABEPBVQAnimationDriverPrivate@@XZ @ 4615 NONAME ; class QAnimationDriverPrivate const * QAnimationDriver::d_func(void) const + ?staticMetaObjectExtraData@QVariantAnimation@@0UQMetaObjectExtraData@@B @ 4616 NONAME ; struct QMetaObjectExtraData const QVariantAnimation::staticMetaObjectExtraData + ?swap@QVariant@@QAEXAAV1@@Z @ 4617 NONAME ; void QVariant::swap(class QVariant &) + ?topLevelDomain@QUrl@@QBE?AVQString@@XZ @ 4618 NONAME ; class QString QUrl::topLevelDomain(void) const + ?lastIndexOf@QStringRef@@QBEHABV1@HW4CaseSensitivity@Qt@@@Z @ 4619 NONAME ; int QStringRef::lastIndexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const + ?togglePaused@QFutureWatcherBase@@QAEXXZ @ 4620 NONAME ; void QFutureWatcherBase::togglePaused(void) + ?qt_static_metacall@QNonContiguousByteDevice@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4621 NONAME ; void QNonContiguousByteDevice::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?stopped@QAnimationDriver@@MAEXXZ @ 4622 NONAME ; void QAnimationDriver::stopped(void) + ?indexOf@QStringRef@@QBEHVQLatin1String@@HW4CaseSensitivity@Qt@@@Z @ 4623 NONAME ; int QStringRef::indexOf(class QLatin1String, int, enum Qt::CaseSensitivity) const + ?toRfc4122@QUuid@@QBE?AVQByteArray@@XZ @ 4624 NONAME ; class QByteArray QUuid::toRfc4122(void) const + ?senderSignalIndex@QObject@@IBEHXZ @ 4625 NONAME ; int QObject::senderSignalIndex(void) const + ?convertToAscii@QAbstractConcatenable@@KAXPBVQChar@@HAAPAD@Z @ 4626 NONAME ; void QAbstractConcatenable::convertToAscii(class QChar const *, int, char * &) + ?nsecsElapsed@QElapsedTimer@@QBE_JXZ @ 4627 NONAME ; long long QElapsedTimer::nsecsElapsed(void) const + ?staticMetaObjectExtraData@QFinalState@@0UQMetaObjectExtraData@@B @ 4628 NONAME ; struct QMetaObjectExtraData const QFinalState::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QNonContiguousByteDevice@@0UQMetaObjectExtraData@@B @ 4629 NONAME ; struct QMetaObjectExtraData const QNonContiguousByteDevice::staticMetaObjectExtraData + ?isResetDisabled@QNonContiguousByteDevice@@QAE_NXZ @ 4630 NONAME ; bool QNonContiguousByteDevice::isResetDisabled(void) + ?progressRangeChanged@QFutureWatcherBase@@IAEXHH@Z @ 4631 NONAME ; void QFutureWatcherBase::progressRangeChanged(int, int) + ?staticMetaObjectExtraData@QTranslator@@0UQMetaObjectExtraData@@B @ 4632 NONAME ; struct QMetaObjectExtraData const QTranslator::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4633 NONAME ; void QAbstractTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QMimeData@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4634 NONAME ; void QMimeData::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSocketNotifier@@0UQMetaObjectExtraData@@B @ 4635 NONAME ; struct QMetaObjectExtraData const QSocketNotifier::staticMetaObjectExtraData + ?qt_static_metacall@QFile@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4636 NONAME ; void QFile::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?bcp47Name@QLocale@@QBE?AVQString@@XZ @ 4637 NONAME ; class QString QLocale::bcp47Name(void) const + ?toCurrencyString@QLocale@@QBE?AVQString@@_JABV2@@Z @ 4638 NONAME ; class QString QLocale::toCurrencyString(long long, class QString const &) const + ??0QSymbianSocketManager@@QAE@XZ @ 4639 NONAME ; QSymbianSocketManager::QSymbianSocketManager(void) + ?cancel@QFutureWatcherBase@@QAEXXZ @ 4640 NONAME ; void QFutureWatcherBase::cancel(void) + ?toUtf8@QStringRef@@QBE?AVQByteArray@@XZ @ 4641 NONAME ; class QByteArray QStringRef::toUtf8(void) const + ?qt_static_metacall@QPropertyAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4642 NONAME ; void QPropertyAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?startsWith@QString@@QBE_NABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4643 NONAME ; bool QString::startsWith(class QStringRef const &, enum Qt::CaseSensitivity) const + ?unlockInternal@QMutex@@AAEXXZ @ 4644 NONAME ; void QMutex::unlockInternal(void) + ??XQPoint@@QAEAAV0@N@Z @ 4645 NONAME ; class QPoint & QPoint::operator*=(double) + ?qt_static_metacall@QSignalTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4646 NONAME ; void QSignalTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?updateAnimationsTime@QUnifiedTimer@@QAEXXZ @ 4647 NONAME ; void QUnifiedTimer::updateAnimationsTime(void) + ??0QSystemError@@QAE@HW4ErrorScope@0@@Z @ 4648 NONAME ; QSystemError::QSystemError(int, enum QSystemError::ErrorScope) + ?findLocale@QLocalePrivate@@SAPBU1@W4Language@QLocale@@W4Script@3@W4Country@3@@Z @ 4649 NONAME ; struct QLocalePrivate const * QLocalePrivate::findLocale(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) + ?swap@QBitArray@@QAEXAAV1@@Z @ 4650 NONAME ; void QBitArray::swap(class QBitArray &) + ?qt_static_metacall@QAbstractItemModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4651 NONAME ; void QAbstractItemModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?nativeKey@QSharedMemory@@QBE?AVQString@@XZ @ 4652 NONAME ; class QString QSharedMemory::nativeKey(void) const + ?areSocketEventsBlocked@QEventDispatcherSymbian@@QBE_NXZ @ 4653 NONAME ; bool QEventDispatcherSymbian::areSocketEventsBlocked(void) const + ?qt_static_metacall@QStateMachine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4654 NONAME ; void QStateMachine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?connect@QObject@@SA_NPBV1@ABVQMetaMethod@@01W4ConnectionType@Qt@@@Z @ 4655 NONAME ; bool QObject::connect(class QObject const *, class QMetaMethod const &, class QObject const *, class QMetaMethod const &, enum Qt::ConnectionType) + ?qt_static_metacall@QSocketNotifier@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4656 NONAME ; void QSocketNotifier::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QThreadPool@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4657 NONAME ; void QThreadPool::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?tr@QFutureWatcherBase@@SA?AVQString@@PBD0H@Z @ 4658 NONAME ; class QString QFutureWatcherBase::tr(char const *, char const *, int) + ?codeToScript@QLocalePrivate@@SA?AW4Script@QLocale@@ABVQString@@@Z @ 4659 NONAME ; enum QLocale::Script QLocalePrivate::codeToScript(class QString const &) + ?registerRunningAnimation@QUnifiedTimer@@AAEXPAVQAbstractAnimation@@@Z @ 4660 NONAME ; void QUnifiedTimer::registerRunningAnimation(class QAbstractAnimation *) + ?qt_static_metacall@QEventDispatcherSymbian@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4661 NONAME ; void QEventDispatcherSymbian::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?disconnect@QObject@@SA_NPBV1@ABVQMetaMethod@@01@Z @ 4662 NONAME ; bool QObject::disconnect(class QObject const *, class QMetaMethod const &, class QObject const *, class QMetaMethod const &) + ?toByteArray@QUuid@@QBE?AVQByteArray@@XZ @ 4663 NONAME ; class QByteArray QUuid::toByteArray(void) const + ?installAnimationDriver@QUnifiedTimer@@QAEXPAVQAnimationDriver@@@Z @ 4664 NONAME ; void QUnifiedTimer::installAnimationDriver(class QAnimationDriver *) + ?createSeparatedList@QLocale@@QBE?AVQString@@ABVQStringList@@@Z @ 4665 NONAME ; class QString QLocale::createSeparatedList(class QStringList const &) const + ?startsWith@QStringRef@@QBE_NABVQString@@W4CaseSensitivity@Qt@@@Z @ 4666 NONAME ; bool QStringRef::startsWith(class QString const &, enum Qt::CaseSensitivity) const + ?firstDayOfWeek@QLocale@@QBE?AW4DayOfWeek@Qt@@XZ @ 4667 NONAME ; enum Qt::DayOfWeek QLocale::firstDayOfWeek(void) const + ?contains@QStringRef@@QBE?AVQBool@@VQChar@@W4CaseSensitivity@Qt@@@Z @ 4668 NONAME ; class QBool QStringRef::contains(class QChar, enum Qt::CaseSensitivity) const + ?unsLongLongToString@QLocalePrivate@@SA?AVQString@@VQChar@@00_KHHHI@Z @ 4669 NONAME ; class QString QLocalePrivate::unsLongLongToString(class QChar, class QChar, class QChar, unsigned long long, int, int, int, unsigned int) + ?qt_static_metacall@QTimer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4670 NONAME ; void QTimer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?unregisterAnimation@QUnifiedTimer@@SAXPAVQAbstractAnimation@@@Z @ 4671 NONAME ; void QUnifiedTimer::unregisterAnimation(class QAbstractAnimation *) + ?runningAnimationCount@QUnifiedTimer@@QAEHXZ @ 4672 NONAME ; int QUnifiedTimer::runningAnimationCount(void) + ?staticMetaObjectExtraData@QObjectCleanupHandler@@0UQMetaObjectExtraData@@B @ 4673 NONAME ; struct QMetaObjectExtraData const QObjectCleanupHandler::staticMetaObjectExtraData + ?qt_symbianGetSocketServer@@YAAAVRSocketServ@@XZ @ 4674 NONAME ; class RSocketServ & qt_symbianGetSocketServer(void) + ?open@QFile@@QAE_NHV?$QFlags@W4OpenModeFlag@QIODevice@@@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4675 NONAME ; bool QFile::open(int, class QFlags, class QFlags) + ?quoteString@QLocale@@QBE?AVQString@@ABVQStringRef@@W4QuotationStyle@1@@Z @ 4676 NONAME ; class QString QLocale::quoteString(class QStringRef const &, enum QLocale::QuotationStyle) const + ?qt_metacast@QAnimationDriver@@UAEPAXPBD@Z @ 4677 NONAME ; void * QAnimationDriver::qt_metacast(char const *) + ?qt_static_metacall@QSignalMapper@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4678 NONAME ; void QSignalMapper::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?getStaticMetaObject@QFutureWatcherBase@@SAABUQMetaObject@@XZ @ 4679 NONAME ; struct QMetaObject const & QFutureWatcherBase::getStaticMetaObject(void) + ?toCurrencyString@QLocale@@QBE?AVQString@@_KABV2@@Z @ 4680 NONAME ; class QString QLocale::toCurrencyString(unsigned long long, class QString const &) const + ?trUtf8@QFutureWatcherBase@@SA?AVQString@@PBD0H@Z @ 4681 NONAME ; class QString QFutureWatcherBase::trUtf8(char const *, char const *, int) + ?count@QStringRef@@QBEHABVQString@@W4CaseSensitivity@Qt@@@Z @ 4682 NONAME ; int QStringRef::count(class QString const &, enum Qt::CaseSensitivity) const + ?endsWith@QStringRef@@QBE_NVQChar@@W4CaseSensitivity@Qt@@@Z @ 4683 NONAME ; bool QStringRef::endsWith(class QChar, enum Qt::CaseSensitivity) const + ?getSocketServer@QSymbianSocketManager@@QAEAAVRSocketServ@@XZ @ 4684 NONAME ; class RSocketServ & QSymbianSocketManager::getSocketServer(void) + ?qt_static_metacall@QTimeLine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4685 NONAME ; void QTimeLine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QUnifiedTimer@@AAE@XZ @ 4686 NONAME ; QUnifiedTimer::QUnifiedTimer(void) + ?staticMetaObjectExtraData@QFutureWatcherBase@@0UQMetaObjectExtraData@@B @ 4687 NONAME ; struct QMetaObjectExtraData const QFutureWatcherBase::staticMetaObjectExtraData + ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@PAU__sFILE@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4688 NONAME ; bool QFSFileEngine::open(class QFlags, struct __sFILE *, class QFlags) + ?createMutex@QMutexPool@@AAEPAVQMutex@@H@Z @ 4689 NONAME ; class QMutex * QMutexPool::createMutex(int) + ??0QCoreApplicationPrivate@@QAE@AAHPAPADI@Z @ 4690 NONAME ; QCoreApplicationPrivate::QCoreApplicationPrivate(int &, char * *, unsigned int) + ??1QActiveObject@@UAE@XZ @ 4691 NONAME ; QActiveObject::~QActiveObject(void) + ?maybeDeferSocketEvent@QActiveObject@@QAE_NXZ @ 4692 NONAME ; bool QActiveObject::maybeDeferSocketEvent(void) + ?addDeferredSocketActiveObject@QEventDispatcherSymbian@@QAEXPAVQActiveObject@@@Z @ 4693 NONAME ; void QEventDispatcherSymbian::addDeferredSocketActiveObject(class QActiveObject *) + ?qt_static_metacall@QSequentialAnimationGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4694 NONAME ; void QSequentialAnimationGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QCoreApplication@@QAE@AAHPAPADH@Z @ 4695 NONAME ; QCoreApplication::QCoreApplication(int &, char * *, int) + ?staticMetaObjectExtraData@QTextCodecPlugin@@0UQMetaObjectExtraData@@B @ 4696 NONAME ; struct QMetaObjectExtraData const QTextCodecPlugin::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QStateMachine@@0UQMetaObjectExtraData@@B @ 4697 NONAME ; struct QMetaObjectExtraData const QStateMachine::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QAbstractTransition@@0UQMetaObjectExtraData@@B @ 4698 NONAME ; struct QMetaObjectExtraData const QAbstractTransition::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QProcess@@0UQMetaObjectExtraData@@B @ 4699 NONAME ; struct QMetaObjectExtraData const QProcess::staticMetaObjectExtraData + ?qt_static_metacall@QProcess@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4700 NONAME ; void QProcess::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?toCurrencyString@QLocale@@QBE?AVQString@@MABV2@@Z @ 4701 NONAME ; class QString QLocale::toCurrencyString(float, class QString const &) const + ?uiLanguages@QLocale@@QBE?AVQStringList@@XZ @ 4702 NONAME ; class QStringList QLocale::uiLanguages(void) const + ?qt_metacall@QFutureWatcherBase@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4703 NONAME ; int QFutureWatcherBase::qt_metacall(enum QMetaObject::Call, int, void * *) + ?weekdays@QLocale@@QBE?AV?$QList@W4DayOfWeek@Qt@@@@XZ @ 4704 NONAME ; class QList QLocale::weekdays(void) const + ??0QAnimationDriver@@QAE@PAVQObject@@@Z @ 4705 NONAME ; QAnimationDriver::QAnimationDriver(class QObject *) + ?qt_static_metacall@QEventTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4706 NONAME ; void QEventTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?lastIndexOf@QStringRef@@QBEHVQLatin1String@@HW4CaseSensitivity@Qt@@@Z @ 4707 NONAME ; int QStringRef::lastIndexOf(class QLatin1String, int, enum Qt::CaseSensitivity) const + ?qt_static_metacall@QAbstractAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4708 NONAME ; void QAbstractAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QAnimationDriverPrivate@@QAE@XZ @ 4709 NONAME ; QAnimationDriverPrivate::QAnimationDriverPrivate(void) + ??XQPoint@@QAEAAV0@H@Z @ 4710 NONAME ; class QPoint & QPoint::operator*=(int) + ?staticMetaObjectExtraData@QIODevice@@0UQMetaObjectExtraData@@B @ 4711 NONAME ; struct QMetaObjectExtraData const QIODevice::staticMetaObjectExtraData + ??1QSymbianSocketManager@@QAE@XZ @ 4712 NONAME ; QSymbianSocketManager::~QSymbianSocketManager(void) + ?resumed@QFutureWatcherBase@@IAEXXZ @ 4713 NONAME ; void QFutureWatcherBase::resumed(void) + ?setPaused@QFutureWatcherBase@@QAEX_N@Z @ 4714 NONAME ; void QFutureWatcherBase::setPaused(bool) + ?qt_static_metacall@QTranslator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4715 NONAME ; void QTranslator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?endsWith@QString@@QBE_NABVQStringRef@@W4CaseSensitivity@Qt@@@Z @ 4716 NONAME ; bool QString::endsWith(class QStringRef const &, enum Qt::CaseSensitivity) const + ?canceled@QFutureWatcherBase@@IAEXXZ @ 4717 NONAME ; void QFutureWatcherBase::canceled(void) + ?qt_static_metacall@QThread@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4718 NONAME ; void QThread::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?progressTextChanged@QFutureWatcherBase@@IAEXABVQString@@@Z @ 4719 NONAME ; void QFutureWatcherBase::progressTextChanged(class QString const &) + ?staticMetaObjectExtraData@QFile@@0UQMetaObjectExtraData@@B @ 4720 NONAME ; struct QMetaObjectExtraData const QFile::staticMetaObjectExtraData + ?trUtf8@QAnimationDriver@@SA?AVQString@@PBD0@Z @ 4721 NONAME ; class QString QAnimationDriver::trUtf8(char const *, char const *) + ?matchingLocales@QLocale@@SA?AV?$QList@VQLocale@@@@W4Language@1@W4Script@1@W4Country@1@@Z @ 4722 NONAME ; class QList QLocale::matchingLocales(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) + ?install@QAnimationDriver@@QAEXXZ @ 4723 NONAME ; void QAnimationDriver::install(void) + ?qt_static_metacall@QHistoryState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4724 NONAME ; void QHistoryState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?countryCode@QLocalePrivate@@QBE?AVQString@@XZ @ 4725 NONAME ; class QString QLocalePrivate::countryCode(void) const + ?staticMetaObjectExtraData@QAnimationDriver@@0UQMetaObjectExtraData@@B @ 4726 NONAME ; struct QMetaObjectExtraData const QAnimationDriver::staticMetaObjectExtraData + ?qt_metacall@QAnimationDriver@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 4727 NONAME ; int QAnimationDriver::qt_metacall(enum QMetaObject::Call, int, void * *) + ?toCurrencyString@QLocale@@QBE?AVQString@@NABV2@@Z @ 4728 NONAME ; class QString QLocale::toCurrencyString(double, class QString const &) const + ?endsWith@QStringRef@@QBE_NABVQString@@W4CaseSensitivity@Qt@@@Z @ 4729 NONAME ; bool QStringRef::endsWith(class QString const &, enum Qt::CaseSensitivity) const + ?load@QTranslator@@QAE_NABVQLocale@@ABVQString@@111@Z @ 4730 NONAME ; bool QTranslator::load(class QLocale const &, class QString const &, class QString const &, class QString const &, class QString const &) + ?lockInline@QMutex@@QAEXXZ @ 4731 NONAME ; void QMutex::lockInline(void) + ??_EQActiveObject@@UAE@I@Z @ 4732 NONAME ; QActiveObject::~QActiveObject(unsigned int) + ?toUpper@QLocale@@QBE?AVQString@@ABV2@@Z @ 4733 NONAME ; class QString QLocale::toUpper(class QString const &) const + ?staticMetaObjectExtraData@QSignalTransition@@0UQMetaObjectExtraData@@B @ 4734 NONAME ; struct QMetaObjectExtraData const QSignalTransition::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QMimeData@@0UQMetaObjectExtraData@@B @ 4735 NONAME ; struct QMetaObjectExtraData const QMimeData::staticMetaObjectExtraData + ??0QLocale@@QAE@W4Language@0@W4Script@0@W4Country@0@@Z @ 4736 NONAME ; QLocale::QLocale(enum QLocale::Language, enum QLocale::Script, enum QLocale::Country) + ?fromRfc4122@QUuid@@SA?AU1@ABVQByteArray@@@Z @ 4737 NONAME ; struct QUuid QUuid::fromRfc4122(class QByteArray const &) + ?staticMetaObjectExtraData@QEventTransition@@0UQMetaObjectExtraData@@B @ 4738 NONAME ; struct QMetaObjectExtraData const QEventTransition::staticMetaObjectExtraData + ?staticMetaObject@QFutureWatcherBase@@2UQMetaObject@@B @ 4739 NONAME ; struct QMetaObject const QFutureWatcherBase::staticMetaObject + ?reactivateAndComplete@QActiveObject@@QAEXXZ @ 4740 NONAME ; void QActiveObject::reactivateAndComplete(void) + ?keys@QProcessEnvironment@@QBE?AVQStringList@@XZ @ 4741 NONAME ; class QStringList QProcessEnvironment::keys(void) const + ?staticMetaObjectExtraData@QPropertyAnimation@@0UQMetaObjectExtraData@@B @ 4742 NONAME ; struct QMetaObjectExtraData const QPropertyAnimation::staticMetaObjectExtraData + ?hasError@QXmlStreamWriter@@QBE_NXZ @ 4743 NONAME ; bool QXmlStreamWriter::hasError(void) const + ?endsWith@QStringRef@@QBE_NABV1@W4CaseSensitivity@Qt@@@Z @ 4744 NONAME ; bool QStringRef::endsWith(class QStringRef const &, enum Qt::CaseSensitivity) const + ??_EQUnifiedTimer@@UAE@I@Z @ 4745 NONAME ; QUnifiedTimer::~QUnifiedTimer(unsigned int) + ?setTimingInterval@QUnifiedTimer@@QAEXH@Z @ 4746 NONAME ; void QUnifiedTimer::setTimingInterval(int) + ?qt_static_metacall@QPluginLoader@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4747 NONAME ; void QPluginLoader::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?closestPauseAnimationTimeToFinish@QUnifiedTimer@@AAEHXZ @ 4748 NONAME ; int QUnifiedTimer::closestPauseAnimationTimeToFinish(void) + ?quoteString@QLocale@@QBE?AVQString@@ABV2@W4QuotationStyle@1@@Z @ 4749 NONAME ; class QString QLocale::quoteString(class QString const &, enum QLocale::QuotationStyle) const + ?qt_static_metacall@QState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4750 NONAME ; void QState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?currencySymbol@QLocale@@QBE?AVQString@@W4CurrencySymbolFormat@1@@Z @ 4751 NONAME ; class QString QLocale::currencySymbol(enum QLocale::CurrencySymbolFormat) const + ?lastIndexOf@QString@@QBEHABVQStringRef@@HW4CaseSensitivity@Qt@@@Z @ 4752 NONAME ; int QString::lastIndexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const + ?qt_static_metacall@QAnimationDriver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4753 NONAME ; void QAnimationDriver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?trUtf8@QFutureWatcherBase@@SA?AVQString@@PBD0@Z @ 4754 NONAME ; class QString QFutureWatcherBase::trUtf8(char const *, char const *) + ??1QAnimationDriverPrivate@@UAE@XZ @ 4755 NONAME ; QAnimationDriverPrivate::~QAnimationDriverPrivate(void) + ?d_func@QFutureWatcherBase@@ABEPBVQFutureWatcherBasePrivate@@XZ @ 4756 NONAME ; class QFutureWatcherBasePrivate const * QFutureWatcherBase::d_func(void) const + ?metaObject@QFutureWatcherBase@@UBEPBUQMetaObject@@XZ @ 4757 NONAME ; struct QMetaObject const * QFutureWatcherBase::metaObject(void) const + ?swap@QUrl@@QAEXAAV1@@Z @ 4758 NONAME ; void QUrl::swap(class QUrl &) + ??_EQAnimationDriverPrivate@@UAE@I@Z @ 4759 NONAME ; QAnimationDriverPrivate::~QAnimationDriverPrivate(unsigned int) + ?toCurrencyString@QLocale@@QBE?AVQString@@FABV2@@Z @ 4760 NONAME ; class QString QLocale::toCurrencyString(short, class QString const &) const + ??_EQAnimationDriver@@UAE@I@Z @ 4761 NONAME ; QAnimationDriver::~QAnimationDriver(unsigned int) + ?staticMetaObjectExtraData@QPauseAnimation@@0UQMetaObjectExtraData@@B @ 4762 NONAME ; struct QMetaObjectExtraData const QPauseAnimation::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractEventDispatcher@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4763 NONAME ; void QAbstractEventDispatcher::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSettings@@0UQMetaObjectExtraData@@B @ 4764 NONAME ; struct QMetaObjectExtraData const QSettings::staticMetaObjectExtraData + ?instance@QUnifiedTimer@@SAPAV1@_N@Z @ 4765 NONAME ; class QUnifiedTimer * QUnifiedTimer::instance(bool) + ?setSlowdownFactor@QUnifiedTimer@@QAEXM@Z @ 4766 NONAME ; void QUnifiedTimer::setSlowdownFactor(float) + ?isRunning@QAnimationDriver@@QBE_NXZ @ 4767 NONAME ; bool QAnimationDriver::isRunning(void) const + ?open@QFSFileEngine@@QAE_NV?$QFlags@W4OpenModeFlag@QIODevice@@@@ABVRFile@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4768 NONAME ; bool QFSFileEngine::open(class QFlags, class RFile const &, class QFlags) + ?script@QLocale@@QBE?AW4Script@1@XZ @ 4769 NONAME ; enum QLocale::Script QLocale::script(void) const + ?nativeLanguageName@QLocale@@QBE?AVQString@@XZ @ 4770 NONAME ; class QString QLocale::nativeLanguageName(void) const + ?open@QFile@@QAE_NABVRFile@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4771 NONAME ; bool QFile::open(class RFile const &, class QFlags, class QFlags) + ?qt_static_metacall@QObject@@CAXPAV1@W4Call@QMetaObject@@HPAPAX@Z @ 4772 NONAME ; void QObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?count@QStringRef@@QBEHABV1@W4CaseSensitivity@Qt@@@Z @ 4773 NONAME ; int QStringRef::count(class QStringRef const &, enum Qt::CaseSensitivity) const + ?staticMetaObjectExtraData@QSignalMapper@@0UQMetaObjectExtraData@@B @ 4774 NONAME ; struct QMetaObjectExtraData const QSignalMapper::staticMetaObjectExtraData + ?contains@QStringRef@@QBE?AVQBool@@ABVQString@@W4CaseSensitivity@Qt@@@Z @ 4775 NONAME ; class QBool QStringRef::contains(class QString const &, enum Qt::CaseSensitivity) const + ?tryLockInline@QMutex@@QAE_NXZ @ 4776 NONAME ; bool QMutex::tryLockInline(void) + ?lastIndexOf@QStringRef@@QBEHABVQString@@HW4CaseSensitivity@Qt@@@Z @ 4777 NONAME ; int QStringRef::lastIndexOf(class QString const &, int, enum Qt::CaseSensitivity) const + ?scriptCode@QLocalePrivate@@QBE?AVQString@@XZ @ 4778 NONAME ; class QString QLocalePrivate::scriptCode(void) const + ?removeSocket@QSymbianSocketManager@@QAE_NABVRSocket@@@Z @ 4779 NONAME ; bool QSymbianSocketManager::removeSocket(class RSocket const &) + ?staticMetaObjectExtraData@QState@@0UQMetaObjectExtraData@@B @ 4780 NONAME ; struct QMetaObjectExtraData const QState::staticMetaObjectExtraData + ?lockInternal@QMutex@@AAEXXZ @ 4781 NONAME ; void QMutex::lockInternal(void) + ?scope@QSystemError@@QAE?AW4ErrorScope@1@XZ @ 4782 NONAME ; enum QSystemError::ErrorScope QSystemError::scope(void) + ?staticMetaObjectExtraData@QSequentialAnimationGroup@@0UQMetaObjectExtraData@@B @ 4783 NONAME ; struct QMetaObjectExtraData const QSequentialAnimationGroup::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QEventDispatcherSymbian@@0UQMetaObjectExtraData@@B @ 4784 NONAME ; struct QMetaObjectExtraData const QEventDispatcherSymbian::staticMetaObjectExtraData + ??0QActiveObject@@QAE@HPAVQEventDispatcherSymbian@@@Z @ 4785 NONAME ; QActiveObject::QActiveObject(int, class QEventDispatcherSymbian *) + ?staticMetaObjectExtraData@QCoreApplication@@0UQMetaObjectExtraData@@B @ 4786 NONAME ; struct QMetaObjectExtraData const QCoreApplication::staticMetaObjectExtraData + ?d_func@QFutureWatcherBase@@AAEPAVQFutureWatcherBasePrivate@@XZ @ 4787 NONAME ; class QFutureWatcherBasePrivate * QFutureWatcherBase::d_func(void) + ?toCurrencyString@QLocale@@QBE?AVQString@@GABV2@@Z @ 4788 NONAME ; class QString QLocale::toCurrencyString(unsigned short, class QString const &) const + ?qt_static_metacall@QTextCodecPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4789 NONAME ; void QTextCodecPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?codeToLanguage@QLocalePrivate@@SA?AW4Language@QLocale@@ABVQString@@@Z @ 4790 NONAME ; enum QLocale::Language QLocalePrivate::codeToLanguage(class QString const &) + ?toString@QSystemError@@QAE?AVQString@@XZ @ 4791 NONAME ; class QString QSystemError::toString(void) + ?toLocal8Bit@QStringRef@@QBE?AVQByteArray@@XZ @ 4792 NONAME ; class QByteArray QStringRef::toLocal8Bit(void) const + ?indexOf@QStringRef@@QBEHVQChar@@HW4CaseSensitivity@Qt@@@Z @ 4793 NONAME ; int QStringRef::indexOf(class QChar, int, enum Qt::CaseSensitivity) const + ?toUcs4@QStringRef@@QBE?AV?$QVector@I@@XZ @ 4794 NONAME ; class QVector QStringRef::toUcs4(void) const + ?qTopLevelDomain@@YA?AVQString@@ABV1@@Z @ 4795 NONAME ; class QString qTopLevelDomain(class QString const &) + ?staticMetaObject@QAnimationDriver@@2UQMetaObject@@B @ 4796 NONAME ; struct QMetaObject const QAnimationDriver::staticMetaObject + ?unregisterRunningAnimation@QUnifiedTimer@@AAEXPAVQAbstractAnimation@@@Z @ 4797 NONAME ; void QUnifiedTimer::unregisterRunningAnimation(class QAbstractAnimation *) + ?isLocalFile@QUrl@@QBE_NXZ @ 4798 NONAME ; bool QUrl::isLocalFile(void) const + ?swap@QByteArray@@QAEXAAV1@@Z @ 4799 NONAME ; void QByteArray::swap(class QByteArray &) + ?staticMetaObjectExtraData@QTimeLine@@0UQMetaObjectExtraData@@B @ 4800 NONAME ; struct QMetaObjectExtraData const QTimeLine::staticMetaObjectExtraData + ?tr@QAnimationDriver@@SA?AVQString@@PBD0H@Z @ 4801 NONAME ; class QString QAnimationDriver::tr(char const *, char const *, int) + ?doubleToString@QLocalePrivate@@SA?AVQString@@VQChar@@00000NHW4DoubleForm@1@HI@Z @ 4802 NONAME ; class QString QLocalePrivate::doubleToString(class QChar, class QChar, class QChar, class QChar, class QChar, class QChar, double, int, enum QLocalePrivate::DoubleForm, int, unsigned int) + ?toLatin1@QStringRef@@QBE?AVQByteArray@@XZ @ 4803 NONAME ; class QByteArray QStringRef::toLatin1(void) const + ?staticMetaObjectExtraData@QAbstractItemModel@@0UQMetaObjectExtraData@@B @ 4804 NONAME ; struct QMetaObjectExtraData const QAbstractItemModel::staticMetaObjectExtraData + ??1QAnimationDriver@@UAE@XZ @ 4805 NONAME ; QAnimationDriver::~QAnimationDriver(void) + ?codeToCountry@QLocalePrivate@@SA?AW4Country@QLocale@@ABVQString@@@Z @ 4806 NONAME ; enum QLocale::Country QLocalePrivate::codeToCountry(class QString const &) + ?staticMetaObjectExtraData@QAbstractAnimation@@0UQMetaObjectExtraData@@B @ 4807 NONAME ; struct QMetaObjectExtraData const QAbstractAnimation::staticMetaObjectExtraData + ??0QUuid@@QAE@ABVQByteArray@@@Z @ 4808 NONAME ; QUuid::QUuid(class QByteArray const &) + ?qt_static_metacall@QVariantAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4809 NONAME ; void QVariantAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QFinalState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4810 NONAME ; void QFinalState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?tr@QAnimationDriver@@SA?AVQString@@PBD0@Z @ 4811 NONAME ; class QString QAnimationDriver::tr(char const *, char const *) + ?waitForDone@QThreadPool@@QAE_NH@Z @ 4812 NONAME ; bool QThreadPool::waitForDone(int) + ?qt_static_metacall@QSharedMemory@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4813 NONAME ; void QSharedMemory::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QObjectCleanupHandler@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4814 NONAME ; void QObjectCleanupHandler::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QSystemError@@QAE@XZ @ 4815 NONAME ; QSystemError::QSystemError(void) + ?qt_static_metacall@QAnimationGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4816 NONAME ; void QAnimationGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?countryId@QLocalePrivate@@QBEGXZ @ 4817 NONAME ; unsigned short QLocalePrivate::countryId(void) const + ?qt_static_metacall@QParallelAnimationGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4818 NONAME ; void QParallelAnimationGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?convertToAscii@QAbstractConcatenable@@KAXVQChar@@AAPAD@Z @ 4819 NONAME ; void QAbstractConcatenable::convertToAscii(class QChar, char * &) + ?resultReadyAt@QFutureWatcherBase@@IAEXH@Z @ 4820 NONAME ; void QFutureWatcherBase::resultReadyAt(int) + ?endsWith@QStringRef@@QBE_NVQLatin1String@@W4CaseSensitivity@Qt@@@Z @ 4821 NONAME ; bool QStringRef::endsWith(class QLatin1String, enum Qt::CaseSensitivity) const + ?stop@QAnimationDriver@@AAEXXZ @ 4822 NONAME ; void QAnimationDriver::stop(void) + ?toCurrencyString@QLocale@@QBE?AVQString@@HABV2@@Z @ 4823 NONAME ; class QString QLocale::toCurrencyString(int, class QString const &) const + ?staticMetaObjectExtraData@QEventLoop@@0UQMetaObjectExtraData@@B @ 4824 NONAME ; struct QMetaObjectExtraData const QEventLoop::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4825 NONAME ; void QAbstractState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QFactoryLoader@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4826 NONAME ; void QFactoryLoader::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QFactoryLoader@@0UQMetaObjectExtraData@@B @ 4827 NONAME ; struct QMetaObjectExtraData const QFactoryLoader::staticMetaObjectExtraData + ?getStaticMetaObject@QAnimationDriver@@SAABUQMetaObject@@XZ @ 4828 NONAME ; struct QMetaObject const & QAnimationDriver::getStaticMetaObject(void) + ?metaObject@QAnimationDriver@@UBEPBUQMetaObject@@XZ @ 4829 NONAME ; struct QMetaObject const * QAnimationDriver::metaObject(void) const + ?placeMetaCall@QMetaCallEvent@@UAEXPAVQObject@@@Z @ 4830 NONAME ; void QMetaCallEvent::placeMetaCall(class QObject *) + ?resetInternalData@QAbstractItemModel@@IAEXXZ @ 4831 NONAME ; void QAbstractItemModel::resetInternalData(void) + ?d_func@QAnimationDriver@@AAEPAVQAnimationDriverPrivate@@XZ @ 4832 NONAME ; class QAnimationDriverPrivate * QAnimationDriver::d_func(void) + ??0QFileInfo@@QAE@PAVQFileInfoPrivate@@@Z @ 4833 NONAME ; QFileInfo::QFileInfo(class QFileInfoPrivate *) + ?longLongToString@QLocalePrivate@@SA?AVQString@@VQChar@@000_JHHHI@Z @ 4834 NONAME ; class QString QLocalePrivate::longLongToString(class QChar, class QChar, class QChar, class QChar, long long, int, int, int, unsigned int) + ?app_compile_version@QCoreApplicationPrivate@@2HA @ 4835 NONAME ; int QCoreApplicationPrivate::app_compile_version + ?create@QNonContiguousByteDeviceFactory@@SAPAVQNonContiguousByteDevice@@V?$QSharedPointer@VQRingBuffer@@@@@Z @ 4836 NONAME ; class QNonContiguousByteDevice * QNonContiguousByteDeviceFactory::create(class QSharedPointer) + ?staticMetaObjectExtraData@QAbstractListModel@@0UQMetaObjectExtraData@@B @ 4837 NONAME ; struct QMetaObjectExtraData const QAbstractListModel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QTemporaryFile@@0UQMetaObjectExtraData@@B @ 4838 NONAME ; struct QMetaObjectExtraData const QTemporaryFile::staticMetaObjectExtraData + ?qt_static_metacall@QLibrary@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4839 NONAME ; void QLibrary::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?restartAnimationTimer@QUnifiedTimer@@QAEXXZ @ 4840 NONAME ; void QUnifiedTimer::restartAnimationTimer(void) + ?paused@QFutureWatcherBase@@IAEXXZ @ 4841 NONAME ; void QFutureWatcherBase::paused(void) + ?count@QStringRef@@QBEHVQChar@@W4CaseSensitivity@Qt@@@Z @ 4842 NONAME ; int QStringRef::count(class QChar, enum Qt::CaseSensitivity) const + ?staticMetaObjectExtraData@QAbstractTableModel@@0UQMetaObjectExtraData@@B @ 4843 NONAME ; struct QMetaObjectExtraData const QAbstractTableModel::staticMetaObjectExtraData + ?open@QFile@@QAE_NPAU__sFILE@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@V?$QFlags@W4FileHandleFlag@QFile@@@@@Z @ 4844 NONAME ; bool QFile::open(struct __sFILE *, class QFlags, class QFlags) + ?toAscii@QStringRef@@QBE?AVQByteArray@@XZ @ 4845 NONAME ; class QByteArray QStringRef::toAscii(void) const + ?qt_static_metacall@QPauseAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4846 NONAME ; void QPauseAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?bcp47Name@QLocalePrivate@@QBE?AVQString@@XZ @ 4847 NONAME ; class QString QLocalePrivate::bcp47Name(void) const + ?qt_static_metacall@QAbstractListModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4848 NONAME ; void QAbstractListModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setDefaultConnection@QSymbianSocketManager@@QAEXPAVRConnection@@@Z @ 4849 NONAME ; void QSymbianSocketManager::setDefaultConnection(class RConnection *) + ?qt_static_metacall@QAbstractTableModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4850 NONAME ; void QAbstractTableModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?lookupSocket@QSymbianSocketManager@@QBE_NHAAVRSocket@@@Z @ 4851 NONAME ; bool QSymbianSocketManager::lookupSocket(int, class RSocket &) const + ?staticMetaObjectExtraData@QLibrary@@0UQMetaObjectExtraData@@B @ 4852 NONAME ; struct QMetaObjectExtraData const QLibrary::staticMetaObjectExtraData + ?setConsistentTiming@QUnifiedTimer@@QAEX_N@Z @ 4853 NONAME ; void QUnifiedTimer::setConsistentTiming(bool) + ?staticMetaObjectExtraData@QObject@@0UQMetaObjectExtraData@@B @ 4854 NONAME ; struct QMetaObjectExtraData const QObject::staticMetaObjectExtraData + ?started@QAnimationDriver@@MAEXXZ @ 4855 NONAME ; void QAnimationDriver::started(void) + ??1QUnifiedTimer@@UAE@XZ @ 4856 NONAME ; QUnifiedTimer::~QUnifiedTimer(void) + ?setSlowModeEnabled@QUnifiedTimer@@QAEX_N@Z @ 4857 NONAME ; void QUnifiedTimer::setSlowModeEnabled(bool) + ?toCurrencyString@QLocale@@QBE?AVQString@@IABV2@@Z @ 4858 NONAME ; class QString QLocale::toCurrencyString(unsigned int, class QString const &) const + ?updateAnimationTimer@QUnifiedTimer@@SAXXZ @ 4859 NONAME ; void QUnifiedTimer::updateAnimationTimer(void) + ?qt_static_metacall@QIODevice@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4860 NONAME ; void QIODevice::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?finished@QFutureWatcherBase@@IAEXXZ @ 4861 NONAME ; void QFutureWatcherBase::finished(void) + ?qt_static_metacall@QTemporaryFile@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4862 NONAME ; void QTemporaryFile::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?instance@QSymbianSocketManager@@SAAAV1@XZ @ 4863 NONAME ; class QSymbianSocketManager & QSymbianSocketManager::instance(void) + ?getLangAndCountry@QLocalePrivate@@SAXABVQString@@AAW4Language@QLocale@@AAW4Script@4@AAW4Country@4@@Z @ 4864 NONAME ; void QLocalePrivate::getLangAndCountry(class QString const &, enum QLocale::Language &, enum QLocale::Script &, enum QLocale::Country &) + ?qt_static_metacall@QCoreApplication@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 4865 NONAME ; void QCoreApplication::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?nativeCountryName@QLocale@@QBE?AVQString@@XZ @ 4866 NONAME ; class QString QLocale::nativeCountryName(void) const + ?resume@QFutureWatcherBase@@QAEXXZ @ 4867 NONAME ; void QFutureWatcherBase::resume(void) + ?error@QSystemError@@QAEHXZ @ 4868 NONAME ; int QSystemError::error(void) + ?addSocket@QSymbianSocketManager@@QAEHABVRSocket@@@Z @ 4869 NONAME ; int QSymbianSocketManager::addSocket(class RSocket const &) + ?indexOf@QString@@QBEHABVQStringRef@@HW4CaseSensitivity@Qt@@@Z @ 4870 NONAME ; int QString::indexOf(class QStringRef const &, int, enum Qt::CaseSensitivity) const + ?lastIndexOf@QStringRef@@QBEHVQChar@@HW4CaseSensitivity@Qt@@@Z @ 4871 NONAME ; int QStringRef::lastIndexOf(class QChar, int, enum Qt::CaseSensitivity) const + ?advance@QAnimationDriver@@QAEXXZ @ 4872 NONAME ; void QAnimationDriver::advance(void) + ?start@QAnimationDriver@@AAEXXZ @ 4873 NONAME ; void QAnimationDriver::start(void) + ?unlockInline@QMutex@@QAEXXZ @ 4874 NONAME ; void QMutex::unlockInline(void) + ?staticMetaObjectExtraData@QAnimationGroup@@0UQMetaObjectExtraData@@B @ 4875 NONAME ; struct QMetaObjectExtraData const QAnimationGroup::staticMetaObjectExtraData + ?resultsReadyAt@QFutureWatcherBase@@IAEXHH@Z @ 4876 NONAME ; void QFutureWatcherBase::resultsReadyAt(int, int) + ?scriptToString@QLocale@@SA?AVQString@@W4Script@1@@Z @ 4877 NONAME ; class QString QLocale::scriptToString(enum QLocale::Script) + ?languageId@QLocalePrivate@@QBEGXZ @ 4878 NONAME ; unsigned short QLocalePrivate::languageId(void) const + ?started@QFutureWatcherBase@@IAEXXZ @ 4879 NONAME ; void QFutureWatcherBase::started(void) + ?staticMetaObjectExtraData@QAbstractState@@0UQMetaObjectExtraData@@B @ 4880 NONAME ; struct QMetaObjectExtraData const QAbstractState::staticMetaObjectExtraData diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def index c39ff18..3bb039d 100644 --- a/src/s60installs/bwins/QtDeclarativeu.def +++ b/src/s60installs/bwins/QtDeclarativeu.def @@ -1893,66 +1893,75 @@ EXPORTS ?setLayoutMirror@QDeclarativeItemPrivate@@QAEX_N@Z @ 1892 NONAME ; void QDeclarativeItemPrivate::setLayoutMirror(bool) ?setImplicitLayoutMirror@QDeclarativeItemPrivate@@QAEX_N0@Z @ 1893 NONAME ; void QDeclarativeItemPrivate::setImplicitLayoutMirror(bool, bool) ?isMirrored@QDeclarativeItemPrivate@@QBE_NXZ @ 1894 NONAME ; bool QDeclarativeItemPrivate::isMirrored(void) const - ?qt_static_metacall@QDeclarativeExtensionPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1895 NONAME ; void QDeclarativeExtensionPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeEngine@@0UQMetaObjectExtraData@@B @ 1896 NONAME ; struct QMetaObjectExtraData const QDeclarativeEngine::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativeComponent@@0UQMetaObjectExtraData@@B @ 1897 NONAME ; struct QMetaObjectExtraData const QDeclarativeComponent::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativeState@@0UQMetaObjectExtraData@@B @ 1898 NONAME ; struct QMetaObjectExtraData const QDeclarativeState::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPacketProtocol@@0UQMetaObjectExtraData@@B @ 1899 NONAME ; struct QMetaObjectExtraData const QPacketProtocol::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativeExtensionPlugin@@0UQMetaObjectExtraData@@B @ 1900 NONAME ; struct QMetaObjectExtraData const QDeclarativeExtensionPlugin::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativeContext@@0UQMetaObjectExtraData@@B @ 1901 NONAME ; struct QMetaObjectExtraData const QDeclarativeContext::staticMetaObjectExtraData - ?qt_static_metacall@QPacketProtocol@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1902 NONAME ; void QPacketProtocol::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeDebugServer@@0UQMetaObjectExtraData@@B @ 1903 NONAME ; struct QMetaObjectExtraData const QDeclarativeDebugServer::staticMetaObjectExtraData - ?qt_static_metacall@QDeclarativeStateOperation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1904 NONAME ; void QDeclarativeStateOperation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??_EQDeclarativeListReference@@QAE@I@Z @ 1895 NONAME ABSENT ; QDeclarativeListReference::~QDeclarativeListReference(unsigned int) + ??_EVariant@QDeclarativeParser@@QAE@I@Z @ 1896 NONAME ABSENT ; QDeclarativeParser::Variant::~Variant(unsigned int) + ??_EQDeclarativeProperty@@QAE@I@Z @ 1897 NONAME ABSENT ; QDeclarativeProperty::~QDeclarativeProperty(unsigned int) + ??_EQDeclarativeError@@QAE@I@Z @ 1898 NONAME ABSENT ; QDeclarativeError::~QDeclarativeError(unsigned int) + ??_EQDeclarativeCustomParserProperty@@QAE@I@Z @ 1899 NONAME ABSENT ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(unsigned int) + ??0QDeclarativeExtensionInterface@@QAE@XZ @ 1900 NONAME ABSENT ; QDeclarativeExtensionInterface::QDeclarativeExtensionInterface(void) + ??_EQDeclarativeScriptString@@QAE@I@Z @ 1901 NONAME ABSENT ; QDeclarativeScriptString::~QDeclarativeScriptString(unsigned int) + ??_EQDeclarativeCustomParserNode@@QAE@I@Z @ 1902 NONAME ABSENT ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(unsigned int) + ??_EQDeclarativePixmap@@QAE@I@Z @ 1903 NONAME ABSENT ; QDeclarativePixmap::~QDeclarativePixmap(unsigned int) + ?instance@QDeclarativeInspectorService@@SAPAV1@XZ @ 1904 NONAME ; class QDeclarativeInspectorService * QDeclarativeInspectorService::instance(void) ?qt_static_metacall@QDeclarativeComponent@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1905 NONAME ; void QDeclarativeComponent::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeTransition@@0UQMetaObjectExtraData@@B @ 1906 NONAME ; struct QMetaObjectExtraData const QDeclarativeTransition::staticMetaObjectExtraData - ?qt_static_metacall@QDeclarativePropertyMap@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1907 NONAME ; void QDeclarativePropertyMap::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDeclarativeDebugService@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1908 NONAME ; void QDeclarativeDebugService::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDeclarativeContext@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1909 NONAME ; void QDeclarativeContext::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeItem@@0UQMetaObjectExtraData@@B @ 1910 NONAME ; struct QMetaObjectExtraData const QDeclarativeItem::staticMetaObjectExtraData + ?qt_static_metacall@QDeclarativeStateGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1906 NONAME ; void QDeclarativeStateGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QDeclarativeDebugService@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1907 NONAME ; void QDeclarativeDebugService::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDeclarativeItem@@0UQMetaObjectExtraData@@B @ 1908 NONAME ; struct QMetaObjectExtraData const QDeclarativeItem::staticMetaObjectExtraData + ??_EQDeclarativeInspectorInterface@@UAE@I@Z @ 1909 NONAME ; QDeclarativeInspectorInterface::~QDeclarativeInspectorInterface(unsigned int) + ?qt_static_metacall@QDeclarativeInspectorService@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1910 NONAME ; void QDeclarativeInspectorService::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) ?qt_static_metacall@QDeclarativeState@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1911 NONAME ; void QDeclarativeState::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeDebugService@@0UQMetaObjectExtraData@@B @ 1912 NONAME ; struct QMetaObjectExtraData const QDeclarativeDebugService::staticMetaObjectExtraData - ?qt_static_metacall@QDeclarativeItem@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1913 NONAME ; void QDeclarativeItem::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeStateOperation@@0UQMetaObjectExtraData@@B @ 1914 NONAME ; struct QMetaObjectExtraData const QDeclarativeStateOperation::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativePropertyMap@@0UQMetaObjectExtraData@@B @ 1915 NONAME ; struct QMetaObjectExtraData const QDeclarativePropertyMap::staticMetaObjectExtraData - ?qt_static_metacall@QDeclarativeDebugServer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1916 NONAME ; void QDeclarativeDebugServer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDeclarativeExpression@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1917 NONAME ; void QDeclarativeExpression::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDeclarativeView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1918 NONAME ; void QDeclarativeView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDeclarativeTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1919 NONAME ; void QDeclarativeTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDeclarativeStateGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1920 NONAME ; void QDeclarativeStateGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDeclarativeExpression@@0UQMetaObjectExtraData@@B @ 1921 NONAME ; struct QMetaObjectExtraData const QDeclarativeExpression::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativeStateGroup@@0UQMetaObjectExtraData@@B @ 1922 NONAME ; struct QMetaObjectExtraData const QDeclarativeStateGroup::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDeclarativeView@@0UQMetaObjectExtraData@@B @ 1923 NONAME ; struct QMetaObjectExtraData const QDeclarativeView::staticMetaObjectExtraData - ?qt_static_metacall@QDeclarativeEngine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1924 NONAME ; void QDeclarativeEngine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?instance@QDeclarativeInspectorService@@SAPAV1@XZ @ 1925 NONAME ; class QDeclarativeInspectorService * QDeclarativeInspectorService::instance(void) - ??_EQDeclarativeInspectorInterface@@UAE@I@Z @ 1926 NONAME ; QDeclarativeInspectorInterface::~QDeclarativeInspectorInterface(unsigned int) - ?qt_static_metacall@QDeclarativeInspectorService@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1927 NONAME ; void QDeclarativeInspectorService::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?flushCache@QDeclarativePixmap@@SAXXZ @ 1928 NONAME ; void QDeclarativePixmap::flushCache(void) - ??0QDeclarativeDebuggingEnabler@@QAE@XZ @ 1929 NONAME ; QDeclarativeDebuggingEnabler::QDeclarativeDebuggingEnabler(void) - ?addView@QDeclarativeInspectorService@@QAEXPAVQDeclarativeView@@@Z @ 1930 NONAME ; void QDeclarativeInspectorService::addView(class QDeclarativeView *) - ?tr@QDeclarativeInspectorService@@SA?AVQString@@PBD0@Z @ 1931 NONAME ; class QString QDeclarativeInspectorService::tr(char const *, char const *) - ?statusChanged@QDeclarativeInspectorService@@MAEXW4Status@QDeclarativeDebugService@@@Z @ 1932 NONAME ; void QDeclarativeInspectorService::statusChanged(enum QDeclarativeDebugService::Status) - ?waitForReadyRead@QPacketProtocol@@QAE_NH@Z @ 1933 NONAME ; bool QPacketProtocol::waitForReadyRead(int) - ?waitForMessage@QDeclarativeDebugService@@QAE_NXZ @ 1934 NONAME ; bool QDeclarativeDebugService::waitForMessage(void) - ?staticMetaObject@QDeclarativeInspectorService@@2UQMetaObject@@B @ 1935 NONAME ; struct QMetaObject const QDeclarativeInspectorService::staticMetaObject - ?qt_metacast@QDeclarativeInspectorService@@UAEPAXPBD@Z @ 1936 NONAME ; void * QDeclarativeInspectorService::qt_metacast(char const *) - ?waitForMessage@QDeclarativeDebugServer@@QAE_NPAVQDeclarativeDebugService@@@Z @ 1937 NONAME ; bool QDeclarativeDebugServer::waitForMessage(class QDeclarativeDebugService *) - ?sendMessage@QDeclarativeInspectorService@@QAEXABVQByteArray@@@Z @ 1938 NONAME ; void QDeclarativeInspectorService::sendMessage(class QByteArray const &) - ??_EQDeclarativeInspectorService@@UAE@I@Z @ 1939 NONAME ; QDeclarativeInspectorService::~QDeclarativeInspectorService(unsigned int) - ??1QDeclarativeInspectorService@@UAE@XZ @ 1940 NONAME ; QDeclarativeInspectorService::~QDeclarativeInspectorService(void) - ?gotMessage@QDeclarativeInspectorService@@IAEXABVQByteArray@@@Z @ 1941 NONAME ; void QDeclarativeInspectorService::gotMessage(class QByteArray const &) - ?loadInspectorPlugin@QDeclarativeInspectorService@@CAPAVQDeclarativeInspectorInterface@@XZ @ 1942 NONAME ; class QDeclarativeInspectorInterface * QDeclarativeInspectorService::loadInspectorPlugin(void) - ?removeView@QDeclarativeInspectorService@@QAEXPAVQDeclarativeView@@@Z @ 1943 NONAME ; void QDeclarativeInspectorService::removeView(class QDeclarativeView *) - ?trUtf8@QDeclarativeInspectorService@@SA?AVQString@@PBD0@Z @ 1944 NONAME ; class QString QDeclarativeInspectorService::trUtf8(char const *, char const *) - ?metaObject@QDeclarativeInspectorService@@UBEPBUQMetaObject@@XZ @ 1945 NONAME ; struct QMetaObject const * QDeclarativeInspectorService::metaObject(void) const - ?tr@QDeclarativeInspectorService@@SA?AVQString@@PBD0H@Z @ 1946 NONAME ; class QString QDeclarativeInspectorService::tr(char const *, char const *, int) + ?flushCache@QDeclarativePixmap@@SAXXZ @ 1912 NONAME ; void QDeclarativePixmap::flushCache(void) + ?staticMetaObjectExtraData@QDeclarativePropertyMap@@0UQMetaObjectExtraData@@B @ 1913 NONAME ; struct QMetaObjectExtraData const QDeclarativePropertyMap::staticMetaObjectExtraData + ?qt_static_metacall@QDeclarativeExtensionPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1914 NONAME ; void QDeclarativeExtensionPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QDeclarativeDebuggingEnabler@@QAE@XZ @ 1915 NONAME ; QDeclarativeDebuggingEnabler::QDeclarativeDebuggingEnabler(void) + ?addView@QDeclarativeInspectorService@@QAEXPAVQDeclarativeView@@@Z @ 1916 NONAME ; void QDeclarativeInspectorService::addView(class QDeclarativeView *) + ?qt_static_metacall@QDeclarativeView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1917 NONAME ; void QDeclarativeView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QDeclarativeItem@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1918 NONAME ; void QDeclarativeItem::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?tr@QDeclarativeInspectorService@@SA?AVQString@@PBD0@Z @ 1919 NONAME ; class QString QDeclarativeInspectorService::tr(char const *, char const *) + ?staticMetaObjectExtraData@QDeclarativeEngine@@0UQMetaObjectExtraData@@B @ 1920 NONAME ; struct QMetaObjectExtraData const QDeclarativeEngine::staticMetaObjectExtraData + ?qt_static_metacall@QDeclarativeExpression@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1921 NONAME ; void QDeclarativeExpression::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QDeclarativeEngine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1922 NONAME ; void QDeclarativeEngine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?statusChanged@QDeclarativeInspectorService@@MAEXW4Status@QDeclarativeDebugService@@@Z @ 1923 NONAME ; void QDeclarativeInspectorService::statusChanged(enum QDeclarativeDebugService::Status) + ?waitForReadyRead@QPacketProtocol@@QAE_NH@Z @ 1924 NONAME ; bool QPacketProtocol::waitForReadyRead(int) + ?staticMetaObjectExtraData@QDeclarativeExtensionPlugin@@0UQMetaObjectExtraData@@B @ 1925 NONAME ; struct QMetaObjectExtraData const QDeclarativeExtensionPlugin::staticMetaObjectExtraData + ?waitForMessage@QDeclarativeDebugService@@QAE_NXZ @ 1926 NONAME ; bool QDeclarativeDebugService::waitForMessage(void) + ?staticMetaObjectExtraData@QPacketProtocol@@0UQMetaObjectExtraData@@B @ 1927 NONAME ; struct QMetaObjectExtraData const QPacketProtocol::staticMetaObjectExtraData + ?staticMetaObject@QDeclarativeInspectorService@@2UQMetaObject@@B @ 1928 NONAME ; struct QMetaObject const QDeclarativeInspectorService::staticMetaObject + ?qt_metacast@QDeclarativeInspectorService@@UAEPAXPBD@Z @ 1929 NONAME ; void * QDeclarativeInspectorService::qt_metacast(char const *) + ?waitForMessage@QDeclarativeDebugServer@@QAE_NPAVQDeclarativeDebugService@@@Z @ 1930 NONAME ; bool QDeclarativeDebugServer::waitForMessage(class QDeclarativeDebugService *) + ?qt_static_metacall@QDeclarativeContext@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1931 NONAME ; void QDeclarativeContext::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDeclarativeExpression@@0UQMetaObjectExtraData@@B @ 1932 NONAME ; struct QMetaObjectExtraData const QDeclarativeExpression::staticMetaObjectExtraData + ?sendMessage@QDeclarativeInspectorService@@QAEXABVQByteArray@@@Z @ 1933 NONAME ; void QDeclarativeInspectorService::sendMessage(class QByteArray const &) + ??_EQDeclarativeInspectorService@@UAE@I@Z @ 1934 NONAME ; QDeclarativeInspectorService::~QDeclarativeInspectorService(unsigned int) + ?qt_static_metacall@QDeclarativePropertyMap@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1935 NONAME ; void QDeclarativePropertyMap::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??1QDeclarativeInspectorService@@UAE@XZ @ 1936 NONAME ; QDeclarativeInspectorService::~QDeclarativeInspectorService(void) + ?staticMetaObjectExtraData@QDeclarativeDebugServer@@0UQMetaObjectExtraData@@B @ 1937 NONAME ; struct QMetaObjectExtraData const QDeclarativeDebugServer::staticMetaObjectExtraData + ?gotMessage@QDeclarativeInspectorService@@IAEXABVQByteArray@@@Z @ 1938 NONAME ; void QDeclarativeInspectorService::gotMessage(class QByteArray const &) + ?loadInspectorPlugin@QDeclarativeInspectorService@@CAPAVQDeclarativeInspectorInterface@@XZ @ 1939 NONAME ; class QDeclarativeInspectorInterface * QDeclarativeInspectorService::loadInspectorPlugin(void) + ?removeView@QDeclarativeInspectorService@@QAEXPAVQDeclarativeView@@@Z @ 1940 NONAME ; void QDeclarativeInspectorService::removeView(class QDeclarativeView *) + ?trUtf8@QDeclarativeInspectorService@@SA?AVQString@@PBD0@Z @ 1941 NONAME ; class QString QDeclarativeInspectorService::trUtf8(char const *, char const *) + ?metaObject@QDeclarativeInspectorService@@UBEPBUQMetaObject@@XZ @ 1942 NONAME ; struct QMetaObject const * QDeclarativeInspectorService::metaObject(void) const + ?tr@QDeclarativeInspectorService@@SA?AVQString@@PBD0H@Z @ 1943 NONAME ; class QString QDeclarativeInspectorService::tr(char const *, char const *, int) + ?qt_static_metacall@QPacketProtocol@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1944 NONAME ; void QPacketProtocol::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDeclarativeContext@@0UQMetaObjectExtraData@@B @ 1945 NONAME ; struct QMetaObjectExtraData const QDeclarativeContext::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDeclarativeState@@0UQMetaObjectExtraData@@B @ 1946 NONAME ; struct QMetaObjectExtraData const QDeclarativeState::staticMetaObjectExtraData ?views@QDeclarativeInspectorService@@QBE?AV?$QList@PAVQDeclarativeView@@@@XZ @ 1947 NONAME ; class QList QDeclarativeInspectorService::views(void) const ??0QDeclarativeInspectorService@@QAE@XZ @ 1948 NONAME ; QDeclarativeInspectorService::QDeclarativeInspectorService(void) - ?getStaticMetaObject@QDeclarativeInspectorService@@SAABUQMetaObject@@XZ @ 1949 NONAME ; struct QMetaObject const & QDeclarativeInspectorService::getStaticMetaObject(void) - ?staticMetaObjectExtraData@QDeclarativeInspectorService@@0UQMetaObjectExtraData@@B @ 1950 NONAME ; struct QMetaObjectExtraData const QDeclarativeInspectorService::staticMetaObjectExtraData - ??0QDeclarativeInspectorInterface@@QAE@XZ @ 1951 NONAME ; QDeclarativeInspectorInterface::QDeclarativeInspectorInterface(void) - ?messageReceived@QDeclarativeInspectorService@@MAEXABVQByteArray@@@Z @ 1952 NONAME ; void QDeclarativeInspectorService::messageReceived(class QByteArray const &) - ?trUtf8@QDeclarativeInspectorService@@SA?AVQString@@PBD0H@Z @ 1953 NONAME ; class QString QDeclarativeInspectorService::trUtf8(char const *, char const *, int) - ??1QDeclarativeInspectorInterface@@UAE@XZ @ 1954 NONAME ; QDeclarativeInspectorInterface::~QDeclarativeInspectorInterface(void) - ?qt_metacall@QDeclarativeInspectorService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1955 NONAME ; int QDeclarativeInspectorService::qt_metacall(enum QMetaObject::Call, int, void * *) - ?updateStatus@QDeclarativeInspectorService@@AAEXXZ @ 1956 NONAME ; void QDeclarativeInspectorService::updateStatus(void) + ?updateStatus@QDeclarativeInspectorService@@AAEXXZ @ 1949 NONAME ; void QDeclarativeInspectorService::updateStatus(void) + ?getStaticMetaObject@QDeclarativeInspectorService@@SAABUQMetaObject@@XZ @ 1950 NONAME ; struct QMetaObject const & QDeclarativeInspectorService::getStaticMetaObject(void) + ?staticMetaObjectExtraData@QDeclarativeInspectorService@@0UQMetaObjectExtraData@@B @ 1951 NONAME ; struct QMetaObjectExtraData const QDeclarativeInspectorService::staticMetaObjectExtraData + ?qt_static_metacall@QDeclarativeTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1952 NONAME ; void QDeclarativeTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QDeclarativeInspectorInterface@@QAE@XZ @ 1953 NONAME ; QDeclarativeInspectorInterface::QDeclarativeInspectorInterface(void) + ?messageReceived@QDeclarativeInspectorService@@MAEXABVQByteArray@@@Z @ 1954 NONAME ; void QDeclarativeInspectorService::messageReceived(class QByteArray const &) + ?staticMetaObjectExtraData@QDeclarativeDebugService@@0UQMetaObjectExtraData@@B @ 1955 NONAME ; struct QMetaObjectExtraData const QDeclarativeDebugService::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDeclarativeView@@0UQMetaObjectExtraData@@B @ 1956 NONAME ; struct QMetaObjectExtraData const QDeclarativeView::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDeclarativeTransition@@0UQMetaObjectExtraData@@B @ 1957 NONAME ; struct QMetaObjectExtraData const QDeclarativeTransition::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDeclarativeComponent@@0UQMetaObjectExtraData@@B @ 1958 NONAME ; struct QMetaObjectExtraData const QDeclarativeComponent::staticMetaObjectExtraData + ?trUtf8@QDeclarativeInspectorService@@SA?AVQString@@PBD0H@Z @ 1959 NONAME ; class QString QDeclarativeInspectorService::trUtf8(char const *, char const *, int) + ?qt_static_metacall@QDeclarativeDebugServer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1960 NONAME ; void QDeclarativeDebugServer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??1QDeclarativeInspectorInterface@@UAE@XZ @ 1961 NONAME ; QDeclarativeInspectorInterface::~QDeclarativeInspectorInterface(void) + ?staticMetaObjectExtraData@QDeclarativeStateOperation@@0UQMetaObjectExtraData@@B @ 1962 NONAME ; struct QMetaObjectExtraData const QDeclarativeStateOperation::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDeclarativeStateGroup@@0UQMetaObjectExtraData@@B @ 1963 NONAME ; struct QMetaObjectExtraData const QDeclarativeStateGroup::staticMetaObjectExtraData + ?qt_static_metacall@QDeclarativeStateOperation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1964 NONAME ; void QDeclarativeStateOperation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_metacall@QDeclarativeInspectorService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1965 NONAME ; int QDeclarativeInspectorService::qt_metacall(enum QMetaObject::Call, int, void * *) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index e05f0b8..7ee3843 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -13114,988 +13114,872 @@ EXPORTS ?constImageRef@QVolatileImage@@QBEABVQImage@@XZ @ 13113 NONAME ; class QImage const & QVolatileImage::constImageRef(void) const ?toVolatileImage@QPixmapData@@UBE?AVQVolatileImage@@XZ @ 13114 NONAME ; class QVolatileImage QPixmapData::toVolatileImage(void) const ?qt_s60_setPartialScreenAutomaticTranslation@@YAX_N@Z @ 13115 NONAME ; void qt_s60_setPartialScreenAutomaticTranslation(bool) - png_set_chunk_malloc_max @ 13116 NONAME - png_set_compression_buffer_size @ 13117 NONAME - png_set_compression_level @ 13118 NONAME - png_set_compression_mem_level @ 13119 NONAME - png_set_compression_method @ 13120 NONAME - png_set_compression_strategy @ 13121 NONAME - png_set_compression_window_bits @ 13122 NONAME - png_set_crc_action @ 13123 NONAME - png_set_error_fn @ 13124 NONAME - png_set_expand @ 13125 NONAME - png_set_expand_gray_1_2_4_to_8 @ 13126 NONAME - png_set_filler @ 13127 NONAME - png_set_filter @ 13128 NONAME - png_set_filter_heuristics @ 13129 NONAME - png_set_filter_heuristics_fixed @ 13130 NONAME - png_set_flush @ 13131 NONAME - png_set_gAMA @ 13132 NONAME - png_set_gAMA_fixed @ 13133 NONAME - png_set_gamma @ 13134 NONAME - png_set_gamma_fixed @ 13135 NONAME - png_set_gray_to_rgb @ 13136 NONAME - png_set_hIST @ 13137 NONAME - png_set_iCCP @ 13138 NONAME - png_set_interlace_handling @ 13139 NONAME - png_set_invalid @ 13140 NONAME - png_set_invert_alpha @ 13141 NONAME - png_set_invert_mono @ 13142 NONAME - png_set_keep_unknown_chunks @ 13143 NONAME - png_set_longjmp_fn @ 13144 NONAME - png_set_mem_fn @ 13145 NONAME - png_set_oFFs @ 13146 NONAME - png_set_pCAL @ 13147 NONAME - png_set_pHYs @ 13148 NONAME - png_set_packing @ 13149 NONAME - png_set_packswap @ 13150 NONAME - png_set_palette_to_rgb @ 13151 NONAME - png_set_progressive_read_fn @ 13152 NONAME - png_set_quantize @ 13153 NONAME - png_set_read_fn @ 13154 NONAME - png_set_read_status_fn @ 13155 NONAME - png_set_read_user_chunk_fn @ 13156 NONAME - png_set_read_user_transform_fn @ 13157 NONAME - png_set_rgb_to_gray @ 13158 NONAME - png_set_rgb_to_gray_fixed @ 13159 NONAME - png_set_rows @ 13160 NONAME - png_set_sBIT @ 13161 NONAME - png_set_sCAL @ 13162 NONAME - png_set_sCAL_fixed @ 13163 NONAME - png_set_sCAL_s @ 13164 NONAME - png_set_sPLT @ 13165 NONAME - png_set_sRGB @ 13166 NONAME - png_set_sRGB_gAMA_and_cHRM @ 13167 NONAME - png_set_shift @ 13168 NONAME - png_set_sig_bytes @ 13169 NONAME - png_set_strip_16 @ 13170 NONAME - png_set_strip_alpha @ 13171 NONAME - png_set_swap @ 13172 NONAME - png_set_swap_alpha @ 13173 NONAME - png_set_tIME @ 13174 NONAME - png_set_tRNS @ 13175 NONAME - png_set_tRNS_to_alpha @ 13176 NONAME - png_set_text @ 13177 NONAME - png_set_unknown_chunk_location @ 13178 NONAME - png_set_unknown_chunks @ 13179 NONAME - png_set_user_limits @ 13180 NONAME - png_set_user_transform_info @ 13181 NONAME - png_set_write_fn @ 13182 NONAME - png_set_write_status_fn @ 13183 NONAME - png_set_write_user_transform_fn @ 13184 NONAME - png_sig_cmp @ 13185 NONAME - png_start_read_image @ 13186 NONAME - png_warning @ 13187 NONAME - png_write_chunk @ 13188 NONAME - png_write_chunk_data @ 13189 NONAME - png_write_chunk_end @ 13190 NONAME - png_write_chunk_start @ 13191 NONAME - png_write_end @ 13192 NONAME - png_write_flush @ 13193 NONAME - png_write_image @ 13194 NONAME - png_write_info @ 13195 NONAME - png_write_info_before_PLTE @ 13196 NONAME - png_write_png @ 13197 NONAME - png_write_row @ 13198 NONAME - png_write_rows @ 13199 NONAME - png_write_sig @ 13200 NONAME - ?clipEnabledChanged@QBlitterPaintEngine@@UAEXXZ @ 13201 NONAME ; void QBlitterPaintEngine::clipEnabledChanged(void) - ?supportsSubPixelPositions@QFontEngine@@UBE_NXZ @ 13202 NONAME ; bool QFontEngine::supportsSubPixelPositions(void) const - ??_EQScrollerProperties@@UAE@I@Z @ 13203 NONAME ABSENT ; QScrollerProperties::~QScrollerProperties(unsigned int) - png_benign_error @ 13204 NONAME - png_build_grayscale_palette @ 13205 NONAME - png_calloc @ 13206 NONAME - ?d_func@QScrollEvent@@AAEPAVQScrollEventPrivate@@XZ @ 13207 NONAME ABSENT ; class QScrollEventPrivate * QScrollEvent::d_func(void) - png_chunk_benign_error @ 13208 NONAME - png_chunk_error @ 13209 NONAME - ?heightForWidth@QTabWidget@@UBEHH@Z @ 13210 NONAME ; int QTabWidget::heightForWidth(int) const - ??1QFlickGesture@@UAE@XZ @ 13211 NONAME ABSENT ; QFlickGesture::~QFlickGesture(void) - ??0QRasterWindowSurface@@QAE@PAVQWidget@@_N@Z @ 13212 NONAME ; QRasterWindowSurface::QRasterWindowSurface(class QWidget *, bool) - ?brushChanged@QBlitterPaintEngine@@UAEXXZ @ 13213 NONAME ; void QBlitterPaintEngine::brushChanged(void) - ?clip@QBlitterPaintEngine@@UAEXABVQRect@@W4ClipOperation@Qt@@@Z @ 13214 NONAME ; void QBlitterPaintEngine::clip(class QRect const &, enum Qt::ClipOperation) - ?detach@QGlyphs@@AAEXXZ @ 13215 NONAME ABSENT ; void QGlyphs::detach(void) - ?trUtf8@QInternalMimeData@@SA?AVQString@@PBD0@Z @ 13216 NONAME ; class QString QInternalMimeData::trUtf8(char const *, char const *) - png_chunk_warning @ 13217 NONAME - png_convert_from_struct_tm @ 13218 NONAME - ?setHintingPreference@QFont@@QAEXW4HintingPreference@1@@Z @ 13219 NONAME ; void QFont::setHintingPreference(enum QFont::HintingPreference) - png_convert_from_time_t @ 13220 NONAME - png_convert_to_rfc1123 @ 13221 NONAME - ?capabilities@QBlittable@@QBE?AV?$QFlags@W4Capability@QBlittable@@@@XZ @ 13222 NONAME ; class QFlags QBlittable::capabilities(void) const - ?setContentPosRange@QScrollPrepareEvent@@QAEXABVQRectF@@@Z @ 13223 NONAME ABSENT ; void QScrollPrepareEvent::setContentPosRange(class QRectF const &) - png_create_info_struct @ 13224 NONAME - ?swap@QBrush@@QAEXAAV1@@Z @ 13225 NONAME ; void QBrush::swap(class QBrush &) - ?trUtf8@QFlickGesture@@SA?AVQString@@PBD0H@Z @ 13226 NONAME ABSENT ; class QString QFlickGesture::trUtf8(char const *, char const *, int) - ?fontHintingPreference@QTextCharFormat@@QBE?AW4HintingPreference@QFont@@XZ @ 13227 NONAME ; enum QFont::HintingPreference QTextCharFormat::fontHintingPreference(void) const - ?swap@QPixmap@@QAEXAAV1@@Z @ 13228 NONAME ; void QPixmap::swap(class QPixmap &) - ??0QBlitterPaintEngine@@QAE@PAVQBlittablePixmapData@@@Z @ 13229 NONAME ; QBlitterPaintEngine::QBlitterPaintEngine(class QBlittablePixmapData *) - ?numberPrefix@QTextListFormat@@QBE?AVQString@@XZ @ 13230 NONAME ; class QString QTextListFormat::numberPrefix(void) const - ?setSnapPositionsX@QScroller@@QAEXMM@Z @ 13231 NONAME ABSENT ; void QScroller::setSnapPositionsX(float, float) - ?scroller@QScroller@@SAPBV1@PBVQObject@@@Z @ 13232 NONAME ABSENT ; class QScroller const * QScroller::scroller(class QObject const *) - ?qt_metacall@QScroller@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13233 NONAME ABSENT ; int QScroller::qt_metacall(enum QMetaObject::Call, int, void * *) - ?tr@QFlickGesture@@SA?AVQString@@PBD0@Z @ 13234 NONAME ABSENT ; class QString QFlickGesture::tr(char const *, char const *) - png_create_read_struct @ 13235 NONAME - ?setScrollerProperties@QScroller@@QAEXABVQScrollerProperties@@@Z @ 13236 NONAME ABSENT ; void QScroller::setScrollerProperties(class QScrollerProperties const &) - png_create_read_struct_2 @ 13237 NONAME - png_create_write_struct @ 13238 NONAME - ??MQItemSelectionRange@@QBE_NABV0@@Z @ 13239 NONAME ; bool QItemSelectionRange::operator<(class QItemSelectionRange const &) const - ?setWidthForHeight@QSizePolicy@@QAEX_N@Z @ 13240 NONAME ; void QSizePolicy::setWidthForHeight(bool) - ?qt_fontdata_from_index@@YA?AVQByteArray@@H@Z @ 13241 NONAME ; class QByteArray qt_fontdata_from_index(int) - png_create_write_struct_2 @ 13242 NONAME - ?swap@QImage@@QAEXAAV1@@Z @ 13243 NONAME ; void QImage::swap(class QImage &) - png_data_freer @ 13244 NONAME - ??0QScroller@@AAE@PAVQObject@@@Z @ 13245 NONAME ABSENT ; QScroller::QScroller(class QObject *) - ?compositionModeChanged@QBlitterPaintEngine@@UAEXXZ @ 13246 NONAME ; void QBlitterPaintEngine::compositionModeChanged(void) - ?contentPosRange@QScrollPrepareEvent@@QBE?AVQRectF@@XZ @ 13247 NONAME ABSENT ; class QRectF QScrollPrepareEvent::contentPosRange(void) const - ?grabGesture@QScroller@@SA?AW4GestureType@Qt@@PAVQObject@@W4ScrollerGestureType@1@@Z @ 13248 NONAME ABSENT ; enum Qt::GestureType QScroller::grabGesture(class QObject *, enum QScroller::ScrollerGestureType) - ??_EQFlickGesture@@UAE@I@Z @ 13249 NONAME ABSENT ; QFlickGesture::~QFlickGesture(unsigned int) - ?drawRects@QBlitterPaintEngine@@UAEXPBVQRectF@@H@Z @ 13250 NONAME ; void QBlitterPaintEngine::drawRects(class QRectF const *, int) - png_destroy_info_struct @ 13251 NONAME - png_destroy_read_struct @ 13252 NONAME - ??1QBlitterPaintEngine@@UAE@XZ @ 13253 NONAME ; QBlitterPaintEngine::~QBlitterPaintEngine(void) - ?markRasterOverlay@QBlittablePixmapData@@QAEXPBVQRectF@@H@Z @ 13254 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QRectF const *, int) - png_destroy_write_struct @ 13255 NONAME - png_error @ 13256 NONAME - ?drawTextItem@QBlitterPaintEngine@@UAEXABVQPointF@@ABVQTextItem@@@Z @ 13257 NONAME ; void QBlitterPaintEngine::drawTextItem(class QPointF const &, class QTextItem const &) - png_free @ 13258 NONAME - ?trUtf8@QFlickGesture@@SA?AVQString@@PBD0@Z @ 13259 NONAME ABSENT ; class QString QFlickGesture::trUtf8(char const *, char const *) - ?stop@QScroller@@QAEXXZ @ 13260 NONAME ABSENT ; void QScroller::stop(void) - ?retrieveData@QInternalMimeData@@MBE?AVQVariant@@ABVQString@@W4Type@2@@Z @ 13261 NONAME ; class QVariant QInternalMimeData::retrieveData(class QString const &, enum QVariant::Type) const - ??8QGlyphs@@QBE_NABV0@@Z @ 13262 NONAME ABSENT ; bool QGlyphs::operator==(class QGlyphs const &) const - ?drawImage@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 13263 NONAME ; void QBlitterPaintEngine::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags) - ?contentPos@QScrollEvent@@QBE?AVQPointF@@XZ @ 13264 NONAME ABSENT ; class QPointF QScrollEvent::contentPos(void) const - ?mimeTypes@QAbstractProxyModel@@UBE?AVQStringList@@XZ @ 13265 NONAME ; class QStringList QAbstractProxyModel::mimeTypes(void) const - ?createState@QBlitterPaintEngine@@UBEPAVQPainterState@@PAV2@@Z @ 13266 NONAME ; class QPainterState * QBlitterPaintEngine::createState(class QPainterState *) const - ?removeItem@QGraphicsGridLayout@@QAEXPAVQGraphicsLayoutItem@@@Z @ 13267 NONAME ; void QGraphicsGridLayout::removeItem(class QGraphicsLayoutItem *) - ?clipBoundingRect@QPainter@@QBE?AVQRectF@@XZ @ 13268 NONAME ; class QRectF QPainter::clipBoundingRect(void) const - ?formats@QInternalMimeData@@UBE?AVQStringList@@XZ @ 13269 NONAME ; class QStringList QInternalMimeData::formats(void) const - ?stateChanged@QScroller@@IAEXW4State@1@@Z @ 13270 NONAME ABSENT ; void QScroller::stateChanged(enum QScroller::State) - ?raster@QBlitterPaintEngine@@ABEPAVQRasterPaintEngine@@XZ @ 13271 NONAME ; class QRasterPaintEngine * QBlitterPaintEngine::raster(void) const - ?sort@QAbstractProxyModel@@UAEXHW4SortOrder@Qt@@@Z @ 13272 NONAME ; void QAbstractProxyModel::sort(int, enum Qt::SortOrder) - ?d_func@QBlittable@@AAEPAVQBlittablePrivate@@XZ @ 13273 NONAME ; class QBlittablePrivate * QBlittable::d_func(void) - ?setDefaultScrollerProperties@QScrollerProperties@@SAXABV1@@Z @ 13274 NONAME ABSENT ; void QScrollerProperties::setDefaultScrollerProperties(class QScrollerProperties const &) - png_free_data @ 13275 NONAME - ?type@QBlitterPaintEngine@@UBE?AW4Type@QPaintEngine@@XZ @ 13276 NONAME ; enum QPaintEngine::Type QBlitterPaintEngine::type(void) const - ?qt_metacast@QScroller@@UAEPAXPBD@Z @ 13277 NONAME ABSENT ; void * QScroller::qt_metacast(char const *) - png_free_default @ 13278 NONAME - ?buddy@QAbstractProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13279 NONAME ; class QModelIndex QAbstractProxyModel::buddy(class QModelIndex const &) const - ?tr@QScroller@@SA?AVQString@@PBD0H@Z @ 13280 NONAME ABSENT ; class QString QScroller::tr(char const *, char const *, int) - ?fill@QImage@@QAEXABVQColor@@@Z @ 13281 NONAME ; void QImage::fill(class QColor const &) - ?scrollMetric@QScrollerProperties@@QBE?AVQVariant@@W4ScrollMetric@1@@Z @ 13282 NONAME ABSENT ; class QVariant QScrollerProperties::scrollMetric(enum QScrollerProperties::ScrollMetric) const - ?fill@QImage@@QAEXW4GlobalColor@Qt@@@Z @ 13283 NONAME ; void QImage::fill(enum Qt::GlobalColor) - png_get_IHDR @ 13284 NONAME - ?canFetchMore@QAbstractProxyModel@@UBE_NABVQModelIndex@@@Z @ 13285 NONAME ; bool QAbstractProxyModel::canFetchMore(class QModelIndex const &) const - png_get_PLTE @ 13286 NONAME - ??1QScroller@@EAE@XZ @ 13287 NONAME ABSENT ; QScroller::~QScroller(void) - ?setFont@QGlyphs@@QAEXABVQFont@@@Z @ 13288 NONAME ABSENT ; void QGlyphs::setFont(class QFont const &) - ?startPos@QScrollPrepareEvent@@QBE?AVQPointF@@XZ @ 13289 NONAME ABSENT ; class QPointF QScrollPrepareEvent::startPos(void) const - ?resize@QBlittablePixmapData@@UAEXHH@Z @ 13290 NONAME ; void QBlittablePixmapData::resize(int, int) - ?setTabsClosable@QMdiArea@@QAEX_N@Z @ 13291 NONAME ; void QMdiArea::setTabsClosable(bool) - ?ensureVisible@QScroller@@QAEXABVQRectF@@MM@Z @ 13292 NONAME ABSENT ; void QScroller::ensureVisible(class QRectF const &, float, float) - ?getText@QInputDialog@@SA?AVQString@@PAVQWidget@@ABV2@1W4EchoMode@QLineEdit@@1PA_NV?$QFlags@W4WindowType@Qt@@@@V?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 13293 NONAME ; class QString QInputDialog::getText(class QWidget *, class QString const &, class QString const &, enum QLineEdit::EchoMode, class QString const &, bool *, class QFlags, class QFlags) - ?hasWidthForHeight@QSizePolicy@@QBE_NXZ @ 13294 NONAME ; bool QSizePolicy::hasWidthForHeight(void) const - ?transformChanged@QBlitterPaintEngine@@UAEXXZ @ 13295 NONAME ; void QBlitterPaintEngine::transformChanged(void) - png_get_bKGD @ 13296 NONAME - ??0QBlittablePixmapData@@QAE@XZ @ 13297 NONAME ; QBlittablePixmapData::QBlittablePixmapData(void) - png_get_bit_depth @ 13298 NONAME - png_get_cHRM @ 13299 NONAME - ?size@QBlittable@@QBE?AVQSize@@XZ @ 13300 NONAME ; class QSize QBlittable::size(void) const - png_get_cHRM_fixed @ 13301 NONAME - ?setBlittable@QBlittablePixmapData@@QAEXPAVQBlittable@@@Z @ 13302 NONAME ; void QBlittablePixmapData::setBlittable(class QBlittable *) - ?opacityChanged@QBlitterPaintEngine@@UAEXXZ @ 13303 NONAME ; void QBlitterPaintEngine::opacityChanged(void) - ?tr@QFlickGesture@@SA?AVQString@@PBD0H@Z @ 13304 NONAME ABSENT ; class QString QFlickGesture::tr(char const *, char const *, int) - png_get_channels @ 13305 NONAME - ?createExplicitFontWithName@QFontEngine@@IBE?AVQFont@@ABVQString@@@Z @ 13306 NONAME ABSENT ; class QFont QFontEngine::createExplicitFontWithName(class QString const &) const - ?setState@QBlitterPaintEngine@@UAEXPAVQPainterState@@@Z @ 13307 NONAME ; void QBlitterPaintEngine::setState(class QPainterState *) - ?clip@QBlitterPaintEngine@@UAEXABVQRegion@@W4ClipOperation@Qt@@@Z @ 13308 NONAME ; void QBlitterPaintEngine::clip(class QRegion const &, enum Qt::ClipOperation) - ?subPixelPositionForX@QTextureGlyphCache@@QBE?AUQFixed@@U2@@Z @ 13309 NONAME ; struct QFixed QTextureGlyphCache::subPixelPositionForX(struct QFixed) const - ?hasAlphaChannel@QBlittablePixmapData@@UBE_NXZ @ 13310 NONAME ; bool QBlittablePixmapData::hasAlphaChannel(void) const - ?setSnapPositionsX@QScroller@@QAEXABV?$QList@M@@@Z @ 13311 NONAME ABSENT ; void QScroller::setSnapPositionsX(class QList const &) - ?numberSuffix@QTextListFormat@@QBE?AVQString@@XZ @ 13312 NONAME ; class QString QTextListFormat::numberSuffix(void) const - ??HQGlyphs@@ABE?AV0@ABV0@@Z @ 13313 NONAME ABSENT ; class QGlyphs QGlyphs::operator+(class QGlyphs const &) const - png_get_chunk_cache_max @ 13314 NONAME - ?tabsMovable@QMdiArea@@QBE_NXZ @ 13315 NONAME ; bool QMdiArea::tabsMovable(void) const - png_get_chunk_malloc_max @ 13316 NONAME - ?contentPos@QScrollPrepareEvent@@QBE?AVQPointF@@XZ @ 13317 NONAME ABSENT ; class QPointF QScrollPrepareEvent::contentPos(void) const - ?getStaticMetaObject@QScroller@@SAABUQMetaObject@@XZ @ 13318 NONAME ABSENT ; struct QMetaObject const & QScroller::getStaticMetaObject(void) - ?end@QBlitterPaintEngine@@UAE_NXZ @ 13319 NONAME ; bool QBlitterPaintEngine::end(void) - ??1QScrollerProperties@@UAE@XZ @ 13320 NONAME ABSENT ; QScrollerProperties::~QScrollerProperties(void) - ??0QFlickGesture@@QAE@PAVQObject@@W4MouseButton@Qt@@0@Z @ 13321 NONAME ABSENT ; QFlickGesture::QFlickGesture(class QObject *, enum Qt::MouseButton, class QObject *) - ?fill@QBlitterPaintEngine@@UAEXABVQVectorPath@@ABVQBrush@@@Z @ 13322 NONAME ; void QBlitterPaintEngine::fill(class QVectorPath const &, class QBrush const &) - ?drawPixmap@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQPixmap@@0@Z @ 13323 NONAME ; void QBlitterPaintEngine::drawPixmap(class QRectF const &, class QPixmap const &, class QRectF const &) - png_get_color_type @ 13324 NONAME - ?setSnapPositionsY@QScroller@@QAEXABV?$QList@M@@@Z @ 13325 NONAME ABSENT ; void QScroller::setSnapPositionsY(class QList const &) - png_get_compression_buffer_size @ 13326 NONAME - png_get_compression_type @ 13327 NONAME - png_get_copyright @ 13328 NONAME - ?tr@QInternalMimeData@@SA?AVQString@@PBD0H@Z @ 13329 NONAME ; class QString QInternalMimeData::tr(char const *, char const *, int) - ?velocity@QScroller@@QBE?AVQPointF@@XZ @ 13330 NONAME ABSENT ; class QPointF QScroller::velocity(void) const - ?glyphIndexes@QGlyphs@@QBE?AV?$QVector@I@@XZ @ 13331 NONAME ABSENT ; class QVector QGlyphs::glyphIndexes(void) const - ?get@QFontPrivate@@SAPAV1@ABVQFont@@@Z @ 13332 NONAME ; class QFontPrivate * QFontPrivate::get(class QFont const &) - ?setScrollMetric@QScrollerProperties@@QAEXW4ScrollMetric@1@ABVQVariant@@@Z @ 13333 NONAME ABSENT ; void QScrollerProperties::setScrollMetric(enum QScrollerProperties::ScrollMetric, class QVariant const &) - png_get_current_pass_number @ 13334 NONAME - ??0QScrollEvent@@QAE@ABVQPointF@@0W4ScrollState@0@@Z @ 13335 NONAME ABSENT ; QScrollEvent::QScrollEvent(class QPointF const &, class QPointF const &, enum QScrollEvent::ScrollState) - ?d_func@QFlickGesture@@AAEPAVQFlickGesturePrivate@@XZ @ 13336 NONAME ABSENT ; class QFlickGesturePrivate * QFlickGesture::d_func(void) - ?scrollState@QScrollEvent@@QBE?AW4ScrollState@1@XZ @ 13337 NONAME ABSENT ; enum QScrollEvent::ScrollState QScrollEvent::scrollState(void) const - png_get_current_row_number @ 13338 NONAME - png_get_error_ptr @ 13339 NONAME - ?fetchMore@QAbstractProxyModel@@UAEXABVQModelIndex@@@Z @ 13340 NONAME ; void QAbstractProxyModel::fetchMore(class QModelIndex const &) - ?glyphs@QTextLine@@ABE?AV?$QList@VQGlyphs@@@@HH@Z @ 13341 NONAME ABSENT ; class QList QTextLine::glyphs(int, int) const - ?getStaticMetaObject@QFlickGesture@@SAABUQMetaObject@@XZ @ 13342 NONAME ABSENT ; struct QMetaObject const & QFlickGesture::getStaticMetaObject(void) - ?setViewportSize@QScrollPrepareEvent@@QAEXABVQSizeF@@@Z @ 13343 NONAME ABSENT ; void QScrollPrepareEvent::setViewportSize(class QSizeF const &) - png_get_filter_type @ 13344 NONAME - png_get_gAMA @ 13345 NONAME - ?d_func@QScrollPrepareEvent@@AAEPAVQScrollPrepareEventPrivate@@XZ @ 13346 NONAME ABSENT ; class QScrollPrepareEventPrivate * QScrollPrepareEvent::d_func(void) - ?overshootDistance@QScrollEvent@@QBE?AVQPointF@@XZ @ 13347 NONAME ABSENT ; class QPointF QScrollEvent::overshootDistance(void) const - ?resolveFontFamilyAlias@QFontDatabase@@CA?AVQString@@ABV2@@Z @ 13348 NONAME ; class QString QFontDatabase::resolveFontFamilyAlias(class QString const &) - ?alphaRGBMapForGlyph@QFontEngine@@UAE?AVQImage@@IUQFixed@@HABVQTransform@@@Z @ 13349 NONAME ; class QImage QFontEngine::alphaRGBMapForGlyph(unsigned int, struct QFixed, int, class QTransform const &) - png_get_gAMA_fixed @ 13350 NONAME - ?swap@QBitmap@@QAEXAAV1@@Z @ 13351 NONAME ; void QBitmap::swap(class QBitmap &) - ?hasFormat@QInternalMimeData@@UBE_NABVQString@@@Z @ 13352 NONAME ; bool QInternalMimeData::hasFormat(class QString const &) const - ?renderDataHelper@QInternalMimeData@@SA?AVQByteArray@@ABVQString@@PBVQMimeData@@@Z @ 13353 NONAME ; class QByteArray QInternalMimeData::renderDataHelper(class QString const &, class QMimeData const *) - png_get_hIST @ 13354 NONAME - ??0QWindowSurface@@QAE@PAVQWidget@@_N@Z @ 13355 NONAME ; QWindowSurface::QWindowSurface(class QWidget *, bool) - ?fill@QBlittablePixmapData@@UAEXABVQColor@@@Z @ 13356 NONAME ; void QBlittablePixmapData::fill(class QColor const &) - ?metric@QBlittablePixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 13357 NONAME ; int QBlittablePixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const - png_get_header_ver @ 13358 NONAME - ?fillRect@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQColor@@@Z @ 13359 NONAME ; void QBlitterPaintEngine::fillRect(class QRectF const &, class QColor const &) - png_get_header_version @ 13360 NONAME - ??6@YA?AVQDebug@@V0@PBVQSymbianEvent@@@Z @ 13361 NONAME ; class QDebug operator<<(class QDebug, class QSymbianEvent const *) - png_get_iCCP @ 13362 NONAME - ?ProcessCommandParametersL@QS60MainAppUi@@UAEHW4TApaCommand@@AAV?$TBuf@$0BAA@@@ABVTDesC8@@@Z @ 13363 NONAME ; int QS60MainAppUi::ProcessCommandParametersL(enum TApaCommand, class TBuf<256> &, class TDesC8 const &) - ?scrollerProperties@QScroller@@QBE?AVQScrollerProperties@@XZ @ 13364 NONAME ABSENT ; class QScrollerProperties QScroller::scrollerProperties(void) const - ??_EQBlittablePixmapData@@UAE@I@Z @ 13365 NONAME ; QBlittablePixmapData::~QBlittablePixmapData(unsigned int) - ?mimeData@QAbstractProxyModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 13366 NONAME ; class QMimeData * QAbstractProxyModel::mimeData(class QList const &) const - png_get_image_height @ 13367 NONAME - ??_EQScroller@@UAE@I@Z @ 13368 NONAME ABSENT ; QScroller::~QScroller(unsigned int) - ??1QScrollPrepareEvent@@UAE@XZ @ 13369 NONAME ABSENT ; QScrollPrepareEvent::~QScrollPrepareEvent(void) - png_get_image_width @ 13370 NONAME - ?setTabsMovable@QMdiArea@@QAEX_N@Z @ 13371 NONAME ; void QMdiArea::setTabsMovable(bool) - ?minimumSizeHint@QRadioButton@@UBE?AVQSize@@XZ @ 13372 NONAME ; class QSize QRadioButton::minimumSizeHint(void) const - png_get_int_32 @ 13373 NONAME - ?qt_metacast@QFlickGesture@@UAEPAXPBD@Z @ 13374 NONAME ABSENT ; void * QFlickGesture::qt_metacast(char const *) - png_get_interlace_type @ 13375 NONAME - ?setPositions@QGlyphs@@QAEXABV?$QVector@VQPointF@@@@@Z @ 13376 NONAME ABSENT ; void QGlyphs::setPositions(class QVector const &) - png_get_io_chunk_name @ 13377 NONAME - png_get_io_chunk_type @ 13378 NONAME - png_get_io_ptr @ 13379 NONAME - ?drawRects@QBlitterPaintEngine@@UAEXPBVQRect@@H@Z @ 13380 NONAME ; void QBlitterPaintEngine::drawRects(class QRect const *, int) - ?fillInPendingGlyphs@QTextureGlyphCache@@QAEXXZ @ 13381 NONAME ; void QTextureGlyphCache::fillInPendingGlyphs(void) - ?metaObject@QFlickGesture@@UBEPBUQMetaObject@@XZ @ 13382 NONAME ABSENT ; struct QMetaObject const * QFlickGesture::metaObject(void) const - ?renderHintsChanged@QBlitterPaintEngine@@UAEXXZ @ 13383 NONAME ; void QBlitterPaintEngine::renderHintsChanged(void) - ?supportedDropActions@QAbstractProxyModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 13384 NONAME ; class QFlags QAbstractProxyModel::supportedDropActions(void) const - ?fillRect@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQBrush@@@Z @ 13385 NONAME ; void QBlitterPaintEngine::fillRect(class QRectF const &, class QBrush const &) - ?setGlyphIndexes@QGlyphs@@QAEXABV?$QVector@I@@@Z @ 13386 NONAME ABSENT ; void QGlyphs::setGlyphIndexes(class QVector const &) - ?alphaMapBoundingBox@QFontEngine@@UAE?AUglyph_metrics_t@@IABVQTransform@@W4GlyphFormat@1@@Z @ 13387 NONAME ABSENT ; struct glyph_metrics_t QFontEngine::alphaMapBoundingBox(unsigned int, class QTransform const &, enum QFontEngine::GlyphFormat) - ?resendPrepareEvent@QScroller@@QAEXXZ @ 13388 NONAME ABSENT ; void QScroller::resendPrepareEvent(void) - png_get_libpng_ver @ 13389 NONAME - png_get_mem_ptr @ 13390 NONAME - png_get_oFFs @ 13391 NONAME - ?d_func@QBlittable@@ABEPBVQBlittablePrivate@@XZ @ 13392 NONAME ; class QBlittablePrivate const * QBlittable::d_func(void) const - ?state@QBlitterPaintEngine@@QBEPBVQPainterState@@XZ @ 13393 NONAME ; class QPainterState const * QBlitterPaintEngine::state(void) const - ??0QScrollPrepareEvent@@QAE@ABVQPointF@@@Z @ 13394 NONAME ABSENT ; QScrollPrepareEvent::QScrollPrepareEvent(class QPointF const &) - png_get_pCAL @ 13395 NONAME - png_get_pHYs @ 13396 NONAME - png_get_pHYs_dpi @ 13397 NONAME - ?scrollTo@QScroller@@QAEXABVQPointF@@H@Z @ 13398 NONAME ABSENT ; void QScroller::scrollTo(class QPointF const &, int) - ?ungrabGesture@QScroller@@SAXPAVQObject@@@Z @ 13399 NONAME ABSENT ; void QScroller::ungrabGesture(class QObject *) - png_get_pixel_aspect_ratio @ 13400 NONAME - ?clear@QGlyphs@@QAEXXZ @ 13401 NONAME ABSENT ; void QGlyphs::clear(void) - png_get_pixel_aspect_ratio_fixed @ 13402 NONAME - ??1QBlittablePixmapData@@UAE@XZ @ 13403 NONAME ; QBlittablePixmapData::~QBlittablePixmapData(void) - ?formatsHelper@QInternalMimeData@@SA?AVQStringList@@PBVQMimeData@@@Z @ 13404 NONAME ; class QStringList QInternalMimeData::formatsHelper(class QMimeData const *) - ?qt_metacast@QInternalMimeData@@UAEPAXPBD@Z @ 13405 NONAME ; void * QInternalMimeData::qt_metacast(char const *) - ?font@QGlyphs@@QBE?AVQFont@@XZ @ 13406 NONAME ABSENT ; class QFont QGlyphs::font(void) const - ?paintEngine@QBlittablePixmapData@@UBEPAVQPaintEngine@@XZ @ 13407 NONAME ; class QPaintEngine * QBlittablePixmapData::paintEngine(void) const - ?unsetDefaultScrollerProperties@QScrollerProperties@@SAXXZ @ 13408 NONAME ABSENT ; void QScrollerProperties::unsetDefaultScrollerProperties(void) - ?hasChildren@QAbstractProxyModel@@UBE_NABVQModelIndex@@@Z @ 13409 NONAME ; bool QAbstractProxyModel::hasChildren(class QModelIndex const &) const - ?swap@QPen@@QAEXAAV1@@Z @ 13410 NONAME ; void QPen::swap(class QPen &) - ?span@QAbstractProxyModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 13411 NONAME ; class QSize QAbstractProxyModel::span(class QModelIndex const &) const - png_get_pixels_per_meter @ 13412 NONAME - png_get_progressive_ptr @ 13413 NONAME - png_get_rgb_to_gray_status @ 13414 NONAME - ?setSnapPositionsY@QScroller@@QAEXMM@Z @ 13415 NONAME ABSENT ; void QScroller::setSnapPositionsY(float, float) - ?d_func@QScrollPrepareEvent@@ABEPBVQScrollPrepareEventPrivate@@XZ @ 13416 NONAME ABSENT ; class QScrollPrepareEventPrivate const * QScrollPrepareEvent::d_func(void) const - ?textureMapForGlyph@QTextureGlyphCache@@QBE?AVQImage@@IUQFixed@@@Z @ 13417 NONAME ; class QImage QTextureGlyphCache::textureMapForGlyph(unsigned int, struct QFixed) const - png_get_rowbytes @ 13418 NONAME - png_get_rows @ 13419 NONAME - png_get_sBIT @ 13420 NONAME - ?qt_metacall@QInternalMimeData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13421 NONAME ; int QInternalMimeData::qt_metacall(enum QMetaObject::Call, int, void * *) - ?lineHeightType@QTextBlockFormat@@QBEHXZ @ 13422 NONAME ; int QTextBlockFormat::lineHeightType(void) const - ?hintingPreference@QFont@@QBE?AW4HintingPreference@1@XZ @ 13423 NONAME ; enum QFont::HintingPreference QFont::hintingPreference(void) const - ??0QGlyphs@@QAE@XZ @ 13424 NONAME ABSENT ; QGlyphs::QGlyphs(void) - ?trUtf8@QInternalMimeData@@SA?AVQString@@PBD0H@Z @ 13425 NONAME ; class QString QInternalMimeData::trUtf8(char const *, char const *, int) - png_get_sCAL @ 13426 NONAME - png_get_sCAL_fixed @ 13427 NONAME - ?begin@QBlitterPaintEngine@@UAE_NPAVQPaintDevice@@@Z @ 13428 NONAME ; bool QBlitterPaintEngine::begin(class QPaintDevice *) - ?inFontUcs4@QFontMetricsF@@QBE_NI@Z @ 13429 NONAME ; bool QFontMetricsF::inFontUcs4(unsigned int) const - ?viewportSize@QScrollPrepareEvent@@QBE?AVQSizeF@@XZ @ 13430 NONAME ABSENT ; class QSizeF QScrollPrepareEvent::viewportSize(void) const - ?markRasterOverlay@QBlittablePixmapData@@QAEXABVQRectF@@@Z @ 13431 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QRectF const &) - ?d_func@QBlitterPaintEngine@@AAEPAVQBlitterPaintEnginePrivate@@XZ @ 13432 NONAME ; class QBlitterPaintEnginePrivate * QBlitterPaintEngine::d_func(void) - ?setNumberPrefix@QTextListFormat@@QAEXABVQString@@@Z @ 13433 NONAME ; void QTextListFormat::setNumberPrefix(class QString const &) - ?lineHeight@QTextBlockFormat@@QBEMMM@Z @ 13434 NONAME ; float QTextBlockFormat::lineHeight(float, float) const - png_get_sCAL_s @ 13435 NONAME - ?getItem@QInputDialog@@SA?AVQString@@PAVQWidget@@ABV2@1ABVQStringList@@H_NPA_NV?$QFlags@W4WindowType@Qt@@@@V?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 13436 NONAME ; class QString QInputDialog::getItem(class QWidget *, class QString const &, class QString const &, class QStringList const &, int, bool, bool *, class QFlags, class QFlags) - png_get_sPLT @ 13437 NONAME - ?hasFeature@QWindowSurface@@QBE_NW4WindowSurfaceFeature@1@@Z @ 13438 NONAME ; bool QWindowSurface::hasFeature(enum QWindowSurface::WindowSurfaceFeature) const - ?qGamma_correct_back_to_linear_cs@@YAXPAVQImage@@@Z @ 13439 NONAME ; void qGamma_correct_back_to_linear_cs(class QImage *) - png_get_sRGB @ 13440 NONAME - ?clip@QBlitterPaintEngine@@UAEXABVQVectorPath@@W4ClipOperation@Qt@@@Z @ 13441 NONAME ; void QBlitterPaintEngine::clip(class QVectorPath const &, enum Qt::ClipOperation) - ??1QScrollEvent@@UAE@XZ @ 13442 NONAME ABSENT ; QScrollEvent::~QScrollEvent(void) - ?state@QScroller@@QBE?AW4State@1@XZ @ 13443 NONAME ABSENT ; enum QScroller::State QScroller::state(void) const - ?positions@QGlyphs@@QBE?AV?$QVector@VQPointF@@@@XZ @ 13444 NONAME ABSENT ; class QVector QGlyphs::positions(void) const - ?tr@QScroller@@SA?AVQString@@PBD0@Z @ 13445 NONAME ABSENT ; class QString QScroller::tr(char const *, char const *) - ?canReadData@QInternalMimeData@@SA_NABVQString@@@Z @ 13446 NONAME ; bool QInternalMimeData::canReadData(class QString const &) - ?glyphs@QTextLayout@@QBE?AV?$QList@VQGlyphs@@@@XZ @ 13447 NONAME ABSENT ; class QList QTextLayout::glyphs(void) const - png_get_tIME @ 13448 NONAME - png_get_tRNS @ 13449 NONAME - png_get_text @ 13450 NONAME - ?trUtf8@QScroller@@SA?AVQString@@PBD0H@Z @ 13451 NONAME ABSENT ; class QString QScroller::trUtf8(char const *, char const *, int) - ?d_func@QFlickGesture@@ABEPBVQFlickGesturePrivate@@XZ @ 13452 NONAME ABSENT ; class QFlickGesturePrivate const * QFlickGesture::d_func(void) const - png_get_uint_16 @ 13453 NONAME - png_get_uint_31 @ 13454 NONAME - png_get_uint_32 @ 13455 NONAME - png_get_unknown_chunks @ 13456 NONAME - ?hasScroller@QScroller@@SA_NPAVQObject@@@Z @ 13457 NONAME ABSENT ; bool QScroller::hasScroller(class QObject *) - ?alphaMapForGlyph@QFontEngine@@UAE?AVQImage@@IUQFixed@@ABVQTransform@@@Z @ 13458 NONAME ; class QImage QFontEngine::alphaMapForGlyph(unsigned int, struct QFixed, class QTransform const &) - png_get_user_chunk_ptr @ 13459 NONAME - ??_EQGlyphs@@QAE@I@Z @ 13460 NONAME ABSENT ; QGlyphs::~QGlyphs(unsigned int) - ?fromImage@QBlittablePixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 13461 NONAME ; void QBlittablePixmapData::fromImage(class QImage const &, class QFlags) - ??0QInternalMimeData@@QAE@XZ @ 13462 NONAME ; QInternalMimeData::QInternalMimeData(void) - ??_EQScrollEvent@@UAE@I@Z @ 13463 NONAME ABSENT ; QScrollEvent::~QScrollEvent(unsigned int) - ?features@QRasterWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 13464 NONAME ; class QFlags QRasterWindowSurface::features(void) const - ??4QGlyphs@@QAEAAV0@ABV0@@Z @ 13465 NONAME ABSENT ; class QGlyphs & QGlyphs::operator=(class QGlyphs const &) - png_get_user_height_max @ 13466 NONAME - png_get_user_transform_ptr @ 13467 NONAME - ??0QBlittable@@QAE@ABVQSize@@V?$QFlags@W4Capability@QBlittable@@@@@Z @ 13468 NONAME ; QBlittable::QBlittable(class QSize const &, class QFlags) - png_get_user_width_max @ 13469 NONAME - ?scroller@QScroller@@SAPAV1@PAVQObject@@@Z @ 13470 NONAME ABSENT ; class QScroller * QScroller::scroller(class QObject *) - ??4QScrollerProperties@@QAEAAV0@ABV0@@Z @ 13471 NONAME ABSENT ; class QScrollerProperties & QScrollerProperties::operator=(class QScrollerProperties const &) - ?d_func@QScroller@@AAEPAVQScrollerPrivate@@XZ @ 13472 NONAME ABSENT ; class QScrollerPrivate * QScroller::d_func(void) - ?scrollerPropertiesChanged@QScroller@@IAEXABVQScrollerProperties@@@Z @ 13473 NONAME ABSENT ; void QScroller::scrollerPropertiesChanged(class QScrollerProperties const &) - ?markRasterOverlay@QBlittablePixmapData@@QAEXPBVQRect@@H@Z @ 13474 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QRect const *, int) - ?tabsClosable@QMdiArea@@QBE_NXZ @ 13475 NONAME ; bool QMdiArea::tabsClosable(void) const - ?canStartScrollingAt@QAbstractScrollAreaPrivate@@QAE_NABVQPoint@@@Z @ 13476 NONAME ABSENT ; bool QAbstractScrollAreaPrivate::canStartScrollingAt(class QPoint const &) - ??0QScrollerProperties@@QAE@XZ @ 13477 NONAME ABSENT ; QScrollerProperties::QScrollerProperties(void) - ?setLineHeight@QTextBlockFormat@@QAEXMH@Z @ 13478 NONAME ; void QTextBlockFormat::setLineHeight(float, int) - ?calculateSubPixelPositionCount@QTextureGlyphCache@@IBEHI@Z @ 13479 NONAME ; int QTextureGlyphCache::calculateSubPixelPositionCount(unsigned int) const - png_get_valid @ 13480 NONAME - png_get_x_offset_inches @ 13481 NONAME - ?glyphs@QTextFragment@@QBE?AV?$QList@VQGlyphs@@@@XZ @ 13482 NONAME ABSENT ; class QList QTextFragment::glyphs(void) const - png_get_x_offset_inches_fixed @ 13483 NONAME - png_get_x_offset_microns @ 13484 NONAME - ?resetInternalData@QAbstractProxyModel@@IAEXXZ @ 13485 NONAME ABSENT ; void QAbstractProxyModel::resetInternalData(void) - png_get_x_offset_pixels @ 13486 NONAME - ?features@QWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 13487 NONAME ; class QFlags QWindowSurface::features(void) const - ?markRasterOverlay@QBlittablePixmapData@@QAEXABVQVectorPath@@@Z @ 13488 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QVectorPath const &) - png_get_x_pixels_per_inch @ 13489 NONAME - ?scrollTo@QScroller@@QAEXABVQPointF@@@Z @ 13490 NONAME ABSENT ; void QScroller::scrollTo(class QPointF const &) - png_get_x_pixels_per_meter @ 13491 NONAME - png_get_y_offset_inches @ 13492 NONAME - png_get_y_offset_inches_fixed @ 13493 NONAME - ?clip@QBlitterPaintEngine@@QAEPBVQClipData@@XZ @ 13494 NONAME ; class QClipData const * QBlitterPaintEngine::clip(void) - ?d_func@QScroller@@ABEPBVQScrollerPrivate@@XZ @ 13495 NONAME ABSENT ; class QScrollerPrivate const * QScroller::d_func(void) const - ?setNumberSuffix@QTextListFormat@@QAEXABVQString@@@Z @ 13496 NONAME ; void QTextListFormat::setNumberSuffix(class QString const &) - ?swap@QPicture@@QAEXAAV1@@Z @ 13497 NONAME ; void QPicture::swap(class QPicture &) - ?swap@QPainterPath@@QAEXAAV1@@Z @ 13498 NONAME ; void QPainterPath::swap(class QPainterPath &) - png_get_y_offset_microns @ 13499 NONAME - ?minimumSizeHint@QCheckBox@@UBE?AVQSize@@XZ @ 13500 NONAME ; class QSize QCheckBox::minimumSizeHint(void) const - ?createExplicitFont@QFontEngine@@UBE?AVQFont@@XZ @ 13501 NONAME ABSENT ; class QFont QFontEngine::createExplicitFont(void) const - ?alphaMapForGlyph@QFontEngine@@UAE?AVQImage@@IUQFixed@@@Z @ 13502 NONAME ; class QImage QFontEngine::alphaMapForGlyph(unsigned int, struct QFixed) - ?fillTexture@QImageTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@IUQFixed@@@Z @ 13503 NONAME ; void QImageTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int, struct QFixed) - ?swap@QIcon@@QAEXAAV1@@Z @ 13504 NONAME ; void QIcon::swap(class QIcon &) - ?unmarkRasterOverlay@QBlittablePixmapData@@QAEXABVQRectF@@@Z @ 13505 NONAME ; void QBlittablePixmapData::unmarkRasterOverlay(class QRectF const &) - png_get_y_offset_pixels @ 13506 NONAME - png_get_y_pixels_per_inch @ 13507 NONAME - ?brushOriginChanged@QBlitterPaintEngine@@UAEXXZ @ 13508 NONAME ; void QBlitterPaintEngine::brushOriginChanged(void) - ?openFile@QFileOpenEvent@@QBE_NAAVQFile@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 13509 NONAME ; bool QFileOpenEvent::openFile(class QFile &, class QFlags) const - png_get_y_pixels_per_meter @ 13510 NONAME - ??0QApplicationPrivate@@QAE@AAHPAPADW4Type@QApplication@@H@Z @ 13511 NONAME ; QApplicationPrivate::QApplicationPrivate(int &, char * *, enum QApplication::Type, int) - ?handleInput@QScroller@@QAE_NW4Input@1@ABVQPointF@@_J@Z @ 13512 NONAME ABSENT ; bool QScroller::handleInput(enum QScroller::Input, class QPointF const &, long long) - ??8QScrollerProperties@@QBE_NABV0@@Z @ 13513 NONAME ABSENT ; bool QScrollerProperties::operator==(class QScrollerProperties const &) const - ?inFontUcs4@QFontMetrics@@QBE_NI@Z @ 13514 NONAME ; bool QFontMetrics::inFontUcs4(unsigned int) const - png_handle_as_unknown @ 13515 NONAME - png_info_init_3 @ 13516 NONAME - png_init_io @ 13517 NONAME - ?unlock@QBlittable@@QAEXXZ @ 13518 NONAME ; void QBlittable::unlock(void) - ?metaObject@QScroller@@UBEPBUQMetaObject@@XZ @ 13519 NONAME ABSENT ; struct QMetaObject const * QScroller::metaObject(void) const - ?d_func@QScrollEvent@@ABEPBVQScrollEventPrivate@@XZ @ 13520 NONAME ABSENT ; class QScrollEventPrivate const * QScrollEvent::d_func(void) const - ?swap@QRegion@@QAEXAAV1@@Z @ 13521 NONAME ; void QRegion::swap(class QRegion &) - png_longjmp @ 13522 NONAME - ?ensureVisible@QScroller@@QAEXABVQRectF@@MMH@Z @ 13523 NONAME ABSENT ; void QScroller::ensureVisible(class QRectF const &, float, float, int) - ?qt_metacall@QFlickGesture@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13524 NONAME ABSENT ; int QFlickGesture::qt_metacall(enum QMetaObject::Call, int, void * *) - ?setItemData@QAbstractProxyModel@@UAE_NABVQModelIndex@@ABV?$QMap@HVQVariant@@@@@Z @ 13525 NONAME ; bool QAbstractProxyModel::setItemData(class QModelIndex const &, class QMap const &) - ?getStaticMetaObject@QInternalMimeData@@SAABUQMetaObject@@XZ @ 13526 NONAME ; struct QMetaObject const & QInternalMimeData::getStaticMetaObject(void) - ?swap@QPolygonF@@QAEXAAV1@@Z @ 13527 NONAME ; void QPolygonF::swap(class QPolygonF &) - ?swap@QPolygon@@QAEXAAV1@@Z @ 13528 NONAME ; void QPolygon::swap(class QPolygon &) - ??_EQScrollPrepareEvent@@UAE@I@Z @ 13529 NONAME ABSENT ; QScrollPrepareEvent::~QScrollPrepareEvent(unsigned int) - ?d_func@QBlitterPaintEngine@@ABEPBVQBlitterPaintEnginePrivate@@XZ @ 13530 NONAME ; class QBlitterPaintEnginePrivate const * QBlitterPaintEngine::d_func(void) const - ?pixelPerMeter@QScroller@@QBE?AVQPointF@@XZ @ 13531 NONAME ABSENT ; class QPointF QScroller::pixelPerMeter(void) const - ?target@QScroller@@QBEPAVQObject@@XZ @ 13532 NONAME ABSENT ; class QObject * QScroller::target(void) const - ?swap@QKeySequence@@QAEXAAV1@@Z @ 13533 NONAME ; void QKeySequence::swap(class QKeySequence &) - ??1QGlyphs@@QAE@XZ @ 13534 NONAME ABSENT ; QGlyphs::~QGlyphs(void) - ?lineHeight@QTextBlockFormat@@QBEMXZ @ 13535 NONAME ; float QTextBlockFormat::lineHeight(void) const - ?stroke@QBlitterPaintEngine@@UAEXABVQVectorPath@@ABVQPen@@@Z @ 13536 NONAME ; void QBlitterPaintEngine::stroke(class QVectorPath const &, class QPen const &) - ?tr@QInternalMimeData@@SA?AVQString@@PBD0@Z @ 13537 NONAME ; class QString QInternalMimeData::tr(char const *, char const *) - ??9QGlyphs@@QBE_NABV0@@Z @ 13538 NONAME ABSENT ; bool QGlyphs::operator!=(class QGlyphs const &) const - ??1QBlittable@@UAE@XZ @ 13539 NONAME ; QBlittable::~QBlittable(void) - ??_EQBlitterPaintEngine@@UAE@I@Z @ 13540 NONAME ; QBlitterPaintEngine::~QBlitterPaintEngine(unsigned int) - png_malloc_default @ 13541 NONAME - ?grabbedGesture@QScroller@@SA?AW4GestureType@Qt@@PAVQObject@@@Z @ 13542 NONAME ABSENT ; enum Qt::GestureType QScroller::grabbedGesture(class QObject *) - ?buffer@QBlittablePixmapData@@UAEPAVQImage@@XZ @ 13543 NONAME ; class QImage * QBlittablePixmapData::buffer(void) - png_malloc_warn @ 13544 NONAME - ?staticMetaObject@QFlickGesture@@2UQMetaObject@@B @ 13545 NONAME ABSENT ; struct QMetaObject const QFlickGesture::staticMetaObject - ?finalPosition@QScroller@@QBE?AVQPointF@@XZ @ 13546 NONAME ABSENT ; class QPointF QScroller::finalPosition(void) const - png_permit_mng_features @ 13547 NONAME - ?drawStaticTextItem@QBlitterPaintEngine@@UAEXPAVQStaticTextItem@@@Z @ 13548 NONAME ; void QBlitterPaintEngine::drawStaticTextItem(class QStaticTextItem *) - ??0QGlyphs@@QAE@ABV0@@Z @ 13549 NONAME ABSENT ; QGlyphs::QGlyphs(class QGlyphs const &) - ?lock@QBlittable@@QAEPAVQImage@@XZ @ 13550 NONAME ; class QImage * QBlittable::lock(void) - ?setFontHintingPreference@QTextCharFormat@@QAEXW4HintingPreference@QFont@@@Z @ 13551 NONAME ; void QTextCharFormat::setFontHintingPreference(enum QFont::HintingPreference) - png_process_data @ 13552 NONAME - ??_EQInternalMimeData@@UAE@I@Z @ 13553 NONAME ; QInternalMimeData::~QInternalMimeData(unsigned int) - png_process_data_skip @ 13554 NONAME - png_progressive_combine_row @ 13555 NONAME - png_read_image @ 13556 NONAME - png_read_info @ 13557 NONAME - ?markRasterOverlay@QBlittablePixmapData@@QAEXABVQPointF@@ABVQTextItem@@@Z @ 13558 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QPointF const &, class QTextItem const &) - ?trUtf8@QScroller@@SA?AVQString@@PBD0@Z @ 13559 NONAME ABSENT ; class QString QScroller::trUtf8(char const *, char const *) - png_read_png @ 13560 NONAME - ??YQGlyphs@@AAEAAV0@ABV0@@Z @ 13561 NONAME ABSENT ; class QGlyphs & QGlyphs::operator+=(class QGlyphs const &) - ??9QScrollerProperties@@QBE_NABV0@@Z @ 13562 NONAME ABSENT ; bool QScrollerProperties::operator!=(class QScrollerProperties const &) const - png_read_row @ 13563 NONAME - ?drawEllipse@QBlitterPaintEngine@@UAEXABVQRectF@@@Z @ 13564 NONAME ; void QBlitterPaintEngine::drawEllipse(class QRectF const &) - png_read_rows @ 13565 NONAME - png_read_update_info @ 13566 NONAME - png_reset_zstream @ 13567 NONAME - ?blittable@QBlittablePixmapData@@QBEPAVQBlittable@@XZ @ 13568 NONAME ; class QBlittable * QBlittablePixmapData::blittable(void) const - ?resizeCache@QTextureGlyphCache@@QAEXHH@Z @ 13569 NONAME ; void QTextureGlyphCache::resizeCache(int, int) - ??0QScrollerProperties@@QAE@ABV0@@Z @ 13570 NONAME ABSENT ; QScrollerProperties::QScrollerProperties(class QScrollerProperties const &) - png_save_int_32 @ 13571 NONAME - ?metaObject@QInternalMimeData@@UBEPBUQMetaObject@@XZ @ 13572 NONAME ; struct QMetaObject const * QInternalMimeData::metaObject(void) const - ?setContentPos@QScrollPrepareEvent@@QAEXABVQPointF@@@Z @ 13573 NONAME ABSENT ; void QScrollPrepareEvent::setContentPos(class QPointF const &) - png_save_uint_16 @ 13574 NONAME - png_save_uint_32 @ 13575 NONAME - png_set_IHDR @ 13576 NONAME - ?staticMetaObject@QScroller@@2UQMetaObject@@B @ 13577 NONAME ABSENT ; struct QMetaObject const QScroller::staticMetaObject - ?hasFormatHelper@QInternalMimeData@@SA_NABVQString@@PBVQMimeData@@@Z @ 13578 NONAME ; bool QInternalMimeData::hasFormatHelper(class QString const &, class QMimeData const *) - ?state@QBlitterPaintEngine@@QAEPAVQPainterState@@XZ @ 13579 NONAME ; class QPainterState * QBlitterPaintEngine::state(void) - ?penChanged@QBlitterPaintEngine@@UAEXXZ @ 13580 NONAME ; void QBlitterPaintEngine::penChanged(void) - ??0QFileOpenEvent@@QAE@ABVRFile@@@Z @ 13581 NONAME ; QFileOpenEvent::QFileOpenEvent(class RFile const &) - ?hasHeightForWidth@QWidgetPrivate@@UBE_NXZ @ 13582 NONAME ; bool QWidgetPrivate::hasHeightForWidth(void) const - png_set_PLTE @ 13583 NONAME - ?toImage@QBlittablePixmapData@@UBE?AVQImage@@XZ @ 13584 NONAME ; class QImage QBlittablePixmapData::toImage(void) const - ??_EQBlittable@@UAE@I@Z @ 13585 NONAME ; QBlittable::~QBlittable(unsigned int) - png_set_add_alpha @ 13586 NONAME - ??1QInternalMimeData@@UAE@XZ @ 13587 NONAME ; QInternalMimeData::~QInternalMimeData(void) - png_set_bKGD @ 13588 NONAME - ?qt_addBitmapToPath@@YAXMMPBEHHHPAVQPainterPath@@@Z @ 13589 NONAME ; void qt_addBitmapToPath(float, float, unsigned char const *, int, int, int, class QPainterPath *) - ?staticMetaObject@QInternalMimeData@@2UQMetaObject@@B @ 13590 NONAME ; struct QMetaObject const QInternalMimeData::staticMetaObject - ?activeScrollers@QScroller@@SA?AV?$QList@PAVQScroller@@@@XZ @ 13591 NONAME ABSENT ; class QList QScroller::activeScrollers(void) - ?drawGlyphs@QPainter@@QAEXABVQPointF@@ABVQGlyphs@@@Z @ 13592 NONAME ABSENT ; void QPainter::drawGlyphs(class QPointF const &, class QGlyphs const &) - png_set_background @ 13593 NONAME - ?staticMetaObjectExtraData@QStylePlugin@@0UQMetaObjectExtraData@@B @ 13594 NONAME ; struct QMetaObjectExtraData const QStylePlugin::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QToolBar@@0UQMetaObjectExtraData@@B @ 13595 NONAME ; struct QMetaObjectExtraData const QToolBar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTableView@@0UQMetaObjectExtraData@@B @ 13596 NONAME ; struct QMetaObjectExtraData const QTableView::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QValidator@@0UQMetaObjectExtraData@@B @ 13597 NONAME ; struct QMetaObjectExtraData const QValidator::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPaintBufferSignalProxy@@0UQMetaObjectExtraData@@B @ 13598 NONAME ; struct QMetaObjectExtraData const QPaintBufferSignalProxy::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSplashScreen@@0UQMetaObjectExtraData@@B @ 13599 NONAME ; struct QMetaObjectExtraData const QSplashScreen::staticMetaObjectExtraData - ?qt_static_metacall@QDockWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13600 NONAME ; void QDockWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QVBoxLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13601 NONAME ; void QVBoxLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QCommonStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13602 NONAME ; void QCommonStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QMenuBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13603 NONAME ; void QMenuBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsObject@@0UQMetaObjectExtraData@@B @ 13604 NONAME ; struct QMetaObjectExtraData const QGraphicsObject::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSplitter@@0UQMetaObjectExtraData@@B @ 13605 NONAME ; struct QMetaObjectExtraData const QSplitter::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QUndoStack@@0UQMetaObjectExtraData@@B @ 13606 NONAME ; struct QMetaObjectExtraData const QUndoStack::staticMetaObjectExtraData - ?qt_static_metacall@QPaintBufferResource@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13607 NONAME ; void QPaintBufferResource::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSound@@0UQMetaObjectExtraData@@B @ 13608 NONAME ; struct QMetaObjectExtraData const QSound::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSwipeGesture@@0UQMetaObjectExtraData@@B @ 13609 NONAME ; struct QMetaObjectExtraData const QSwipeGesture::staticMetaObjectExtraData - ?qt_static_metacall@QSizeGrip@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13610 NONAME ; void QSizeGrip::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSlider@@0UQMetaObjectExtraData@@B @ 13611 NONAME ; struct QMetaObjectExtraData const QSlider::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractItemView@@0UQMetaObjectExtraData@@B @ 13612 NONAME ; struct QMetaObjectExtraData const QAbstractItemView::staticMetaObjectExtraData - ?setCompressionPolicy@QZipWriter@@QAEXW4CompressionPolicy@1@@Z @ 13613 NONAME ; void QZipWriter::setCompressionPolicy(enum QZipWriter::CompressionPolicy) - ?staticMetaObjectExtraData@QPlainTextEdit@@0UQMetaObjectExtraData@@B @ 13614 NONAME ; struct QMetaObjectExtraData const QPlainTextEdit::staticMetaObjectExtraData - ?addFile@QZipWriter@@QAEXABVQString@@PAVQIODevice@@@Z @ 13615 NONAME ; void QZipWriter::addFile(class QString const &, class QIODevice *) - ?staticMetaObjectExtraData@QDateEdit@@0UQMetaObjectExtraData@@B @ 13616 NONAME ; struct QMetaObjectExtraData const QDateEdit::staticMetaObjectExtraData - ?qt_static_metacall@QGuiPlatformPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13617 NONAME ; void QGuiPlatformPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFlickGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13618 NONAME ABSENT ; void QFlickGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QStyledItemDelegate@@0UQMetaObjectExtraData@@B @ 13619 NONAME ; struct QMetaObjectExtraData const QStyledItemDelegate::staticMetaObjectExtraData - ?qt_static_metacall@QWizard@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13620 NONAME ; void QWizard::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTextControl@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13621 NONAME ; void QTextControl::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsRotation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13622 NONAME ; void QGraphicsRotation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractProxyModel@@0UQMetaObjectExtraData@@B @ 13623 NONAME ; struct QMetaObjectExtraData const QAbstractProxyModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDialog@@0UQMetaObjectExtraData@@B @ 13624 NONAME ; struct QMetaObjectExtraData const QDialog::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPixmapDropShadowFilter@@0UQMetaObjectExtraData@@B @ 13625 NONAME ; struct QMetaObjectExtraData const QPixmapDropShadowFilter::staticMetaObjectExtraData - ?qt_static_metacall@QPanGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13626 NONAME ; void QPanGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QWidgetResizeHandler@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13627 NONAME ; void QWidgetResizeHandler::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsSystemPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13628 NONAME ; void QGraphicsSystemPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QProxyModel@@0UQMetaObjectExtraData@@B @ 13629 NONAME ; struct QMetaObjectExtraData const QProxyModel::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13630 NONAME ; void QGraphicsWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSizeGrip@@0UQMetaObjectExtraData@@B @ 13631 NONAME ; struct QMetaObjectExtraData const QSizeGrip::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QImageIOPlugin@@0UQMetaObjectExtraData@@B @ 13632 NONAME ; struct QMetaObjectExtraData const QImageIOPlugin::staticMetaObjectExtraData - ?qt_static_metacall@QSortFilterProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13633 NONAME ; void QSortFilterProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDrag@@0UQMetaObjectExtraData@@B @ 13634 NONAME ; struct QMetaObjectExtraData const QDrag::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAction@@0UQMetaObjectExtraData@@B @ 13635 NONAME ; struct QMetaObjectExtraData const QAction::staticMetaObjectExtraData - ?qt_static_metacall@QUndoView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13636 NONAME ; void QUndoView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?creationPermissions@QZipWriter@@QBE?AV?$QFlags@W4Permission@QFile@@@@XZ @ 13637 NONAME ; class QFlags QZipWriter::creationPermissions(void) const - ?staticMetaObjectExtraData@QTabBar@@0UQMetaObjectExtraData@@B @ 13638 NONAME ; struct QMetaObjectExtraData const QTabBar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QColumnView@@0UQMetaObjectExtraData@@B @ 13639 NONAME ; struct QMetaObjectExtraData const QColumnView::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QProxyStyle@@0UQMetaObjectExtraData@@B @ 13640 NONAME ; struct QMetaObjectExtraData const QProxyStyle::staticMetaObjectExtraData - ?qt_static_metacall@QActionGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13641 NONAME ; void QActionGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QLineEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13642 NONAME ; void QLineEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ??0QZipWriter@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 13643 NONAME ; QZipWriter::QZipWriter(class QString const &, class QFlags) - ?staticMetaObjectExtraData@QSortFilterProxyModel@@0UQMetaObjectExtraData@@B @ 13644 NONAME ; struct QMetaObjectExtraData const QSortFilterProxyModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QIconEnginePlugin@@0UQMetaObjectExtraData@@B @ 13645 NONAME ; struct QMetaObjectExtraData const QIconEnginePlugin::staticMetaObjectExtraData - ?qt_static_metacall@QPixmapConvolutionFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13646 NONAME ; void QPixmapConvolutionFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QApplication@@0UQMetaObjectExtraData@@B @ 13647 NONAME ; struct QMetaObjectExtraData const QApplication::staticMetaObjectExtraData - ?qt_static_metacall@QCalendarWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13648 NONAME ; void QCalendarWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QInputContextPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13649 NONAME ; void QInputContextPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGuiPlatformPlugin@@0UQMetaObjectExtraData@@B @ 13650 NONAME ; struct QMetaObjectExtraData const QGuiPlatformPlugin::staticMetaObjectExtraData - ?qt_static_metacall@QTextObject@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13651 NONAME ; void QTextObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QStandardItemModel@@0UQMetaObjectExtraData@@B @ 13652 NONAME ; struct QMetaObjectExtraData const QStandardItemModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QProgressDialog@@0UQMetaObjectExtraData@@B @ 13653 NONAME ; struct QMetaObjectExtraData const QProgressDialog::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractItemView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13654 NONAME ; void QAbstractItemView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QColumnView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13655 NONAME ; void QColumnView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QPixmapBlurFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13656 NONAME ; void QPixmapBlurFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsTransform@@0UQMetaObjectExtraData@@B @ 13657 NONAME ; struct QMetaObjectExtraData const QGraphicsTransform::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QFontDialog@@0UQMetaObjectExtraData@@B @ 13658 NONAME ; struct QMetaObjectExtraData const QFontDialog::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsBlurEffect@@0UQMetaObjectExtraData@@B @ 13659 NONAME ; struct QMetaObjectExtraData const QGraphicsBlurEffect::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsProxyWidget@@0UQMetaObjectExtraData@@B @ 13660 NONAME ; struct QMetaObjectExtraData const QGraphicsProxyWidget::staticMetaObjectExtraData - ?qt_static_metacall@QPictureFormatPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13661 NONAME ; void QPictureFormatPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFileDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13662 NONAME ; void QFileDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFlickGesture@@0UQMetaObjectExtraData@@B @ 13663 NONAME ABSENT ; struct QMetaObjectExtraData const QFlickGesture::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QWizard@@0UQMetaObjectExtraData@@B @ 13664 NONAME ; struct QMetaObjectExtraData const QWizard::staticMetaObjectExtraData - ?qt_static_metacall@QS60Style@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13665 NONAME ; void QS60Style::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTapGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13666 NONAME ; void QTapGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QItemDelegate@@0UQMetaObjectExtraData@@B @ 13667 NONAME ; struct QMetaObjectExtraData const QItemDelegate::staticMetaObjectExtraData - ?qt_static_metacall@QProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13668 NONAME ; void QProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QScrollBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13669 NONAME ; void QScrollBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QComboBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13670 NONAME ; void QComboBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QToolButton@@0UQMetaObjectExtraData@@B @ 13671 NONAME ; struct QMetaObjectExtraData const QToolButton::staticMetaObjectExtraData - ?qt_static_metacall@QItemSelectionModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13672 NONAME ; void QItemSelectionModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ??0QZipWriter@@QAE@PAVQIODevice@@@Z @ 13673 NONAME ; QZipWriter::QZipWriter(class QIODevice *) - ?staticMetaObjectExtraData@QButtonGroup@@0UQMetaObjectExtraData@@B @ 13674 NONAME ; struct QMetaObjectExtraData const QButtonGroup::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QErrorMessage@@0UQMetaObjectExtraData@@B @ 13675 NONAME ; struct QMetaObjectExtraData const QErrorMessage::staticMetaObjectExtraData - ?qt_static_metacall@QTableView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13676 NONAME ; void QTableView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTextEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13677 NONAME ; void QTextEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13678 NONAME ; void QDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QMessageBox@@0UQMetaObjectExtraData@@B @ 13679 NONAME ; struct QMetaObjectExtraData const QMessageBox::staticMetaObjectExtraData - ?qt_static_metacall@QWorkspace@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13680 NONAME ; void QWorkspace::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTextEdit@@0UQMetaObjectExtraData@@B @ 13681 NONAME ; struct QMetaObjectExtraData const QTextEdit::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDoubleValidator@@0UQMetaObjectExtraData@@B @ 13682 NONAME ; struct QMetaObjectExtraData const QDoubleValidator::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsWidget@@0UQMetaObjectExtraData@@B @ 13683 NONAME ; struct QMetaObjectExtraData const QGraphicsWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSplitterHandle@@0UQMetaObjectExtraData@@B @ 13684 NONAME ; struct QMetaObjectExtraData const QSplitterHandle::staticMetaObjectExtraData - ?qt_static_metacall@QPinchGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13685 NONAME ; void QPinchGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?alphaMapBoundingBox@QFontEngine@@UAE?AUglyph_metrics_t@@IUQFixed@@ABVQTransform@@W4GlyphFormat@1@@Z @ 13686 NONAME ; struct glyph_metrics_t QFontEngine::alphaMapBoundingBox(unsigned int, struct QFixed, class QTransform const &, enum QFontEngine::GlyphFormat) - ?qt_static_metacall@QGridLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13687 NONAME ; void QGridLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSplitter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13688 NONAME ; void QSplitter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QStackedLayout@@0UQMetaObjectExtraData@@B @ 13689 NONAME ; struct QMetaObjectExtraData const QStackedLayout::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTapAndHoldGesture@@0UQMetaObjectExtraData@@B @ 13690 NONAME ; struct QMetaObjectExtraData const QTapAndHoldGesture::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QLCDNumber@@0UQMetaObjectExtraData@@B @ 13691 NONAME ; struct QMetaObjectExtraData const QLCDNumber::staticMetaObjectExtraData - ?qt_static_metacall@QDoubleSpinBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13692 NONAME ; void QDoubleSpinBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13693 NONAME ; void QValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?addDirectory@QZipWriter@@QAEXABVQString@@@Z @ 13694 NONAME ; void QZipWriter::addDirectory(class QString const &) - ?staticMetaObjectExtraData@QEventDispatcherS60@@0UQMetaObjectExtraData@@B @ 13695 NONAME ; struct QMetaObjectExtraData const QEventDispatcherS60::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QLineControl@@0UQMetaObjectExtraData@@B @ 13696 NONAME ; struct QMetaObjectExtraData const QLineControl::staticMetaObjectExtraData - ?qt_static_metacall@QStylePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13697 NONAME ; void QStylePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QScrollArea@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13698 NONAME ; void QScrollArea::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QProgressDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13699 NONAME ; void QProgressDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QWidget@@0UQMetaObjectExtraData@@B @ 13700 NONAME ; struct QMetaObjectExtraData const QWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QRubberBand@@0UQMetaObjectExtraData@@B @ 13701 NONAME ; struct QMetaObjectExtraData const QRubberBand::staticMetaObjectExtraData - ?qt_static_metacall@QLineControl@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13702 NONAME ; void QLineControl::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDockWidgetLayout@@0UQMetaObjectExtraData@@B @ 13703 NONAME ; struct QMetaObjectExtraData const QDockWidgetLayout::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTextControl@@0UQMetaObjectExtraData@@B @ 13704 NONAME ; struct QMetaObjectExtraData const QTextControl::staticMetaObjectExtraData - ?qt_static_metacall@QTreeView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13705 NONAME ; void QTreeView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsScene@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13706 NONAME ; void QGraphicsScene::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QApplication@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13707 NONAME ; void QApplication::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QCommandLinkButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13708 NONAME ; void QCommandLinkButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTextBlockGroup@@0UQMetaObjectExtraData@@B @ 13709 NONAME ; struct QMetaObjectExtraData const QTextBlockGroup::staticMetaObjectExtraData - ?qt_static_metacall@QIntValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13710 NONAME ; void QIntValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QInputContextPlugin@@0UQMetaObjectExtraData@@B @ 13711 NONAME ; struct QMetaObjectExtraData const QInputContextPlugin::staticMetaObjectExtraData - ?qt_static_metacall@QFontComboBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13712 NONAME ; void QFontComboBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTextDocument@@0UQMetaObjectExtraData@@B @ 13713 NONAME ; struct QMetaObjectExtraData const QTextDocument::staticMetaObjectExtraData - ?qt_static_metacall@QTextList@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13714 NONAME ; void QTextList::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13715 NONAME ; void QStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsObject@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13716 NONAME ; void QGraphicsObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSpinBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13717 NONAME ; void QSpinBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsScale@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13718 NONAME ; void QGraphicsScale::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QPlainTextDocumentLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13719 NONAME ; void QPlainTextDocumentLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QShortcut@@0UQMetaObjectExtraData@@B @ 13720 NONAME ; struct QMetaObjectExtraData const QShortcut::staticMetaObjectExtraData - ?qt_static_metacall@QDial@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13721 NONAME ; void QDial::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsItemAnimation@@0UQMetaObjectExtraData@@B @ 13722 NONAME ; struct QMetaObjectExtraData const QGraphicsItemAnimation::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsProxyWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13723 NONAME ; void QGraphicsProxyWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QMenuBar@@0UQMetaObjectExtraData@@B @ 13724 NONAME ; struct QMetaObjectExtraData const QMenuBar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsColorizeEffect@@0UQMetaObjectExtraData@@B @ 13725 NONAME ; struct QMetaObjectExtraData const QGraphicsColorizeEffect::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QScrollArea@@0UQMetaObjectExtraData@@B @ 13726 NONAME ; struct QMetaObjectExtraData const QScrollArea::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPaintBufferResource@@0UQMetaObjectExtraData@@B @ 13727 NONAME ; struct QMetaObjectExtraData const QPaintBufferResource::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTextFrame@@0UQMetaObjectExtraData@@B @ 13728 NONAME ; struct QMetaObjectExtraData const QTextFrame::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QItemSelectionModel@@0UQMetaObjectExtraData@@B @ 13729 NONAME ; struct QMetaObjectExtraData const QItemSelectionModel::staticMetaObjectExtraData - ?qt_static_metacall@QIconEnginePluginV2@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13730 NONAME ; void QIconEnginePluginV2::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsBlurEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13731 NONAME ; void QGraphicsBlurEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + png_access_version_number @ 13116 NONAME + png_benign_error @ 13117 NONAME + png_build_grayscale_palette @ 13118 NONAME + png_calloc @ 13119 NONAME + png_chunk_benign_error @ 13120 NONAME + png_chunk_error @ 13121 NONAME + png_chunk_warning @ 13122 NONAME + png_convert_from_struct_tm @ 13123 NONAME + png_convert_from_time_t @ 13124 NONAME + png_convert_to_rfc1123 @ 13125 NONAME + png_create_info_struct @ 13126 NONAME + png_create_read_struct @ 13127 NONAME + png_create_read_struct_2 @ 13128 NONAME + png_create_write_struct @ 13129 NONAME + png_create_write_struct_2 @ 13130 NONAME + png_data_freer @ 13131 NONAME + png_destroy_info_struct @ 13132 NONAME + png_destroy_read_struct @ 13133 NONAME + png_destroy_write_struct @ 13134 NONAME + png_error @ 13135 NONAME + png_free @ 13136 NONAME + png_free_data @ 13137 NONAME + png_free_default @ 13138 NONAME + png_get_IHDR @ 13139 NONAME + png_get_PLTE @ 13140 NONAME + png_get_bKGD @ 13141 NONAME + png_get_bit_depth @ 13142 NONAME + png_get_cHRM @ 13143 NONAME + png_get_cHRM_fixed @ 13144 NONAME + png_get_channels @ 13145 NONAME + png_get_chunk_cache_max @ 13146 NONAME + png_get_chunk_malloc_max @ 13147 NONAME + png_get_color_type @ 13148 NONAME + png_get_compression_buffer_size @ 13149 NONAME + png_get_compression_type @ 13150 NONAME + png_get_copyright @ 13151 NONAME + png_get_current_pass_number @ 13152 NONAME + png_get_current_row_number @ 13153 NONAME + png_get_error_ptr @ 13154 NONAME + png_get_filter_type @ 13155 NONAME + png_get_gAMA @ 13156 NONAME + png_get_gAMA_fixed @ 13157 NONAME + png_get_hIST @ 13158 NONAME + png_get_header_ver @ 13159 NONAME + png_get_header_version @ 13160 NONAME + png_get_iCCP @ 13161 NONAME + png_get_image_height @ 13162 NONAME + png_get_image_width @ 13163 NONAME + png_get_int_32 @ 13164 NONAME + png_get_interlace_type @ 13165 NONAME + png_get_io_chunk_name @ 13166 NONAME + png_get_io_chunk_type @ 13167 NONAME + png_get_io_ptr @ 13168 NONAME + png_get_io_state @ 13169 NONAME + png_get_libpng_ver @ 13170 NONAME + png_get_mem_ptr @ 13171 NONAME + png_get_oFFs @ 13172 NONAME + png_get_pCAL @ 13173 NONAME + png_get_pHYs @ 13174 NONAME + png_get_pHYs_dpi @ 13175 NONAME + png_get_pixel_aspect_ratio @ 13176 NONAME + png_get_pixel_aspect_ratio_fixed @ 13177 NONAME + png_get_pixels_per_inch @ 13178 NONAME + png_get_pixels_per_meter @ 13179 NONAME + png_get_progressive_ptr @ 13180 NONAME + png_get_rgb_to_gray_status @ 13181 NONAME + png_get_rowbytes @ 13182 NONAME + png_get_rows @ 13183 NONAME + png_get_sBIT @ 13184 NONAME + png_get_sCAL @ 13185 NONAME + png_get_sCAL_fixed @ 13186 NONAME + png_get_sCAL_s @ 13187 NONAME + png_get_sPLT @ 13188 NONAME + png_get_sRGB @ 13189 NONAME + png_get_signature @ 13190 NONAME + png_get_tIME @ 13191 NONAME + png_get_tRNS @ 13192 NONAME + png_get_text @ 13193 NONAME + png_get_uint_16 @ 13194 NONAME + png_get_uint_31 @ 13195 NONAME + png_get_uint_32 @ 13196 NONAME + png_get_unknown_chunks @ 13197 NONAME + png_get_user_chunk_ptr @ 13198 NONAME + png_get_user_height_max @ 13199 NONAME + png_get_user_transform_ptr @ 13200 NONAME + png_get_user_width_max @ 13201 NONAME + png_get_valid @ 13202 NONAME + png_get_x_offset_inches @ 13203 NONAME + png_get_x_offset_inches_fixed @ 13204 NONAME + png_get_x_offset_microns @ 13205 NONAME + png_get_x_offset_pixels @ 13206 NONAME + png_get_x_pixels_per_inch @ 13207 NONAME + png_get_x_pixels_per_meter @ 13208 NONAME + png_get_y_offset_inches @ 13209 NONAME + png_get_y_offset_inches_fixed @ 13210 NONAME + png_get_y_offset_microns @ 13211 NONAME + png_get_y_offset_pixels @ 13212 NONAME + png_get_y_pixels_per_inch @ 13213 NONAME + png_get_y_pixels_per_meter @ 13214 NONAME + png_handle_as_unknown @ 13215 NONAME + png_info_init_3 @ 13216 NONAME + png_init_io @ 13217 NONAME + png_longjmp @ 13218 NONAME + png_malloc @ 13219 NONAME + png_malloc_default @ 13220 NONAME + png_malloc_warn @ 13221 NONAME + png_permit_mng_features @ 13222 NONAME + png_process_data @ 13223 NONAME + png_process_data_pause @ 13224 NONAME + png_process_data_skip @ 13225 NONAME + png_progressive_combine_row @ 13226 NONAME + png_read_end @ 13227 NONAME + png_read_image @ 13228 NONAME + png_read_info @ 13229 NONAME + png_read_png @ 13230 NONAME + png_read_row @ 13231 NONAME + png_read_rows @ 13232 NONAME + png_read_update_info @ 13233 NONAME + png_reset_zstream @ 13234 NONAME + png_save_int_32 @ 13235 NONAME + png_save_uint_16 @ 13236 NONAME + png_save_uint_32 @ 13237 NONAME + png_set_IHDR @ 13238 NONAME + png_set_PLTE @ 13239 NONAME + png_set_add_alpha @ 13240 NONAME + png_set_alpha_mode @ 13241 NONAME + png_set_alpha_mode_fixed @ 13242 NONAME + png_set_bKGD @ 13243 NONAME + png_set_background @ 13244 NONAME + png_set_background_fixed @ 13245 NONAME + png_set_benign_errors @ 13246 NONAME + png_set_bgr @ 13247 NONAME + png_set_cHRM @ 13248 NONAME + png_set_cHRM_fixed @ 13249 NONAME + png_set_chunk_cache_max @ 13250 NONAME + png_set_chunk_malloc_max @ 13251 NONAME + png_set_compression_buffer_size @ 13252 NONAME + png_set_compression_level @ 13253 NONAME + png_set_compression_mem_level @ 13254 NONAME + png_set_compression_method @ 13255 NONAME + png_set_compression_strategy @ 13256 NONAME + png_set_compression_window_bits @ 13257 NONAME + png_set_crc_action @ 13258 NONAME + png_set_error_fn @ 13259 NONAME + png_set_expand @ 13260 NONAME + png_set_expand_16 @ 13261 NONAME + png_set_expand_gray_1_2_4_to_8 @ 13262 NONAME + png_set_filler @ 13263 NONAME + png_set_filter @ 13264 NONAME + png_set_filter_heuristics @ 13265 NONAME + png_set_filter_heuristics_fixed @ 13266 NONAME + png_set_flush @ 13267 NONAME + png_set_gAMA @ 13268 NONAME + png_set_gAMA_fixed @ 13269 NONAME + png_set_gamma @ 13270 NONAME + png_set_gamma_fixed @ 13271 NONAME + png_set_gray_to_rgb @ 13272 NONAME + png_set_hIST @ 13273 NONAME + png_set_iCCP @ 13274 NONAME + png_set_interlace_handling @ 13275 NONAME + png_set_invalid @ 13276 NONAME + png_set_invert_alpha @ 13277 NONAME + png_set_invert_mono @ 13278 NONAME + png_set_keep_unknown_chunks @ 13279 NONAME + png_set_longjmp_fn @ 13280 NONAME + png_set_mem_fn @ 13281 NONAME + png_set_oFFs @ 13282 NONAME + png_set_pCAL @ 13283 NONAME + png_set_pHYs @ 13284 NONAME + png_set_packing @ 13285 NONAME + png_set_packswap @ 13286 NONAME + png_set_palette_to_rgb @ 13287 NONAME + png_set_progressive_read_fn @ 13288 NONAME + png_set_quantize @ 13289 NONAME + png_set_read_fn @ 13290 NONAME + png_set_read_status_fn @ 13291 NONAME + png_set_read_user_chunk_fn @ 13292 NONAME + png_set_read_user_transform_fn @ 13293 NONAME + png_set_rgb_to_gray @ 13294 NONAME + png_set_rgb_to_gray_fixed @ 13295 NONAME + png_set_rows @ 13296 NONAME + png_set_sBIT @ 13297 NONAME + png_set_sCAL @ 13298 NONAME + png_set_sCAL_fixed @ 13299 NONAME + png_set_sCAL_s @ 13300 NONAME + png_set_sPLT @ 13301 NONAME + png_set_sRGB @ 13302 NONAME + png_set_sRGB_gAMA_and_cHRM @ 13303 NONAME + png_set_scale_16 @ 13304 NONAME + png_set_shift @ 13305 NONAME + png_set_sig_bytes @ 13306 NONAME + png_set_strip_16 @ 13307 NONAME + png_set_strip_alpha @ 13308 NONAME + png_set_swap @ 13309 NONAME + png_set_swap_alpha @ 13310 NONAME + png_set_tIME @ 13311 NONAME + png_set_tRNS @ 13312 NONAME + png_set_tRNS_to_alpha @ 13313 NONAME + png_set_text @ 13314 NONAME + png_set_text_compression_level @ 13315 NONAME + png_set_text_compression_mem_level @ 13316 NONAME + png_set_text_compression_method @ 13317 NONAME + png_set_text_compression_strategy @ 13318 NONAME + png_set_text_compression_window_bits @ 13319 NONAME + png_set_unknown_chunk_location @ 13320 NONAME + png_set_unknown_chunks @ 13321 NONAME + png_set_user_limits @ 13322 NONAME + png_set_user_transform_info @ 13323 NONAME + png_set_write_fn @ 13324 NONAME + png_set_write_status_fn @ 13325 NONAME + png_set_write_user_transform_fn @ 13326 NONAME + png_sig_cmp @ 13327 NONAME + png_start_read_image @ 13328 NONAME + png_warning @ 13329 NONAME + png_write_chunk @ 13330 NONAME + png_write_chunk_data @ 13331 NONAME + png_write_chunk_end @ 13332 NONAME + png_write_chunk_start @ 13333 NONAME + png_write_end @ 13334 NONAME + png_write_flush @ 13335 NONAME + png_write_image @ 13336 NONAME + png_write_info @ 13337 NONAME + png_write_info_before_PLTE @ 13338 NONAME + png_write_png @ 13339 NONAME + png_write_row @ 13340 NONAME + png_write_rows @ 13341 NONAME + png_write_sig @ 13342 NONAME + ?clipEnabledChanged@QBlitterPaintEngine@@UAEXXZ @ 13343 NONAME ; void QBlitterPaintEngine::clipEnabledChanged(void) + ?qt_static_metacall@QEventDispatcherS60@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13344 NONAME ; void QEventDispatcherS60::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?supportsSubPixelPositions@QFontEngine@@UBE_NXZ @ 13345 NONAME ; bool QFontEngine::supportsSubPixelPositions(void) const + ?qt_static_metacall@QStyledItemDelegate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13346 NONAME ; void QStyledItemDelegate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QPixmapDropShadowFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13347 NONAME ; void QPixmapDropShadowFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QS60Style@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13348 NONAME ; void QS60Style::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTableWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13349 NONAME ; void QTableWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTextBrowser@@0UQMetaObjectExtraData@@B @ 13350 NONAME ; struct QMetaObjectExtraData const QTextBrowser::staticMetaObjectExtraData + ?qt_static_metacall@QMenuBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13351 NONAME ; void QMenuBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?exists@QZipWriter@@QBE_NXZ @ 13352 NONAME ; bool QZipWriter::exists(void) const + ?heightForWidth@QTabWidget@@UBEHH@Z @ 13353 NONAME ; int QTabWidget::heightForWidth(int) const + ?staticMetaObjectExtraData@QSplashScreen@@0UQMetaObjectExtraData@@B @ 13354 NONAME ; struct QMetaObjectExtraData const QSplashScreen::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsItemAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13355 NONAME ; void QGraphicsItemAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QRasterWindowSurface@@QAE@PAVQWidget@@_N@Z @ 13356 NONAME ; QRasterWindowSurface::QRasterWindowSurface(class QWidget *, bool) + ?brushChanged@QBlitterPaintEngine@@UAEXXZ @ 13357 NONAME ; void QBlitterPaintEngine::brushChanged(void) + ?clip@QBlitterPaintEngine@@UAEXABVQRect@@W4ClipOperation@Qt@@@Z @ 13358 NONAME ; void QBlitterPaintEngine::clip(class QRect const &, enum Qt::ClipOperation) + ?staticMetaObjectExtraData@QGraphicsWidget@@0UQMetaObjectExtraData@@B @ 13359 NONAME ; struct QMetaObjectExtraData const QGraphicsWidget::staticMetaObjectExtraData + ?qt_static_metacall@QSessionManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13360 NONAME ; void QSessionManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTabWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13361 NONAME ; void QTabWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTapAndHoldGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13362 NONAME ; void QTapAndHoldGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QMainWindow@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13363 NONAME ; void QMainWindow::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QMovie@@0UQMetaObjectExtraData@@B @ 13364 NONAME ; struct QMetaObjectExtraData const QMovie::staticMetaObjectExtraData + ?trUtf8@QInternalMimeData@@SA?AVQString@@PBD0@Z @ 13365 NONAME ; class QString QInternalMimeData::trUtf8(char const *, char const *) + ?staticMetaObjectExtraData@QPixmapConvolutionFilter@@0UQMetaObjectExtraData@@B @ 13366 NONAME ; struct QMetaObjectExtraData const QPixmapConvolutionFilter::staticMetaObjectExtraData + ?setHintingPreference@QFont@@QAEXW4HintingPreference@1@@Z @ 13367 NONAME ; void QFont::setHintingPreference(enum QFont::HintingPreference) + ?initialize@QTreeViewPrivate@@QAEXXZ @ 13368 NONAME ; void QTreeViewPrivate::initialize(void) + ?qt_static_metacall@QTextControl@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13369 NONAME ; void QTextControl::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QToolBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13370 NONAME ; void QToolBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSplitter@@0UQMetaObjectExtraData@@B @ 13371 NONAME ; struct QMetaObjectExtraData const QSplitter::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsTextItem@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13372 NONAME ; void QGraphicsTextItem::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QGraphicsView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13373 NONAME ; void QGraphicsView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QGraphicsOpacityEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13374 NONAME ; void QGraphicsOpacityEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QGraphicsBlurEffect@@0UQMetaObjectExtraData@@B @ 13375 NONAME ; struct QMetaObjectExtraData const QGraphicsBlurEffect::staticMetaObjectExtraData + ?capabilities@QBlittable@@QBE?AV?$QFlags@W4Capability@QBlittable@@@@XZ @ 13376 NONAME ; class QFlags QBlittable::capabilities(void) const + ?qt_static_metacall@QDoubleSpinBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13377 NONAME ; void QDoubleSpinBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setCursorMoveStyle@QTextLayout@@QAEXW4CursorMoveStyle@Qt@@@Z @ 13378 NONAME ; void QTextLayout::setCursorMoveStyle(enum Qt::CursorMoveStyle) + ?qt_static_metacall@QGraphicsObject@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13379 NONAME ; void QGraphicsObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAbstractButton@@0UQMetaObjectExtraData@@B @ 13380 NONAME ; struct QMetaObjectExtraData const QAbstractButton::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsEffectSource@@0UQMetaObjectExtraData@@B @ 13381 NONAME ; struct QMetaObjectExtraData const QGraphicsEffectSource::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractItemView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13382 NONAME ; void QAbstractItemView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QPaintBufferResource@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13383 NONAME ; void QPaintBufferResource::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?swap@QBrush@@QAEXAAV1@@Z @ 13384 NONAME ; void QBrush::swap(class QBrush &) + ?expand@QTreeViewPrivate@@QAEXH_N@Z @ 13385 NONAME ; void QTreeViewPrivate::expand(int, bool) + ?qt_static_metacall@QTextDocument@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13386 NONAME ; void QTextDocument::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?fontHintingPreference@QTextCharFormat@@QBE?AW4HintingPreference@QFont@@XZ @ 13387 NONAME ; enum QFont::HintingPreference QTextCharFormat::fontHintingPreference(void) const + ?swap@QPixmap@@QAEXAAV1@@Z @ 13388 NONAME ; void QPixmap::swap(class QPixmap &) + ??0QBlitterPaintEngine@@QAE@PAVQBlittablePixmapData@@@Z @ 13389 NONAME ; QBlitterPaintEngine::QBlitterPaintEngine(class QBlittablePixmapData *) + ?removeViewItems@QTreeViewPrivate@@QAEXHH@Z @ 13390 NONAME ; void QTreeViewPrivate::removeViewItems(int, int) + ?staticMetaObjectExtraData@QTableView@@0UQMetaObjectExtraData@@B @ 13391 NONAME ; struct QMetaObjectExtraData const QTableView::staticMetaObjectExtraData + ?qt_static_metacall@QAction@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13392 NONAME ; void QAction::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QPinchGesture@@0UQMetaObjectExtraData@@B @ 13393 NONAME ; struct QMetaObjectExtraData const QPinchGesture::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QIdentityProxyModel@@0UQMetaObjectExtraData@@B @ 13394 NONAME ; struct QMetaObjectExtraData const QIdentityProxyModel::staticMetaObjectExtraData + ?numberPrefix@QTextListFormat@@QBE?AVQString@@XZ @ 13395 NONAME ; class QString QTextListFormat::numberPrefix(void) const + ?qt_static_metacall@QPlainTextEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13396 NONAME ; void QPlainTextEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QListView@@0UQMetaObjectExtraData@@B @ 13397 NONAME ; struct QMetaObjectExtraData const QListView::staticMetaObjectExtraData + ?qt_static_metacall@QLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13398 NONAME ; void QLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QWindowsStyle@@0UQMetaObjectExtraData@@B @ 13399 NONAME ; struct QMetaObjectExtraData const QWindowsStyle::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QMdiSubWindow@@0UQMetaObjectExtraData@@B @ 13400 NONAME ; struct QMetaObjectExtraData const QMdiSubWindow::staticMetaObjectExtraData + ?drawAnimatedOperation@QTreeViewPrivate@@QBEXPAVQPainter@@@Z @ 13401 NONAME ; void QTreeViewPrivate::drawAnimatedOperation(class QPainter *) const + ?firstVisibleItem@QTreeViewPrivate@@QBEHPAH@Z @ 13402 NONAME ; int QTreeViewPrivate::firstVisibleItem(int *) const + ?qt_static_metacall@QClipboard@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13403 NONAME ; void QClipboard::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??MQItemSelectionRange@@QBE_NABV0@@Z @ 13404 NONAME ; bool QItemSelectionRange::operator<(class QItemSelectionRange const &) const + ?setWidthForHeight@QSizePolicy@@QAEX_N@Z @ 13405 NONAME ; void QSizePolicy::setWidthForHeight(bool) + ?qt_static_metacall@QGraphicsScene@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13406 NONAME ; void QGraphicsScene::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTextList@@0UQMetaObjectExtraData@@B @ 13407 NONAME ; struct QMetaObjectExtraData const QTextList::staticMetaObjectExtraData + ?qt_fontdata_from_index@@YA?AVQByteArray@@H@Z @ 13408 NONAME ; class QByteArray qt_fontdata_from_index(int) + ?offsetInLigature@QTextEngine@@QAE?AUQFixed@@PBUQScriptItem@@HHH@Z @ 13409 NONAME ; struct QFixed QTextEngine::offsetInLigature(struct QScriptItem const *, int, int, int) + ?defaultCursorMoveStyle@QTextDocument@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 13410 NONAME ; enum Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle(void) const + ?hasFamily@QFontDatabase@@QBE_NABVQString@@@Z @ 13411 NONAME ; bool QFontDatabase::hasFamily(class QString const &) const + ?qt_static_metacall@QGraphicsAnchor@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13412 NONAME ; void QGraphicsAnchor::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?swap@QImage@@QAEXAAV1@@Z @ 13413 NONAME ; void QImage::swap(class QImage &) + ?staticMetaObjectExtraData@QDockWidget@@0UQMetaObjectExtraData@@B @ 13414 NONAME ; struct QMetaObjectExtraData const QDockWidget::staticMetaObjectExtraData + ?insertViewItems@QTreeViewPrivate@@QAEXHHABUQTreeViewItem@@@Z @ 13415 NONAME ; void QTreeViewPrivate::insertViewItems(int, int, struct QTreeViewItem const &) + ?compositionModeChanged@QBlitterPaintEngine@@UAEXXZ @ 13416 NONAME ; void QBlitterPaintEngine::compositionModeChanged(void) + ?staticMetaObjectExtraData@QPictureFormatPlugin@@0UQMetaObjectExtraData@@B @ 13417 NONAME ; struct QMetaObjectExtraData const QPictureFormatPlugin::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QAbstractItemView@@0UQMetaObjectExtraData@@B @ 13418 NONAME ; struct QMetaObjectExtraData const QAbstractItemView::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QValidator@@0UQMetaObjectExtraData@@B @ 13419 NONAME ; struct QMetaObjectExtraData const QValidator::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsBlurEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13420 NONAME ; void QGraphicsBlurEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDialog@@0UQMetaObjectExtraData@@B @ 13421 NONAME ; struct QMetaObjectExtraData const QDialog::staticMetaObjectExtraData + ?qt_static_metacall@QSplitter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13422 NONAME ; void QSplitter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QLineControl@@0UQMetaObjectExtraData@@B @ 13423 NONAME ; struct QMetaObjectExtraData const QLineControl::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QProgressDialog@@0UQMetaObjectExtraData@@B @ 13424 NONAME ; struct QMetaObjectExtraData const QProgressDialog::staticMetaObjectExtraData + ?drawRects@QBlitterPaintEngine@@UAEXPBVQRectF@@H@Z @ 13425 NONAME ; void QBlitterPaintEngine::drawRects(class QRectF const *, int) + ??0QTreeViewPrivate@@QAE@XZ @ 13426 NONAME ; QTreeViewPrivate::QTreeViewPrivate(void) + ?qt_static_metacall@QGridLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13427 NONAME ; void QGridLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QMenuBar@@0UQMetaObjectExtraData@@B @ 13428 NONAME ; struct QMetaObjectExtraData const QMenuBar::staticMetaObjectExtraData + ?qt_static_metacall@QStackedLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13429 NONAME ; void QStackedLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??_EQTreeViewPrivate@@UAE@I@Z @ 13430 NONAME ; QTreeViewPrivate::~QTreeViewPrivate(unsigned int) + ?staticMetaObjectExtraData@QLineEdit@@0UQMetaObjectExtraData@@B @ 13431 NONAME ; struct QMetaObjectExtraData const QLineEdit::staticMetaObjectExtraData + ?qt_metacall@QIdentityProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13432 NONAME ; int QIdentityProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QListWidget@@0UQMetaObjectExtraData@@B @ 13433 NONAME ; struct QMetaObjectExtraData const QListWidget::staticMetaObjectExtraData + ??1QBlitterPaintEngine@@UAE@XZ @ 13434 NONAME ; QBlitterPaintEngine::~QBlitterPaintEngine(void) + ?markRasterOverlay@QBlittablePixmapData@@QAEXPBVQRectF@@H@Z @ 13435 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QRectF const *, int) + ?qt_static_metacall@QTableView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13436 NONAME ; void QTableView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?mapSelectionFromSource@QIdentityProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 13437 NONAME ; class QItemSelection QIdentityProxyModel::mapSelectionFromSource(class QItemSelection const &) const + ?qt_static_metacall@QIdentityProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13438 NONAME ; void QIdentityProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?cursorMoveStyle@QTextLayout@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 13439 NONAME ; enum Qt::CursorMoveStyle QTextLayout::cursorMoveStyle(void) const + ?staticMetaObjectExtraData@QEventDispatcherS60@@0UQMetaObjectExtraData@@B @ 13440 NONAME ; struct QMetaObjectExtraData const QEventDispatcherS60::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QStylePlugin@@0UQMetaObjectExtraData@@B @ 13441 NONAME ; struct QMetaObjectExtraData const QStylePlugin::staticMetaObjectExtraData + ?drawTextItem@QBlitterPaintEngine@@UAEXABVQPointF@@ABVQTextItem@@@Z @ 13442 NONAME ; void QBlitterPaintEngine::drawTextItem(class QPointF const &, class QTextItem const &) + ?qt_static_metacall@QLabel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13443 NONAME ; void QLabel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QLayout@@0UQMetaObjectExtraData@@B @ 13444 NONAME ; struct QMetaObjectExtraData const QLayout::staticMetaObjectExtraData + ?retrieveData@QInternalMimeData@@MBE?AVQVariant@@ABVQString@@W4Type@2@@Z @ 13445 NONAME ; class QVariant QInternalMimeData::retrieveData(class QString const &, enum QVariant::Type) const + ?qt_static_metacall@QCheckBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13446 NONAME ; void QCheckBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDirModel@@0UQMetaObjectExtraData@@B @ 13447 NONAME ; struct QMetaObjectExtraData const QDirModel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QFocusFrame@@0UQMetaObjectExtraData@@B @ 13448 NONAME ; struct QMetaObjectExtraData const QFocusFrame::staticMetaObjectExtraData + ?q_func@QTreeViewPrivate@@ABEPBVQTreeView@@XZ @ 13449 NONAME ; class QTreeView const * QTreeViewPrivate::q_func(void) const + ?viewIndex@QTreeViewPrivate@@QBEHABVQModelIndex@@@Z @ 13450 NONAME ; int QTreeViewPrivate::viewIndex(class QModelIndex const &) const + ?qt_static_metacall@QGraphicsScale@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13451 NONAME ; void QGraphicsScale::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QFrame@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13452 NONAME ; void QFrame::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?drawImage@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQImage@@0V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 13453 NONAME ; void QBlitterPaintEngine::drawImage(class QRectF const &, class QImage const &, class QRectF const &, class QFlags) + ?staticMetaObjectExtraData@QDateTimeEdit@@0UQMetaObjectExtraData@@B @ 13454 NONAME ; struct QMetaObjectExtraData const QDateTimeEdit::staticMetaObjectExtraData + ?mimeTypes@QAbstractProxyModel@@UBE?AVQStringList@@XZ @ 13455 NONAME ; class QStringList QAbstractProxyModel::mimeTypes(void) const + ?mapSelectionToSource@QIdentityProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 13456 NONAME ; class QItemSelection QIdentityProxyModel::mapSelectionToSource(class QItemSelection const &) const + ?createState@QBlitterPaintEngine@@UBEPAVQPainterState@@PAV2@@Z @ 13457 NONAME ; class QPainterState * QBlitterPaintEngine::createState(class QPainterState *) const + ??1QIdentityProxyModel@@UAE@XZ @ 13458 NONAME ; QIdentityProxyModel::~QIdentityProxyModel(void) + ?qt_static_metacall@QDoubleValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13459 NONAME ; void QDoubleValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?removeItem@QGraphicsGridLayout@@QAEXPAVQGraphicsLayoutItem@@@Z @ 13460 NONAME ; void QGraphicsGridLayout::removeItem(class QGraphicsLayoutItem *) + ?qt_static_metacall@QHBoxLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13461 NONAME ; void QHBoxLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?clipBoundingRect@QPainter@@QBE?AVQRectF@@XZ @ 13462 NONAME ; class QRectF QPainter::clipBoundingRect(void) const + ?staticMetaObjectExtraData@QAbstractSlider@@0UQMetaObjectExtraData@@B @ 13463 NONAME ; struct QMetaObjectExtraData const QAbstractSlider::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QSlider@@0UQMetaObjectExtraData@@B @ 13464 NONAME ; struct QMetaObjectExtraData const QSlider::staticMetaObjectExtraData + ?formats@QInternalMimeData@@UBE?AVQStringList@@XZ @ 13465 NONAME ; class QStringList QInternalMimeData::formats(void) const + ?staticMetaObjectExtraData@QMainWindow@@0UQMetaObjectExtraData@@B @ 13466 NONAME ; struct QMetaObjectExtraData const QMainWindow::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QButtonGroup@@0UQMetaObjectExtraData@@B @ 13467 NONAME ; struct QMetaObjectExtraData const QButtonGroup::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractSlider@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13468 NONAME ; void QAbstractSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??_EQIdentityProxyModel@@UAE@I@Z @ 13469 NONAME ; QIdentityProxyModel::~QIdentityProxyModel(unsigned int) + ?qt_static_metacall@QPictureFormatPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13470 NONAME ; void QPictureFormatPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QGuiPlatformPlugin@@0UQMetaObjectExtraData@@B @ 13471 NONAME ; struct QMetaObjectExtraData const QGuiPlatformPlugin::staticMetaObjectExtraData + ?removeRows@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13472 NONAME ; bool QIdentityProxyModel::removeRows(int, int, class QModelIndex const &) + ?staticMetaObjectExtraData@QPixmapDropShadowFilter@@0UQMetaObjectExtraData@@B @ 13473 NONAME ; struct QMetaObjectExtraData const QPixmapDropShadowFilter::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGridLayout@@0UQMetaObjectExtraData@@B @ 13474 NONAME ; struct QMetaObjectExtraData const QGridLayout::staticMetaObjectExtraData + ?raster@QBlitterPaintEngine@@ABEPAVQRasterPaintEngine@@XZ @ 13475 NONAME ; class QRasterPaintEngine * QBlitterPaintEngine::raster(void) const + ?sort@QAbstractProxyModel@@UAEXHW4SortOrder@Qt@@@Z @ 13476 NONAME ; void QAbstractProxyModel::sort(int, enum Qt::SortOrder) + ?getClusterLength@QTextEngine@@AAEHPAGPBUHB_CharAttributes@@HHHPAH@Z @ 13477 NONAME ; int QTextEngine::getClusterLength(unsigned short *, struct HB_CharAttributes const *, int, int, int, int *) + ?staticMetaObjectExtraData@QPlainTextEdit@@0UQMetaObjectExtraData@@B @ 13478 NONAME ; struct QMetaObjectExtraData const QPlainTextEdit::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QTableWidget@@0UQMetaObjectExtraData@@B @ 13479 NONAME ; struct QMetaObjectExtraData const QTableWidget::staticMetaObjectExtraData + ?qt_static_metacall@QSyntaxHighlighter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13480 NONAME ; void QSyntaxHighlighter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setCreationPermissions@QZipWriter@@QAEXV?$QFlags@W4Permission@QFile@@@@@Z @ 13481 NONAME ; void QZipWriter::setCreationPermissions(class QFlags) + ?q_func@QTreeViewPrivate@@AAEPAVQTreeView@@XZ @ 13482 NONAME ; class QTreeView * QTreeViewPrivate::q_func(void) + ?d_func@QBlittable@@AAEPAVQBlittablePrivate@@XZ @ 13483 NONAME ; class QBlittablePrivate * QBlittable::d_func(void) + ?previousLogicalPosition@QTextEngine@@QBEHH@Z @ 13484 NONAME ; int QTextEngine::previousLogicalPosition(int) const + ?type@QBlitterPaintEngine@@UBE?AW4Type@QPaintEngine@@XZ @ 13485 NONAME ; enum QPaintEngine::Type QBlitterPaintEngine::type(void) const + ?updateScrollBars@QTreeViewPrivate@@QAEXXZ @ 13486 NONAME ; void QTreeViewPrivate::updateScrollBars(void) + ?qt_static_metacall@QCommandLinkButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13487 NONAME ; void QCommandLinkButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?buddy@QAbstractProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13488 NONAME ; class QModelIndex QAbstractProxyModel::buddy(class QModelIndex const &) const + ?staticMetaObjectExtraData@QProxyModel@@0UQMetaObjectExtraData@@B @ 13489 NONAME ; struct QMetaObjectExtraData const QProxyModel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QInputContextPlugin@@0UQMetaObjectExtraData@@B @ 13490 NONAME ; struct QMetaObjectExtraData const QInputContextPlugin::staticMetaObjectExtraData + ?metaObject@QIdentityProxyModel@@UBEPBUQMetaObject@@XZ @ 13491 NONAME ; struct QMetaObject const * QIdentityProxyModel::metaObject(void) const + ?removeColumns@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13492 NONAME ; bool QIdentityProxyModel::removeColumns(int, int, class QModelIndex const &) + ?indentationForItem@QTreeViewPrivate@@QBEHH@Z @ 13493 NONAME ; int QTreeViewPrivate::indentationForItem(int) const + ?qt_static_metacall@QDirModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13494 NONAME ; void QDirModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QMdiSubWindow@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13495 NONAME ; void QMdiSubWindow::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?fill@QImage@@QAEXABVQColor@@@Z @ 13496 NONAME ; void QImage::fill(class QColor const &) + ??0QZipWriter@@QAE@PAVQIODevice@@@Z @ 13497 NONAME ; QZipWriter::QZipWriter(class QIODevice *) + ?fill@QImage@@QAEXW4GlobalColor@Qt@@@Z @ 13498 NONAME ; void QImage::fill(enum Qt::GlobalColor) + ?staticMetaObjectExtraData@QUndoView@@0UQMetaObjectExtraData@@B @ 13499 NONAME ; struct QMetaObjectExtraData const QUndoView::staticMetaObjectExtraData + ?canFetchMore@QAbstractProxyModel@@UBE_NABVQModelIndex@@@Z @ 13500 NONAME ; bool QAbstractProxyModel::canFetchMore(class QModelIndex const &) const + ?staticMetaObjectExtraData@QTextObject@@0UQMetaObjectExtraData@@B @ 13501 NONAME ; struct QMetaObjectExtraData const QTextObject::staticMetaObjectExtraData + ?qt_static_metacall@QPixmapConvolutionFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13502 NONAME ; void QPixmapConvolutionFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?alignLine@QTextEngine@@QAE?AUQFixed@@ABUQScriptLine@@@Z @ 13503 NONAME ; struct QFixed QTextEngine::alignLine(struct QScriptLine const &) + ?above@QTreeViewPrivate@@QBEHH@Z @ 13504 NONAME ; int QTreeViewPrivate::above(int) const + ?qt_static_metacall@QSortFilterProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13505 NONAME ; void QSortFilterProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?_q_columnsRemoved@QTreeViewPrivate@@UAEXABVQModelIndex@@HH@Z @ 13506 NONAME ; void QTreeViewPrivate::_q_columnsRemoved(class QModelIndex const &, int, int) + ?qt_static_metacall@QTreeView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13507 NONAME ; void QTreeView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QGraphicsSystemPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13508 NONAME ; void QGraphicsSystemPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?resize@QBlittablePixmapData@@UAEXHH@Z @ 13509 NONAME ; void QBlittablePixmapData::resize(int, int) + ?setTabsClosable@QMdiArea@@QAEX_N@Z @ 13510 NONAME ; void QMdiArea::setTabsClosable(bool) + ?staticMetaObjectExtraData@QTreeWidget@@0UQMetaObjectExtraData@@B @ 13511 NONAME ; struct QMetaObjectExtraData const QTreeWidget::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QBoxLayout@@0UQMetaObjectExtraData@@B @ 13512 NONAME ; struct QMetaObjectExtraData const QBoxLayout::staticMetaObjectExtraData + ?qt_static_metacall@QTabBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13513 NONAME ; void QTabBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?parent@QIdentityProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13514 NONAME ; class QModelIndex QIdentityProxyModel::parent(class QModelIndex const &) const + ?insertColumns@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13515 NONAME ; bool QIdentityProxyModel::insertColumns(int, int, class QModelIndex const &) + ?staticMetaObjectExtraData@QDesktopWidget@@0UQMetaObjectExtraData@@B @ 13516 NONAME ; struct QMetaObjectExtraData const QDesktopWidget::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QScrollArea@@0UQMetaObjectExtraData@@B @ 13517 NONAME ; struct QMetaObjectExtraData const QScrollArea::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QImageIOPlugin@@0UQMetaObjectExtraData@@B @ 13518 NONAME ; struct QMetaObjectExtraData const QImageIOPlugin::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QVBoxLayout@@0UQMetaObjectExtraData@@B @ 13519 NONAME ; struct QMetaObjectExtraData const QVBoxLayout::staticMetaObjectExtraData + ?compressionPolicy@QZipWriter@@QBE?AW4CompressionPolicy@1@XZ @ 13520 NONAME ; enum QZipWriter::CompressionPolicy QZipWriter::compressionPolicy(void) const + ?getText@QInputDialog@@SA?AVQString@@PAVQWidget@@ABV2@1W4EchoMode@QLineEdit@@1PA_NV?$QFlags@W4WindowType@Qt@@@@V?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 13521 NONAME ; class QString QInputDialog::getText(class QWidget *, class QString const &, class QString const &, enum QLineEdit::EchoMode, class QString const &, bool *, class QFlags, class QFlags) + ?columnRanges@QTreeViewPrivate@@QBE?AV?$QList@U?$QPair@HH@@@@ABVQModelIndex@@0@Z @ 13522 NONAME ; class QList > QTreeViewPrivate::columnRanges(class QModelIndex const &, class QModelIndex const &) const + ?hasWidthForHeight@QSizePolicy@@QBE_NXZ @ 13523 NONAME ; bool QSizePolicy::hasWidthForHeight(void) const + ?staticMetaObjectExtraData@QSizeGrip@@0UQMetaObjectExtraData@@B @ 13524 NONAME ; struct QMetaObjectExtraData const QSizeGrip::staticMetaObjectExtraData + ?qt_static_metacall@QDesktopWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13525 NONAME ; void QDesktopWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QGraphicsDropShadowEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13526 NONAME ; void QGraphicsDropShadowEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QAbstractProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13527 NONAME ; void QAbstractProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setDefaultCursorMoveStyle@QTextDocument@@QAEXW4CursorMoveStyle@Qt@@@Z @ 13528 NONAME ; void QTextDocument::setDefaultCursorMoveStyle(enum Qt::CursorMoveStyle) + ?transformChanged@QBlitterPaintEngine@@UAEXXZ @ 13529 NONAME ; void QBlitterPaintEngine::transformChanged(void) + ??0QBlittablePixmapData@@QAE@XZ @ 13530 NONAME ; QBlittablePixmapData::QBlittablePixmapData(void) + ?staticMetaObjectExtraData@QHBoxLayout@@0UQMetaObjectExtraData@@B @ 13531 NONAME ; struct QMetaObjectExtraData const QHBoxLayout::staticMetaObjectExtraData + ?close@QZipWriter@@QAEXXZ @ 13532 NONAME ; void QZipWriter::close(void) + ?staticMetaObjectExtraData@QUndoGroup@@0UQMetaObjectExtraData@@B @ 13533 NONAME ; struct QMetaObjectExtraData const QUndoGroup::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDoubleSpinBox@@0UQMetaObjectExtraData@@B @ 13534 NONAME ; struct QMetaObjectExtraData const QDoubleSpinBox::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsTransform@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13535 NONAME ; void QGraphicsTransform::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?dropMimeData@QIdentityProxyModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 13536 NONAME ; bool QIdentityProxyModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &) + ?staticMetaObjectExtraData@QErrorMessage@@0UQMetaObjectExtraData@@B @ 13537 NONAME ; struct QMetaObjectExtraData const QErrorMessage::staticMetaObjectExtraData + ?size@QBlittable@@QBE?AVQSize@@XZ @ 13538 NONAME ; class QSize QBlittable::size(void) const + ?staticMetaObjectExtraData@QGraphicsScene@@0UQMetaObjectExtraData@@B @ 13539 NONAME ; struct QMetaObjectExtraData const QGraphicsScene::staticMetaObjectExtraData + ?qt_static_metacall@QPixmapFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13540 NONAME ; void QPixmapFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13541 NONAME ; void QStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setBlittable@QBlittablePixmapData@@QAEXPAVQBlittable@@@Z @ 13542 NONAME ; void QBlittablePixmapData::setBlittable(class QBlittable *) + ?qt_static_metacall@QMdiArea@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13543 NONAME ; void QMdiArea::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?visualCursorMovement@QTextEngine@@QBE_NXZ @ 13544 NONAME ; bool QTextEngine::visualCursorMovement(void) const + ?qt_static_metacall@QComboBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13545 NONAME ; void QComboBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?positionInLigature@QTextEngine@@QAEHPBUQScriptItem@@HUQFixed@@1H_N@Z @ 13546 NONAME ; int QTextEngine::positionInLigature(struct QScriptItem const *, int, struct QFixed, struct QFixed, int, bool) + ??0QRadialGradient@@QAE@MMMMMM@Z @ 13547 NONAME ; QRadialGradient::QRadialGradient(float, float, float, float, float, float) + ?staticMetaObjectExtraData@QRadioButton@@0UQMetaObjectExtraData@@B @ 13548 NONAME ; struct QMetaObjectExtraData const QRadioButton::staticMetaObjectExtraData + ?opacityChanged@QBlitterPaintEngine@@UAEXXZ @ 13549 NONAME ; void QBlitterPaintEngine::opacityChanged(void) + ?qt_static_metacall@QAbstractScrollArea@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13550 NONAME ; void QAbstractScrollArea::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QDateTimeEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13551 NONAME ; void QDateTimeEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?_q_modelDestroyed@QTreeViewPrivate@@UAEXXZ @ 13552 NONAME ; void QTreeViewPrivate::_q_modelDestroyed(void) + ?qt_static_metacall@QFontComboBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13553 NONAME ; void QFontComboBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QGraphicsRotation@@0UQMetaObjectExtraData@@B @ 13554 NONAME ; struct QMetaObjectExtraData const QGraphicsRotation::staticMetaObjectExtraData + ?setState@QBlitterPaintEngine@@UAEXPAVQPainterState@@@Z @ 13555 NONAME ; void QBlitterPaintEngine::setState(class QPainterState *) + ?addFile@QZipWriter@@QAEXABVQString@@ABVQByteArray@@@Z @ 13556 NONAME ; void QZipWriter::addFile(class QString const &, class QByteArray const &) + ?qt_static_metacall@QAbstractButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13557 NONAME ; void QAbstractButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTextDocument@@0UQMetaObjectExtraData@@B @ 13558 NONAME ; struct QMetaObjectExtraData const QTextDocument::staticMetaObjectExtraData + ?setSourceModel@QIdentityProxyModel@@UAEXPAVQAbstractItemModel@@@Z @ 13559 NONAME ; void QIdentityProxyModel::setSourceModel(class QAbstractItemModel *) + ?clip@QBlitterPaintEngine@@UAEXABVQRegion@@W4ClipOperation@Qt@@@Z @ 13560 NONAME ; void QBlitterPaintEngine::clip(class QRegion const &, enum Qt::ClipOperation) + ?subPixelPositionForX@QTextureGlyphCache@@QBE?AUQFixed@@U2@@Z @ 13561 NONAME ; struct QFixed QTextureGlyphCache::subPixelPositionForX(struct QFixed) const + ?addFile@QZipWriter@@QAEXABVQString@@PAVQIODevice@@@Z @ 13562 NONAME ; void QZipWriter::addFile(class QString const &, class QIODevice *) + ?hasAlphaChannel@QBlittablePixmapData@@UBE_NXZ @ 13563 NONAME ; bool QBlittablePixmapData::hasAlphaChannel(void) const + ?numberSuffix@QTextListFormat@@QBE?AVQString@@XZ @ 13564 NONAME ; class QString QTextListFormat::numberSuffix(void) const + ?tabsMovable@QMdiArea@@QBE_NXZ @ 13565 NONAME ; bool QMdiArea::tabsMovable(void) const + ?coordinateForItem@QTreeViewPrivate@@QBEHH@Z @ 13566 NONAME ; int QTreeViewPrivate::coordinateForItem(int) const + ?staticMetaObjectExtraData@QRubberBand@@0UQMetaObjectExtraData@@B @ 13567 NONAME ; struct QMetaObjectExtraData const QRubberBand::staticMetaObjectExtraData + ?qt_static_metacall@QRubberBand@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13568 NONAME ; void QRubberBand::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QMenu@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13569 NONAME ; void QMenu::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?end@QBlitterPaintEngine@@UAE_NXZ @ 13570 NONAME ; bool QBlitterPaintEngine::end(void) + ?staticMetaObjectExtraData@QAbstractItemDelegate@@0UQMetaObjectExtraData@@B @ 13571 NONAME ; struct QMetaObjectExtraData const QAbstractItemDelegate::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsTextItem@@0UQMetaObjectExtraData@@B @ 13572 NONAME ; struct QMetaObjectExtraData const QGraphicsTextItem::staticMetaObjectExtraData + ?getStaticMetaObject@QIdentityProxyModel@@SAABUQMetaObject@@XZ @ 13573 NONAME ; struct QMetaObject const & QIdentityProxyModel::getStaticMetaObject(void) + ?accessibleTable2Index@QTreeViewPrivate@@QBEHABVQModelIndex@@@Z @ 13574 NONAME ; int QTreeViewPrivate::accessibleTable2Index(class QModelIndex const &) const + ?qt_static_metacall@QFormLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13575 NONAME ; void QFormLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTextTable@@0UQMetaObjectExtraData@@B @ 13576 NONAME ; struct QMetaObjectExtraData const QTextTable::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QWizard@@0UQMetaObjectExtraData@@B @ 13577 NONAME ; struct QMetaObjectExtraData const QWizard::staticMetaObjectExtraData + ?fill@QBlitterPaintEngine@@UAEXABVQVectorPath@@ABVQBrush@@@Z @ 13578 NONAME ; void QBlitterPaintEngine::fill(class QVectorPath const &, class QBrush const &) + ?drawPixmap@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQPixmap@@0@Z @ 13579 NONAME ; void QBlitterPaintEngine::drawPixmap(class QRectF const &, class QPixmap const &, class QRectF const &) + ?staticMetaObjectExtraData@QTextBlockGroup@@0UQMetaObjectExtraData@@B @ 13580 NONAME ; struct QMetaObjectExtraData const QTextBlockGroup::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QActionGroup@@0UQMetaObjectExtraData@@B @ 13581 NONAME ; struct QMetaObjectExtraData const QActionGroup::staticMetaObjectExtraData + ?supportsTransformations@QPaintEngineEx@@UBE_NMABVQTransform@@@Z @ 13582 NONAME ; bool QPaintEngineEx::supportsTransformations(float, class QTransform const &) const + ?index@QIdentityProxyModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 13583 NONAME ; class QModelIndex QIdentityProxyModel::index(int, int, class QModelIndex const &) const + ?status@QZipWriter@@QBE?AW4Status@1@XZ @ 13584 NONAME ; enum QZipWriter::Status QZipWriter::status(void) const + ?qt_static_metacall@QTextFrame@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13585 NONAME ; void QTextFrame::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSlider@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13586 NONAME ; void QSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?tr@QInternalMimeData@@SA?AVQString@@PBD0H@Z @ 13587 NONAME ; class QString QInternalMimeData::tr(char const *, char const *, int) + ?qt_static_metacall@QTimeEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13588 NONAME ; void QTimeEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QPaintBufferSignalProxy@@0UQMetaObjectExtraData@@B @ 13589 NONAME ; struct QMetaObjectExtraData const QPaintBufferSignalProxy::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QIconEnginePluginV2@@0UQMetaObjectExtraData@@B @ 13590 NONAME ; struct QMetaObjectExtraData const QIconEnginePluginV2::staticMetaObjectExtraData + ?get@QFontPrivate@@SAPAV1@ABVQFont@@@Z @ 13591 NONAME ; class QFontPrivate * QFontPrivate::get(class QFont const &) + ?setCursorMoveStyle@QLineControl@@QAEXW4CursorMoveStyle@Qt@@@Z @ 13592 NONAME ; void QLineControl::setCursorMoveStyle(enum Qt::CursorMoveStyle) + ?staticMetaObjectExtraData@QStyledItemDelegate@@0UQMetaObjectExtraData@@B @ 13593 NONAME ; struct QMetaObjectExtraData const QStyledItemDelegate::staticMetaObjectExtraData + ?qt_static_metacall@QMouseEventTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13594 NONAME ; void QMouseEventTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QItemDelegate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13595 NONAME ; void QItemDelegate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QMdiArea@@0UQMetaObjectExtraData@@B @ 13596 NONAME ; struct QMetaObjectExtraData const QMdiArea::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsView@@0UQMetaObjectExtraData@@B @ 13597 NONAME ; struct QMetaObjectExtraData const QGraphicsView::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QStyle@@0UQMetaObjectExtraData@@B @ 13598 NONAME ; struct QMetaObjectExtraData const QStyle::staticMetaObjectExtraData + ?fetchMore@QAbstractProxyModel@@UAEXABVQModelIndex@@@Z @ 13599 NONAME ; void QAbstractProxyModel::fetchMore(class QModelIndex const &) + ?insertRows@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13600 NONAME ; bool QIdentityProxyModel::insertRows(int, int, class QModelIndex const &) + ?positionAfterVisualMovement@QTextEngine@@QAEHHW4MoveOperation@QTextCursor@@@Z @ 13601 NONAME ; int QTextEngine::positionAfterVisualMovement(int, enum QTextCursor::MoveOperation) + ?resolveFontFamilyAlias@QFontDatabase@@CA?AVQString@@ABV2@@Z @ 13602 NONAME ; class QString QFontDatabase::resolveFontFamilyAlias(class QString const &) + ?alphaRGBMapForGlyph@QFontEngine@@UAE?AVQImage@@IUQFixed@@HABVQTransform@@@Z @ 13603 NONAME ; class QImage QFontEngine::alphaRGBMapForGlyph(unsigned int, struct QFixed, int, class QTransform const &) + ?setCenterRadius@QRadialGradient@@QAEXM@Z @ 13604 NONAME ; void QRadialGradient::setCenterRadius(float) + ?staticMetaObjectExtraData@QPixmapBlurFilter@@0UQMetaObjectExtraData@@B @ 13605 NONAME ; struct QMetaObjectExtraData const QPixmapBlurFilter::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QMenu@@0UQMetaObjectExtraData@@B @ 13606 NONAME ; struct QMetaObjectExtraData const QMenu::staticMetaObjectExtraData + ?swap@QBitmap@@QAEXAAV1@@Z @ 13607 NONAME ; void QBitmap::swap(class QBitmap &) + ?hasFormat@QInternalMimeData@@UBE_NABVQString@@@Z @ 13608 NONAME ; bool QInternalMimeData::hasFormat(class QString const &) const + ?leftCursorPosition@QTextLayout@@QBEHH@Z @ 13609 NONAME ; int QTextLayout::leftCursorPosition(int) const + ?staticMetaObjectExtraData@QGroupBox@@0UQMetaObjectExtraData@@B @ 13610 NONAME ; struct QMetaObjectExtraData const QGroupBox::staticMetaObjectExtraData + ?renderDataHelper@QInternalMimeData@@SA?AVQByteArray@@ABVQString@@PBVQMimeData@@@Z @ 13611 NONAME ; class QByteArray QInternalMimeData::renderDataHelper(class QString const &, class QMimeData const *) + ?staticMetaObjectExtraData@QKeyEventTransition@@0UQMetaObjectExtraData@@B @ 13612 NONAME ; struct QMetaObjectExtraData const QKeyEventTransition::staticMetaObjectExtraData + ?qt_static_metacall@QKeyEventTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13613 NONAME ; void QKeyEventTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QWindowSurface@@QAE@PAVQWidget@@_N@Z @ 13614 NONAME ; QWindowSurface::QWindowSurface(class QWidget *, bool) + ?fill@QBlittablePixmapData@@UAEXABVQColor@@@Z @ 13615 NONAME ; void QBlittablePixmapData::fill(class QColor const &) + ?staticMetaObjectExtraData@QTabWidget@@0UQMetaObjectExtraData@@B @ 13616 NONAME ; struct QMetaObjectExtraData const QTabWidget::staticMetaObjectExtraData + ?metric@QBlittablePixmapData@@UBEHW4PaintDeviceMetric@QPaintDevice@@@Z @ 13617 NONAME ; int QBlittablePixmapData::metric(enum QPaintDevice::PaintDeviceMetric) const + ?select@QTreeViewPrivate@@QAEXABVQModelIndex@@0V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 13618 NONAME ; void QTreeViewPrivate::select(class QModelIndex const &, class QModelIndex const &, class QFlags) + ?setStyleName@QFont@@QAEXABVQString@@@Z @ 13619 NONAME ; void QFont::setStyleName(class QString const &) + ?fillRect@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQColor@@@Z @ 13620 NONAME ; void QBlitterPaintEngine::fillRect(class QRectF const &, class QColor const &) + ??6@YA?AVQDebug@@V0@PBVQSymbianEvent@@@Z @ 13621 NONAME ; class QDebug operator<<(class QDebug, class QSymbianEvent const *) + ?qt_static_metacall@QSplitterHandle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13622 NONAME ; void QSplitterHandle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTextEdit@@0UQMetaObjectExtraData@@B @ 13623 NONAME ; struct QMetaObjectExtraData const QTextEdit::staticMetaObjectExtraData + ?qt_static_metacall@QCompleter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13624 NONAME ; void QCompleter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSwipeGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13625 NONAME ; void QSwipeGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QWindowsStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13626 NONAME ; void QWindowsStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?ProcessCommandParametersL@QS60MainAppUi@@UAEHW4TApaCommand@@AAV?$TBuf@$0BAA@@@ABVTDesC8@@@Z @ 13627 NONAME ; int QS60MainAppUi::ProcessCommandParametersL(enum TApaCommand, class TBuf<256> &, class TDesC8 const &) + ?qt_static_metacall@QVBoxLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13628 NONAME ; void QVBoxLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSpinBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13629 NONAME ; void QSpinBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??_EQBlittablePixmapData@@UAE@I@Z @ 13630 NONAME ; QBlittablePixmapData::~QBlittablePixmapData(unsigned int) + ?qt_static_metacall@QStringListModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13631 NONAME ; void QStringListModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QPanGesture@@0UQMetaObjectExtraData@@B @ 13632 NONAME ; struct QMetaObjectExtraData const QPanGesture::staticMetaObjectExtraData + ?device@QZipWriter@@QBEPAVQIODevice@@XZ @ 13633 NONAME ; class QIODevice * QZipWriter::device(void) const + ?mimeData@QAbstractProxyModel@@UBEPAVQMimeData@@ABV?$QList@VQModelIndex@@@@@Z @ 13634 NONAME ; class QMimeData * QAbstractProxyModel::mimeData(class QList const &) const + ?qt_static_metacall@QWidgetResizeHandler@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13635 NONAME ; void QWidgetResizeHandler::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QZipWriter@@QAE@ABVQString@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 13636 NONAME ; QZipWriter::QZipWriter(class QString const &, class QFlags) + ?qt_static_metacall@QPinchGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13637 NONAME ; void QPinchGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTextBrowser@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13638 NONAME ; void QTextBrowser::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVQRectF@@0HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 13639 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QRectF const *, class QRectF const *, int, class QPixmap const &, class QFlags) + ?staticMetaObjectExtraData@QTabBar@@0UQMetaObjectExtraData@@B @ 13640 NONAME ; struct QMetaObjectExtraData const QTabBar::staticMetaObjectExtraData + ?setTabsMovable@QMdiArea@@QAEX_N@Z @ 13641 NONAME ; void QMdiArea::setTabsMovable(bool) + ?minimumSizeHint@QRadioButton@@UBE?AVQSize@@XZ @ 13642 NONAME ; class QSize QRadioButton::minimumSizeHint(void) const + ?staticMetaObjectExtraData@QGraphicsObject@@0UQMetaObjectExtraData@@B @ 13643 NONAME ; struct QMetaObjectExtraData const QGraphicsObject::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QPaintBufferResource@@0UQMetaObjectExtraData@@B @ 13644 NONAME ; struct QMetaObjectExtraData const QPaintBufferResource::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QToolBar@@0UQMetaObjectExtraData@@B @ 13645 NONAME ; struct QMetaObjectExtraData const QToolBar::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QFontDialog@@0UQMetaObjectExtraData@@B @ 13646 NONAME ; struct QMetaObjectExtraData const QFontDialog::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QCheckBox@@0UQMetaObjectExtraData@@B @ 13647 NONAME ; struct QMetaObjectExtraData const QCheckBox::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsRotation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13648 NONAME ; void QGraphicsRotation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?drawRects@QBlitterPaintEngine@@UAEXPBVQRect@@H@Z @ 13649 NONAME ; void QBlitterPaintEngine::drawRects(class QRect const *, int) + ?fillInPendingGlyphs@QTextureGlyphCache@@QAEXXZ @ 13650 NONAME ; void QTextureGlyphCache::fillInPendingGlyphs(void) + ?qt_static_metacall@QColorDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13651 NONAME ; void QColorDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QPixmapBlurFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13652 NONAME ; void QPixmapBlurFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?draggablePaintPairs@QTreeViewPrivate@@UBE?AV?$QList@U?$QPair@VQRect@@VQModelIndex@@@@@@ABV?$QList@VQModelIndex@@@@PAVQRect@@@Z @ 13653 NONAME ; class QList > QTreeViewPrivate::draggablePaintPairs(class QList const &, class QRect *) const + ?qt_static_metacall@QFontDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13654 NONAME ; void QFontDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?focalRadius@QRadialGradient@@QBEMXZ @ 13655 NONAME ; float QRadialGradient::focalRadius(void) const + ?renderHintsChanged@QBlitterPaintEngine@@UAEXXZ @ 13656 NONAME ; void QBlitterPaintEngine::renderHintsChanged(void) + ?staticMetaObjectExtraData@QColorDialog@@0UQMetaObjectExtraData@@B @ 13657 NONAME ; struct QMetaObjectExtraData const QColorDialog::staticMetaObjectExtraData + ?supportedDropActions@QAbstractProxyModel@@UBE?AV?$QFlags@W4DropAction@Qt@@@@XZ @ 13658 NONAME ; class QFlags QAbstractProxyModel::supportedDropActions(void) const + ?beginAnimatedOperation@QTreeViewPrivate@@QAEXXZ @ 13659 NONAME ; void QTreeViewPrivate::beginAnimatedOperation(void) + ?columnAt@QTreeViewPrivate@@QBEHH@Z @ 13660 NONAME ; int QTreeViewPrivate::columnAt(int) const + ?qt_metacast@QIdentityProxyModel@@UAEPAXPBD@Z @ 13661 NONAME ; void * QIdentityProxyModel::qt_metacast(char const *) + ?qt_static_metacall@QLineControl@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13662 NONAME ; void QLineControl::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?fillRect@QBlitterPaintEngine@@UAEXABVQRectF@@ABVQBrush@@@Z @ 13663 NONAME ; void QBlitterPaintEngine::fillRect(class QRectF const &, class QBrush const &) + ?staticMetaObjectExtraData@QClipboard@@0UQMetaObjectExtraData@@B @ 13664 NONAME ; struct QMetaObjectExtraData const QClipboard::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QPixmapColorizeFilter@@0UQMetaObjectExtraData@@B @ 13665 NONAME ; struct QMetaObjectExtraData const QPixmapColorizeFilter::staticMetaObjectExtraData + ?qt_static_metacall@QUndoStack@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13666 NONAME ; void QUndoStack::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QStandardItemModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13667 NONAME ; void QStandardItemModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSessionManager@@0UQMetaObjectExtraData@@B @ 13668 NONAME ; struct QMetaObjectExtraData const QSessionManager::staticMetaObjectExtraData + ?d_func@QBlittable@@ABEPBVQBlittablePrivate@@XZ @ 13669 NONAME ; class QBlittablePrivate const * QBlittable::d_func(void) const + ?staticMetaObjectExtraData@QStringListModel@@0UQMetaObjectExtraData@@B @ 13670 NONAME ; struct QMetaObjectExtraData const QStringListModel::staticMetaObjectExtraData + ?qt_static_metacall@QPaintBufferSignalProxy@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13671 NONAME ; void QPaintBufferSignalProxy::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDrag@@0UQMetaObjectExtraData@@B @ 13672 NONAME ; struct QMetaObjectExtraData const QDrag::staticMetaObjectExtraData + ?qt_static_metacall@QProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13673 NONAME ; void QProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QWidgetResizeHandler@@0UQMetaObjectExtraData@@B @ 13674 NONAME ; struct QMetaObjectExtraData const QWidgetResizeHandler::staticMetaObjectExtraData + ?state@QBlitterPaintEngine@@QBEPBVQPainterState@@XZ @ 13675 NONAME ; class QPainterState const * QBlitterPaintEngine::state(void) const + ?qt_static_metacall@QGroupBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13676 NONAME ; void QGroupBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTextObject@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13677 NONAME ; void QTextObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QScrollBar@@0UQMetaObjectExtraData@@B @ 13678 NONAME ; struct QMetaObjectExtraData const QScrollBar::staticMetaObjectExtraData + ?pageUp@QTreeViewPrivate@@QBEHH@Z @ 13679 NONAME ; int QTreeViewPrivate::pageUp(int) const + ?staticMetaObjectExtraData@QWizardPage@@0UQMetaObjectExtraData@@B @ 13680 NONAME ; struct QMetaObjectExtraData const QWizardPage::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QShortcut@@0UQMetaObjectExtraData@@B @ 13681 NONAME ; struct QMetaObjectExtraData const QShortcut::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsScale@@0UQMetaObjectExtraData@@B @ 13682 NONAME ; struct QMetaObjectExtraData const QGraphicsScale::staticMetaObjectExtraData + ?isItemHiddenOrDisabled@QTreeViewPrivate@@QBE_NH@Z @ 13683 NONAME ; bool QTreeViewPrivate::isItemHiddenOrDisabled(int) const + ??0QRadialGradient@@QAE@ABVQPointF@@M0M@Z @ 13684 NONAME ; QRadialGradient::QRadialGradient(class QPointF const &, float, class QPointF const &, float) + ?qt_static_metacall@QTextEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13685 NONAME ; void QTextEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTapAndHoldGesture@@0UQMetaObjectExtraData@@B @ 13686 NONAME ; struct QMetaObjectExtraData const QTapAndHoldGesture::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QApplication@@0UQMetaObjectExtraData@@B @ 13687 NONAME ; struct QMetaObjectExtraData const QApplication::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsEffectSource@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13688 NONAME ; void QGraphicsEffectSource::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QPushButton@@0UQMetaObjectExtraData@@B @ 13689 NONAME ; struct QMetaObjectExtraData const QPushButton::staticMetaObjectExtraData + ?centerRadius@QRadialGradient@@QBEMXZ @ 13690 NONAME ; float QRadialGradient::centerRadius(void) const + ?qt_static_metacall@QAbstractItemDelegate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13691 NONAME ; void QAbstractItemDelegate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?expandOrCollapseItemAtPos@QTreeViewPrivate@@QAE_NABVQPoint@@@Z @ 13692 NONAME ; bool QTreeViewPrivate::expandOrCollapseItemAtPos(class QPoint const &) + ?paintAlternatingRowColors@QTreeViewPrivate@@QBEXPAVQPainter@@PAVQStyleOptionViewItemV4@@HH@Z @ 13693 NONAME ; void QTreeViewPrivate::paintAlternatingRowColors(class QPainter *, class QStyleOptionViewItemV4 *, int, int) const + ??1QBlittablePixmapData@@UAE@XZ @ 13694 NONAME ; QBlittablePixmapData::~QBlittablePixmapData(void) + ?formatsHelper@QInternalMimeData@@SA?AVQStringList@@PBVQMimeData@@@Z @ 13695 NONAME ; class QStringList QInternalMimeData::formatsHelper(class QMimeData const *) + ?qt_metacast@QInternalMimeData@@UAEPAXPBD@Z @ 13696 NONAME ; void * QInternalMimeData::qt_metacast(char const *) + ?drawPixmapFragments@QPainter@@QAEXPBVQRectF@@0HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 13697 NONAME ; void QPainter::drawPixmapFragments(class QRectF const *, class QRectF const *, int, class QPixmap const &, class QFlags) + ?qt_isExtendedRadialGradient@@YA_NABVQBrush@@@Z @ 13698 NONAME ; bool qt_isExtendedRadialGradient(class QBrush const &) + ?staticMetaObjectExtraData@QStatusBar@@0UQMetaObjectExtraData@@B @ 13699 NONAME ; struct QMetaObjectExtraData const QStatusBar::staticMetaObjectExtraData + ?qt_static_metacall@QScrollArea@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13700 NONAME ; void QScrollArea::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13701 NONAME ; void QWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDial@@0UQMetaObjectExtraData@@B @ 13702 NONAME ; struct QMetaObjectExtraData const QDial::staticMetaObjectExtraData + ?itemDecorationRect@QTreeViewPrivate@@QBE?AVQRect@@ABVQModelIndex@@@Z @ 13703 NONAME ; class QRect QTreeViewPrivate::itemDecorationRect(class QModelIndex const &) const + ?staticMetaObjectExtraData@QItemSelectionModel@@0UQMetaObjectExtraData@@B @ 13704 NONAME ; struct QMetaObjectExtraData const QItemSelectionModel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QFileSystemModel@@0UQMetaObjectExtraData@@B @ 13705 NONAME ; struct QMetaObjectExtraData const QFileSystemModel::staticMetaObjectExtraData + ?setCompressionPolicy@QZipWriter@@QAEXW4CompressionPolicy@1@@Z @ 13706 NONAME ; void QZipWriter::setCompressionPolicy(enum QZipWriter::CompressionPolicy) + ??1QTreeViewPrivate@@UAE@XZ @ 13707 NONAME ; QTreeViewPrivate::~QTreeViewPrivate(void) + ?mapToSource@QIdentityProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13708 NONAME ; class QModelIndex QIdentityProxyModel::mapToSource(class QModelIndex const &) const + ?staticMetaObjectExtraData@QColumnView@@0UQMetaObjectExtraData@@B @ 13709 NONAME ; struct QMetaObjectExtraData const QColumnView::staticMetaObjectExtraData + ?paintEngine@QBlittablePixmapData@@UBEPAVQPaintEngine@@XZ @ 13710 NONAME ; class QPaintEngine * QBlittablePixmapData::paintEngine(void) const + ?qt_static_metacall@QInputContextPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13711 NONAME ; void QInputContextPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?d_func@QIdentityProxyModel@@AAEPAVQIdentityProxyModelPrivate@@XZ @ 13712 NONAME ; class QIdentityProxyModelPrivate * QIdentityProxyModel::d_func(void) + ?qt_static_metacall@QGraphicsColorizeEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13713 NONAME ; void QGraphicsColorizeEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?hasChildren@QAbstractProxyModel@@UBE_NABVQModelIndex@@@Z @ 13714 NONAME ; bool QAbstractProxyModel::hasChildren(class QModelIndex const &) const + ?qt_static_metacall@QPushButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13715 NONAME ; void QPushButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?swap@QPen@@QAEXAAV1@@Z @ 13716 NONAME ; void QPen::swap(class QPen &) + ?span@QAbstractProxyModel@@UBE?AVQSize@@ABVQModelIndex@@@Z @ 13717 NONAME ; class QSize QAbstractProxyModel::span(class QModelIndex const &) const + ?staticMetaObjectExtraData@QSound@@0UQMetaObjectExtraData@@B @ 13718 NONAME ; struct QMetaObjectExtraData const QSound::staticMetaObjectExtraData + ?qt_static_metacall@QDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13719 NONAME ; void QDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QGraphicsItemAnimation@@0UQMetaObjectExtraData@@B @ 13720 NONAME ; struct QMetaObjectExtraData const QGraphicsItemAnimation::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsAnchor@@0UQMetaObjectExtraData@@B @ 13721 NONAME ; struct QMetaObjectExtraData const QGraphicsAnchor::staticMetaObjectExtraData + ?qt_static_metacall@QImageIOPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13722 NONAME ; void QImageIOPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?textureMapForGlyph@QTextureGlyphCache@@QBE?AVQImage@@IUQFixed@@@Z @ 13723 NONAME ; class QImage QTextureGlyphCache::textureMapForGlyph(unsigned int, struct QFixed) const + ?qt_static_metacall@QUndoView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13724 NONAME ; void QUndoView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QIntValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13725 NONAME ; void QIntValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QRegExpValidator@@0UQMetaObjectExtraData@@B @ 13726 NONAME ; struct QMetaObjectExtraData const QRegExpValidator::staticMetaObjectExtraData + ?insertionPointsForLine@QTextEngine@@QAEXHAAV?$QVector@H@@@Z @ 13727 NONAME ; void QTextEngine::insertionPointsForLine(int, class QVector &) + ?staticMetaObjectExtraData@QAbstractSpinBox@@0UQMetaObjectExtraData@@B @ 13728 NONAME ; struct QMetaObjectExtraData const QAbstractSpinBox::staticMetaObjectExtraData + ?qt_metacall@QInternalMimeData@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13729 NONAME ; int QInternalMimeData::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QLCDNumber@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13730 NONAME ; void QLCDNumber::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??1QZipWriter@@QAE@XZ @ 13731 NONAME ; QZipWriter::~QZipWriter(void) ?staticMetaObjectExtraData@QSpinBox@@0UQMetaObjectExtraData@@B @ 13732 NONAME ; struct QMetaObjectExtraData const QSpinBox::staticMetaObjectExtraData - ?qt_static_metacall@QMenu@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13733 NONAME ; void QMenu::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QListWidget@@0UQMetaObjectExtraData@@B @ 13734 NONAME ; struct QMetaObjectExtraData const QListWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTimeEdit@@0UQMetaObjectExtraData@@B @ 13735 NONAME ; struct QMetaObjectExtraData const QTimeEdit::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QMenu@@0UQMetaObjectExtraData@@B @ 13736 NONAME ; struct QMetaObjectExtraData const QMenu::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QFrame@@0UQMetaObjectExtraData@@B @ 13737 NONAME ; struct QMetaObjectExtraData const QFrame::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDirModel@@0UQMetaObjectExtraData@@B @ 13738 NONAME ; struct QMetaObjectExtraData const QDirModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractSpinBox@@0UQMetaObjectExtraData@@B @ 13739 NONAME ; struct QMetaObjectExtraData const QAbstractSpinBox::staticMetaObjectExtraData - ?qt_static_metacall@QProxyStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13740 NONAME ; void QProxyStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QDateTimeEdit@@0UQMetaObjectExtraData@@B @ 13741 NONAME ; struct QMetaObjectExtraData const QDateTimeEdit::staticMetaObjectExtraData - ?qt_static_metacall@QStyledItemDelegate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13742 NONAME ; void QStyledItemDelegate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QListView@@0UQMetaObjectExtraData@@B @ 13743 NONAME ; struct QMetaObjectExtraData const QListView::staticMetaObjectExtraData - ?qt_static_metacall@QFrame@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13744 NONAME ; void QFrame::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QHeaderView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13745 NONAME ; void QHeaderView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?exists@QZipWriter@@QBE_NXZ @ 13746 NONAME ; bool QZipWriter::exists(void) const - ?qt_static_metacall@QSyntaxHighlighter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13747 NONAME ; void QSyntaxHighlighter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QScroller@@0UQMetaObjectExtraData@@B @ 13748 NONAME ABSENT ; struct QMetaObjectExtraData const QScroller::staticMetaObjectExtraData - ?qt_static_metacall@QTextFrame@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13749 NONAME ; void QTextFrame::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDirModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13750 NONAME ; void QDirModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QScrollBar@@0UQMetaObjectExtraData@@B @ 13751 NONAME ; struct QMetaObjectExtraData const QScrollBar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QMovie@@0UQMetaObjectExtraData@@B @ 13752 NONAME ; struct QMetaObjectExtraData const QMovie::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsDropShadowEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13753 NONAME ; void QGraphicsDropShadowEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSound@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13754 NONAME ; void QSound::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTextBrowser@@0UQMetaObjectExtraData@@B @ 13755 NONAME ; struct QMetaObjectExtraData const QTextBrowser::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QHeaderView@@0UQMetaObjectExtraData@@B @ 13756 NONAME ; struct QMetaObjectExtraData const QHeaderView::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPixmapBlurFilter@@0UQMetaObjectExtraData@@B @ 13757 NONAME ; struct QMetaObjectExtraData const QPixmapBlurFilter::staticMetaObjectExtraData - ?qt_static_metacall@QUndoStack@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13758 NONAME ; void QUndoStack::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsAnchor@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13759 NONAME ; void QGraphicsAnchor::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QPanGesture@@0UQMetaObjectExtraData@@B @ 13760 NONAME ; struct QMetaObjectExtraData const QPanGesture::staticMetaObjectExtraData - ?qt_static_metacall@QDataWidgetMapper@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13761 NONAME ; void QDataWidgetMapper::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTextBlockGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13762 NONAME ; void QTextBlockGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QStringListModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13763 NONAME ; void QStringListModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsTextItem@@0UQMetaObjectExtraData@@B @ 13764 NONAME ; struct QMetaObjectExtraData const QGraphicsTextItem::staticMetaObjectExtraData - ?qt_static_metacall@QTimeEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13765 NONAME ; void QTimeEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QToolBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13766 NONAME ; void QToolBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QCheckBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13767 NONAME ; void QCheckBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFontComboBox@@0UQMetaObjectExtraData@@B @ 13768 NONAME ; struct QMetaObjectExtraData const QFontComboBox::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDesktopWidget@@0UQMetaObjectExtraData@@B @ 13769 NONAME ; struct QMetaObjectExtraData const QDesktopWidget::staticMetaObjectExtraData - ?qt_static_metacall@QSwipeGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13770 NONAME ; void QSwipeGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFormLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13771 NONAME ; void QFormLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13772 NONAME ; void QAbstractButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QClipboard@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13773 NONAME ; void QClipboard::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QWidgetResizeHandler@@0UQMetaObjectExtraData@@B @ 13774 NONAME ; struct QMetaObjectExtraData const QWidgetResizeHandler::staticMetaObjectExtraData - ?qt_static_metacall@QIconEnginePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13775 NONAME ; void QIconEnginePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTreeWidget@@0UQMetaObjectExtraData@@B @ 13776 NONAME ; struct QMetaObjectExtraData const QTreeWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QFileSystemModel@@0UQMetaObjectExtraData@@B @ 13777 NONAME ; struct QMetaObjectExtraData const QFileSystemModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsDropShadowEffect@@0UQMetaObjectExtraData@@B @ 13778 NONAME ; struct QMetaObjectExtraData const QGraphicsDropShadowEffect::staticMetaObjectExtraData - ?qt_static_metacall@QPushButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13779 NONAME ; void QPushButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QClipboard@@0UQMetaObjectExtraData@@B @ 13780 NONAME ; struct QMetaObjectExtraData const QClipboard::staticMetaObjectExtraData - ?qt_static_metacall@QHBoxLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13781 NONAME ; void QHBoxLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QKeyEventTransition@@0UQMetaObjectExtraData@@B @ 13782 NONAME ; struct QMetaObjectExtraData const QKeyEventTransition::staticMetaObjectExtraData - ?qt_static_metacall@QWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13783 NONAME ; void QWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QListView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13784 NONAME ; void QListView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?status@QZipWriter@@QBE?AW4Status@1@XZ @ 13785 NONAME ; enum QZipWriter::Status QZipWriter::status(void) const - ?qt_static_metacall@QProgressBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13786 NONAME ; void QProgressBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QMouseEventTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13787 NONAME ; void QMouseEventTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTextBrowser@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13788 NONAME ; void QTextBrowser::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QMessageBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13789 NONAME ; void QMessageBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QPaintBufferSignalProxy@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13790 NONAME ; void QPaintBufferSignalProxy::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QWizardPage@@0UQMetaObjectExtraData@@B @ 13791 NONAME ; struct QMetaObjectExtraData const QWizardPage::staticMetaObjectExtraData - ?qt_static_metacall@QMdiSubWindow@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13792 NONAME ; void QMdiSubWindow::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFocusFrame@@0UQMetaObjectExtraData@@B @ 13793 NONAME ; struct QMetaObjectExtraData const QFocusFrame::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDockWidget@@0UQMetaObjectExtraData@@B @ 13794 NONAME ; struct QMetaObjectExtraData const QDockWidget::staticMetaObjectExtraData - ?qt_static_metacall@QShortcut@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13795 NONAME ; void QShortcut::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTextDocument@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13796 NONAME ; void QTextDocument::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFileSystemModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13797 NONAME ; void QFileSystemModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QCompleter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13798 NONAME ; void QCompleter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QIntValidator@@0UQMetaObjectExtraData@@B @ 13799 NONAME ; struct QMetaObjectExtraData const QIntValidator::staticMetaObjectExtraData - ?qt_static_metacall@QDrag@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13800 NONAME ; void QDrag::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QRegExpValidator@@0UQMetaObjectExtraData@@B @ 13801 NONAME ; struct QMetaObjectExtraData const QRegExpValidator::staticMetaObjectExtraData - ?qt_static_metacall@QTabWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13802 NONAME ; void QTabWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QButtonGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13803 NONAME ; void QButtonGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAction@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13804 NONAME ; void QAction::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QPixmapConvolutionFilter@@0UQMetaObjectExtraData@@B @ 13805 NONAME ; struct QMetaObjectExtraData const QPixmapConvolutionFilter::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QIconEnginePluginV2@@0UQMetaObjectExtraData@@B @ 13806 NONAME ; struct QMetaObjectExtraData const QIconEnginePluginV2::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QLabel@@0UQMetaObjectExtraData@@B @ 13807 NONAME ; struct QMetaObjectExtraData const QLabel::staticMetaObjectExtraData - ?qt_static_metacall@QInputDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13808 NONAME ; void QInputDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QMdiArea@@0UQMetaObjectExtraData@@B @ 13809 NONAME ; struct QMetaObjectExtraData const QMdiArea::staticMetaObjectExtraData - ?qt_static_metacall@QRadioButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13810 NONAME ; void QRadioButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QS60Style@@0UQMetaObjectExtraData@@B @ 13811 NONAME ; struct QMetaObjectExtraData const QS60Style::staticMetaObjectExtraData - ?qt_static_metacall@QToolBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13812 NONAME ; void QToolBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDateEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13813 NONAME ; void QDateEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractScrollArea@@0UQMetaObjectExtraData@@B @ 13814 NONAME ; struct QMetaObjectExtraData const QAbstractScrollArea::staticMetaObjectExtraData - ?qt_static_metacall@QGroupBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13815 NONAME ; void QGroupBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?isWritable@QZipWriter@@QBE_NXZ @ 13816 NONAME ; bool QZipWriter::isWritable(void) const - ?qt_static_metacall@QToolButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13817 NONAME ; void QToolButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsRotation@@0UQMetaObjectExtraData@@B @ 13818 NONAME ; struct QMetaObjectExtraData const QGraphicsRotation::staticMetaObjectExtraData - ?qt_static_metacall@QDateTimeEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13819 NONAME ; void QDateTimeEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QPlainTextDocumentLayout@@0UQMetaObjectExtraData@@B @ 13820 NONAME ; struct QMetaObjectExtraData const QPlainTextDocumentLayout::staticMetaObjectExtraData - ?addFile@QZipWriter@@QAEXABVQString@@ABVQByteArray@@@Z @ 13821 NONAME ; void QZipWriter::addFile(class QString const &, class QByteArray const &) - ?staticMetaObjectExtraData@QComboBox@@0UQMetaObjectExtraData@@B @ 13822 NONAME ; struct QMetaObjectExtraData const QComboBox::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsColorizeEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13823 NONAME ; void QGraphicsColorizeEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QPixmapDropShadowFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13824 NONAME ; void QPixmapDropShadowFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractTextDocumentLayout@@0UQMetaObjectExtraData@@B @ 13825 NONAME ; struct QMetaObjectExtraData const QAbstractTextDocumentLayout::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QCheckBox@@0UQMetaObjectExtraData@@B @ 13826 NONAME ; struct QMetaObjectExtraData const QCheckBox::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QCalendarWidget@@0UQMetaObjectExtraData@@B @ 13827 NONAME ; struct QMetaObjectExtraData const QCalendarWidget::staticMetaObjectExtraData - ?qt_static_metacall@QWidgetAction@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13828 NONAME ; void QWidgetAction::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?device@QZipWriter@@QBEPAVQIODevice@@XZ @ 13829 NONAME ; class QIODevice * QZipWriter::device(void) const - ?staticMetaObjectExtraData@QBoxLayout@@0UQMetaObjectExtraData@@B @ 13830 NONAME ; struct QMetaObjectExtraData const QBoxLayout::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QRadioButton@@0UQMetaObjectExtraData@@B @ 13831 NONAME ; struct QMetaObjectExtraData const QRadioButton::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGridLayout@@0UQMetaObjectExtraData@@B @ 13832 NONAME ; struct QMetaObjectExtraData const QGridLayout::staticMetaObjectExtraData - ?qt_static_metacall@QDoubleValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13833 NONAME ; void QDoubleValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QKeyEventTransition@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13834 NONAME ; void QKeyEventTransition::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QMainWindow@@0UQMetaObjectExtraData@@B @ 13835 NONAME ; struct QMetaObjectExtraData const QMainWindow::staticMetaObjectExtraData - ?qt_static_metacall@QTextTable@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13836 NONAME ; void QTextTable::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsView@@0UQMetaObjectExtraData@@B @ 13837 NONAME ; struct QMetaObjectExtraData const QGraphicsView::staticMetaObjectExtraData - ?qt_static_metacall@QErrorMessage@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13838 NONAME ; void QErrorMessage::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QToolBox@@0UQMetaObjectExtraData@@B @ 13839 NONAME ; struct QMetaObjectExtraData const QToolBox::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTreeView@@0UQMetaObjectExtraData@@B @ 13840 NONAME ; struct QMetaObjectExtraData const QTreeView::staticMetaObjectExtraData - ?qt_static_metacall@QSlider@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13841 NONAME ; void QSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QStringListModel@@0UQMetaObjectExtraData@@B @ 13842 NONAME ; struct QMetaObjectExtraData const QStringListModel::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QProgressBar@@0UQMetaObjectExtraData@@B @ 13843 NONAME ; struct QMetaObjectExtraData const QProgressBar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTextList@@0UQMetaObjectExtraData@@B @ 13844 NONAME ; struct QMetaObjectExtraData const QTextList::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsTransform@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13845 NONAME ; void QGraphicsTransform::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFormLayout@@0UQMetaObjectExtraData@@B @ 13846 NONAME ; struct QMetaObjectExtraData const QFormLayout::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGesture@@0UQMetaObjectExtraData@@B @ 13847 NONAME ; struct QMetaObjectExtraData const QGesture::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsAnchor@@0UQMetaObjectExtraData@@B @ 13848 NONAME ; struct QMetaObjectExtraData const QGraphicsAnchor::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTextObject@@0UQMetaObjectExtraData@@B @ 13849 NONAME ; struct QMetaObjectExtraData const QTextObject::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13850 NONAME ; void QGraphicsView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsOpacityEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13851 NONAME ; void QGraphicsOpacityEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractSlider@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13852 NONAME ; void QAbstractSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QTreeWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13853 NONAME ; void QTreeWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractItemDelegate@@0UQMetaObjectExtraData@@B @ 13854 NONAME ; struct QMetaObjectExtraData const QAbstractItemDelegate::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QStatusBar@@0UQMetaObjectExtraData@@B @ 13855 NONAME ; struct QMetaObjectExtraData const QStatusBar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QActionGroup@@0UQMetaObjectExtraData@@B @ 13856 NONAME ; struct QMetaObjectExtraData const QActionGroup::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDataWidgetMapper@@0UQMetaObjectExtraData@@B @ 13857 NONAME ; struct QMetaObjectExtraData const QDataWidgetMapper::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDial@@0UQMetaObjectExtraData@@B @ 13858 NONAME ; struct QMetaObjectExtraData const QDial::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QMdiSubWindow@@0UQMetaObjectExtraData@@B @ 13859 NONAME ; struct QMetaObjectExtraData const QMdiSubWindow::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsEffect@@0UQMetaObjectExtraData@@B @ 13860 NONAME ; struct QMetaObjectExtraData const QGraphicsEffect::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPictureFormatPlugin@@0UQMetaObjectExtraData@@B @ 13861 NONAME ; struct QMetaObjectExtraData const QPictureFormatPlugin::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsScale@@0UQMetaObjectExtraData@@B @ 13862 NONAME ; struct QMetaObjectExtraData const QGraphicsScale::staticMetaObjectExtraData - ?qt_static_metacall@QStandardItemModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13863 NONAME ; void QStandardItemModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDockWidgetLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13864 NONAME ; void QDockWidgetLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QPinchGesture@@0UQMetaObjectExtraData@@B @ 13865 NONAME ; struct QMetaObjectExtraData const QPinchGesture::staticMetaObjectExtraData - ?qt_static_metacall@QLabel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13866 NONAME ; void QLabel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTableWidget@@0UQMetaObjectExtraData@@B @ 13867 NONAME ; struct QMetaObjectExtraData const QTableWidget::staticMetaObjectExtraData - ?close@QZipWriter@@QAEXXZ @ 13868 NONAME ; void QZipWriter::close(void) - ?qt_static_metacall@QStatusBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13869 NONAME ; void QStatusBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QCommandLinkButton@@0UQMetaObjectExtraData@@B @ 13870 NONAME ; struct QMetaObjectExtraData const QCommandLinkButton::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPushButton@@0UQMetaObjectExtraData@@B @ 13871 NONAME ; struct QMetaObjectExtraData const QPushButton::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QWidgetAction@@0UQMetaObjectExtraData@@B @ 13872 NONAME ; struct QMetaObjectExtraData const QWidgetAction::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QDoubleSpinBox@@0UQMetaObjectExtraData@@B @ 13873 NONAME ; struct QMetaObjectExtraData const QDoubleSpinBox::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTextTable@@0UQMetaObjectExtraData@@B @ 13874 NONAME ; struct QMetaObjectExtraData const QTextTable::staticMetaObjectExtraData - ?qt_static_metacall@QSplashScreen@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13875 NONAME ; void QSplashScreen::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QStackedLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13876 NONAME ; void QStackedLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QCompleter@@0UQMetaObjectExtraData@@B @ 13877 NONAME ; struct QMetaObjectExtraData const QCompleter::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractScrollArea@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13878 NONAME ; void QAbstractScrollArea::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDesktopWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13879 NONAME ; void QDesktopWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractSpinBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13880 NONAME ; void QAbstractSpinBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsEffectSource@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13881 NONAME ; void QGraphicsEffectSource::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?addSymLink@QZipWriter@@QAEXABVQString@@0@Z @ 13882 NONAME ; void QZipWriter::addSymLink(class QString const &, class QString const &) - ?staticMetaObjectExtraData@QGraphicsEffectSource@@0UQMetaObjectExtraData@@B @ 13883 NONAME ; struct QMetaObjectExtraData const QGraphicsEffectSource::staticMetaObjectExtraData - ?qt_static_metacall@QScroller@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13884 NONAME ABSENT ; void QScroller::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QStyle@@0UQMetaObjectExtraData@@B @ 13885 NONAME ; struct QMetaObjectExtraData const QStyle::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTabWidget@@0UQMetaObjectExtraData@@B @ 13886 NONAME ; struct QMetaObjectExtraData const QTabWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QPixmapFilter@@0UQMetaObjectExtraData@@B @ 13887 NONAME ; struct QMetaObjectExtraData const QPixmapFilter::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsOpacityEffect@@0UQMetaObjectExtraData@@B @ 13888 NONAME ; struct QMetaObjectExtraData const QGraphicsOpacityEffect::staticMetaObjectExtraData - ?qt_static_metacall@QBoxLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13889 NONAME ; void QBoxLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractTextDocumentLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13890 NONAME ; void QAbstractTextDocumentLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsSystemPlugin@@0UQMetaObjectExtraData@@B @ 13891 NONAME ; struct QMetaObjectExtraData const QGraphicsSystemPlugin::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QMouseEventTransition@@0UQMetaObjectExtraData@@B @ 13892 NONAME ; struct QMetaObjectExtraData const QMouseEventTransition::staticMetaObjectExtraData - ?qt_static_metacall@QTabBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13893 NONAME ; void QTabBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?compressionPolicy@QZipWriter@@QBE?AW4CompressionPolicy@1@XZ @ 13894 NONAME ; enum QZipWriter::CompressionPolicy QZipWriter::compressionPolicy(void) const - ?qt_static_metacall@QWindowsStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13895 NONAME ; void QWindowsStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QUndoGroup@@0UQMetaObjectExtraData@@B @ 13896 NONAME ; struct QMetaObjectExtraData const QUndoGroup::staticMetaObjectExtraData - ?qt_static_metacall@QStackedWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13897 NONAME ; void QStackedWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QColorDialog@@0UQMetaObjectExtraData@@B @ 13898 NONAME ; struct QMetaObjectExtraData const QColorDialog::staticMetaObjectExtraData - ?qt_static_metacall@QMdiArea@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13899 NONAME ; void QMdiArea::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsScene@@0UQMetaObjectExtraData@@B @ 13900 NONAME ; struct QMetaObjectExtraData const QGraphicsScene::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGroupBox@@0UQMetaObjectExtraData@@B @ 13901 NONAME ; struct QMetaObjectExtraData const QGroupBox::staticMetaObjectExtraData - ?qt_static_metacall@QInternalMimeData@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13902 NONAME ; void QInternalMimeData::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractSlider@@0UQMetaObjectExtraData@@B @ 13903 NONAME ; struct QMetaObjectExtraData const QAbstractSlider::staticMetaObjectExtraData - ?qt_static_metacall@QTapAndHoldGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13904 NONAME ; void QTapAndHoldGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFocusFrame@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13905 NONAME ; void QFocusFrame::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QHBoxLayout@@0UQMetaObjectExtraData@@B @ 13906 NONAME ; struct QMetaObjectExtraData const QHBoxLayout::staticMetaObjectExtraData - ?qt_static_metacall@QSessionManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13907 NONAME ; void QSessionManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSyntaxHighlighter@@0UQMetaObjectExtraData@@B @ 13908 NONAME ; struct QMetaObjectExtraData const QSyntaxHighlighter::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QLineEdit@@0UQMetaObjectExtraData@@B @ 13909 NONAME ; struct QMetaObjectExtraData const QLineEdit::staticMetaObjectExtraData - ?qt_static_metacall@QWizardPage@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13910 NONAME ; void QWizardPage::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QColorDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13911 NONAME ; void QColorDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QInputDialog@@0UQMetaObjectExtraData@@B @ 13912 NONAME ; struct QMetaObjectExtraData const QInputDialog::staticMetaObjectExtraData - ?qt_static_metacall@QPixmapColorizeFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13913 NONAME ; void QPixmapColorizeFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QListWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13914 NONAME ; void QListWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13915 NONAME ; void QAbstractProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QVBoxLayout@@0UQMetaObjectExtraData@@B @ 13916 NONAME ; struct QMetaObjectExtraData const QVBoxLayout::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractItemDelegate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13917 NONAME ; void QAbstractItemDelegate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QCommonStyle@@0UQMetaObjectExtraData@@B @ 13918 NONAME ; struct QMetaObjectExtraData const QCommonStyle::staticMetaObjectExtraData - ?qt_static_metacall@QPixmapFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13919 NONAME ; void QPixmapFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QLayout@@0UQMetaObjectExtraData@@B @ 13920 NONAME ; struct QMetaObjectExtraData const QLayout::staticMetaObjectExtraData - ?qt_static_metacall@QLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13921 NONAME ; void QLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QWindowsStyle@@0UQMetaObjectExtraData@@B @ 13922 NONAME ; struct QMetaObjectExtraData const QWindowsStyle::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QStackedWidget@@0UQMetaObjectExtraData@@B @ 13923 NONAME ; struct QMetaObjectExtraData const QStackedWidget::staticMetaObjectExtraData - ?qt_static_metacall@QGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13924 NONAME ; void QGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QMovie@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13925 NONAME ; void QMovie::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QPixmapColorizeFilter@@0UQMetaObjectExtraData@@B @ 13926 NONAME ; struct QMetaObjectExtraData const QPixmapColorizeFilter::staticMetaObjectExtraData - ?qt_static_metacall@QTableWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13927 NONAME ; void QTableWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QRubberBand@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13928 NONAME ; void QRubberBand::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QPlainTextEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13929 NONAME ; void QPlainTextEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractButton@@0UQMetaObjectExtraData@@B @ 13930 NONAME ; struct QMetaObjectExtraData const QAbstractButton::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QInternalMimeData@@0UQMetaObjectExtraData@@B @ 13931 NONAME ; struct QMetaObjectExtraData const QInternalMimeData::staticMetaObjectExtraData - ??1QZipWriter@@QAE@XZ @ 13932 NONAME ; QZipWriter::~QZipWriter(void) - ?staticMetaObjectExtraData@QDialogButtonBox@@0UQMetaObjectExtraData@@B @ 13933 NONAME ; struct QMetaObjectExtraData const QDialogButtonBox::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QUndoView@@0UQMetaObjectExtraData@@B @ 13934 NONAME ; struct QMetaObjectExtraData const QUndoView::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsTextItem@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13935 NONAME ; void QGraphicsTextItem::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?setCreationPermissions@QZipWriter@@QAEXV?$QFlags@W4Permission@QFile@@@@@Z @ 13936 NONAME ; void QZipWriter::setCreationPermissions(class QFlags) - ?staticMetaObjectExtraData@QInputContext@@0UQMetaObjectExtraData@@B @ 13937 NONAME ; struct QMetaObjectExtraData const QInputContext::staticMetaObjectExtraData - ?qt_static_metacall@QInputContext@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13938 NONAME ; void QInputContext::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QEventDispatcherS60@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13939 NONAME ; void QEventDispatcherS60::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QFileDialog@@0UQMetaObjectExtraData@@B @ 13940 NONAME ; struct QMetaObjectExtraData const QFileDialog::staticMetaObjectExtraData - ?qt_static_metacall@QUndoGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13941 NONAME ; void QUndoGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QDialogButtonBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13942 NONAME ; void QDialogButtonBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QImageIOPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13943 NONAME ; void QImageIOPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QLCDNumber@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13944 NONAME ; void QLCDNumber::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFontDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13945 NONAME ; void QFontDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QMainWindow@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13946 NONAME ; void QMainWindow::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QRegExpValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13947 NONAME ; void QRegExpValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSplitterHandle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13948 NONAME ; void QSplitterHandle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGraphicsEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13949 NONAME ; void QGraphicsEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTapGesture@@0UQMetaObjectExtraData@@B @ 13950 NONAME ; struct QMetaObjectExtraData const QTapGesture::staticMetaObjectExtraData - ?qt_static_metacall@QItemDelegate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13951 NONAME ; void QItemDelegate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QWorkspace@@0UQMetaObjectExtraData@@B @ 13952 NONAME ; struct QMetaObjectExtraData const QWorkspace::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSessionManager@@0UQMetaObjectExtraData@@B @ 13953 NONAME ; struct QMetaObjectExtraData const QSessionManager::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsItemAnimation@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13954 NONAME ; void QGraphicsItemAnimation::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?setCursorMoveStyle@QLineControl@@QAEXW4MoveStyle@QTextCursor@@@Z @ 13955 NONAME ABSENT ; void QLineControl::setCursorMoveStyle(enum QTextCursor::MoveStyle) - ?staticMetaObjectExtraData@QIdentityProxyModel@@0UQMetaObjectExtraData@@B @ 13956 NONAME ; struct QMetaObjectExtraData const QIdentityProxyModel::staticMetaObjectExtraData - ?defaultCursorMoveStyle@QTextDocument@@QBE?AW4MoveStyle@QTextCursor@@XZ @ 13957 NONAME ABSENT ; enum QTextCursor::MoveStyle QTextDocument::defaultCursorMoveStyle(void) const - ?offsetInLigature@QTextEngine@@QAE?AUQFixed@@PBUQScriptItem@@HHH@Z @ 13958 NONAME ; struct QFixed QTextEngine::offsetInLigature(struct QScriptItem const *, int, int, int) - ?qt_metacall@QIdentityProxyModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13959 NONAME ; int QIdentityProxyModel::qt_metacall(enum QMetaObject::Call, int, void * *) - ?mapSelectionFromSource@QIdentityProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 13960 NONAME ; class QItemSelection QIdentityProxyModel::mapSelectionFromSource(class QItemSelection const &) const - ?qt_static_metacall@QIdentityProxyModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13961 NONAME ; void QIdentityProxyModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?mapSelectionToSource@QIdentityProxyModel@@UBE?AVQItemSelection@@ABV2@@Z @ 13962 NONAME ; class QItemSelection QIdentityProxyModel::mapSelectionToSource(class QItemSelection const &) const - ??1QIdentityProxyModel@@UAE@XZ @ 13963 NONAME ; QIdentityProxyModel::~QIdentityProxyModel(void) - ??_EQIdentityProxyModel@@UAE@I@Z @ 13964 NONAME ; QIdentityProxyModel::~QIdentityProxyModel(unsigned int) - ?removeRows@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13965 NONAME ; bool QIdentityProxyModel::removeRows(int, int, class QModelIndex const &) - ?previousLogicalPosition@QTextEngine@@QBEHH@Z @ 13966 NONAME ; int QTextEngine::previousLogicalPosition(int) const - ?metaObject@QIdentityProxyModel@@UBEPBUQMetaObject@@XZ @ 13967 NONAME ; struct QMetaObject const * QIdentityProxyModel::metaObject(void) const - ?cursorMoveStyle@QLineControl@@QBE?AW4MoveStyle@QTextCursor@@XZ @ 13968 NONAME ABSENT ; enum QTextCursor::MoveStyle QLineControl::cursorMoveStyle(void) const - ?removeColumns@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13969 NONAME ; bool QIdentityProxyModel::removeColumns(int, int, class QModelIndex const &) - ?alignLine@QTextEngine@@QAE?AUQFixed@@ABUQScriptLine@@@Z @ 13970 NONAME ; struct QFixed QTextEngine::alignLine(struct QScriptLine const &) - png_set_chunk_cache_max @ 13971 NONAME - ?parent@QIdentityProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13972 NONAME ; class QModelIndex QIdentityProxyModel::parent(class QModelIndex const &) const - ?insertColumns@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13973 NONAME ; bool QIdentityProxyModel::insertColumns(int, int, class QModelIndex const &) - ?dropMimeData@QIdentityProxyModel@@UAE_NPBVQMimeData@@W4DropAction@Qt@@HHABVQModelIndex@@@Z @ 13974 NONAME ; bool QIdentityProxyModel::dropMimeData(class QMimeData const *, enum Qt::DropAction, int, int, class QModelIndex const &) - ?visualCursorMovement@QTextEngine@@QBE_NXZ @ 13975 NONAME ; bool QTextEngine::visualCursorMovement(void) const - ??0QRadialGradient@@QAE@MMMMMM@Z @ 13976 NONAME ; QRadialGradient::QRadialGradient(float, float, float, float, float, float) - ?setSourceModel@QIdentityProxyModel@@UAEXPAVQAbstractItemModel@@@Z @ 13977 NONAME ; void QIdentityProxyModel::setSourceModel(class QAbstractItemModel *) - ?getStaticMetaObject@QIdentityProxyModel@@SAABUQMetaObject@@XZ @ 13978 NONAME ; struct QMetaObject const & QIdentityProxyModel::getStaticMetaObject(void) - ?index@QIdentityProxyModel@@UBE?AVQModelIndex@@HHABV2@@Z @ 13979 NONAME ; class QModelIndex QIdentityProxyModel::index(int, int, class QModelIndex const &) const - png_set_background_fixed @ 13980 NONAME - png_access_version_number @ 13981 NONAME - ?insertRows@QIdentityProxyModel@@UAE_NHHABVQModelIndex@@@Z @ 13982 NONAME ; bool QIdentityProxyModel::insertRows(int, int, class QModelIndex const &) - ?positionAfterVisualMovement@QTextEngine@@QAEHHW4MoveOperation@QTextCursor@@@Z @ 13983 NONAME ; int QTextEngine::positionAfterVisualMovement(int, enum QTextCursor::MoveOperation) - ?setCenterRadius@QRadialGradient@@QAEXM@Z @ 13984 NONAME ; void QRadialGradient::setCenterRadius(float) - ?leftCursorPosition@QTextLayout@@QBEHH@Z @ 13985 NONAME ; int QTextLayout::leftCursorPosition(int) const - ?focalRadius@QRadialGradient@@QBEMXZ @ 13986 NONAME ; float QRadialGradient::focalRadius(void) const - ?qt_metacast@QIdentityProxyModel@@UAEPAXPBD@Z @ 13987 NONAME ; void * QIdentityProxyModel::qt_metacast(char const *) - png_get_io_state @ 13988 NONAME - ??0QRadialGradient@@QAE@ABVQPointF@@M0M@Z @ 13989 NONAME ; QRadialGradient::QRadialGradient(class QPointF const &, float, class QPointF const &, float) - ?centerRadius@QRadialGradient@@QBEMXZ @ 13990 NONAME ; float QRadialGradient::centerRadius(void) const - ?qt_isExtendedRadialGradient@@YA_NABVQBrush@@@Z @ 13991 NONAME ; bool qt_isExtendedRadialGradient(class QBrush const &) - ?mapToSource@QIdentityProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13992 NONAME ; class QModelIndex QIdentityProxyModel::mapToSource(class QModelIndex const &) const - ?d_func@QIdentityProxyModel@@AAEPAVQIdentityProxyModelPrivate@@XZ @ 13993 NONAME ; class QIdentityProxyModelPrivate * QIdentityProxyModel::d_func(void) - ?insertionPointsForLine@QTextEngine@@QAEXHAAV?$QVector@H@@@Z @ 13994 NONAME ; void QTextEngine::insertionPointsForLine(int, class QVector &) - ?cloneWithSize@QFontEngine@@UBEPAV1@M@Z @ 13995 NONAME ; class QFontEngine * QFontEngine::cloneWithSize(float) const - ?setCursorMoveStyle@QLineEdit@@QAEXW4MoveStyle@QTextCursor@@@Z @ 13996 NONAME ABSENT ; void QLineEdit::setCursorMoveStyle(enum QTextCursor::MoveStyle) - ??0QIdentityProxyModel@@IAE@AAVQIdentityProxyModelPrivate@@PAVQObject@@@Z @ 13997 NONAME ; QIdentityProxyModel::QIdentityProxyModel(class QIdentityProxyModelPrivate &, class QObject *) - ?lineNumberForTextPosition@QTextEngine@@QAEHH@Z @ 13998 NONAME ; int QTextEngine::lineNumberForTextPosition(int) - png_set_benign_errors @ 13999 NONAME - ?beginningOfLine@QTextEngine@@AAEHH@Z @ 14000 NONAME ; int QTextEngine::beginningOfLine(int) - ??0QIdentityProxyModel@@QAE@PAVQObject@@@Z @ 14001 NONAME ; QIdentityProxyModel::QIdentityProxyModel(class QObject *) - ?rightCursorPosition@QTextLayout@@QBEHH@Z @ 14002 NONAME ; int QTextLayout::rightCursorPosition(int) const - ?d_func@QIdentityProxyModel@@ABEPBVQIdentityProxyModelPrivate@@XZ @ 14003 NONAME ; class QIdentityProxyModelPrivate const * QIdentityProxyModel::d_func(void) const - ?columnCount@QIdentityProxyModel@@UBEHABVQModelIndex@@@Z @ 14004 NONAME ; int QIdentityProxyModel::columnCount(class QModelIndex const &) const - ?cursorMoveStyle@QLineEdit@@QBE?AW4MoveStyle@QTextCursor@@XZ @ 14005 NONAME ABSENT ; enum QTextCursor::MoveStyle QLineEdit::cursorMoveStyle(void) const - ?trUtf8@QIdentityProxyModel@@SA?AVQString@@PBD0H@Z @ 14006 NONAME ; class QString QIdentityProxyModel::trUtf8(char const *, char const *, int) - ?setDefaultCursorMoveStyle@QTextDocument@@QAEXW4MoveStyle@QTextCursor@@@Z @ 14007 NONAME ABSENT ; void QTextDocument::setDefaultCursorMoveStyle(enum QTextCursor::MoveStyle) - ?actionText@QUndoCommand@@QBE?AVQString@@XZ @ 14008 NONAME ; class QString QUndoCommand::actionText(void) const - ?tr@QIdentityProxyModel@@SA?AVQString@@PBD0H@Z @ 14009 NONAME ; class QString QIdentityProxyModel::tr(char const *, char const *, int) - ?mapFromSource@QIdentityProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 14010 NONAME ; class QModelIndex QIdentityProxyModel::mapFromSource(class QModelIndex const &) const - ?nextLogicalPosition@QTextEngine@@QBEHH@Z @ 14011 NONAME ; int QTextEngine::nextLogicalPosition(int) const - ?setCursorMoveStyle@QTextLayout@@QAEXW4MoveStyle@QTextCursor@@@Z @ 14012 NONAME ABSENT ; void QTextLayout::setCursorMoveStyle(enum QTextCursor::MoveStyle) - ?doItemsLayout@QTableView@@UAEXXZ @ 14013 NONAME ; void QTableView::doItemsLayout(void) - ?setFocalRadius@QRadialGradient@@QAEXM@Z @ 14014 NONAME ; void QRadialGradient::setFocalRadius(float) - ?qt_painterPathFromVectorPath@@YA?AVQPainterPath@@ABVQVectorPath@@@Z @ 14015 NONAME ; class QPainterPath qt_painterPathFromVectorPath(class QVectorPath const &) - ?tr@QIdentityProxyModel@@SA?AVQString@@PBD0@Z @ 14016 NONAME ; class QString QIdentityProxyModel::tr(char const *, char const *) - ?match@QIdentityProxyModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 14017 NONAME ; class QList QIdentityProxyModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags) const - ?staticMetaObject@QIdentityProxyModel@@2UQMetaObject@@B @ 14018 NONAME ; struct QMetaObject const QIdentityProxyModel::staticMetaObject - ?rowCount@QIdentityProxyModel@@UBEHABVQModelIndex@@@Z @ 14019 NONAME ; int QIdentityProxyModel::rowCount(class QModelIndex const &) const - ?trUtf8@QIdentityProxyModel@@SA?AVQString@@PBD0@Z @ 14020 NONAME ; class QString QIdentityProxyModel::trUtf8(char const *, char const *) - ?cursorMoveStyle@QTextLayout@@QBE?AW4MoveStyle@QTextCursor@@XZ @ 14021 NONAME ABSENT ; enum QTextCursor::MoveStyle QTextLayout::cursorMoveStyle(void) const - ?endOfLine@QTextEngine@@AAEHH@Z @ 14022 NONAME ; int QTextEngine::endOfLine(int) - ?setCursorMoveStyle@QTextLayout@@QAEXW4CursorMoveStyle@Qt@@@Z @ 14023 NONAME ; void QTextLayout::setCursorMoveStyle(enum Qt::CursorMoveStyle) - ?defaultCursorMoveStyle@QTextDocument@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 14024 NONAME ; enum Qt::CursorMoveStyle QTextDocument::defaultCursorMoveStyle(void) const - ?cursorMoveStyle@QTextLayout@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 14025 NONAME ; enum Qt::CursorMoveStyle QTextLayout::cursorMoveStyle(void) const - ?setDefaultCursorMoveStyle@QTextDocument@@QAEXW4CursorMoveStyle@Qt@@@Z @ 14026 NONAME ; void QTextDocument::setDefaultCursorMoveStyle(enum Qt::CursorMoveStyle) - ?setCursorMoveStyle@QLineControl@@QAEXW4CursorMoveStyle@Qt@@@Z @ 14027 NONAME ; void QLineControl::setCursorMoveStyle(enum Qt::CursorMoveStyle) - ?cursorMoveStyle@QLineEdit@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 14028 NONAME ; enum Qt::CursorMoveStyle QLineEdit::cursorMoveStyle(void) const - png_get_signature @ 14029 NONAME - png_malloc @ 14030 NONAME - ?setCursorMoveStyle@QLineEdit@@QAEXW4CursorMoveStyle@Qt@@@Z @ 14031 NONAME ; void QLineEdit::setCursorMoveStyle(enum Qt::CursorMoveStyle) - png_process_data_pause @ 14032 NONAME - png_read_end @ 14033 NONAME - ?cursorMoveStyle@QLineControl@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 14034 NONAME ; enum Qt::CursorMoveStyle QLineControl::cursorMoveStyle(void) const - ?hasBCM2727@QSymbianGraphicsSystemEx@@UAE_NXZ @ 14035 NONAME ABSENT ; bool QSymbianGraphicsSystemEx::hasBCM2727(void) - png_get_pixels_per_inch @ 14036 NONAME - png_set_bgr @ 14037 NONAME - ?getClusterLength@QTextEngine@@AAEHPAGPBUHB_CharAttributes@@HHHPAH@Z @ 14038 NONAME ; int QTextEngine::getClusterLength(unsigned short *, struct HB_CharAttributes const *, int, int, int, int *) - ?positionInLigature@QTextEngine@@QAEHPBUQScriptItem@@HUQFixed@@1H_N@Z @ 14039 NONAME ; int QTextEngine::positionInLigature(struct QScriptItem const *, int, struct QFixed, struct QFixed, int, bool) - ?supportsTransformations@QPaintEngineEx@@UBE_NMABVQTransform@@@Z @ 14040 NONAME ; bool QPaintEngineEx::supportsTransformations(float, class QTransform const &) const - ?drawStaticTextItem@QPaintEngineEx@@UAEXPAVQStaticTextItem@@@Z @ 14041 NONAME ; void QPaintEngineEx::drawStaticTextItem(class QStaticTextItem *) - png_set_cHRM @ 14042 NONAME - png_set_cHRM_fixed @ 14043 NONAME - ?setStyleName@QFont@@QAEXABVQString@@@Z @ 14044 NONAME ; void QFont::setStyleName(class QString const &) - ?styleName@QFont@@QBE?AVQString@@XZ @ 14045 NONAME ; class QString QFont::styleName(void) const - ?styleName@QFontInfo@@QBE?AVQString@@XZ @ 14046 NONAME ; class QString QFontInfo::styleName(void) const - ?initialize@QTreeViewPrivate@@QAEXXZ @ 14047 NONAME ; void QTreeViewPrivate::initialize(void) - ?expand@QTreeViewPrivate@@QAEXH_N@Z @ 14048 NONAME ; void QTreeViewPrivate::expand(int, bool) - ?removeViewItems@QTreeViewPrivate@@QAEXHH@Z @ 14049 NONAME ; void QTreeViewPrivate::removeViewItems(int, int) - ?drawAnimatedOperation@QTreeViewPrivate@@QBEXPAVQPainter@@@Z @ 14050 NONAME ; void QTreeViewPrivate::drawAnimatedOperation(class QPainter *) const - ?firstVisibleItem@QTreeViewPrivate@@QBEHPAH@Z @ 14051 NONAME ; int QTreeViewPrivate::firstVisibleItem(int *) const - ?hasFamily@QFontDatabase@@QBE_NABVQString@@@Z @ 14052 NONAME ; bool QFontDatabase::hasFamily(class QString const &) const - ?insertViewItems@QTreeViewPrivate@@QAEXHHABUQTreeViewItem@@@Z @ 14053 NONAME ; void QTreeViewPrivate::insertViewItems(int, int, struct QTreeViewItem const &) - ??0QTreeViewPrivate@@QAE@XZ @ 14054 NONAME ; QTreeViewPrivate::QTreeViewPrivate(void) - ??_EQTreeViewPrivate@@UAE@I@Z @ 14055 NONAME ; QTreeViewPrivate::~QTreeViewPrivate(unsigned int) - ?q_func@QTreeViewPrivate@@ABEPBVQTreeView@@XZ @ 14056 NONAME ; class QTreeView const * QTreeViewPrivate::q_func(void) const - ?viewIndex@QTreeViewPrivate@@QBEHABVQModelIndex@@@Z @ 14057 NONAME ; int QTreeViewPrivate::viewIndex(class QModelIndex const &) const - ?q_func@QTreeViewPrivate@@AAEPAVQTreeView@@XZ @ 14058 NONAME ; class QTreeView * QTreeViewPrivate::q_func(void) - ?updateScrollBars@QTreeViewPrivate@@QAEXXZ @ 14059 NONAME ; void QTreeViewPrivate::updateScrollBars(void) - ?indentationForItem@QTreeViewPrivate@@QBEHH@Z @ 14060 NONAME ; int QTreeViewPrivate::indentationForItem(int) const - ?above@QTreeViewPrivate@@QBEHH@Z @ 14061 NONAME ; int QTreeViewPrivate::above(int) const - ?_q_columnsRemoved@QTreeViewPrivate@@UAEXABVQModelIndex@@HH@Z @ 14062 NONAME ; void QTreeViewPrivate::_q_columnsRemoved(class QModelIndex const &, int, int) - ?columnRanges@QTreeViewPrivate@@QBE?AV?$QList@U?$QPair@HH@@@@ABVQModelIndex@@0@Z @ 14063 NONAME ; class QList > QTreeViewPrivate::columnRanges(class QModelIndex const &, class QModelIndex const &) const - ?_q_modelDestroyed@QTreeViewPrivate@@UAEXXZ @ 14064 NONAME ; void QTreeViewPrivate::_q_modelDestroyed(void) - ?coordinateForItem@QTreeViewPrivate@@QBEHH@Z @ 14065 NONAME ; int QTreeViewPrivate::coordinateForItem(int) const - ?accessibleTable2Index@QTreeViewPrivate@@QBEHABVQModelIndex@@@Z @ 14066 NONAME ; int QTreeViewPrivate::accessibleTable2Index(class QModelIndex const &) const - ?select@QTreeViewPrivate@@QAEXABVQModelIndex@@0V?$QFlags@W4SelectionFlag@QItemSelectionModel@@@@@Z @ 14067 NONAME ; void QTreeViewPrivate::select(class QModelIndex const &, class QModelIndex const &, class QFlags) - ?drawPixmapFragments@QPaintEngineEx@@UAEXPBVQRectF@@0HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 14068 NONAME ; void QPaintEngineEx::drawPixmapFragments(class QRectF const *, class QRectF const *, int, class QPixmap const &, class QFlags) - ?draggablePaintPairs@QTreeViewPrivate@@UBE?AV?$QList@U?$QPair@VQRect@@VQModelIndex@@@@@@ABV?$QList@VQModelIndex@@@@PAVQRect@@@Z @ 14069 NONAME ; class QList > QTreeViewPrivate::draggablePaintPairs(class QList const &, class QRect *) const - ?beginAnimatedOperation@QTreeViewPrivate@@QAEXXZ @ 14070 NONAME ; void QTreeViewPrivate::beginAnimatedOperation(void) - ?columnAt@QTreeViewPrivate@@QBEHH@Z @ 14071 NONAME ; int QTreeViewPrivate::columnAt(int) const - ?pageUp@QTreeViewPrivate@@QBEHH@Z @ 14072 NONAME ; int QTreeViewPrivate::pageUp(int) const - ?isItemHiddenOrDisabled@QTreeViewPrivate@@QBE_NH@Z @ 14073 NONAME ; bool QTreeViewPrivate::isItemHiddenOrDisabled(int) const - ?expandOrCollapseItemAtPos@QTreeViewPrivate@@QAE_NABVQPoint@@@Z @ 14074 NONAME ; bool QTreeViewPrivate::expandOrCollapseItemAtPos(class QPoint const &) - ?paintAlternatingRowColors@QTreeViewPrivate@@QBEXPAVQPainter@@PAVQStyleOptionViewItemV4@@HH@Z @ 14075 NONAME ; void QTreeViewPrivate::paintAlternatingRowColors(class QPainter *, class QStyleOptionViewItemV4 *, int, int) const - ?drawPixmapFragments@QPainter@@QAEXPBVQRectF@@0HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 14076 NONAME ; void QPainter::drawPixmapFragments(class QRectF const *, class QRectF const *, int, class QPixmap const &, class QFlags) - ?itemDecorationRect@QTreeViewPrivate@@QBE?AVQRect@@ABVQModelIndex@@@Z @ 14077 NONAME ; class QRect QTreeViewPrivate::itemDecorationRect(class QModelIndex const &) const - ??1QTreeViewPrivate@@UAE@XZ @ 14078 NONAME ; QTreeViewPrivate::~QTreeViewPrivate(void) - ?storeExpanded@QTreeViewPrivate@@QAE_NABVQPersistentModelIndex@@@Z @ 14079 NONAME ; bool QTreeViewPrivate::storeExpanded(class QPersistentModelIndex const &) - ?hasVisibleChildren@QTreeViewPrivate@@QBE_NABVQModelIndex@@@Z @ 14080 NONAME ; bool QTreeViewPrivate::hasVisibleChildren(class QModelIndex const &) const - ?itemAtCoordinate@QTreeViewPrivate@@QBEHH@Z @ 14081 NONAME ; int QTreeViewPrivate::itemAtCoordinate(int) const - ?renderTreeToPixmapForAnimation@QTreeViewPrivate@@QBE?AVQPixmap@@ABVQRect@@@Z @ 14082 NONAME ; class QPixmap QTreeViewPrivate::renderTreeToPixmapForAnimation(class QRect const &) const - ?prepareAnimatedOperation@QTreeViewPrivate@@QAEXHW4Direction@QAbstractAnimation@@@Z @ 14083 NONAME ; void QTreeViewPrivate::prepareAnimatedOperation(int, enum QAbstractAnimation::Direction) - ?_q_endAnimatedOperation@QTreeViewPrivate@@QAEXXZ @ 14084 NONAME ; void QTreeViewPrivate::_q_endAnimatedOperation(void) - ?startAndEndColumns@QTreeViewPrivate@@QBE?AU?$QPair@HH@@ABVQRect@@@Z @ 14085 NONAME ; struct QPair QTreeViewPrivate::startAndEndColumns(class QRect const &) const - ?invalidateHeightCache@QTreeViewPrivate@@QBEXH@Z @ 14086 NONAME ; void QTreeViewPrivate::invalidateHeightCache(int) const - ?isIndexExpanded@QTreeViewPrivate@@QBE_NABVQModelIndex@@@Z @ 14087 NONAME ; bool QTreeViewPrivate::isIndexExpanded(class QModelIndex const &) const - ?layout@QTreeViewPrivate@@QAEXH_N0@Z @ 14088 NONAME ; void QTreeViewPrivate::layout(int, bool, bool) - ?cancelPasswordEchoTimer@QLineControl@@AAEXXZ @ 14089 NONAME ; void QLineControl::cancelPasswordEchoTimer(void) - ?collapse@QTreeViewPrivate@@QAEXH_N@Z @ 14090 NONAME ; void QTreeViewPrivate::collapse(int, bool) - ?modelIndex@QTreeViewPrivate@@QBE?AVQModelIndex@@HH@Z @ 14091 NONAME ; class QModelIndex QTreeViewPrivate::modelIndex(int, int) const - ?itemHeight@QTreeViewPrivate@@QBEHH@Z @ 14092 NONAME ; int QTreeViewPrivate::itemHeight(int) const - ?isRowHidden@QTreeViewPrivate@@QBE_NABVQModelIndex@@@Z @ 14093 NONAME ; bool QTreeViewPrivate::isRowHidden(class QModelIndex const &) const - ?_q_sortIndicatorChanged@QTreeViewPrivate@@QAEXHW4SortOrder@Qt@@@Z @ 14094 NONAME ; void QTreeViewPrivate::_q_sortIndicatorChanged(int, enum Qt::SortOrder) - ?pageDown@QTreeViewPrivate@@QBEHH@Z @ 14095 NONAME ; int QTreeViewPrivate::pageDown(int) const - ?_q_modelAboutToBeReset@QTreeViewPrivate@@QAEXXZ @ 14096 NONAME ; void QTreeViewPrivate::_q_modelAboutToBeReset(void) - ?itemDecorationAt@QTreeViewPrivate@@QBEHABVQPoint@@@Z @ 14097 NONAME ; int QTreeViewPrivate::itemDecorationAt(class QPoint const &) const - ?below@QTreeViewPrivate@@QBEHH@Z @ 14098 NONAME ; int QTreeViewPrivate::below(int) const - ?_q_columnsAboutToBeRemoved@QTreeViewPrivate@@UAEXABVQModelIndex@@HH@Z @ 14099 NONAME ; void QTreeViewPrivate::_q_columnsAboutToBeRemoved(class QModelIndex const &, int, int) + ?lineHeightType@QTextBlockFormat@@QBEHXZ @ 13733 NONAME ; int QTextBlockFormat::lineHeightType(void) const + ?hintingPreference@QFont@@QBE?AW4HintingPreference@1@XZ @ 13734 NONAME ; enum QFont::HintingPreference QFont::hintingPreference(void) const + ?qt_static_metacall@QDockWidgetLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13735 NONAME ; void QDockWidgetLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?trUtf8@QInternalMimeData@@SA?AVQString@@PBD0H@Z @ 13736 NONAME ; class QString QInternalMimeData::trUtf8(char const *, char const *, int) + ?cloneWithSize@QFontEngine@@UBEPAV1@M@Z @ 13737 NONAME ; class QFontEngine * QFontEngine::cloneWithSize(float) const + ?begin@QBlitterPaintEngine@@UAE_NPAVQPaintDevice@@@Z @ 13738 NONAME ; bool QBlitterPaintEngine::begin(class QPaintDevice *) + ?storeExpanded@QTreeViewPrivate@@QAE_NABVQPersistentModelIndex@@@Z @ 13739 NONAME ; bool QTreeViewPrivate::storeExpanded(class QPersistentModelIndex const &) + ?staticMetaObjectExtraData@QPixmapFilter@@0UQMetaObjectExtraData@@B @ 13740 NONAME ; struct QMetaObjectExtraData const QPixmapFilter::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QTapGesture@@0UQMetaObjectExtraData@@B @ 13741 NONAME ; struct QMetaObjectExtraData const QTapGesture::staticMetaObjectExtraData + ?inFontUcs4@QFontMetricsF@@QBE_NI@Z @ 13742 NONAME ; bool QFontMetricsF::inFontUcs4(unsigned int) const + ?styleName@QFont@@QBE?AVQString@@XZ @ 13743 NONAME ; class QString QFont::styleName(void) const + ?staticMetaObjectExtraData@QTextControl@@0UQMetaObjectExtraData@@B @ 13744 NONAME ; struct QMetaObjectExtraData const QTextControl::staticMetaObjectExtraData + ?qt_static_metacall@QScrollBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13745 NONAME ; void QScrollBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QStackedWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13746 NONAME ; void QStackedWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?markRasterOverlay@QBlittablePixmapData@@QAEXABVQRectF@@@Z @ 13747 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QRectF const &) + ?d_func@QBlitterPaintEngine@@AAEPAVQBlitterPaintEnginePrivate@@XZ @ 13748 NONAME ; class QBlitterPaintEnginePrivate * QBlitterPaintEngine::d_func(void) + ?setNumberPrefix@QTextListFormat@@QAEXABVQString@@@Z @ 13749 NONAME ; void QTextListFormat::setNumberPrefix(class QString const &) + ?qt_static_metacall@QAbstractSpinBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13750 NONAME ; void QAbstractSpinBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?lineHeight@QTextBlockFormat@@QBEMMM@Z @ 13751 NONAME ; float QTextBlockFormat::lineHeight(float, float) const + ??0QIdentityProxyModel@@IAE@AAVQIdentityProxyModelPrivate@@PAVQObject@@@Z @ 13752 NONAME ; QIdentityProxyModel::QIdentityProxyModel(class QIdentityProxyModelPrivate &, class QObject *) + ?staticMetaObjectExtraData@QGraphicsEffect@@0UQMetaObjectExtraData@@B @ 13753 NONAME ; struct QMetaObjectExtraData const QGraphicsEffect::staticMetaObjectExtraData + ?qt_static_metacall@QMovie@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13754 NONAME ; void QMovie::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QToolBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13755 NONAME ; void QToolBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?getItem@QInputDialog@@SA?AVQString@@PAVQWidget@@ABV2@1ABVQStringList@@H_NPA_NV?$QFlags@W4WindowType@Qt@@@@V?$QFlags@W4InputMethodHint@Qt@@@@@Z @ 13756 NONAME ; class QString QInputDialog::getItem(class QWidget *, class QString const &, class QString const &, class QStringList const &, int, bool, bool *, class QFlags, class QFlags) + ?staticMetaObjectExtraData@QItemDelegate@@0UQMetaObjectExtraData@@B @ 13757 NONAME ; struct QMetaObjectExtraData const QItemDelegate::staticMetaObjectExtraData + ?qt_static_metacall@QFileSystemModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13758 NONAME ; void QFileSystemModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?hasFeature@QWindowSurface@@QBE_NW4WindowSurfaceFeature@1@@Z @ 13759 NONAME ; bool QWindowSurface::hasFeature(enum QWindowSurface::WindowSurfaceFeature) const + ?qGamma_correct_back_to_linear_cs@@YAXPAVQImage@@@Z @ 13760 NONAME ; void qGamma_correct_back_to_linear_cs(class QImage *) + ?qt_static_metacall@QBoxLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13761 NONAME ; void QBoxLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QInputContext@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13762 NONAME ; void QInputContext::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QColumnView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13763 NONAME ; void QColumnView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?cursorMoveStyle@QLineEdit@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 13764 NONAME ; enum Qt::CursorMoveStyle QLineEdit::cursorMoveStyle(void) const + ?clip@QBlitterPaintEngine@@UAEXABVQVectorPath@@W4ClipOperation@Qt@@@Z @ 13765 NONAME ; void QBlitterPaintEngine::clip(class QVectorPath const &, enum Qt::ClipOperation) + ?qt_static_metacall@QSizeGrip@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13766 NONAME ; void QSizeGrip::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QFileDialog@@0UQMetaObjectExtraData@@B @ 13767 NONAME ; struct QMetaObjectExtraData const QFileDialog::staticMetaObjectExtraData + ?qt_static_metacall@QCalendarWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13768 NONAME ; void QCalendarWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?hasVisibleChildren@QTreeViewPrivate@@QBE_NABVQModelIndex@@@Z @ 13769 NONAME ; bool QTreeViewPrivate::hasVisibleChildren(class QModelIndex const &) const + ?canReadData@QInternalMimeData@@SA_NABVQString@@@Z @ 13770 NONAME ; bool QInternalMimeData::canReadData(class QString const &) + ?staticMetaObjectExtraData@QSwipeGesture@@0UQMetaObjectExtraData@@B @ 13771 NONAME ; struct QMetaObjectExtraData const QSwipeGesture::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QProxyStyle@@0UQMetaObjectExtraData@@B @ 13772 NONAME ; struct QMetaObjectExtraData const QProxyStyle::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QMessageBox@@0UQMetaObjectExtraData@@B @ 13773 NONAME ; struct QMetaObjectExtraData const QMessageBox::staticMetaObjectExtraData + ?qt_static_metacall@QStatusBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13774 NONAME ; void QStatusBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDataWidgetMapper@@0UQMetaObjectExtraData@@B @ 13775 NONAME ; struct QMetaObjectExtraData const QDataWidgetMapper::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QPlainTextDocumentLayout@@0UQMetaObjectExtraData@@B @ 13776 NONAME ; struct QMetaObjectExtraData const QPlainTextDocumentLayout::staticMetaObjectExtraData + ?qt_static_metacall@QProxyStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13777 NONAME ; void QProxyStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QAbstractTextDocumentLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13778 NONAME ; void QAbstractTextDocumentLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QDockWidgetLayout@@0UQMetaObjectExtraData@@B @ 13779 NONAME ; struct QMetaObjectExtraData const QDockWidgetLayout::staticMetaObjectExtraData + ?qt_static_metacall@QIconEnginePluginV2@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13780 NONAME ; void QIconEnginePluginV2::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QRegExpValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13781 NONAME ; void QRegExpValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?lineNumberForTextPosition@QTextEngine@@QAEHH@Z @ 13782 NONAME ; int QTextEngine::lineNumberForTextPosition(int) + ?staticMetaObjectExtraData@QDoubleValidator@@0UQMetaObjectExtraData@@B @ 13783 NONAME ; struct QMetaObjectExtraData const QDoubleValidator::staticMetaObjectExtraData + ?qt_static_metacall@QCommonStyle@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13784 NONAME ; void QCommonStyle::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTextList@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13785 NONAME ; void QTextList::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?beginningOfLine@QTextEngine@@AAEHH@Z @ 13786 NONAME ; int QTextEngine::beginningOfLine(int) + ?qt_static_metacall@QDockWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13787 NONAME ; void QDockWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAbstractProxyModel@@0UQMetaObjectExtraData@@B @ 13788 NONAME ; struct QMetaObjectExtraData const QAbstractProxyModel::staticMetaObjectExtraData + ?alphaMapForGlyph@QFontEngine@@UAE?AVQImage@@IUQFixed@@ABVQTransform@@@Z @ 13789 NONAME ; class QImage QFontEngine::alphaMapForGlyph(unsigned int, struct QFixed, class QTransform const &) + ?staticMetaObjectExtraData@QUndoStack@@0UQMetaObjectExtraData@@B @ 13790 NONAME ; struct QMetaObjectExtraData const QUndoStack::staticMetaObjectExtraData + ?itemAtCoordinate@QTreeViewPrivate@@QBEHH@Z @ 13791 NONAME ; int QTreeViewPrivate::itemAtCoordinate(int) const + ?renderTreeToPixmapForAnimation@QTreeViewPrivate@@QBE?AVQPixmap@@ABVQRect@@@Z @ 13792 NONAME ; class QPixmap QTreeViewPrivate::renderTreeToPixmapForAnimation(class QRect const &) const + ?qt_static_metacall@QErrorMessage@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13793 NONAME ; void QErrorMessage::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?fromImage@QBlittablePixmapData@@UAEXABVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 13794 NONAME ; void QBlittablePixmapData::fromImage(class QImage const &, class QFlags) + ??0QInternalMimeData@@QAE@XZ @ 13795 NONAME ; QInternalMimeData::QInternalMimeData(void) + ?prepareAnimatedOperation@QTreeViewPrivate@@QAEXHW4Direction@QAbstractAnimation@@@Z @ 13796 NONAME ; void QTreeViewPrivate::prepareAnimatedOperation(int, enum QAbstractAnimation::Direction) + ?features@QRasterWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 13797 NONAME ; class QFlags QRasterWindowSurface::features(void) const + ?qt_static_metacall@QActionGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13798 NONAME ; void QActionGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?_q_endAnimatedOperation@QTreeViewPrivate@@QAEXXZ @ 13799 NONAME ; void QTreeViewPrivate::_q_endAnimatedOperation(void) + ??0QBlittable@@QAE@ABVQSize@@V?$QFlags@W4Capability@QBlittable@@@@@Z @ 13800 NONAME ; QBlittable::QBlittable(class QSize const &, class QFlags) + ?qt_static_metacall@QDataWidgetMapper@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13801 NONAME ; void QDataWidgetMapper::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QGraphicsSystemPlugin@@0UQMetaObjectExtraData@@B @ 13802 NONAME ; struct QMetaObjectExtraData const QGraphicsSystemPlugin::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QCommonStyle@@0UQMetaObjectExtraData@@B @ 13803 NONAME ; struct QMetaObjectExtraData const QCommonStyle::staticMetaObjectExtraData + ?qt_static_metacall@QWizard@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13804 NONAME ; void QWizard::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QIdentityProxyModel@@QAE@PAVQObject@@@Z @ 13805 NONAME ; QIdentityProxyModel::QIdentityProxyModel(class QObject *) + ?staticMetaObjectExtraData@QTreeView@@0UQMetaObjectExtraData@@B @ 13806 NONAME ; struct QMetaObjectExtraData const QTreeView::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDateEdit@@0UQMetaObjectExtraData@@B @ 13807 NONAME ; struct QMetaObjectExtraData const QDateEdit::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGesture@@0UQMetaObjectExtraData@@B @ 13808 NONAME ; struct QMetaObjectExtraData const QGesture::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsProxyWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13809 NONAME ; void QGraphicsProxyWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?markRasterOverlay@QBlittablePixmapData@@QAEXPBVQRect@@H@Z @ 13810 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QRect const *, int) + ?rightCursorPosition@QTextLayout@@QBEHH@Z @ 13811 NONAME ; int QTextLayout::rightCursorPosition(int) const + ?tabsClosable@QMdiArea@@QBE_NXZ @ 13812 NONAME ; bool QMdiArea::tabsClosable(void) const + ?startAndEndColumns@QTreeViewPrivate@@QBE?AU?$QPair@HH@@ABVQRect@@@Z @ 13813 NONAME ; struct QPair QTreeViewPrivate::startAndEndColumns(class QRect const &) const + ?staticMetaObjectExtraData@QTextFrame@@0UQMetaObjectExtraData@@B @ 13814 NONAME ; struct QMetaObjectExtraData const QTextFrame::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QAbstractScrollArea@@0UQMetaObjectExtraData@@B @ 13815 NONAME ; struct QMetaObjectExtraData const QAbstractScrollArea::staticMetaObjectExtraData + ?setLineHeight@QTextBlockFormat@@QAEXMH@Z @ 13816 NONAME ; void QTextBlockFormat::setLineHeight(float, int) + ?staticMetaObjectExtraData@QFormLayout@@0UQMetaObjectExtraData@@B @ 13817 NONAME ; struct QMetaObjectExtraData const QFormLayout::staticMetaObjectExtraData + ?calculateSubPixelPositionCount@QTextureGlyphCache@@IBEHI@Z @ 13818 NONAME ; int QTextureGlyphCache::calculateSubPixelPositionCount(unsigned int) const + ?staticMetaObjectExtraData@QStackedWidget@@0UQMetaObjectExtraData@@B @ 13819 NONAME ; struct QMetaObjectExtraData const QStackedWidget::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QDialogButtonBox@@0UQMetaObjectExtraData@@B @ 13820 NONAME ; struct QMetaObjectExtraData const QDialogButtonBox::staticMetaObjectExtraData + ?setCursorMoveStyle@QLineEdit@@QAEXW4CursorMoveStyle@Qt@@@Z @ 13821 NONAME ; void QLineEdit::setCursorMoveStyle(enum Qt::CursorMoveStyle) + ?qt_static_metacall@QToolButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13822 NONAME ; void QToolButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?invalidateHeightCache@QTreeViewPrivate@@QBEXH@Z @ 13823 NONAME ; void QTreeViewPrivate::invalidateHeightCache(int) const + ?qt_static_metacall@QPanGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13824 NONAME ; void QPanGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?isIndexExpanded@QTreeViewPrivate@@QBE_NABVQModelIndex@@@Z @ 13825 NONAME ; bool QTreeViewPrivate::isIndexExpanded(class QModelIndex const &) const + ?features@QWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 13826 NONAME ; class QFlags QWindowSurface::features(void) const + ?layout@QTreeViewPrivate@@QAEXH_N0@Z @ 13827 NONAME ; void QTreeViewPrivate::layout(int, bool, bool) + ?markRasterOverlay@QBlittablePixmapData@@QAEXABVQVectorPath@@@Z @ 13828 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QVectorPath const &) + ?alphaMapBoundingBox@QFontEngine@@UAE?AUglyph_metrics_t@@IUQFixed@@ABVQTransform@@W4GlyphFormat@1@@Z @ 13829 NONAME ; struct glyph_metrics_t QFontEngine::alphaMapBoundingBox(unsigned int, struct QFixed, class QTransform const &, enum QFontEngine::GlyphFormat) + ?qt_static_metacall@QTapGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13830 NONAME ; void QTapGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QIntValidator@@0UQMetaObjectExtraData@@B @ 13831 NONAME ; struct QMetaObjectExtraData const QIntValidator::staticMetaObjectExtraData + ?qt_static_metacall@QInputDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13832 NONAME ; void QInputDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?clip@QBlitterPaintEngine@@QAEPBVQClipData@@XZ @ 13833 NONAME ; class QClipData const * QBlitterPaintEngine::clip(void) + ?cancelPasswordEchoTimer@QLineControl@@AAEXXZ @ 13834 NONAME ; void QLineControl::cancelPasswordEchoTimer(void) + ?qt_static_metacall@QStylePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13835 NONAME ; void QStylePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setNumberSuffix@QTextListFormat@@QAEXABVQString@@@Z @ 13836 NONAME ; void QTextListFormat::setNumberSuffix(class QString const &) + ?qt_static_metacall@QApplication@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13837 NONAME ; void QApplication::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?swap@QPicture@@QAEXAAV1@@Z @ 13838 NONAME ; void QPicture::swap(class QPicture &) + ?d_func@QIdentityProxyModel@@ABEPBVQIdentityProxyModelPrivate@@XZ @ 13839 NONAME ; class QIdentityProxyModelPrivate const * QIdentityProxyModel::d_func(void) const + ?qt_static_metacall@QSplashScreen@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13840 NONAME ; void QSplashScreen::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?swap@QPainterPath@@QAEXAAV1@@Z @ 13841 NONAME ; void QPainterPath::swap(class QPainterPath &) + ?qt_static_metacall@QFocusFrame@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13842 NONAME ; void QFocusFrame::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?minimumSizeHint@QCheckBox@@UBE?AVQSize@@XZ @ 13843 NONAME ; class QSize QCheckBox::minimumSizeHint(void) const + ?alphaMapForGlyph@QFontEngine@@UAE?AVQImage@@IUQFixed@@@Z @ 13844 NONAME ; class QImage QFontEngine::alphaMapForGlyph(unsigned int, struct QFixed) + ?fillTexture@QImageTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@IUQFixed@@@Z @ 13845 NONAME ; void QImageTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int, struct QFixed) + ?swap@QIcon@@QAEXAAV1@@Z @ 13846 NONAME ; void QIcon::swap(class QIcon &) + ?columnCount@QIdentityProxyModel@@UBEHABVQModelIndex@@@Z @ 13847 NONAME ; int QIdentityProxyModel::columnCount(class QModelIndex const &) const + ?unmarkRasterOverlay@QBlittablePixmapData@@QAEXABVQRectF@@@Z @ 13848 NONAME ; void QBlittablePixmapData::unmarkRasterOverlay(class QRectF const &) + ?collapse@QTreeViewPrivate@@QAEXH_N@Z @ 13849 NONAME ; void QTreeViewPrivate::collapse(int, bool) + ?trUtf8@QIdentityProxyModel@@SA?AVQString@@PBD0H@Z @ 13850 NONAME ; class QString QIdentityProxyModel::trUtf8(char const *, char const *, int) + ?brushOriginChanged@QBlitterPaintEngine@@UAEXXZ @ 13851 NONAME ; void QBlitterPaintEngine::brushOriginChanged(void) + ?openFile@QFileOpenEvent@@QBE_NAAVQFile@@V?$QFlags@W4OpenModeFlag@QIODevice@@@@@Z @ 13852 NONAME ; bool QFileOpenEvent::openFile(class QFile &, class QFlags) const + ??0QApplicationPrivate@@QAE@AAHPAPADW4Type@QApplication@@H@Z @ 13853 NONAME ; QApplicationPrivate::QApplicationPrivate(int &, char * *, enum QApplication::Type, int) + ?qt_static_metacall@QSound@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13854 NONAME ; void QSound::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QToolBox@@0UQMetaObjectExtraData@@B @ 13855 NONAME ; struct QMetaObjectExtraData const QToolBox::staticMetaObjectExtraData + ?addDirectory@QZipWriter@@QAEXABVQString@@@Z @ 13856 NONAME ; void QZipWriter::addDirectory(class QString const &) + ?modelIndex@QTreeViewPrivate@@QBE?AVQModelIndex@@HH@Z @ 13857 NONAME ; class QModelIndex QTreeViewPrivate::modelIndex(int, int) const + ?staticMetaObjectExtraData@QGraphicsOpacityEffect@@0UQMetaObjectExtraData@@B @ 13858 NONAME ; struct QMetaObjectExtraData const QGraphicsOpacityEffect::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsColorizeEffect@@0UQMetaObjectExtraData@@B @ 13859 NONAME ; struct QMetaObjectExtraData const QGraphicsColorizeEffect::staticMetaObjectExtraData + ?inFontUcs4@QFontMetrics@@QBE_NI@Z @ 13860 NONAME ; bool QFontMetrics::inFontUcs4(unsigned int) const + ?staticMetaObjectExtraData@QIconEnginePlugin@@0UQMetaObjectExtraData@@B @ 13861 NONAME ; struct QMetaObjectExtraData const QIconEnginePlugin::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QFrame@@0UQMetaObjectExtraData@@B @ 13862 NONAME ; struct QMetaObjectExtraData const QFrame::staticMetaObjectExtraData + ?isWritable@QZipWriter@@QBE_NXZ @ 13863 NONAME ; bool QZipWriter::isWritable(void) const + ?qt_static_metacall@QValidator@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13864 NONAME ; void QValidator::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QStandardItemModel@@0UQMetaObjectExtraData@@B @ 13865 NONAME ; struct QMetaObjectExtraData const QStandardItemModel::staticMetaObjectExtraData + ?itemHeight@QTreeViewPrivate@@QBEHH@Z @ 13866 NONAME ; int QTreeViewPrivate::itemHeight(int) const + ?qt_static_metacall@QDrag@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13867 NONAME ; void QDrag::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QFontComboBox@@0UQMetaObjectExtraData@@B @ 13868 NONAME ; struct QMetaObjectExtraData const QFontComboBox::staticMetaObjectExtraData + ?isRowHidden@QTreeViewPrivate@@QBE_NABVQModelIndex@@@Z @ 13869 NONAME ; bool QTreeViewPrivate::isRowHidden(class QModelIndex const &) const + ?staticMetaObjectExtraData@QInputDialog@@0UQMetaObjectExtraData@@B @ 13870 NONAME ; struct QMetaObjectExtraData const QInputDialog::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QInputContext@@0UQMetaObjectExtraData@@B @ 13871 NONAME ; struct QMetaObjectExtraData const QInputContext::staticMetaObjectExtraData + ?unlock@QBlittable@@QAEXXZ @ 13872 NONAME ; void QBlittable::unlock(void) + ?swap@QRegion@@QAEXAAV1@@Z @ 13873 NONAME ; void QRegion::swap(class QRegion &) + ?staticMetaObjectExtraData@QLCDNumber@@0UQMetaObjectExtraData@@B @ 13874 NONAME ; struct QMetaObjectExtraData const QLCDNumber::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QS60Style@@0UQMetaObjectExtraData@@B @ 13875 NONAME ; struct QMetaObjectExtraData const QS60Style::staticMetaObjectExtraData + ?qt_static_metacall@QWidgetAction@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13876 NONAME ; void QWidgetAction::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QListView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13877 NONAME ; void QListView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setItemData@QAbstractProxyModel@@UAE_NABVQModelIndex@@ABV?$QMap@HVQVariant@@@@@Z @ 13878 NONAME ; bool QAbstractProxyModel::setItemData(class QModelIndex const &, class QMap const &) + ?getStaticMetaObject@QInternalMimeData@@SAABUQMetaObject@@XZ @ 13879 NONAME ; struct QMetaObject const & QInternalMimeData::getStaticMetaObject(void) + ?swap@QPolygonF@@QAEXAAV1@@Z @ 13880 NONAME ; void QPolygonF::swap(class QPolygonF &) + ?creationPermissions@QZipWriter@@QBE?AV?$QFlags@W4Permission@QFile@@@@XZ @ 13881 NONAME ; class QFlags QZipWriter::creationPermissions(void) const + ?qt_static_metacall@QDial@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13882 NONAME ; void QDial::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?swap@QPolygon@@QAEXAAV1@@Z @ 13883 NONAME ; void QPolygon::swap(class QPolygon &) + ?qt_static_metacall@QWorkspace@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13884 NONAME ; void QWorkspace::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QProgressDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13885 NONAME ; void QProgressDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?d_func@QBlitterPaintEngine@@ABEPBVQBlitterPaintEnginePrivate@@XZ @ 13886 NONAME ; class QBlitterPaintEnginePrivate const * QBlitterPaintEngine::d_func(void) const + ?actionText@QUndoCommand@@QBE?AVQString@@XZ @ 13887 NONAME ; class QString QUndoCommand::actionText(void) const + ?staticMetaObjectExtraData@QWidgetAction@@0UQMetaObjectExtraData@@B @ 13888 NONAME ; struct QMetaObjectExtraData const QWidgetAction::staticMetaObjectExtraData + ?qt_static_metacall@QListWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13889 NONAME ; void QListWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?tr@QIdentityProxyModel@@SA?AVQString@@PBD0H@Z @ 13890 NONAME ; class QString QIdentityProxyModel::tr(char const *, char const *, int) + ?swap@QKeySequence@@QAEXAAV1@@Z @ 13891 NONAME ; void QKeySequence::swap(class QKeySequence &) + ?staticMetaObjectExtraData@QGraphicsDropShadowEffect@@0UQMetaObjectExtraData@@B @ 13892 NONAME ; struct QMetaObjectExtraData const QGraphicsDropShadowEffect::staticMetaObjectExtraData + ?qt_static_metacall@QProgressBar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13893 NONAME ; void QProgressBar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QTextBlockGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13894 NONAME ; void QTextBlockGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?lineHeight@QTextBlockFormat@@QBEMXZ @ 13895 NONAME ; float QTextBlockFormat::lineHeight(void) const + ?stroke@QBlitterPaintEngine@@UAEXABVQVectorPath@@ABVQPen@@@Z @ 13896 NONAME ; void QBlitterPaintEngine::stroke(class QVectorPath const &, class QPen const &) + ?qt_static_metacall@QWizardPage@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13897 NONAME ; void QWizardPage::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?_q_sortIndicatorChanged@QTreeViewPrivate@@QAEXHW4SortOrder@Qt@@@Z @ 13898 NONAME ; void QTreeViewPrivate::_q_sortIndicatorChanged(int, enum Qt::SortOrder) + ?staticMetaObjectExtraData@QToolButton@@0UQMetaObjectExtraData@@B @ 13899 NONAME ; struct QMetaObjectExtraData const QToolButton::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QSyntaxHighlighter@@0UQMetaObjectExtraData@@B @ 13900 NONAME ; struct QMetaObjectExtraData const QSyntaxHighlighter::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QHeaderView@@0UQMetaObjectExtraData@@B @ 13901 NONAME ; struct QMetaObjectExtraData const QHeaderView::staticMetaObjectExtraData + ?tr@QInternalMimeData@@SA?AVQString@@PBD0@Z @ 13902 NONAME ; class QString QInternalMimeData::tr(char const *, char const *) + ?mapFromSource@QIdentityProxyModel@@UBE?AVQModelIndex@@ABV2@@Z @ 13903 NONAME ; class QModelIndex QIdentityProxyModel::mapFromSource(class QModelIndex const &) const + ??1QBlittable@@UAE@XZ @ 13904 NONAME ; QBlittable::~QBlittable(void) + ??_EQBlitterPaintEngine@@UAE@I@Z @ 13905 NONAME ; QBlitterPaintEngine::~QBlitterPaintEngine(unsigned int) + ?staticMetaObjectExtraData@QInternalMimeData@@0UQMetaObjectExtraData@@B @ 13906 NONAME ; struct QMetaObjectExtraData const QInternalMimeData::staticMetaObjectExtraData + ?buffer@QBlittablePixmapData@@UAEPAVQImage@@XZ @ 13907 NONAME ; class QImage * QBlittablePixmapData::buffer(void) + ?staticMetaObjectExtraData@QComboBox@@0UQMetaObjectExtraData@@B @ 13908 NONAME ; struct QMetaObjectExtraData const QComboBox::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QWorkspace@@0UQMetaObjectExtraData@@B @ 13909 NONAME ; struct QMetaObjectExtraData const QWorkspace::staticMetaObjectExtraData + ?nextLogicalPosition@QTextEngine@@QBEHH@Z @ 13910 NONAME ; int QTextEngine::nextLogicalPosition(int) const + ?qt_static_metacall@QGraphicsEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13911 NONAME ; void QGraphicsEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QUndoGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13912 NONAME ; void QUndoGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QProgressBar@@0UQMetaObjectExtraData@@B @ 13913 NONAME ; struct QMetaObjectExtraData const QProgressBar::staticMetaObjectExtraData + ?qt_static_metacall@QLineEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13914 NONAME ; void QLineEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?drawStaticTextItem@QBlitterPaintEngine@@UAEXPAVQStaticTextItem@@@Z @ 13915 NONAME ; void QBlitterPaintEngine::drawStaticTextItem(class QStaticTextItem *) + ?pageDown@QTreeViewPrivate@@QBEHH@Z @ 13916 NONAME ; int QTreeViewPrivate::pageDown(int) const + ?lock@QBlittable@@QAEPAVQImage@@XZ @ 13917 NONAME ; class QImage * QBlittable::lock(void) + ?setFontHintingPreference@QTextCharFormat@@QAEXW4HintingPreference@QFont@@@Z @ 13918 NONAME ; void QTextCharFormat::setFontHintingPreference(enum QFont::HintingPreference) + ?qt_static_metacall@QPixmapColorizeFilter@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13919 NONAME ; void QPixmapColorizeFilter::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QGuiPlatformPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13920 NONAME ; void QGuiPlatformPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSplitterHandle@@0UQMetaObjectExtraData@@B @ 13921 NONAME ; struct QMetaObjectExtraData const QSplitterHandle::staticMetaObjectExtraData + ?qt_static_metacall@QButtonGroup@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13922 NONAME ; void QButtonGroup::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QCalendarWidget@@0UQMetaObjectExtraData@@B @ 13923 NONAME ; struct QMetaObjectExtraData const QCalendarWidget::staticMetaObjectExtraData + ?qt_static_metacall@QTreeWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13924 NONAME ; void QTreeWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?doItemsLayout@QTableView@@UAEXXZ @ 13925 NONAME ; void QTableView::doItemsLayout(void) + ??_EQInternalMimeData@@UAE@I@Z @ 13926 NONAME ; QInternalMimeData::~QInternalMimeData(unsigned int) + ?staticMetaObjectExtraData@QMouseEventTransition@@0UQMetaObjectExtraData@@B @ 13927 NONAME ; struct QMetaObjectExtraData const QMouseEventTransition::staticMetaObjectExtraData + ?qt_static_metacall@QIconEnginePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13928 NONAME ; void QIconEnginePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?_q_modelAboutToBeReset@QTreeViewPrivate@@QAEXXZ @ 13929 NONAME ; void QTreeViewPrivate::_q_modelAboutToBeReset(void) + ?qt_static_metacall@QDialogButtonBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13930 NONAME ; void QDialogButtonBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?markRasterOverlay@QBlittablePixmapData@@QAEXABVQPointF@@ABVQTextItem@@@Z @ 13931 NONAME ; void QBlittablePixmapData::markRasterOverlay(class QPointF const &, class QTextItem const &) + ?qt_static_metacall@QPlainTextDocumentLayout@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13932 NONAME ; void QPlainTextDocumentLayout::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QLabel@@0UQMetaObjectExtraData@@B @ 13933 NONAME ; struct QMetaObjectExtraData const QLabel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QCompleter@@0UQMetaObjectExtraData@@B @ 13934 NONAME ; struct QMetaObjectExtraData const QCompleter::staticMetaObjectExtraData + ?qt_static_metacall@QDateEdit@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13935 NONAME ; void QDateEdit::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?drawEllipse@QBlitterPaintEngine@@UAEXABVQRectF@@@Z @ 13936 NONAME ; void QBlitterPaintEngine::drawEllipse(class QRectF const &) + ?styleName@QFontInfo@@QBE?AVQString@@XZ @ 13937 NONAME ; class QString QFontInfo::styleName(void) const + ?staticMetaObjectExtraData@QTimeEdit@@0UQMetaObjectExtraData@@B @ 13938 NONAME ; struct QMetaObjectExtraData const QTimeEdit::staticMetaObjectExtraData + ?itemDecorationAt@QTreeViewPrivate@@QBEHABVQPoint@@@Z @ 13939 NONAME ; int QTreeViewPrivate::itemDecorationAt(class QPoint const &) const + ?blittable@QBlittablePixmapData@@QBEPAVQBlittable@@XZ @ 13940 NONAME ; class QBlittable * QBlittablePixmapData::blittable(void) const + ?setFocalRadius@QRadialGradient@@QAEXM@Z @ 13941 NONAME ; void QRadialGradient::setFocalRadius(float) + ?qt_painterPathFromVectorPath@@YA?AVQPainterPath@@ABVQVectorPath@@@Z @ 13942 NONAME ; class QPainterPath qt_painterPathFromVectorPath(class QVectorPath const &) + ?staticMetaObjectExtraData@QAction@@0UQMetaObjectExtraData@@B @ 13943 NONAME ; struct QMetaObjectExtraData const QAction::staticMetaObjectExtraData + ?resizeCache@QTextureGlyphCache@@QAEXHH@Z @ 13944 NONAME ; void QTextureGlyphCache::resizeCache(int, int) + ?qt_static_metacall@QHeaderView@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13945 NONAME ; void QHeaderView::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QGraphicsProxyWidget@@0UQMetaObjectExtraData@@B @ 13946 NONAME ; struct QMetaObjectExtraData const QGraphicsProxyWidget::staticMetaObjectExtraData + ?metaObject@QInternalMimeData@@UBEPBUQMetaObject@@XZ @ 13947 NONAME ; struct QMetaObject const * QInternalMimeData::metaObject(void) const + ?addSymLink@QZipWriter@@QAEXABVQString@@0@Z @ 13948 NONAME ; void QZipWriter::addSymLink(class QString const &, class QString const &) + ?drawStaticTextItem@QPaintEngineEx@@UAEXPAVQStaticTextItem@@@Z @ 13949 NONAME ; void QPaintEngineEx::drawStaticTextItem(class QStaticTextItem *) + ?tr@QIdentityProxyModel@@SA?AVQString@@PBD0@Z @ 13950 NONAME ; class QString QIdentityProxyModel::tr(char const *, char const *) + ?qt_static_metacall@QFileDialog@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13951 NONAME ; void QFileDialog::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QInternalMimeData@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13952 NONAME ; void QInternalMimeData::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QGesture@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13953 NONAME ; void QGesture::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?hasFormatHelper@QInternalMimeData@@SA_NABVQString@@PBVQMimeData@@@Z @ 13954 NONAME ; bool QInternalMimeData::hasFormatHelper(class QString const &, class QMimeData const *) + ?state@QBlitterPaintEngine@@QAEPAVQPainterState@@XZ @ 13955 NONAME ; class QPainterState * QBlitterPaintEngine::state(void) + ?penChanged@QBlitterPaintEngine@@UAEXXZ @ 13956 NONAME ; void QBlitterPaintEngine::penChanged(void) + ??0QFileOpenEvent@@QAE@ABVRFile@@@Z @ 13957 NONAME ; QFileOpenEvent::QFileOpenEvent(class RFile const &) + ?staticMetaObjectExtraData@QStackedLayout@@0UQMetaObjectExtraData@@B @ 13958 NONAME ; struct QMetaObjectExtraData const QStackedLayout::staticMetaObjectExtraData + ?match@QIdentityProxyModel@@UBE?AV?$QList@VQModelIndex@@@@ABVQModelIndex@@HABVQVariant@@HV?$QFlags@W4MatchFlag@Qt@@@@@Z @ 13959 NONAME ; class QList QIdentityProxyModel::match(class QModelIndex const &, int, class QVariant const &, int, class QFlags) const + ?cursorMoveStyle@QLineControl@@QBE?AW4CursorMoveStyle@Qt@@XZ @ 13960 NONAME ; enum Qt::CursorMoveStyle QLineControl::cursorMoveStyle(void) const + ?hasHeightForWidth@QWidgetPrivate@@UBE_NXZ @ 13961 NONAME ; bool QWidgetPrivate::hasHeightForWidth(void) const + ?qt_static_metacall@QMessageBox@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13962 NONAME ; void QMessageBox::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSortFilterProxyModel@@0UQMetaObjectExtraData@@B @ 13963 NONAME ; struct QMetaObjectExtraData const QSortFilterProxyModel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QCommandLinkButton@@0UQMetaObjectExtraData@@B @ 13964 NONAME ; struct QMetaObjectExtraData const QCommandLinkButton::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QWidget@@0UQMetaObjectExtraData@@B @ 13965 NONAME ; struct QMetaObjectExtraData const QWidget::staticMetaObjectExtraData + ?toImage@QBlittablePixmapData@@UBE?AVQImage@@XZ @ 13966 NONAME ; class QImage QBlittablePixmapData::toImage(void) const + ??_EQBlittable@@UAE@I@Z @ 13967 NONAME ; QBlittable::~QBlittable(unsigned int) + ?below@QTreeViewPrivate@@QBEHH@Z @ 13968 NONAME ; int QTreeViewPrivate::below(int) const + ?staticMetaObject@QIdentityProxyModel@@2UQMetaObject@@B @ 13969 NONAME ; struct QMetaObject const QIdentityProxyModel::staticMetaObject + ?rowCount@QIdentityProxyModel@@UBEHABVQModelIndex@@@Z @ 13970 NONAME ; int QIdentityProxyModel::rowCount(class QModelIndex const &) const + ?trUtf8@QIdentityProxyModel@@SA?AVQString@@PBD0@Z @ 13971 NONAME ; class QString QIdentityProxyModel::trUtf8(char const *, char const *) + ?qt_static_metacall@QRadioButton@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13972 NONAME ; void QRadioButton::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??1QInternalMimeData@@UAE@XZ @ 13973 NONAME ; QInternalMimeData::~QInternalMimeData(void) + ?_q_columnsAboutToBeRemoved@QTreeViewPrivate@@UAEXABVQModelIndex@@HH@Z @ 13974 NONAME ; void QTreeViewPrivate::_q_columnsAboutToBeRemoved(class QModelIndex const &, int, int) + ?qt_addBitmapToPath@@YAXMMPBEHHHPAVQPainterPath@@@Z @ 13975 NONAME ; void qt_addBitmapToPath(float, float, unsigned char const *, int, int, int, class QPainterPath *) + ?qt_static_metacall@QTextTable@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13976 NONAME ; void QTextTable::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QItemSelectionModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13977 NONAME ; void QItemSelectionModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObject@QInternalMimeData@@2UQMetaObject@@B @ 13978 NONAME ; struct QMetaObject const QInternalMimeData::staticMetaObject + ?staticMetaObjectExtraData@QGraphicsTransform@@0UQMetaObjectExtraData@@B @ 13979 NONAME ; struct QMetaObjectExtraData const QGraphicsTransform::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QAbstractTextDocumentLayout@@0UQMetaObjectExtraData@@B @ 13980 NONAME ; struct QMetaObjectExtraData const QAbstractTextDocumentLayout::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13981 NONAME ; void QGraphicsWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QShortcut@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13982 NONAME ; void QShortcut::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?endOfLine@QTextEngine@@AAEHH@Z @ 13983 NONAME ; int QTextEngine::endOfLine(int) diff --git a/src/s60installs/bwins/QtMultimediau.def b/src/s60installs/bwins/QtMultimediau.def index b4ca8b5..f46f363 100644 --- a/src/s60installs/bwins/QtMultimediau.def +++ b/src/s60installs/bwins/QtMultimediau.def @@ -274,18 +274,23 @@ EXPORTS ?sampleRate@QAudioFormat@@QBEHXZ @ 273 NONAME ; int QAudioFormat::sampleRate(void) const ?supportedSampleRates@QAudioDeviceInfo@@QBE?AV?$QList@H@@XZ @ 274 NONAME ; class QList QAudioDeviceInfo::supportedSampleRates(void) const ?setChannelCount@QAudioFormat@@QAEXH@Z @ 275 NONAME ; void QAudioFormat::setChannelCount(int) - ?staticMetaObjectExtraData@QAudioOutput@@0UQMetaObjectExtraData@@B @ 276 NONAME ; struct QMetaObjectExtraData const QAudioOutput::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractAudioInput@@0UQMetaObjectExtraData@@B @ 277 NONAME ; struct QMetaObjectExtraData const QAbstractAudioInput::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractAudioOutput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 278 NONAME ; void QAbstractAudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAudioInput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 279 NONAME ; void QAudioInput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAudioOutput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 280 NONAME ; void QAudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QAbstractAudioInput@@QAE@XZ @ 276 NONAME ABSENT ; QAbstractAudioInput::QAbstractAudioInput(void) + ??0QAudioEngineFactoryInterface@@QAE@XZ @ 277 NONAME ABSENT ; QAudioEngineFactoryInterface::QAudioEngineFactoryInterface(void) + ??0QAbstractAudioDeviceInfo@@QAE@XZ @ 278 NONAME ABSENT ; QAbstractAudioDeviceInfo::QAbstractAudioDeviceInfo(void) + ??0QAbstractAudioOutput@@QAE@XZ @ 279 NONAME ABSENT ; QAbstractAudioOutput::QAbstractAudioOutput(void) + ??_EQAudioDeviceInfo@@QAE@I@Z @ 280 NONAME ABSENT ; QAudioDeviceInfo::~QAudioDeviceInfo(unsigned int) ?staticMetaObjectExtraData@QAbstractAudioDeviceInfo@@0UQMetaObjectExtraData@@B @ 281 NONAME ; struct QMetaObjectExtraData const QAbstractAudioDeviceInfo::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAudioInput@@0UQMetaObjectExtraData@@B @ 282 NONAME ; struct QMetaObjectExtraData const QAudioInput::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractVideoSurface@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 283 NONAME ; void QAbstractVideoSurface::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAudioEnginePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 284 NONAME ; void QAudioEnginePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractVideoSurface@@0UQMetaObjectExtraData@@B @ 285 NONAME ; struct QMetaObjectExtraData const QAbstractVideoSurface::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractAudioDeviceInfo@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 286 NONAME ; void QAbstractAudioDeviceInfo::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractAudioOutput@@0UQMetaObjectExtraData@@B @ 287 NONAME ; struct QMetaObjectExtraData const QAbstractAudioOutput::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractAudioInput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 288 NONAME ; void QAbstractAudioInput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAudioEnginePlugin@@0UQMetaObjectExtraData@@B @ 289 NONAME ; struct QMetaObjectExtraData const QAudioEnginePlugin::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractAudioOutput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 282 NONAME ; void QAbstractAudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAbstractVideoSurface@@0UQMetaObjectExtraData@@B @ 283 NONAME ; struct QMetaObjectExtraData const QAbstractVideoSurface::staticMetaObjectExtraData + ?qt_static_metacall@QAudioOutput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 284 NONAME ; void QAudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAudioInput@@0UQMetaObjectExtraData@@B @ 285 NONAME ; struct QMetaObjectExtraData const QAudioInput::staticMetaObjectExtraData + ?qt_static_metacall@QAudioInput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 286 NONAME ; void QAudioInput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAbstractAudioInput@@0UQMetaObjectExtraData@@B @ 287 NONAME ; struct QMetaObjectExtraData const QAbstractAudioInput::staticMetaObjectExtraData + ?qt_static_metacall@QAudioEnginePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 288 NONAME ; void QAudioEnginePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QAbstractVideoSurface@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 289 NONAME ; void QAbstractVideoSurface::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAudioOutput@@0UQMetaObjectExtraData@@B @ 290 NONAME ; struct QMetaObjectExtraData const QAudioOutput::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractAudioInput@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 291 NONAME ; void QAbstractAudioInput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAbstractAudioOutput@@0UQMetaObjectExtraData@@B @ 292 NONAME ; struct QMetaObjectExtraData const QAbstractAudioOutput::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractAudioDeviceInfo@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 293 NONAME ; void QAbstractAudioDeviceInfo::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAudioEnginePlugin@@0UQMetaObjectExtraData@@B @ 294 NONAME ; struct QMetaObjectExtraData const QAudioEnginePlugin::staticMetaObjectExtraData diff --git a/src/s60installs/bwins/QtNetworku.def b/src/s60installs/bwins/QtNetworku.def index 5d0df03..2f8a7de 100644 --- a/src/s60installs/bwins/QtNetworku.def +++ b/src/s60installs/bwins/QtNetworku.def @@ -1145,103 +1145,117 @@ EXPORTS ?setNetworkAccessible@QNetworkAccessManager@@QAEXW4NetworkAccessibility@1@@Z @ 1144 NONAME ; void QNetworkAccessManager::setNetworkAccessible(enum QNetworkAccessManager::NetworkAccessibility) ??_EQBearerEngineFactoryInterface@@UAE@I@Z @ 1145 NONAME ; QBearerEngineFactoryInterface::~QBearerEngineFactoryInterface(unsigned int) ?enablePolling@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1146 NONAME ; void QNetworkConfigurationManagerPrivate::enablePolling(void) - ?joinMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@ABVQNetworkInterface@@@Z @ 1147 NONAME ; bool QUdpSocket::joinMulticastGroup(class QHostAddress const &, class QNetworkInterface const &) - ?setMulticastInterface@QUdpSocket@@QAEXABVQNetworkInterface@@@Z @ 1148 NONAME ; void QUdpSocket::setMulticastInterface(class QNetworkInterface const &) - ?setFinished@QNetworkReply@@IAEX_N@Z @ 1149 NONAME ; void QNetworkReply::setFinished(bool) - ?multicastInterface@QUdpSocket@@QBE?AVQNetworkInterface@@XZ @ 1150 NONAME ; class QNetworkInterface QUdpSocket::multicastInterface(void) const - ?joinMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@@Z @ 1151 NONAME ; bool QUdpSocket::joinMulticastGroup(class QHostAddress const &) - ?leaveMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@ABVQNetworkInterface@@@Z @ 1152 NONAME ; bool QUdpSocket::leaveMulticastGroup(class QHostAddress const &, class QNetworkInterface const &) - ?leaveMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@@Z @ 1153 NONAME ; bool QUdpSocket::leaveMulticastGroup(class QHostAddress const &) - ?allConfigurations@QNetworkConfigurationManagerPrivate@@QBE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 1154 NONAME ; class QList QNetworkConfigurationManagerPrivate::allConfigurations(class QFlags) const - ?capabilities@QNetworkConfigurationManagerPrivate@@QBE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 1155 NONAME ; class QFlags QNetworkConfigurationManagerPrivate::capabilities(void) const - ?configurationFromIdentifier@QNetworkConfigurationManagerPrivate@@QBE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1156 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIdentifier(class QString const &) const - ?defaultConfiguration@QNetworkConfigurationManagerPrivate@@QBE?AVQNetworkConfiguration@@XZ @ 1157 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(void) const - ?engines@QNetworkConfigurationManagerPrivate@@QBE?AV?$QList@PAVQBearerEngine@@@@XZ @ 1158 NONAME ; class QList QNetworkConfigurationManagerPrivate::engines(void) const - ?isOnline@QNetworkConfigurationManagerPrivate@@QBE_NXZ @ 1159 NONAME ; bool QNetworkConfigurationManagerPrivate::isOnline(void) const - ?startPolling@QNetworkConfigurationManagerPrivate@@AAEXXZ @ 1160 NONAME ; void QNetworkConfigurationManagerPrivate::startPolling(void) - ?peerVerifyName@QSslSocket@@QBE?AVQString@@XZ @ 1161 NONAME ; class QString QSslSocket::peerVerifyName(void) const - ?setPeerVerifyName@QSslSocket@@QAEXABVQString@@@Z @ 1162 NONAME ; void QSslSocket::setPeerVerifyName(class QString const &) - ?nativeSession@QNetworkSessionPrivate@@SAPAVRConnection@@AAVQNetworkSession@@@Z @ 1163 NONAME ; class RConnection * QNetworkSessionPrivate::nativeSession(class QNetworkSession &) - ?nativeOpenSocket@QNetworkSessionPrivate@@SAHAAVQNetworkSession@@AAVRSocket@@III@Z @ 1164 NONAME ; int QNetworkSessionPrivate::nativeOpenSocket(class QNetworkSession &, class RSocket &, unsigned int, unsigned int, unsigned int) - ?nativeOpenHostResolver@QNetworkSessionPrivate@@SAHAAVQNetworkSession@@AAVRHostResolver@@II@Z @ 1165 NONAME ; int QNetworkSessionPrivate::nativeOpenHostResolver(class QNetworkSession &, class RHostResolver &, unsigned int, unsigned int) - ??_EQHttpMultiPart@@UAE@I@Z @ 1166 NONAME ; QHttpMultiPart::~QHttpMultiPart(unsigned int) - ??1QHttpPart@@QAE@XZ @ 1167 NONAME ; QHttpPart::~QHttpPart(void) - ?trUtf8@QHttpMultiPart@@SA?AVQString@@PBD0@Z @ 1168 NONAME ; class QString QHttpMultiPart::trUtf8(char const *, char const *) - ??0QHttpPart@@QAE@ABV0@@Z @ 1169 NONAME ; QHttpPart::QHttpPart(class QHttpPart const &) - ?setBody@QHttpPart@@QAEXABVQByteArray@@@Z @ 1170 NONAME ; void QHttpPart::setBody(class QByteArray const &) - ?trUtf8@QHttpMultiPart@@SA?AVQString@@PBD0H@Z @ 1171 NONAME ; class QString QHttpMultiPart::trUtf8(char const *, char const *, int) - ?staticMetaObject@QHttpMultiPart@@2UQMetaObject@@B @ 1172 NONAME ; struct QMetaObject const QHttpMultiPart::staticMetaObject - ??4QHttpPart@@QAEAAV0@ABV0@@Z @ 1173 NONAME ; class QHttpPart & QHttpPart::operator=(class QHttpPart const &) - ?append@QHttpMultiPart@@QAEXABVQHttpPart@@@Z @ 1174 NONAME ; void QHttpMultiPart::append(class QHttpPart const &) - ?setContentType@QHttpMultiPart@@QAEXW4ContentType@1@@Z @ 1175 NONAME ; void QHttpMultiPart::setContentType(enum QHttpMultiPart::ContentType) - ?d_func@QHttpMultiPart@@AAEPAVQHttpMultiPartPrivate@@XZ @ 1176 NONAME ; class QHttpMultiPartPrivate * QHttpMultiPart::d_func(void) - ??9QHttpPart@@QBE_NABV0@@Z @ 1177 NONAME ; bool QHttpPart::operator!=(class QHttpPart const &) const - ??0QHttpMultiPart@@QAE@W4ContentType@0@PAVQObject@@@Z @ 1178 NONAME ; QHttpMultiPart::QHttpMultiPart(enum QHttpMultiPart::ContentType, class QObject *) - ??0QHttpPart@@QAE@XZ @ 1179 NONAME ; QHttpPart::QHttpPart(void) - ?post@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@PAVQHttpMultiPart@@@Z @ 1180 NONAME ; class QNetworkReply * QNetworkAccessManager::post(class QNetworkRequest const &, class QHttpMultiPart *) - ??0QHttpMultiPart@@QAE@PAVQObject@@@Z @ 1181 NONAME ; QHttpMultiPart::QHttpMultiPart(class QObject *) - ??8QHttpPart@@QBE_NABV0@@Z @ 1182 NONAME ; bool QHttpPart::operator==(class QHttpPart const &) const - ?setBodyDevice@QHttpPart@@QAEXPAVQIODevice@@@Z @ 1183 NONAME ; void QHttpPart::setBodyDevice(class QIODevice *) - ?getStaticMetaObject@QHttpMultiPart@@SAABUQMetaObject@@XZ @ 1184 NONAME ; struct QMetaObject const & QHttpMultiPart::getStaticMetaObject(void) - ?qt_metacast@QHttpMultiPart@@UAEPAXPBD@Z @ 1185 NONAME ; void * QHttpMultiPart::qt_metacast(char const *) - ?put@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@PAVQHttpMultiPart@@@Z @ 1186 NONAME ; class QNetworkReply * QNetworkAccessManager::put(class QNetworkRequest const &, class QHttpMultiPart *) - ?tr@QHttpMultiPart@@SA?AVQString@@PBD0@Z @ 1187 NONAME ; class QString QHttpMultiPart::tr(char const *, char const *) - ?qt_metacall@QHttpMultiPart@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1188 NONAME ; int QHttpMultiPart::qt_metacall(enum QMetaObject::Call, int, void * *) - ?boundary@QHttpMultiPart@@QBE?AVQByteArray@@XZ @ 1189 NONAME ; class QByteArray QHttpMultiPart::boundary(void) const - ?setRawHeader@QHttpPart@@QAEXABVQByteArray@@0@Z @ 1190 NONAME ; void QHttpPart::setRawHeader(class QByteArray const &, class QByteArray const &) - ?metaObject@QHttpMultiPart@@UBEPBUQMetaObject@@XZ @ 1191 NONAME ; struct QMetaObject const * QHttpMultiPart::metaObject(void) const - ?setHeader@QHttpPart@@QAEXW4KnownHeaders@QNetworkRequest@@ABVQVariant@@@Z @ 1192 NONAME ; void QHttpPart::setHeader(enum QNetworkRequest::KnownHeaders, class QVariant const &) - ??1QHttpMultiPart@@UAE@XZ @ 1193 NONAME ; QHttpMultiPart::~QHttpMultiPart(void) - ?d_func@QHttpMultiPart@@ABEPBVQHttpMultiPartPrivate@@XZ @ 1194 NONAME ; class QHttpMultiPartPrivate const * QHttpMultiPart::d_func(void) const - ?tr@QHttpMultiPart@@SA?AVQString@@PBD0H@Z @ 1195 NONAME ; class QString QHttpMultiPart::tr(char const *, char const *, int) - ?setBoundary@QHttpMultiPart@@QAEXABVQByteArray@@@Z @ 1196 NONAME ; void QHttpMultiPart::setBoundary(class QByteArray const &) - ?qt_static_metacall@QNetworkSessionPrivate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1197 NONAME ; void QNetworkSessionPrivate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QUdpSocket@@0UQMetaObjectExtraData@@B @ 1198 NONAME ; struct QMetaObjectExtraData const QUdpSocket::staticMetaObjectExtraData - ?qt_static_metacall@QLocalSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1199 NONAME ; void QLocalSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QFtp@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1200 NONAME ; void QFtp::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QTcpServer@@0UQMetaObjectExtraData@@B @ 1201 NONAME ; struct QMetaObjectExtraData const QTcpServer::staticMetaObjectExtraData - ?qt_static_metacall@QSslSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1202 NONAME ; void QSslSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QNetworkSession@@0UQMetaObjectExtraData@@B @ 1203 NONAME ; struct QMetaObjectExtraData const QNetworkSession::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QNetworkAccessManager@@0UQMetaObjectExtraData@@B @ 1204 NONAME ; struct QMetaObjectExtraData const QNetworkAccessManager::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractSocket@@0UQMetaObjectExtraData@@B @ 1205 NONAME ; struct QMetaObjectExtraData const QAbstractSocket::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QTcpSocket@@0UQMetaObjectExtraData@@B @ 1206 NONAME ; struct QMetaObjectExtraData const QTcpSocket::staticMetaObjectExtraData - ?qt_static_metacall@QTcpServer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1207 NONAME ; void QTcpServer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QNetworkSessionPrivate@@0UQMetaObjectExtraData@@B @ 1208 NONAME ; struct QMetaObjectExtraData const QNetworkSessionPrivate::staticMetaObjectExtraData - ?qt_static_metacall@QNetworkConfigurationManagerPrivate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1209 NONAME ; void QNetworkConfigurationManagerPrivate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QHttp@@0UQMetaObjectExtraData@@B @ 1210 NONAME ; struct QMetaObjectExtraData const QHttp::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSslSocket@@0UQMetaObjectExtraData@@B @ 1211 NONAME ; struct QMetaObjectExtraData const QSslSocket::staticMetaObjectExtraData - ?qt_static_metacall@QNetworkReply@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1212 NONAME ; void QNetworkReply::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QLocalServer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1213 NONAME ; void QLocalServer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QNetworkConfigurationManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1214 NONAME ; void QNetworkConfigurationManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractNetworkCache@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1215 NONAME ; void QAbstractNetworkCache::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QNetworkCookieJar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1216 NONAME ; void QNetworkCookieJar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractNetworkCache@@0UQMetaObjectExtraData@@B @ 1217 NONAME ; struct QMetaObjectExtraData const QAbstractNetworkCache::staticMetaObjectExtraData - ?qt_static_metacall@QHttpMultiPart@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1218 NONAME ; void QHttpMultiPart::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QBearerEngine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1219 NONAME ; void QBearerEngine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QLocalSocket@@0UQMetaObjectExtraData@@B @ 1220 NONAME ; struct QMetaObjectExtraData const QLocalSocket::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QHttpMultiPart@@0UQMetaObjectExtraData@@B @ 1221 NONAME ; struct QMetaObjectExtraData const QHttpMultiPart::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QNetworkConfigurationManagerPrivate@@0UQMetaObjectExtraData@@B @ 1222 NONAME ; struct QMetaObjectExtraData const QNetworkConfigurationManagerPrivate::staticMetaObjectExtraData - ?qt_static_metacall@QHttp@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1223 NONAME ; void QHttp::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QLocalServer@@0UQMetaObjectExtraData@@B @ 1224 NONAME ; struct QMetaObjectExtraData const QLocalServer::staticMetaObjectExtraData - ?qt_static_metacall@QUdpSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1225 NONAME ; void QUdpSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QBearerEngine@@0UQMetaObjectExtraData@@B @ 1226 NONAME ; struct QMetaObjectExtraData const QBearerEngine::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QBearerEnginePlugin@@0UQMetaObjectExtraData@@B @ 1227 NONAME ; struct QMetaObjectExtraData const QBearerEnginePlugin::staticMetaObjectExtraData - ?qt_static_metacall@QNetworkAccessManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1228 NONAME ; void QNetworkAccessManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QNetworkCookieJar@@0UQMetaObjectExtraData@@B @ 1229 NONAME ; struct QMetaObjectExtraData const QNetworkCookieJar::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QNetworkReply@@0UQMetaObjectExtraData@@B @ 1230 NONAME ; struct QMetaObjectExtraData const QNetworkReply::staticMetaObjectExtraData - ?qt_static_metacall@QNetworkSession@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1231 NONAME ; void QNetworkSession::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QAbstractSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1232 NONAME ; void QAbstractSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QNetworkDiskCache@@0UQMetaObjectExtraData@@B @ 1233 NONAME ; struct QMetaObjectExtraData const QNetworkDiskCache::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QFtp@@0UQMetaObjectExtraData@@B @ 1234 NONAME ; struct QMetaObjectExtraData const QFtp::staticMetaObjectExtraData - ?qt_static_metacall@QNetworkDiskCache@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1235 NONAME ; void QNetworkDiskCache::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QBearerEnginePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1236 NONAME ; void QBearerEnginePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QNetworkConfigurationManager@@0UQMetaObjectExtraData@@B @ 1237 NONAME ; struct QMetaObjectExtraData const QNetworkConfigurationManager::staticMetaObjectExtraData - ?qt_static_metacall@QTcpSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1238 NONAME ; void QTcpSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ??0QNetworkProxyQuery@@QAE@ABVQNetworkConfiguration@@ABVQUrl@@W4QueryType@0@@Z @ 1239 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkConfiguration const &, class QUrl const &, enum QNetworkProxyQuery::QueryType) - ??0QNetworkProxyQuery@@QAE@ABVQNetworkConfiguration@@ABVQString@@H1W4QueryType@0@@Z @ 1240 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkConfiguration const &, class QString const &, int, class QString const &, enum QNetworkProxyQuery::QueryType) - ?networkConfiguration@QNetworkProxyQuery@@QBE?AVQNetworkConfiguration@@XZ @ 1241 NONAME ; class QNetworkConfiguration QNetworkProxyQuery::networkConfiguration(void) const - ?setNetworkConfiguration@QNetworkProxyQuery@@QAEXABVQNetworkConfiguration@@@Z @ 1242 NONAME ; void QNetworkProxyQuery::setNetworkConfiguration(class QNetworkConfiguration const &) - ??0QNetworkProxyQuery@@QAE@ABVQNetworkConfiguration@@GABVQString@@W4QueryType@0@@Z @ 1243 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkConfiguration const &, unsigned short, class QString const &, enum QNetworkProxyQuery::QueryType) - ?cleanup@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1244 NONAME ; void QNetworkConfigurationManagerPrivate::cleanup(void) - ?initialize@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1245 NONAME ; void QNetworkConfigurationManagerPrivate::initialize(void) + ??_EQSslError@@QAE@I@Z @ 1147 NONAME ABSENT ; QSslError::~QSslError(unsigned int) + ??0QBearerEngineFactoryInterface@@QAE@XZ @ 1148 NONAME ABSENT ; QBearerEngineFactoryInterface::QBearerEngineFactoryInterface(void) + ??_EQSslCipher@@QAE@I@Z @ 1149 NONAME ABSENT ; QSslCipher::~QSslCipher(unsigned int) + ??_EQSslConfiguration@@QAE@I@Z @ 1150 NONAME ABSENT ; QSslConfiguration::~QSslConfiguration(unsigned int) + ??_EQSslCertificate@@QAE@I@Z @ 1151 NONAME ABSENT ; QSslCertificate::~QSslCertificate(unsigned int) + ??_EQNetworkInterface@@QAE@I@Z @ 1152 NONAME ABSENT ; QNetworkInterface::~QNetworkInterface(unsigned int) + ??_EQNetworkProxy@@QAE@I@Z @ 1153 NONAME ABSENT ; QNetworkProxy::~QNetworkProxy(unsigned int) + ??_EQHostAddress@@QAE@I@Z @ 1154 NONAME ABSENT ; QHostAddress::~QHostAddress(unsigned int) + ??_EQNetworkConfiguration@@QAE@I@Z @ 1155 NONAME ABSENT ; QNetworkConfiguration::~QNetworkConfiguration(unsigned int) + ??_EQHostInfo@@QAE@I@Z @ 1156 NONAME ABSENT ; QHostInfo::~QHostInfo(unsigned int) + ??_EQNetworkRequest@@QAE@I@Z @ 1157 NONAME ABSENT ; QNetworkRequest::~QNetworkRequest(unsigned int) + ??4QIPv6Address@@QAEAAV0@ABV0@@Z @ 1158 NONAME ABSENT ; class QIPv6Address & QIPv6Address::operator=(class QIPv6Address const &) + ??_EQNetworkAddressEntry@@QAE@I@Z @ 1159 NONAME ABSENT ; QNetworkAddressEntry::~QNetworkAddressEntry(unsigned int) + ??_EQNetworkCookie@@QAE@I@Z @ 1160 NONAME ABSENT ; QNetworkCookie::~QNetworkCookie(unsigned int) + ?tr@QHttpMultiPart@@SA?AVQString@@PBD0H@Z @ 1161 NONAME ; class QString QHttpMultiPart::tr(char const *, char const *, int) + ?staticMetaObject@QHttpMultiPart@@2UQMetaObject@@B @ 1162 NONAME ; struct QMetaObject const QHttpMultiPart::staticMetaObject + ?staticMetaObjectExtraData@QFtp@@0UQMetaObjectExtraData@@B @ 1163 NONAME ; struct QMetaObjectExtraData const QFtp::staticMetaObjectExtraData + ?joinMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@ABVQNetworkInterface@@@Z @ 1164 NONAME ; bool QUdpSocket::joinMulticastGroup(class QHostAddress const &, class QNetworkInterface const &) + ?trUtf8@QHttpMultiPart@@SA?AVQString@@PBD0@Z @ 1165 NONAME ; class QString QHttpMultiPart::trUtf8(char const *, char const *) + ??0QHttpPart@@QAE@ABV0@@Z @ 1166 NONAME ; QHttpPart::QHttpPart(class QHttpPart const &) + ?setMulticastInterface@QUdpSocket@@QAEXABVQNetworkInterface@@@Z @ 1167 NONAME ; void QUdpSocket::setMulticastInterface(class QNetworkInterface const &) + ?qt_static_metacall@QNetworkReply@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1168 NONAME ; void QNetworkReply::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QNetworkConfigurationManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1169 NONAME ; void QNetworkConfigurationManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setFinished@QNetworkReply@@IAEX_N@Z @ 1170 NONAME ; void QNetworkReply::setFinished(bool) + ??9QHttpPart@@QBE_NABV0@@Z @ 1171 NONAME ; bool QHttpPart::operator!=(class QHttpPart const &) const + ??0QHttpMultiPart@@QAE@PAVQObject@@@Z @ 1172 NONAME ; QHttpMultiPart::QHttpMultiPart(class QObject *) + ?setPeerVerifyName@QSslSocket@@QAEXABVQString@@@Z @ 1173 NONAME ; void QSslSocket::setPeerVerifyName(class QString const &) + ?qt_static_metacall@QUdpSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1174 NONAME ; void QUdpSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QLocalSocket@@0UQMetaObjectExtraData@@B @ 1175 NONAME ; struct QMetaObjectExtraData const QLocalSocket::staticMetaObjectExtraData + ??0QNetworkProxyQuery@@QAE@ABVQNetworkConfiguration@@ABVQUrl@@W4QueryType@0@@Z @ 1176 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkConfiguration const &, class QUrl const &, enum QNetworkProxyQuery::QueryType) + ?staticMetaObjectExtraData@QNetworkCookieJar@@0UQMetaObjectExtraData@@B @ 1177 NONAME ; struct QMetaObjectExtraData const QNetworkCookieJar::staticMetaObjectExtraData + ??1QHttpPart@@QAE@XZ @ 1178 NONAME ; QHttpPart::~QHttpPart(void) + ?tr@QHttpMultiPart@@SA?AVQString@@PBD0@Z @ 1179 NONAME ; class QString QHttpMultiPart::tr(char const *, char const *) + ?staticMetaObjectExtraData@QBearerEngine@@0UQMetaObjectExtraData@@B @ 1180 NONAME ; struct QMetaObjectExtraData const QBearerEngine::staticMetaObjectExtraData + ?qt_static_metacall@QTcpSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1181 NONAME ; void QTcpSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QTcpSocket@@0UQMetaObjectExtraData@@B @ 1182 NONAME ; struct QMetaObjectExtraData const QTcpSocket::staticMetaObjectExtraData + ?qt_static_metacall@QHttp@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1183 NONAME ; void QHttp::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QNetworkSession@@0UQMetaObjectExtraData@@B @ 1184 NONAME ; struct QMetaObjectExtraData const QNetworkSession::staticMetaObjectExtraData + ?engines@QNetworkConfigurationManagerPrivate@@QBE?AV?$QList@PAVQBearerEngine@@@@XZ @ 1185 NONAME ; class QList QNetworkConfigurationManagerPrivate::engines(void) const + ?qt_static_metacall@QNetworkSessionPrivate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1186 NONAME ; void QNetworkSessionPrivate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSslSocket@@0UQMetaObjectExtraData@@B @ 1187 NONAME ; struct QMetaObjectExtraData const QSslSocket::staticMetaObjectExtraData + ?qt_static_metacall@QTcpServer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1188 NONAME ; void QTcpServer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QLocalServer@@0UQMetaObjectExtraData@@B @ 1189 NONAME ; struct QMetaObjectExtraData const QLocalServer::staticMetaObjectExtraData + ?append@QHttpMultiPart@@QAEXABVQHttpPart@@@Z @ 1190 NONAME ; void QHttpMultiPart::append(class QHttpPart const &) + ?d_func@QHttpMultiPart@@ABEPBVQHttpMultiPartPrivate@@XZ @ 1191 NONAME ; class QHttpMultiPartPrivate const * QHttpMultiPart::d_func(void) const + ?staticMetaObjectExtraData@QHttp@@0UQMetaObjectExtraData@@B @ 1192 NONAME ; struct QMetaObjectExtraData const QHttp::staticMetaObjectExtraData + ?setBodyDevice@QHttpPart@@QAEXPAVQIODevice@@@Z @ 1193 NONAME ; void QHttpPart::setBodyDevice(class QIODevice *) + ?staticMetaObjectExtraData@QNetworkReply@@0UQMetaObjectExtraData@@B @ 1194 NONAME ; struct QMetaObjectExtraData const QNetworkReply::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QTcpServer@@0UQMetaObjectExtraData@@B @ 1195 NONAME ; struct QMetaObjectExtraData const QTcpServer::staticMetaObjectExtraData + ??0QNetworkProxyQuery@@QAE@ABVQNetworkConfiguration@@ABVQString@@H1W4QueryType@0@@Z @ 1196 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkConfiguration const &, class QString const &, int, class QString const &, enum QNetworkProxyQuery::QueryType) + ??4QHttpPart@@QAEAAV0@ABV0@@Z @ 1197 NONAME ; class QHttpPart & QHttpPart::operator=(class QHttpPart const &) + ?nativeOpenSocket@QNetworkSessionPrivate@@SAHAAVQNetworkSession@@AAVRSocket@@III@Z @ 1198 NONAME ; int QNetworkSessionPrivate::nativeOpenSocket(class QNetworkSession &, class RSocket &, unsigned int, unsigned int, unsigned int) + ?networkConfiguration@QNetworkProxyQuery@@QBE?AVQNetworkConfiguration@@XZ @ 1199 NONAME ; class QNetworkConfiguration QNetworkProxyQuery::networkConfiguration(void) const + ?nativeOpenHostResolver@QNetworkSessionPrivate@@SAHAAVQNetworkSession@@AAVRHostResolver@@II@Z @ 1200 NONAME ; int QNetworkSessionPrivate::nativeOpenHostResolver(class QNetworkSession &, class RHostResolver &, unsigned int, unsigned int) + ??_EQHttpMultiPart@@UAE@I@Z @ 1201 NONAME ; QHttpMultiPart::~QHttpMultiPart(unsigned int) + ?qt_static_metacall@QNetworkConfigurationManagerPrivate@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1202 NONAME ; void QNetworkConfigurationManagerPrivate::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?configurationFromIdentifier@QNetworkConfigurationManagerPrivate@@QBE?AVQNetworkConfiguration@@ABVQString@@@Z @ 1203 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::configurationFromIdentifier(class QString const &) const + ?setBody@QHttpPart@@QAEXABVQByteArray@@@Z @ 1204 NONAME ; void QHttpPart::setBody(class QByteArray const &) + ?nativeSession@QNetworkSessionPrivate@@SAPAVRConnection@@AAVQNetworkSession@@@Z @ 1205 NONAME ; class RConnection * QNetworkSessionPrivate::nativeSession(class QNetworkSession &) + ?staticMetaObjectExtraData@QNetworkConfigurationManagerPrivate@@0UQMetaObjectExtraData@@B @ 1206 NONAME ; struct QMetaObjectExtraData const QNetworkConfigurationManagerPrivate::staticMetaObjectExtraData + ?isOnline@QNetworkConfigurationManagerPrivate@@QBE_NXZ @ 1207 NONAME ; bool QNetworkConfigurationManagerPrivate::isOnline(void) const + ?qt_static_metacall@QAbstractNetworkCache@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1208 NONAME ; void QAbstractNetworkCache::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QHttpMultiPart@@QAE@W4ContentType@0@PAVQObject@@@Z @ 1209 NONAME ; QHttpMultiPart::QHttpMultiPart(enum QHttpMultiPart::ContentType, class QObject *) + ?multicastInterface@QUdpSocket@@QBE?AVQNetworkInterface@@XZ @ 1210 NONAME ; class QNetworkInterface QUdpSocket::multicastInterface(void) const + ?d_func@QHttpMultiPart@@AAEPAVQHttpMultiPartPrivate@@XZ @ 1211 NONAME ; class QHttpMultiPartPrivate * QHttpMultiPart::d_func(void) + ?qt_static_metacall@QLocalSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1212 NONAME ; void QLocalSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?cleanup@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1213 NONAME ; void QNetworkConfigurationManagerPrivate::cleanup(void) + ?qt_static_metacall@QNetworkDiskCache@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1214 NONAME ; void QNetworkDiskCache::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?defaultConfiguration@QNetworkConfigurationManagerPrivate@@QBE?AVQNetworkConfiguration@@XZ @ 1215 NONAME ; class QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(void) const + ?qt_static_metacall@QLocalServer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1216 NONAME ; void QLocalServer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?peerVerifyName@QSslSocket@@QBE?AVQString@@XZ @ 1217 NONAME ; class QString QSslSocket::peerVerifyName(void) const + ?boundary@QHttpMultiPart@@QBE?AVQByteArray@@XZ @ 1218 NONAME ; class QByteArray QHttpMultiPart::boundary(void) const + ?joinMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@@Z @ 1219 NONAME ; bool QUdpSocket::joinMulticastGroup(class QHostAddress const &) + ?setHeader@QHttpPart@@QAEXW4KnownHeaders@QNetworkRequest@@ABVQVariant@@@Z @ 1220 NONAME ; void QHttpPart::setHeader(enum QNetworkRequest::KnownHeaders, class QVariant const &) + ??1QHttpMultiPart@@UAE@XZ @ 1221 NONAME ; QHttpMultiPart::~QHttpMultiPart(void) + ?allConfigurations@QNetworkConfigurationManagerPrivate@@QBE?AV?$QList@VQNetworkConfiguration@@@@V?$QFlags@W4StateFlag@QNetworkConfiguration@@@@@Z @ 1222 NONAME ; class QList QNetworkConfigurationManagerPrivate::allConfigurations(class QFlags) const + ?staticMetaObjectExtraData@QBearerEnginePlugin@@0UQMetaObjectExtraData@@B @ 1223 NONAME ; struct QMetaObjectExtraData const QBearerEnginePlugin::staticMetaObjectExtraData + ?initialize@QNetworkConfigurationManagerPrivate@@QAEXXZ @ 1224 NONAME ; void QNetworkConfigurationManagerPrivate::initialize(void) + ?post@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@PAVQHttpMultiPart@@@Z @ 1225 NONAME ; class QNetworkReply * QNetworkAccessManager::post(class QNetworkRequest const &, class QHttpMultiPart *) + ?qt_metacast@QHttpMultiPart@@UAEPAXPBD@Z @ 1226 NONAME ; void * QHttpMultiPart::qt_metacast(char const *) + ?qt_static_metacall@QNetworkAccessManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1227 NONAME ; void QNetworkAccessManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSslSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1228 NONAME ; void QSslSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_metacall@QHttpMultiPart@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1229 NONAME ; int QHttpMultiPart::qt_metacall(enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QAbstractSocket@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1230 NONAME ; void QAbstractSocket::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QHttpPart@@QAE@XZ @ 1231 NONAME ; QHttpPart::QHttpPart(void) + ?setBoundary@QHttpMultiPart@@QAEXABVQByteArray@@@Z @ 1232 NONAME ; void QHttpMultiPart::setBoundary(class QByteArray const &) + ??8QHttpPart@@QBE_NABV0@@Z @ 1233 NONAME ; bool QHttpPart::operator==(class QHttpPart const &) const + ?setNetworkConfiguration@QNetworkProxyQuery@@QAEXABVQNetworkConfiguration@@@Z @ 1234 NONAME ; void QNetworkProxyQuery::setNetworkConfiguration(class QNetworkConfiguration const &) + ?staticMetaObjectExtraData@QHttpMultiPart@@0UQMetaObjectExtraData@@B @ 1235 NONAME ; struct QMetaObjectExtraData const QHttpMultiPart::staticMetaObjectExtraData + ?trUtf8@QHttpMultiPart@@SA?AVQString@@PBD0H@Z @ 1236 NONAME ; class QString QHttpMultiPart::trUtf8(char const *, char const *, int) + ?staticMetaObjectExtraData@QAbstractSocket@@0UQMetaObjectExtraData@@B @ 1237 NONAME ; struct QMetaObjectExtraData const QAbstractSocket::staticMetaObjectExtraData + ?qt_static_metacall@QHttpMultiPart@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1238 NONAME ; void QHttpMultiPart::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?leaveMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@ABVQNetworkInterface@@@Z @ 1239 NONAME ; bool QUdpSocket::leaveMulticastGroup(class QHostAddress const &, class QNetworkInterface const &) + ?qt_static_metacall@QNetworkCookieJar@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1240 NONAME ; void QNetworkCookieJar::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QFtp@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1241 NONAME ; void QFtp::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?getStaticMetaObject@QHttpMultiPart@@SAABUQMetaObject@@XZ @ 1242 NONAME ; struct QMetaObject const & QHttpMultiPart::getStaticMetaObject(void) + ?staticMetaObjectExtraData@QNetworkSessionPrivate@@0UQMetaObjectExtraData@@B @ 1243 NONAME ; struct QMetaObjectExtraData const QNetworkSessionPrivate::staticMetaObjectExtraData + ?put@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@PAVQHttpMultiPart@@@Z @ 1244 NONAME ; class QNetworkReply * QNetworkAccessManager::put(class QNetworkRequest const &, class QHttpMultiPart *) + ?staticMetaObjectExtraData@QUdpSocket@@0UQMetaObjectExtraData@@B @ 1245 NONAME ; struct QMetaObjectExtraData const QUdpSocket::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QNetworkDiskCache@@0UQMetaObjectExtraData@@B @ 1246 NONAME ; struct QMetaObjectExtraData const QNetworkDiskCache::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QAbstractNetworkCache@@0UQMetaObjectExtraData@@B @ 1247 NONAME ; struct QMetaObjectExtraData const QAbstractNetworkCache::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QNetworkConfigurationManager@@0UQMetaObjectExtraData@@B @ 1248 NONAME ; struct QMetaObjectExtraData const QNetworkConfigurationManager::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QNetworkAccessManager@@0UQMetaObjectExtraData@@B @ 1249 NONAME ; struct QMetaObjectExtraData const QNetworkAccessManager::staticMetaObjectExtraData + ?capabilities@QNetworkConfigurationManagerPrivate@@QBE?AV?$QFlags@W4Capability@QNetworkConfigurationManager@@@@XZ @ 1250 NONAME ; class QFlags QNetworkConfigurationManagerPrivate::capabilities(void) const + ?leaveMulticastGroup@QUdpSocket@@QAE_NABVQHostAddress@@@Z @ 1251 NONAME ; bool QUdpSocket::leaveMulticastGroup(class QHostAddress const &) + ?setContentType@QHttpMultiPart@@QAEXW4ContentType@1@@Z @ 1252 NONAME ; void QHttpMultiPart::setContentType(enum QHttpMultiPart::ContentType) + ?qt_static_metacall@QBearerEngine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1253 NONAME ; void QBearerEngine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setRawHeader@QHttpPart@@QAEXABVQByteArray@@0@Z @ 1254 NONAME ; void QHttpPart::setRawHeader(class QByteArray const &, class QByteArray const &) + ?qt_static_metacall@QBearerEnginePlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1255 NONAME ; void QBearerEnginePlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QNetworkProxyQuery@@QAE@ABVQNetworkConfiguration@@GABVQString@@W4QueryType@0@@Z @ 1256 NONAME ; QNetworkProxyQuery::QNetworkProxyQuery(class QNetworkConfiguration const &, unsigned short, class QString const &, enum QNetworkProxyQuery::QueryType) + ?metaObject@QHttpMultiPart@@UBEPBUQMetaObject@@XZ @ 1257 NONAME ; struct QMetaObject const * QHttpMultiPart::metaObject(void) const + ?qt_static_metacall@QNetworkSession@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 1258 NONAME ; void QNetworkSession::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?startPolling@QNetworkConfigurationManagerPrivate@@AAEXXZ @ 1259 NONAME ; void QNetworkConfigurationManagerPrivate::startPolling(void) diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def index 1a9525d..664e981 100644 --- a/src/s60installs/bwins/QtOpenGLu.def +++ b/src/s60installs/bwins/QtOpenGLu.def @@ -725,155 +725,157 @@ EXPORTS ?platformExtension@QGLGraphicsSystem@@UAEPAVQGraphicsSystemEx@@XZ @ 724 NONAME ; class QGraphicsSystemEx * QGLGraphicsSystem::platformExtension(void) ?releaseCachedGpuResources@QGLGraphicsSystem@@UAEXXZ @ 725 NONAME ; void QGLGraphicsSystem::releaseCachedGpuResources(void) ?toVolatileImage@QGLPixmapData@@UBE?AVQVolatileImage@@XZ @ 726 NONAME ; class QVolatileImage QGLPixmapData::toVolatileImage(void) const - ?glGetActiveAttrib@QGLFunctions@@QAEXIIHPAH0PAIPAD@Z @ 727 NONAME ; void QGLFunctions::glGetActiveAttrib(unsigned int, unsigned int, int, int *, int *, unsigned int *, char *) - ?glBindFramebuffer@QGLFunctions@@QAEXII@Z @ 728 NONAME ; void QGLFunctions::glBindFramebuffer(unsigned int, unsigned int) - ?glBufferData@QGLFunctions@@QAEXIHPBXI@Z @ 729 NONAME ; void QGLFunctions::glBufferData(unsigned int, int, void const *, unsigned int) - ?glValidateProgram@QGLFunctions@@QAEXI@Z @ 730 NONAME ; void QGLFunctions::glValidateProgram(unsigned int) - ?glUniform1f@QGLFunctions@@QAEXHM@Z @ 731 NONAME ; void QGLFunctions::glUniform1f(int, float) - ?glDetachShader@QGLFunctions@@QAEXII@Z @ 732 NONAME ; void QGLFunctions::glDetachShader(unsigned int, unsigned int) - ?glDeleteProgram@QGLFunctions@@QAEXI@Z @ 733 NONAME ; void QGLFunctions::glDeleteProgram(unsigned int) - ??_EQGLContextResourceBase@@UAE@I@Z @ 734 NONAME ; QGLContextResourceBase::~QGLContextResourceBase(unsigned int) - ?glUniform2f@QGLFunctions@@QAEXHMM@Z @ 735 NONAME ; void QGLFunctions::glUniform2f(int, float, float) - ?glIsProgram@QGLFunctions@@QAEEI@Z @ 736 NONAME ; unsigned char QGLFunctions::glIsProgram(unsigned int) - ?openGLFeatures@QGLFunctions@@QBE?AV?$QFlags@W4OpenGLFeature@QGLFunctions@@@@XZ @ 737 NONAME ; class QFlags QGLFunctions::openGLFeatures(void) const - ?glReleaseShaderCompiler@QGLFunctions@@QAEXXZ @ 738 NONAME ; void QGLFunctions::glReleaseShaderCompiler(void) - ??0QGLTextureGlyphCache@@QAE@PBVQGLContext@@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 739 NONAME ; QGLTextureGlyphCache::QGLTextureGlyphCache(class QGLContext const *, enum QFontEngineGlyphCache::Type, class QTransform const &) - ?context@QGLTextureGlyphCache@@QBEPBVQGLContext@@XZ @ 740 NONAME ; class QGLContext const * QGLTextureGlyphCache::context(void) const - ?glGenRenderbuffers@QGLFunctions@@QAEXHPAI@Z @ 741 NONAME ; void QGLFunctions::glGenRenderbuffers(int, unsigned int *) - ?glBindBuffer@QGLFunctions@@QAEXII@Z @ 742 NONAME ; void QGLFunctions::glBindBuffer(unsigned int, unsigned int) - ?glUniformMatrix3fv@QGLFunctions@@QAEXHHEPBM@Z @ 743 NONAME ; void QGLFunctions::glUniformMatrix3fv(int, int, unsigned char, float const *) - ?glGenerateMipmap@QGLFunctions@@QAEXI@Z @ 744 NONAME ; void QGLFunctions::glGenerateMipmap(unsigned int) - ?hasOpenGLFeature@QGLFunctions@@QBE_NW4OpenGLFeature@1@@Z @ 745 NONAME ; bool QGLFunctions::hasOpenGLFeature(enum QGLFunctions::OpenGLFeature) const - ?glGetAttachedShaders@QGLFunctions@@QAEXIHPAHPAI@Z @ 746 NONAME ; void QGLFunctions::glGetAttachedShaders(unsigned int, int, int *, unsigned int *) - ?glDeleteShader@QGLFunctions@@QAEXI@Z @ 747 NONAME ; void QGLFunctions::glDeleteShader(unsigned int) - ?simpleProgram@QGLEngineSharedShaders@@QAEPAVQGLShaderProgram@@XZ @ 748 NONAME ; class QGLShaderProgram * QGLEngineSharedShaders::simpleProgram(void) - ?blitProgram@QGLEngineSharedShaders@@QAEPAVQGLShaderProgram@@XZ @ 749 NONAME ; class QGLShaderProgram * QGLEngineSharedShaders::blitProgram(void) - ?glLinkProgram@QGLFunctions@@QAEXI@Z @ 750 NONAME ; void QGLFunctions::glLinkProgram(unsigned int) - ?glUseProgram@QGLFunctions@@QAEXI@Z @ 751 NONAME ; void QGLFunctions::glUseProgram(unsigned int) - ??0QGLFunctions@@QAE@PBVQGLContext@@@Z @ 752 NONAME ; QGLFunctions::QGLFunctions(class QGLContext const *) - ?glGetBufferParameteriv@QGLFunctions@@QAEXIIPAH@Z @ 753 NONAME ; void QGLFunctions::glGetBufferParameteriv(unsigned int, unsigned int, int *) - ?glGenBuffers@QGLFunctions@@QAEXHPAI@Z @ 754 NONAME ; void QGLFunctions::glGenBuffers(int, unsigned int *) - ?glGetShaderiv@QGLFunctions@@QAEXIIPAH@Z @ 755 NONAME ; void QGLFunctions::glGetShaderiv(unsigned int, unsigned int, int *) - ?fillTexture@QGLTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@IUQFixed@@@Z @ 756 NONAME ; void QGLTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int, struct QFixed) - ?glUniform2fv@QGLFunctions@@QAEXHHPBM@Z @ 757 NONAME ; void QGLFunctions::glUniform2fv(int, int, float const *) - ??0QGLContextGroupResourceBase@@QAE@XZ @ 758 NONAME ; QGLContextGroupResourceBase::QGLContextGroupResourceBase(void) - ?glGetFramebufferAttachmentParameteriv@QGLFunctions@@QAEXIIIPAH@Z @ 759 NONAME ; void QGLFunctions::glGetFramebufferAttachmentParameteriv(unsigned int, unsigned int, unsigned int, int *) - ??0QGLEngineSharedShaders@@QAE@PBVQGLContext@@@Z @ 760 NONAME ; QGLEngineSharedShaders::QGLEngineSharedShaders(class QGLContext const *) - ?cleanup@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 761 NONAME ; void QGLContextGroupResourceBase::cleanup(class QGLContext const *, void *) - ?glUniform2iv@QGLFunctions@@QAEXHHPBH@Z @ 762 NONAME ; void QGLFunctions::glUniform2iv(int, int, int const *) - ?glCompileShader@QGLFunctions@@QAEXI@Z @ 763 NONAME ; void QGLFunctions::glCompileShader(unsigned int) - ?qShaderSnippets@QGLEngineSharedShaders@@0PAPBDA @ 764 NONAME ; char const * * QGLEngineSharedShaders::qShaderSnippets - ?isFlipped@QGLPaintDevice@@UBE_NXZ @ 765 NONAME ; bool QGLPaintDevice::isFlipped(void) const - ?shadersForContext@QGLEngineSharedShaders@@SAPAV1@PBVQGLContext@@@Z @ 766 NONAME ; class QGLEngineSharedShaders * QGLEngineSharedShaders::shadersForContext(class QGLContext const *) - ?cleanupCustomStage@QGLEngineSharedShaders@@QAEXPAVQGLCustomShaderStage@@@Z @ 767 NONAME ; void QGLEngineSharedShaders::cleanupCustomStage(class QGLCustomShaderStage *) - ?glGetProgramiv@QGLFunctions@@QAEXIIPAH@Z @ 768 NONAME ; void QGLFunctions::glGetProgramiv(unsigned int, unsigned int, int *) - ?glClearDepthf@QGLFunctions@@QAEXM@Z @ 769 NONAME ; void QGLFunctions::glClearDepthf(float) - ?glIsFramebuffer@QGLFunctions@@QAEEI@Z @ 770 NONAME ; unsigned char QGLFunctions::glIsFramebuffer(unsigned int) - ?getStaticMetaObject@QGLEngineSharedShaders@@SAABUQMetaObject@@XZ @ 771 NONAME ; struct QMetaObject const & QGLEngineSharedShaders::getStaticMetaObject(void) - ?glUniform4f@QGLFunctions@@QAEXHMMMM@Z @ 772 NONAME ; void QGLFunctions::glUniform4f(int, float, float, float, float) - ?glUniform3f@QGLFunctions@@QAEXHMMM@Z @ 773 NONAME ; void QGLFunctions::glUniform3f(int, float, float, float) - ??1QGLEngineSharedShaders@@QAE@XZ @ 774 NONAME ; QGLEngineSharedShaders::~QGLEngineSharedShaders(void) - ?glDeleteRenderbuffers@QGLFunctions@@QAEXHPBI@Z @ 775 NONAME ; void QGLFunctions::glDeleteRenderbuffers(int, unsigned int const *) - ?glVertexAttrib1f@QGLFunctions@@QAEXIM@Z @ 776 NONAME ; void QGLFunctions::glVertexAttrib1f(unsigned int, float) - ?glVertexAttrib4f@QGLFunctions@@QAEXIMMMM@Z @ 777 NONAME ; void QGLFunctions::glVertexAttrib4f(unsigned int, float, float, float, float) - ?glSampleCoverage@QGLFunctions@@QAEXME@Z @ 778 NONAME ; void QGLFunctions::glSampleCoverage(float, unsigned char) - ?glGetActiveUniform@QGLFunctions@@QAEXIIHPAH0PAIPAD@Z @ 779 NONAME ; void QGLFunctions::glGetActiveUniform(unsigned int, unsigned int, int, int *, int *, unsigned int *, char *) - ??_EQGLContextGroupResourceBase@@UAE@I@Z @ 780 NONAME ; QGLContextGroupResourceBase::~QGLContextGroupResourceBase(unsigned int) - ?findProgramInCache@QGLEngineSharedShaders@@QAEPAVQGLEngineShaderProg@@ABV2@@Z @ 781 NONAME ; class QGLEngineShaderProg * QGLEngineSharedShaders::findProgramInCache(class QGLEngineShaderProg const &) - ?glStencilOpSeparate@QGLFunctions@@QAEXIIII@Z @ 782 NONAME ; void QGLFunctions::glStencilOpSeparate(unsigned int, unsigned int, unsigned int, unsigned int) - ?glCheckFramebufferStatus@QGLFunctions@@QAEII@Z @ 783 NONAME ; unsigned int QGLFunctions::glCheckFramebufferStatus(unsigned int) - ?glDepthRangef@QGLFunctions@@QAEXMM@Z @ 784 NONAME ; void QGLFunctions::glDepthRangef(float, float) - ??1QGLFunctions@@QAE@XZ @ 785 NONAME ; QGLFunctions::~QGLFunctions(void) - ?glStencilMaskSeparate@QGLFunctions@@QAEXII@Z @ 786 NONAME ; void QGLFunctions::glStencilMaskSeparate(unsigned int, unsigned int) - ?glBlendColor@QGLFunctions@@QAEXMMMM@Z @ 787 NONAME ; void QGLFunctions::glBlendColor(float, float, float, float) - ?glUniform1fv@QGLFunctions@@QAEXHHPBM@Z @ 788 NONAME ; void QGLFunctions::glUniform1fv(int, int, float const *) - ??1QGLContextResourceBase@@UAE@XZ @ 789 NONAME ; QGLContextResourceBase::~QGLContextResourceBase(void) - ?glCreateProgram@QGLFunctions@@QAEIXZ @ 790 NONAME ; unsigned int QGLFunctions::glCreateProgram(void) - ?glVertexAttrib2f@QGLFunctions@@QAEXIMM@Z @ 791 NONAME ; void QGLFunctions::glVertexAttrib2f(unsigned int, float, float) - ?glUniformMatrix2fv@QGLFunctions@@QAEXHHEPBM@Z @ 792 NONAME ; void QGLFunctions::glUniformMatrix2fv(int, int, unsigned char, float const *) - ?glBufferSubData@QGLFunctions@@QAEXIHHPBX@Z @ 793 NONAME ; void QGLFunctions::glBufferSubData(unsigned int, int, int, void const *) - ?glUniform1iv@QGLFunctions@@QAEXHHPBH@Z @ 794 NONAME ; void QGLFunctions::glUniform1iv(int, int, int const *) - ?qt_resolve_buffer_extensions@@YA_NPAVQGLContext@@@Z @ 795 NONAME ; bool qt_resolve_buffer_extensions(class QGLContext *) - ?glUniform1i@QGLFunctions@@QAEXHH@Z @ 796 NONAME ; void QGLFunctions::glUniform1i(int, int) - ?glVertexAttrib4fv@QGLFunctions@@QAEXIPBM@Z @ 797 NONAME ; void QGLFunctions::glVertexAttrib4fv(unsigned int, float const *) - ?glDeleteFramebuffers@QGLFunctions@@QAEXHPBI@Z @ 798 NONAME ; void QGLFunctions::glDeleteFramebuffers(int, unsigned int const *) - ?glGetVertexAttribfv@QGLFunctions@@QAEXIIPAM@Z @ 799 NONAME ; void QGLFunctions::glGetVertexAttribfv(unsigned int, unsigned int, float *) - ?glGetProgramInfoLog@QGLFunctions@@QAEXIHPAHPAD@Z @ 800 NONAME ; void QGLFunctions::glGetProgramInfoLog(unsigned int, int, int *, char *) - ?glGetShaderInfoLog@QGLFunctions@@QAEXIHPAHPAD@Z @ 801 NONAME ; void QGLFunctions::glGetShaderInfoLog(unsigned int, int, int *, char *) - ?glEnableVertexAttribArray@QGLFunctions@@QAEXI@Z @ 802 NONAME ; void QGLFunctions::glEnableVertexAttribArray(unsigned int) - ?glGetVertexAttribiv@QGLFunctions@@QAEXIIPAH@Z @ 803 NONAME ; void QGLFunctions::glGetVertexAttribiv(unsigned int, unsigned int, int *) - ?glCompressedTexImage2D@QGLFunctions@@QAEXIHIHHHHPBX@Z @ 804 NONAME ; void QGLFunctions::glCompressedTexImage2D(unsigned int, int, unsigned int, int, int, int, int, void const *) - ?glGetAttribLocation@QGLFunctions@@QAEHIPBD@Z @ 805 NONAME ; int QGLFunctions::glGetAttribLocation(unsigned int, char const *) - ?glActiveTexture@QGLFunctions@@QAEXI@Z @ 806 NONAME ; void QGLFunctions::glActiveTexture(unsigned int) - ?glUniform4fv@QGLFunctions@@QAEXHHPBM@Z @ 807 NONAME ; void QGLFunctions::glUniform4fv(int, int, float const *) - ?glCreateShader@QGLFunctions@@QAEII@Z @ 808 NONAME ; unsigned int QGLFunctions::glCreateShader(unsigned int) - ?glAttachShader@QGLFunctions@@QAEXII@Z @ 809 NONAME ; void QGLFunctions::glAttachShader(unsigned int, unsigned int) - ?glRenderbufferStorage@QGLFunctions@@QAEXIIHH@Z @ 810 NONAME ; void QGLFunctions::glRenderbufferStorage(unsigned int, unsigned int, int, int) - ?glVertexAttribPointer@QGLFunctions@@QAEXIHIEHPBX@Z @ 811 NONAME ; void QGLFunctions::glVertexAttribPointer(unsigned int, int, unsigned int, unsigned char, int, void const *) - ?glUniform4iv@QGLFunctions@@QAEXHHPBH@Z @ 812 NONAME ; void QGLFunctions::glUniform4iv(int, int, int const *) - ?glDisableVertexAttribArray@QGLFunctions@@QAEXI@Z @ 813 NONAME ; void QGLFunctions::glDisableVertexAttribArray(unsigned int) - ?features@QGLWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 814 NONAME ; class QFlags QGLWindowSurface::features(void) const - ?glIsShader@QGLFunctions@@QAEEI@Z @ 815 NONAME ; unsigned char QGLFunctions::glIsShader(unsigned int) - ?glShaderBinary@QGLFunctions@@QAEXHPBIIPBXH@Z @ 816 NONAME ; void QGLFunctions::glShaderBinary(int, unsigned int const *, unsigned int, void const *, int) - ?glGenFramebuffers@QGLFunctions@@QAEXHPAI@Z @ 817 NONAME ; void QGLFunctions::glGenFramebuffers(int, unsigned int *) - ?glVertexAttrib3fv@QGLFunctions@@QAEXIPBM@Z @ 818 NONAME ; void QGLFunctions::glVertexAttrib3fv(unsigned int, float const *) - ?glGetVertexAttribPointerv@QGLFunctions@@QAEXIIPAPAX@Z @ 819 NONAME ; void QGLFunctions::glGetVertexAttribPointerv(unsigned int, unsigned int, void * *) - ?snippetNameStr@QGLEngineSharedShaders@@SA?AVQByteArray@@W4SnippetName@1@@Z @ 820 NONAME ; class QByteArray QGLEngineSharedShaders::snippetNameStr(enum QGLEngineSharedShaders::SnippetName) - ?glUniformMatrix4fv@QGLFunctions@@QAEXHHEPBM@Z @ 821 NONAME ; void QGLFunctions::glUniformMatrix4fv(int, int, unsigned char, float const *) - ?setContext@QGLTextureGlyphCache@@QAEXPBVQGLContext@@@Z @ 822 NONAME ; void QGLTextureGlyphCache::setContext(class QGLContext const *) - ?glDeleteBuffers@QGLFunctions@@QAEXHPBI@Z @ 823 NONAME ; void QGLFunctions::glDeleteBuffers(int, unsigned int const *) - ?glBindRenderbuffer@QGLFunctions@@QAEXII@Z @ 824 NONAME ; void QGLFunctions::glBindRenderbuffer(unsigned int, unsigned int) - ?glStencilFuncSeparate@QGLFunctions@@QAEXIIHI@Z @ 825 NONAME ; void QGLFunctions::glStencilFuncSeparate(unsigned int, unsigned int, int, unsigned int) - ?glGetUniformLocation@QGLFunctions@@QAEHIPBD@Z @ 826 NONAME ; int QGLFunctions::glGetUniformLocation(unsigned int, char const *) - ?glGetRenderbufferParameteriv@QGLFunctions@@QAEXIIPAH@Z @ 827 NONAME ; void QGLFunctions::glGetRenderbufferParameteriv(unsigned int, unsigned int, int *) - ?glBindAttribLocation@QGLFunctions@@QAEXIIPBD@Z @ 828 NONAME ; void QGLFunctions::glBindAttribLocation(unsigned int, unsigned int, char const *) - ?glGetShaderSource@QGLFunctions@@QAEXIHPAHPAD@Z @ 829 NONAME ; void QGLFunctions::glGetShaderSource(unsigned int, int, int *, char *) - ?setMipmap@QGLFramebufferObjectFormat@@QAEX_N@Z @ 830 NONAME ; void QGLFramebufferObjectFormat::setMipmap(bool) - ??1QGLContextGroupResourceBase@@UAE@XZ @ 831 NONAME ; QGLContextGroupResourceBase::~QGLContextGroupResourceBase(void) - ?glFramebufferTexture2D@QGLFunctions@@QAEXIIIIH@Z @ 832 NONAME ; void QGLFunctions::glFramebufferTexture2D(unsigned int, unsigned int, unsigned int, unsigned int, int) - ?glBlendEquationSeparate@QGLFunctions@@QAEXII@Z @ 833 NONAME ; void QGLFunctions::glBlendEquationSeparate(unsigned int, unsigned int) - ?insert@QGLContextResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 834 NONAME ; void QGLContextResourceBase::insert(class QGLContext const *, void *) - ??_EQGLEngineSharedShaders@@QAE@I@Z @ 835 NONAME ; QGLEngineSharedShaders::~QGLEngineSharedShaders(unsigned int) - ?glUniform2i@QGLFunctions@@QAEXHHH@Z @ 836 NONAME ; void QGLFunctions::glUniform2i(int, int, int) - ?glGetUniformfv@QGLFunctions@@QAEXIHPAM@Z @ 837 NONAME ; void QGLFunctions::glGetUniformfv(unsigned int, int, float *) - ?glUniform3i@QGLFunctions@@QAEXHHHH@Z @ 838 NONAME ; void QGLFunctions::glUniform3i(int, int, int, int) - ?staticMetaObject@QGLEngineSharedShaders@@2UQMetaObject@@B @ 839 NONAME ; struct QMetaObject const QGLEngineSharedShaders::staticMetaObject - ?cleanup@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@@Z @ 840 NONAME ; void QGLContextGroupResourceBase::cleanup(class QGLContext const *) - ?glIsRenderbuffer@QGLFunctions@@QAEEI@Z @ 841 NONAME ; unsigned char QGLFunctions::glIsRenderbuffer(unsigned int) - ?initializeGLFunctions@QGLFunctions@@QAEXPBVQGLContext@@@Z @ 842 NONAME ; void QGLFunctions::initializeGLFunctions(class QGLContext const *) - ??0QGLFunctions@@QAE@XZ @ 843 NONAME ; QGLFunctions::QGLFunctions(void) - ?glVertexAttrib2fv@QGLFunctions@@QAEXIPBM@Z @ 844 NONAME ; void QGLFunctions::glVertexAttrib2fv(unsigned int, float const *) - ?isInitialized@QGLFunctions@@CA_NPBUQGLFunctionsPrivate@@@Z @ 845 NONAME ; bool QGLFunctions::isInitialized(struct QGLFunctionsPrivate const *) - ?glGetUniformiv@QGLFunctions@@QAEXIHPAH@Z @ 846 NONAME ; void QGLFunctions::glGetUniformiv(unsigned int, int, int *) - ?glBlendEquation@QGLFunctions@@QAEXI@Z @ 847 NONAME ; void QGLFunctions::glBlendEquation(unsigned int) - ?glFramebufferRenderbuffer@QGLFunctions@@QAEXIIII@Z @ 848 NONAME ; void QGLFunctions::glFramebufferRenderbuffer(unsigned int, unsigned int, unsigned int, unsigned int) - ?glUniform4i@QGLFunctions@@QAEXHHHHH@Z @ 849 NONAME ; void QGLFunctions::glUniform4i(int, int, int, int, int) - ?glUniform3fv@QGLFunctions@@QAEXHHPBM@Z @ 850 NONAME ; void QGLFunctions::glUniform3fv(int, int, float const *) - ?value@QGLContextResourceBase@@QAEPAXPBVQGLContext@@@Z @ 851 NONAME ; void * QGLContextResourceBase::value(class QGLContext const *) - ?glBlendFuncSeparate@QGLFunctions@@QAEXIIII@Z @ 852 NONAME ; void QGLFunctions::glBlendFuncSeparate(unsigned int, unsigned int, unsigned int, unsigned int) - ?glCompressedTexSubImage2D@QGLFunctions@@QAEXIHHHHHIHPBX@Z @ 853 NONAME ; void QGLFunctions::glCompressedTexSubImage2D(unsigned int, int, int, int, int, int, unsigned int, int, void const *) - ?freeResource@QGLTextureGlyphCache@@UAEXPAX@Z @ 854 NONAME ; void QGLTextureGlyphCache::freeResource(void *) - ?value@QGLContextGroupResourceBase@@QAEPAXPBVQGLContext@@@Z @ 855 NONAME ; void * QGLContextGroupResourceBase::value(class QGLContext const *) - ?glUniform3iv@QGLFunctions@@QAEXHHPBH@Z @ 856 NONAME ; void QGLFunctions::glUniform3iv(int, int, int const *) - ?mipmap@QGLFramebufferObjectFormat@@QBE_NXZ @ 857 NONAME ; bool QGLFramebufferObjectFormat::mipmap(void) const - ?qt_extensionFuncs@QGLContextPrivate@@2UQGLExtensionFuncs@@A @ 858 NONAME ; struct QGLExtensionFuncs QGLContextPrivate::qt_extensionFuncs - ?glShaderSource@QGLFunctions@@QAEXIHPAPBDPBH@Z @ 859 NONAME ; void QGLFunctions::glShaderSource(unsigned int, int, char const * *, int const *) - ?glGetShaderPrecisionFormat@QGLFunctions@@QAEXIIPAH0@Z @ 860 NONAME ; void QGLFunctions::glGetShaderPrecisionFormat(unsigned int, unsigned int, int *, int *) - ?insert@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 861 NONAME ; void QGLContextGroupResourceBase::insert(class QGLContext const *, void *) - ?staticMetaObjectExtraData@QGLWindowSurface@@0UQMetaObjectExtraData@@B @ 862 NONAME ; struct QMetaObjectExtraData const QGLWindowSurface::staticMetaObjectExtraData - ?qt_static_metacall@QGLSignalProxy@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 863 NONAME ; void QGLSignalProxy::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGLSignalProxy@@0UQMetaObjectExtraData@@B @ 864 NONAME ; struct QMetaObjectExtraData const QGLSignalProxy::staticMetaObjectExtraData - ?qt_static_metacall@QGLWindowSurface@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 865 NONAME ; void QGLWindowSurface::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGLWidget@@0UQMetaObjectExtraData@@B @ 866 NONAME ; struct QMetaObjectExtraData const QGLWidget::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsShaderEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 867 NONAME ; void QGraphicsShaderEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGLEngineShaderManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 868 NONAME ; void QGLEngineShaderManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGLShader@@0UQMetaObjectExtraData@@B @ 869 NONAME ; struct QMetaObjectExtraData const QGLShader::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGLShaderProgram@@0UQMetaObjectExtraData@@B @ 870 NONAME ; struct QMetaObjectExtraData const QGLShaderProgram::staticMetaObjectExtraData - ?qt_static_metacall@QGLWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 871 NONAME ; void QGLWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QGLShader@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 872 NONAME ; void QGLShader::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QGraphicsShaderEffect@@0UQMetaObjectExtraData@@B @ 873 NONAME ; struct QMetaObjectExtraData const QGraphicsShaderEffect::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGLEngineShaderManager@@0UQMetaObjectExtraData@@B @ 874 NONAME ; struct QMetaObjectExtraData const QGLEngineShaderManager::staticMetaObjectExtraData - ?qt_static_metacall@QGLShaderProgram@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 875 NONAME ; void QGLShaderProgram::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?glVertexAttrib3f@QGLFunctions@@QAEXIMMM@Z @ 876 NONAME ; void QGLFunctions::glVertexAttrib3f(unsigned int, float, float, float) - ?glVertexAttrib1fv@QGLFunctions@@QAEXIPBM@Z @ 877 NONAME ; void QGLFunctions::glVertexAttrib1fv(unsigned int, float const *) - ?glIsBuffer@QGLFunctions@@QAEEI@Z @ 878 NONAME ; unsigned char QGLFunctions::glIsBuffer(unsigned int) + ?glVertexAttrib3f@QGLFunctions@@QAEXIMMM@Z @ 727 NONAME ; void QGLFunctions::glVertexAttrib3f(unsigned int, float, float, float) + ?glVertexAttrib1fv@QGLFunctions@@QAEXIPBM@Z @ 728 NONAME ; void QGLFunctions::glVertexAttrib1fv(unsigned int, float const *) + ?glIsBuffer@QGLFunctions@@QAEEI@Z @ 729 NONAME ; unsigned char QGLFunctions::glIsBuffer(unsigned int) + ?glGetActiveAttrib@QGLFunctions@@QAEXIIHPAH0PAIPAD@Z @ 730 NONAME ; void QGLFunctions::glGetActiveAttrib(unsigned int, unsigned int, int, int *, int *, unsigned int *, char *) + ?glBindFramebuffer@QGLFunctions@@QAEXII@Z @ 731 NONAME ; void QGLFunctions::glBindFramebuffer(unsigned int, unsigned int) + ?glBufferData@QGLFunctions@@QAEXIHPBXI@Z @ 732 NONAME ; void QGLFunctions::glBufferData(unsigned int, int, void const *, unsigned int) + ?glValidateProgram@QGLFunctions@@QAEXI@Z @ 733 NONAME ; void QGLFunctions::glValidateProgram(unsigned int) + ?glUniform1f@QGLFunctions@@QAEXHM@Z @ 734 NONAME ; void QGLFunctions::glUniform1f(int, float) + ?glDetachShader@QGLFunctions@@QAEXII@Z @ 735 NONAME ; void QGLFunctions::glDetachShader(unsigned int, unsigned int) + ?glDeleteProgram@QGLFunctions@@QAEXI@Z @ 736 NONAME ; void QGLFunctions::glDeleteProgram(unsigned int) + ??_EQGLContextResourceBase@@UAE@I@Z @ 737 NONAME ; QGLContextResourceBase::~QGLContextResourceBase(unsigned int) + ?glUniform2f@QGLFunctions@@QAEXHMM@Z @ 738 NONAME ; void QGLFunctions::glUniform2f(int, float, float) + ?glIsProgram@QGLFunctions@@QAEEI@Z @ 739 NONAME ; unsigned char QGLFunctions::glIsProgram(unsigned int) + ?openGLFeatures@QGLFunctions@@QBE?AV?$QFlags@W4OpenGLFeature@QGLFunctions@@@@XZ @ 740 NONAME ; class QFlags QGLFunctions::openGLFeatures(void) const + ?glReleaseShaderCompiler@QGLFunctions@@QAEXXZ @ 741 NONAME ; void QGLFunctions::glReleaseShaderCompiler(void) + ??0QGLTextureGlyphCache@@QAE@PBVQGLContext@@W4Type@QFontEngineGlyphCache@@ABVQTransform@@@Z @ 742 NONAME ; QGLTextureGlyphCache::QGLTextureGlyphCache(class QGLContext const *, enum QFontEngineGlyphCache::Type, class QTransform const &) + ?context@QGLTextureGlyphCache@@QBEPBVQGLContext@@XZ @ 743 NONAME ; class QGLContext const * QGLTextureGlyphCache::context(void) const + ?glGenRenderbuffers@QGLFunctions@@QAEXHPAI@Z @ 744 NONAME ; void QGLFunctions::glGenRenderbuffers(int, unsigned int *) + ?glBindBuffer@QGLFunctions@@QAEXII@Z @ 745 NONAME ; void QGLFunctions::glBindBuffer(unsigned int, unsigned int) + ?glUniformMatrix3fv@QGLFunctions@@QAEXHHEPBM@Z @ 746 NONAME ; void QGLFunctions::glUniformMatrix3fv(int, int, unsigned char, float const *) + ?glGenerateMipmap@QGLFunctions@@QAEXI@Z @ 747 NONAME ; void QGLFunctions::glGenerateMipmap(unsigned int) + ?hasOpenGLFeature@QGLFunctions@@QBE_NW4OpenGLFeature@1@@Z @ 748 NONAME ; bool QGLFunctions::hasOpenGLFeature(enum QGLFunctions::OpenGLFeature) const + ?glGetAttachedShaders@QGLFunctions@@QAEXIHPAHPAI@Z @ 749 NONAME ; void QGLFunctions::glGetAttachedShaders(unsigned int, int, int *, unsigned int *) + ?glDeleteShader@QGLFunctions@@QAEXI@Z @ 750 NONAME ; void QGLFunctions::glDeleteShader(unsigned int) + ?simpleProgram@QGLEngineSharedShaders@@QAEPAVQGLShaderProgram@@XZ @ 751 NONAME ; class QGLShaderProgram * QGLEngineSharedShaders::simpleProgram(void) + ?blitProgram@QGLEngineSharedShaders@@QAEPAVQGLShaderProgram@@XZ @ 752 NONAME ; class QGLShaderProgram * QGLEngineSharedShaders::blitProgram(void) + ?staticMetaObjectExtraData@QGLWindowSurface@@0UQMetaObjectExtraData@@B @ 753 NONAME ; struct QMetaObjectExtraData const QGLWindowSurface::staticMetaObjectExtraData + ?qt_static_metacall@QGLSignalProxy@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 754 NONAME ; void QGLSignalProxy::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?glLinkProgram@QGLFunctions@@QAEXI@Z @ 755 NONAME ; void QGLFunctions::glLinkProgram(unsigned int) + ?glUseProgram@QGLFunctions@@QAEXI@Z @ 756 NONAME ; void QGLFunctions::glUseProgram(unsigned int) + ??0QGLFunctions@@QAE@PBVQGLContext@@@Z @ 757 NONAME ; QGLFunctions::QGLFunctions(class QGLContext const *) + ?staticMetaObjectExtraData@QGLSignalProxy@@0UQMetaObjectExtraData@@B @ 758 NONAME ; struct QMetaObjectExtraData const QGLSignalProxy::staticMetaObjectExtraData + ?glGetBufferParameteriv@QGLFunctions@@QAEXIIPAH@Z @ 759 NONAME ; void QGLFunctions::glGetBufferParameteriv(unsigned int, unsigned int, int *) + ?glGenBuffers@QGLFunctions@@QAEXHPAI@Z @ 760 NONAME ; void QGLFunctions::glGenBuffers(int, unsigned int *) + ?glGetShaderiv@QGLFunctions@@QAEXIIPAH@Z @ 761 NONAME ; void QGLFunctions::glGetShaderiv(unsigned int, unsigned int, int *) + ?fillTexture@QGLTextureGlyphCache@@UAEXABUCoord@QTextureGlyphCache@@IUQFixed@@@Z @ 762 NONAME ; void QGLTextureGlyphCache::fillTexture(struct QTextureGlyphCache::Coord const &, unsigned int, struct QFixed) + ?glUniform2fv@QGLFunctions@@QAEXHHPBM@Z @ 763 NONAME ; void QGLFunctions::glUniform2fv(int, int, float const *) + ??0QGLContextGroupResourceBase@@QAE@XZ @ 764 NONAME ; QGLContextGroupResourceBase::QGLContextGroupResourceBase(void) + ?glGetFramebufferAttachmentParameteriv@QGLFunctions@@QAEXIIIPAH@Z @ 765 NONAME ; void QGLFunctions::glGetFramebufferAttachmentParameteriv(unsigned int, unsigned int, unsigned int, int *) + ?qt_static_metacall@QGLWindowSurface@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 766 NONAME ; void QGLWindowSurface::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QGLEngineSharedShaders@@QAE@PBVQGLContext@@@Z @ 767 NONAME ; QGLEngineSharedShaders::QGLEngineSharedShaders(class QGLContext const *) + ?staticMetaObjectExtraData@QGLWidget@@0UQMetaObjectExtraData@@B @ 768 NONAME ; struct QMetaObjectExtraData const QGLWidget::staticMetaObjectExtraData + ?cleanup@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 769 NONAME ; void QGLContextGroupResourceBase::cleanup(class QGLContext const *, void *) + ?glUniform2iv@QGLFunctions@@QAEXHHPBH@Z @ 770 NONAME ; void QGLFunctions::glUniform2iv(int, int, int const *) + ?glCompileShader@QGLFunctions@@QAEXI@Z @ 771 NONAME ; void QGLFunctions::glCompileShader(unsigned int) + ?qt_static_metacall@QGraphicsShaderEffect@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 772 NONAME ; void QGraphicsShaderEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qShaderSnippets@QGLEngineSharedShaders@@0PAPBDA @ 773 NONAME ; char const * * QGLEngineSharedShaders::qShaderSnippets + ?isFlipped@QGLPaintDevice@@UBE_NXZ @ 774 NONAME ; bool QGLPaintDevice::isFlipped(void) const + ?shadersForContext@QGLEngineSharedShaders@@SAPAV1@PBVQGLContext@@@Z @ 775 NONAME ; class QGLEngineSharedShaders * QGLEngineSharedShaders::shadersForContext(class QGLContext const *) + ?cleanupCustomStage@QGLEngineSharedShaders@@QAEXPAVQGLCustomShaderStage@@@Z @ 776 NONAME ; void QGLEngineSharedShaders::cleanupCustomStage(class QGLCustomShaderStage *) + ?glGetProgramiv@QGLFunctions@@QAEXIIPAH@Z @ 777 NONAME ; void QGLFunctions::glGetProgramiv(unsigned int, unsigned int, int *) + ?glClearDepthf@QGLFunctions@@QAEXM@Z @ 778 NONAME ; void QGLFunctions::glClearDepthf(float) + ?qt_static_metacall@QGLEngineShaderManager@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 779 NONAME ; void QGLEngineShaderManager::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?glIsFramebuffer@QGLFunctions@@QAEEI@Z @ 780 NONAME ; unsigned char QGLFunctions::glIsFramebuffer(unsigned int) + ?getStaticMetaObject@QGLEngineSharedShaders@@SAABUQMetaObject@@XZ @ 781 NONAME ; struct QMetaObject const & QGLEngineSharedShaders::getStaticMetaObject(void) + ?glUniform4f@QGLFunctions@@QAEXHMMMM@Z @ 782 NONAME ; void QGLFunctions::glUniform4f(int, float, float, float, float) + ?glUniform3f@QGLFunctions@@QAEXHMMM@Z @ 783 NONAME ; void QGLFunctions::glUniform3f(int, float, float, float) + ?staticMetaObjectExtraData@QGLShader@@0UQMetaObjectExtraData@@B @ 784 NONAME ; struct QMetaObjectExtraData const QGLShader::staticMetaObjectExtraData + ??1QGLEngineSharedShaders@@QAE@XZ @ 785 NONAME ; QGLEngineSharedShaders::~QGLEngineSharedShaders(void) + ?glDeleteRenderbuffers@QGLFunctions@@QAEXHPBI@Z @ 786 NONAME ; void QGLFunctions::glDeleteRenderbuffers(int, unsigned int const *) + ?glVertexAttrib1f@QGLFunctions@@QAEXIM@Z @ 787 NONAME ; void QGLFunctions::glVertexAttrib1f(unsigned int, float) + ?glVertexAttrib4f@QGLFunctions@@QAEXIMMMM@Z @ 788 NONAME ; void QGLFunctions::glVertexAttrib4f(unsigned int, float, float, float, float) + ?glSampleCoverage@QGLFunctions@@QAEXME@Z @ 789 NONAME ; void QGLFunctions::glSampleCoverage(float, unsigned char) + ?glGetActiveUniform@QGLFunctions@@QAEXIIHPAH0PAIPAD@Z @ 790 NONAME ; void QGLFunctions::glGetActiveUniform(unsigned int, unsigned int, int, int *, int *, unsigned int *, char *) + ??_EQGLContextGroupResourceBase@@UAE@I@Z @ 791 NONAME ; QGLContextGroupResourceBase::~QGLContextGroupResourceBase(unsigned int) + ?findProgramInCache@QGLEngineSharedShaders@@QAEPAVQGLEngineShaderProg@@ABV2@@Z @ 792 NONAME ; class QGLEngineShaderProg * QGLEngineSharedShaders::findProgramInCache(class QGLEngineShaderProg const &) + ?glStencilOpSeparate@QGLFunctions@@QAEXIIII@Z @ 793 NONAME ; void QGLFunctions::glStencilOpSeparate(unsigned int, unsigned int, unsigned int, unsigned int) + ?staticMetaObjectExtraData@QGLShaderProgram@@0UQMetaObjectExtraData@@B @ 794 NONAME ; struct QMetaObjectExtraData const QGLShaderProgram::staticMetaObjectExtraData + ?glCheckFramebufferStatus@QGLFunctions@@QAEII@Z @ 795 NONAME ; unsigned int QGLFunctions::glCheckFramebufferStatus(unsigned int) + ?glDepthRangef@QGLFunctions@@QAEXMM@Z @ 796 NONAME ; void QGLFunctions::glDepthRangef(float, float) + ??1QGLFunctions@@QAE@XZ @ 797 NONAME ; QGLFunctions::~QGLFunctions(void) + ?glStencilMaskSeparate@QGLFunctions@@QAEXII@Z @ 798 NONAME ; void QGLFunctions::glStencilMaskSeparate(unsigned int, unsigned int) + ?drawPixmapFragments@QGL2PaintEngineEx@@UAEXPBVQRectF@@0HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 799 NONAME ; void QGL2PaintEngineEx::drawPixmapFragments(class QRectF const *, class QRectF const *, int, class QPixmap const &, class QFlags) + ?glBlendColor@QGLFunctions@@QAEXMMMM@Z @ 800 NONAME ; void QGLFunctions::glBlendColor(float, float, float, float) + ?glUniform1fv@QGLFunctions@@QAEXHHPBM@Z @ 801 NONAME ; void QGLFunctions::glUniform1fv(int, int, float const *) + ??1QGLContextResourceBase@@UAE@XZ @ 802 NONAME ; QGLContextResourceBase::~QGLContextResourceBase(void) + ?glCreateProgram@QGLFunctions@@QAEIXZ @ 803 NONAME ; unsigned int QGLFunctions::glCreateProgram(void) + ?glVertexAttrib2f@QGLFunctions@@QAEXIMM@Z @ 804 NONAME ; void QGLFunctions::glVertexAttrib2f(unsigned int, float, float) + ?glUniformMatrix2fv@QGLFunctions@@QAEXHHEPBM@Z @ 805 NONAME ; void QGLFunctions::glUniformMatrix2fv(int, int, unsigned char, float const *) + ?glBufferSubData@QGLFunctions@@QAEXIHHPBX@Z @ 806 NONAME ; void QGLFunctions::glBufferSubData(unsigned int, int, int, void const *) + ?glUniform1iv@QGLFunctions@@QAEXHHPBH@Z @ 807 NONAME ; void QGLFunctions::glUniform1iv(int, int, int const *) + ?qt_resolve_buffer_extensions@@YA_NPAVQGLContext@@@Z @ 808 NONAME ; bool qt_resolve_buffer_extensions(class QGLContext *) + ?glUniform1i@QGLFunctions@@QAEXHH@Z @ 809 NONAME ; void QGLFunctions::glUniform1i(int, int) + ?glVertexAttrib4fv@QGLFunctions@@QAEXIPBM@Z @ 810 NONAME ; void QGLFunctions::glVertexAttrib4fv(unsigned int, float const *) + ?glDeleteFramebuffers@QGLFunctions@@QAEXHPBI@Z @ 811 NONAME ; void QGLFunctions::glDeleteFramebuffers(int, unsigned int const *) + ?glGetVertexAttribfv@QGLFunctions@@QAEXIIPAM@Z @ 812 NONAME ; void QGLFunctions::glGetVertexAttribfv(unsigned int, unsigned int, float *) + ?glGetProgramInfoLog@QGLFunctions@@QAEXIHPAHPAD@Z @ 813 NONAME ; void QGLFunctions::glGetProgramInfoLog(unsigned int, int, int *, char *) + ?glGetShaderInfoLog@QGLFunctions@@QAEXIHPAHPAD@Z @ 814 NONAME ; void QGLFunctions::glGetShaderInfoLog(unsigned int, int, int *, char *) + ?glEnableVertexAttribArray@QGLFunctions@@QAEXI@Z @ 815 NONAME ; void QGLFunctions::glEnableVertexAttribArray(unsigned int) + ?glGetVertexAttribiv@QGLFunctions@@QAEXIIPAH@Z @ 816 NONAME ; void QGLFunctions::glGetVertexAttribiv(unsigned int, unsigned int, int *) + ?qt_static_metacall@QGLWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 817 NONAME ; void QGLWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?glCompressedTexImage2D@QGLFunctions@@QAEXIHIHHHHPBX@Z @ 818 NONAME ; void QGLFunctions::glCompressedTexImage2D(unsigned int, int, unsigned int, int, int, int, int, void const *) + ?glGetAttribLocation@QGLFunctions@@QAEHIPBD@Z @ 819 NONAME ; int QGLFunctions::glGetAttribLocation(unsigned int, char const *) + ?glActiveTexture@QGLFunctions@@QAEXI@Z @ 820 NONAME ; void QGLFunctions::glActiveTexture(unsigned int) + ?glUniform4fv@QGLFunctions@@QAEXHHPBM@Z @ 821 NONAME ; void QGLFunctions::glUniform4fv(int, int, float const *) + ?qt_static_metacall@QGLShader@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 822 NONAME ; void QGLShader::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?glCreateShader@QGLFunctions@@QAEII@Z @ 823 NONAME ; unsigned int QGLFunctions::glCreateShader(unsigned int) + ?glAttachShader@QGLFunctions@@QAEXII@Z @ 824 NONAME ; void QGLFunctions::glAttachShader(unsigned int, unsigned int) + ?glRenderbufferStorage@QGLFunctions@@QAEXIIHH@Z @ 825 NONAME ; void QGLFunctions::glRenderbufferStorage(unsigned int, unsigned int, int, int) + ?glVertexAttribPointer@QGLFunctions@@QAEXIHIEHPBX@Z @ 826 NONAME ; void QGLFunctions::glVertexAttribPointer(unsigned int, int, unsigned int, unsigned char, int, void const *) + ?glUniform4iv@QGLFunctions@@QAEXHHPBH@Z @ 827 NONAME ; void QGLFunctions::glUniform4iv(int, int, int const *) + ?glDisableVertexAttribArray@QGLFunctions@@QAEXI@Z @ 828 NONAME ; void QGLFunctions::glDisableVertexAttribArray(unsigned int) + ?features@QGLWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 829 NONAME ; class QFlags QGLWindowSurface::features(void) const + ?glIsShader@QGLFunctions@@QAEEI@Z @ 830 NONAME ; unsigned char QGLFunctions::glIsShader(unsigned int) + ?glShaderBinary@QGLFunctions@@QAEXHPBIIPBXH@Z @ 831 NONAME ; void QGLFunctions::glShaderBinary(int, unsigned int const *, unsigned int, void const *, int) + ?glGenFramebuffers@QGLFunctions@@QAEXHPAI@Z @ 832 NONAME ; void QGLFunctions::glGenFramebuffers(int, unsigned int *) + ?glVertexAttrib3fv@QGLFunctions@@QAEXIPBM@Z @ 833 NONAME ; void QGLFunctions::glVertexAttrib3fv(unsigned int, float const *) + ?glGetVertexAttribPointerv@QGLFunctions@@QAEXIIPAPAX@Z @ 834 NONAME ; void QGLFunctions::glGetVertexAttribPointerv(unsigned int, unsigned int, void * *) + ?staticMetaObjectExtraData@QGraphicsShaderEffect@@0UQMetaObjectExtraData@@B @ 835 NONAME ; struct QMetaObjectExtraData const QGraphicsShaderEffect::staticMetaObjectExtraData + ?glUniformMatrix4fv@QGLFunctions@@QAEXHHEPBM@Z @ 836 NONAME ; void QGLFunctions::glUniformMatrix4fv(int, int, unsigned char, float const *) + ?setContext@QGLTextureGlyphCache@@QAEXPBVQGLContext@@@Z @ 837 NONAME ; void QGLTextureGlyphCache::setContext(class QGLContext const *) + ?glDeleteBuffers@QGLFunctions@@QAEXHPBI@Z @ 838 NONAME ; void QGLFunctions::glDeleteBuffers(int, unsigned int const *) + ?glBindRenderbuffer@QGLFunctions@@QAEXII@Z @ 839 NONAME ; void QGLFunctions::glBindRenderbuffer(unsigned int, unsigned int) + ?glStencilFuncSeparate@QGLFunctions@@QAEXIIHI@Z @ 840 NONAME ; void QGLFunctions::glStencilFuncSeparate(unsigned int, unsigned int, int, unsigned int) + ?staticMetaObjectExtraData@QGLEngineShaderManager@@0UQMetaObjectExtraData@@B @ 841 NONAME ; struct QMetaObjectExtraData const QGLEngineShaderManager::staticMetaObjectExtraData + ?glGetUniformLocation@QGLFunctions@@QAEHIPBD@Z @ 842 NONAME ; int QGLFunctions::glGetUniformLocation(unsigned int, char const *) + ?glGetRenderbufferParameteriv@QGLFunctions@@QAEXIIPAH@Z @ 843 NONAME ; void QGLFunctions::glGetRenderbufferParameteriv(unsigned int, unsigned int, int *) + ?glBindAttribLocation@QGLFunctions@@QAEXIIPBD@Z @ 844 NONAME ; void QGLFunctions::glBindAttribLocation(unsigned int, unsigned int, char const *) + ?glGetShaderSource@QGLFunctions@@QAEXIHPAHPAD@Z @ 845 NONAME ; void QGLFunctions::glGetShaderSource(unsigned int, int, int *, char *) + ?setMipmap@QGLFramebufferObjectFormat@@QAEX_N@Z @ 846 NONAME ; void QGLFramebufferObjectFormat::setMipmap(bool) + ??1QGLContextGroupResourceBase@@UAE@XZ @ 847 NONAME ; QGLContextGroupResourceBase::~QGLContextGroupResourceBase(void) + ?glFramebufferTexture2D@QGLFunctions@@QAEXIIIIH@Z @ 848 NONAME ; void QGLFunctions::glFramebufferTexture2D(unsigned int, unsigned int, unsigned int, unsigned int, int) + ?glBlendEquationSeparate@QGLFunctions@@QAEXII@Z @ 849 NONAME ; void QGLFunctions::glBlendEquationSeparate(unsigned int, unsigned int) + ?insert@QGLContextResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 850 NONAME ; void QGLContextResourceBase::insert(class QGLContext const *, void *) + ??_EQGLEngineSharedShaders@@QAE@I@Z @ 851 NONAME ; QGLEngineSharedShaders::~QGLEngineSharedShaders(unsigned int) + ?glUniform2i@QGLFunctions@@QAEXHHH@Z @ 852 NONAME ; void QGLFunctions::glUniform2i(int, int, int) + ?glGetUniformfv@QGLFunctions@@QAEXIHPAM@Z @ 853 NONAME ; void QGLFunctions::glGetUniformfv(unsigned int, int, float *) + ?glUniform3i@QGLFunctions@@QAEXHHHH@Z @ 854 NONAME ; void QGLFunctions::glUniform3i(int, int, int, int) + ?staticMetaObject@QGLEngineSharedShaders@@2UQMetaObject@@B @ 855 NONAME ; struct QMetaObject const QGLEngineSharedShaders::staticMetaObject + ?cleanup@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@@Z @ 856 NONAME ; void QGLContextGroupResourceBase::cleanup(class QGLContext const *) + ?glIsRenderbuffer@QGLFunctions@@QAEEI@Z @ 857 NONAME ; unsigned char QGLFunctions::glIsRenderbuffer(unsigned int) + ?initializeGLFunctions@QGLFunctions@@QAEXPBVQGLContext@@@Z @ 858 NONAME ; void QGLFunctions::initializeGLFunctions(class QGLContext const *) + ??0QGLFunctions@@QAE@XZ @ 859 NONAME ; QGLFunctions::QGLFunctions(void) + ?glVertexAttrib2fv@QGLFunctions@@QAEXIPBM@Z @ 860 NONAME ; void QGLFunctions::glVertexAttrib2fv(unsigned int, float const *) + ?isInitialized@QGLFunctions@@CA_NPBUQGLFunctionsPrivate@@@Z @ 861 NONAME ; bool QGLFunctions::isInitialized(struct QGLFunctionsPrivate const *) + ?glGetUniformiv@QGLFunctions@@QAEXIHPAH@Z @ 862 NONAME ; void QGLFunctions::glGetUniformiv(unsigned int, int, int *) + ?glBlendEquation@QGLFunctions@@QAEXI@Z @ 863 NONAME ; void QGLFunctions::glBlendEquation(unsigned int) + ?glFramebufferRenderbuffer@QGLFunctions@@QAEXIIII@Z @ 864 NONAME ; void QGLFunctions::glFramebufferRenderbuffer(unsigned int, unsigned int, unsigned int, unsigned int) + ?glUniform4i@QGLFunctions@@QAEXHHHHH@Z @ 865 NONAME ; void QGLFunctions::glUniform4i(int, int, int, int, int) + ?glUniform3fv@QGLFunctions@@QAEXHHPBM@Z @ 866 NONAME ; void QGLFunctions::glUniform3fv(int, int, float const *) + ?value@QGLContextResourceBase@@QAEPAXPBVQGLContext@@@Z @ 867 NONAME ; void * QGLContextResourceBase::value(class QGLContext const *) + ?glBlendFuncSeparate@QGLFunctions@@QAEXIIII@Z @ 868 NONAME ; void QGLFunctions::glBlendFuncSeparate(unsigned int, unsigned int, unsigned int, unsigned int) + ?glCompressedTexSubImage2D@QGLFunctions@@QAEXIHHHHHIHPBX@Z @ 869 NONAME ; void QGLFunctions::glCompressedTexSubImage2D(unsigned int, int, int, int, int, int, unsigned int, int, void const *) + ?freeResource@QGLTextureGlyphCache@@UAEXPAX@Z @ 870 NONAME ; void QGLTextureGlyphCache::freeResource(void *) + ?supportsTransformations@QGL2PaintEngineEx@@UBE_NMABVQTransform@@@Z @ 871 NONAME ; bool QGL2PaintEngineEx::supportsTransformations(float, class QTransform const &) const + ?value@QGLContextGroupResourceBase@@QAEPAXPBVQGLContext@@@Z @ 872 NONAME ; void * QGLContextGroupResourceBase::value(class QGLContext const *) + ?glUniform3iv@QGLFunctions@@QAEXHHPBH@Z @ 873 NONAME ; void QGLFunctions::glUniform3iv(int, int, int const *) + ?mipmap@QGLFramebufferObjectFormat@@QBE_NXZ @ 874 NONAME ; bool QGLFramebufferObjectFormat::mipmap(void) const + ?qt_extensionFuncs@QGLContextPrivate@@2UQGLExtensionFuncs@@A @ 875 NONAME ; struct QGLExtensionFuncs QGLContextPrivate::qt_extensionFuncs + ?glShaderSource@QGLFunctions@@QAEXIHPAPBDPBH@Z @ 876 NONAME ; void QGLFunctions::glShaderSource(unsigned int, int, char const * *, int const *) + ?glGetShaderPrecisionFormat@QGLFunctions@@QAEXIIPAH0@Z @ 877 NONAME ; void QGLFunctions::glGetShaderPrecisionFormat(unsigned int, unsigned int, int *, int *) + ?qt_static_metacall@QGLShaderProgram@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 878 NONAME ; void QGLShaderProgram::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?insert@QGLContextGroupResourceBase@@QAEXPBVQGLContext@@PAX@Z @ 879 NONAME ; void QGLContextGroupResourceBase::insert(class QGLContext const *, void *) + diff --git a/src/s60installs/bwins/QtOpenVGu.def b/src/s60installs/bwins/QtOpenVGu.def index afd7143..547931e 100644 --- a/src/s60installs/bwins/QtOpenVGu.def +++ b/src/s60installs/bwins/QtOpenVGu.def @@ -187,3 +187,4 @@ EXPORTS ?toVolatileImage@QVGPixmapData@@UBE?AVQVolatileImage@@XZ @ 186 NONAME ; class QVolatileImage QVGPixmapData::toVolatileImage(void) const ?supportsTransformations@QVGPaintEngine@@UBE_NMABVQTransform@@@Z @ 187 NONAME ; bool QVGPaintEngine::supportsTransformations(float, class QTransform const &) const ?features@QVGWindowSurface@@UBE?AV?$QFlags@W4WindowSurfaceFeature@QWindowSurface@@@@XZ @ 188 NONAME ; class QFlags QVGWindowSurface::features(void) const + diff --git a/src/s60installs/bwins/QtScriptu.def b/src/s60installs/bwins/QtScriptu.def index 709db1b..af80b54 100644 --- a/src/s60installs/bwins/QtScriptu.def +++ b/src/s60installs/bwins/QtScriptu.def @@ -405,8 +405,10 @@ EXPORTS ?compare@QScriptDeclarativeClass@@UAE_NPAUObject@1@0@Z @ 404 NONAME ; bool QScriptDeclarativeClass::compare(struct QScriptDeclarativeClass::Object *, struct QScriptDeclarativeClass::Object *) ?toString@PersistentIdentifier@QScriptDeclarativeClass@@QBE?AVQString@@XZ @ 405 NONAME ; class QString QScriptDeclarativeClass::PersistentIdentifier::toString(void) const ?startsWithUpper@QScriptDeclarativeClass@@QAE_NABQAX@Z @ 406 NONAME ; bool QScriptDeclarativeClass::startsWithUpper(void * const const &) - ?qt_static_metacall@QScriptEngine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 407 NONAME ; void QScriptEngine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QScriptEngine@@0UQMetaObjectExtraData@@B @ 408 NONAME ; struct QMetaObjectExtraData const QScriptEngine::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QScriptExtensionPlugin@@0UQMetaObjectExtraData@@B @ 409 NONAME ; struct QMetaObjectExtraData const QScriptExtensionPlugin::staticMetaObjectExtraData - ?qt_static_metacall@QScriptExtensionPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 410 NONAME ; void QScriptExtensionPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??0QScriptExtensionInterface@@QAE@XZ @ 407 NONAME ABSENT ; QScriptExtensionInterface::QScriptExtensionInterface(void) + ??_EQScriptValue@@QAE@I@Z @ 408 NONAME ABSENT ; QScriptValue::~QScriptValue(unsigned int) + ?staticMetaObjectExtraData@QScriptEngine@@0UQMetaObjectExtraData@@B @ 409 NONAME ; struct QMetaObjectExtraData const QScriptEngine::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QScriptExtensionPlugin@@0UQMetaObjectExtraData@@B @ 410 NONAME ; struct QMetaObjectExtraData const QScriptExtensionPlugin::staticMetaObjectExtraData + ?qt_static_metacall@QScriptExtensionPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 411 NONAME ; void QScriptExtensionPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QScriptEngine@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 412 NONAME ; void QScriptEngine::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) diff --git a/src/s60installs/bwins/QtSqlu.def b/src/s60installs/bwins/QtSqlu.def index 3e726e8..eba02f5 100644 --- a/src/s60installs/bwins/QtSqlu.def +++ b/src/s60installs/bwins/QtSqlu.def @@ -458,17 +458,20 @@ EXPORTS ?staticMetaObject@QSqlDriver@@2UQMetaObject@@B @ 457 NONAME ; struct QMetaObject const QSqlDriver::staticMetaObject ?staticMetaObject@QSqlQueryModel@@2UQMetaObject@@B @ 458 NONAME ; struct QMetaObject const QSqlQueryModel::staticMetaObject ?staticMetaObject@QSQLiteDriver@@2UQMetaObject@@B @ 459 NONAME ; struct QMetaObject const QSQLiteDriver::staticMetaObject - ?qt_static_metacall@QSqlQueryModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 460 NONAME ; void QSqlQueryModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSQLiteDriver@@0UQMetaObjectExtraData@@B @ 461 NONAME ; struct QMetaObjectExtraData const QSQLiteDriver::staticMetaObjectExtraData - ?qt_static_metacall@QSqlTableModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 462 NONAME ; void QSqlTableModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSqlTableModel@@0UQMetaObjectExtraData@@B @ 463 NONAME ; struct QMetaObjectExtraData const QSqlTableModel::staticMetaObjectExtraData - ?qt_static_metacall@QSqlDriver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 464 NONAME ; void QSqlDriver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSqlDriverPlugin@@0UQMetaObjectExtraData@@B @ 465 NONAME ; struct QMetaObjectExtraData const QSqlDriverPlugin::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSqlDriver@@0UQMetaObjectExtraData@@B @ 466 NONAME ; struct QMetaObjectExtraData const QSqlDriver::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QSqlQueryModel@@0UQMetaObjectExtraData@@B @ 467 NONAME ; struct QMetaObjectExtraData const QSqlQueryModel::staticMetaObjectExtraData - ?qt_static_metacall@QSQLiteDriver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 468 NONAME ; void QSQLiteDriver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSqlRelationalTableModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 469 NONAME ; void QSqlRelationalTableModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSqlRelationalTableModel@@0UQMetaObjectExtraData@@B @ 470 NONAME ; struct QMetaObjectExtraData const QSqlRelationalTableModel::staticMetaObjectExtraData + ??4QSqlRelation@@QAEAAV0@ABV0@@Z @ 460 NONAME ABSENT ; class QSqlRelation & QSqlRelation::operator=(class QSqlRelation const &) + ??0QSqlDriverFactoryInterface@@QAE@XZ @ 461 NONAME ABSENT ; QSqlDriverFactoryInterface::QSqlDriverFactoryInterface(void) + ??0QSqlRelation@@QAE@ABV0@@Z @ 462 NONAME ABSENT ; QSqlRelation::QSqlRelation(class QSqlRelation const &) + ?qt_static_metacall@QSqlRelationalTableModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 463 NONAME ; void QSqlRelationalTableModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSQLiteDriver@@0UQMetaObjectExtraData@@B @ 464 NONAME ; struct QMetaObjectExtraData const QSQLiteDriver::staticMetaObjectExtraData + ?qt_static_metacall@QSqlDriver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 465 NONAME ; void QSqlDriver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSqlTableModel@@0UQMetaObjectExtraData@@B @ 466 NONAME ; struct QMetaObjectExtraData const QSqlTableModel::staticMetaObjectExtraData + ?qt_static_metacall@QSqlTableModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 467 NONAME ; void QSqlTableModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSqlRelationalTableModel@@0UQMetaObjectExtraData@@B @ 468 NONAME ; struct QMetaObjectExtraData const QSqlRelationalTableModel::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QSqlDriverPlugin@@0UQMetaObjectExtraData@@B @ 469 NONAME ; struct QMetaObjectExtraData const QSqlDriverPlugin::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QSqlDriver@@0UQMetaObjectExtraData@@B @ 470 NONAME ; struct QMetaObjectExtraData const QSqlDriver::staticMetaObjectExtraData ?qt_static_metacall@QSqlDriverPlugin@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 471 NONAME ; void QSqlDriverPlugin::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?setJoinMode@QSqlRelationalTableModel@@QAEXW4JoinMode@1@@Z @ 472 NONAME ; void QSqlRelationalTableModel::setJoinMode(enum QSqlRelationalTableModel::JoinMode) + ?qt_static_metacall@QSqlQueryModel@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 472 NONAME ; void QSqlQueryModel::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSQLiteDriver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 473 NONAME ; void QSQLiteDriver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?setJoinMode@QSqlRelationalTableModel@@QAEXW4JoinMode@1@@Z @ 474 NONAME ; void QSqlRelationalTableModel::setJoinMode(enum QSqlRelationalTableModel::JoinMode) + ?staticMetaObjectExtraData@QSqlQueryModel@@0UQMetaObjectExtraData@@B @ 475 NONAME ; struct QMetaObjectExtraData const QSqlQueryModel::staticMetaObjectExtraData diff --git a/src/s60installs/bwins/QtSvgu.def b/src/s60installs/bwins/QtSvgu.def index b0503f6..60835ca 100644 --- a/src/s60installs/bwins/QtSvgu.def +++ b/src/s60installs/bwins/QtSvgu.def @@ -146,10 +146,10 @@ EXPORTS ?staticMetaObject@QSvgWidget@@2UQMetaObject@@B @ 145 NONAME ; struct QMetaObject const QSvgWidget::staticMetaObject ?staticMetaObject@QGraphicsSvgItem@@2UQMetaObject@@B @ 146 NONAME ; struct QMetaObject const QGraphicsSvgItem::staticMetaObject ?staticMetaObject@QSvgRenderer@@2UQMetaObject@@B @ 147 NONAME ; struct QMetaObject const QSvgRenderer::staticMetaObject - ?qt_static_metacall@QSvgWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 148 NONAME ; void QSvgWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@QSvgRenderer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 149 NONAME ; void QSvgRenderer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSvgWidget@@0UQMetaObjectExtraData@@B @ 150 NONAME ; struct QMetaObjectExtraData const QSvgWidget::staticMetaObjectExtraData - ?qt_static_metacall@QGraphicsSvgItem@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 151 NONAME ; void QGraphicsSvgItem::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QSvgRenderer@@0UQMetaObjectExtraData@@B @ 152 NONAME ; struct QMetaObjectExtraData const QSvgRenderer::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QGraphicsSvgItem@@0UQMetaObjectExtraData@@B @ 153 NONAME ; struct QMetaObjectExtraData const QGraphicsSvgItem::staticMetaObjectExtraData + ?qt_static_metacall@QSvgRenderer@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 148 NONAME ; void QSvgRenderer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QSvgWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 149 NONAME ; void QSvgWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSvgRenderer@@0UQMetaObjectExtraData@@B @ 150 NONAME ; struct QMetaObjectExtraData const QSvgRenderer::staticMetaObjectExtraData + ?staticMetaObjectExtraData@QGraphicsSvgItem@@0UQMetaObjectExtraData@@B @ 151 NONAME ; struct QMetaObjectExtraData const QGraphicsSvgItem::staticMetaObjectExtraData + ?qt_static_metacall@QGraphicsSvgItem@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 152 NONAME ; void QGraphicsSvgItem::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QSvgWidget@@0UQMetaObjectExtraData@@B @ 153 NONAME ; struct QMetaObjectExtraData const QSvgWidget::staticMetaObjectExtraData diff --git a/src/s60installs/bwins/QtTestu.def b/src/s60installs/bwins/QtTestu.def index 5365850..087f210 100644 --- a/src/s60installs/bwins/QtTestu.def +++ b/src/s60installs/bwins/QtTestu.def @@ -169,6 +169,6 @@ EXPORTS ?current@QBenchmarkTestMethodData@@2PAV1@A @ 168 NONAME ; class QBenchmarkTestMethodData * QBenchmarkTestMethodData::current ?qt_static_metacall@QTestEventLoop@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 169 NONAME ; void QTestEventLoop::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) ?startLogging@QTestLog@@SAXI@Z @ 170 NONAME ; void QTestLog::startLogging(unsigned int) - ?staticMetaObjectExtraData@QTestEventLoop@@0UQMetaObjectExtraData@@B @ 171 NONAME ; struct QMetaObjectExtraData const QTestEventLoop::staticMetaObjectExtraData - ?printAvailableTags@QTest@@3_NA @ 172 NONAME ; bool QTest::printAvailableTags + ?printAvailableTags@QTest@@3_NA @ 171 NONAME ; bool QTest::printAvailableTags + ?staticMetaObjectExtraData@QTestEventLoop@@0UQMetaObjectExtraData@@B @ 172 NONAME ; struct QMetaObjectExtraData const QTestEventLoop::staticMetaObjectExtraData diff --git a/src/s60installs/bwins/QtXmlPatternsu.def b/src/s60installs/bwins/QtXmlPatternsu.def index 268201d..e3dacb9 100644 --- a/src/s60installs/bwins/QtXmlPatternsu.def +++ b/src/s60installs/bwins/QtXmlPatternsu.def @@ -277,8 +277,11 @@ EXPORTS ?writeEscapedAttribute@QXmlSerializer@@AAEXABVQString@@@Z @ 276 NONAME ; void QXmlSerializer::writeEscapedAttribute(class QString const &) ?staticMetaObject@QAbstractMessageHandler@@2UQMetaObject@@B @ 277 NONAME ; struct QMetaObject const QAbstractMessageHandler::staticMetaObject ?staticMetaObject@QAbstractUriResolver@@2UQMetaObject@@B @ 278 NONAME ; struct QMetaObject const QAbstractUriResolver::staticMetaObject - ?qt_static_metacall@QAbstractUriResolver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 279 NONAME ; void QAbstractUriResolver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@QAbstractUriResolver@@0UQMetaObjectExtraData@@B @ 280 NONAME ; struct QMetaObjectExtraData const QAbstractUriResolver::staticMetaObjectExtraData - ?staticMetaObjectExtraData@QAbstractMessageHandler@@0UQMetaObjectExtraData@@B @ 281 NONAME ; struct QMetaObjectExtraData const QAbstractMessageHandler::staticMetaObjectExtraData - ?qt_static_metacall@QAbstractMessageHandler@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 282 NONAME ; void QAbstractMessageHandler::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ??_EQXmlQuery@@QAE@I@Z @ 279 NONAME ABSENT ; QXmlQuery::~QXmlQuery(unsigned int) + ??4QXmlNodeModelIndex@@QAEAAV0@ABV0@@Z @ 280 NONAME ABSENT ; class QXmlNodeModelIndex & QXmlNodeModelIndex::operator=(class QXmlNodeModelIndex const &) + ??_EQXmlItem@@QAE@I@Z @ 281 NONAME ABSENT ; QXmlItem::~QXmlItem(unsigned int) + ?staticMetaObjectExtraData@QAbstractUriResolver@@0UQMetaObjectExtraData@@B @ 282 NONAME ; struct QMetaObjectExtraData const QAbstractUriResolver::staticMetaObjectExtraData + ?qt_static_metacall@QAbstractMessageHandler@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 283 NONAME ; void QAbstractMessageHandler::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@QAbstractUriResolver@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 284 NONAME ; void QAbstractUriResolver::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@QAbstractMessageHandler@@0UQMetaObjectExtraData@@B @ 285 NONAME ; struct QMetaObjectExtraData const QAbstractMessageHandler::staticMetaObjectExtraData diff --git a/src/s60installs/bwins/QtXmlu.def b/src/s60installs/bwins/QtXmlu.def index 744a744..c77f5ed 100644 --- a/src/s60installs/bwins/QtXmlu.def +++ b/src/s60installs/bwins/QtXmlu.def @@ -400,4 +400,11 @@ EXPORTS ?warning@QXmlDefaultHandler@@UAE_NABVQXmlParseException@@@Z @ 399 NONAME ; bool QXmlDefaultHandler::warning(class QXmlParseException const &) ?EndOfDocument@QXmlInputSource@@2GB @ 400 NONAME ; unsigned short const QXmlInputSource::EndOfDocument ?EndOfData@QXmlInputSource@@2GB @ 401 NONAME ; unsigned short const QXmlInputSource::EndOfData + ??0QXmlContentHandler@@QAE@XZ @ 402 NONAME ABSENT ; QXmlContentHandler::QXmlContentHandler(void) + ??0QXmlDTDHandler@@QAE@XZ @ 403 NONAME ABSENT ; QXmlDTDHandler::QXmlDTDHandler(void) + ??0QXmlReader@@QAE@XZ @ 404 NONAME ABSENT ; QXmlReader::QXmlReader(void) + ??0QXmlLexicalHandler@@QAE@XZ @ 405 NONAME ABSENT ; QXmlLexicalHandler::QXmlLexicalHandler(void) + ??0QXmlDeclHandler@@QAE@XZ @ 406 NONAME ABSENT ; QXmlDeclHandler::QXmlDeclHandler(void) + ??0QXmlEntityResolver@@QAE@XZ @ 407 NONAME ABSENT ; QXmlEntityResolver::QXmlEntityResolver(void) + ??0QXmlErrorHandler@@QAE@XZ @ 408 NONAME ABSENT ; QXmlErrorHandler::QXmlErrorHandler(void) diff --git a/src/s60installs/bwins/phononu.def b/src/s60installs/bwins/phononu.def index 826f52d..67f91e5 100644 --- a/src/s60installs/bwins/phononu.def +++ b/src/s60installs/bwins/phononu.def @@ -570,32 +570,36 @@ EXPORTS ?setOutputDevice@PulseSupport@Phonon@@QAE_NVQString@@H@Z @ 569 NONAME ; bool Phonon::PulseSupport::setOutputDevice(class QString, int) ?qt_metacast@AudioDataOutput@Phonon@@UAEPAXPBD@Z @ 570 NONAME ; void * Phonon::AudioDataOutput::qt_metacast(char const *) ?clearStreamCache@PulseSupport@Phonon@@QAEXVQString@@@Z @ 571 NONAME ; void Phonon::PulseSupport::clearStreamCache(class QString) - ?qt_static_metacall@MediaObject@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 572 NONAME ; void Phonon::MediaObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@AbstractMediaStream@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 573 NONAME ; void Phonon::AbstractMediaStream::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@MediaController@Phonon@@0UQMetaObjectExtraData@@B @ 574 NONAME ; struct QMetaObjectExtraData const Phonon::MediaController::staticMetaObjectExtraData - ?staticMetaObjectExtraData@AudioDataOutput@Phonon@@0UQMetaObjectExtraData@@B @ 575 NONAME ; struct QMetaObjectExtraData const Phonon::AudioDataOutput::staticMetaObjectExtraData - ?qt_static_metacall@VolumeFaderEffect@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 576 NONAME ; void Phonon::VolumeFaderEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@AbstractMediaStream@Phonon@@0UQMetaObjectExtraData@@B @ 577 NONAME ; struct QMetaObjectExtraData const Phonon::AbstractMediaStream::staticMetaObjectExtraData - ?qt_static_metacall@AbstractAudioOutput@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 578 NONAME ; void Phonon::AbstractAudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@AudioDataOutput@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 579 NONAME ; void Phonon::AudioDataOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@PulseSupport@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 580 NONAME ; void Phonon::PulseSupport::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@SeekSlider@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 581 NONAME ; void Phonon::SeekSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@AudioOutput@Phonon@@0UQMetaObjectExtraData@@B @ 582 NONAME ; struct QMetaObjectExtraData const Phonon::AudioOutput::staticMetaObjectExtraData - ?qt_static_metacall@MediaController@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 583 NONAME ; void Phonon::MediaController::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@VolumeSlider@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 584 NONAME ; void Phonon::VolumeSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@VideoPlayer@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 585 NONAME ; void Phonon::VideoPlayer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@Effect@Phonon@@0UQMetaObjectExtraData@@B @ 586 NONAME ; struct QMetaObjectExtraData const Phonon::Effect::staticMetaObjectExtraData - ?qt_static_metacall@VideoWidget@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 587 NONAME ; void Phonon::VideoWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@VideoPlayer@Phonon@@0UQMetaObjectExtraData@@B @ 588 NONAME ; struct QMetaObjectExtraData const Phonon::VideoPlayer::staticMetaObjectExtraData - ?qt_static_metacall@EffectWidget@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ; void Phonon::EffectWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@VolumeSlider@Phonon@@0UQMetaObjectExtraData@@B @ 590 NONAME ; struct QMetaObjectExtraData const Phonon::VolumeSlider::staticMetaObjectExtraData - ?staticMetaObjectExtraData@AbstractAudioOutput@Phonon@@0UQMetaObjectExtraData@@B @ 591 NONAME ; struct QMetaObjectExtraData const Phonon::AbstractAudioOutput::staticMetaObjectExtraData + ??_EEffectParameter@Phonon@@QAE@I@Z @ 572 NONAME ABSENT ; Phonon::EffectParameter::~EffectParameter(unsigned int) + ??_EPath@Phonon@@QAE@I@Z @ 573 NONAME ABSENT ; Phonon::Path::~Path(unsigned int) + ??_EMediaSource@Phonon@@QAE@I@Z @ 574 NONAME ABSENT ; Phonon::MediaSource::~MediaSource(unsigned int) + ??_EObjectDescriptionData@Phonon@@QAE@I@Z @ 575 NONAME ABSENT ; Phonon::ObjectDescriptionData::~ObjectDescriptionData(unsigned int) + ?qt_static_metacall@AbstractMediaStream@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 576 NONAME ; void Phonon::AbstractMediaStream::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@MediaObject@Phonon@@0UQMetaObjectExtraData@@B @ 577 NONAME ; struct QMetaObjectExtraData const Phonon::MediaObject::staticMetaObjectExtraData + ?staticMetaObjectExtraData@VolumeSlider@Phonon@@0UQMetaObjectExtraData@@B @ 578 NONAME ; struct QMetaObjectExtraData const Phonon::VolumeSlider::staticMetaObjectExtraData + ?staticMetaObjectExtraData@VolumeFaderEffect@Phonon@@0UQMetaObjectExtraData@@B @ 579 NONAME ; struct QMetaObjectExtraData const Phonon::VolumeFaderEffect::staticMetaObjectExtraData + ?qt_static_metacall@VideoWidget@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 580 NONAME ; void Phonon::VideoWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@MediaObject@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 581 NONAME ; void Phonon::MediaObject::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@EffectWidget@Phonon@@0UQMetaObjectExtraData@@B @ 582 NONAME ; struct QMetaObjectExtraData const Phonon::EffectWidget::staticMetaObjectExtraData + ?qt_static_metacall@VolumeFaderEffect@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 583 NONAME ; void Phonon::VolumeFaderEffect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@SeekSlider@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 584 NONAME ; void Phonon::SeekSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@AudioOutput@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 585 NONAME ; void Phonon::AudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@VideoPlayer@Phonon@@0UQMetaObjectExtraData@@B @ 586 NONAME ; struct QMetaObjectExtraData const Phonon::VideoPlayer::staticMetaObjectExtraData + ?staticMetaObjectExtraData@AbstractAudioOutput@Phonon@@0UQMetaObjectExtraData@@B @ 587 NONAME ; struct QMetaObjectExtraData const Phonon::AbstractAudioOutput::staticMetaObjectExtraData + ?staticMetaObjectExtraData@AudioOutput@Phonon@@0UQMetaObjectExtraData@@B @ 588 NONAME ; struct QMetaObjectExtraData const Phonon::AudioOutput::staticMetaObjectExtraData + ?qt_static_metacall@PulseSupport@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ; void Phonon::PulseSupport::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@AbstractMediaStream@Phonon@@0UQMetaObjectExtraData@@B @ 590 NONAME ; struct QMetaObjectExtraData const Phonon::AbstractMediaStream::staticMetaObjectExtraData + ?qt_static_metacall@VideoPlayer@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 591 NONAME ; void Phonon::VideoPlayer::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) ?staticMetaObjectExtraData@PulseSupport@Phonon@@0UQMetaObjectExtraData@@B @ 592 NONAME ; struct QMetaObjectExtraData const Phonon::PulseSupport::staticMetaObjectExtraData - ?staticMetaObjectExtraData@VideoWidget@Phonon@@0UQMetaObjectExtraData@@B @ 593 NONAME ; struct QMetaObjectExtraData const Phonon::VideoWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@VolumeFaderEffect@Phonon@@0UQMetaObjectExtraData@@B @ 594 NONAME ; struct QMetaObjectExtraData const Phonon::VolumeFaderEffect::staticMetaObjectExtraData - ?staticMetaObjectExtraData@EffectWidget@Phonon@@0UQMetaObjectExtraData@@B @ 595 NONAME ; struct QMetaObjectExtraData const Phonon::EffectWidget::staticMetaObjectExtraData - ?staticMetaObjectExtraData@SeekSlider@Phonon@@0UQMetaObjectExtraData@@B @ 596 NONAME ; struct QMetaObjectExtraData const Phonon::SeekSlider::staticMetaObjectExtraData - ?qt_static_metacall@Effect@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 597 NONAME ; void Phonon::Effect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?qt_static_metacall@AudioOutput@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 598 NONAME ; void Phonon::AudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) - ?staticMetaObjectExtraData@MediaObject@Phonon@@0UQMetaObjectExtraData@@B @ 599 NONAME ; struct QMetaObjectExtraData const Phonon::MediaObject::staticMetaObjectExtraData + ?qt_static_metacall@AbstractAudioOutput@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 593 NONAME ; void Phonon::AbstractAudioOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@MediaController@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 594 NONAME ; void Phonon::MediaController::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@Effect@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 595 NONAME ; void Phonon::Effect::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@Effect@Phonon@@0UQMetaObjectExtraData@@B @ 596 NONAME ; struct QMetaObjectExtraData const Phonon::Effect::staticMetaObjectExtraData + ?staticMetaObjectExtraData@AudioDataOutput@Phonon@@0UQMetaObjectExtraData@@B @ 597 NONAME ; struct QMetaObjectExtraData const Phonon::AudioDataOutput::staticMetaObjectExtraData + ?staticMetaObjectExtraData@SeekSlider@Phonon@@0UQMetaObjectExtraData@@B @ 598 NONAME ; struct QMetaObjectExtraData const Phonon::SeekSlider::staticMetaObjectExtraData + ?qt_static_metacall@VolumeSlider@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 599 NONAME ; void Phonon::VolumeSlider::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?staticMetaObjectExtraData@VideoWidget@Phonon@@0UQMetaObjectExtraData@@B @ 600 NONAME ; struct QMetaObjectExtraData const Phonon::VideoWidget::staticMetaObjectExtraData + ?staticMetaObjectExtraData@MediaController@Phonon@@0UQMetaObjectExtraData@@B @ 601 NONAME ; struct QMetaObjectExtraData const Phonon::MediaController::staticMetaObjectExtraData + ?qt_static_metacall@EffectWidget@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 602 NONAME ; void Phonon::EffectWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) + ?qt_static_metacall@AudioDataOutput@Phonon@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 603 NONAME ; void Phonon::AudioDataOutput::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index 3abcf98..cf42b67 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -3717,452 +3717,449 @@ EXPORTS _ZN23QCoreApplicationPrivate18symbianCommandLineEv @ 3716 NONAME _ZNK11QMetaMethod8revisionEv @ 3717 NONAME _ZNK13QMetaProperty8revisionEv @ 3718 NONAME - _ZN11QThreadPool11waitForDoneEi @ 3719 NONAME - _ZN12QSystemError8toStringEv @ 3720 NONAME - _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEP7__sFILES0_IN5QFile14FileHandleFlagEE @ 3721 NONAME - _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEERK5RFileS0_IN5QFile14FileHandleFlagEE @ 3722 NONAME - _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEiS0_IN5QFile14FileHandleFlagEE @ 3723 NONAME - _ZN13QSharedMemory12setNativeKeyERK7QString @ 3724 NONAME - _ZN13QUnifiedTimer10timerEventEP11QTimerEvent @ 3725 NONAME - _ZN13QUnifiedTimer17ensureTimerUpdateEv @ 3726 NONAME - _ZN13QUnifiedTimer17registerAnimationEP18QAbstractAnimationb @ 3727 NONAME - _ZN13QUnifiedTimer17setTimingIntervalEi @ 3728 NONAME - _ZN13QUnifiedTimer19unregisterAnimationEP18QAbstractAnimation @ 3729 NONAME - _ZN13QUnifiedTimer20updateAnimationTimerEv @ 3730 NONAME - _ZN13QUnifiedTimer20updateAnimationsTimeEv @ 3731 NONAME - _ZN13QUnifiedTimer21restartAnimationTimerEv @ 3732 NONAME - _ZN13QUnifiedTimer22installAnimationDriverEP16QAnimationDriver @ 3733 NONAME - _ZN13QUnifiedTimer24registerRunningAnimationEP18QAbstractAnimation @ 3734 NONAME - _ZN13QUnifiedTimer26unregisterRunningAnimationEP18QAbstractAnimation @ 3735 NONAME - _ZN13QUnifiedTimer33closestPauseAnimationTimeToFinishEv @ 3736 NONAME - _ZN13QUnifiedTimer8instanceEb @ 3737 NONAME - _ZN13QUnifiedTimerC1Ev @ 3738 NONAME - _ZN13QUnifiedTimerC2Ev @ 3739 NONAME - _ZN16QAnimationDriver11qt_metacallEN11QMetaObject4CallEiPPv @ 3740 NONAME - _ZN16QAnimationDriver11qt_metacastEPKc @ 3741 NONAME - _ZN16QAnimationDriver16staticMetaObjectE @ 3742 NONAME DATA 16 - _ZN16QAnimationDriver19getStaticMetaObjectEv @ 3743 NONAME - _ZN16QAnimationDriver4stopEv @ 3744 NONAME - _ZN16QAnimationDriver5startEv @ 3745 NONAME - _ZN16QAnimationDriver7advanceEv @ 3746 NONAME - _ZN16QAnimationDriver7installEv @ 3747 NONAME - _ZN16QAnimationDriverC1EP7QObject @ 3748 NONAME - _ZN16QAnimationDriverC1ER23QAnimationDriverPrivateP7QObject @ 3749 NONAME - _ZN16QAnimationDriverC2EP7QObject @ 3750 NONAME - _ZN16QAnimationDriverC2ER23QAnimationDriverPrivateP7QObject @ 3751 NONAME - _ZN16QCoreApplicationC1ERiPPci @ 3752 NONAME - _ZN16QCoreApplicationC2ERiPPci @ 3753 NONAME - _ZN23QCoreApplicationPrivate19app_compile_versionE @ 3754 NONAME DATA 4 - _ZN23QCoreApplicationPrivateC1ERiPPcj @ 3755 NONAME - _ZN23QCoreApplicationPrivateC2ERiPPcj @ 3756 NONAME - _ZN31QNonContiguousByteDeviceFactory6createE14QSharedPointerI11QRingBufferE @ 3757 NONAME - _ZN5QChar21currentUnicodeVersionEv @ 3758 NONAME - _ZN5QFile4openEP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEES2_INS_14FileHandleFlagEE @ 3759 NONAME - _ZN5QFile4openERK5RFile6QFlagsIN9QIODevice12OpenModeFlagEES3_INS_14FileHandleFlagEE @ 3760 NONAME - _ZN5QFile4openEi6QFlagsIN9QIODevice12OpenModeFlagEES0_INS_14FileHandleFlagEE @ 3761 NONAME - _ZN6QMutex12lockInternalEv @ 3762 NONAME - _ZN6QMutex14unlockInternalEv @ 3763 NONAME - _ZN7QObject10disconnectEPKS_RK11QMetaMethodS1_S4_ @ 3764 NONAME - _ZN7QObject7connectEPKS_RK11QMetaMethodS1_S4_N2Qt14ConnectionTypeE @ 3765 NONAME - _ZN9QFileInfoC1EP16QFileInfoPrivate @ 3766 NONAME - _ZN9QFileInfoC2EP16QFileInfoPrivate @ 3767 NONAME - _ZNK10QStringRef10startsWithE13QLatin1StringN2Qt15CaseSensitivityE @ 3768 NONAME - _ZNK10QStringRef10startsWithE5QCharN2Qt15CaseSensitivityE @ 3769 NONAME - _ZNK10QStringRef10startsWithERK7QStringN2Qt15CaseSensitivityE @ 3770 NONAME - _ZNK10QStringRef10startsWithERKS_N2Qt15CaseSensitivityE @ 3771 NONAME - _ZNK10QStringRef11lastIndexOfE13QLatin1StringiN2Qt15CaseSensitivityE @ 3772 NONAME - _ZNK10QStringRef11lastIndexOfE5QChariN2Qt15CaseSensitivityE @ 3773 NONAME - _ZNK10QStringRef11lastIndexOfERK7QStringiN2Qt15CaseSensitivityE @ 3774 NONAME - _ZNK10QStringRef11lastIndexOfERKS_iN2Qt15CaseSensitivityE @ 3775 NONAME - _ZNK10QStringRef11toLocal8BitEv @ 3776 NONAME - _ZNK10QStringRef5countE5QCharN2Qt15CaseSensitivityE @ 3777 NONAME - _ZNK10QStringRef5countERK7QStringN2Qt15CaseSensitivityE @ 3778 NONAME - _ZNK10QStringRef5countERKS_N2Qt15CaseSensitivityE @ 3779 NONAME - _ZNK10QStringRef6toUcs4Ev @ 3780 NONAME - _ZNK10QStringRef6toUtf8Ev @ 3781 NONAME - _ZNK10QStringRef7indexOfE13QLatin1StringiN2Qt15CaseSensitivityE @ 3782 NONAME - _ZNK10QStringRef7indexOfE5QChariN2Qt15CaseSensitivityE @ 3783 NONAME - _ZNK10QStringRef7indexOfERK7QStringiN2Qt15CaseSensitivityE @ 3784 NONAME - _ZNK10QStringRef7indexOfERKS_iN2Qt15CaseSensitivityE @ 3785 NONAME - _ZNK10QStringRef7toAsciiEv @ 3786 NONAME - _ZNK10QStringRef8endsWithE13QLatin1StringN2Qt15CaseSensitivityE @ 3787 NONAME - _ZNK10QStringRef8endsWithE5QCharN2Qt15CaseSensitivityE @ 3788 NONAME - _ZNK10QStringRef8endsWithERK7QStringN2Qt15CaseSensitivityE @ 3789 NONAME - _ZNK10QStringRef8endsWithERKS_N2Qt15CaseSensitivityE @ 3790 NONAME - _ZNK10QStringRef8toLatin1Ev @ 3791 NONAME - _ZNK11QMetaObject4castEPK7QObject @ 3792 NONAME - _ZNK13QElapsedTimer12nsecsElapsedEv @ 3793 NONAME - _ZNK13QSharedMemory9nativeKeyEv @ 3794 NONAME - _ZNK16QAnimationDriver10metaObjectEv @ 3795 NONAME - _ZNK16QAnimationDriver9isRunningEv @ 3796 NONAME - _ZNK16QXmlStreamWriter8hasErrorEv @ 3797 NONAME - _ZNK4QUrl11isLocalFileEv @ 3798 NONAME - _ZNK7QObject17senderSignalIndexEv @ 3799 NONAME - _ZNK7QString10startsWithERK10QStringRefN2Qt15CaseSensitivityE @ 3800 NONAME - _ZNK7QString11lastIndexOfERK10QStringRefiN2Qt15CaseSensitivityE @ 3801 NONAME - _ZNK7QString5countERK10QStringRefN2Qt15CaseSensitivityE @ 3802 NONAME - _ZNK7QString7indexOfERK10QStringRefiN2Qt15CaseSensitivityE @ 3803 NONAME - _ZNK7QString8endsWithERK10QStringRefN2Qt15CaseSensitivityE @ 3804 NONAME - _ZTI13QUnifiedTimer @ 3805 NONAME - _ZTI16QAnimationDriver @ 3806 NONAME - _ZTI23QAnimationDriverPrivate @ 3807 NONAME - _ZTV13QUnifiedTimer @ 3808 NONAME - _ZTV16QAnimationDriver @ 3809 NONAME - _ZTV23QAnimationDriverPrivate @ 3810 NONAME - adler32_combine @ 3811 NONAME - adler32_combine64 @ 3812 NONAME - compressBound @ 3813 NONAME - crc32_combine @ 3814 NONAME - crc32_combine64 @ 3815 NONAME - deflateBound @ 3816 NONAME - deflatePrime @ 3817 NONAME - deflateSetHeader @ 3818 NONAME - deflateTune @ 3819 NONAME - gzbuffer @ 3820 NONAME - gzclearerr @ 3821 NONAME - gzclose_r @ 3822 NONAME - gzclose_w @ 3823 NONAME - gzdirect @ 3824 NONAME - gzoffset @ 3825 NONAME - gzoffset64 @ 3826 NONAME - gzopen64 @ 3827 NONAME - gzseek64 @ 3828 NONAME - gztell64 @ 3829 NONAME - gzungetc @ 3830 NONAME - inflateBack @ 3831 NONAME - inflateBackEnd @ 3832 NONAME - inflateBackInit_ @ 3833 NONAME - inflateCopy @ 3834 NONAME - inflateGetHeader @ 3835 NONAME - inflateMark @ 3836 NONAME - inflatePrime @ 3837 NONAME - inflateReset2 @ 3838 NONAME - inflateUndermine @ 3839 NONAME - zlibCompileFlags @ 3840 NONAME - _Z25qt_symbianGetSocketServerv @ 3841 NONAME - _ZN10QEventLoop18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3842 NONAME - _ZN10QEventLoop25staticMetaObjectExtraDataE @ 3843 NONAME DATA 8 - _ZN10QMutexPool11createMutexEi @ 3844 NONAME - _ZN11QFinalState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3845 NONAME - _ZN11QFinalState25staticMetaObjectExtraDataE @ 3846 NONAME DATA 8 - _ZN11QThreadPool18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3847 NONAME - _ZN11QThreadPool25staticMetaObjectExtraDataE @ 3848 NONAME DATA 8 - _ZN11QTranslator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3849 NONAME - _ZN11QTranslator25staticMetaObjectExtraDataE @ 3850 NONAME DATA 8 - _ZN11QTranslator4loadERK7QLocaleRK7QStringS5_S5_S5_ @ 3851 NONAME - _ZN13QActiveObject18maybeQueueForLaterEv @ 3852 NONAME ABSENT - _ZN13QActiveObject21maybeDeferSocketEventEv @ 3853 NONAME - _ZN13QActiveObject21reactivateAndCompleteEv @ 3854 NONAME - _ZN13QActiveObject4waitE5QListIP7CActiveEi @ 3855 NONAME ABSENT - _ZN13QActiveObject4waitEP7CActivei @ 3856 NONAME ABSENT - _ZN13QActiveObjectC2EiP23QEventDispatcherSymbian @ 3857 NONAME - _ZN13QActiveObjectD0Ev @ 3858 NONAME - _ZN13QActiveObjectD1Ev @ 3859 NONAME - _ZN13QActiveObjectD2Ev @ 3860 NONAME - _ZN13QHistoryState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3861 NONAME - _ZN13QHistoryState25staticMetaObjectExtraDataE @ 3862 NONAME DATA 8 - _ZN13QPluginLoader18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3863 NONAME - _ZN13QPluginLoader25staticMetaObjectExtraDataE @ 3864 NONAME DATA 8 - _ZN13QSharedMemory18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3865 NONAME - _ZN13QSharedMemory25staticMetaObjectExtraDataE @ 3866 NONAME DATA 8 - _ZN13QSignalMapper18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3867 NONAME - _ZN13QSignalMapper25staticMetaObjectExtraDataE @ 3868 NONAME DATA 8 - _ZN13QStateMachine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3869 NONAME - _ZN13QStateMachine25staticMetaObjectExtraDataE @ 3870 NONAME DATA 8 - _ZN14QAbstractState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3871 NONAME - _ZN14QAbstractState25staticMetaObjectExtraDataE @ 3872 NONAME DATA 8 - _ZN14QFactoryLoader18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3873 NONAME - _ZN14QFactoryLoader25staticMetaObjectExtraDataE @ 3874 NONAME DATA 8 - _ZN14QLocalePrivate10findLocaleEN7QLocale8LanguageENS0_6ScriptENS0_7CountryE @ 3875 NONAME - _ZN14QLocalePrivate12codeToScriptERK7QString @ 3876 NONAME - _ZN14QLocalePrivate13codeToCountryERK7QString @ 3877 NONAME - _ZN14QLocalePrivate14codeToLanguageERK7QString @ 3878 NONAME - _ZN14QLocalePrivate14doubleToStringE5QCharS0_S0_S0_S0_S0_diNS_10DoubleFormEij @ 3879 NONAME - _ZN14QLocalePrivate16longLongToStringE5QCharS0_S0_S0_xiiij @ 3880 NONAME - _ZN14QLocalePrivate17getLangAndCountryERK7QStringRN7QLocale8LanguageERNS3_6ScriptERNS3_7CountryE @ 3881 NONAME - _ZN14QLocalePrivate19unsLongLongToStringE5QCharS0_S0_yiiij @ 3882 NONAME - _ZN14QMetaCallEventC1EttPFvP7QObjectN11QMetaObject4CallEiPPvEPKS0_iiPiS5_P10QSemaphore @ 3883 NONAME - _ZN14QMetaCallEventC2EttPFvP7QObjectN11QMetaObject4CallEiPPvEPKS0_iiPiS5_P10QSemaphore @ 3884 NONAME - _ZN14QTemporaryFile18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3885 NONAME - _ZN14QTemporaryFile25staticMetaObjectExtraDataE @ 3886 NONAME DATA 8 - _ZN15QAnimationGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3887 NONAME - _ZN15QAnimationGroup25staticMetaObjectExtraDataE @ 3888 NONAME DATA 8 - _ZN15QPauseAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3889 NONAME - _ZN15QPauseAnimation25staticMetaObjectExtraDataE @ 3890 NONAME DATA 8 - _ZN15QSocketNotifier18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3891 NONAME - _ZN15QSocketNotifier25staticMetaObjectExtraDataE @ 3892 NONAME DATA 8 - _ZN16QAnimationDriver18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3893 NONAME - _ZN16QAnimationDriver25staticMetaObjectExtraDataE @ 3894 NONAME DATA 8 - _ZN16QCoreApplication18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3895 NONAME - _ZN16QCoreApplication25staticMetaObjectExtraDataE @ 3896 NONAME DATA 8 - _ZN16QEventTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3897 NONAME - _ZN16QEventTransition25staticMetaObjectExtraDataE @ 3898 NONAME DATA 8 - _ZN16QTextCodecPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3899 NONAME - _ZN16QTextCodecPlugin25staticMetaObjectExtraDataE @ 3900 NONAME DATA 8 - _ZN17QSignalTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3901 NONAME - _ZN17QSignalTransition25staticMetaObjectExtraDataE @ 3902 NONAME DATA 8 - _ZN17QVariantAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3903 NONAME - _ZN17QVariantAnimation25staticMetaObjectExtraDataE @ 3904 NONAME DATA 8 - _ZN18QAbstractAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3905 NONAME - _ZN18QAbstractAnimation25staticMetaObjectExtraDataE @ 3906 NONAME DATA 8 - _ZN18QAbstractItemModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3907 NONAME - _ZN18QAbstractItemModel25staticMetaObjectExtraDataE @ 3908 NONAME DATA 8 - _ZN18QAbstractListModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3909 NONAME - _ZN18QAbstractListModel25staticMetaObjectExtraDataE @ 3910 NONAME DATA 8 - _ZN18QFileSystemWatcher18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3911 NONAME - _ZN18QFileSystemWatcher25staticMetaObjectExtraDataE @ 3912 NONAME DATA 8 - _ZN18QPropertyAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3913 NONAME - _ZN18QPropertyAnimation25staticMetaObjectExtraDataE @ 3914 NONAME DATA 8 - _ZN19QAbstractTableModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3915 NONAME - _ZN19QAbstractTableModel25staticMetaObjectExtraDataE @ 3916 NONAME DATA 8 - _ZN19QAbstractTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3917 NONAME - _ZN19QAbstractTransition25staticMetaObjectExtraDataE @ 3918 NONAME DATA 8 - _ZN19QProcessEnvironment6insertERKS_ @ 3919 NONAME - _ZN21QAbstractConcatenable14convertToAsciiEPK5QChariRPc @ 3920 NONAME - _ZN21QObjectCleanupHandler18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3921 NONAME - _ZN21QObjectCleanupHandler25staticMetaObjectExtraDataE @ 3922 NONAME DATA 8 - _ZN21QSymbianSocketManager12removeSocketERK7RSocket @ 3923 NONAME - _ZN21QSymbianSocketManager15getSocketServerEv @ 3924 NONAME - _ZN21QSymbianSocketManager20setDefaultConnectionEP11RConnection @ 3925 NONAME - _ZN21QSymbianSocketManager8instanceEv @ 3926 NONAME - _ZN21QSymbianSocketManager9addSocketERK7RSocket @ 3927 NONAME - _ZN21QSymbianSocketManagerC1Ev @ 3928 NONAME - _ZN21QSymbianSocketManagerC2Ev @ 3929 NONAME - _ZN21QSymbianSocketManagerD1Ev @ 3930 NONAME - _ZN21QSymbianSocketManagerD2Ev @ 3931 NONAME - _ZN23QEventDispatcherSymbian18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3932 NONAME - _ZN23QEventDispatcherSymbian25staticMetaObjectExtraDataE @ 3933 NONAME DATA 8 - _ZN23QParallelAnimationGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3934 NONAME - _ZN23QParallelAnimationGroup25staticMetaObjectExtraDataE @ 3935 NONAME DATA 8 - _ZN24QAbstractEventDispatcher18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3936 NONAME - _ZN24QAbstractEventDispatcher25staticMetaObjectExtraDataE @ 3937 NONAME DATA 8 - _ZN24QNonContiguousByteDevice18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3938 NONAME - _ZN24QNonContiguousByteDevice25staticMetaObjectExtraDataE @ 3939 NONAME DATA 8 - _ZN25QSequentialAnimationGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3940 NONAME - _ZN25QSequentialAnimationGroup25staticMetaObjectExtraDataE @ 3941 NONAME DATA 8 - _ZN5QFile18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3942 NONAME - _ZN5QFile25staticMetaObjectExtraDataE @ 3943 NONAME DATA 8 - _ZN6QState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3944 NONAME - _ZN6QState25staticMetaObjectExtraDataE @ 3945 NONAME DATA 8 - _ZN6QTimer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3946 NONAME - _ZN6QTimer25staticMetaObjectExtraDataE @ 3947 NONAME DATA 8 - _ZN7QBuffer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3948 NONAME - _ZN7QBuffer25staticMetaObjectExtraDataE @ 3949 NONAME DATA 8 - _ZN7QLocale14scriptToStringENS_6ScriptE @ 3950 NONAME - _ZN7QLocale15matchingLocalesENS_8LanguageENS_6ScriptENS_7CountryE @ 3951 NONAME - _ZN7QLocaleC1ENS_8LanguageENS_6ScriptENS_7CountryE @ 3952 NONAME - _ZN7QLocaleC2ENS_8LanguageENS_6ScriptENS_7CountryE @ 3953 NONAME - _ZN7QObject18qt_static_metacallEPS_N11QMetaObject4CallEiPPv @ 3954 NONAME - _ZN7QObject25staticMetaObjectExtraDataE @ 3955 NONAME DATA 8 - _ZN7QThread18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3956 NONAME - _ZN7QThread25staticMetaObjectExtraDataE @ 3957 NONAME DATA 8 - _ZN8QLibrary18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3958 NONAME - _ZN8QLibrary25staticMetaObjectExtraDataE @ 3959 NONAME DATA 8 - _ZN8QProcess18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3960 NONAME - _ZN8QProcess25staticMetaObjectExtraDataE @ 3961 NONAME DATA 8 - _ZN9QIODevice18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3962 NONAME - _ZN9QIODevice25staticMetaObjectExtraDataE @ 3963 NONAME DATA 8 - _ZN9QMimeData18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3964 NONAME - _ZN9QMimeData25staticMetaObjectExtraDataE @ 3965 NONAME DATA 8 - _ZN9QSettings18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3966 NONAME - _ZN9QSettings25staticMetaObjectExtraDataE @ 3967 NONAME DATA 8 - _ZN9QTimeLine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3968 NONAME - _ZN9QTimeLine25staticMetaObjectExtraDataE @ 3969 NONAME DATA 8 - _ZNK14QLocalePrivate10scriptCodeEv @ 3970 NONAME - _ZNK14QLocalePrivate11countryCodeEv @ 3971 NONAME - _ZNK14QLocalePrivate12languageCodeEv @ 3972 NONAME - _ZNK14QLocalePrivate9bcp47NameEv @ 3973 NONAME - _ZNK19QProcessEnvironment4keysEv @ 3974 NONAME - _ZNK21QSymbianSocketManager12lookupSocketERK7RSocket @ 3975 NONAME - _ZNK21QSymbianSocketManager12lookupSocketEiR7RSocket @ 3976 NONAME - _ZNK21QSymbianSocketManager17defaultConnectionEv @ 3977 NONAME - _ZNK7QLocale11quoteStringERK10QStringRefNS_14QuotationStyleE @ 3978 NONAME - _ZNK7QLocale11quoteStringERK7QStringNS_14QuotationStyleE @ 3979 NONAME - _ZNK7QLocale11uiLanguagesEv @ 3980 NONAME - _ZNK7QLocale14currencySymbolENS_20CurrencySymbolFormatE @ 3981 NONAME - _ZNK7QLocale14firstDayOfWeekEv @ 3982 NONAME - _ZNK7QLocale16toCurrencyStringEdRK7QString @ 3983 NONAME - _ZNK7QLocale16toCurrencyStringExRK7QString @ 3984 NONAME - _ZNK7QLocale16toCurrencyStringEyRK7QString @ 3985 NONAME - _ZNK7QLocale17nativeCountryNameEv @ 3986 NONAME - _ZNK7QLocale18nativeLanguageNameEv @ 3987 NONAME - _ZNK7QLocale19createSeparatedListERK11QStringList @ 3988 NONAME - _ZNK7QLocale6scriptEv @ 3989 NONAME - _ZNK7QLocale8weekdaysEv @ 3990 NONAME - _ZNK7QLocale9bcp47NameEv @ 3991 NONAME - _ZTI13QActiveObject @ 3992 NONAME - _ZTV13QActiveObject @ 3993 NONAME - _ZN23QCoreApplicationPrivate13trolltechConfEv @ 3994 NONAME - _ZN12QtConcurrent15ResultStoreBase10addResultsEiPKvii @ 3995 NONAME - _ZN12QtConcurrent15ResultStoreBase13setFilterModeEb @ 3996 NONAME - _ZN12QtConcurrent15ResultStoreBase15syncResultCountEv @ 3997 NONAME - _ZN12QtConcurrent15ResultStoreBase16insertResultItemEiRNS_10ResultItemE @ 3998 NONAME - _ZN12QtConcurrent15ResultStoreBase17updateInsertIndexEii @ 3999 NONAME - _ZN12QtConcurrent15ResultStoreBase18syncPendingResultsEv @ 4000 NONAME - _ZN12QtConcurrent15ResultStoreBase23insertResultItemIfValidEiRNS_10ResultItemE @ 4001 NONAME - _ZN12QtConcurrent15ResultStoreBase9addResultEiPKv @ 4002 NONAME - _ZN12QtConcurrent15ResultStoreBaseC1Ev @ 4003 NONAME - _ZN12QtConcurrent15ResultStoreBaseC2Ev @ 4004 NONAME - _ZN12QtConcurrent16BlockSizeManager13timeAfterUserEv @ 4005 NONAME - _ZN12QtConcurrent16BlockSizeManager14timeBeforeUserEv @ 4006 NONAME - _ZN12QtConcurrent16BlockSizeManager9blockSizeEv @ 4007 NONAME - _ZN12QtConcurrent16BlockSizeManagerC1Ei @ 4008 NONAME - _ZN12QtConcurrent16BlockSizeManagerC2Ei @ 4009 NONAME - _ZN12QtConcurrent16ThreadEngineBase10isCanceledEv @ 4010 NONAME - _ZN12QtConcurrent16ThreadEngineBase10threadExitEv @ 4011 NONAME - _ZN12QtConcurrent16ThreadEngineBase11startThreadEv @ 4012 NONAME - _ZN12QtConcurrent16ThreadEngineBase12startThreadsEv @ 4013 NONAME - _ZN12QtConcurrent16ThreadEngineBase13startBlockingEv @ 4014 NONAME - _ZN12QtConcurrent16ThreadEngineBase13waitForResumeEv @ 4015 NONAME - _ZN12QtConcurrent16ThreadEngineBase15handleExceptionERKNS_9ExceptionE @ 4016 NONAME - _ZN12QtConcurrent16ThreadEngineBase16setProgressRangeEii @ 4017 NONAME - _ZN12QtConcurrent16ThreadEngineBase16setProgressValueEi @ 4018 NONAME - _ZN12QtConcurrent16ThreadEngineBase18threadThrottleExitEv @ 4019 NONAME - _ZN12QtConcurrent16ThreadEngineBase19startSingleThreadedEv @ 4020 NONAME - _ZN12QtConcurrent16ThreadEngineBase19startThreadInternalEv @ 4021 NONAME - _ZN12QtConcurrent16ThreadEngineBase23acquireBarrierSemaphoreEv @ 4022 NONAME - _ZN12QtConcurrent16ThreadEngineBase26isProgressReportingEnabledEv @ 4023 NONAME - _ZN12QtConcurrent16ThreadEngineBase3runEv @ 4024 NONAME - _ZN12QtConcurrent16ThreadEngineBaseC2Ev @ 4025 NONAME - _ZN12QtConcurrent16ThreadEngineBaseD0Ev @ 4026 NONAME - _ZN12QtConcurrent16ThreadEngineBaseD1Ev @ 4027 NONAME - _ZN12QtConcurrent16ThreadEngineBaseD2Ev @ 4028 NONAME - _ZN12QtConcurrent18ResultIteratorBase14batchedAdvanceEv @ 4029 NONAME - _ZN12QtConcurrent18ResultIteratorBaseC1EN4QMapIiNS_10ResultItemEE14const_iteratorEi @ 4030 NONAME - _ZN12QtConcurrent18ResultIteratorBaseC1Ev @ 4031 NONAME - _ZN12QtConcurrent18ResultIteratorBaseC2EN4QMapIiNS_10ResultItemEE14const_iteratorEi @ 4032 NONAME - _ZN12QtConcurrent18ResultIteratorBaseC2Ev @ 4033 NONAME - _ZN12QtConcurrent18ResultIteratorBaseppEv @ 4034 NONAME - _ZN12QtConcurrent8internal14ExceptionStore12setExceptionERKNS_9ExceptionE @ 4035 NONAME - _ZN12QtConcurrent8internal14ExceptionStore22throwPossibleExceptionEv @ 4036 NONAME - _ZN12QtConcurrent8internal14ExceptionStore9exceptionEv @ 4037 NONAME - _ZN18QFutureWatcherBase11qt_metacallEN11QMetaObject4CallEiPPv @ 4038 NONAME - _ZN18QFutureWatcherBase11qt_metacastEPKc @ 4039 NONAME - _ZN18QFutureWatcherBase12togglePausedEv @ 4040 NONAME - _ZN18QFutureWatcherBase13connectNotifyEPKc @ 4041 NONAME - _ZN18QFutureWatcherBase13resultReadyAtEi @ 4042 NONAME - _ZN18QFutureWatcherBase14resultsReadyAtEii @ 4043 NONAME - _ZN18QFutureWatcherBase15waitForFinishedEv @ 4044 NONAME - _ZN18QFutureWatcherBase16disconnectNotifyEPKc @ 4045 NONAME - _ZN18QFutureWatcherBase16staticMetaObjectE @ 4046 NONAME DATA 16 - _ZN18QFutureWatcherBase18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 4047 NONAME - _ZN18QFutureWatcherBase19getStaticMetaObjectEv @ 4048 NONAME - _ZN18QFutureWatcherBase19progressTextChangedERK7QString @ 4049 NONAME - _ZN18QFutureWatcherBase20progressRangeChangedEii @ 4050 NONAME - _ZN18QFutureWatcherBase20progressValueChangedEi @ 4051 NONAME - _ZN18QFutureWatcherBase22connectOutputInterfaceEv @ 4052 NONAME - _ZN18QFutureWatcherBase22setPendingResultsLimitEi @ 4053 NONAME - _ZN18QFutureWatcherBase25disconnectOutputInterfaceEb @ 4054 NONAME - _ZN18QFutureWatcherBase25staticMetaObjectExtraDataE @ 4055 NONAME DATA 8 - _ZN18QFutureWatcherBase5eventEP6QEvent @ 4056 NONAME - _ZN18QFutureWatcherBase5pauseEv @ 4057 NONAME - _ZN18QFutureWatcherBase6cancelEv @ 4058 NONAME - _ZN18QFutureWatcherBase6pausedEv @ 4059 NONAME - _ZN18QFutureWatcherBase6resumeEv @ 4060 NONAME - _ZN18QFutureWatcherBase7resumedEv @ 4061 NONAME - _ZN18QFutureWatcherBase7startedEv @ 4062 NONAME - _ZN18QFutureWatcherBase8canceledEv @ 4063 NONAME - _ZN18QFutureWatcherBase8finishedEv @ 4064 NONAME - _ZN18QFutureWatcherBase9setPausedEb @ 4065 NONAME - _ZN18QFutureWatcherBaseC2EP7QObject @ 4066 NONAME - _ZN20QFutureInterfaceBase11setRunnableEP9QRunnable @ 4067 NONAME - _ZN20QFutureInterfaceBase12setThrottledEb @ 4068 NONAME - _ZN20QFutureInterfaceBase12togglePausedEv @ 4069 NONAME - _ZN20QFutureInterfaceBase13reportStartedEv @ 4070 NONAME - _ZN20QFutureInterfaceBase13setFilterModeEb @ 4071 NONAME - _ZN20QFutureInterfaceBase13waitForResultEi @ 4072 NONAME - _ZN20QFutureInterfaceBase13waitForResumeEv @ 4073 NONAME - _ZN20QFutureInterfaceBase14exceptionStoreEv @ 4074 NONAME - _ZN20QFutureInterfaceBase14reportCanceledEv @ 4075 NONAME - _ZN20QFutureInterfaceBase14reportFinishedEv @ 4076 NONAME - _ZN20QFutureInterfaceBase15reportExceptionERKN12QtConcurrent9ExceptionE @ 4077 NONAME - _ZN20QFutureInterfaceBase15resultStoreBaseEv @ 4078 NONAME - _ZN20QFutureInterfaceBase15waitForFinishedEv @ 4079 NONAME - _ZN20QFutureInterfaceBase16setProgressRangeEii @ 4080 NONAME - _ZN20QFutureInterfaceBase16setProgressValueEi @ 4081 NONAME - _ZN20QFutureInterfaceBase17waitForNextResultEv @ 4082 NONAME - _ZN20QFutureInterfaceBase18reportResultsReadyEii @ 4083 NONAME - _ZN20QFutureInterfaceBase19expectedResultCountEv @ 4084 NONAME - _ZN20QFutureInterfaceBase22setExpectedResultCountEi @ 4085 NONAME - _ZN20QFutureInterfaceBase23setProgressValueAndTextEiRK7QString @ 4086 NONAME - _ZN20QFutureInterfaceBase6cancelEv @ 4087 NONAME - _ZN20QFutureInterfaceBase9setPausedEb @ 4088 NONAME - _ZN20QFutureInterfaceBaseC1ENS_5StateE @ 4089 NONAME - _ZN20QFutureInterfaceBaseC1ERKS_ @ 4090 NONAME - _ZN20QFutureInterfaceBaseC2ENS_5StateE @ 4091 NONAME - _ZN20QFutureInterfaceBaseC2ERKS_ @ 4092 NONAME - _ZN20QFutureInterfaceBaseD0Ev @ 4093 NONAME - _ZN20QFutureInterfaceBaseD1Ev @ 4094 NONAME - _ZN20QFutureInterfaceBaseD2Ev @ 4095 NONAME - _ZN20QFutureInterfaceBaseaSERKS_ @ 4096 NONAME - _ZNK12QtConcurrent15ResultStoreBase10filterModeEv @ 4097 NONAME - _ZNK12QtConcurrent15ResultStoreBase13hasNextResultEv @ 4098 NONAME - _ZNK12QtConcurrent15ResultStoreBase3endEv @ 4099 NONAME - _ZNK12QtConcurrent15ResultStoreBase5beginEv @ 4100 NONAME - _ZNK12QtConcurrent15ResultStoreBase5countEv @ 4101 NONAME - _ZNK12QtConcurrent15ResultStoreBase8containsEi @ 4102 NONAME - _ZNK12QtConcurrent15ResultStoreBase8resultAtEi @ 4103 NONAME - _ZNK12QtConcurrent18ResultIteratorBase11resultIndexEv @ 4104 NONAME - _ZNK12QtConcurrent18ResultIteratorBase11vectorIndexEv @ 4105 NONAME - _ZNK12QtConcurrent18ResultIteratorBase23canIncrementVectorIndexEv @ 4106 NONAME - _ZNK12QtConcurrent18ResultIteratorBase8isVectorEv @ 4107 NONAME - _ZNK12QtConcurrent18ResultIteratorBase9batchSizeEv @ 4108 NONAME - _ZNK12QtConcurrent18ResultIteratorBaseeqERKS0_ @ 4109 NONAME - _ZNK12QtConcurrent18ResultIteratorBaseneERKS0_ @ 4110 NONAME - _ZNK12QtConcurrent18UnhandledException5cloneEv @ 4111 NONAME - _ZNK12QtConcurrent18UnhandledException5raiseEv @ 4112 NONAME - _ZNK12QtConcurrent8internal14ExceptionStore12hasExceptionEv @ 4113 NONAME - _ZNK12QtConcurrent8internal14ExceptionStore9hasThrownEv @ 4114 NONAME - _ZNK12QtConcurrent9Exception5cloneEv @ 4115 NONAME - _ZNK12QtConcurrent9Exception5raiseEv @ 4116 NONAME - _ZNK18QFutureWatcherBase10isCanceledEv @ 4117 NONAME - _ZNK18QFutureWatcherBase10isFinishedEv @ 4118 NONAME - _ZNK18QFutureWatcherBase10metaObjectEv @ 4119 NONAME - _ZNK18QFutureWatcherBase12progressTextEv @ 4120 NONAME - _ZNK18QFutureWatcherBase13progressValueEv @ 4121 NONAME - _ZNK18QFutureWatcherBase15progressMaximumEv @ 4122 NONAME - _ZNK18QFutureWatcherBase15progressMinimumEv @ 4123 NONAME - _ZNK18QFutureWatcherBase8isPausedEv @ 4124 NONAME - _ZNK18QFutureWatcherBase9isRunningEv @ 4125 NONAME - _ZNK18QFutureWatcherBase9isStartedEv @ 4126 NONAME - _ZNK20QFutureInterfaceBase10isCanceledEv @ 4127 NONAME - _ZNK20QFutureInterfaceBase10isFinishedEv @ 4128 NONAME - _ZNK20QFutureInterfaceBase10queryStateENS_5StateE @ 4129 NONAME - _ZNK20QFutureInterfaceBase11isThrottledEv @ 4130 NONAME - _ZNK20QFutureInterfaceBase11resultCountEv @ 4131 NONAME - _ZNK20QFutureInterfaceBase12progressTextEv @ 4132 NONAME - _ZNK20QFutureInterfaceBase13progressValueEv @ 4133 NONAME - _ZNK20QFutureInterfaceBase15isResultReadyAtEi @ 4134 NONAME - _ZNK20QFutureInterfaceBase15progressMaximumEv @ 4135 NONAME - _ZNK20QFutureInterfaceBase15progressMinimumEv @ 4136 NONAME - _ZNK20QFutureInterfaceBase15resultStoreBaseEv @ 4137 NONAME - _ZNK20QFutureInterfaceBase19referenceCountIsOneEv @ 4138 NONAME - _ZNK20QFutureInterfaceBase22isProgressUpdateNeededEv @ 4139 NONAME - _ZNK20QFutureInterfaceBase5mutexEv @ 4140 NONAME - _ZNK20QFutureInterfaceBase8isPausedEv @ 4141 NONAME - _ZNK20QFutureInterfaceBase9isRunningEv @ 4142 NONAME - _ZNK20QFutureInterfaceBase9isStartedEv @ 4143 NONAME - _ZTI18QFutureWatcherBase @ 4144 NONAME - _ZTI20QFutureInterfaceBase @ 4145 NONAME - _ZTIN12QtConcurrent15ResultStoreBaseE @ 4146 NONAME - _ZTIN12QtConcurrent16ThreadEngineBaseE @ 4147 NONAME - _ZTIN12QtConcurrent18UnhandledExceptionE @ 4148 NONAME - _ZTIN12QtConcurrent9ExceptionE @ 4149 NONAME - _ZTV18QFutureWatcherBase @ 4150 NONAME - _ZTV20QFutureInterfaceBase @ 4151 NONAME - _ZTVN12QtConcurrent15ResultStoreBaseE @ 4152 NONAME - _ZTVN12QtConcurrent16ThreadEngineBaseE @ 4153 NONAME - _ZTVN12QtConcurrent18UnhandledExceptionE @ 4154 NONAME - _ZTVN12QtConcurrent9ExceptionE @ 4155 NONAME - _Z15qIsEffectiveTLDRK7QString @ 4156 NONAME - _Z15qTopLevelDomainRK7QString @ 4157 NONAME - _ZN5QUuid11fromRfc4122ERK10QByteArray @ 4158 NONAME - _ZN5QUuidC1ERK10QByteArray @ 4159 NONAME - _ZN5QUuidC2ERK10QByteArray @ 4160 NONAME - _ZNK4QUrl14topLevelDomainEv @ 4161 NONAME - _ZNK5QUuid11toByteArrayEv @ 4162 NONAME - _ZNK5QUuid9toRfc4122Ev @ 4163 NONAME - _ZN18QAbstractItemModel17resetInternalDataEv @ 4164 NONAME - _ZNK7QLocale7toLowerERK7QString @ 4165 NONAME - _ZNK7QLocale7toUpperERK7QString @ 4166 NONAME + _Z15qIsEffectiveTLDRK7QString @ 3719 NONAME + _Z15qTopLevelDomainRK7QString @ 3720 NONAME + _Z25qt_symbianGetSocketServerv @ 3721 NONAME + _ZN10QEventLoop18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3722 NONAME + _ZN10QEventLoop25staticMetaObjectExtraDataE @ 3723 NONAME DATA 8 + _ZN10QMutexPool11createMutexEi @ 3724 NONAME + _ZN11QFinalState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3725 NONAME + _ZN11QFinalState25staticMetaObjectExtraDataE @ 3726 NONAME DATA 8 + _ZN11QThreadPool11waitForDoneEi @ 3727 NONAME + _ZN11QThreadPool18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3728 NONAME + _ZN11QThreadPool25staticMetaObjectExtraDataE @ 3729 NONAME DATA 8 + _ZN11QTranslator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3730 NONAME + _ZN11QTranslator25staticMetaObjectExtraDataE @ 3731 NONAME DATA 8 + _ZN11QTranslator4loadERK7QLocaleRK7QStringS5_S5_S5_ @ 3732 NONAME + _ZN12QSystemError8toStringEv @ 3733 NONAME + _ZN12QtConcurrent15ResultStoreBase10addResultsEiPKvii @ 3734 NONAME + _ZN12QtConcurrent15ResultStoreBase13setFilterModeEb @ 3735 NONAME + _ZN12QtConcurrent15ResultStoreBase15syncResultCountEv @ 3736 NONAME + _ZN12QtConcurrent15ResultStoreBase16insertResultItemEiRNS_10ResultItemE @ 3737 NONAME + _ZN12QtConcurrent15ResultStoreBase17updateInsertIndexEii @ 3738 NONAME + _ZN12QtConcurrent15ResultStoreBase18syncPendingResultsEv @ 3739 NONAME + _ZN12QtConcurrent15ResultStoreBase23insertResultItemIfValidEiRNS_10ResultItemE @ 3740 NONAME + _ZN12QtConcurrent15ResultStoreBase9addResultEiPKv @ 3741 NONAME + _ZN12QtConcurrent15ResultStoreBaseC1Ev @ 3742 NONAME + _ZN12QtConcurrent15ResultStoreBaseC2Ev @ 3743 NONAME + _ZN12QtConcurrent16BlockSizeManager13timeAfterUserEv @ 3744 NONAME + _ZN12QtConcurrent16BlockSizeManager14timeBeforeUserEv @ 3745 NONAME + _ZN12QtConcurrent16BlockSizeManager9blockSizeEv @ 3746 NONAME + _ZN12QtConcurrent16BlockSizeManagerC1Ei @ 3747 NONAME + _ZN12QtConcurrent16BlockSizeManagerC2Ei @ 3748 NONAME + _ZN12QtConcurrent16ThreadEngineBase10isCanceledEv @ 3749 NONAME + _ZN12QtConcurrent16ThreadEngineBase10threadExitEv @ 3750 NONAME + _ZN12QtConcurrent16ThreadEngineBase11startThreadEv @ 3751 NONAME + _ZN12QtConcurrent16ThreadEngineBase12startThreadsEv @ 3752 NONAME + _ZN12QtConcurrent16ThreadEngineBase13startBlockingEv @ 3753 NONAME + _ZN12QtConcurrent16ThreadEngineBase13waitForResumeEv @ 3754 NONAME + _ZN12QtConcurrent16ThreadEngineBase15handleExceptionERKNS_9ExceptionE @ 3755 NONAME + _ZN12QtConcurrent16ThreadEngineBase16setProgressRangeEii @ 3756 NONAME + _ZN12QtConcurrent16ThreadEngineBase16setProgressValueEi @ 3757 NONAME + _ZN12QtConcurrent16ThreadEngineBase18threadThrottleExitEv @ 3758 NONAME + _ZN12QtConcurrent16ThreadEngineBase19startSingleThreadedEv @ 3759 NONAME + _ZN12QtConcurrent16ThreadEngineBase19startThreadInternalEv @ 3760 NONAME + _ZN12QtConcurrent16ThreadEngineBase23acquireBarrierSemaphoreEv @ 3761 NONAME + _ZN12QtConcurrent16ThreadEngineBase26isProgressReportingEnabledEv @ 3762 NONAME + _ZN12QtConcurrent16ThreadEngineBase3runEv @ 3763 NONAME + _ZN12QtConcurrent16ThreadEngineBaseC2Ev @ 3764 NONAME + _ZN12QtConcurrent16ThreadEngineBaseD0Ev @ 3765 NONAME + _ZN12QtConcurrent16ThreadEngineBaseD1Ev @ 3766 NONAME + _ZN12QtConcurrent16ThreadEngineBaseD2Ev @ 3767 NONAME + _ZN12QtConcurrent18ResultIteratorBase14batchedAdvanceEv @ 3768 NONAME + _ZN12QtConcurrent18ResultIteratorBaseC1EN4QMapIiNS_10ResultItemEE14const_iteratorEi @ 3769 NONAME + _ZN12QtConcurrent18ResultIteratorBaseC1Ev @ 3770 NONAME + _ZN12QtConcurrent18ResultIteratorBaseC2EN4QMapIiNS_10ResultItemEE14const_iteratorEi @ 3771 NONAME + _ZN12QtConcurrent18ResultIteratorBaseC2Ev @ 3772 NONAME + _ZN12QtConcurrent18ResultIteratorBaseppEv @ 3773 NONAME + _ZN12QtConcurrent8internal14ExceptionStore12setExceptionERKNS_9ExceptionE @ 3774 NONAME + _ZN12QtConcurrent8internal14ExceptionStore22throwPossibleExceptionEv @ 3775 NONAME + _ZN12QtConcurrent8internal14ExceptionStore9exceptionEv @ 3776 NONAME + _ZN13QActiveObject21maybeDeferSocketEventEv @ 3777 NONAME + _ZN13QActiveObject21reactivateAndCompleteEv @ 3778 NONAME + _ZN13QActiveObjectC2EiP23QEventDispatcherSymbian @ 3779 NONAME + _ZN13QActiveObjectD0Ev @ 3780 NONAME + _ZN13QActiveObjectD1Ev @ 3781 NONAME + _ZN13QActiveObjectD2Ev @ 3782 NONAME + _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEP7__sFILES0_IN5QFile14FileHandleFlagEE @ 3783 NONAME + _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEERK5RFileS0_IN5QFile14FileHandleFlagEE @ 3784 NONAME + _ZN13QFSFileEngine4openE6QFlagsIN9QIODevice12OpenModeFlagEEiS0_IN5QFile14FileHandleFlagEE @ 3785 NONAME + _ZN13QHistoryState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3786 NONAME + _ZN13QHistoryState25staticMetaObjectExtraDataE @ 3787 NONAME DATA 8 + _ZN13QPluginLoader18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3788 NONAME + _ZN13QPluginLoader25staticMetaObjectExtraDataE @ 3789 NONAME DATA 8 + _ZN13QSharedMemory12setNativeKeyERK7QString @ 3790 NONAME + _ZN13QSharedMemory18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3791 NONAME + _ZN13QSharedMemory25staticMetaObjectExtraDataE @ 3792 NONAME DATA 8 + _ZN13QSignalMapper18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3793 NONAME + _ZN13QSignalMapper25staticMetaObjectExtraDataE @ 3794 NONAME DATA 8 + _ZN13QStateMachine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3795 NONAME + _ZN13QStateMachine25staticMetaObjectExtraDataE @ 3796 NONAME DATA 8 + _ZN13QUnifiedTimer10timerEventEP11QTimerEvent @ 3797 NONAME + _ZN13QUnifiedTimer17ensureTimerUpdateEv @ 3798 NONAME + _ZN13QUnifiedTimer17registerAnimationEP18QAbstractAnimationb @ 3799 NONAME + _ZN13QUnifiedTimer17setTimingIntervalEi @ 3800 NONAME + _ZN13QUnifiedTimer19unregisterAnimationEP18QAbstractAnimation @ 3801 NONAME + _ZN13QUnifiedTimer20updateAnimationTimerEv @ 3802 NONAME + _ZN13QUnifiedTimer20updateAnimationsTimeEv @ 3803 NONAME + _ZN13QUnifiedTimer21restartAnimationTimerEv @ 3804 NONAME + _ZN13QUnifiedTimer22installAnimationDriverEP16QAnimationDriver @ 3805 NONAME + _ZN13QUnifiedTimer24registerRunningAnimationEP18QAbstractAnimation @ 3806 NONAME + _ZN13QUnifiedTimer26unregisterRunningAnimationEP18QAbstractAnimation @ 3807 NONAME + _ZN13QUnifiedTimer33closestPauseAnimationTimeToFinishEv @ 3808 NONAME + _ZN13QUnifiedTimer8instanceEb @ 3809 NONAME + _ZN13QUnifiedTimerC1Ev @ 3810 NONAME + _ZN13QUnifiedTimerC2Ev @ 3811 NONAME + _ZN14QAbstractState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3812 NONAME + _ZN14QAbstractState25staticMetaObjectExtraDataE @ 3813 NONAME DATA 8 + _ZN14QFactoryLoader18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3814 NONAME + _ZN14QFactoryLoader25staticMetaObjectExtraDataE @ 3815 NONAME DATA 8 + _ZN14QLocalePrivate10findLocaleEN7QLocale8LanguageENS0_6ScriptENS0_7CountryE @ 3816 NONAME + _ZN14QLocalePrivate12codeToScriptERK7QString @ 3817 NONAME + _ZN14QLocalePrivate13codeToCountryERK7QString @ 3818 NONAME + _ZN14QLocalePrivate14codeToLanguageERK7QString @ 3819 NONAME + _ZN14QLocalePrivate14doubleToStringE5QCharS0_S0_S0_S0_S0_diNS_10DoubleFormEij @ 3820 NONAME + _ZN14QLocalePrivate16longLongToStringE5QCharS0_S0_S0_xiiij @ 3821 NONAME + _ZN14QLocalePrivate17getLangAndCountryERK7QStringRN7QLocale8LanguageERNS3_6ScriptERNS3_7CountryE @ 3822 NONAME + _ZN14QLocalePrivate19unsLongLongToStringE5QCharS0_S0_yiiij @ 3823 NONAME + _ZN14QMetaCallEventC1EttPFvP7QObjectN11QMetaObject4CallEiPPvEPKS0_iiPiS5_P10QSemaphore @ 3824 NONAME + _ZN14QMetaCallEventC2EttPFvP7QObjectN11QMetaObject4CallEiPPvEPKS0_iiPiS5_P10QSemaphore @ 3825 NONAME + _ZN14QTemporaryFile18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3826 NONAME + _ZN14QTemporaryFile25staticMetaObjectExtraDataE @ 3827 NONAME DATA 8 + _ZN15QAnimationGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3828 NONAME + _ZN15QAnimationGroup25staticMetaObjectExtraDataE @ 3829 NONAME DATA 8 + _ZN15QPauseAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3830 NONAME + _ZN15QPauseAnimation25staticMetaObjectExtraDataE @ 3831 NONAME DATA 8 + _ZN15QSocketNotifier18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3832 NONAME + _ZN15QSocketNotifier25staticMetaObjectExtraDataE @ 3833 NONAME DATA 8 + _ZN16QAnimationDriver11qt_metacallEN11QMetaObject4CallEiPPv @ 3834 NONAME + _ZN16QAnimationDriver11qt_metacastEPKc @ 3835 NONAME + _ZN16QAnimationDriver16staticMetaObjectE @ 3836 NONAME DATA 16 + _ZN16QAnimationDriver18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3837 NONAME + _ZN16QAnimationDriver19getStaticMetaObjectEv @ 3838 NONAME + _ZN16QAnimationDriver25staticMetaObjectExtraDataE @ 3839 NONAME DATA 8 + _ZN16QAnimationDriver4stopEv @ 3840 NONAME + _ZN16QAnimationDriver5startEv @ 3841 NONAME + _ZN16QAnimationDriver7advanceEv @ 3842 NONAME + _ZN16QAnimationDriver7installEv @ 3843 NONAME + _ZN16QAnimationDriverC1EP7QObject @ 3844 NONAME + _ZN16QAnimationDriverC1ER23QAnimationDriverPrivateP7QObject @ 3845 NONAME + _ZN16QAnimationDriverC2EP7QObject @ 3846 NONAME + _ZN16QAnimationDriverC2ER23QAnimationDriverPrivateP7QObject @ 3847 NONAME + _ZN16QCoreApplication18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3848 NONAME + _ZN16QCoreApplication25staticMetaObjectExtraDataE @ 3849 NONAME DATA 8 + _ZN16QCoreApplicationC1ERiPPci @ 3850 NONAME + _ZN16QCoreApplicationC2ERiPPci @ 3851 NONAME + _ZN16QEventTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3852 NONAME + _ZN16QEventTransition25staticMetaObjectExtraDataE @ 3853 NONAME DATA 8 + _ZN16QTextCodecPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3854 NONAME + _ZN16QTextCodecPlugin25staticMetaObjectExtraDataE @ 3855 NONAME DATA 8 + _ZN17QSignalTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3856 NONAME + _ZN17QSignalTransition25staticMetaObjectExtraDataE @ 3857 NONAME DATA 8 + _ZN17QVariantAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3858 NONAME + _ZN17QVariantAnimation25staticMetaObjectExtraDataE @ 3859 NONAME DATA 8 + _ZN18QAbstractAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3860 NONAME + _ZN18QAbstractAnimation25staticMetaObjectExtraDataE @ 3861 NONAME DATA 8 + _ZN18QAbstractItemModel17resetInternalDataEv @ 3862 NONAME + _ZN18QAbstractItemModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3863 NONAME + _ZN18QAbstractItemModel25staticMetaObjectExtraDataE @ 3864 NONAME DATA 8 + _ZN18QAbstractListModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3865 NONAME + _ZN18QAbstractListModel25staticMetaObjectExtraDataE @ 3866 NONAME DATA 8 + _ZN18QFileSystemWatcher18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3867 NONAME + _ZN18QFileSystemWatcher25staticMetaObjectExtraDataE @ 3868 NONAME DATA 8 + _ZN18QFutureWatcherBase11qt_metacallEN11QMetaObject4CallEiPPv @ 3869 NONAME + _ZN18QFutureWatcherBase11qt_metacastEPKc @ 3870 NONAME + _ZN18QFutureWatcherBase12togglePausedEv @ 3871 NONAME + _ZN18QFutureWatcherBase13connectNotifyEPKc @ 3872 NONAME + _ZN18QFutureWatcherBase13resultReadyAtEi @ 3873 NONAME + _ZN18QFutureWatcherBase14resultsReadyAtEii @ 3874 NONAME + _ZN18QFutureWatcherBase15waitForFinishedEv @ 3875 NONAME + _ZN18QFutureWatcherBase16disconnectNotifyEPKc @ 3876 NONAME + _ZN18QFutureWatcherBase16staticMetaObjectE @ 3877 NONAME DATA 16 + _ZN18QFutureWatcherBase18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3878 NONAME + _ZN18QFutureWatcherBase19getStaticMetaObjectEv @ 3879 NONAME + _ZN18QFutureWatcherBase19progressTextChangedERK7QString @ 3880 NONAME + _ZN18QFutureWatcherBase20progressRangeChangedEii @ 3881 NONAME + _ZN18QFutureWatcherBase20progressValueChangedEi @ 3882 NONAME + _ZN18QFutureWatcherBase22connectOutputInterfaceEv @ 3883 NONAME + _ZN18QFutureWatcherBase22setPendingResultsLimitEi @ 3884 NONAME + _ZN18QFutureWatcherBase25disconnectOutputInterfaceEb @ 3885 NONAME + _ZN18QFutureWatcherBase25staticMetaObjectExtraDataE @ 3886 NONAME DATA 8 + _ZN18QFutureWatcherBase5eventEP6QEvent @ 3887 NONAME + _ZN18QFutureWatcherBase5pauseEv @ 3888 NONAME + _ZN18QFutureWatcherBase6cancelEv @ 3889 NONAME + _ZN18QFutureWatcherBase6pausedEv @ 3890 NONAME + _ZN18QFutureWatcherBase6resumeEv @ 3891 NONAME + _ZN18QFutureWatcherBase7resumedEv @ 3892 NONAME + _ZN18QFutureWatcherBase7startedEv @ 3893 NONAME + _ZN18QFutureWatcherBase8canceledEv @ 3894 NONAME + _ZN18QFutureWatcherBase8finishedEv @ 3895 NONAME + _ZN18QFutureWatcherBase9setPausedEb @ 3896 NONAME + _ZN18QFutureWatcherBaseC2EP7QObject @ 3897 NONAME + _ZN18QPropertyAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3898 NONAME + _ZN18QPropertyAnimation25staticMetaObjectExtraDataE @ 3899 NONAME DATA 8 + _ZN19QAbstractTableModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3900 NONAME + _ZN19QAbstractTableModel25staticMetaObjectExtraDataE @ 3901 NONAME DATA 8 + _ZN19QAbstractTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3902 NONAME + _ZN19QAbstractTransition25staticMetaObjectExtraDataE @ 3903 NONAME DATA 8 + _ZN19QProcessEnvironment6insertERKS_ @ 3904 NONAME + _ZN20QFutureInterfaceBase11setRunnableEP9QRunnable @ 3905 NONAME + _ZN20QFutureInterfaceBase12setThrottledEb @ 3906 NONAME + _ZN20QFutureInterfaceBase12togglePausedEv @ 3907 NONAME + _ZN20QFutureInterfaceBase13reportStartedEv @ 3908 NONAME + _ZN20QFutureInterfaceBase13setFilterModeEb @ 3909 NONAME + _ZN20QFutureInterfaceBase13waitForResultEi @ 3910 NONAME + _ZN20QFutureInterfaceBase13waitForResumeEv @ 3911 NONAME + _ZN20QFutureInterfaceBase14exceptionStoreEv @ 3912 NONAME + _ZN20QFutureInterfaceBase14reportCanceledEv @ 3913 NONAME + _ZN20QFutureInterfaceBase14reportFinishedEv @ 3914 NONAME + _ZN20QFutureInterfaceBase15reportExceptionERKN12QtConcurrent9ExceptionE @ 3915 NONAME + _ZN20QFutureInterfaceBase15resultStoreBaseEv @ 3916 NONAME + _ZN20QFutureInterfaceBase15waitForFinishedEv @ 3917 NONAME + _ZN20QFutureInterfaceBase16setProgressRangeEii @ 3918 NONAME + _ZN20QFutureInterfaceBase16setProgressValueEi @ 3919 NONAME + _ZN20QFutureInterfaceBase17waitForNextResultEv @ 3920 NONAME + _ZN20QFutureInterfaceBase18reportResultsReadyEii @ 3921 NONAME + _ZN20QFutureInterfaceBase19expectedResultCountEv @ 3922 NONAME + _ZN20QFutureInterfaceBase22setExpectedResultCountEi @ 3923 NONAME + _ZN20QFutureInterfaceBase23setProgressValueAndTextEiRK7QString @ 3924 NONAME + _ZN20QFutureInterfaceBase6cancelEv @ 3925 NONAME + _ZN20QFutureInterfaceBase9setPausedEb @ 3926 NONAME + _ZN20QFutureInterfaceBaseC1ENS_5StateE @ 3927 NONAME + _ZN20QFutureInterfaceBaseC1ERKS_ @ 3928 NONAME + _ZN20QFutureInterfaceBaseC2ENS_5StateE @ 3929 NONAME + _ZN20QFutureInterfaceBaseC2ERKS_ @ 3930 NONAME + _ZN20QFutureInterfaceBaseD0Ev @ 3931 NONAME + _ZN20QFutureInterfaceBaseD1Ev @ 3932 NONAME + _ZN20QFutureInterfaceBaseD2Ev @ 3933 NONAME + _ZN20QFutureInterfaceBaseaSERKS_ @ 3934 NONAME + _ZN21QAbstractConcatenable14convertToAsciiEPK5QChariRPc @ 3935 NONAME + _ZN21QObjectCleanupHandler18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3936 NONAME + _ZN21QObjectCleanupHandler25staticMetaObjectExtraDataE @ 3937 NONAME DATA 8 + _ZN21QSymbianSocketManager12removeSocketERK7RSocket @ 3938 NONAME + _ZN21QSymbianSocketManager15getSocketServerEv @ 3939 NONAME + _ZN21QSymbianSocketManager20setDefaultConnectionEP11RConnection @ 3940 NONAME + _ZN21QSymbianSocketManager8instanceEv @ 3941 NONAME + _ZN21QSymbianSocketManager9addSocketERK7RSocket @ 3942 NONAME + _ZN21QSymbianSocketManagerC1Ev @ 3943 NONAME + _ZN21QSymbianSocketManagerC2Ev @ 3944 NONAME + _ZN21QSymbianSocketManagerD1Ev @ 3945 NONAME + _ZN21QSymbianSocketManagerD2Ev @ 3946 NONAME + _ZN23QCoreApplicationPrivate13trolltechConfEv @ 3947 NONAME + _ZN23QCoreApplicationPrivate19app_compile_versionE @ 3948 NONAME DATA 4 + _ZN23QCoreApplicationPrivateC1ERiPPcj @ 3949 NONAME + _ZN23QCoreApplicationPrivateC2ERiPPcj @ 3950 NONAME + _ZN23QEventDispatcherSymbian18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3951 NONAME + _ZN23QEventDispatcherSymbian25staticMetaObjectExtraDataE @ 3952 NONAME DATA 8 + _ZN23QParallelAnimationGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3953 NONAME + _ZN23QParallelAnimationGroup25staticMetaObjectExtraDataE @ 3954 NONAME DATA 8 + _ZN24QAbstractEventDispatcher18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3955 NONAME + _ZN24QAbstractEventDispatcher25staticMetaObjectExtraDataE @ 3956 NONAME DATA 8 + _ZN24QNonContiguousByteDevice18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3957 NONAME + _ZN24QNonContiguousByteDevice25staticMetaObjectExtraDataE @ 3958 NONAME DATA 8 + _ZN25QSequentialAnimationGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3959 NONAME + _ZN25QSequentialAnimationGroup25staticMetaObjectExtraDataE @ 3960 NONAME DATA 8 + _ZN31QNonContiguousByteDeviceFactory6createE14QSharedPointerI11QRingBufferE @ 3961 NONAME + _ZN5QChar21currentUnicodeVersionEv @ 3962 NONAME + _ZN5QFile18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3963 NONAME + _ZN5QFile25staticMetaObjectExtraDataE @ 3964 NONAME DATA 8 + _ZN5QFile4openEP7__sFILE6QFlagsIN9QIODevice12OpenModeFlagEES2_INS_14FileHandleFlagEE @ 3965 NONAME + _ZN5QFile4openERK5RFile6QFlagsIN9QIODevice12OpenModeFlagEES3_INS_14FileHandleFlagEE @ 3966 NONAME + _ZN5QFile4openEi6QFlagsIN9QIODevice12OpenModeFlagEES0_INS_14FileHandleFlagEE @ 3967 NONAME + _ZN5QUuid11fromRfc4122ERK10QByteArray @ 3968 NONAME + _ZN5QUuidC1ERK10QByteArray @ 3969 NONAME + _ZN5QUuidC2ERK10QByteArray @ 3970 NONAME + _ZN6QMutex12lockInternalEv @ 3971 NONAME + _ZN6QMutex14unlockInternalEv @ 3972 NONAME + _ZN6QState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3973 NONAME + _ZN6QState25staticMetaObjectExtraDataE @ 3974 NONAME DATA 8 + _ZN6QTimer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3975 NONAME + _ZN6QTimer25staticMetaObjectExtraDataE @ 3976 NONAME DATA 8 + _ZN7QBuffer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3977 NONAME + _ZN7QBuffer25staticMetaObjectExtraDataE @ 3978 NONAME DATA 8 + _ZN7QLocale14scriptToStringENS_6ScriptE @ 3979 NONAME + _ZN7QLocale15matchingLocalesENS_8LanguageENS_6ScriptENS_7CountryE @ 3980 NONAME + _ZN7QLocaleC1ENS_8LanguageENS_6ScriptENS_7CountryE @ 3981 NONAME + _ZN7QLocaleC2ENS_8LanguageENS_6ScriptENS_7CountryE @ 3982 NONAME + _ZN7QObject10disconnectEPKS_RK11QMetaMethodS1_S4_ @ 3983 NONAME + _ZN7QObject18qt_static_metacallEPS_N11QMetaObject4CallEiPPv @ 3984 NONAME + _ZN7QObject25staticMetaObjectExtraDataE @ 3985 NONAME DATA 8 + _ZN7QObject7connectEPKS_RK11QMetaMethodS1_S4_N2Qt14ConnectionTypeE @ 3986 NONAME + _ZN7QThread18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3987 NONAME + _ZN7QThread25staticMetaObjectExtraDataE @ 3988 NONAME DATA 8 + _ZN8QLibrary18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3989 NONAME + _ZN8QLibrary25staticMetaObjectExtraDataE @ 3990 NONAME DATA 8 + _ZN8QProcess18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3991 NONAME + _ZN8QProcess25staticMetaObjectExtraDataE @ 3992 NONAME DATA 8 + _ZN9QFileInfoC1EP16QFileInfoPrivate @ 3993 NONAME + _ZN9QFileInfoC2EP16QFileInfoPrivate @ 3994 NONAME + _ZN9QIODevice18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3995 NONAME + _ZN9QIODevice25staticMetaObjectExtraDataE @ 3996 NONAME DATA 8 + _ZN9QMimeData18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3997 NONAME + _ZN9QMimeData25staticMetaObjectExtraDataE @ 3998 NONAME DATA 8 + _ZN9QSettings18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 3999 NONAME + _ZN9QSettings25staticMetaObjectExtraDataE @ 4000 NONAME DATA 8 + _ZN9QTimeLine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 4001 NONAME + _ZN9QTimeLine25staticMetaObjectExtraDataE @ 4002 NONAME DATA 8 + _ZNK10QStringRef10startsWithE13QLatin1StringN2Qt15CaseSensitivityE @ 4003 NONAME + _ZNK10QStringRef10startsWithE5QCharN2Qt15CaseSensitivityE @ 4004 NONAME + _ZNK10QStringRef10startsWithERK7QStringN2Qt15CaseSensitivityE @ 4005 NONAME + _ZNK10QStringRef10startsWithERKS_N2Qt15CaseSensitivityE @ 4006 NONAME + _ZNK10QStringRef11lastIndexOfE13QLatin1StringiN2Qt15CaseSensitivityE @ 4007 NONAME + _ZNK10QStringRef11lastIndexOfE5QChariN2Qt15CaseSensitivityE @ 4008 NONAME + _ZNK10QStringRef11lastIndexOfERK7QStringiN2Qt15CaseSensitivityE @ 4009 NONAME + _ZNK10QStringRef11lastIndexOfERKS_iN2Qt15CaseSensitivityE @ 4010 NONAME + _ZNK10QStringRef11toLocal8BitEv @ 4011 NONAME + _ZNK10QStringRef5countE5QCharN2Qt15CaseSensitivityE @ 4012 NONAME + _ZNK10QStringRef5countERK7QStringN2Qt15CaseSensitivityE @ 4013 NONAME + _ZNK10QStringRef5countERKS_N2Qt15CaseSensitivityE @ 4014 NONAME + _ZNK10QStringRef6toUcs4Ev @ 4015 NONAME + _ZNK10QStringRef6toUtf8Ev @ 4016 NONAME + _ZNK10QStringRef7indexOfE13QLatin1StringiN2Qt15CaseSensitivityE @ 4017 NONAME + _ZNK10QStringRef7indexOfE5QChariN2Qt15CaseSensitivityE @ 4018 NONAME + _ZNK10QStringRef7indexOfERK7QStringiN2Qt15CaseSensitivityE @ 4019 NONAME + _ZNK10QStringRef7indexOfERKS_iN2Qt15CaseSensitivityE @ 4020 NONAME + _ZNK10QStringRef7toAsciiEv @ 4021 NONAME + _ZNK10QStringRef8endsWithE13QLatin1StringN2Qt15CaseSensitivityE @ 4022 NONAME + _ZNK10QStringRef8endsWithE5QCharN2Qt15CaseSensitivityE @ 4023 NONAME + _ZNK10QStringRef8endsWithERK7QStringN2Qt15CaseSensitivityE @ 4024 NONAME + _ZNK10QStringRef8endsWithERKS_N2Qt15CaseSensitivityE @ 4025 NONAME + _ZNK10QStringRef8toLatin1Ev @ 4026 NONAME + _ZNK11QMetaObject4castEPK7QObject @ 4027 NONAME + _ZNK12QtConcurrent15ResultStoreBase10filterModeEv @ 4028 NONAME + _ZNK12QtConcurrent15ResultStoreBase13hasNextResultEv @ 4029 NONAME + _ZNK12QtConcurrent15ResultStoreBase3endEv @ 4030 NONAME + _ZNK12QtConcurrent15ResultStoreBase5beginEv @ 4031 NONAME + _ZNK12QtConcurrent15ResultStoreBase5countEv @ 4032 NONAME + _ZNK12QtConcurrent15ResultStoreBase8containsEi @ 4033 NONAME + _ZNK12QtConcurrent15ResultStoreBase8resultAtEi @ 4034 NONAME + _ZNK12QtConcurrent18ResultIteratorBase11resultIndexEv @ 4035 NONAME + _ZNK12QtConcurrent18ResultIteratorBase11vectorIndexEv @ 4036 NONAME + _ZNK12QtConcurrent18ResultIteratorBase23canIncrementVectorIndexEv @ 4037 NONAME + _ZNK12QtConcurrent18ResultIteratorBase8isVectorEv @ 4038 NONAME + _ZNK12QtConcurrent18ResultIteratorBase9batchSizeEv @ 4039 NONAME + _ZNK12QtConcurrent18ResultIteratorBaseeqERKS0_ @ 4040 NONAME + _ZNK12QtConcurrent18ResultIteratorBaseneERKS0_ @ 4041 NONAME + _ZNK12QtConcurrent18UnhandledException5cloneEv @ 4042 NONAME + _ZNK12QtConcurrent18UnhandledException5raiseEv @ 4043 NONAME + _ZNK12QtConcurrent8internal14ExceptionStore12hasExceptionEv @ 4044 NONAME + _ZNK12QtConcurrent8internal14ExceptionStore9hasThrownEv @ 4045 NONAME + _ZNK12QtConcurrent9Exception5cloneEv @ 4046 NONAME + _ZNK12QtConcurrent9Exception5raiseEv @ 4047 NONAME + _ZNK13QElapsedTimer12nsecsElapsedEv @ 4048 NONAME + _ZNK13QSharedMemory9nativeKeyEv @ 4049 NONAME + _ZNK14QLocalePrivate10scriptCodeEv @ 4050 NONAME + _ZNK14QLocalePrivate11countryCodeEv @ 4051 NONAME + _ZNK14QLocalePrivate12languageCodeEv @ 4052 NONAME + _ZNK14QLocalePrivate9bcp47NameEv @ 4053 NONAME + _ZNK16QAnimationDriver10metaObjectEv @ 4054 NONAME + _ZNK16QAnimationDriver9isRunningEv @ 4055 NONAME + _ZNK16QXmlStreamWriter8hasErrorEv @ 4056 NONAME + _ZNK18QFutureWatcherBase10isCanceledEv @ 4057 NONAME + _ZNK18QFutureWatcherBase10isFinishedEv @ 4058 NONAME + _ZNK18QFutureWatcherBase10metaObjectEv @ 4059 NONAME + _ZNK18QFutureWatcherBase12progressTextEv @ 4060 NONAME + _ZNK18QFutureWatcherBase13progressValueEv @ 4061 NONAME + _ZNK18QFutureWatcherBase15progressMaximumEv @ 4062 NONAME + _ZNK18QFutureWatcherBase15progressMinimumEv @ 4063 NONAME + _ZNK18QFutureWatcherBase8isPausedEv @ 4064 NONAME + _ZNK18QFutureWatcherBase9isRunningEv @ 4065 NONAME + _ZNK18QFutureWatcherBase9isStartedEv @ 4066 NONAME + _ZNK19QProcessEnvironment4keysEv @ 4067 NONAME + _ZNK20QFutureInterfaceBase10isCanceledEv @ 4068 NONAME + _ZNK20QFutureInterfaceBase10isFinishedEv @ 4069 NONAME + _ZNK20QFutureInterfaceBase10queryStateENS_5StateE @ 4070 NONAME + _ZNK20QFutureInterfaceBase11isThrottledEv @ 4071 NONAME + _ZNK20QFutureInterfaceBase11resultCountEv @ 4072 NONAME + _ZNK20QFutureInterfaceBase12progressTextEv @ 4073 NONAME + _ZNK20QFutureInterfaceBase13progressValueEv @ 4074 NONAME + _ZNK20QFutureInterfaceBase15isResultReadyAtEi @ 4075 NONAME + _ZNK20QFutureInterfaceBase15progressMaximumEv @ 4076 NONAME + _ZNK20QFutureInterfaceBase15progressMinimumEv @ 4077 NONAME + _ZNK20QFutureInterfaceBase15resultStoreBaseEv @ 4078 NONAME + _ZNK20QFutureInterfaceBase19referenceCountIsOneEv @ 4079 NONAME + _ZNK20QFutureInterfaceBase22isProgressUpdateNeededEv @ 4080 NONAME + _ZNK20QFutureInterfaceBase5mutexEv @ 4081 NONAME + _ZNK20QFutureInterfaceBase8isPausedEv @ 4082 NONAME + _ZNK20QFutureInterfaceBase9isRunningEv @ 4083 NONAME + _ZNK20QFutureInterfaceBase9isStartedEv @ 4084 NONAME + _ZNK21QSymbianSocketManager12lookupSocketERK7RSocket @ 4085 NONAME + _ZNK21QSymbianSocketManager12lookupSocketEiR7RSocket @ 4086 NONAME + _ZNK21QSymbianSocketManager17defaultConnectionEv @ 4087 NONAME + _ZNK4QUrl11isLocalFileEv @ 4088 NONAME + _ZNK4QUrl14topLevelDomainEv @ 4089 NONAME + _ZNK5QUuid11toByteArrayEv @ 4090 NONAME + _ZNK5QUuid9toRfc4122Ev @ 4091 NONAME + _ZNK7QLocale11quoteStringERK10QStringRefNS_14QuotationStyleE @ 4092 NONAME + _ZNK7QLocale11quoteStringERK7QStringNS_14QuotationStyleE @ 4093 NONAME + _ZNK7QLocale11uiLanguagesEv @ 4094 NONAME + _ZNK7QLocale14currencySymbolENS_20CurrencySymbolFormatE @ 4095 NONAME + _ZNK7QLocale14firstDayOfWeekEv @ 4096 NONAME + _ZNK7QLocale16toCurrencyStringEdRK7QString @ 4097 NONAME + _ZNK7QLocale16toCurrencyStringExRK7QString @ 4098 NONAME + _ZNK7QLocale16toCurrencyStringEyRK7QString @ 4099 NONAME + _ZNK7QLocale17nativeCountryNameEv @ 4100 NONAME + _ZNK7QLocale18nativeLanguageNameEv @ 4101 NONAME + _ZNK7QLocale19createSeparatedListERK11QStringList @ 4102 NONAME + _ZNK7QLocale6scriptEv @ 4103 NONAME + _ZNK7QLocale7toLowerERK7QString @ 4104 NONAME + _ZNK7QLocale7toUpperERK7QString @ 4105 NONAME + _ZNK7QLocale8weekdaysEv @ 4106 NONAME + _ZNK7QLocale9bcp47NameEv @ 4107 NONAME + _ZNK7QObject17senderSignalIndexEv @ 4108 NONAME + _ZNK7QString10startsWithERK10QStringRefN2Qt15CaseSensitivityE @ 4109 NONAME + _ZNK7QString11lastIndexOfERK10QStringRefiN2Qt15CaseSensitivityE @ 4110 NONAME + _ZNK7QString5countERK10QStringRefN2Qt15CaseSensitivityE @ 4111 NONAME + _ZNK7QString7indexOfERK10QStringRefiN2Qt15CaseSensitivityE @ 4112 NONAME + _ZNK7QString8endsWithERK10QStringRefN2Qt15CaseSensitivityE @ 4113 NONAME + _ZTI13QActiveObject @ 4114 NONAME + _ZTI13QUnifiedTimer @ 4115 NONAME + _ZTI16QAnimationDriver @ 4116 NONAME + _ZTI18QFutureWatcherBase @ 4117 NONAME + _ZTI20QFutureInterfaceBase @ 4118 NONAME + _ZTI23QAnimationDriverPrivate @ 4119 NONAME + _ZTIN12QtConcurrent15ResultStoreBaseE @ 4120 NONAME + _ZTIN12QtConcurrent16ThreadEngineBaseE @ 4121 NONAME + _ZTIN12QtConcurrent18UnhandledExceptionE @ 4122 NONAME + _ZTIN12QtConcurrent9ExceptionE @ 4123 NONAME + _ZTV13QActiveObject @ 4124 NONAME + _ZTV13QUnifiedTimer @ 4125 NONAME + _ZTV16QAnimationDriver @ 4126 NONAME + _ZTV18QFutureWatcherBase @ 4127 NONAME + _ZTV20QFutureInterfaceBase @ 4128 NONAME + _ZTV23QAnimationDriverPrivate @ 4129 NONAME + _ZTVN12QtConcurrent15ResultStoreBaseE @ 4130 NONAME + _ZTVN12QtConcurrent16ThreadEngineBaseE @ 4131 NONAME + _ZTVN12QtConcurrent18UnhandledExceptionE @ 4132 NONAME + _ZTVN12QtConcurrent9ExceptionE @ 4133 NONAME + adler32_combine @ 4134 NONAME + adler32_combine64 @ 4135 NONAME + compressBound @ 4136 NONAME + crc32_combine @ 4137 NONAME + crc32_combine64 @ 4138 NONAME + deflateBound @ 4139 NONAME + deflatePrime @ 4140 NONAME + deflateSetHeader @ 4141 NONAME + deflateTune @ 4142 NONAME + gzbuffer @ 4143 NONAME + gzclearerr @ 4144 NONAME + gzclose_r @ 4145 NONAME + gzclose_w @ 4146 NONAME + gzdirect @ 4147 NONAME + gzoffset @ 4148 NONAME + gzoffset64 @ 4149 NONAME + gzopen64 @ 4150 NONAME + gzseek64 @ 4151 NONAME + gztell64 @ 4152 NONAME + gzungetc @ 4153 NONAME + inflateBack @ 4154 NONAME + inflateBackEnd @ 4155 NONAME + inflateBackInit_ @ 4156 NONAME + inflateCopy @ 4157 NONAME + inflateGetHeader @ 4158 NONAME + inflateMark @ 4159 NONAME + inflatePrime @ 4160 NONAME + inflateReset2 @ 4161 NONAME + inflateUndermine @ 4162 NONAME + zlibCompileFlags @ 4163 NONAME diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def index 85030cd..ef97c67 100644 --- a/src/s60installs/eabi/QtDeclarativeu.def +++ b/src/s60installs/eabi/QtDeclarativeu.def @@ -1933,79 +1933,60 @@ EXPORTS _ZN23QDeclarativeItemPrivate15setLayoutMirrorEb @ 1932 NONAME _ZN23QDeclarativeItemPrivate19resolveLayoutMirrorEv @ 1933 NONAME _ZN23QDeclarativeItemPrivate23setImplicitLayoutMirrorEbb @ 1934 NONAME - _ZN15QPacketProtocol18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1935 NONAME - _ZN15QPacketProtocol25staticMetaObjectExtraDataE @ 1936 NONAME DATA 8 - _ZN16QDeclarativeItem18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1937 NONAME - _ZN16QDeclarativeItem25staticMetaObjectExtraDataE @ 1938 NONAME DATA 8 - _ZN16QDeclarativeView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1939 NONAME - _ZN16QDeclarativeView25staticMetaObjectExtraDataE @ 1940 NONAME DATA 8 - _ZN17QDeclarativeState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1941 NONAME - _ZN17QDeclarativeState25staticMetaObjectExtraDataE @ 1942 NONAME DATA 8 - _ZN18QDeclarativeEngine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1943 NONAME - _ZN18QDeclarativeEngine25staticMetaObjectExtraDataE @ 1944 NONAME DATA 8 - _ZN19QDeclarativeContext18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1945 NONAME - _ZN19QDeclarativeContext25staticMetaObjectExtraDataE @ 1946 NONAME DATA 8 - _ZN21QDeclarativeComponent18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1947 NONAME - _ZN21QDeclarativeComponent25staticMetaObjectExtraDataE @ 1948 NONAME DATA 8 - _ZN22QDeclarativeExpression18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1949 NONAME - _ZN22QDeclarativeExpression25staticMetaObjectExtraDataE @ 1950 NONAME DATA 8 - _ZN22QDeclarativeStateGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1951 NONAME - _ZN22QDeclarativeStateGroup25staticMetaObjectExtraDataE @ 1952 NONAME DATA 8 - _ZN22QDeclarativeTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1953 NONAME - _ZN22QDeclarativeTransition25staticMetaObjectExtraDataE @ 1954 NONAME DATA 8 - _ZN23QDeclarativeDebugServer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1955 NONAME - _ZN23QDeclarativeDebugServer25staticMetaObjectExtraDataE @ 1956 NONAME DATA 8 - _ZN23QDeclarativePropertyMap18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1957 NONAME - _ZN23QDeclarativePropertyMap25staticMetaObjectExtraDataE @ 1958 NONAME DATA 8 - _ZN24QDeclarativeDebugService18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1959 NONAME - _ZN24QDeclarativeDebugService25staticMetaObjectExtraDataE @ 1960 NONAME DATA 8 - _ZN26QDeclarativeStateOperation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1961 NONAME - _ZN26QDeclarativeStateOperation25staticMetaObjectExtraDataE @ 1962 NONAME DATA 8 - _ZN27QDeclarativeExtensionPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1963 NONAME - _ZN27QDeclarativeExtensionPlugin25staticMetaObjectExtraDataE @ 1964 NONAME DATA 8 - _ZN15QPacketProtocol16waitForReadyReadEi @ 1965 NONAME - _ZN23QDeclarativeDebugServer14waitForMessageEP24QDeclarativeDebugService @ 1966 NONAME - _ZN24QDeclarativeDebugService14waitForMessageEv @ 1967 NONAME - _ZN27QDeclarativeObserverService10gotMessageERK10QByteArray @ 1968 NONAME ABSENT - _ZN27QDeclarativeObserverService10removeViewEP16QDeclarativeView @ 1969 NONAME ABSENT - _ZN27QDeclarativeObserverService11qt_metacallEN11QMetaObject4CallEiPPv @ 1970 NONAME ABSENT - _ZN27QDeclarativeObserverService11qt_metacastEPKc @ 1971 NONAME ABSENT - _ZN27QDeclarativeObserverService11sendMessageERK10QByteArray @ 1972 NONAME ABSENT - _ZN27QDeclarativeObserverService13statusChangedEN24QDeclarativeDebugService6StatusE @ 1973 NONAME ABSENT - _ZN27QDeclarativeObserverService15messageReceivedERK10QByteArray @ 1974 NONAME ABSENT - _ZN27QDeclarativeObserverService16staticMetaObjectE @ 1975 NONAME DATA 16 ABSENT - _ZN27QDeclarativeObserverService18loadObserverPluginEv @ 1976 NONAME ABSENT - _ZN27QDeclarativeObserverService18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1977 NONAME ABSENT - _ZN27QDeclarativeObserverService19getStaticMetaObjectEv @ 1978 NONAME ABSENT - _ZN27QDeclarativeObserverService25staticMetaObjectExtraDataE @ 1979 NONAME DATA 8 ABSENT - _ZN27QDeclarativeObserverService7addViewEP16QDeclarativeView @ 1980 NONAME ABSENT - _ZN27QDeclarativeObserverService8instanceEv @ 1981 NONAME ABSENT - _ZN27QDeclarativeObserverServiceC1Ev @ 1982 NONAME ABSENT - _ZN27QDeclarativeObserverServiceC2Ev @ 1983 NONAME ABSENT - _ZN28QDeclarativeDebuggingEnablerC1Ev @ 1984 NONAME - _ZN28QDeclarativeDebuggingEnablerC2Ev @ 1985 NONAME - _ZNK27QDeclarativeObserverService10metaObjectEv @ 1986 NONAME ABSENT - _ZTI27QDeclarativeObserverService @ 1987 NONAME ABSENT - _ZTV27QDeclarativeObserverService @ 1988 NONAME ABSENT - _ZN18QDeclarativePixmap10flushCacheEv @ 1989 NONAME - _ZN28QDeclarativeInspectorService10gotMessageERK10QByteArray @ 1990 NONAME - _ZN28QDeclarativeInspectorService10removeViewEP16QDeclarativeView @ 1991 NONAME - _ZN28QDeclarativeInspectorService11qt_metacallEN11QMetaObject4CallEiPPv @ 1992 NONAME - _ZN28QDeclarativeInspectorService11qt_metacastEPKc @ 1993 NONAME - _ZN28QDeclarativeInspectorService11sendMessageERK10QByteArray @ 1994 NONAME - _ZN28QDeclarativeInspectorService13statusChangedEN24QDeclarativeDebugService6StatusE @ 1995 NONAME - _ZN28QDeclarativeInspectorService15messageReceivedERK10QByteArray @ 1996 NONAME - _ZN28QDeclarativeInspectorService16staticMetaObjectE @ 1997 NONAME DATA 16 - _ZN28QDeclarativeInspectorService18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1998 NONAME - _ZN28QDeclarativeInspectorService19getStaticMetaObjectEv @ 1999 NONAME - _ZN28QDeclarativeInspectorService19loadInspectorPluginEv @ 2000 NONAME - _ZN28QDeclarativeInspectorService25staticMetaObjectExtraDataE @ 2001 NONAME DATA 8 - _ZN28QDeclarativeInspectorService7addViewEP16QDeclarativeView @ 2002 NONAME - _ZN28QDeclarativeInspectorService8instanceEv @ 2003 NONAME - _ZN28QDeclarativeInspectorServiceC1Ev @ 2004 NONAME - _ZN28QDeclarativeInspectorServiceC2Ev @ 2005 NONAME - _ZNK28QDeclarativeInspectorService10metaObjectEv @ 2006 NONAME - _ZTI28QDeclarativeInspectorService @ 2007 NONAME - _ZTV28QDeclarativeInspectorService @ 2008 NONAME - _ZN28QDeclarativeInspectorService12updateStatusEv @ 2009 NONAME + _ZN15QPacketProtocol16waitForReadyReadEi @ 1935 NONAME + _ZN15QPacketProtocol18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1936 NONAME + _ZN15QPacketProtocol25staticMetaObjectExtraDataE @ 1937 NONAME DATA 8 + _ZN16QDeclarativeItem18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1938 NONAME + _ZN16QDeclarativeItem25staticMetaObjectExtraDataE @ 1939 NONAME DATA 8 + _ZN16QDeclarativeView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1940 NONAME + _ZN16QDeclarativeView25staticMetaObjectExtraDataE @ 1941 NONAME DATA 8 + _ZN17QDeclarativeState18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1942 NONAME + _ZN17QDeclarativeState25staticMetaObjectExtraDataE @ 1943 NONAME DATA 8 + _ZN18QDeclarativeEngine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1944 NONAME + _ZN18QDeclarativeEngine25staticMetaObjectExtraDataE @ 1945 NONAME DATA 8 + _ZN18QDeclarativePixmap10flushCacheEv @ 1946 NONAME + _ZN19QDeclarativeContext18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1947 NONAME + _ZN19QDeclarativeContext25staticMetaObjectExtraDataE @ 1948 NONAME DATA 8 + _ZN21QDeclarativeComponent18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1949 NONAME + _ZN21QDeclarativeComponent25staticMetaObjectExtraDataE @ 1950 NONAME DATA 8 + _ZN22QDeclarativeExpression18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1951 NONAME + _ZN22QDeclarativeExpression25staticMetaObjectExtraDataE @ 1952 NONAME DATA 8 + _ZN22QDeclarativeStateGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1953 NONAME + _ZN22QDeclarativeStateGroup25staticMetaObjectExtraDataE @ 1954 NONAME DATA 8 + _ZN22QDeclarativeTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1955 NONAME + _ZN22QDeclarativeTransition25staticMetaObjectExtraDataE @ 1956 NONAME DATA 8 + _ZN23QDeclarativeDebugServer14waitForMessageEP24QDeclarativeDebugService @ 1957 NONAME + _ZN23QDeclarativeDebugServer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1958 NONAME + _ZN23QDeclarativeDebugServer25staticMetaObjectExtraDataE @ 1959 NONAME DATA 8 + _ZN23QDeclarativePropertyMap18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1960 NONAME + _ZN23QDeclarativePropertyMap25staticMetaObjectExtraDataE @ 1961 NONAME DATA 8 + _ZN24QDeclarativeDebugService14waitForMessageEv @ 1962 NONAME + _ZN24QDeclarativeDebugService18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1963 NONAME + _ZN24QDeclarativeDebugService25staticMetaObjectExtraDataE @ 1964 NONAME DATA 8 + _ZN26QDeclarativeStateOperation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1965 NONAME + _ZN26QDeclarativeStateOperation25staticMetaObjectExtraDataE @ 1966 NONAME DATA 8 + _ZN27QDeclarativeExtensionPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1967 NONAME + _ZN27QDeclarativeExtensionPlugin25staticMetaObjectExtraDataE @ 1968 NONAME DATA 8 + _ZN28QDeclarativeDebuggingEnablerC1Ev @ 1969 NONAME + _ZN28QDeclarativeDebuggingEnablerC2Ev @ 1970 NONAME + _ZN28QDeclarativeInspectorService10gotMessageERK10QByteArray @ 1971 NONAME + _ZN28QDeclarativeInspectorService10removeViewEP16QDeclarativeView @ 1972 NONAME + _ZN28QDeclarativeInspectorService11qt_metacallEN11QMetaObject4CallEiPPv @ 1973 NONAME + _ZN28QDeclarativeInspectorService11qt_metacastEPKc @ 1974 NONAME + _ZN28QDeclarativeInspectorService11sendMessageERK10QByteArray @ 1975 NONAME + _ZN28QDeclarativeInspectorService12updateStatusEv @ 1976 NONAME + _ZN28QDeclarativeInspectorService13statusChangedEN24QDeclarativeDebugService6StatusE @ 1977 NONAME + _ZN28QDeclarativeInspectorService15messageReceivedERK10QByteArray @ 1978 NONAME + _ZN28QDeclarativeInspectorService16staticMetaObjectE @ 1979 NONAME DATA 16 + _ZN28QDeclarativeInspectorService18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1980 NONAME + _ZN28QDeclarativeInspectorService19getStaticMetaObjectEv @ 1981 NONAME + _ZN28QDeclarativeInspectorService19loadInspectorPluginEv @ 1982 NONAME + _ZN28QDeclarativeInspectorService25staticMetaObjectExtraDataE @ 1983 NONAME DATA 8 + _ZN28QDeclarativeInspectorService7addViewEP16QDeclarativeView @ 1984 NONAME + _ZN28QDeclarativeInspectorService8instanceEv @ 1985 NONAME + _ZN28QDeclarativeInspectorServiceC1Ev @ 1986 NONAME + _ZN28QDeclarativeInspectorServiceC2Ev @ 1987 NONAME + _ZNK28QDeclarativeInspectorService10metaObjectEv @ 1988 NONAME + _ZTI28QDeclarativeInspectorService @ 1989 NONAME + _ZTV28QDeclarativeInspectorService @ 1990 NONAME diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 38c67b9..7de6ccf 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -12199,604 +12199,600 @@ EXPORTS _ZNK14QVolatileImage13constImageRefEv @ 12198 NONAME _Z43qt_s60_setPartialScreenAutomaticTranslationb @ 12199 NONAME _Z18qt_addBitmapToPathffPKhiiiP12QPainterPath @ 12200 NONAME - _Z28qt_painterPathFromVectorPathRK11QVectorPath @ 12201 NONAME - _ZN10QBoxLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12202 NONAME - _ZN10QBoxLayout25staticMetaObjectExtraDataE @ 12203 NONAME DATA 8 - _ZN10QClipboard18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12204 NONAME - _ZN10QClipboard25staticMetaObjectExtraDataE @ 12205 NONAME DATA 8 - _ZN10QCompleter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12206 NONAME - _ZN10QCompleter25staticMetaObjectExtraDataE @ 12207 NONAME DATA 8 - _ZN10QLCDNumber18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12208 NONAME - _ZN10QLCDNumber25staticMetaObjectExtraDataE @ 12209 NONAME DATA 8 - _ZN10QScrollBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12210 NONAME - _ZN10QScrollBar25staticMetaObjectExtraDataE @ 12211 NONAME DATA 8 - _ZN10QStatusBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12212 NONAME - _ZN10QStatusBar25staticMetaObjectExtraDataE @ 12213 NONAME DATA 8 - _ZN10QTabWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12214 NONAME - _ZN10QTabWidget25staticMetaObjectExtraDataE @ 12215 NONAME DATA 8 - _ZN10QTableView13doItemsLayoutEv @ 12216 NONAME - _ZN10QTableView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12217 NONAME - _ZN10QTableView25staticMetaObjectExtraDataE @ 12218 NONAME DATA 8 - _ZN10QTextFrame18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12219 NONAME - _ZN10QTextFrame25staticMetaObjectExtraDataE @ 12220 NONAME DATA 8 - _ZN10QTextTable18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12221 NONAME - _ZN10QTextTable25staticMetaObjectExtraDataE @ 12222 NONAME DATA 8 - _ZN10QUndoGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12223 NONAME - _ZN10QUndoGroup25staticMetaObjectExtraDataE @ 12224 NONAME DATA 8 - _ZN10QUndoStack18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12225 NONAME - _ZN10QUndoStack25staticMetaObjectExtraDataE @ 12226 NONAME DATA 8 - _ZN10QValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12227 NONAME - _ZN10QValidator25staticMetaObjectExtraDataE @ 12228 NONAME DATA 8 - _ZN10QWorkspace18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12229 NONAME - _ZN10QWorkspace25staticMetaObjectExtraDataE @ 12230 NONAME DATA 8 - _ZN10QZipWriter10addSymLinkERK7QStringS2_ @ 12231 NONAME - _ZN10QZipWriter12addDirectoryERK7QString @ 12232 NONAME - _ZN10QZipWriter20setCompressionPolicyENS_17CompressionPolicyE @ 12233 NONAME - _ZN10QZipWriter22setCreationPermissionsE6QFlagsIN5QFile10PermissionEE @ 12234 NONAME - _ZN10QZipWriter5closeEv @ 12235 NONAME - _ZN10QZipWriter7addFileERK7QStringP9QIODevice @ 12236 NONAME - _ZN10QZipWriter7addFileERK7QStringRK10QByteArray @ 12237 NONAME - _ZN10QZipWriterC1EP9QIODevice @ 12238 NONAME - _ZN10QZipWriterC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 12239 NONAME - _ZN10QZipWriterC2EP9QIODevice @ 12240 NONAME - _ZN10QZipWriterC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 12241 NONAME - _ZN10QZipWriterD1Ev @ 12242 NONAME - _ZN10QZipWriterD2Ev @ 12243 NONAME - _ZN11QColumnView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12244 NONAME - _ZN11QColumnView25staticMetaObjectExtraDataE @ 12245 NONAME DATA 8 - _ZN11QDockWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12246 NONAME - _ZN11QDockWidget25staticMetaObjectExtraDataE @ 12247 NONAME DATA 8 - _ZN11QFileDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12248 NONAME - _ZN11QFileDialog25staticMetaObjectExtraDataE @ 12249 NONAME DATA 8 - _ZN11QFocusFrame18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12250 NONAME - _ZN11QFocusFrame25staticMetaObjectExtraDataE @ 12251 NONAME DATA 8 - _ZN11QFontDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12252 NONAME - _ZN11QFontDialog25staticMetaObjectExtraDataE @ 12253 NONAME DATA 8 - _ZN11QFormLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12254 NONAME - _ZN11QFormLayout25staticMetaObjectExtraDataE @ 12255 NONAME DATA 8 - _ZN11QGridLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12256 NONAME - _ZN11QGridLayout25staticMetaObjectExtraDataE @ 12257 NONAME DATA 8 - _ZN11QHBoxLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12258 NONAME - _ZN11QHBoxLayout25staticMetaObjectExtraDataE @ 12259 NONAME DATA 8 - _ZN11QHeaderView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12260 NONAME - _ZN11QHeaderView25staticMetaObjectExtraDataE @ 12261 NONAME DATA 8 - _ZN11QListWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12262 NONAME - _ZN11QListWidget25staticMetaObjectExtraDataE @ 12263 NONAME DATA 8 - _ZN11QMainWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12264 NONAME - _ZN11QMainWindow25staticMetaObjectExtraDataE @ 12265 NONAME DATA 8 - _ZN11QMessageBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12266 NONAME - _ZN11QMessageBox25staticMetaObjectExtraDataE @ 12267 NONAME DATA 8 - _ZN11QPanGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12268 NONAME - _ZN11QPanGesture25staticMetaObjectExtraDataE @ 12269 NONAME DATA 8 - _ZN11QProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12270 NONAME - _ZN11QProxyModel25staticMetaObjectExtraDataE @ 12271 NONAME DATA 8 - _ZN11QProxyStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12272 NONAME - _ZN11QProxyStyle25staticMetaObjectExtraDataE @ 12273 NONAME DATA 8 - _ZN11QPushButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12274 NONAME - _ZN11QPushButton25staticMetaObjectExtraDataE @ 12275 NONAME DATA 8 - _ZN11QRubberBand18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12276 NONAME - _ZN11QRubberBand25staticMetaObjectExtraDataE @ 12277 NONAME DATA 8 - _ZN11QScrollArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12278 NONAME - _ZN11QScrollArea25staticMetaObjectExtraDataE @ 12279 NONAME DATA 8 - _ZN11QTapGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12280 NONAME - _ZN11QTapGesture25staticMetaObjectExtraDataE @ 12281 NONAME DATA 8 - _ZN11QTextEngine15beginningOfLineEi @ 12282 NONAME - _ZN11QTextEngine16offsetInLigatureEPK11QScriptItemiii @ 12283 NONAME - _Z32qGamma_correct_back_to_linear_csP6QImage @ 12284 NONAME - _ZN11QTextEngine22insertionPointsForLineEiR7QVectorIiE @ 12285 NONAME - _ZN11QTextEngine25lineNumberForTextPositionEi @ 12286 NONAME - _ZN11QTextEngine27positionAfterVisualMovementEiN11QTextCursor13MoveOperationE @ 12287 NONAME - _ZN11QTextEngine9alignLineERK11QScriptLine @ 12288 NONAME - _ZN11QTextEngine9endOfLineEi @ 12289 NONAME - _ZN11QTextLayout18setCursorMoveStyleEN11QTextCursor9MoveStyleE @ 12290 NONAME ABSENT - _ZN11QTextObject18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12291 NONAME - _ZN11QTextObject25staticMetaObjectExtraDataE @ 12292 NONAME DATA 8 - _ZN11QToolButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12293 NONAME - _ZN11QToolButton25staticMetaObjectExtraDataE @ 12294 NONAME DATA 8 - _ZN11QTreeWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12295 NONAME - _ZN11QTreeWidget25staticMetaObjectExtraDataE @ 12296 NONAME DATA 8 - _ZN11QVBoxLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12297 NONAME - _ZN11QVBoxLayout25staticMetaObjectExtraDataE @ 12298 NONAME DATA 8 - _ZN11QWizardPage18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12299 NONAME - _ZN11QWizardPage25staticMetaObjectExtraDataE @ 12300 NONAME DATA 8 - _ZN12QActionGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12301 NONAME - _ZN12QActionGroup25staticMetaObjectExtraDataE @ 12302 NONAME DATA 8 - _ZN12QApplication18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12303 NONAME - _ZN12QApplication25staticMetaObjectExtraDataE @ 12304 NONAME DATA 8 - _ZN12QButtonGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12305 NONAME - _ZN12QButtonGroup25staticMetaObjectExtraDataE @ 12306 NONAME DATA 8 - _ZN12QColorDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12307 NONAME - _ZN12QColorDialog25staticMetaObjectExtraDataE @ 12308 NONAME DATA 8 - _ZN12QCommonStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12309 NONAME - _ZN12QCommonStyle25staticMetaObjectExtraDataE @ 12310 NONAME DATA 8 - _ZN12QInputDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12311 NONAME - _ZN12QInputDialog25staticMetaObjectExtraDataE @ 12312 NONAME DATA 8 - _ZN12QLineControl18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12313 NONAME - _ZN12QLineControl25staticMetaObjectExtraDataE @ 12314 NONAME DATA 8 - _ZN12QProgressBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12315 NONAME - _ZN12QProgressBar25staticMetaObjectExtraDataE @ 12316 NONAME DATA 8 - _ZN12QRadioButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12317 NONAME - _ZN12QRadioButton25staticMetaObjectExtraDataE @ 12318 NONAME DATA 8 - _ZN12QStylePlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12319 NONAME - _ZN12QStylePlugin25staticMetaObjectExtraDataE @ 12320 NONAME DATA 8 - _ZN12QTableWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12321 NONAME - _ZN12QTableWidget25staticMetaObjectExtraDataE @ 12322 NONAME DATA 8 - _ZN12QTextBrowser18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12323 NONAME - _ZN12QTextBrowser25staticMetaObjectExtraDataE @ 12324 NONAME DATA 8 - _ZN12QTextControl18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12325 NONAME - _ZN12QTextControl25staticMetaObjectExtraDataE @ 12326 NONAME DATA 8 - _ZN13QDateTimeEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12327 NONAME - _ZN13QDateTimeEdit25staticMetaObjectExtraDataE @ 12328 NONAME DATA 8 - _ZN13QErrorMessage18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12329 NONAME - _ZN13QErrorMessage25staticMetaObjectExtraDataE @ 12330 NONAME DATA 8 - _ZN13QFontComboBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12331 NONAME - _ZN13QFontComboBox25staticMetaObjectExtraDataE @ 12332 NONAME DATA 8 - _ZN13QFontDatabase22resolveFontFamilyAliasERK7QString @ 12333 NONAME - _ZN13QGraphicsView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12334 NONAME - _ZN13QGraphicsView25staticMetaObjectExtraDataE @ 12335 NONAME DATA 8 - _ZN13QInputContext18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12336 NONAME - _ZN13QInputContext25staticMetaObjectExtraDataE @ 12337 NONAME DATA 8 - _ZN13QIntValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12338 NONAME - _ZN13QIntValidator25staticMetaObjectExtraDataE @ 12339 NONAME DATA 8 - _ZN13QItemDelegate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12340 NONAME - _ZN13QItemDelegate25staticMetaObjectExtraDataE @ 12341 NONAME DATA 8 - _ZN13QMdiSubWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12342 NONAME - _ZN13QMdiSubWindow25staticMetaObjectExtraDataE @ 12343 NONAME DATA 8 - _ZN13QPinchGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12344 NONAME - _ZN13QPinchGesture25staticMetaObjectExtraDataE @ 12345 NONAME DATA 8 - _ZN13QPixmapFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12346 NONAME - _ZN13QPixmapFilter25staticMetaObjectExtraDataE @ 12347 NONAME DATA 8 - _ZN13QS60MainAppUi25ProcessCommandParametersLE11TApaCommandR4TBufILi256EERK6TDesC8 @ 12348 NONAME - _ZN13QSplashScreen18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12349 NONAME - _ZN13QSplashScreen25staticMetaObjectExtraDataE @ 12350 NONAME DATA 8 - _ZN13QSwipeGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12351 NONAME - _ZN13QSwipeGesture25staticMetaObjectExtraDataE @ 12352 NONAME DATA 8 - _ZN13QTextDocument18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12353 NONAME - _ZN13QTextDocument25setDefaultCursorMoveStyleEN11QTextCursor9MoveStyleE @ 12354 NONAME ABSENT - _ZN13QTextDocument25staticMetaObjectExtraDataE @ 12355 NONAME DATA 8 - _ZN13QWidgetAction18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12356 NONAME - _ZN13QWidgetAction25staticMetaObjectExtraDataE @ 12357 NONAME DATA 8 - _ZN13QWindowsStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12358 NONAME - _ZN13QWindowsStyle25staticMetaObjectExtraDataE @ 12359 NONAME DATA 8 - _ZN14QDesktopWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12360 NONAME - _ZN14QDesktopWidget25staticMetaObjectExtraDataE @ 12361 NONAME DATA 8 - _ZN14QDoubleSpinBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12362 NONAME - _ZN14QDoubleSpinBox25staticMetaObjectExtraDataE @ 12363 NONAME DATA 8 - _ZN14QFileOpenEventC1ERK5RFile @ 12364 NONAME - _ZN14QFileOpenEventC2ERK5RFile @ 12365 NONAME - _ZN14QGraphicsScale18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12366 NONAME - _ZN14QGraphicsScale25staticMetaObjectExtraDataE @ 12367 NONAME DATA 8 - _ZN14QGraphicsScene18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12368 NONAME - _ZN14QGraphicsScene25staticMetaObjectExtraDataE @ 12369 NONAME DATA 8 - _ZN14QImageIOPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12370 NONAME - _ZN14QImageIOPlugin25staticMetaObjectExtraDataE @ 12371 NONAME DATA 8 - _ZN14QPlainTextEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12372 NONAME - _ZN14QPlainTextEdit25staticMetaObjectExtraDataE @ 12373 NONAME DATA 8 - _ZN14QStackedLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12374 NONAME - _ZN14QStackedLayout25staticMetaObjectExtraDataE @ 12375 NONAME DATA 8 - _ZN14QStackedWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12376 NONAME - _ZN14QStackedWidget25staticMetaObjectExtraDataE @ 12377 NONAME DATA 8 - _ZN14QWindowSurfaceC2EP7QWidgetb @ 12378 NONAME - _ZN15QAbstractButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12379 NONAME - _ZN15QAbstractButton25staticMetaObjectExtraDataE @ 12380 NONAME DATA 8 - _ZN15QAbstractSlider18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12381 NONAME - _ZN15QAbstractSlider25staticMetaObjectExtraDataE @ 12382 NONAME DATA 8 - _ZN15QCalendarWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12383 NONAME - _ZN15QCalendarWidget25staticMetaObjectExtraDataE @ 12384 NONAME DATA 8 - _ZN15QGraphicsAnchor18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12385 NONAME - _ZN15QGraphicsAnchor25staticMetaObjectExtraDataE @ 12386 NONAME DATA 8 - _ZN15QGraphicsEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12387 NONAME - _ZN15QGraphicsEffect25staticMetaObjectExtraDataE @ 12388 NONAME DATA 8 - _ZN10QBlittable4lockEv @ 12389 NONAME - _ZN10QBlittable6unlockEv @ 12390 NONAME - _ZN15QGraphicsObject18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12391 NONAME - _ZN15QGraphicsObject25staticMetaObjectExtraDataE @ 12392 NONAME DATA 8 - _ZN15QGraphicsWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12393 NONAME - _ZN15QGraphicsWidget25staticMetaObjectExtraDataE @ 12394 NONAME DATA 8 - _ZN15QProgressDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12395 NONAME - _ZN15QProgressDialog25staticMetaObjectExtraDataE @ 12396 NONAME DATA 8 - _ZN15QRadialGradient14setFocalRadiusEf @ 12397 NONAME - _ZN15QRadialGradient15setCenterRadiusEf @ 12398 NONAME - _ZN15QRadialGradientC1ERK7QPointFfS2_f @ 12399 NONAME - _ZN15QRadialGradientC1Effffff @ 12400 NONAME - _ZN15QRadialGradientC2ERK7QPointFfS2_f @ 12401 NONAME - _ZN15QRadialGradientC2Effffff @ 12402 NONAME - _ZN15QSessionManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12403 NONAME - _ZN15QSessionManager25staticMetaObjectExtraDataE @ 12404 NONAME DATA 8 - _ZN15QSplitterHandle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12405 NONAME - _ZN15QSplitterHandle25staticMetaObjectExtraDataE @ 12406 NONAME DATA 8 - _ZN15QTextBlockGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12407 NONAME - _ZN15QTextBlockGroup25staticMetaObjectExtraDataE @ 12408 NONAME DATA 8 - _ZN16QAbstractSpinBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12409 NONAME - _ZN16QAbstractSpinBox25staticMetaObjectExtraDataE @ 12410 NONAME DATA 8 - _ZN16QDialogButtonBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12411 NONAME - _ZN16QDialogButtonBox25staticMetaObjectExtraDataE @ 12412 NONAME DATA 8 - _ZN16QDoubleValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12413 NONAME - _ZN16QDoubleValidator25staticMetaObjectExtraDataE @ 12414 NONAME DATA 8 - _ZN16QFileSystemModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12415 NONAME - _ZN16QFileSystemModel25staticMetaObjectExtraDataE @ 12416 NONAME DATA 8 - _ZN16QRegExpValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12417 NONAME - _ZN16QRegExpValidator25staticMetaObjectExtraDataE @ 12418 NONAME DATA 8 - _ZN16QStringListModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12419 NONAME - _ZN16QStringListModel25staticMetaObjectExtraDataE @ 12420 NONAME DATA 8 - _ZN17QAbstractItemView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12421 NONAME - _ZN17QAbstractItemView25staticMetaObjectExtraDataE @ 12422 NONAME DATA 8 - _ZN17QDataWidgetMapper18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12423 NONAME - _ZN17QDataWidgetMapper25staticMetaObjectExtraDataE @ 12424 NONAME DATA 8 - _ZN17QDockWidgetLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12425 NONAME - _ZN17QDockWidgetLayout25staticMetaObjectExtraDataE @ 12426 NONAME DATA 8 - _ZN17QGraphicsRotation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12427 NONAME - _ZN17QGraphicsRotation25staticMetaObjectExtraDataE @ 12428 NONAME DATA 8 - _ZN17QGraphicsTextItem18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12429 NONAME - _ZN17QGraphicsTextItem25staticMetaObjectExtraDataE @ 12430 NONAME DATA 8 - _ZN17QIconEnginePlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12431 NONAME - _ZN17QIconEnginePlugin25staticMetaObjectExtraDataE @ 12432 NONAME DATA 8 - _ZN17QInternalMimeData11canReadDataERK7QString @ 12433 NONAME - _ZN17QInternalMimeData11qt_metacallEN11QMetaObject4CallEiPPv @ 12434 NONAME - _ZN17QInternalMimeData11qt_metacastEPKc @ 12435 NONAME - _ZN17QInternalMimeData13formatsHelperEPK9QMimeData @ 12436 NONAME - _ZN17QInternalMimeData15hasFormatHelperERK7QStringPK9QMimeData @ 12437 NONAME - _ZN17QInternalMimeData16renderDataHelperERK7QStringPK9QMimeData @ 12438 NONAME - _ZN17QInternalMimeData16staticMetaObjectE @ 12439 NONAME DATA 16 - _ZN17QInternalMimeData18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12440 NONAME - _ZN17QInternalMimeData19getStaticMetaObjectEv @ 12441 NONAME - _ZN17QInternalMimeData25staticMetaObjectExtraDataE @ 12442 NONAME DATA 8 - _ZN17QInternalMimeDataC2Ev @ 12443 NONAME - _ZN17QInternalMimeDataD0Ev @ 12444 NONAME - _ZN17QInternalMimeDataD1Ev @ 12445 NONAME - _ZN17QInternalMimeDataD2Ev @ 12446 NONAME - _ZN17QPixmapBlurFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12447 NONAME - _ZN17QPixmapBlurFilter25staticMetaObjectExtraDataE @ 12448 NONAME DATA 8 - _ZN18QCommandLinkButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12449 NONAME - _ZN18QCommandLinkButton25staticMetaObjectExtraDataE @ 12450 NONAME DATA 8 - _ZN18QGraphicsTransform18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12451 NONAME - _ZN18QGraphicsTransform25staticMetaObjectExtraDataE @ 12452 NONAME DATA 8 - _ZN18QGuiPlatformPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12453 NONAME - _ZN18QGuiPlatformPlugin25staticMetaObjectExtraDataE @ 12454 NONAME DATA 8 - _ZN18QStandardItemModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12455 NONAME - _ZN18QStandardItemModel25staticMetaObjectExtraDataE @ 12456 NONAME DATA 8 - _ZN18QSyntaxHighlighter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12457 NONAME - _ZN18QSyntaxHighlighter25staticMetaObjectExtraDataE @ 12458 NONAME DATA 8 - _ZN18QTapAndHoldGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12459 NONAME - _ZN18QTapAndHoldGesture25staticMetaObjectExtraDataE @ 12460 NONAME DATA 8 - _ZN18QTextureGlyphCache19fillInPendingGlyphsEv @ 12461 NONAME - _ZN19QAbstractProxyModel11setItemDataERK11QModelIndexRK4QMapIi8QVariantE @ 12462 NONAME - _ZN19QAbstractProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12463 NONAME - _ZN19QAbstractProxyModel25staticMetaObjectExtraDataE @ 12464 NONAME DATA 8 - _ZN19QAbstractProxyModel4sortEiN2Qt9SortOrderE @ 12465 NONAME - _ZN19QAbstractProxyModel9fetchMoreERK11QModelIndex @ 12466 NONAME - _ZN19QAbstractScrollArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12467 NONAME - _ZN19QAbstractScrollArea25staticMetaObjectExtraDataE @ 12468 NONAME DATA 8 - _ZN19QApplicationPrivateC1ERiPPcN12QApplication4TypeEi @ 12469 NONAME - _ZN19QApplicationPrivateC2ERiPPcN12QApplication4TypeEi @ 12470 NONAME - _ZN19QBlitterPaintEngine10drawPixmapERK6QRectFRK7QPixmapS2_ @ 12471 NONAME - _ZN19QBlitterPaintEngine10penChangedEv @ 12472 NONAME - _ZN19QBlitterPaintEngine11drawEllipseERK6QRectF @ 12473 NONAME - _ZN19QBlitterPaintEngine12brushChangedEv @ 12474 NONAME - _ZN19QBlitterPaintEngine12drawTextItemERK7QPointFRK9QTextItem @ 12475 NONAME - _ZN19QBlitterPaintEngine14opacityChangedEv @ 12476 NONAME - _ZN19QBlitterPaintEngine16transformChangedEv @ 12477 NONAME - _ZN19QBlitterPaintEngine18brushOriginChangedEv @ 12478 NONAME - _ZN19QBlitterPaintEngine18clipEnabledChangedEv @ 12479 NONAME - _ZN19QBlitterPaintEngine18drawStaticTextItemEP15QStaticTextItem @ 12480 NONAME - _ZN19QBlitterPaintEngine18renderHintsChangedEv @ 12481 NONAME - _ZN19QBlitterPaintEngine22compositionModeChangedEv @ 12482 NONAME - _ZN19QBlitterPaintEngine3endEv @ 12483 NONAME - _ZN19QBlitterPaintEngine4clipERK11QVectorPathN2Qt13ClipOperationE @ 12484 NONAME - _ZN19QBlitterPaintEngine4clipERK5QRectN2Qt13ClipOperationE @ 12485 NONAME - _ZN19QBlitterPaintEngine4clipERK7QRegionN2Qt13ClipOperationE @ 12486 NONAME - _ZN19QBlitterPaintEngine4fillERK11QVectorPathRK6QBrush @ 12487 NONAME - _ZN19QBlitterPaintEngine5beginEP12QPaintDevice @ 12488 NONAME - _ZN19QBlitterPaintEngine6strokeERK11QVectorPathRK4QPen @ 12489 NONAME - _ZN19QBlitterPaintEngine8fillRectERK6QRectFRK6QBrush @ 12490 NONAME - _ZN19QBlitterPaintEngine8fillRectERK6QRectFRK6QColor @ 12491 NONAME - _ZN19QBlitterPaintEngine8setStateEP13QPainterState @ 12492 NONAME - _ZN19QBlitterPaintEngine9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 12493 NONAME - _ZN19QBlitterPaintEngine9drawRectsEPK5QRecti @ 12494 NONAME - _ZN19QBlitterPaintEngine9drawRectsEPK6QRectFi @ 12495 NONAME - _ZN19QBlitterPaintEngineC1EP20QBlittablePixmapData @ 12496 NONAME - _ZN19QBlitterPaintEngineC2EP20QBlittablePixmapData @ 12497 NONAME - _ZN19QBlitterPaintEngineD0Ev @ 12498 NONAME - _ZN19QBlitterPaintEngineD1Ev @ 12499 NONAME - _ZN19QBlitterPaintEngineD2Ev @ 12500 NONAME - _ZN19QEventDispatcherS6018qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12501 NONAME - _ZN19QEventDispatcherS6025staticMetaObjectExtraDataE @ 12502 NONAME DATA 8 - _ZN19QGraphicsBlurEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12503 NONAME - _ZN19QGraphicsBlurEffect25staticMetaObjectExtraDataE @ 12504 NONAME DATA 8 - _ZN19QGraphicsGridLayout10removeItemEP19QGraphicsLayoutItem @ 12505 NONAME - _ZN19QIconEnginePluginV218qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12506 NONAME - _ZN19QIconEnginePluginV225staticMetaObjectExtraDataE @ 12507 NONAME DATA 8 - _ZN19QIdentityProxyModel10insertRowsEiiRK11QModelIndex @ 12508 NONAME - _ZN19QIdentityProxyModel10removeRowsEiiRK11QModelIndex @ 12509 NONAME - _ZN19QIdentityProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 12510 NONAME - _ZN19QIdentityProxyModel11qt_metacastEPKc @ 12511 NONAME - _ZN19QIdentityProxyModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 12512 NONAME - _ZN19QIdentityProxyModel13insertColumnsEiiRK11QModelIndex @ 12513 NONAME - _ZN19QIdentityProxyModel13removeColumnsEiiRK11QModelIndex @ 12514 NONAME - _ZN19QIdentityProxyModel14setSourceModelEP18QAbstractItemModel @ 12515 NONAME - _ZN19QIdentityProxyModel16staticMetaObjectE @ 12516 NONAME DATA 16 - _ZN19QIdentityProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12517 NONAME - _ZN19QIdentityProxyModel19getStaticMetaObjectEv @ 12518 NONAME - _ZN19QIdentityProxyModel25staticMetaObjectExtraDataE @ 12519 NONAME DATA 8 - _ZN19QIdentityProxyModelC1EP7QObject @ 12520 NONAME - _ZN19QIdentityProxyModelC1ER26QIdentityProxyModelPrivateP7QObject @ 12521 NONAME - _ZN19QIdentityProxyModelC2EP7QObject @ 12522 NONAME - _ZN19QIdentityProxyModelC2ER26QIdentityProxyModelPrivateP7QObject @ 12523 NONAME - _ZN19QIdentityProxyModelD0Ev @ 12524 NONAME - _ZN19QIdentityProxyModelD1Ev @ 12525 NONAME - _ZN19QIdentityProxyModelD2Ev @ 12526 NONAME - _ZN19QInputContextPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12527 NONAME - _ZN19QInputContextPlugin25staticMetaObjectExtraDataE @ 12528 NONAME DATA 8 - _ZN19QItemSelectionModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12529 NONAME - _ZN19QItemSelectionModel25staticMetaObjectExtraDataE @ 12530 NONAME DATA 8 - _ZN19QKeyEventTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12531 NONAME - _ZN19QKeyEventTransition25staticMetaObjectExtraDataE @ 12532 NONAME DATA 8 - _ZN19QStyledItemDelegate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12533 NONAME - _ZN19QStyledItemDelegate25staticMetaObjectExtraDataE @ 12534 NONAME DATA 8 - _ZN20QBlittablePixmapData12setBlittableEP10QBlittable @ 12535 NONAME - _ZN20QBlittablePixmapData4fillERK6QColor @ 12536 NONAME - _ZN20QBlittablePixmapData6bufferEv @ 12537 NONAME - _ZN20QBlittablePixmapData6resizeEii @ 12538 NONAME - _ZN20QBlittablePixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 12539 NONAME - _ZN20QBlittablePixmapDataC2Ev @ 12540 NONAME - _ZN20QBlittablePixmapDataD0Ev @ 12541 NONAME - _ZN20QBlittablePixmapDataD1Ev @ 12542 NONAME - _ZN20QBlittablePixmapDataD2Ev @ 12543 NONAME - _ZN20QGraphicsProxyWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12544 NONAME - _ZN20QGraphicsProxyWidget25staticMetaObjectExtraDataE @ 12545 NONAME DATA 8 - _ZN20QPaintBufferResource18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12546 NONAME - _ZN20QPaintBufferResource25staticMetaObjectExtraDataE @ 12547 NONAME DATA 8 - _ZN20QPictureFormatPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12548 NONAME - _ZN20QPictureFormatPlugin25staticMetaObjectExtraDataE @ 12549 NONAME DATA 8 - _ZN20QRasterWindowSurfaceC1EP7QWidgetb @ 12550 NONAME - _ZN20QRasterWindowSurfaceC2EP7QWidgetb @ 12551 NONAME - _ZN20QWidgetResizeHandler18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12552 NONAME - _ZN20QWidgetResizeHandler25staticMetaObjectExtraDataE @ 12553 NONAME DATA 8 - _ZN21QAbstractItemDelegate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12554 NONAME - _ZN21QAbstractItemDelegate25staticMetaObjectExtraDataE @ 12555 NONAME DATA 8 - _ZN21QGraphicsEffectSource18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12556 NONAME - _ZN21QGraphicsEffectSource25staticMetaObjectExtraDataE @ 12557 NONAME DATA 8 - _ZN21QGraphicsSystemPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12558 NONAME - _ZN21QGraphicsSystemPlugin25staticMetaObjectExtraDataE @ 12559 NONAME DATA 8 - _ZN21QMouseEventTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12560 NONAME - _ZN21QMouseEventTransition25staticMetaObjectExtraDataE @ 12561 NONAME DATA 8 - _ZN21QPixmapColorizeFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12562 NONAME - _ZN21QPixmapColorizeFilter25staticMetaObjectExtraDataE @ 12563 NONAME DATA 8 - _ZN21QSortFilterProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12564 NONAME - _ZN21QSortFilterProxyModel25staticMetaObjectExtraDataE @ 12565 NONAME DATA 8 - _ZN22QGraphicsItemAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12566 NONAME - _ZN22QGraphicsItemAnimation25staticMetaObjectExtraDataE @ 12567 NONAME DATA 8 - _ZN22QGraphicsOpacityEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12568 NONAME - _ZN22QGraphicsOpacityEffect25staticMetaObjectExtraDataE @ 12569 NONAME DATA 8 - _ZN23QGraphicsColorizeEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12570 NONAME - _ZN23QGraphicsColorizeEffect25staticMetaObjectExtraDataE @ 12571 NONAME DATA 8 - _ZN23QImageTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj6QFixed @ 12572 NONAME - _ZN23QPaintBufferSignalProxy18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12573 NONAME - _ZN23QPaintBufferSignalProxy25staticMetaObjectExtraDataE @ 12574 NONAME DATA 8 - _ZN23QPixmapDropShadowFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12575 NONAME - _ZN23QPixmapDropShadowFilter25staticMetaObjectExtraDataE @ 12576 NONAME DATA 8 - _ZN24QPixmapConvolutionFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12577 NONAME - _ZN24QPixmapConvolutionFilter25staticMetaObjectExtraDataE @ 12578 NONAME DATA 8 - _ZN24QPlainTextDocumentLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12579 NONAME - _ZN24QPlainTextDocumentLayout25staticMetaObjectExtraDataE @ 12580 NONAME DATA 8 - _ZN25QGraphicsDropShadowEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12581 NONAME - _ZN25QGraphicsDropShadowEffect25staticMetaObjectExtraDataE @ 12582 NONAME DATA 8 - _ZN27QAbstractTextDocumentLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12583 NONAME - _ZN27QAbstractTextDocumentLayout25staticMetaObjectExtraDataE @ 12584 NONAME DATA 8 - _ZN5QDial18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12585 NONAME - _ZN5QDial25staticMetaObjectExtraDataE @ 12586 NONAME DATA 8 - _ZN5QDrag18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12587 NONAME - _ZN5QDrag25staticMetaObjectExtraDataE @ 12588 NONAME DATA 8 - _ZN5QFont20setHintingPreferenceENS_17HintingPreferenceE @ 12589 NONAME - _ZN5QMenu18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12590 NONAME - _ZN5QMenu25staticMetaObjectExtraDataE @ 12591 NONAME DATA 8 - _ZN6QFrame18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12592 NONAME - _ZN6QFrame25staticMetaObjectExtraDataE @ 12593 NONAME DATA 8 - _ZN6QImage4fillEN2Qt11GlobalColorE @ 12594 NONAME - _ZN6QImage4fillERK6QColor @ 12595 NONAME - _ZN6QLabel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12596 NONAME - _ZN6QLabel25staticMetaObjectExtraDataE @ 12597 NONAME DATA 8 - _ZN6QMovie18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12598 NONAME - _ZN6QMovie25staticMetaObjectExtraDataE @ 12599 NONAME DATA 8 - _ZN6QSound18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12600 NONAME - _ZN6QSound25staticMetaObjectExtraDataE @ 12601 NONAME DATA 8 - _ZN6QStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12602 NONAME - _ZN6QStyle25staticMetaObjectExtraDataE @ 12603 NONAME DATA 8 - _ZN7QAction18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12604 NONAME - _ZN7QAction25staticMetaObjectExtraDataE @ 12605 NONAME DATA 8 - _ZN7QDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12606 NONAME - _ZN7QDialog25staticMetaObjectExtraDataE @ 12607 NONAME DATA 8 - _ZN7QLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12608 NONAME - _ZN7QLayout25staticMetaObjectExtraDataE @ 12609 NONAME DATA 8 - _ZN7QSlider18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12610 NONAME - _ZN7QSlider25staticMetaObjectExtraDataE @ 12611 NONAME DATA 8 - _ZN7QTabBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12612 NONAME - _ZN7QTabBar25staticMetaObjectExtraDataE @ 12613 NONAME DATA 8 - _ZN7QWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12614 NONAME - _ZN7QWidget25staticMetaObjectExtraDataE @ 12615 NONAME DATA 8 - _ZN7QWizard18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12616 NONAME - _ZN7QWizard25staticMetaObjectExtraDataE @ 12617 NONAME DATA 8 - _ZN8QGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12618 NONAME - _ZN8QGesture25staticMetaObjectExtraDataE @ 12619 NONAME DATA 8 - _ZN8QMdiArea14setTabsMovableEb @ 12620 NONAME - _ZN8QMdiArea15setTabsClosableEb @ 12621 NONAME - _ZN8QMdiArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12622 NONAME - _ZN8QMdiArea25staticMetaObjectExtraDataE @ 12623 NONAME DATA 8 - _ZN8QMenuBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12624 NONAME - _ZN8QMenuBar25staticMetaObjectExtraDataE @ 12625 NONAME DATA 8 - _ZN8QSpinBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12626 NONAME - _ZN8QSpinBox25staticMetaObjectExtraDataE @ 12627 NONAME DATA 8 - _ZN8QToolBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12628 NONAME - _ZN8QToolBar25staticMetaObjectExtraDataE @ 12629 NONAME DATA 8 - _ZN8QToolBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12630 NONAME - _ZN8QToolBox25staticMetaObjectExtraDataE @ 12631 NONAME DATA 8 - _ZN9QCheckBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12632 NONAME - _ZN9QCheckBox25staticMetaObjectExtraDataE @ 12633 NONAME DATA 8 - _ZN9QComboBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12634 NONAME - _ZN9QComboBox25staticMetaObjectExtraDataE @ 12635 NONAME DATA 8 - _ZN9QDateEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12636 NONAME - _ZN9QDateEdit25staticMetaObjectExtraDataE @ 12637 NONAME DATA 8 - _ZN9QDirModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12638 NONAME - _ZN9QDirModel25staticMetaObjectExtraDataE @ 12639 NONAME DATA 8 - _ZN9QGroupBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12640 NONAME - _ZN9QGroupBox25staticMetaObjectExtraDataE @ 12641 NONAME DATA 8 - _ZN9QLineEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12642 NONAME - _ZN9QLineEdit18setCursorMoveStyleEN11QTextCursor9MoveStyleE @ 12643 NONAME ABSENT - _ZN9QLineEdit25staticMetaObjectExtraDataE @ 12644 NONAME DATA 8 - _ZN9QListView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12645 NONAME - _ZN9QListView25staticMetaObjectExtraDataE @ 12646 NONAME DATA 8 - _ZN9QS60Style18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12647 NONAME - _ZN9QS60Style25staticMetaObjectExtraDataE @ 12648 NONAME DATA 8 - _ZN9QShortcut18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12649 NONAME - _ZN9QShortcut25staticMetaObjectExtraDataE @ 12650 NONAME DATA 8 - _ZN9QSizeGrip18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12651 NONAME - _ZN9QSizeGrip25staticMetaObjectExtraDataE @ 12652 NONAME DATA 8 - _ZN9QSplitter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12653 NONAME - _ZN9QSplitter25staticMetaObjectExtraDataE @ 12654 NONAME DATA 8 - _ZN9QTextEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12655 NONAME - _ZN9QTextEdit25staticMetaObjectExtraDataE @ 12656 NONAME DATA 8 - _ZN9QTextList18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12657 NONAME - _ZN9QTextList25staticMetaObjectExtraDataE @ 12658 NONAME DATA 8 - _ZN9QTimeEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12659 NONAME - _ZN9QTimeEdit25staticMetaObjectExtraDataE @ 12660 NONAME DATA 8 - _ZN9QTreeView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12661 NONAME - _ZN9QTreeView25staticMetaObjectExtraDataE @ 12662 NONAME DATA 8 - _ZN9QUndoView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12663 NONAME - _ZN9QUndoView25staticMetaObjectExtraDataE @ 12664 NONAME DATA 8 - _ZNK10QBlittable12capabilitiesEv @ 12665 NONAME - _ZNK10QBlittable4sizeEv @ 12666 NONAME - _ZNK10QTabWidget14heightForWidthEi @ 12667 NONAME - _ZNK10QTextBlock7isValidEv @ 12668 NONAME ABSENT - _ZNK10QZipWriter10isWritableEv @ 12669 NONAME - _ZNK10QZipWriter17compressionPolicyEv @ 12670 NONAME - _ZNK10QZipWriter19creationPermissionsEv @ 12671 NONAME - _ZNK10QZipWriter6deviceEv @ 12672 NONAME - _ZNK10QZipWriter6existsEv @ 12673 NONAME - _ZNK10QZipWriter6statusEv @ 12674 NONAME - _ZNK11QTextEngine19nextLogicalPositionEi @ 12675 NONAME - _ZNK11QTextEngine23previousLogicalPositionEi @ 12676 NONAME - _ZNK11QTextLayout15cursorMoveStyleEv @ 12677 NONAME - _ZNK11QTextLayout18leftCursorPositionEi @ 12678 NONAME - _ZNK11QTextLayout19rightCursorPositionEi @ 12679 NONAME - _ZNK12QFontMetrics10inFontUcs4Ej @ 12680 NONAME - _ZNK12QRadioButton15minimumSizeHintEv @ 12681 NONAME - _ZNK12QUndoCommand10actionTextEv @ 12682 NONAME - _ZNK13QFontMetricsF10inFontUcs4Ej @ 12683 NONAME - _ZNK13QTextDocument22defaultCursorMoveStyleEv @ 12684 NONAME - _ZNK14QFileOpenEvent8openFileER5QFile6QFlagsIN9QIODevice12OpenModeFlagEE @ 12685 NONAME - _Z22qt_fontdata_from_indexi @ 12686 NONAME - _ZNK14QWidgetPrivate17hasHeightForWidthEv @ 12687 NONAME - _ZNK14QWindowSurface8featuresEv @ 12688 NONAME - _ZNK15QRadialGradient11focalRadiusEv @ 12689 NONAME - _ZNK15QRadialGradient12centerRadiusEv @ 12690 NONAME - _ZNK16QFileSystemModel5rmdirERK11QModelIndex @ 12691 NONAME - _ZNK17QInternalMimeData10metaObjectEv @ 12692 NONAME - _ZNK17QInternalMimeData12retrieveDataERK7QStringN8QVariant4TypeE @ 12693 NONAME - _ZNK17QInternalMimeData7formatsEv @ 12694 NONAME - _ZNK17QInternalMimeData9hasFormatERK7QString @ 12695 NONAME - _ZNK18QTextureGlyphCache18textureMapForGlyphEj6QFixed @ 12696 NONAME - _ZNK18QTextureGlyphCache20subPixelPositionForXE6QFixed @ 12697 NONAME - _ZNK18QTextureGlyphCache30calculateSubPixelPositionCountEj @ 12698 NONAME - _ZNK19QAbstractProxyModel11hasChildrenERK11QModelIndex @ 12699 NONAME - _ZNK19QAbstractProxyModel12canFetchMoreERK11QModelIndex @ 12700 NONAME - _ZNK19QAbstractProxyModel20supportedDropActionsEv @ 12701 NONAME - _ZNK19QAbstractProxyModel4spanERK11QModelIndex @ 12702 NONAME - _ZNK19QAbstractProxyModel5buddyERK11QModelIndex @ 12703 NONAME - _ZNK19QAbstractProxyModel8mimeDataERK5QListI11QModelIndexE @ 12704 NONAME - _ZNK19QAbstractProxyModel9mimeTypesEv @ 12705 NONAME - _ZNK19QBlitterPaintEngine11createStateEP13QPainterState @ 12706 NONAME - _ZNK19QIdentityProxyModel10metaObjectEv @ 12707 NONAME - _ZNK19QIdentityProxyModel11columnCountERK11QModelIndex @ 12708 NONAME - _ZNK19QIdentityProxyModel11mapToSourceERK11QModelIndex @ 12709 NONAME - _ZNK19QIdentityProxyModel13mapFromSourceERK11QModelIndex @ 12710 NONAME - _ZNK19QIdentityProxyModel20mapSelectionToSourceERK14QItemSelection @ 12711 NONAME - _ZNK19QIdentityProxyModel22mapSelectionFromSourceERK14QItemSelection @ 12712 NONAME - _ZNK19QIdentityProxyModel5indexEiiRK11QModelIndex @ 12713 NONAME - _ZNK19QIdentityProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 12714 NONAME - _ZNK19QIdentityProxyModel6parentERK11QModelIndex @ 12715 NONAME - _ZNK19QIdentityProxyModel8rowCountERK11QModelIndex @ 12716 NONAME - _ZNK20QBlittablePixmapData11paintEngineEv @ 12717 NONAME - _ZNK20QBlittablePixmapData15hasAlphaChannelEv @ 12718 NONAME - _ZNK20QBlittablePixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 12719 NONAME - _ZNK20QBlittablePixmapData7toImageEv @ 12720 NONAME - _ZNK20QBlittablePixmapData9blittableEv @ 12721 NONAME - _ZNK20QRasterWindowSurface8featuresEv @ 12722 NONAME - _ZNK5QFont17hintingPreferenceEv @ 12723 NONAME - _ZNK8QMdiArea11tabsMovableEv @ 12724 NONAME - _ZNK8QMdiArea12tabsClosableEv @ 12725 NONAME - _ZNK8QPainter16clipBoundingRectEv @ 12726 NONAME - _ZNK9QCheckBox15minimumSizeHintEv @ 12727 NONAME - _ZNK9QLineEdit15cursorMoveStyleEv @ 12728 NONAME - _ZTI10QBlittable @ 12729 NONAME - _ZTI17QInternalMimeData @ 12730 NONAME - _ZTI19QBlitterPaintEngine @ 12731 NONAME - _ZTI19QIdentityProxyModel @ 12732 NONAME - _ZTI20QBlittablePixmapData @ 12733 NONAME - _ZTV10QBlittable @ 12734 NONAME - _ZTV17QInternalMimeData @ 12735 NONAME - _ZTV19QBlitterPaintEngine @ 12736 NONAME - _ZTV19QIdentityProxyModel @ 12737 NONAME - _ZTV20QBlittablePixmapData @ 12738 NONAME - _Zls6QDebugPK13QSymbianEvent @ 12739 NONAME - _ZN11QTextLayout18setCursorMoveStyleEN2Qt15CursorMoveStyleE @ 12740 NONAME - _ZN13QTextDocument25setDefaultCursorMoveStyleEN2Qt15CursorMoveStyleE @ 12741 NONAME - _ZN10QBlittableC2ERK5QSize6QFlagsINS_10CapabilityEE @ 12742 NONAME - _ZN10QBlittableD0Ev @ 12743 NONAME - _ZN10QBlittableD1Ev @ 12744 NONAME - _ZN10QBlittableD2Ev @ 12745 NONAME - _ZN11QFontEngine16alphaMapForGlyphEj6QFixed @ 12746 NONAME - _ZN9QLineEdit18setCursorMoveStyleEN2Qt15CursorMoveStyleE @ 12747 NONAME - _ZN11QFontEngine16alphaMapForGlyphEj6QFixedRK10QTransform @ 12748 NONAME - _ZN11QFontEngine19alphaRGBMapForGlyphEj6QFixediRK10QTransform @ 12749 NONAME - _ZN12QInputDialog7getItemEP7QWidgetRK7QStringS4_RK11QStringListibPb6QFlagsIN2Qt10WindowTypeEES9_INSA_15InputMethodHintEE @ 12750 NONAME - _ZN11QTextEngine16getClusterLengthEPtPK17HB_CharAttributesiiiPi @ 12751 NONAME - _ZN11QTextEngine18positionInLigatureEPK11QScriptItemi6QFixedS3_ib @ 12752 NONAME - _ZN14QPaintEngineEx18drawStaticTextItemEP15QStaticTextItem @ 12753 NONAME - _ZNK14QPaintEngineEx23supportsTransformationsEfRK10QTransform @ 12754 NONAME - _ZN12QInputDialog7getTextEP7QWidgetRK7QStringS4_N9QLineEdit8EchoModeES4_Pb6QFlagsIN2Qt10WindowTypeEES8_INS9_15InputMethodHintEE @ 12755 NONAME - _Z27qt_isExtendedRadialGradientRK6QBrush @ 12756 NONAME - _ZN5QFont12setStyleNameERK7QString @ 12757 NONAME - _ZNK5QFont9styleNameEv @ 12758 NONAME - _ZNK9QFontInfo9styleNameEv @ 12759 NONAME - _ZN14QPaintEngineEx19drawPixmapFragmentsEPK6QRectFS2_iRK7QPixmap6QFlagsIN8QPainter18PixmapFragmentHintEE @ 12760 NONAME - _ZN16QTreeViewPrivate10initializeEv @ 12761 NONAME - _ZN16QTreeViewPrivate15insertViewItemsEiiRK13QTreeViewItem @ 12762 NONAME - _ZN16QTreeViewPrivate15removeViewItemsEii @ 12763 NONAME - _ZN16QTreeViewPrivate16updateScrollBarsEv @ 12764 NONAME - _ZN16QTreeViewPrivate17_q_columnsRemovedERK11QModelIndexii @ 12765 NONAME - _ZN16QTreeViewPrivate17_q_modelDestroyedEv @ 12766 NONAME - _ZN16QTreeViewPrivate22_q_modelAboutToBeResetEv @ 12767 NONAME - _ZN16QTreeViewPrivate22beginAnimatedOperationEv @ 12768 NONAME - _ZN16QTreeViewPrivate23_q_endAnimatedOperationEv @ 12769 NONAME - _ZN16QTreeViewPrivate23_q_sortIndicatorChangedEiN2Qt9SortOrderE @ 12770 NONAME - _ZN16QTreeViewPrivate24prepareAnimatedOperationEiN18QAbstractAnimation9DirectionE @ 12771 NONAME - _ZN16QTreeViewPrivate25expandOrCollapseItemAtPosERK6QPoint @ 12772 NONAME - _ZN16QTreeViewPrivate26_q_columnsAboutToBeRemovedERK11QModelIndexii @ 12773 NONAME - _ZN16QTreeViewPrivate6expandEib @ 12774 NONAME - _ZN16QTreeViewPrivate6layoutEibb @ 12775 NONAME - _ZN16QTreeViewPrivate6selectERK11QModelIndexS2_6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 12776 NONAME - _ZN16QTreeViewPrivate8collapseEib @ 12777 NONAME - _ZN8QPainter19drawPixmapFragmentsEPK6QRectFS2_iRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 12778 NONAME - _ZNK13QFontDatabase9hasFamilyERK7QString @ 12779 NONAME - _ZNK16QTreeViewPrivate10itemHeightEi @ 12780 NONAME - _ZNK16QTreeViewPrivate10modelIndexEii @ 12781 NONAME - _ZNK16QTreeViewPrivate12columnRangesERK11QModelIndexS2_ @ 12782 NONAME - _ZNK16QTreeViewPrivate16firstVisibleItemEPi @ 12783 NONAME - _ZNK16QTreeViewPrivate16itemAtCoordinateEi @ 12784 NONAME - _ZNK16QTreeViewPrivate16itemDecorationAtERK6QPoint @ 12785 NONAME - _ZNK16QTreeViewPrivate17coordinateForItemEi @ 12786 NONAME - _ZNK16QTreeViewPrivate18hasVisibleChildrenERK11QModelIndex @ 12787 NONAME - _ZNK16QTreeViewPrivate18indentationForItemEi @ 12788 NONAME - _ZNK16QTreeViewPrivate18itemDecorationRectERK11QModelIndex @ 12789 NONAME - _ZNK16QTreeViewPrivate18startAndEndColumnsERK5QRect @ 12790 NONAME - _ZNK16QTreeViewPrivate19draggablePaintPairsERK5QListI11QModelIndexEP5QRect @ 12791 NONAME - _ZNK16QTreeViewPrivate21drawAnimatedOperationEP8QPainter @ 12792 NONAME - _ZNK16QTreeViewPrivate25paintAlternatingRowColorsEP8QPainterP22QStyleOptionViewItemV4ii @ 12793 NONAME - _ZNK16QTreeViewPrivate30renderTreeToPixmapForAnimationERK5QRect @ 12794 NONAME - _ZNK16QTreeViewPrivate6pageUpEi @ 12795 NONAME - _ZNK16QTreeViewPrivate8columnAtEi @ 12796 NONAME - _ZNK16QTreeViewPrivate8pageDownEi @ 12797 NONAME - _ZNK16QTreeViewPrivate9viewIndexERK11QModelIndex @ 12798 NONAME - _ZTI16QTreeViewPrivate @ 12799 NONAME - _ZTV16QTreeViewPrivate @ 12800 NONAME + _Z22qt_fontdata_from_indexi @ 12201 NONAME + _Z27qt_isExtendedRadialGradientRK6QBrush @ 12202 NONAME + _Z28qt_painterPathFromVectorPathRK11QVectorPath @ 12203 NONAME + _Z32qGamma_correct_back_to_linear_csP6QImage @ 12204 NONAME + _ZN10QBlittable4lockEv @ 12205 NONAME + _ZN10QBlittable6unlockEv @ 12206 NONAME + _ZN10QBlittableC2ERK5QSize6QFlagsINS_10CapabilityEE @ 12207 NONAME + _ZN10QBlittableD0Ev @ 12208 NONAME + _ZN10QBlittableD1Ev @ 12209 NONAME + _ZN10QBlittableD2Ev @ 12210 NONAME + _ZN10QBoxLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12211 NONAME + _ZN10QBoxLayout25staticMetaObjectExtraDataE @ 12212 NONAME DATA 8 + _ZN10QClipboard18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12213 NONAME + _ZN10QClipboard25staticMetaObjectExtraDataE @ 12214 NONAME DATA 8 + _ZN10QCompleter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12215 NONAME + _ZN10QCompleter25staticMetaObjectExtraDataE @ 12216 NONAME DATA 8 + _ZN10QLCDNumber18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12217 NONAME + _ZN10QLCDNumber25staticMetaObjectExtraDataE @ 12218 NONAME DATA 8 + _ZN10QScrollBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12219 NONAME + _ZN10QScrollBar25staticMetaObjectExtraDataE @ 12220 NONAME DATA 8 + _ZN10QStatusBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12221 NONAME + _ZN10QStatusBar25staticMetaObjectExtraDataE @ 12222 NONAME DATA 8 + _ZN10QTabWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12223 NONAME + _ZN10QTabWidget25staticMetaObjectExtraDataE @ 12224 NONAME DATA 8 + _ZN10QTableView13doItemsLayoutEv @ 12225 NONAME + _ZN10QTableView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12226 NONAME + _ZN10QTableView25staticMetaObjectExtraDataE @ 12227 NONAME DATA 8 + _ZN10QTextFrame18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12228 NONAME + _ZN10QTextFrame25staticMetaObjectExtraDataE @ 12229 NONAME DATA 8 + _ZN10QTextTable18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12230 NONAME + _ZN10QTextTable25staticMetaObjectExtraDataE @ 12231 NONAME DATA 8 + _ZN10QUndoGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12232 NONAME + _ZN10QUndoGroup25staticMetaObjectExtraDataE @ 12233 NONAME DATA 8 + _ZN10QUndoStack18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12234 NONAME + _ZN10QUndoStack25staticMetaObjectExtraDataE @ 12235 NONAME DATA 8 + _ZN10QValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12236 NONAME + _ZN10QValidator25staticMetaObjectExtraDataE @ 12237 NONAME DATA 8 + _ZN10QWorkspace18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12238 NONAME + _ZN10QWorkspace25staticMetaObjectExtraDataE @ 12239 NONAME DATA 8 + _ZN10QZipWriter10addSymLinkERK7QStringS2_ @ 12240 NONAME + _ZN10QZipWriter12addDirectoryERK7QString @ 12241 NONAME + _ZN10QZipWriter20setCompressionPolicyENS_17CompressionPolicyE @ 12242 NONAME + _ZN10QZipWriter22setCreationPermissionsE6QFlagsIN5QFile10PermissionEE @ 12243 NONAME + _ZN10QZipWriter5closeEv @ 12244 NONAME + _ZN10QZipWriter7addFileERK7QStringP9QIODevice @ 12245 NONAME + _ZN10QZipWriter7addFileERK7QStringRK10QByteArray @ 12246 NONAME + _ZN10QZipWriterC1EP9QIODevice @ 12247 NONAME + _ZN10QZipWriterC1ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 12248 NONAME + _ZN10QZipWriterC2EP9QIODevice @ 12249 NONAME + _ZN10QZipWriterC2ERK7QString6QFlagsIN9QIODevice12OpenModeFlagEE @ 12250 NONAME + _ZN10QZipWriterD1Ev @ 12251 NONAME + _ZN10QZipWriterD2Ev @ 12252 NONAME + _ZN11QColumnView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12253 NONAME + _ZN11QColumnView25staticMetaObjectExtraDataE @ 12254 NONAME DATA 8 + _ZN11QDockWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12255 NONAME + _ZN11QDockWidget25staticMetaObjectExtraDataE @ 12256 NONAME DATA 8 + _ZN11QFileDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12257 NONAME + _ZN11QFileDialog25staticMetaObjectExtraDataE @ 12258 NONAME DATA 8 + _ZN11QFocusFrame18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12259 NONAME + _ZN11QFocusFrame25staticMetaObjectExtraDataE @ 12260 NONAME DATA 8 + _ZN11QFontDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12261 NONAME + _ZN11QFontDialog25staticMetaObjectExtraDataE @ 12262 NONAME DATA 8 + _ZN11QFontEngine16alphaMapForGlyphEj6QFixed @ 12263 NONAME + _ZN11QFontEngine16alphaMapForGlyphEj6QFixedRK10QTransform @ 12264 NONAME + _ZN11QFontEngine19alphaRGBMapForGlyphEj6QFixediRK10QTransform @ 12265 NONAME + _ZN11QFormLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12266 NONAME + _ZN11QFormLayout25staticMetaObjectExtraDataE @ 12267 NONAME DATA 8 + _ZN11QGridLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12268 NONAME + _ZN11QGridLayout25staticMetaObjectExtraDataE @ 12269 NONAME DATA 8 + _ZN11QHBoxLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12270 NONAME + _ZN11QHBoxLayout25staticMetaObjectExtraDataE @ 12271 NONAME DATA 8 + _ZN11QHeaderView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12272 NONAME + _ZN11QHeaderView25staticMetaObjectExtraDataE @ 12273 NONAME DATA 8 + _ZN11QListWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12274 NONAME + _ZN11QListWidget25staticMetaObjectExtraDataE @ 12275 NONAME DATA 8 + _ZN11QMainWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12276 NONAME + _ZN11QMainWindow25staticMetaObjectExtraDataE @ 12277 NONAME DATA 8 + _ZN11QMessageBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12278 NONAME + _ZN11QMessageBox25staticMetaObjectExtraDataE @ 12279 NONAME DATA 8 + _ZN11QPanGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12280 NONAME + _ZN11QPanGesture25staticMetaObjectExtraDataE @ 12281 NONAME DATA 8 + _ZN11QProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12282 NONAME + _ZN11QProxyModel25staticMetaObjectExtraDataE @ 12283 NONAME DATA 8 + _ZN11QProxyStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12284 NONAME + _ZN11QProxyStyle25staticMetaObjectExtraDataE @ 12285 NONAME DATA 8 + _ZN11QPushButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12286 NONAME + _ZN11QPushButton25staticMetaObjectExtraDataE @ 12287 NONAME DATA 8 + _ZN11QRubberBand18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12288 NONAME + _ZN11QRubberBand25staticMetaObjectExtraDataE @ 12289 NONAME DATA 8 + _ZN11QScrollArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12290 NONAME + _ZN11QScrollArea25staticMetaObjectExtraDataE @ 12291 NONAME DATA 8 + _ZN11QTapGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12292 NONAME + _ZN11QTapGesture25staticMetaObjectExtraDataE @ 12293 NONAME DATA 8 + _ZN11QTextEngine15beginningOfLineEi @ 12294 NONAME + _ZN11QTextEngine16getClusterLengthEPtPK17HB_CharAttributesiiiPi @ 12295 NONAME + _ZN11QTextEngine16offsetInLigatureEPK11QScriptItemiii @ 12296 NONAME + _ZN11QTextEngine18positionInLigatureEPK11QScriptItemi6QFixedS3_ib @ 12297 NONAME + _ZN11QTextEngine22insertionPointsForLineEiR7QVectorIiE @ 12298 NONAME + _ZN11QTextEngine25lineNumberForTextPositionEi @ 12299 NONAME + _ZN11QTextEngine27positionAfterVisualMovementEiN11QTextCursor13MoveOperationE @ 12300 NONAME + _ZN11QTextEngine9alignLineERK11QScriptLine @ 12301 NONAME + _ZN11QTextEngine9endOfLineEi @ 12302 NONAME + _ZN11QTextLayout18setCursorMoveStyleEN2Qt15CursorMoveStyleE @ 12303 NONAME + _ZN11QTextObject18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12304 NONAME + _ZN11QTextObject25staticMetaObjectExtraDataE @ 12305 NONAME DATA 8 + _ZN11QToolButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12306 NONAME + _ZN11QToolButton25staticMetaObjectExtraDataE @ 12307 NONAME DATA 8 + _ZN11QTreeWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12308 NONAME + _ZN11QTreeWidget25staticMetaObjectExtraDataE @ 12309 NONAME DATA 8 + _ZN11QVBoxLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12310 NONAME + _ZN11QVBoxLayout25staticMetaObjectExtraDataE @ 12311 NONAME DATA 8 + _ZN11QWizardPage18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12312 NONAME + _ZN11QWizardPage25staticMetaObjectExtraDataE @ 12313 NONAME DATA 8 + _ZN12QActionGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12314 NONAME + _ZN12QActionGroup25staticMetaObjectExtraDataE @ 12315 NONAME DATA 8 + _ZN12QApplication18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12316 NONAME + _ZN12QApplication25staticMetaObjectExtraDataE @ 12317 NONAME DATA 8 + _ZN12QButtonGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12318 NONAME + _ZN12QButtonGroup25staticMetaObjectExtraDataE @ 12319 NONAME DATA 8 + _ZN12QColorDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12320 NONAME + _ZN12QColorDialog25staticMetaObjectExtraDataE @ 12321 NONAME DATA 8 + _ZN12QCommonStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12322 NONAME + _ZN12QCommonStyle25staticMetaObjectExtraDataE @ 12323 NONAME DATA 8 + _ZN12QInputDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12324 NONAME + _ZN12QInputDialog25staticMetaObjectExtraDataE @ 12325 NONAME DATA 8 + _ZN12QInputDialog7getItemEP7QWidgetRK7QStringS4_RK11QStringListibPb6QFlagsIN2Qt10WindowTypeEES9_INSA_15InputMethodHintEE @ 12326 NONAME + _ZN12QInputDialog7getTextEP7QWidgetRK7QStringS4_N9QLineEdit8EchoModeES4_Pb6QFlagsIN2Qt10WindowTypeEES8_INS9_15InputMethodHintEE @ 12327 NONAME + _ZN12QLineControl18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12328 NONAME + _ZN12QLineControl25staticMetaObjectExtraDataE @ 12329 NONAME DATA 8 + _ZN12QProgressBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12330 NONAME + _ZN12QProgressBar25staticMetaObjectExtraDataE @ 12331 NONAME DATA 8 + _ZN12QRadioButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12332 NONAME + _ZN12QRadioButton25staticMetaObjectExtraDataE @ 12333 NONAME DATA 8 + _ZN12QStylePlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12334 NONAME + _ZN12QStylePlugin25staticMetaObjectExtraDataE @ 12335 NONAME DATA 8 + _ZN12QTableWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12336 NONAME + _ZN12QTableWidget25staticMetaObjectExtraDataE @ 12337 NONAME DATA 8 + _ZN12QTextBrowser18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12338 NONAME + _ZN12QTextBrowser25staticMetaObjectExtraDataE @ 12339 NONAME DATA 8 + _ZN12QTextControl18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12340 NONAME + _ZN12QTextControl25staticMetaObjectExtraDataE @ 12341 NONAME DATA 8 + _ZN13QDateTimeEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12342 NONAME + _ZN13QDateTimeEdit25staticMetaObjectExtraDataE @ 12343 NONAME DATA 8 + _ZN13QErrorMessage18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12344 NONAME + _ZN13QErrorMessage25staticMetaObjectExtraDataE @ 12345 NONAME DATA 8 + _ZN13QFontComboBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12346 NONAME + _ZN13QFontComboBox25staticMetaObjectExtraDataE @ 12347 NONAME DATA 8 + _ZN13QFontDatabase22resolveFontFamilyAliasERK7QString @ 12348 NONAME + _ZN13QGraphicsView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12349 NONAME + _ZN13QGraphicsView25staticMetaObjectExtraDataE @ 12350 NONAME DATA 8 + _ZN13QInputContext18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12351 NONAME + _ZN13QInputContext25staticMetaObjectExtraDataE @ 12352 NONAME DATA 8 + _ZN13QIntValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12353 NONAME + _ZN13QIntValidator25staticMetaObjectExtraDataE @ 12354 NONAME DATA 8 + _ZN13QItemDelegate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12355 NONAME + _ZN13QItemDelegate25staticMetaObjectExtraDataE @ 12356 NONAME DATA 8 + _ZN13QMdiSubWindow18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12357 NONAME + _ZN13QMdiSubWindow25staticMetaObjectExtraDataE @ 12358 NONAME DATA 8 + _ZN13QPinchGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12359 NONAME + _ZN13QPinchGesture25staticMetaObjectExtraDataE @ 12360 NONAME DATA 8 + _ZN13QPixmapFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12361 NONAME + _ZN13QPixmapFilter25staticMetaObjectExtraDataE @ 12362 NONAME DATA 8 + _ZN13QS60MainAppUi25ProcessCommandParametersLE11TApaCommandR4TBufILi256EERK6TDesC8 @ 12363 NONAME + _ZN13QSplashScreen18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12364 NONAME + _ZN13QSplashScreen25staticMetaObjectExtraDataE @ 12365 NONAME DATA 8 + _ZN13QSwipeGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12366 NONAME + _ZN13QSwipeGesture25staticMetaObjectExtraDataE @ 12367 NONAME DATA 8 + _ZN13QTextDocument18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12368 NONAME + _ZN13QTextDocument25setDefaultCursorMoveStyleEN2Qt15CursorMoveStyleE @ 12369 NONAME + _ZN13QTextDocument25staticMetaObjectExtraDataE @ 12370 NONAME DATA 8 + _ZN13QWidgetAction18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12371 NONAME + _ZN13QWidgetAction25staticMetaObjectExtraDataE @ 12372 NONAME DATA 8 + _ZN13QWindowsStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12373 NONAME + _ZN13QWindowsStyle25staticMetaObjectExtraDataE @ 12374 NONAME DATA 8 + _ZN14QDesktopWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12375 NONAME + _ZN14QDesktopWidget25staticMetaObjectExtraDataE @ 12376 NONAME DATA 8 + _ZN14QDoubleSpinBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12377 NONAME + _ZN14QDoubleSpinBox25staticMetaObjectExtraDataE @ 12378 NONAME DATA 8 + _ZN14QFileOpenEventC1ERK5RFile @ 12379 NONAME + _ZN14QFileOpenEventC2ERK5RFile @ 12380 NONAME + _ZN14QGraphicsScale18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12381 NONAME + _ZN14QGraphicsScale25staticMetaObjectExtraDataE @ 12382 NONAME DATA 8 + _ZN14QGraphicsScene18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12383 NONAME + _ZN14QGraphicsScene25staticMetaObjectExtraDataE @ 12384 NONAME DATA 8 + _ZN14QImageIOPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12385 NONAME + _ZN14QImageIOPlugin25staticMetaObjectExtraDataE @ 12386 NONAME DATA 8 + _ZN14QPaintEngineEx18drawStaticTextItemEP15QStaticTextItem @ 12387 NONAME + _ZN14QPaintEngineEx19drawPixmapFragmentsEPK6QRectFS2_iRK7QPixmap6QFlagsIN8QPainter18PixmapFragmentHintEE @ 12388 NONAME + _ZN14QPlainTextEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12389 NONAME + _ZN14QPlainTextEdit25staticMetaObjectExtraDataE @ 12390 NONAME DATA 8 + _ZN14QStackedLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12391 NONAME + _ZN14QStackedLayout25staticMetaObjectExtraDataE @ 12392 NONAME DATA 8 + _ZN14QStackedWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12393 NONAME + _ZN14QStackedWidget25staticMetaObjectExtraDataE @ 12394 NONAME DATA 8 + _ZN14QWindowSurfaceC2EP7QWidgetb @ 12395 NONAME + _ZN15QAbstractButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12396 NONAME + _ZN15QAbstractButton25staticMetaObjectExtraDataE @ 12397 NONAME DATA 8 + _ZN15QAbstractSlider18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12398 NONAME + _ZN15QAbstractSlider25staticMetaObjectExtraDataE @ 12399 NONAME DATA 8 + _ZN15QCalendarWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12400 NONAME + _ZN15QCalendarWidget25staticMetaObjectExtraDataE @ 12401 NONAME DATA 8 + _ZN15QGraphicsAnchor18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12402 NONAME + _ZN15QGraphicsAnchor25staticMetaObjectExtraDataE @ 12403 NONAME DATA 8 + _ZN15QGraphicsEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12404 NONAME + _ZN15QGraphicsEffect25staticMetaObjectExtraDataE @ 12405 NONAME DATA 8 + _ZN15QGraphicsObject18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12406 NONAME + _ZN15QGraphicsObject25staticMetaObjectExtraDataE @ 12407 NONAME DATA 8 + _ZN15QGraphicsWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12408 NONAME + _ZN15QGraphicsWidget25staticMetaObjectExtraDataE @ 12409 NONAME DATA 8 + _ZN15QProgressDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12410 NONAME + _ZN15QProgressDialog25staticMetaObjectExtraDataE @ 12411 NONAME DATA 8 + _ZN15QRadialGradient14setFocalRadiusEf @ 12412 NONAME + _ZN15QRadialGradient15setCenterRadiusEf @ 12413 NONAME + _ZN15QRadialGradientC1ERK7QPointFfS2_f @ 12414 NONAME + _ZN15QRadialGradientC1Effffff @ 12415 NONAME + _ZN15QRadialGradientC2ERK7QPointFfS2_f @ 12416 NONAME + _ZN15QRadialGradientC2Effffff @ 12417 NONAME + _ZN15QSessionManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12418 NONAME + _ZN15QSessionManager25staticMetaObjectExtraDataE @ 12419 NONAME DATA 8 + _ZN15QSplitterHandle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12420 NONAME + _ZN15QSplitterHandle25staticMetaObjectExtraDataE @ 12421 NONAME DATA 8 + _ZN15QTextBlockGroup18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12422 NONAME + _ZN15QTextBlockGroup25staticMetaObjectExtraDataE @ 12423 NONAME DATA 8 + _ZN16QAbstractSpinBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12424 NONAME + _ZN16QAbstractSpinBox25staticMetaObjectExtraDataE @ 12425 NONAME DATA 8 + _ZN16QDialogButtonBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12426 NONAME + _ZN16QDialogButtonBox25staticMetaObjectExtraDataE @ 12427 NONAME DATA 8 + _ZN16QDoubleValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12428 NONAME + _ZN16QDoubleValidator25staticMetaObjectExtraDataE @ 12429 NONAME DATA 8 + _ZN16QFileSystemModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12430 NONAME + _ZN16QFileSystemModel25staticMetaObjectExtraDataE @ 12431 NONAME DATA 8 + _ZN16QRegExpValidator18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12432 NONAME + _ZN16QRegExpValidator25staticMetaObjectExtraDataE @ 12433 NONAME DATA 8 + _ZN16QStringListModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12434 NONAME + _ZN16QStringListModel25staticMetaObjectExtraDataE @ 12435 NONAME DATA 8 + _ZN16QTreeViewPrivate10initializeEv @ 12436 NONAME + _ZN16QTreeViewPrivate15insertViewItemsEiiRK13QTreeViewItem @ 12437 NONAME + _ZN16QTreeViewPrivate15removeViewItemsEii @ 12438 NONAME + _ZN16QTreeViewPrivate16updateScrollBarsEv @ 12439 NONAME + _ZN16QTreeViewPrivate17_q_columnsRemovedERK11QModelIndexii @ 12440 NONAME + _ZN16QTreeViewPrivate17_q_modelDestroyedEv @ 12441 NONAME + _ZN16QTreeViewPrivate22_q_modelAboutToBeResetEv @ 12442 NONAME + _ZN16QTreeViewPrivate22beginAnimatedOperationEv @ 12443 NONAME + _ZN16QTreeViewPrivate23_q_endAnimatedOperationEv @ 12444 NONAME + _ZN16QTreeViewPrivate23_q_sortIndicatorChangedEiN2Qt9SortOrderE @ 12445 NONAME + _ZN16QTreeViewPrivate24prepareAnimatedOperationEiN18QAbstractAnimation9DirectionE @ 12446 NONAME + _ZN16QTreeViewPrivate25expandOrCollapseItemAtPosERK6QPoint @ 12447 NONAME + _ZN16QTreeViewPrivate26_q_columnsAboutToBeRemovedERK11QModelIndexii @ 12448 NONAME + _ZN16QTreeViewPrivate6expandEib @ 12449 NONAME + _ZN16QTreeViewPrivate6layoutEibb @ 12450 NONAME + _ZN16QTreeViewPrivate6selectERK11QModelIndexS2_6QFlagsIN19QItemSelectionModel13SelectionFlagEE @ 12451 NONAME + _ZN16QTreeViewPrivate8collapseEib @ 12452 NONAME + _ZN17QAbstractItemView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12453 NONAME + _ZN17QAbstractItemView25staticMetaObjectExtraDataE @ 12454 NONAME DATA 8 + _ZN17QDataWidgetMapper18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12455 NONAME + _ZN17QDataWidgetMapper25staticMetaObjectExtraDataE @ 12456 NONAME DATA 8 + _ZN17QDockWidgetLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12457 NONAME + _ZN17QDockWidgetLayout25staticMetaObjectExtraDataE @ 12458 NONAME DATA 8 + _ZN17QGraphicsRotation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12459 NONAME + _ZN17QGraphicsRotation25staticMetaObjectExtraDataE @ 12460 NONAME DATA 8 + _ZN17QGraphicsTextItem18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12461 NONAME + _ZN17QGraphicsTextItem25staticMetaObjectExtraDataE @ 12462 NONAME DATA 8 + _ZN17QIconEnginePlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12463 NONAME + _ZN17QIconEnginePlugin25staticMetaObjectExtraDataE @ 12464 NONAME DATA 8 + _ZN17QInternalMimeData11canReadDataERK7QString @ 12465 NONAME + _ZN17QInternalMimeData11qt_metacallEN11QMetaObject4CallEiPPv @ 12466 NONAME + _ZN17QInternalMimeData11qt_metacastEPKc @ 12467 NONAME + _ZN17QInternalMimeData13formatsHelperEPK9QMimeData @ 12468 NONAME + _ZN17QInternalMimeData15hasFormatHelperERK7QStringPK9QMimeData @ 12469 NONAME + _ZN17QInternalMimeData16renderDataHelperERK7QStringPK9QMimeData @ 12470 NONAME + _ZN17QInternalMimeData16staticMetaObjectE @ 12471 NONAME DATA 16 + _ZN17QInternalMimeData18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12472 NONAME + _ZN17QInternalMimeData19getStaticMetaObjectEv @ 12473 NONAME + _ZN17QInternalMimeData25staticMetaObjectExtraDataE @ 12474 NONAME DATA 8 + _ZN17QInternalMimeDataC2Ev @ 12475 NONAME + _ZN17QInternalMimeDataD0Ev @ 12476 NONAME + _ZN17QInternalMimeDataD1Ev @ 12477 NONAME + _ZN17QInternalMimeDataD2Ev @ 12478 NONAME + _ZN17QPixmapBlurFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12479 NONAME + _ZN17QPixmapBlurFilter25staticMetaObjectExtraDataE @ 12480 NONAME DATA 8 + _ZN18QCommandLinkButton18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12481 NONAME + _ZN18QCommandLinkButton25staticMetaObjectExtraDataE @ 12482 NONAME DATA 8 + _ZN18QGraphicsTransform18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12483 NONAME + _ZN18QGraphicsTransform25staticMetaObjectExtraDataE @ 12484 NONAME DATA 8 + _ZN18QGuiPlatformPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12485 NONAME + _ZN18QGuiPlatformPlugin25staticMetaObjectExtraDataE @ 12486 NONAME DATA 8 + _ZN18QStandardItemModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12487 NONAME + _ZN18QStandardItemModel25staticMetaObjectExtraDataE @ 12488 NONAME DATA 8 + _ZN18QSyntaxHighlighter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12489 NONAME + _ZN18QSyntaxHighlighter25staticMetaObjectExtraDataE @ 12490 NONAME DATA 8 + _ZN18QTapAndHoldGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12491 NONAME + _ZN18QTapAndHoldGesture25staticMetaObjectExtraDataE @ 12492 NONAME DATA 8 + _ZN18QTextureGlyphCache19fillInPendingGlyphsEv @ 12493 NONAME + _ZN19QAbstractProxyModel11setItemDataERK11QModelIndexRK4QMapIi8QVariantE @ 12494 NONAME + _ZN19QAbstractProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12495 NONAME + _ZN19QAbstractProxyModel25staticMetaObjectExtraDataE @ 12496 NONAME DATA 8 + _ZN19QAbstractProxyModel4sortEiN2Qt9SortOrderE @ 12497 NONAME + _ZN19QAbstractProxyModel9fetchMoreERK11QModelIndex @ 12498 NONAME + _ZN19QAbstractScrollArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12499 NONAME + _ZN19QAbstractScrollArea25staticMetaObjectExtraDataE @ 12500 NONAME DATA 8 + _ZN19QApplicationPrivateC1ERiPPcN12QApplication4TypeEi @ 12501 NONAME + _ZN19QApplicationPrivateC2ERiPPcN12QApplication4TypeEi @ 12502 NONAME + _ZN19QBlitterPaintEngine10drawPixmapERK6QRectFRK7QPixmapS2_ @ 12503 NONAME + _ZN19QBlitterPaintEngine10penChangedEv @ 12504 NONAME + _ZN19QBlitterPaintEngine11drawEllipseERK6QRectF @ 12505 NONAME + _ZN19QBlitterPaintEngine12brushChangedEv @ 12506 NONAME + _ZN19QBlitterPaintEngine12drawTextItemERK7QPointFRK9QTextItem @ 12507 NONAME + _ZN19QBlitterPaintEngine14opacityChangedEv @ 12508 NONAME + _ZN19QBlitterPaintEngine16transformChangedEv @ 12509 NONAME + _ZN19QBlitterPaintEngine18brushOriginChangedEv @ 12510 NONAME + _ZN19QBlitterPaintEngine18clipEnabledChangedEv @ 12511 NONAME + _ZN19QBlitterPaintEngine18drawStaticTextItemEP15QStaticTextItem @ 12512 NONAME + _ZN19QBlitterPaintEngine18renderHintsChangedEv @ 12513 NONAME + _ZN19QBlitterPaintEngine22compositionModeChangedEv @ 12514 NONAME + _ZN19QBlitterPaintEngine3endEv @ 12515 NONAME + _ZN19QBlitterPaintEngine4clipERK11QVectorPathN2Qt13ClipOperationE @ 12516 NONAME + _ZN19QBlitterPaintEngine4clipERK5QRectN2Qt13ClipOperationE @ 12517 NONAME + _ZN19QBlitterPaintEngine4clipERK7QRegionN2Qt13ClipOperationE @ 12518 NONAME + _ZN19QBlitterPaintEngine4fillERK11QVectorPathRK6QBrush @ 12519 NONAME + _ZN19QBlitterPaintEngine5beginEP12QPaintDevice @ 12520 NONAME + _ZN19QBlitterPaintEngine6strokeERK11QVectorPathRK4QPen @ 12521 NONAME + _ZN19QBlitterPaintEngine8fillRectERK6QRectFRK6QBrush @ 12522 NONAME + _ZN19QBlitterPaintEngine8fillRectERK6QRectFRK6QColor @ 12523 NONAME + _ZN19QBlitterPaintEngine8setStateEP13QPainterState @ 12524 NONAME + _ZN19QBlitterPaintEngine9drawImageERK6QRectFRK6QImageS2_6QFlagsIN2Qt19ImageConversionFlagEE @ 12525 NONAME + _ZN19QBlitterPaintEngine9drawRectsEPK5QRecti @ 12526 NONAME + _ZN19QBlitterPaintEngine9drawRectsEPK6QRectFi @ 12527 NONAME + _ZN19QBlitterPaintEngineC1EP20QBlittablePixmapData @ 12528 NONAME + _ZN19QBlitterPaintEngineC2EP20QBlittablePixmapData @ 12529 NONAME + _ZN19QBlitterPaintEngineD0Ev @ 12530 NONAME + _ZN19QBlitterPaintEngineD1Ev @ 12531 NONAME + _ZN19QBlitterPaintEngineD2Ev @ 12532 NONAME + _ZN19QEventDispatcherS6018qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12533 NONAME + _ZN19QEventDispatcherS6025staticMetaObjectExtraDataE @ 12534 NONAME DATA 8 + _ZN19QGraphicsBlurEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12535 NONAME + _ZN19QGraphicsBlurEffect25staticMetaObjectExtraDataE @ 12536 NONAME DATA 8 + _ZN19QGraphicsGridLayout10removeItemEP19QGraphicsLayoutItem @ 12537 NONAME + _ZN19QIconEnginePluginV218qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12538 NONAME + _ZN19QIconEnginePluginV225staticMetaObjectExtraDataE @ 12539 NONAME DATA 8 + _ZN19QIdentityProxyModel10insertRowsEiiRK11QModelIndex @ 12540 NONAME + _ZN19QIdentityProxyModel10removeRowsEiiRK11QModelIndex @ 12541 NONAME + _ZN19QIdentityProxyModel11qt_metacallEN11QMetaObject4CallEiPPv @ 12542 NONAME + _ZN19QIdentityProxyModel11qt_metacastEPKc @ 12543 NONAME + _ZN19QIdentityProxyModel12dropMimeDataEPK9QMimeDataN2Qt10DropActionEiiRK11QModelIndex @ 12544 NONAME + _ZN19QIdentityProxyModel13insertColumnsEiiRK11QModelIndex @ 12545 NONAME + _ZN19QIdentityProxyModel13removeColumnsEiiRK11QModelIndex @ 12546 NONAME + _ZN19QIdentityProxyModel14setSourceModelEP18QAbstractItemModel @ 12547 NONAME + _ZN19QIdentityProxyModel16staticMetaObjectE @ 12548 NONAME DATA 16 + _ZN19QIdentityProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12549 NONAME + _ZN19QIdentityProxyModel19getStaticMetaObjectEv @ 12550 NONAME + _ZN19QIdentityProxyModel25staticMetaObjectExtraDataE @ 12551 NONAME DATA 8 + _ZN19QIdentityProxyModelC1EP7QObject @ 12552 NONAME + _ZN19QIdentityProxyModelC1ER26QIdentityProxyModelPrivateP7QObject @ 12553 NONAME + _ZN19QIdentityProxyModelC2EP7QObject @ 12554 NONAME + _ZN19QIdentityProxyModelC2ER26QIdentityProxyModelPrivateP7QObject @ 12555 NONAME + _ZN19QIdentityProxyModelD0Ev @ 12556 NONAME + _ZN19QIdentityProxyModelD1Ev @ 12557 NONAME + _ZN19QIdentityProxyModelD2Ev @ 12558 NONAME + _ZN19QInputContextPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12559 NONAME + _ZN19QInputContextPlugin25staticMetaObjectExtraDataE @ 12560 NONAME DATA 8 + _ZN19QItemSelectionModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12561 NONAME + _ZN19QItemSelectionModel25staticMetaObjectExtraDataE @ 12562 NONAME DATA 8 + _ZN19QKeyEventTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12563 NONAME + _ZN19QKeyEventTransition25staticMetaObjectExtraDataE @ 12564 NONAME DATA 8 + _ZN19QStyledItemDelegate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12565 NONAME + _ZN19QStyledItemDelegate25staticMetaObjectExtraDataE @ 12566 NONAME DATA 8 + _ZN20QBlittablePixmapData12setBlittableEP10QBlittable @ 12567 NONAME + _ZN20QBlittablePixmapData4fillERK6QColor @ 12568 NONAME + _ZN20QBlittablePixmapData6bufferEv @ 12569 NONAME + _ZN20QBlittablePixmapData6resizeEii @ 12570 NONAME + _ZN20QBlittablePixmapData9fromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 12571 NONAME + _ZN20QBlittablePixmapDataC2Ev @ 12572 NONAME + _ZN20QBlittablePixmapDataD0Ev @ 12573 NONAME + _ZN20QBlittablePixmapDataD1Ev @ 12574 NONAME + _ZN20QBlittablePixmapDataD2Ev @ 12575 NONAME + _ZN20QGraphicsProxyWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12576 NONAME + _ZN20QGraphicsProxyWidget25staticMetaObjectExtraDataE @ 12577 NONAME DATA 8 + _ZN20QPaintBufferResource18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12578 NONAME + _ZN20QPaintBufferResource25staticMetaObjectExtraDataE @ 12579 NONAME DATA 8 + _ZN20QPictureFormatPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12580 NONAME + _ZN20QPictureFormatPlugin25staticMetaObjectExtraDataE @ 12581 NONAME DATA 8 + _ZN20QRasterWindowSurfaceC1EP7QWidgetb @ 12582 NONAME + _ZN20QRasterWindowSurfaceC2EP7QWidgetb @ 12583 NONAME + _ZN20QWidgetResizeHandler18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12584 NONAME + _ZN20QWidgetResizeHandler25staticMetaObjectExtraDataE @ 12585 NONAME DATA 8 + _ZN21QAbstractItemDelegate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12586 NONAME + _ZN21QAbstractItemDelegate25staticMetaObjectExtraDataE @ 12587 NONAME DATA 8 + _ZN21QGraphicsEffectSource18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12588 NONAME + _ZN21QGraphicsEffectSource25staticMetaObjectExtraDataE @ 12589 NONAME DATA 8 + _ZN21QGraphicsSystemPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12590 NONAME + _ZN21QGraphicsSystemPlugin25staticMetaObjectExtraDataE @ 12591 NONAME DATA 8 + _ZN21QMouseEventTransition18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12592 NONAME + _ZN21QMouseEventTransition25staticMetaObjectExtraDataE @ 12593 NONAME DATA 8 + _ZN21QPixmapColorizeFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12594 NONAME + _ZN21QPixmapColorizeFilter25staticMetaObjectExtraDataE @ 12595 NONAME DATA 8 + _ZN21QSortFilterProxyModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12596 NONAME + _ZN21QSortFilterProxyModel25staticMetaObjectExtraDataE @ 12597 NONAME DATA 8 + _ZN22QGraphicsItemAnimation18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12598 NONAME + _ZN22QGraphicsItemAnimation25staticMetaObjectExtraDataE @ 12599 NONAME DATA 8 + _ZN22QGraphicsOpacityEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12600 NONAME + _ZN22QGraphicsOpacityEffect25staticMetaObjectExtraDataE @ 12601 NONAME DATA 8 + _ZN23QGraphicsColorizeEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12602 NONAME + _ZN23QGraphicsColorizeEffect25staticMetaObjectExtraDataE @ 12603 NONAME DATA 8 + _ZN23QImageTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj6QFixed @ 12604 NONAME + _ZN23QPaintBufferSignalProxy18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12605 NONAME + _ZN23QPaintBufferSignalProxy25staticMetaObjectExtraDataE @ 12606 NONAME DATA 8 + _ZN23QPixmapDropShadowFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12607 NONAME + _ZN23QPixmapDropShadowFilter25staticMetaObjectExtraDataE @ 12608 NONAME DATA 8 + _ZN24QPixmapConvolutionFilter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12609 NONAME + _ZN24QPixmapConvolutionFilter25staticMetaObjectExtraDataE @ 12610 NONAME DATA 8 + _ZN24QPlainTextDocumentLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12611 NONAME + _ZN24QPlainTextDocumentLayout25staticMetaObjectExtraDataE @ 12612 NONAME DATA 8 + _ZN25QGraphicsDropShadowEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12613 NONAME + _ZN25QGraphicsDropShadowEffect25staticMetaObjectExtraDataE @ 12614 NONAME DATA 8 + _ZN27QAbstractTextDocumentLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12615 NONAME + _ZN27QAbstractTextDocumentLayout25staticMetaObjectExtraDataE @ 12616 NONAME DATA 8 + _ZN5QDial18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12617 NONAME + _ZN5QDial25staticMetaObjectExtraDataE @ 12618 NONAME DATA 8 + _ZN5QDrag18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12619 NONAME + _ZN5QDrag25staticMetaObjectExtraDataE @ 12620 NONAME DATA 8 + _ZN5QFont12setStyleNameERK7QString @ 12621 NONAME + _ZN5QFont20setHintingPreferenceENS_17HintingPreferenceE @ 12622 NONAME + _ZN5QMenu18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12623 NONAME + _ZN5QMenu25staticMetaObjectExtraDataE @ 12624 NONAME DATA 8 + _ZN6QFrame18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12625 NONAME + _ZN6QFrame25staticMetaObjectExtraDataE @ 12626 NONAME DATA 8 + _ZN6QImage4fillEN2Qt11GlobalColorE @ 12627 NONAME + _ZN6QImage4fillERK6QColor @ 12628 NONAME + _ZN6QLabel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12629 NONAME + _ZN6QLabel25staticMetaObjectExtraDataE @ 12630 NONAME DATA 8 + _ZN6QMovie18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12631 NONAME + _ZN6QMovie25staticMetaObjectExtraDataE @ 12632 NONAME DATA 8 + _ZN6QSound18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12633 NONAME + _ZN6QSound25staticMetaObjectExtraDataE @ 12634 NONAME DATA 8 + _ZN6QStyle18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12635 NONAME + _ZN6QStyle25staticMetaObjectExtraDataE @ 12636 NONAME DATA 8 + _ZN7QAction18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12637 NONAME + _ZN7QAction25staticMetaObjectExtraDataE @ 12638 NONAME DATA 8 + _ZN7QDialog18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12639 NONAME + _ZN7QDialog25staticMetaObjectExtraDataE @ 12640 NONAME DATA 8 + _ZN7QLayout18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12641 NONAME + _ZN7QLayout25staticMetaObjectExtraDataE @ 12642 NONAME DATA 8 + _ZN7QSlider18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12643 NONAME + _ZN7QSlider25staticMetaObjectExtraDataE @ 12644 NONAME DATA 8 + _ZN7QTabBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12645 NONAME + _ZN7QTabBar25staticMetaObjectExtraDataE @ 12646 NONAME DATA 8 + _ZN7QWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12647 NONAME + _ZN7QWidget25staticMetaObjectExtraDataE @ 12648 NONAME DATA 8 + _ZN7QWizard18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12649 NONAME + _ZN7QWizard25staticMetaObjectExtraDataE @ 12650 NONAME DATA 8 + _ZN8QGesture18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12651 NONAME + _ZN8QGesture25staticMetaObjectExtraDataE @ 12652 NONAME DATA 8 + _ZN8QMdiArea14setTabsMovableEb @ 12653 NONAME + _ZN8QMdiArea15setTabsClosableEb @ 12654 NONAME + _ZN8QMdiArea18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12655 NONAME + _ZN8QMdiArea25staticMetaObjectExtraDataE @ 12656 NONAME DATA 8 + _ZN8QMenuBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12657 NONAME + _ZN8QMenuBar25staticMetaObjectExtraDataE @ 12658 NONAME DATA 8 + _ZN8QPainter19drawPixmapFragmentsEPK6QRectFS2_iRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 12659 NONAME + _ZN8QSpinBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12660 NONAME + _ZN8QSpinBox25staticMetaObjectExtraDataE @ 12661 NONAME DATA 8 + _ZN8QToolBar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12662 NONAME + _ZN8QToolBar25staticMetaObjectExtraDataE @ 12663 NONAME DATA 8 + _ZN8QToolBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12664 NONAME + _ZN8QToolBox25staticMetaObjectExtraDataE @ 12665 NONAME DATA 8 + _ZN9QCheckBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12666 NONAME + _ZN9QCheckBox25staticMetaObjectExtraDataE @ 12667 NONAME DATA 8 + _ZN9QComboBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12668 NONAME + _ZN9QComboBox25staticMetaObjectExtraDataE @ 12669 NONAME DATA 8 + _ZN9QDateEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12670 NONAME + _ZN9QDateEdit25staticMetaObjectExtraDataE @ 12671 NONAME DATA 8 + _ZN9QDirModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12672 NONAME + _ZN9QDirModel25staticMetaObjectExtraDataE @ 12673 NONAME DATA 8 + _ZN9QGroupBox18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12674 NONAME + _ZN9QGroupBox25staticMetaObjectExtraDataE @ 12675 NONAME DATA 8 + _ZN9QLineEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12676 NONAME + _ZN9QLineEdit18setCursorMoveStyleEN2Qt15CursorMoveStyleE @ 12677 NONAME + _ZN9QLineEdit25staticMetaObjectExtraDataE @ 12678 NONAME DATA 8 + _ZN9QListView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12679 NONAME + _ZN9QListView25staticMetaObjectExtraDataE @ 12680 NONAME DATA 8 + _ZN9QS60Style18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12681 NONAME + _ZN9QS60Style25staticMetaObjectExtraDataE @ 12682 NONAME DATA 8 + _ZN9QShortcut18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12683 NONAME + _ZN9QShortcut25staticMetaObjectExtraDataE @ 12684 NONAME DATA 8 + _ZN9QSizeGrip18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12685 NONAME + _ZN9QSizeGrip25staticMetaObjectExtraDataE @ 12686 NONAME DATA 8 + _ZN9QSplitter18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12687 NONAME + _ZN9QSplitter25staticMetaObjectExtraDataE @ 12688 NONAME DATA 8 + _ZN9QTextEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12689 NONAME + _ZN9QTextEdit25staticMetaObjectExtraDataE @ 12690 NONAME DATA 8 + _ZN9QTextList18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12691 NONAME + _ZN9QTextList25staticMetaObjectExtraDataE @ 12692 NONAME DATA 8 + _ZN9QTimeEdit18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12693 NONAME + _ZN9QTimeEdit25staticMetaObjectExtraDataE @ 12694 NONAME DATA 8 + _ZN9QTreeView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12695 NONAME + _ZN9QTreeView25staticMetaObjectExtraDataE @ 12696 NONAME DATA 8 + _ZN9QUndoView18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 12697 NONAME + _ZN9QUndoView25staticMetaObjectExtraDataE @ 12698 NONAME DATA 8 + _ZNK10QBlittable12capabilitiesEv @ 12699 NONAME + _ZNK10QBlittable4sizeEv @ 12700 NONAME + _ZNK10QTabWidget14heightForWidthEi @ 12701 NONAME + _ZNK10QZipWriter10isWritableEv @ 12702 NONAME + _ZNK10QZipWriter17compressionPolicyEv @ 12703 NONAME + _ZNK10QZipWriter19creationPermissionsEv @ 12704 NONAME + _ZNK10QZipWriter6deviceEv @ 12705 NONAME + _ZNK10QZipWriter6existsEv @ 12706 NONAME + _ZNK10QZipWriter6statusEv @ 12707 NONAME + _ZNK11QTextEngine19nextLogicalPositionEi @ 12708 NONAME + _ZNK11QTextEngine23previousLogicalPositionEi @ 12709 NONAME + _ZNK11QTextLayout15cursorMoveStyleEv @ 12710 NONAME + _ZNK11QTextLayout18leftCursorPositionEi @ 12711 NONAME + _ZNK11QTextLayout19rightCursorPositionEi @ 12712 NONAME + _ZNK12QFontMetrics10inFontUcs4Ej @ 12713 NONAME + _ZNK12QRadioButton15minimumSizeHintEv @ 12714 NONAME + _ZNK12QUndoCommand10actionTextEv @ 12715 NONAME + _ZNK13QFontDatabase9hasFamilyERK7QString @ 12716 NONAME + _ZNK13QFontMetricsF10inFontUcs4Ej @ 12717 NONAME + _ZNK13QTextDocument22defaultCursorMoveStyleEv @ 12718 NONAME + _ZNK14QFileOpenEvent8openFileER5QFile6QFlagsIN9QIODevice12OpenModeFlagEE @ 12719 NONAME + _ZNK14QPaintEngineEx23supportsTransformationsEfRK10QTransform @ 12720 NONAME + _ZNK14QWidgetPrivate17hasHeightForWidthEv @ 12721 NONAME + _ZNK14QWindowSurface8featuresEv @ 12722 NONAME + _ZNK15QRadialGradient11focalRadiusEv @ 12723 NONAME + _ZNK15QRadialGradient12centerRadiusEv @ 12724 NONAME + _ZNK16QFileSystemModel5rmdirERK11QModelIndex @ 12725 NONAME + _ZNK16QTreeViewPrivate10itemHeightEi @ 12726 NONAME + _ZNK16QTreeViewPrivate10modelIndexEii @ 12727 NONAME + _ZNK16QTreeViewPrivate12columnRangesERK11QModelIndexS2_ @ 12728 NONAME + _ZNK16QTreeViewPrivate16firstVisibleItemEPi @ 12729 NONAME + _ZNK16QTreeViewPrivate16itemAtCoordinateEi @ 12730 NONAME + _ZNK16QTreeViewPrivate16itemDecorationAtERK6QPoint @ 12731 NONAME + _ZNK16QTreeViewPrivate17coordinateForItemEi @ 12732 NONAME + _ZNK16QTreeViewPrivate18hasVisibleChildrenERK11QModelIndex @ 12733 NONAME + _ZNK16QTreeViewPrivate18indentationForItemEi @ 12734 NONAME + _ZNK16QTreeViewPrivate18itemDecorationRectERK11QModelIndex @ 12735 NONAME + _ZNK16QTreeViewPrivate18startAndEndColumnsERK5QRect @ 12736 NONAME + _ZNK16QTreeViewPrivate19draggablePaintPairsERK5QListI11QModelIndexEP5QRect @ 12737 NONAME + _ZNK16QTreeViewPrivate21drawAnimatedOperationEP8QPainter @ 12738 NONAME + _ZNK16QTreeViewPrivate25paintAlternatingRowColorsEP8QPainterP22QStyleOptionViewItemV4ii @ 12739 NONAME + _ZNK16QTreeViewPrivate30renderTreeToPixmapForAnimationERK5QRect @ 12740 NONAME + _ZNK16QTreeViewPrivate6pageUpEi @ 12741 NONAME + _ZNK16QTreeViewPrivate8columnAtEi @ 12742 NONAME + _ZNK16QTreeViewPrivate8pageDownEi @ 12743 NONAME + _ZNK16QTreeViewPrivate9viewIndexERK11QModelIndex @ 12744 NONAME + _ZNK17QInternalMimeData10metaObjectEv @ 12745 NONAME + _ZNK17QInternalMimeData12retrieveDataERK7QStringN8QVariant4TypeE @ 12746 NONAME + _ZNK17QInternalMimeData7formatsEv @ 12747 NONAME + _ZNK17QInternalMimeData9hasFormatERK7QString @ 12748 NONAME + _ZNK18QTextureGlyphCache18textureMapForGlyphEj6QFixed @ 12749 NONAME + _ZNK18QTextureGlyphCache20subPixelPositionForXE6QFixed @ 12750 NONAME + _ZNK18QTextureGlyphCache30calculateSubPixelPositionCountEj @ 12751 NONAME + _ZNK19QAbstractProxyModel11hasChildrenERK11QModelIndex @ 12752 NONAME + _ZNK19QAbstractProxyModel12canFetchMoreERK11QModelIndex @ 12753 NONAME + _ZNK19QAbstractProxyModel20supportedDropActionsEv @ 12754 NONAME + _ZNK19QAbstractProxyModel4spanERK11QModelIndex @ 12755 NONAME + _ZNK19QAbstractProxyModel5buddyERK11QModelIndex @ 12756 NONAME + _ZNK19QAbstractProxyModel8mimeDataERK5QListI11QModelIndexE @ 12757 NONAME + _ZNK19QAbstractProxyModel9mimeTypesEv @ 12758 NONAME + _ZNK19QBlitterPaintEngine11createStateEP13QPainterState @ 12759 NONAME + _ZNK19QIdentityProxyModel10metaObjectEv @ 12760 NONAME + _ZNK19QIdentityProxyModel11columnCountERK11QModelIndex @ 12761 NONAME + _ZNK19QIdentityProxyModel11mapToSourceERK11QModelIndex @ 12762 NONAME + _ZNK19QIdentityProxyModel13mapFromSourceERK11QModelIndex @ 12763 NONAME + _ZNK19QIdentityProxyModel20mapSelectionToSourceERK14QItemSelection @ 12764 NONAME + _ZNK19QIdentityProxyModel22mapSelectionFromSourceERK14QItemSelection @ 12765 NONAME + _ZNK19QIdentityProxyModel5indexEiiRK11QModelIndex @ 12766 NONAME + _ZNK19QIdentityProxyModel5matchERK11QModelIndexiRK8QVarianti6QFlagsIN2Qt9MatchFlagEE @ 12767 NONAME + _ZNK19QIdentityProxyModel6parentERK11QModelIndex @ 12768 NONAME + _ZNK19QIdentityProxyModel8rowCountERK11QModelIndex @ 12769 NONAME + _ZNK20QBlittablePixmapData11paintEngineEv @ 12770 NONAME + _ZNK20QBlittablePixmapData15hasAlphaChannelEv @ 12771 NONAME + _ZNK20QBlittablePixmapData6metricEN12QPaintDevice17PaintDeviceMetricE @ 12772 NONAME + _ZNK20QBlittablePixmapData7toImageEv @ 12773 NONAME + _ZNK20QBlittablePixmapData9blittableEv @ 12774 NONAME + _ZNK20QRasterWindowSurface8featuresEv @ 12775 NONAME + _ZNK5QFont17hintingPreferenceEv @ 12776 NONAME + _ZNK5QFont9styleNameEv @ 12777 NONAME + _ZNK8QMdiArea11tabsMovableEv @ 12778 NONAME + _ZNK8QMdiArea12tabsClosableEv @ 12779 NONAME + _ZNK8QPainter16clipBoundingRectEv @ 12780 NONAME + _ZNK9QCheckBox15minimumSizeHintEv @ 12781 NONAME + _ZNK9QFontInfo9styleNameEv @ 12782 NONAME + _ZNK9QLineEdit15cursorMoveStyleEv @ 12783 NONAME + _ZTI10QBlittable @ 12784 NONAME + _ZTI16QTreeViewPrivate @ 12785 NONAME + _ZTI17QInternalMimeData @ 12786 NONAME + _ZTI19QBlitterPaintEngine @ 12787 NONAME + _ZTI19QIdentityProxyModel @ 12788 NONAME + _ZTI20QBlittablePixmapData @ 12789 NONAME + _ZTV10QBlittable @ 12790 NONAME + _ZTV16QTreeViewPrivate @ 12791 NONAME + _ZTV17QInternalMimeData @ 12792 NONAME + _ZTV19QBlitterPaintEngine @ 12793 NONAME + _ZTV19QIdentityProxyModel @ 12794 NONAME + _ZTV20QBlittablePixmapData @ 12795 NONAME + _Zls6QDebugPK13QSymbianEvent @ 12796 NONAME diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def index 32c1b97..6e7dedd 100644 --- a/src/s60installs/eabi/QtNetworku.def +++ b/src/s60installs/eabi/QtNetworku.def @@ -1168,106 +1168,106 @@ EXPORTS _ZTV35QNetworkConfigurationManagerPrivate @ 1167 NONAME _ZThn8_N19QBearerEnginePluginD0Ev @ 1168 NONAME _ZThn8_N19QBearerEnginePluginD1Ev @ 1169 NONAME - _ZN10QUdpSocket18joinMulticastGroupERK12QHostAddress @ 1170 NONAME - _ZN10QUdpSocket18joinMulticastGroupERK12QHostAddressRK17QNetworkInterface @ 1171 NONAME - _ZN10QUdpSocket19leaveMulticastGroupERK12QHostAddress @ 1172 NONAME - _ZN10QUdpSocket19leaveMulticastGroupERK12QHostAddressRK17QNetworkInterface @ 1173 NONAME - _ZN10QUdpSocket21setMulticastInterfaceERK17QNetworkInterface @ 1174 NONAME - _ZN13QNetworkReply11setFinishedEb @ 1175 NONAME - _ZNK10QUdpSocket18multicastInterfaceEv @ 1176 NONAME - _ZNK35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1177 NONAME - _ZNK35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1178 NONAME - _ZNK35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1179 NONAME - _ZNK35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1180 NONAME - _ZNK35QNetworkConfigurationManagerPrivate7enginesEv @ 1181 NONAME - _ZNK35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1182 NONAME - _ZN10QSslSocket17setPeerVerifyNameERK7QString @ 1183 NONAME - _ZN22QNetworkSessionPrivate13nativeSessionER15QNetworkSession @ 1184 NONAME - _ZN22QNetworkSessionPrivate16nativeOpenSocketER15QNetworkSessionR7RSocketjjj @ 1185 NONAME - _ZN22QNetworkSessionPrivate22nativeOpenHostResolverER15QNetworkSessionR13RHostResolverjj @ 1186 NONAME - _ZNK10QSslSocket14peerVerifyNameEv @ 1187 NONAME - _ZN14QHttpMultiPart11qt_metacallEN11QMetaObject4CallEiPPv @ 1188 NONAME - _ZN14QHttpMultiPart11qt_metacastEPKc @ 1189 NONAME - _ZN14QHttpMultiPart11setBoundaryERK10QByteArray @ 1190 NONAME - _ZN14QHttpMultiPart14setContentTypeENS_11ContentTypeE @ 1191 NONAME - _ZN14QHttpMultiPart16staticMetaObjectE @ 1192 NONAME DATA 16 - _ZN14QHttpMultiPart19getStaticMetaObjectEv @ 1193 NONAME - _ZN14QHttpMultiPart6appendERK9QHttpPart @ 1194 NONAME - _ZN14QHttpMultiPartC1ENS_11ContentTypeEP7QObject @ 1195 NONAME - _ZN14QHttpMultiPartC1EP7QObject @ 1196 NONAME - _ZN14QHttpMultiPartC2ENS_11ContentTypeEP7QObject @ 1197 NONAME - _ZN14QHttpMultiPartC2EP7QObject @ 1198 NONAME - _ZN14QHttpMultiPartD0Ev @ 1199 NONAME - _ZN14QHttpMultiPartD1Ev @ 1200 NONAME - _ZN14QHttpMultiPartD2Ev @ 1201 NONAME - _ZN21QNetworkAccessManager3putERK15QNetworkRequestP14QHttpMultiPart @ 1202 NONAME - _ZN21QNetworkAccessManager4postERK15QNetworkRequestP14QHttpMultiPart @ 1203 NONAME - _ZN9QHttpPart12setRawHeaderERK10QByteArrayS2_ @ 1204 NONAME - _ZN9QHttpPart13setBodyDeviceEP9QIODevice @ 1205 NONAME - _ZN9QHttpPart7setBodyERK10QByteArray @ 1206 NONAME - _ZN9QHttpPart9setHeaderEN15QNetworkRequest12KnownHeadersERK8QVariant @ 1207 NONAME - _ZN9QHttpPartC1ERKS_ @ 1208 NONAME - _ZN9QHttpPartC1Ev @ 1209 NONAME - _ZN9QHttpPartC2ERKS_ @ 1210 NONAME - _ZN9QHttpPartC2Ev @ 1211 NONAME - _ZN9QHttpPartD1Ev @ 1212 NONAME - _ZN9QHttpPartD2Ev @ 1213 NONAME - _ZN9QHttpPartaSERKS_ @ 1214 NONAME - _ZNK14QHttpMultiPart10metaObjectEv @ 1215 NONAME - _ZNK14QHttpMultiPart8boundaryEv @ 1216 NONAME - _ZNK9QHttpParteqERKS_ @ 1217 NONAME - _ZTI14QHttpMultiPart @ 1218 NONAME - _ZTV14QHttpMultiPart @ 1219 NONAME - _ZN10QSslSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1220 NONAME - _ZN10QSslSocket25staticMetaObjectExtraDataE @ 1221 NONAME DATA 8 - _ZN10QTcpServer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1222 NONAME - _ZN10QTcpServer25staticMetaObjectExtraDataE @ 1223 NONAME DATA 8 - _ZN10QTcpSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1224 NONAME - _ZN10QTcpSocket25staticMetaObjectExtraDataE @ 1225 NONAME DATA 8 - _ZN10QUdpSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1226 NONAME - _ZN10QUdpSocket25staticMetaObjectExtraDataE @ 1227 NONAME DATA 8 - _ZN12QLocalServer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1228 NONAME - _ZN12QLocalServer25staticMetaObjectExtraDataE @ 1229 NONAME DATA 8 - _ZN12QLocalSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1230 NONAME - _ZN12QLocalSocket25staticMetaObjectExtraDataE @ 1231 NONAME DATA 8 - _ZN13QBearerEngine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1232 NONAME - _ZN13QBearerEngine25staticMetaObjectExtraDataE @ 1233 NONAME DATA 8 - _ZN13QNetworkReply18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1234 NONAME - _ZN13QNetworkReply25staticMetaObjectExtraDataE @ 1235 NONAME DATA 8 - _ZN14QHttpMultiPart18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1236 NONAME - _ZN14QHttpMultiPart25staticMetaObjectExtraDataE @ 1237 NONAME DATA 8 - _ZN15QAbstractSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1238 NONAME - _ZN15QAbstractSocket25staticMetaObjectExtraDataE @ 1239 NONAME DATA 8 - _ZN15QNetworkSession18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1240 NONAME - _ZN15QNetworkSession25staticMetaObjectExtraDataE @ 1241 NONAME DATA 8 - _ZN17QNetworkCookieJar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1242 NONAME - _ZN17QNetworkCookieJar25staticMetaObjectExtraDataE @ 1243 NONAME DATA 8 - _ZN17QNetworkDiskCache18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1244 NONAME - _ZN17QNetworkDiskCache25staticMetaObjectExtraDataE @ 1245 NONAME DATA 8 - _ZN19QBearerEnginePlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1246 NONAME - _ZN19QBearerEnginePlugin25staticMetaObjectExtraDataE @ 1247 NONAME DATA 8 - _ZN21QAbstractNetworkCache18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1248 NONAME - _ZN21QAbstractNetworkCache25staticMetaObjectExtraDataE @ 1249 NONAME DATA 8 - _ZN21QNetworkAccessManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1250 NONAME - _ZN21QNetworkAccessManager25staticMetaObjectExtraDataE @ 1251 NONAME DATA 8 - _ZN22QNetworkSessionPrivate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1252 NONAME - _ZN22QNetworkSessionPrivate25staticMetaObjectExtraDataE @ 1253 NONAME DATA 8 - _ZN28QNetworkConfigurationManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1254 NONAME - _ZN28QNetworkConfigurationManager25staticMetaObjectExtraDataE @ 1255 NONAME DATA 8 - _ZN35QNetworkConfigurationManagerPrivate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1256 NONAME - _ZN35QNetworkConfigurationManagerPrivate25staticMetaObjectExtraDataE @ 1257 NONAME DATA 8 - _ZN4QFtp18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1258 NONAME - _ZN4QFtp25staticMetaObjectExtraDataE @ 1259 NONAME DATA 8 - _ZN5QHttp18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1260 NONAME - _ZN5QHttp25staticMetaObjectExtraDataE @ 1261 NONAME DATA 8 - _ZN18QNetworkProxyQuery23setNetworkConfigurationERK21QNetworkConfiguration @ 1262 NONAME - _ZN18QNetworkProxyQueryC1ERK21QNetworkConfigurationRK4QUrlNS_9QueryTypeE @ 1263 NONAME - _ZN18QNetworkProxyQueryC1ERK21QNetworkConfigurationRK7QStringiS5_NS_9QueryTypeE @ 1264 NONAME - _ZN18QNetworkProxyQueryC1ERK21QNetworkConfigurationtRK7QStringNS_9QueryTypeE @ 1265 NONAME - _ZN18QNetworkProxyQueryC2ERK21QNetworkConfigurationRK4QUrlNS_9QueryTypeE @ 1266 NONAME - _ZN18QNetworkProxyQueryC2ERK21QNetworkConfigurationRK7QStringiS5_NS_9QueryTypeE @ 1267 NONAME - _ZN18QNetworkProxyQueryC2ERK21QNetworkConfigurationtRK7QStringNS_9QueryTypeE @ 1268 NONAME - _ZNK18QNetworkProxyQuery20networkConfigurationEv @ 1269 NONAME - _ZN35QNetworkConfigurationManagerPrivate10initializeEv @ 1270 NONAME - _ZN35QNetworkConfigurationManagerPrivate7cleanupEv @ 1271 NONAME + _ZN10QSslSocket17setPeerVerifyNameERK7QString @ 1170 NONAME + _ZN10QSslSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1171 NONAME + _ZN10QSslSocket25staticMetaObjectExtraDataE @ 1172 NONAME DATA 8 + _ZN10QTcpServer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1173 NONAME + _ZN10QTcpServer25staticMetaObjectExtraDataE @ 1174 NONAME DATA 8 + _ZN10QTcpSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1175 NONAME + _ZN10QTcpSocket25staticMetaObjectExtraDataE @ 1176 NONAME DATA 8 + _ZN10QUdpSocket18joinMulticastGroupERK12QHostAddress @ 1177 NONAME + _ZN10QUdpSocket18joinMulticastGroupERK12QHostAddressRK17QNetworkInterface @ 1178 NONAME + _ZN10QUdpSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1179 NONAME + _ZN10QUdpSocket19leaveMulticastGroupERK12QHostAddress @ 1180 NONAME + _ZN10QUdpSocket19leaveMulticastGroupERK12QHostAddressRK17QNetworkInterface @ 1181 NONAME + _ZN10QUdpSocket21setMulticastInterfaceERK17QNetworkInterface @ 1182 NONAME + _ZN10QUdpSocket25staticMetaObjectExtraDataE @ 1183 NONAME DATA 8 + _ZN12QLocalServer18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1184 NONAME + _ZN12QLocalServer25staticMetaObjectExtraDataE @ 1185 NONAME DATA 8 + _ZN12QLocalSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1186 NONAME + _ZN12QLocalSocket25staticMetaObjectExtraDataE @ 1187 NONAME DATA 8 + _ZN13QBearerEngine18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1188 NONAME + _ZN13QBearerEngine25staticMetaObjectExtraDataE @ 1189 NONAME DATA 8 + _ZN13QNetworkReply11setFinishedEb @ 1190 NONAME + _ZN13QNetworkReply18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1191 NONAME + _ZN13QNetworkReply25staticMetaObjectExtraDataE @ 1192 NONAME DATA 8 + _ZN14QHttpMultiPart11qt_metacallEN11QMetaObject4CallEiPPv @ 1193 NONAME + _ZN14QHttpMultiPart11qt_metacastEPKc @ 1194 NONAME + _ZN14QHttpMultiPart11setBoundaryERK10QByteArray @ 1195 NONAME + _ZN14QHttpMultiPart14setContentTypeENS_11ContentTypeE @ 1196 NONAME + _ZN14QHttpMultiPart16staticMetaObjectE @ 1197 NONAME DATA 16 + _ZN14QHttpMultiPart18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1198 NONAME + _ZN14QHttpMultiPart19getStaticMetaObjectEv @ 1199 NONAME + _ZN14QHttpMultiPart25staticMetaObjectExtraDataE @ 1200 NONAME DATA 8 + _ZN14QHttpMultiPart6appendERK9QHttpPart @ 1201 NONAME + _ZN14QHttpMultiPartC1ENS_11ContentTypeEP7QObject @ 1202 NONAME + _ZN14QHttpMultiPartC1EP7QObject @ 1203 NONAME + _ZN14QHttpMultiPartC2ENS_11ContentTypeEP7QObject @ 1204 NONAME + _ZN14QHttpMultiPartC2EP7QObject @ 1205 NONAME + _ZN14QHttpMultiPartD0Ev @ 1206 NONAME + _ZN14QHttpMultiPartD1Ev @ 1207 NONAME + _ZN14QHttpMultiPartD2Ev @ 1208 NONAME + _ZN15QAbstractSocket18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1209 NONAME + _ZN15QAbstractSocket25staticMetaObjectExtraDataE @ 1210 NONAME DATA 8 + _ZN15QNetworkSession18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1211 NONAME + _ZN15QNetworkSession25staticMetaObjectExtraDataE @ 1212 NONAME DATA 8 + _ZN17QNetworkCookieJar18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1213 NONAME + _ZN17QNetworkCookieJar25staticMetaObjectExtraDataE @ 1214 NONAME DATA 8 + _ZN17QNetworkDiskCache18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1215 NONAME + _ZN17QNetworkDiskCache25staticMetaObjectExtraDataE @ 1216 NONAME DATA 8 + _ZN18QNetworkProxyQuery23setNetworkConfigurationERK21QNetworkConfiguration @ 1217 NONAME + _ZN18QNetworkProxyQueryC1ERK21QNetworkConfigurationRK4QUrlNS_9QueryTypeE @ 1218 NONAME + _ZN18QNetworkProxyQueryC1ERK21QNetworkConfigurationRK7QStringiS5_NS_9QueryTypeE @ 1219 NONAME + _ZN18QNetworkProxyQueryC1ERK21QNetworkConfigurationtRK7QStringNS_9QueryTypeE @ 1220 NONAME + _ZN18QNetworkProxyQueryC2ERK21QNetworkConfigurationRK4QUrlNS_9QueryTypeE @ 1221 NONAME + _ZN18QNetworkProxyQueryC2ERK21QNetworkConfigurationRK7QStringiS5_NS_9QueryTypeE @ 1222 NONAME + _ZN18QNetworkProxyQueryC2ERK21QNetworkConfigurationtRK7QStringNS_9QueryTypeE @ 1223 NONAME + _ZN19QBearerEnginePlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1224 NONAME + _ZN19QBearerEnginePlugin25staticMetaObjectExtraDataE @ 1225 NONAME DATA 8 + _ZN21QAbstractNetworkCache18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1226 NONAME + _ZN21QAbstractNetworkCache25staticMetaObjectExtraDataE @ 1227 NONAME DATA 8 + _ZN21QNetworkAccessManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1228 NONAME + _ZN21QNetworkAccessManager25staticMetaObjectExtraDataE @ 1229 NONAME DATA 8 + _ZN21QNetworkAccessManager3putERK15QNetworkRequestP14QHttpMultiPart @ 1230 NONAME + _ZN21QNetworkAccessManager4postERK15QNetworkRequestP14QHttpMultiPart @ 1231 NONAME + _ZN22QNetworkSessionPrivate13nativeSessionER15QNetworkSession @ 1232 NONAME + _ZN22QNetworkSessionPrivate16nativeOpenSocketER15QNetworkSessionR7RSocketjjj @ 1233 NONAME + _ZN22QNetworkSessionPrivate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1234 NONAME + _ZN22QNetworkSessionPrivate22nativeOpenHostResolverER15QNetworkSessionR13RHostResolverjj @ 1235 NONAME + _ZN22QNetworkSessionPrivate25staticMetaObjectExtraDataE @ 1236 NONAME DATA 8 + _ZN28QNetworkConfigurationManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1237 NONAME + _ZN28QNetworkConfigurationManager25staticMetaObjectExtraDataE @ 1238 NONAME DATA 8 + _ZN35QNetworkConfigurationManagerPrivate10initializeEv @ 1239 NONAME + _ZN35QNetworkConfigurationManagerPrivate18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1240 NONAME + _ZN35QNetworkConfigurationManagerPrivate25staticMetaObjectExtraDataE @ 1241 NONAME DATA 8 + _ZN35QNetworkConfigurationManagerPrivate7cleanupEv @ 1242 NONAME + _ZN4QFtp18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1243 NONAME + _ZN4QFtp25staticMetaObjectExtraDataE @ 1244 NONAME DATA 8 + _ZN5QHttp18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 1245 NONAME + _ZN5QHttp25staticMetaObjectExtraDataE @ 1246 NONAME DATA 8 + _ZN9QHttpPart12setRawHeaderERK10QByteArrayS2_ @ 1247 NONAME + _ZN9QHttpPart13setBodyDeviceEP9QIODevice @ 1248 NONAME + _ZN9QHttpPart7setBodyERK10QByteArray @ 1249 NONAME + _ZN9QHttpPart9setHeaderEN15QNetworkRequest12KnownHeadersERK8QVariant @ 1250 NONAME + _ZN9QHttpPartC1ERKS_ @ 1251 NONAME + _ZN9QHttpPartC1Ev @ 1252 NONAME + _ZN9QHttpPartC2ERKS_ @ 1253 NONAME + _ZN9QHttpPartC2Ev @ 1254 NONAME + _ZN9QHttpPartD1Ev @ 1255 NONAME + _ZN9QHttpPartD2Ev @ 1256 NONAME + _ZN9QHttpPartaSERKS_ @ 1257 NONAME + _ZNK10QSslSocket14peerVerifyNameEv @ 1258 NONAME + _ZNK10QUdpSocket18multicastInterfaceEv @ 1259 NONAME + _ZNK14QHttpMultiPart10metaObjectEv @ 1260 NONAME + _ZNK14QHttpMultiPart8boundaryEv @ 1261 NONAME + _ZNK18QNetworkProxyQuery20networkConfigurationEv @ 1262 NONAME + _ZNK35QNetworkConfigurationManagerPrivate12capabilitiesEv @ 1263 NONAME + _ZNK35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1264 NONAME + _ZNK35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1265 NONAME + _ZNK35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1266 NONAME + _ZNK35QNetworkConfigurationManagerPrivate7enginesEv @ 1267 NONAME + _ZNK35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1268 NONAME + _ZNK9QHttpParteqERKS_ @ 1269 NONAME + _ZTI14QHttpMultiPart @ 1270 NONAME + _ZTV14QHttpMultiPart @ 1271 NONAME diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def index ad33f9c..2d9aa8f 100644 --- a/src/s60installs/eabi/QtOpenGLu.def +++ b/src/s60installs/eabi/QtOpenGLu.def @@ -727,60 +727,59 @@ EXPORTS _ZN17QGLGraphicsSystem17platformExtensionEv @ 726 NONAME _ZN17QGLGraphicsSystem25releaseCachedGpuResourcesEv @ 727 NONAME _ZThn4_N17QGLGraphicsSystem25releaseCachedGpuResourcesEv @ 728 NONAME - _ZN12QGLFunctionsC1Ev @ 729 NONAME - _ZN12QGLFunctionsC2EPK10QGLContext @ 730 NONAME - _ZN12QGLFunctionsC2Ev @ 731 NONAME - _ZN17QGLContextPrivate17qt_extensionFuncsE @ 732 NONAME DATA 60 - _ZN20QGLTextureGlyphCache10setContextEPK10QGLContext @ 733 NONAME - _ZN20QGLTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj6QFixed @ 734 NONAME - _ZN20QGLTextureGlyphCacheC1EPK10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 735 NONAME - _ZN20QGLTextureGlyphCacheC2EPK10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 736 NONAME - _ZN22QGLEngineSharedShaders15qShaderSnippetsE @ 737 NONAME DATA 216 - _ZN22QGLEngineSharedShaders16staticMetaObjectE @ 738 NONAME DATA 16 - _ZN22QGLEngineSharedShaders17shadersForContextEPK10QGLContext @ 739 NONAME - _ZN22QGLEngineSharedShaders18cleanupCustomStageEP20QGLCustomShaderStage @ 740 NONAME - _ZN22QGLEngineSharedShaders18findProgramInCacheERK19QGLEngineShaderProg @ 741 NONAME - _ZN22QGLEngineSharedShaders19getStaticMetaObjectEv @ 742 NONAME - _ZN22QGLEngineSharedShadersC1EPK10QGLContext @ 743 NONAME - _ZN22QGLEngineSharedShadersC2EPK10QGLContext @ 744 NONAME - _ZN22QGLEngineSharedShadersD1Ev @ 745 NONAME - _ZN22QGLEngineSharedShadersD2Ev @ 746 NONAME - _ZN26QGLFramebufferObjectFormat9setMipmapEb @ 747 NONAME - _ZN27QGLContextGroupResourceBase5valueEPK10QGLContext @ 748 NONAME - _ZN27QGLContextGroupResourceBase6insertEPK10QGLContextPv @ 749 NONAME - _ZN27QGLContextGroupResourceBase7cleanupEPK10QGLContext @ 750 NONAME - _ZN27QGLContextGroupResourceBase7cleanupEPK10QGLContextPv @ 751 NONAME - _ZN27QGLContextGroupResourceBaseC2Ev @ 752 NONAME - _ZN27QGLContextGroupResourceBaseD0Ev @ 753 NONAME - _ZN27QGLContextGroupResourceBaseD1Ev @ 754 NONAME - _ZN27QGLContextGroupResourceBaseD2Ev @ 755 NONAME - _ZNK12QGLFunctions14openGLFeaturesEv @ 756 NONAME - _ZNK12QGLFunctions16hasOpenGLFeatureENS_13OpenGLFeatureE @ 757 NONAME - _ZNK14QGLPaintDevice9isFlippedEv @ 758 NONAME - _ZNK16QGLWindowSurface8featuresEv @ 759 NONAME - _ZNK26QGLFramebufferObjectFormat6mipmapEv @ 760 NONAME - _ZTI22QGLContextResourceBase @ 761 NONAME ABSENT - _ZTI27QGLContextGroupResourceBase @ 762 NONAME ABSENT - _ZTV22QGLContextResourceBase @ 763 NONAME ABSENT - _ZTV27QGLContextGroupResourceBase @ 764 NONAME ABSENT - _ZThn104_N20QGLTextureGlyphCacheD0Ev @ 765 NONAME - _ZThn104_N20QGLTextureGlyphCacheD1Ev @ 766 NONAME - _ZThn8_NK16QGLWindowSurface8featuresEv @ 767 NONAME - _ZN14QGLSignalProxy18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 768 NONAME - _ZN14QGLSignalProxy25staticMetaObjectExtraDataE @ 769 NONAME DATA 8 - _ZN16QGLShaderProgram18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 770 NONAME - _ZN16QGLShaderProgram25staticMetaObjectExtraDataE @ 771 NONAME DATA 8 - _ZN16QGLWindowSurface18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 772 NONAME - _ZN16QGLWindowSurface25staticMetaObjectExtraDataE @ 773 NONAME DATA 8 - _ZN21QGraphicsShaderEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 774 NONAME - _ZN21QGraphicsShaderEffect25staticMetaObjectExtraDataE @ 775 NONAME DATA 8 - _ZN22QGLEngineShaderManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 776 NONAME - _ZN22QGLEngineShaderManager25staticMetaObjectExtraDataE @ 777 NONAME DATA 8 - _ZN9QGLShader18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 778 NONAME - _ZN9QGLShader25staticMetaObjectExtraDataE @ 779 NONAME DATA 8 - _ZN9QGLWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 780 NONAME - _ZN9QGLWidget25staticMetaObjectExtraDataE @ 781 NONAME DATA 8 - _Z28qt_resolve_buffer_extensionsP10QGLContext @ 782 NONAME - _ZN12QGLFunctions21initializeGLFunctionsEPK10QGLContext @ 783 NONAME - _ZN12QGLFunctionsC1EPK10QGLContext @ 784 NONAME + _Z28qt_resolve_buffer_extensionsP10QGLContext @ 729 NONAME + _ZN12QGLFunctions21initializeGLFunctionsEPK10QGLContext @ 730 NONAME + _ZN12QGLFunctionsC1EPK10QGLContext @ 731 NONAME + _ZN12QGLFunctionsC1Ev @ 732 NONAME + _ZN12QGLFunctionsC2EPK10QGLContext @ 733 NONAME + _ZN12QGLFunctionsC2Ev @ 734 NONAME + _ZN14QGLSignalProxy18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 735 NONAME + _ZN14QGLSignalProxy25staticMetaObjectExtraDataE @ 736 NONAME DATA 8 + _ZN16QGLShaderProgram18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 737 NONAME + _ZN16QGLShaderProgram25staticMetaObjectExtraDataE @ 738 NONAME DATA 8 + _ZN16QGLWindowSurface18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 739 NONAME + _ZN16QGLWindowSurface25staticMetaObjectExtraDataE @ 740 NONAME DATA 8 + _ZN17QGL2PaintEngineEx19drawPixmapFragmentsEPK6QRectFS2_iRK7QPixmap6QFlagsIN8QPainter18PixmapFragmentHintEE @ 741 NONAME + _ZN17QGLContextPrivate17qt_extensionFuncsE @ 742 NONAME DATA 64 + _ZN20QGLTextureGlyphCache10setContextEPK10QGLContext @ 743 NONAME + _ZN20QGLTextureGlyphCache11fillTextureERKN18QTextureGlyphCache5CoordEj6QFixed @ 744 NONAME + _ZN20QGLTextureGlyphCacheC1EPK10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 745 NONAME + _ZN20QGLTextureGlyphCacheC2EPK10QGLContextN21QFontEngineGlyphCache4TypeERK10QTransform @ 746 NONAME + _ZN21QGraphicsShaderEffect18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 747 NONAME + _ZN21QGraphicsShaderEffect25staticMetaObjectExtraDataE @ 748 NONAME DATA 8 + _ZN22QGLEngineShaderManager18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 749 NONAME + _ZN22QGLEngineShaderManager25staticMetaObjectExtraDataE @ 750 NONAME DATA 8 + _ZN22QGLEngineSharedShaders15qShaderSnippetsE @ 751 NONAME DATA 216 + _ZN22QGLEngineSharedShaders16staticMetaObjectE @ 752 NONAME DATA 16 + _ZN22QGLEngineSharedShaders17shadersForContextEPK10QGLContext @ 753 NONAME + _ZN22QGLEngineSharedShaders18cleanupCustomStageEP20QGLCustomShaderStage @ 754 NONAME + _ZN22QGLEngineSharedShaders18findProgramInCacheERK19QGLEngineShaderProg @ 755 NONAME + _ZN22QGLEngineSharedShaders19getStaticMetaObjectEv @ 756 NONAME + _ZN22QGLEngineSharedShadersC1EPK10QGLContext @ 757 NONAME + _ZN22QGLEngineSharedShadersC2EPK10QGLContext @ 758 NONAME + _ZN22QGLEngineSharedShadersD1Ev @ 759 NONAME + _ZN22QGLEngineSharedShadersD2Ev @ 760 NONAME + _ZN26QGLFramebufferObjectFormat9setMipmapEb @ 761 NONAME + _ZN27QGLContextGroupResourceBase5valueEPK10QGLContext @ 762 NONAME + _ZN27QGLContextGroupResourceBase6insertEPK10QGLContextPv @ 763 NONAME + _ZN27QGLContextGroupResourceBase7cleanupEPK10QGLContext @ 764 NONAME + _ZN27QGLContextGroupResourceBase7cleanupEPK10QGLContextPv @ 765 NONAME + _ZN27QGLContextGroupResourceBaseC2Ev @ 766 NONAME + _ZN27QGLContextGroupResourceBaseD0Ev @ 767 NONAME + _ZN27QGLContextGroupResourceBaseD1Ev @ 768 NONAME + _ZN27QGLContextGroupResourceBaseD2Ev @ 769 NONAME + _ZN9QGLShader18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 770 NONAME + _ZN9QGLShader25staticMetaObjectExtraDataE @ 771 NONAME DATA 8 + _ZN9QGLWidget18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 772 NONAME + _ZN9QGLWidget25staticMetaObjectExtraDataE @ 773 NONAME DATA 8 + _ZNK12QGLFunctions14openGLFeaturesEv @ 774 NONAME + _ZNK12QGLFunctions16hasOpenGLFeatureENS_13OpenGLFeatureE @ 775 NONAME + _ZNK14QGLPaintDevice9isFlippedEv @ 776 NONAME + _ZNK16QGLWindowSurface8featuresEv @ 777 NONAME + _ZNK26QGLFramebufferObjectFormat6mipmapEv @ 778 NONAME + _ZTI27QGLContextGroupResourceBase @ 779 NONAME + _ZTV27QGLContextGroupResourceBase @ 780 NONAME + _ZThn104_N20QGLTextureGlyphCacheD0Ev @ 781 NONAME + _ZThn104_N20QGLTextureGlyphCacheD1Ev @ 782 NONAME + _ZThn8_NK16QGLWindowSurface8featuresEv @ 783 NONAME diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def index 7e1d7fa..a66df98 100644 --- a/src/s60installs/eabi/QtOpenVGu.def +++ b/src/s60installs/eabi/QtOpenVGu.def @@ -216,3 +216,4 @@ EXPORTS _ZN13QVGPixmapData12forceToImageEb @ 215 NONAME _ZNK13QVGPixmapData15toVolatileImageEv @ 216 NONAME _ZNK16QVGWindowSurface8featuresEv @ 217 NONAME + diff --git a/src/s60installs/eabi/QtSqlu.def b/src/s60installs/eabi/QtSqlu.def index 4867d10..def8601 100644 --- a/src/s60installs/eabi/QtSqlu.def +++ b/src/s60installs/eabi/QtSqlu.def @@ -475,7 +475,7 @@ EXPORTS _ZN14QSqlTableModel25staticMetaObjectExtraDataE @ 474 NONAME DATA 8 _ZN16QSqlDriverPlugin18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 475 NONAME _ZN16QSqlDriverPlugin25staticMetaObjectExtraDataE @ 476 NONAME DATA 8 - _ZN24QSqlRelationalTableModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 477 NONAME - _ZN24QSqlRelationalTableModel25staticMetaObjectExtraDataE @ 478 NONAME DATA 8 - _ZN24QSqlRelationalTableModel11setJoinModeENS_8JoinModeE @ 479 NONAME + _ZN24QSqlRelationalTableModel11setJoinModeENS_8JoinModeE @ 477 NONAME + _ZN24QSqlRelationalTableModel18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 478 NONAME + _ZN24QSqlRelationalTableModel25staticMetaObjectExtraDataE @ 479 NONAME DATA 8 diff --git a/src/s60installs/eabi/QtTestu.def b/src/s60installs/eabi/QtTestu.def index 454292c..af0d4b4 100644 --- a/src/s60installs/eabi/QtTestu.def +++ b/src/s60installs/eabi/QtTestu.def @@ -163,8 +163,8 @@ EXPORTS _ZNK10QTestTable7isEmptyEv @ 162 NONAME _ZNK10QTestTable8testDataEi @ 163 NONAME _ZNK10QTestTable9dataCountEv @ 164 NONAME - _ZN8QTestLog12startLoggingEj @ 165 NONAME - _ZN14QTestEventLoop18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 166 NONAME - _ZN14QTestEventLoop25staticMetaObjectExtraDataE @ 167 NONAME DATA 8 - _ZN5QTest18printAvailableTagsE @ 168 NONAME DATA 1 + _ZN14QTestEventLoop18qt_static_metacallEP7QObjectN11QMetaObject4CallEiPPv @ 165 NONAME + _ZN14QTestEventLoop25staticMetaObjectExtraDataE @ 166 NONAME DATA 8 + _ZN5QTest18printAvailableTagsE @ 167 NONAME DATA 1 + _ZN8QTestLog12startLoggingEj @ 168 NONAME -- cgit v0.12 From c9b243870d21f1070b073faf7e9df524fc3f123a Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Wed, 31 Aug 2011 09:50:34 +0300 Subject: Improve robustness of QS60Style when creating native theme bitmaps Three robustness improvements: a) When doing a compatibility check for a style part, make check always pass if the part is supported by all platform versions. b) Re-attempt icon creation without a mask, if creation with mask fails. c) Paint theme background with white (instead of just giving up) in error cases. Task-number: QTBUG-21119 Reviewed-by: Miikka Heikkinen --- src/gui/styles/qs60style_s60.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index 33619d6..489ad09 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -929,6 +929,16 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX( fallbackGraphicID , fallbackGraphicsMaskID); + // If drawing fails, re-try without a mask. + if (!icon) { + AknsUtils::CreateIconL( + skinInstance, + skinId, + icon, + (fallbackGraphicID != KErrNotFound ? AknIconUtils::AvkonIconFileName() : KNullDesC), + fallbackGraphicID); + } + result = fromFbsBitmap(icon, iconMask, flags, targetSize); delete icon; delete iconMask; @@ -961,9 +971,14 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX( targetSize, drawParam); - if (drawn) + if (drawn) { result = fromFbsBitmap(background, NULL, flags, targetSize); - // if drawing fails in skin server, just ignore the background (probably OOM case) + } else { + // if drawing fails in skin server, draw background as white + QPixmap defaultBg = QPixmap(targetSize.iWidth, targetSize.iHeight); + defaultBg.fill(Qt::white); + result = defaultBg; + } CleanupStack::PopAndDestroy(4, background); //background, dev, gc, bgContext // QS60WindowSurface::lockBitmapHeap(); @@ -1225,6 +1240,9 @@ TRect QS60StyleModeSpecifics::innerRectFromElement(QS60StylePrivate::SkinFrameEl bool QS60StyleModeSpecifics::checkSupport(const int supportedRelease) { + if (supportedRelease == ES60_All) + return true; + const QSysInfo::S60Version currentRelease = QSysInfo::s60Version(); return ( (currentRelease == QSysInfo::SV_S60_3_1 && supportedRelease & ES60_3_1) || (currentRelease == QSysInfo::SV_S60_3_2 && supportedRelease & ES60_3_2) || -- cgit v0.12 From 1673d9965a6caaa8356819140747df5d31252d2e Mon Sep 17 00:00:00 2001 From: Tomi Vihria Date: Wed, 31 Aug 2011 10:57:27 +0300 Subject: Append missing export to GtGui def files for Symbian Reviewed-by: TrustMe --- src/s60installs/bwins/QtGuiu.def | 1 + src/s60installs/eabi/QtGuiu.def | 1 + 2 files changed, 2 insertions(+) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index 7ee3843..3649b10 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -13982,4 +13982,5 @@ EXPORTS ?qt_static_metacall@QGraphicsWidget@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13981 NONAME ; void QGraphicsWidget::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) ?qt_static_metacall@QShortcut@@CAXPAVQObject@@W4Call@QMetaObject@@HPAPAX@Z @ 13982 NONAME ; void QShortcut::qt_static_metacall(class QObject *, enum QMetaObject::Call, int, void * *) ?endOfLine@QTextEngine@@AAEHH@Z @ 13983 NONAME ; int QTextEngine::endOfLine(int) + ?queryKeyboardModifiers@QApplication@@SA?AV?$QFlags@W4KeyboardModifier@Qt@@@@XZ @ 13984 NONAME ; class QFlags QApplication::queryKeyboardModifiers(void) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 7de6ccf..d97eff1 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -12795,4 +12795,5 @@ EXPORTS _ZTV19QIdentityProxyModel @ 12794 NONAME _ZTV20QBlittablePixmapData @ 12795 NONAME _Zls6QDebugPK13QSymbianEvent @ 12796 NONAME + _ZN12QApplication22queryKeyboardModifiersEv @ 12797 NONAME -- cgit v0.12 From 298d7a2032c0c6de06c82afc8e9f7356cb5d7840 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Thu, 11 Aug 2011 13:58:23 +0100 Subject: Prevent leakage of native window handles On Symbian, reparenting a native widget causes its native window, and those of all its ancestors, to be destroyed and recreated. Because native window handles cannot be destroyed from the context of CONE event handlers, the destruction is delayed until after control flow returns to the event loop (see QTBUG-4664). However, the pending-destruction native windows are leaked if either of the following happens: a) The application never returns to the event loop. While unlikely in a real app, this situation does happen in Qt autotests, causing a crash in tst_qwidget due to leakage from tst_QWidget::reparentCausesChildWinIdChange(). b) A subsequent reparenting event occurs before control returns to the event loop. This patch prevents the leak by storing the pending-destruction native window handle(s) in a member QList, rather than on the stack as parameters to QWidgetPrivate::_q_delayedDestroy(WId). Task-number: QT-5135 Reviewed-by: Jani Hautakangas --- src/gui/kernel/qwidget.cpp | 10 ++++++++-- src/gui/kernel/qwidget.h | 2 +- src/gui/kernel/qwidget_p.h | 3 ++- src/gui/kernel/qwidget_s60.cpp | 8 +++----- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp index ac8e690..8e8266c 100644 --- a/src/gui/kernel/qwidget.cpp +++ b/src/gui/kernel/qwidget.cpp @@ -334,6 +334,10 @@ QWidgetPrivate::QWidgetPrivate(int version) QWidgetPrivate::~QWidgetPrivate() { +#ifdef Q_OS_SYMBIAN + _q_cleanupWinIds(); +#endif + if (widgetItem) widgetItem->wid = 0; @@ -12561,9 +12565,11 @@ void QWidget::clearMask() */ #ifdef Q_OS_SYMBIAN -void QWidgetPrivate::_q_delayedDestroy(WId winId) +void QWidgetPrivate::_q_cleanupWinIds() { - delete winId; + foreach (WId wid, widCleanupList) + delete wid; + widCleanupList.clear(); } #endif diff --git a/src/gui/kernel/qwidget.h b/src/gui/kernel/qwidget.h index 2c89405..2f8545e 100644 --- a/src/gui/kernel/qwidget.h +++ b/src/gui/kernel/qwidget.h @@ -787,7 +787,7 @@ private: Q_DISABLE_COPY(QWidget) Q_PRIVATE_SLOT(d_func(), void _q_showIfNotHidden()) #ifdef Q_OS_SYMBIAN - Q_PRIVATE_SLOT(d_func(), void _q_delayedDestroy(WId winId)) + Q_PRIVATE_SLOT(d_func(), void void _q_cleanupWinIds()) #endif QWidgetData *data; diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index c00b8ed..e30497c 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -409,7 +409,7 @@ public: #ifdef Q_OS_SYMBIAN void setSoftKeys_sys(const QList &softkeys); void activateSymbianWindow(WId wid = 0); - void _q_delayedDestroy(WId winId); + void _q_cleanupWinIds(); #endif void raise_sys(); @@ -889,6 +889,7 @@ public: void s60UpdateIsOpaque(); void reparentChildren(); void registerTouchWindow(); + QList widCleanupList; #endif }; diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 5630706..3c2d63c 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -58,9 +58,7 @@ #endif // This is necessary in order to be able to perform delayed invocation on slots -// which take arguments of type WId. One example is -// QWidgetPrivate::_q_delayedDestroy, which is used to delay destruction of -// CCoeControl objects until after the CONE event handler has finished running. +// which take arguments of type WId. Q_DECLARE_METATYPE(WId) // Workaround for the fact that S60 SDKs 3.x do not contain the akntoolbar.h @@ -476,8 +474,8 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de // Delay deletion of the control in case this function is called in the // context of a CONE event handler such as // CCoeControl::ProcessPointerEventL - QMetaObject::invokeMethod(q, "_q_delayedDestroy", - Qt::QueuedConnection, Q_ARG(WId, destroyw)); + widCleanupList << destroyw; + QMetaObject::invokeMethod(q, "_q_cleanupWinIds", Qt::QueuedConnection); } if (q->testAttribute(Qt::WA_AcceptTouchEvents)) -- cgit v0.12 From 3d23d79ce125f596333bc00236085eccfcbd9537 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Wed, 31 Aug 2011 12:21:15 +0300 Subject: If automatic translation of input widget is off, skip reset If there is an existing transformataion in use and application has indicated that it won't use automatic translation of input widget when using spliview, do not reset the transformation as this will also remove the original transformation. Task-number: QT-5225 Reviewed-by: Miikka Heikkinen --- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index c3d293b..c656418 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -473,7 +473,7 @@ void QCoeFepInputContext::resetSplitViewWidget(bool keepInputWidget) windowToMove->setUpdatesEnabled(false); if (!alwaysResize) { - if (gv->scene()) { + if (gv->scene() && S60->partial_keyboardAutoTranslation) { if (gv->scene()->focusItem()) { // Check if the widget contains cursorPositionChanged signal and disconnect from it. QByteArray signal = QMetaObject::normalizedSignature(SIGNAL(cursorPositionChanged())); -- cgit v0.12 From 75170711a3486384ca3d66563c4b011a2505af39 Mon Sep 17 00:00:00 2001 From: Peter Grasch Date: Wed, 31 Aug 2011 11:31:59 +0200 Subject: Introducing --address parameter to qdbus Merge-request: 1363 Reviewed-by: Frederik Gladhorn --- tools/qdbus/qdbus/qdbus.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/qdbus/qdbus/qdbus.cpp b/tools/qdbus/qdbus/qdbus.cpp index 14b4b9e..4e90418 100644 --- a/tools/qdbus/qdbus/qdbus.cpp +++ b/tools/qdbus/qdbus/qdbus.cpp @@ -59,7 +59,7 @@ static bool printArgumentsLiterally = false; static void showUsage() { - printf("Usage: qdbus [--system] [--literal] [servicename] [path] [method] [args]\n" + printf("Usage: qdbus [--system | --address ADDRESS] [--literal] [servicename] [path] [method] [args]\n" "\n" " servicename the service to connect to (e.g., org.freedesktop.DBus)\n" " path the path to the object (e.g., /)\n" @@ -71,6 +71,7 @@ static void showUsage() "\n" "Options:\n" " --system connect to the system bus\n" + " --address ADDRESS connect to the given bus\n" " --literal print replies literally\n"); } @@ -454,6 +455,10 @@ int main(int argc, char **argv) if (arg == QLatin1String("--system")) { connection = QDBusConnection::systemBus(); connectionOpened = true; + } else + if (arg == QLatin1String("--address")) { + connection = QDBusConnection::connectToBus(args.takeFirst(), "bus"); + connectionOpened = true; } else if (arg == QLatin1String("--literal")) { printArgumentsLiterally = true; } else if (arg == QLatin1String("--help")) { -- cgit v0.12 From 7fb04c5964e47e71b709a413be7839a3cedbba9e Mon Sep 17 00:00:00 2001 From: Peter Grasch Date: Wed, 31 Aug 2011 11:32:00 +0200 Subject: Silently ignore a wrong parameter count instead of crashing Merge-request: 1363 Reviewed-by: Frederik Gladhorn --- tools/qdbus/qdbus/qdbus.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/qdbus/qdbus/qdbus.cpp b/tools/qdbus/qdbus/qdbus.cpp index 4e90418..757267f 100644 --- a/tools/qdbus/qdbus/qdbus.cpp +++ b/tools/qdbus/qdbus/qdbus.cpp @@ -455,10 +455,11 @@ int main(int argc, char **argv) if (arg == QLatin1String("--system")) { connection = QDBusConnection::systemBus(); connectionOpened = true; - } else - if (arg == QLatin1String("--address")) { - connection = QDBusConnection::connectToBus(args.takeFirst(), "bus"); - connectionOpened = true; + } else if (arg == QLatin1String("--address")) { + if (!args.isEmpty()) { + connection = QDBusConnection::connectToBus(args.takeFirst(), "bus"); + connectionOpened = true; + } } else if (arg == QLatin1String("--literal")) { printArgumentsLiterally = true; } else if (arg == QLatin1String("--help")) { -- cgit v0.12 From a36c81774cb6ac45c211c85f6f2e797688b4946b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 30 Aug 2011 16:15:07 +0200 Subject: Fix build with Clang for libpng versions 1.4.0 to 1.5.2 Versions 1.4.0 to 1.5.2 of libpng declare png_longjmp_ptr to have a noreturn attribute if PNG_PEDANTIC_WARNINGS_SUPPORTED is enabled, but most declarations of longjmp in the wild do not add this attribute. This causes problems when the png_jmpbuf macro expands to calling png_set_longjmp_fn with a mismatched longjmp, as compilers such as Clang will treat this as an error. To work around this we override the png_jmpbuf macro to cast longjmp to a png_longjmp_ptr. See also http://llvm.org/bugs/show_bug.cgi?id=10338 Reviewed-by: Simon Hausmann Reviewed-by: Marius Storm-Olsen --- src/gui/image/qpnghandler.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp index f7d07a5..1714442 100644 --- a/src/gui/image/qpnghandler.cpp +++ b/src/gui/image/qpnghandler.cpp @@ -58,6 +58,29 @@ #include #endif +#if PNG_LIBPNG_VER >= 10400 && PNG_LIBPNG_VER <= 10502 \ + && defined(PNG_PEDANTIC_WARNINGS_SUPPORTED) +/* + Versions 1.4.0 to 1.5.2 of libpng declare png_longjmp_ptr to + have a noreturn attribute if PNG_PEDANTIC_WARNINGS_SUPPORTED + is enabled, but most declarations of longjmp in the wild do + not add this attribute. This causes problems when the png_jmpbuf + macro expands to calling png_set_longjmp_fn with a mismatched + longjmp, as compilers such as Clang will treat this as an error. + + To work around this we override the png_jmpbuf macro to cast + longjmp to a png_longjmp_ptr. +*/ +# undef png_jmpbuf +# ifdef PNG_SETJMP_SUPPORTED +# define png_jmpbuf(png_ptr) \ + (*png_set_longjmp_fn((png_ptr), (png_longjmp_ptr)longjmp, sizeof(jmp_buf))) +# else +# define png_jmpbuf(png_ptr) \ + (LIBPNG_WAS_COMPILED_WITH__PNG_NO_SETJMP) +# endif +#endif + #ifdef Q_OS_WINCE #define CALLBACK_CALL_TYPE __cdecl #else -- cgit v0.12 From 126eeae15c4d4d6249e76bcea60a02da1f5407e5 Mon Sep 17 00:00:00 2001 From: Tomi Vihria Date: Wed, 31 Aug 2011 15:13:05 +0300 Subject: Fix QtCore winscw def-file Un-absented QXmlStreamAttributes constructor from the def file Reviewed-by: TrustMe --- src/s60installs/bwins/QtCoreu.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def index 7e9e03c..be09295 100644 --- a/src/s60installs/bwins/QtCoreu.def +++ b/src/s60installs/bwins/QtCoreu.def @@ -4513,7 +4513,7 @@ EXPORTS ??_EQTextDecoder@@QAE@I@Z @ 4512 NONAME ABSENT ; QTextDecoder::~QTextDecoder(unsigned int) ??_EQMutex@@QAE@I@Z @ 4513 NONAME ABSENT ; QMutex::~QMutex(unsigned int) ??0QTimerEvent@@QAE@ABV0@@Z @ 4514 NONAME ABSENT ; QTimerEvent::QTimerEvent(class QTimerEvent const &) - ??0QXmlStreamAttributes@@QAE@XZ @ 4515 NONAME ABSENT ; QXmlStreamAttributes::QXmlStreamAttributes(void) + ??0QXmlStreamAttributes@@QAE@XZ @ 4515 NONAME ; QXmlStreamAttributes::QXmlStreamAttributes(void) ??_EConverterState@QTextCodec@@QAE@I@Z @ 4516 NONAME ABSENT ; QTextCodec::ConverterState::~ConverterState(unsigned int) ??4QTime@@QAEAAV0@ABV0@@Z @ 4517 NONAME ABSENT ; class QTime & QTime::operator=(class QTime const &) ??0QMetaMethod@@QAE@ABV0@@Z @ 4518 NONAME ABSENT ; QMetaMethod::QMetaMethod(class QMetaMethod const &) -- cgit v0.12 From 3b9e83706c6770dada7c3b66b68e81b53a3d16d6 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 31 Aug 2011 16:11:47 +0200 Subject: Designer: Fix static linking. Fix a regression introduced by change e7762b60d519c9ae4b47f6c4ceece584408247ea working around an issue caused by changing the behaviour of qFindChild<> in 99160bb9f851bf02fe5345b5f52217b6c77a57c4. Reviewed-by: Friedemann Kleint Task-number: QTBUG-21173 --- .../designer/src/components/propertyeditor/propertyeditor.pri | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/tools/designer/src/components/propertyeditor/propertyeditor.pri b/tools/designer/src/components/propertyeditor/propertyeditor.pri index bb1afdb..60219e1 100644 --- a/tools/designer/src/components/propertyeditor/propertyeditor.pri +++ b/tools/designer/src/components/propertyeditor/propertyeditor.pri @@ -4,15 +4,8 @@ INCLUDEPATH += $$PWD -# --- Property browser is also linked into the designer_shared library. -# Avoid conflict when linking statically -contains(CONFIG, static) { - INCLUDEPATH *= $$QT_SOURCE_TREE/tools/shared/qtpropertybrowser - INCLUDEPATH *= $$QT_SOURCE_TREE/tools/shared/qtgradienteditor -} else { - include(../../../../shared/qtpropertybrowser/qtpropertybrowser.pri) - include(../../../../shared/qtgradienteditor/qtcolorbutton.pri) -} +include(../../../../shared/qtpropertybrowser/qtpropertybrowser.pri) +include(../../../../shared/qtgradienteditor/qtcolorbutton.pri) FORMS += $$PWD/paletteeditor.ui \ $$PWD/stringlisteditor.ui \ -- cgit v0.12 From 6291d642b164bdf0ce55419e41809b526ad4cd03 Mon Sep 17 00:00:00 2001 From: Gareth Stockwell Date: Wed, 31 Aug 2011 17:10:44 +0100 Subject: DEF file update Reviewed-by: TrustMe --- src/s60installs/bwins/QtGuiu.def | 2 +- src/s60installs/eabi/QtGuiu.def | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index e9e58c8..40cdcde 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -1901,7 +1901,7 @@ EXPORTS ?ResourceFileName@QS60MainApplication@@UBE?AV?$TBuf@$0BAA@@@XZ @ 1900 NONAME ; class TBuf<256> QS60MainApplication::ResourceFileName(void) const ?RestoreMenuL@QS60MainAppUi@@UAEXPAVCCoeControl@@HW4TMenuType@MEikMenuObserver@@@Z @ 1901 NONAME ; void QS60MainAppUi::RestoreMenuL(class CCoeControl *, int, enum MEikMenuObserver::TMenuType) ?_q_clipboardChanged@QLineControl@@AAEXXZ @ 1902 NONAME ; void QLineControl::_q_clipboardChanged(void) - ?_q_delayedDestroy@QWidgetPrivate@@QAEXPAVCCoeControl@@@Z @ 1903 NONAME ; void QWidgetPrivate::_q_delayedDestroy(class CCoeControl *) + ?_q_delayedDestroy@QWidgetPrivate@@QAEXPAVCCoeControl@@@Z @ 1903 NONAME ABSENT ; void QWidgetPrivate::_q_delayedDestroy(class CCoeControl *) ?_q_deleteSelected@QLineControl@@AAEXXZ @ 1904 NONAME ; void QLineControl::_q_deleteSelected(void) ?_q_showIfNotHidden@QWidgetPrivate@@QAEXXZ @ 1905 NONAME ; void QWidgetPrivate::_q_showIfNotHidden(void) ?about@QMessageBox@@SAXPAVQWidget@@ABVQString@@1@Z @ 1906 NONAME ; void QMessageBox::about(class QWidget *, class QString const &, class QString const &) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 939398b..6028a6d 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -11593,7 +11593,7 @@ EXPORTS _ZN13QSymbianEventD2Ev @ 11592 NONAME _ZN14QFileOpenEventC1ERK4QUrl @ 11593 NONAME _ZN14QFileOpenEventC2ERK4QUrl @ 11594 NONAME - _ZN14QWidgetPrivate17_q_delayedDestroyEP11CCoeControl @ 11595 NONAME + _ZN14QWidgetPrivate17_q_delayedDestroyEP11CCoeControl @ 11595 NONAME ABSENT _ZN14QWidgetPrivate21activateSymbianWindowEP11CCoeControl @ 11596 NONAME _ZN14QWidgetPrivate26nearestGraphicsProxyWidgetEPK7QWidget @ 11597 NONAME _ZN14QWidgetPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11598 NONAME -- cgit v0.12 From 340c22999d9f9678c9035c1dc372423e970b8ca7 Mon Sep 17 00:00:00 2001 From: Bea Lam Date: Thu, 1 Sep 2011 14:00:16 +1000 Subject: Fix memory leak in ListModel custom parser ModelNodes created by the parser for ListElement definitions were not deleted. (Commit backported from c1491c356f3cca92a359468ce37f38bc1873eec4 in qt-qml-staging) Task-number: QTBUG-21084 Change-Id: I36ca0ffba1a94355abe42a95e49723548d9a575a Reviewed-by: Michael Brasser --- src/declarative/util/qdeclarativelistmodel.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/declarative/util/qdeclarativelistmodel.cpp b/src/declarative/util/qdeclarativelistmodel.cpp index d0c8cc8..92aa6d0 100644 --- a/src/declarative/util/qdeclarativelistmodel.cpp +++ b/src/declarative/util/qdeclarativelistmodel.cpp @@ -784,6 +784,7 @@ void QDeclarativeListModelParser::setCustomData(QObject *obj, const QByteArray & QDeclarativeListModel *rv = static_cast(obj); ModelNode *root = new ModelNode(rv->m_nested); + rv->m_nested->m_ownsRoot = true; rv->m_nested->_root = root; QStack nodes; nodes << root; -- cgit v0.12 From eee351a2af7e34dfc851a95820075842f856a8f2 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Thu, 1 Sep 2011 10:35:23 +0200 Subject: Update license headers This ammends commit 9aeadca09ab4e27ebf299873f90490d585b4fb7f Reviewed-by: Frederik Gladhorn Merge-request: 1254 --- src/gui/widgets/qabstractplatformmenubar_p.h | 37 ++++++++++++++-------------- src/gui/widgets/qmenubar_x11.cpp | 37 ++++++++++++++-------------- src/gui/widgets/qmenubar_x11_p.h | 37 ++++++++++++++-------------- 3 files changed, 57 insertions(+), 54 deletions(-) diff --git a/src/gui/widgets/qabstractplatformmenubar_p.h b/src/gui/widgets/qabstractplatformmenubar_p.h index cb4e5cb..10e6fdc 100644 --- a/src/gui/widgets/qabstractplatformmenubar_p.h +++ b/src/gui/widgets/qabstractplatformmenubar_p.h @@ -1,35 +1,35 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** ** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. ** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** ** @@ -38,6 +38,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ + #ifndef QABSTRACTPLATFORMMENUBAR_P_H #define QABSTRACTPLATFORMMENUBAR_P_H diff --git a/src/gui/widgets/qmenubar_x11.cpp b/src/gui/widgets/qmenubar_x11.cpp index 37c085f..25336d4 100644 --- a/src/gui/widgets/qmenubar_x11.cpp +++ b/src/gui/widgets/qmenubar_x11.cpp @@ -1,35 +1,35 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** ** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. ** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** ** @@ -38,6 +38,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ + #include "qmenubar_x11_p.h" #ifndef QT_NO_MENUBAR diff --git a/src/gui/widgets/qmenubar_x11_p.h b/src/gui/widgets/qmenubar_x11_p.h index 1c43b04..41debd0 100644 --- a/src/gui/widgets/qmenubar_x11_p.h +++ b/src/gui/widgets/qmenubar_x11_p.h @@ -1,35 +1,35 @@ /**************************************************************************** ** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the QtGui module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** ** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. ** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** ** @@ -38,6 +38,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ + #ifndef QX11MENUBAR_P_H #define QX11MENUBAR_P_H -- cgit v0.12 From 52df38bfba06358fbe8bf648e03eb0c95ceff114 Mon Sep 17 00:00:00 2001 From: Juha Kukkonen Date: Thu, 1 Sep 2011 12:44:45 +0300 Subject: Fix QColumnView auto test failure Changed scrollTo test to wait until animation is finished before checking horizontalOffset. Task-number: QTTH-1461 Reviewed-by: Miikka Heikkinen --- tests/auto/qcolumnview/tst_qcolumnview.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/qcolumnview/tst_qcolumnview.cpp b/tests/auto/qcolumnview/tst_qcolumnview.cpp index 7f6d43a..65e23bf 100644 --- a/tests/auto/qcolumnview/tst_qcolumnview.cpp +++ b/tests/auto/qcolumnview/tst_qcolumnview.cpp @@ -461,6 +461,7 @@ void tst_QColumnView::scrollTo() view.setCurrentIndex(index); QTest::qWait(ANIMATION_DELAY); view.scrollTo(index, QAbstractItemView::EnsureVisible); + QTest::qWait(ANIMATION_DELAY); index = index.parent(); if (start != level) { if (!reverse) -- cgit v0.12 From c19bdfaf62c04e826f828922a4f1dac15e68caaa Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 1 Sep 2011 14:03:15 +0300 Subject: QTreeView autotest fails on Symbian VGA device The autotest assumed that "unselect" click goes below treeview rows, when it actually hit the second last row. Thus, again two items (one row) was selected. As a fix, ensure that mouse click goes underneath the treeview rows. Task-number: QT-5056 Reviewed-by: Miikka Heikkinen --- tests/auto/qtreeview/tst_qtreeview.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp index b902370..facb982 100644 --- a/tests/auto/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/qtreeview/tst_qtreeview.cpp @@ -2384,6 +2384,14 @@ void tst_QTreeView::extendedSelection() QTreeView view(&topLevel); view.resize(qMax(mousePressPos.x() * 2, 200), qMax(mousePressPos.y() * 2, 200)); view.setModel(&model); + + //ensure that mousePressPos is below the last row if we want to unselect + if (!selectedCount) { + int minimumHeight = model.rowCount() * view.visualRect(model.index(0,0)).size().height(); + if (mousePressPos.y() < minimumHeight) + mousePressPos.setY(minimumHeight + 10); + } + view.setSelectionMode(QAbstractItemView::ExtendedSelection); topLevel.show(); QTest::mousePress(view.viewport(), Qt::LeftButton, 0, mousePressPos); -- cgit v0.12 From adfa2dde84ff7ed1a8b177c2a7e885e752e9bb0b Mon Sep 17 00:00:00 2001 From: mread Date: Thu, 1 Sep 2011 14:11:33 +0100 Subject: URLs used with scheme handler use appropriate encoding for scheme URLs passed to scheme handler always used to use raw encoding. That broke URLs containing spaces passed to the browser. Then QTBUG-18772 changed it so that they always used % encoding. That broke URLs containing spaces used to open files, resulting in QTBUG-21209. This change fixes it so that web URLs are % encoded and file URLs are raw encoded. Task-number: QTBUG-21209 Reviewed-by: Honglei Zhang --- src/gui/util/qdesktopservices_s60.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/util/qdesktopservices_s60.cpp b/src/gui/util/qdesktopservices_s60.cpp index 97d1226..ae203cd 100644 --- a/src/gui/util/qdesktopservices_s60.cpp +++ b/src/gui/util/qdesktopservices_s60.cpp @@ -309,12 +309,12 @@ static void handleUrlL(const TDesC& aUrl) CleanupStack::PopAndDestroy(); } -static bool handleUrl(const QUrl &url) +static bool handleUrl(const QUrl &url, bool useEncodedUrl) { if (!url.isValid()) return false; - QString urlString(url.toEncoded()); + QString urlString(useEncodedUrl ? url.toEncoded() : url.toString()); TPtrC urlPtr(qt_QString2TPtrC(urlString)); TRAPD( err, handleUrlL(urlPtr)); return err ? false : true; @@ -322,12 +322,12 @@ static bool handleUrl(const QUrl &url) static bool launchWebBrowser(const QUrl &url) { - return handleUrl(url); + return handleUrl(url, true); } static bool openDocument(const QUrl &file) { - return handleUrl(file); + return handleUrl(file, false); } #endif //USE_SCHEMEHANDLER -- cgit v0.12 From 941f886eab8714a02003816f347103697437e7db Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Fri, 2 Sep 2011 09:04:37 +1000 Subject: Revert readonly BorderImage::sourceSize change Revert a32728ce8cf4fa1d1dc1001b1fadc66e9c86e025 Writing to BorderImage sourceSize has never been allowed and issued a warning, however this should not have been enforced in a patch release. Change-Id: I8f8d10e6ccd4e771fd38a27ce9d68f921b761d96 Task-number: QTTH-1501 --- src/declarative/graphicsitems/qdeclarativeborderimage.cpp | 6 ++++++ src/declarative/graphicsitems/qdeclarativeborderimage_p.h | 6 ++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp index 836ad49..25b70c7 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp +++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp @@ -291,6 +291,12 @@ void QDeclarativeBorderImage::setSource(const QUrl &url) load(); } +void QDeclarativeBorderImage::setSourceSize(const QSize& size) +{ + Q_UNUSED(size); + qmlInfo(this) << "Setting sourceSize for borderImage not supported"; +} + void QDeclarativeBorderImage::load() { Q_D(QDeclarativeBorderImage); diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage_p.h b/src/declarative/graphicsitems/qdeclarativeborderimage_p.h index 6a50c3c..6b05608 100644 --- a/src/declarative/graphicsitems/qdeclarativeborderimage_p.h +++ b/src/declarative/graphicsitems/qdeclarativeborderimage_p.h @@ -63,9 +63,6 @@ class Q_AUTOTEST_EXPORT QDeclarativeBorderImage : public QDeclarativeImageBase Q_PROPERTY(TileMode horizontalTileMode READ horizontalTileMode WRITE setHorizontalTileMode NOTIFY horizontalTileModeChanged) Q_PROPERTY(TileMode verticalTileMode READ verticalTileMode WRITE setVerticalTileMode NOTIFY verticalTileModeChanged) - // read-only for BorderImage - Q_PROPERTY(QSize sourceSize READ sourceSize NOTIFY sourceSizeChanged) - public: QDeclarativeBorderImage(QDeclarativeItem *parent=0); ~QDeclarativeBorderImage(); @@ -83,10 +80,11 @@ public: void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); void setSource(const QUrl &url); + void setSourceSize(const QSize&); + Q_SIGNALS: void horizontalTileModeChanged(); void verticalTileModeChanged(); - void sourceSizeChanged(); protected: virtual void load(); -- cgit v0.12 From 3750d24175904916fe5ab8b1a76db956b1904e72 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 2 Sep 2011 09:14:33 +1000 Subject: Fix leak in bindings created by PropertyChanges. Change-Id: I1c7b575e1ace2b879dba130cd31e3ff8cf67260a Task-number: QTBUG-17770 Reviewed-by: Aaron Kennedy --- src/declarative/qml/qdeclarativebinding.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/declarative/qml/qdeclarativebinding.cpp b/src/declarative/qml/qdeclarativebinding.cpp index 689cd00..9359196 100644 --- a/src/declarative/qml/qdeclarativebinding.cpp +++ b/src/declarative/qml/qdeclarativebinding.cpp @@ -254,6 +254,8 @@ QDeclarativeBinding::createBinding(Identifier id, QObject *obj, QDeclarativeCont cdata = typeData->compiledData(); } QDeclarativeBinding *rv = cdata ? new QDeclarativeBinding((void*)cdata->datas.at(id).constData(), cdata, obj, ctxtdata, url, lineNumber, parent) : 0; + if (cdata) + cdata->release(); if (typeData) typeData->release(); return rv; -- cgit v0.12 From 8570c509f505a4b238905122645a80faa768adb5 Mon Sep 17 00:00:00 2001 From: Michael Brasser Date: Fri, 2 Sep 2011 09:45:16 +1000 Subject: Fix leak in State element. If a state was destroyed while active, it would leak bindings. Task-number: QTBUG-21194 Reviewed-by: Aaron Kennedy --- src/declarative/util/qdeclarativestate.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/declarative/util/qdeclarativestate.cpp b/src/declarative/util/qdeclarativestate.cpp index 9f56ccb..ee3d06b 100644 --- a/src/declarative/util/qdeclarativestate.cpp +++ b/src/declarative/util/qdeclarativestate.cpp @@ -173,6 +173,18 @@ QDeclarativeState::~QDeclarativeState() Q_D(QDeclarativeState); if (d->group) d->group->removeState(this); + + /* + destroying an active state does not return us to the + base state, so we need to clean up our revert list to + prevent leaks. In the future we may want to redconsider + this overall architecture. + */ + for (int i = 0; i < d->revertList.count(); ++i) { + if (d->revertList.at(i).binding()) { + d->revertList.at(i).binding()->destroy(); + } + } } /*! -- cgit v0.12 From 3a964f3bb0ba7b25c88a6fa7a9c0d4bbb88b57e9 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 1 Sep 2011 16:17:56 +0300 Subject: Fix center aligned layouts for Symbian. Default layout bottom margin for Symbian was double that of top margin, causing center aligning to fail noticeably for smaller layouts. Made default margins more sensible. Task-number: QTBUG-14704 Reviewed-by: Sami Merila --- src/gui/styles/qs60style.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index e9f7a86..20406e6 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -101,12 +101,12 @@ const int QS60StylePrivate::m_numberOfLayouts = const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = { // *** generated pixel metrics *** -{5,0,-909,0,0,2,0,2,-1,7,12,22,15,15,7,198,-909,-909,-909,20,13,2,0,0,21,7,18,30,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1,106,30,30}, -{5,0,-909,0,0,1,0,2,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,28,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1,106,30,30}, -{7,0,-909,0,0,2,0,5,-1,25,69,46,37,37,9,258,-909,-909,-909,23,19,11,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,3,3,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, -{7,0,-909,0,0,2,0,5,-1,25,68,46,37,37,9,258,-909,-909,-909,31,19,13,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,3,3,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, -{7,0,-909,0,0,2,0,2,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,30,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1,106,30,30}, -{9,0,-909,0,0,2,0,5,-1,30,99,76,51,51,25,352,-909,-909,-909,29,25,7,0,0,43,34,42,76,7,7,2,-909,-909,0,9,14,0,23,39,30,30,37,37,9,391,40,0,-909,-909,-909,-909,0,0,29,2,-909,0,0,-909,29,-909,-909,-909,-909,115,37,96,48,96,2,2,9,1,25,-909,9,101,24,9,0,7,7,7,16,7,7,-909,3,-909,-909,-909,-909,9,9,3,1,184,30,30} +{5,0,-909,0,0,2,0,2,-1,7,12,22,15,15,7,198,-909,-909,-909,20,13,2,0,0,21,7,18,30,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,3,3,3,-909,2,-909,-909,-909,-909,5,5,3,1,106,30,30}, +{5,0,-909,0,0,1,0,2,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,28,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,4,4,4,-909,2,-909,-909,-909,-909,6,6,3,1,106,30,30}, +{7,0,-909,0,0,2,0,5,-1,25,69,46,37,37,9,258,-909,-909,-909,23,19,11,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,3,3,6,8,19,-909,7,74,19,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, +{7,0,-909,0,0,2,0,5,-1,25,68,46,37,37,9,258,-909,-909,-909,31,19,13,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,3,3,6,8,19,-909,7,74,22,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, +{7,0,-909,0,0,2,0,2,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,30,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,5,6,5,-909,2,-909,-909,-909,-909,5,5,3,1,106,30,30}, +{9,0,-909,0,0,2,0,5,-1,30,99,76,51,51,25,352,-909,-909,-909,29,25,7,0,0,43,34,42,76,7,7,2,-909,-909,0,9,14,0,23,39,30,30,37,37,9,391,40,0,-909,-909,-909,-909,0,0,29,2,-909,0,0,-909,29,-909,-909,-909,-909,115,37,96,48,96,2,2,9,1,25,-909,9,101,24,9,0,7,7,7,7,7,7,-909,3,-909,-909,-909,-909,9,9,3,1,184,30,30} // *** End of generated data *** }; @@ -2506,11 +2506,13 @@ int QS60Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const metricValue = QS60StylePrivate::pixelMetric(PM_LayoutLeftMargin); } - if (widget && (metric == PM_LayoutTopMargin || metric == PM_LayoutLeftMargin || metric == PM_LayoutRightMargin)) - if (widget->windowType() == Qt::Dialog) - //double the layout margins (except bottom) for dialogs, it is very close to real value + if (widget && (metric == PM_LayoutTopMargin || metric == PM_LayoutBottomMargin + || metric == PM_LayoutRightMargin || metric == PM_LayoutLeftMargin)) + if (widget->windowType() == Qt::Dialog) { + //double the layout margins for dialogs, it is very close to real value //without having to define custom pixel metric metricValue *= 2; + } #if defined(Q_WS_S60) if (metric == PM_TabBarTabOverlap && (QSysInfo::s60Version() > QSysInfo::SV_S60_5_2)) -- cgit v0.12 From d2114c84ecdae5746227fc9e6301027213565daf Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 2 Sep 2011 11:57:34 +0300 Subject: Remove whitespace from S60 style codes. Reviewed-by: TrustMe --- src/gui/styles/qs60style.cpp | 28 ++++++++++++++-------------- src/gui/styles/qs60style_s60.cpp | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 20406e6..48363de 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -1520,9 +1520,9 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, if (tabOverlap > borderThickness) tabOverlap -= borderThickness; - const bool usesScrollButtons = + const bool usesScrollButtons = (widget) ? (qobject_cast(widget))->usesScrollButtons() : false; - const int roomForScrollButton = + const int roomForScrollButton = usesScrollButtons ? QS60StylePrivate::pixelMetric(PM_TabBarScrollButtonWidth) : 0; // adjust for overlapping tabs and scrollbuttons, if necessary @@ -1563,9 +1563,9 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, int tabOverlap = pixelMetric(PM_TabBarTabOverlap); if (tabOverlap > borderThickness) tabOverlap -= borderThickness; - const bool usesScrollButtons = + const bool usesScrollButtons = (widget) ? (qobject_cast(widget))->usesScrollButtons() : false; - const int roomForScrollButton = + const int roomForScrollButton = usesScrollButtons ? QS60StylePrivate::pixelMetric(PM_TabBarScrollButtonWidth) : 0; switch (tab->shape) { @@ -1771,7 +1771,7 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, //highlight and then it needs one to separate it whatever is shown after it (text/icon/both). const int moveByX = optionCheckBox.rect.width() + 2 * vSpacing; optionCheckBox.rect.moveCenter(QPoint( - optionCheckBox.rect.center().x() + moveByX >> 1, + optionCheckBox.rect.center().x() + moveByX >> 1, menuItem->rect.center().y())); if (optionMenuItem.direction != Qt::LeftToRight) @@ -1785,11 +1785,11 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option, const int end = optionMenuItem.rect.right() - spacing; //-1 adjustment to avoid highlight being on top of possible separator item const QRect highlightRect = QRect( - QPoint(start, option->rect.top()), + QPoint(start, option->rect.top()), QPoint(end, option->rect.bottom() - 1)); QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_ListHighlight, painter, highlightRect, flags); } - + if (checkable && !ignoreCheckMark) drawPrimitive(PE_IndicatorMenuCheckMark, &optionCheckBox, painter, widget); @@ -2072,8 +2072,8 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti if ((qstyleoption_cast(option) && (qobject_cast(widget) || qobject_cast(widget)))) QS60StylePrivate::drawSkinElement( - QS60StylePrivate::isWidgetPressed(widget) ? - QS60StylePrivate::SE_ListItemPressed : + QS60StylePrivate::isWidgetPressed(widget) ? + QS60StylePrivate::SE_ListItemPressed : QS60StylePrivate::SE_ListHighlight, painter, option->rect, flags); } else { commonStyleDraws = true; @@ -2831,9 +2831,9 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple // Normally spinbuttons should be side-by-side, but if spinbox grows very big // and spinbuttons reach their maximum size, they can be deployed one top of the other. const bool sideBySide = (buttonSize.height() * 2 < spinbox->rect.height()) ? false : true; - const int y = frameThickness + spinbox->rect.y() + + const int y = frameThickness + spinbox->rect.y() + (spinbox->rect.height() - (sideBySide ? 1 : 2) * buttonSize.height()) / 2; - const int x = spinbox->rect.x() + + const int x = spinbox->rect.x() + spinbox->rect.width() - frameThickness - (sideBySide ? 2 : 1) * buttonSize.width(); switch (scontrol) { @@ -2845,8 +2845,8 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple case SC_SpinBoxDown: if (spinbox->buttonSymbols == QAbstractSpinBox::NoButtons) return QRect(); - ret = QRect(x + (sideBySide ? buttonSize.width() : 0), - y + (sideBySide ? 0 : buttonSize.height()), + ret = QRect(x + (sideBySide ? buttonSize.width() : 0), + y + (sideBySide ? 0 : buttonSize.height()), buttonSize.width(), buttonSize.height()); break; case SC_SpinBoxEditField: @@ -3780,7 +3780,7 @@ QIcon QS60Style::standardIconImplementation(StandardPixmap standardIcon, const QS60StylePrivate::SkinElementFlags flags = adjustedFlags; const int iconDimension = QS60StylePrivate::pixelMetric(metric); - const QRect iconSize = (!option) ? + const QRect iconSize = (!option) ? QRect(0, 0, iconDimension * iconWidthMultiplier, iconDimension * iconHeightMultiplier) : option->rect; const QPixmap cachedPixMap(QS60StylePrivate::cachedPart(part, iconSize.size(), 0, flags)); return cachedPixMap.isNull() ? diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index 489ad09..e58b463 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -110,7 +110,7 @@ typedef struct { TDrawType drawType; // Determines which native drawing routine is used to draw this item. int supportInfo; // Defines the S60 versions that use the default graphics. // These two, define new graphics that are used in releases other than partMapEntry.supportInfo defined releases. - // In general, these are given in numeric form to allow style compilation in earlier + // In general, these are given in numeric form to allow style compilation in earlier // native releases that do not contain the new graphics. int newMajorSkinId; int newMinorSkinId; -- cgit v0.12 From ca34cc75294e0d2a8bc491a2c679fe8a69cd0408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Abecasis?= Date: Fri, 26 Aug 2011 15:43:06 +0200 Subject: Wrap calls to Sequence::push_back In C++11 push_back is overloaded to support rvalue-references, void std::vector::push_back(const T &); void std::vector::push_back(T &&); so attempting to get the address for push_back is ambiguous. Instead of hardcoding the function signature, the better and more general solution is to allow the compiler to do the required overload resolution itself, also allowing for implicit conversions to take place. Task-number: QTBUG-18996 Done-with: Liang Qi Reviewed-by: Olivier Goffart --- src/corelib/concurrent/qtconcurrentfilter.h | 20 +++++++++----------- .../concurrent/qtconcurrentfunctionwrappers.h | 19 +++++++++++++++++++ src/corelib/concurrent/qtconcurrentmap.h | 8 ++++---- tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp | 4 ---- 4 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/corelib/concurrent/qtconcurrentfilter.h b/src/corelib/concurrent/qtconcurrentfilter.h index 4b9c4ae..d8c5f43 100644 --- a/src/corelib/concurrent/qtconcurrentfilter.h +++ b/src/corelib/concurrent/qtconcurrentfilter.h @@ -102,10 +102,9 @@ namespace QtConcurrent { namespace QtConcurrent { -template -ThreadEngineStarter filterInternal(Sequence &sequence, KeepFunctor keep, T (C::*reduce)(U)) +template +ThreadEngineStarter filterInternal(Sequence &sequence, KeepFunctor keep, ReduceFunctor reduce) { - typedef MemberFunctionWrapper1 ReduceFunctor; typedef typename Sequence::const_iterator Iterator; typedef FilterKernel KernelType; return startThreadEngine(new KernelType(sequence, keep, reduce)); @@ -115,7 +114,7 @@ ThreadEngineStarter filterInternal(Sequence &sequence, KeepFunctor keep, T template QFuture filter(Sequence &sequence, KeepFunctor keep) { - return filterInternal(sequence, QtPrivate::createFunctionWrapper(keep), &Sequence::push_back); + return filterInternal(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::PushBackWrapper()); } // filteredReduced() on sequences @@ -184,7 +183,7 @@ QFuture::value_type> filtered(Iterator begin, Iter template void blockingFilter(Sequence &sequence, KeepFunctor keep) { - filterInternal(sequence, QtPrivate::createFunctionWrapper(keep), &Sequence::push_back).startBlocking(); + filterInternal(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::PushBackWrapper()).startBlocking(); } // blocking filteredReduced() on sequences @@ -246,18 +245,17 @@ typename QtPrivate::ReduceResultType::ResultType blockingFiltered template Sequence blockingFiltered(const Sequence &sequence, KeepFunctor keep) { - return blockingFilteredReduced(sequence, QtPrivate::createFunctionWrapper(keep), &Sequence::push_back, OrderedReduce); + return startFilteredReduced(sequence, QtPrivate::createFunctionWrapper(keep), QtPrivate::PushBackWrapper(), OrderedReduce).startBlocking(); } // blocking filtered() on iterators template OutputSequence blockingFiltered(Iterator begin, Iterator end, KeepFunctor keep) { - return blockingFilteredReduced(begin, - end, - QtPrivate::createFunctionWrapper(keep), - &OutputSequence::push_back, - OrderedReduce); + return startFilteredReduced(begin, end, + QtPrivate::createFunctionWrapper(keep), + QtPrivate::PushBackWrapper(), + OrderedReduce).startBlocking(); } } // namespace QtConcurrent diff --git a/src/corelib/concurrent/qtconcurrentfunctionwrappers.h b/src/corelib/concurrent/qtconcurrentfunctionwrappers.h index 4bf2736..1e09221 100644 --- a/src/corelib/concurrent/qtconcurrentfunctionwrappers.h +++ b/src/corelib/concurrent/qtconcurrentfunctionwrappers.h @@ -195,6 +195,25 @@ QtConcurrent::ConstMemberFunctionWrapper createFunctionWrapper(T (C::*func return QtConcurrent::ConstMemberFunctionWrapper(func); } +struct PushBackWrapper +{ + typedef void result_type; + + template + inline void operator()(C &c, const U &u) const + { + return c.push_back(u); + } + +#ifdef Q_COMPILER_RVALUE_REFS + template + inline void operator()(C &c, U &&u) const + { + return c.push_back(u); + } +#endif +}; + template ::Value> struct LazyResultType { typedef typename Functor::result_type Type; }; template diff --git a/src/corelib/concurrent/qtconcurrentmap.h b/src/corelib/concurrent/qtconcurrentmap.h index 37a4143..166d5c8 100644 --- a/src/corelib/concurrent/qtconcurrentmap.h +++ b/src/corelib/concurrent/qtconcurrentmap.h @@ -271,7 +271,7 @@ OutputSequence blockingMapped(const InputSequence &sequence, MapFunctor map) return blockingMappedReduced (sequence, QtPrivate::createFunctionWrapper(map), - &OutputSequence::push_back, + QtPrivate::PushBackWrapper(), QtConcurrent::OrderedReduce); } @@ -282,7 +282,7 @@ typename QtPrivate::MapResultType::ResultType blockin return blockingMappedReduced (sequence, QtPrivate::createFunctionWrapper(map), - &OutputSequence::push_back, + QtPrivate::PushBackWrapper(), QtConcurrent::OrderedReduce); } @@ -293,7 +293,7 @@ Sequence blockingMapped(Iterator begin, Iterator end, MapFunctor map) return blockingMappedReduced (begin, end, QtPrivate::createFunctionWrapper(map), - &Sequence::push_back, + QtPrivate::PushBackWrapper(), QtConcurrent::OrderedReduce); } @@ -304,7 +304,7 @@ typename QtPrivate::MapResultType::ResultType blockingMapp return blockingMappedReduced (begin, end, QtPrivate::createFunctionWrapper(map), - &OutputSequence::push_back, + QtPrivate::PushBackWrapper(), QtConcurrent::OrderedReduce); } diff --git a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp index f4249ab..336dc71 100644 --- a/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp +++ b/tests/auto/qtconcurrentmap/tst_qtconcurrentmap.cpp @@ -2320,10 +2320,6 @@ void tst_QtConcurrentMap::stlContainers() { #ifdef QT_NO_STL QSKIP("Qt compiled without STL support", SkipAll); -#elif defined(Q_COMPILER_RVALUE_REFS) - //mapped uses &Container::push_back, but in c++0x, std::vector has two overload of it - // meaning it is not possible to take the address of that function anymore. - QSKIP("mapped do not work with c++0x stl vector", SkipAll); #else std::vector vector; vector.push_back(1); -- cgit v0.12 From aae54d0dd60ca7ac5c2b013cb2f1e5365cd9855e Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 1 Jun 2011 14:11:09 +0200 Subject: Added an additional check to workaround an issue on Windows. Reviewed-by: David Boddie Original-patch-by: Friedemann Kleint (cherry picked from commit 8b1654ec6a892e84c1654c9196e80461ee6e92fa) --- tools/qdoc3/cppcodemarker.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp index 75d6094..37c2c3a 100644 --- a/tools/qdoc3/cppcodemarker.cpp +++ b/tools/qdoc3/cppcodemarker.cpp @@ -935,7 +935,7 @@ QString CppCodeMarker::addMarkUp(const QString &in, ident += ch; finish = i; readChar(); - } while (isalnum(ch) || ch == '_'); + } while (ch >= 0 && isalnum(ch) || ch == '_'); if (classRegExp.exactMatch(ident)) { tag = QLatin1String("type"); -- cgit v0.12 From f550d219378e5669601de416254b3585fe3f5708 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:35:07 +0200 Subject: QGlyphRun: don't detach if the decoration wasn't actually changed Merge-request: 2652 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qglyphrun.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/gui/text/qglyphrun.cpp b/src/gui/text/qglyphrun.cpp index 442f7cc..90790ed 100644 --- a/src/gui/text/qglyphrun.cpp +++ b/src/gui/text/qglyphrun.cpp @@ -294,6 +294,9 @@ bool QGlyphRun::overline() const */ void QGlyphRun::setOverline(bool overline) { + if (d->overline == overline) + return; + detach(); d->overline = overline; } @@ -316,6 +319,9 @@ bool QGlyphRun::underline() const */ void QGlyphRun::setUnderline(bool underline) { + if (d->underline == underline) + return; + detach(); d->underline = underline; } @@ -338,6 +344,9 @@ bool QGlyphRun::strikeOut() const */ void QGlyphRun::setStrikeOut(bool strikeOut) { + if (d->strikeOut == strikeOut) + return; + detach(); d->strikeOut = strikeOut; } -- cgit v0.12 From 145de5acb68f320125b7566a7d726a5a7786a5f8 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:35:12 +0200 Subject: QGlyphRun: make operator != inlined Merge-request: 2652 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qglyphrun.cpp | 6 ++---- src/gui/text/qglyphrun.h | 4 +++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qglyphrun.cpp b/src/gui/text/qglyphrun.cpp index 90790ed..3633978 100644 --- a/src/gui/text/qglyphrun.cpp +++ b/src/gui/text/qglyphrun.cpp @@ -156,13 +156,11 @@ bool QGlyphRun::operator==(const QGlyphRun &other) const } /*! + \fn bool QGlyphRun::operator!=(const QGlyphRun &other) const + Compares \a other to this QGlyphRun object. Returns true if any of the list of glyph indexes, the list of positions or the font are different, otherwise returns false. */ -bool QGlyphRun::operator!=(const QGlyphRun &other) const -{ - return !(*this == other); -} /*! Returns the font selected for this QGlyphRun object. diff --git a/src/gui/text/qglyphrun.h b/src/gui/text/qglyphrun.h index cf407a8..bc7f4ff 100644 --- a/src/gui/text/qglyphrun.h +++ b/src/gui/text/qglyphrun.h @@ -79,8 +79,10 @@ public: void clear(); QGlyphRun &operator=(const QGlyphRun &other); + bool operator==(const QGlyphRun &other) const; - bool operator!=(const QGlyphRun &other) const; + inline bool operator!=(const QGlyphRun &other) const + { return !operator==(other); } void setOverline(bool overline); bool overline() const; -- cgit v0.12 From 56ef015b1c2384e0590f19e938d349bcffdb6961 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:35:18 +0200 Subject: optimize QGlyphRun's operator == a bit Merge-request: 2652 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qglyphrun.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/gui/text/qglyphrun.cpp b/src/gui/text/qglyphrun.cpp index 3633978..7f43378 100644 --- a/src/gui/text/qglyphrun.cpp +++ b/src/gui/text/qglyphrun.cpp @@ -140,14 +140,18 @@ bool QGlyphRun::operator==(const QGlyphRun &other) const return false; } - for (int i=0; iglyphIndexDataSize, d->glyphPositionDataSize); ++i) { - if (i < d->glyphIndexDataSize && d->glyphIndexData[i] != other.d->glyphIndexData[i]) - return false; - - if (i < d->glyphPositionDataSize && d->glyphPositionData[i] != other.d->glyphPositionData[i]) - return false; + if (d->glyphIndexData != other.d->glyphIndexData) { + for (int i = 0; i < d->glyphIndexDataSize; ++i) { + if (d->glyphIndexData[i] != other.d->glyphIndexData[i]) + return false; + } + } + if (d->glyphPositionData != other.d->glyphPositionData) { + for (int i = 0; i < d->glyphPositionDataSize; ++i) { + if (d->glyphPositionData[i] != other.d->glyphPositionData[i]) + return false; + } } - return (d->overline == other.d->overline && d->underline == other.d->underline -- cgit v0.12 From 32603c5e40948491f0644d0d17a7e8bbff8d3e0c Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:58:35 +0200 Subject: QRawFont: add missed operator != Merge-request: 1343 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qrawfont.cpp | 6 ++++++ src/gui/text/qrawfont.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 60a6cb3..9d8c6cc 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -284,6 +284,12 @@ bool QRawFont::operator==(const QRawFont &other) const } /*! + \fn bool QRawFont::operator!=(const QRawFont &other) const + + Returns true if this QRawFont is not equal to \a other. Otherwise, returns false. +*/ + +/*! Returns the ascent of this QRawFont in pixel units. \sa QFontMetricsF::ascent() diff --git a/src/gui/text/qrawfont.h b/src/gui/text/qrawfont.h index d5b5680..1edbf4a 100644 --- a/src/gui/text/qrawfont.h +++ b/src/gui/text/qrawfont.h @@ -81,7 +81,10 @@ public: bool isValid() const; QRawFont &operator=(const QRawFont &other); + bool operator==(const QRawFont &other) const; + inline bool operator!=(const QRawFont &other) const + { return !operator==(other); } QString familyName() const; QString styleName() const; -- cgit v0.12 From 3926aa4b69caa9037d610b4e212d99dae86d500c Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:58:40 +0200 Subject: fix typo in the docs Merge-request: 1343 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qrawfont.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 9d8c6cc..2128711 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -77,7 +77,7 @@ QT_BEGIN_NAMESPACE A QRawFont object represents a single, physical instance of a given font in a given pixel size. I.e. in the typical case it represents a set of TrueType or OpenType font tables and uses a - user specified pixel size to convert metrics into logical pixel units. In can be used in + user specified pixel size to convert metrics into logical pixel units. It can be used in combination with the QGlyphRun class to draw specific glyph indexes at specific positions, and also have accessors to some relevant data in the physical font. -- cgit v0.12 From ab31160c72ea7e7b03604c87ecac11d756da9dce Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:58:46 +0200 Subject: on windows, don't resolve the gdi32's symbols for each QRawFont instance Merge-request: 1343 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qrawfont_p.h | 17 +++------------- src/gui/text/qrawfont_win.cpp | 46 +++++++++++++++++++++---------------------- 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/src/gui/text/qrawfont_p.h b/src/gui/text/qrawfont_p.h index fdf7cad..84e83cf 100644 --- a/src/gui/text/qrawfont_p.h +++ b/src/gui/text/qrawfont_p.h @@ -71,21 +71,17 @@ public: , thread(0) #if defined(Q_WS_WIN) , fontHandle(NULL) - , ptrAddFontMemResourceEx(NULL) - , ptrRemoveFontMemResourceEx(NULL) #endif {} QRawFontPrivate(const QRawFontPrivate &other) - : hintingPreference(other.hintingPreference) + : fontEngine(other.fontEngine) + , hintingPreference(other.hintingPreference) , thread(other.thread) #if defined(Q_WS_WIN) , fontHandle(NULL) - , ptrAddFontMemResourceEx(other.ptrAddFontMemResourceEx) - , ptrRemoveFontMemResourceEx(other.ptrRemoveFontMemResourceEx) #endif { - fontEngine = other.fontEngine; if (fontEngine != 0) fontEngine->ref.ref(); } @@ -111,14 +107,7 @@ public: #if defined(Q_WS_WIN) HANDLE fontHandle; - - typedef HANDLE (WINAPI *PtrAddFontMemResourceEx)(PVOID, DWORD, PVOID, DWORD *); - typedef BOOL (WINAPI *PtrRemoveFontMemResourceEx)(HANDLE); - - PtrAddFontMemResourceEx ptrAddFontMemResourceEx; - PtrRemoveFontMemResourceEx ptrRemoveFontMemResourceEx; - -#endif // Q_WS_WIN +#endif }; QT_END_NAMESPACE diff --git a/src/gui/text/qrawfont_win.cpp b/src/gui/text/qrawfont_win.cpp index 779652f..f612ef1 100644 --- a/src/gui/text/qrawfont_win.cpp +++ b/src/gui/text/qrawfont_win.cpp @@ -525,22 +525,31 @@ extern QFontEngine *qt_load_font_engine_win(const QFontDef &request); // From qfontdatabase.cpp extern QFont::Weight weightFromInteger(int weight); -void QRawFontPrivate::platformCleanUp() +typedef HANDLE (WINAPI *PtrAddFontMemResourceEx)(PVOID, DWORD, PVOID, DWORD *); +static PtrAddFontMemResourceEx ptrAddFontMemResourceEx = 0; +typedef BOOL (WINAPI *PtrRemoveFontMemResourceEx)(HANDLE); +static PtrRemoveFontMemResourceEx ptrRemoveFontMemResourceEx = 0; + +static void resolveGdi32() { - if (fontHandle != NULL) { - if (ptrRemoveFontMemResourceEx == NULL) { - void *func = QSystemLibrary::resolve(QLatin1String("gdi32"), "RemoveFontMemResourceEx"); - ptrRemoveFontMemResourceEx = - reinterpret_cast(func); + static bool triedResolve = false; + if (!triedResolve) { + QSystemLibrary gdi32(QLatin1String("gdi32")); + if (gdi32.load()) { + ptrAddFontMemResourceEx = (PtrAddFontMemResourceEx)gdi32.resolve("AddFontMemResourceEx"); + ptrRemoveFontMemResourceEx = (PtrRemoveFontMemResourceEx)gdi32.resolve("RemoveFontMemResourceEx"); } - if (ptrRemoveFontMemResourceEx == NULL) { - qWarning("QRawFont::platformCleanUp: Can't find RemoveFontMemResourceEx in gdi32"); - fontHandle = NULL; - } else { + triedResolve = true; + } +} + +void QRawFontPrivate::platformCleanUp() +{ + if (fontHandle != NULL) { + if (ptrRemoveFontMemResourceEx) ptrRemoveFontMemResourceEx(fontHandle); - fontHandle = NULL; - } + fontHandle = NULL; } } @@ -571,18 +580,9 @@ void QRawFontPrivate::platformLoadFromData(const QByteArray &_fontData, return; } - if (ptrAddFontMemResourceEx == NULL || ptrRemoveFontMemResourceEx == NULL) { - void *func = QSystemLibrary::resolve(QLatin1String("gdi32"), "RemoveFontMemResourceEx"); - ptrRemoveFontMemResourceEx = - reinterpret_cast(func); - - func = QSystemLibrary::resolve(QLatin1String("gdi32"), "AddFontMemResourceEx"); - ptrAddFontMemResourceEx = - reinterpret_cast(func); - } - Q_ASSERT(fontHandle == NULL); - if (ptrAddFontMemResourceEx != NULL && ptrRemoveFontMemResourceEx != NULL) { + resolveGdi32(); + if (ptrAddFontMemResourceEx && ptrRemoveFontMemResourceEx) { DWORD count = 0; fontData = font.data(); fontHandle = ptrAddFontMemResourceEx(fontData.data(), fontData.size(), 0, &count); -- cgit v0.12 From 106a896b2e9326b25a704ed683bca5ee739e7c78 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:58:51 +0200 Subject: fix "comparison between signed and unsigned" warnings Merge-request: 1343 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qrawfont_win.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/gui/text/qrawfont_win.cpp b/src/gui/text/qrawfont_win.cpp index f612ef1..4d2305f 100644 --- a/src/gui/text/qrawfont_win.cpp +++ b/src/gui/text/qrawfont_win.cpp @@ -61,18 +61,16 @@ namespace { operator T() const { T littleEndian = 0; - for (int i=0; i &operator=(const T &t) { - for (int i=0; i> (sizeof(T) - i - 1) * 8) & 0xff); - } return *this; } @@ -214,9 +212,9 @@ namespace { + nameRecord->offset; const BigEndian *s = reinterpret_cast *>(ptr); - for (int j=0; jlength / sizeof(quint16); ++j) - name += QChar(s[j]); - + const BigEndian *e = s + nameRecord->length / sizeof(quint16); + while (s != e) + name += QChar(*s++); break; } } -- cgit v0.12 From 4d8cd11179e6cca162efe650d308124dc7aefb14 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 2 Sep 2011 13:58:57 +0200 Subject: micro optimizations use an inlined version of isValid() everywhere; don't detach where is non required; get rid of extra checks where possible Merge-request: 1343 Reviewed-by: Eskil Abrahamsen Blomfeldt --- src/gui/text/qrawfont.cpp | 124 +++++++++++------------------------------- src/gui/text/qrawfont.h | 3 - src/gui/text/qrawfont_p.h | 8 +++ src/gui/text/qrawfont_win.cpp | 22 +++----- 4 files changed, 48 insertions(+), 109 deletions(-) diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 2128711..c477a6a 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -46,7 +46,6 @@ #include "qrawfont.h" #include "qrawfont_p.h" -#include #include QT_BEGIN_NAMESPACE @@ -190,8 +189,7 @@ QRawFont &QRawFont::operator=(const QRawFont &other) */ bool QRawFont::isValid() const { - Q_ASSERT(d->thread == 0 || d->thread == QThread::currentThread()); - return d->fontEngine != 0; + return d->isValid(); } /*! @@ -225,7 +223,7 @@ void QRawFont::loadFromData(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) { - detach(); + d.detach(); d->cleanUp(); d->hintingPreference = hintingPreference; d->thread = QThread::currentThread(); @@ -247,13 +245,13 @@ void QRawFont::loadFromData(const QByteArray &fontData, QImage QRawFont::alphaMapForGlyph(quint32 glyphIndex, AntialiasingType antialiasingType, const QTransform &transform) const { - if (!isValid()) + if (!d->isValid()) return QImage(); if (antialiasingType == SubPixelAntialiasing) return d->fontEngine->alphaRGBMapForGlyph(glyphIndex, QFixed(), 0, transform); - else - return d->fontEngine->alphaMapForGlyph(glyphIndex, QFixed(), transform); + + return d->fontEngine->alphaMapForGlyph(glyphIndex, QFixed(), transform); } /*! @@ -266,7 +264,7 @@ QImage QRawFont::alphaMapForGlyph(quint32 glyphIndex, AntialiasingType antialias */ QPainterPath QRawFont::pathForGlyph(quint32 glyphIndex) const { - if (!isValid()) + if (!d->isValid()) return QPainterPath(); QFixedPoint position; @@ -296,10 +294,7 @@ bool QRawFont::operator==(const QRawFont &other) const */ qreal QRawFont::ascent() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->ascent().toReal(); + return d->isValid() ? d->fontEngine->ascent().toReal() : 0.0; } /*! @@ -309,10 +304,7 @@ qreal QRawFont::ascent() const */ qreal QRawFont::descent() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->descent().toReal(); + return d->isValid() ? d->fontEngine->descent().toReal() : 0.0; } /*! @@ -322,10 +314,7 @@ qreal QRawFont::descent() const */ qreal QRawFont::xHeight() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->xHeight().toReal(); + return d->isValid() ? d->fontEngine->xHeight().toReal() : 0.0; } /*! @@ -335,10 +324,7 @@ qreal QRawFont::xHeight() const */ qreal QRawFont::leading() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->leading().toReal(); + return d->isValid() ? d->fontEngine->leading().toReal() : 0.0; } /*! @@ -348,10 +334,7 @@ qreal QRawFont::leading() const */ qreal QRawFont::averageCharWidth() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->averageCharWidth().toReal(); + return d->isValid() ? d->fontEngine->averageCharWidth().toReal() : 0.0; } /*! @@ -361,10 +344,7 @@ qreal QRawFont::averageCharWidth() const */ qreal QRawFont::maxCharWidth() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->maxCharWidth(); + return d->isValid() ? d->fontEngine->maxCharWidth() : 0.0; } /*! @@ -376,10 +356,7 @@ qreal QRawFont::maxCharWidth() const */ qreal QRawFont::pixelSize() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->fontDef.pixelSize; + return d->isValid() ? d->fontEngine->fontDef.pixelSize : 0.0; } /*! @@ -392,10 +369,7 @@ qreal QRawFont::pixelSize() const */ qreal QRawFont::unitsPerEm() const { - if (!isValid()) - return 0.0; - - return d->fontEngine->emSquareSize().toReal(); + return d->isValid() ? d->fontEngine->emSquareSize().toReal() : 0.0; } /*! @@ -403,10 +377,7 @@ qreal QRawFont::unitsPerEm() const */ QString QRawFont::familyName() const { - if (!isValid()) - return QString(); - - return d->fontEngine->fontDef.family; + return d->isValid() ? d->fontEngine->fontDef.family : QString(); } /*! @@ -416,10 +387,7 @@ QString QRawFont::familyName() const */ QString QRawFont::styleName() const { - if (!isValid()) - return QString(); - - return d->fontEngine->fontDef.styleName; + return d->isValid() ? d->fontEngine->fontDef.styleName : QString(); } /*! @@ -429,10 +397,7 @@ QString QRawFont::styleName() const */ QFont::Style QRawFont::style() const { - if (!isValid()) - return QFont::StyleNormal; - - return QFont::Style(d->fontEngine->fontDef.style); + return d->isValid() ? QFont::Style(d->fontEngine->fontDef.style) : QFont::StyleNormal; } /*! @@ -442,10 +407,7 @@ QFont::Style QRawFont::style() const */ int QRawFont::weight() const { - if (!isValid()) - return -1; - - return int(d->fontEngine->fontDef.weight); + return d->isValid() ? int(d->fontEngine->fontDef.weight) : -1; } /*! @@ -463,7 +425,7 @@ int QRawFont::weight() const */ QVector QRawFont::glyphIndexesForString(const QString &text) const { - if (!isValid()) + if (!d->isValid()) return QVector(); int nglyphs = text.size(); @@ -496,7 +458,7 @@ QVector QRawFont::glyphIndexesForString(const QString &text) const */ bool QRawFont::glyphIndexesForChars(const QChar *chars, int numChars, quint32 *glyphIndexes, int *numGlyphs) const { - if (!isValid()) + if (!d->isValid()) return false; QGlyphLayout glyphs; @@ -513,7 +475,7 @@ bool QRawFont::glyphIndexesForChars(const QChar *chars, int numChars, quint32 *g */ QVector QRawFont::advancesForGlyphIndexes(const QVector &glyphIndexes) const { - if (!isValid()) + if (!d->isValid()) return QVector(); int numGlyphs = glyphIndexes.size(); @@ -540,7 +502,7 @@ QVector QRawFont::advancesForGlyphIndexes(const QVector &glyph */ bool QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *advances, int numGlyphs) const { - if (!isValid()) + if (!d->isValid()) return false; QGlyphLayout glyphs; @@ -566,10 +528,7 @@ bool QRawFont::advancesForGlyphIndexes(const quint32 *glyphIndexes, QPointF *adv */ QFont::HintingPreference QRawFont::hintingPreference() const { - if (!isValid()) - return QFont::PreferDefaultHinting; - - return d->hintingPreference; + return d->isValid() ? d->hintingPreference : QFont::PreferDefaultHinting; } /*! @@ -580,7 +539,7 @@ QFont::HintingPreference QRawFont::hintingPreference() const */ QByteArray QRawFont::fontTable(const char *tagName) const { - if (!isValid()) + if (!d->isValid()) return QByteArray(); const quint32 *tagId = reinterpret_cast(tagName); @@ -603,9 +562,9 @@ extern QList qt_determine_writing_systems_from_tru */ QList QRawFont::supportedWritingSystems() const { - if (isValid()) { + if (d->isValid()) { QByteArray os2Table = fontTable("OS/2"); - if (!os2Table.isEmpty() && os2Table.size() > 86) { + if (os2Table.size() > 86) { char *data = os2Table.data(); quint32 *bigEndianUnicodeRanges = reinterpret_cast(data + 42); quint32 *bigEndianCodepageRanges = reinterpret_cast(data + 78); @@ -633,10 +592,7 @@ QList QRawFont::supportedWritingSystems() const */ bool QRawFont::supportsCharacter(QChar character) const { - if (!isValid()) - return false; - - return d->fontEngine->canRender(&character, 1); + return d->isValid() && d->fontEngine->canRender(&character, 1); } /*! @@ -647,9 +603,6 @@ bool QRawFont::supportsCharacter(QChar character) const */ bool QRawFont::supportsCharacter(quint32 ucs4) const { - if (!isValid()) - return false; - QChar str[2]; int len; if (!QChar::requiresSurrogates(ucs4)) { @@ -661,7 +614,7 @@ bool QRawFont::supportsCharacter(quint32 ucs4) const len = 2; } - return d->fontEngine->canRender(str, len); + return d->isValid() && d->fontEngine->canRender(str, len); } // qfontdatabase.cpp @@ -673,6 +626,7 @@ extern int qt_script_for_writing_system(QFontDatabase::WritingSystem writingSyst */ QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writingSystem) { + QRawFont rawFont; #if defined(Q_WS_MAC) QTextLayout layout(QFontDatabase::writingSystemSample(writingSystem), font); layout.beginLayout(); @@ -683,14 +637,12 @@ QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writ // Pick the one matches the family name we originally requested, // if none of them match, just pick the first one for (int i = 0; i < list.size(); i++) { - QGlyphRun glyphs = list.at(i); - QRawFont rawfont = glyphs.rawFont(); + rawfont = list.at(i).rawFont(); if (rawfont.familyName() == font.family()) return rawfont; } return list.at(0).rawFont(); } - return QRawFont(); #else QFontPrivate *font_d = QFontPrivate::get(font); int script = qt_script_for_writing_system(writingSystem); @@ -706,15 +658,12 @@ QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writ } if (fe != 0) { - QRawFont rawFont; rawFont.d.data()->fontEngine = fe; rawFont.d.data()->fontEngine->ref.ref(); rawFont.d.data()->hintingPreference = font.hintingPreference(); - return rawFont; - } else { - return QRawFont(); } #endif + return rawFont; } /*! @@ -725,7 +674,7 @@ void QRawFont::setPixelSize(qreal pixelSize) if (d->fontEngine == 0) return; - detach(); + d.detach(); QFontEngine *oldFontEngine = d->fontEngine; d->fontEngine = d->fontEngine->cloneWithSize(pixelSize); @@ -740,15 +689,6 @@ void QRawFont::setPixelSize(qreal pixelSize) /*! \internal */ -void QRawFont::detach() -{ - if (d->ref != 1) - d.detach(); -} - -/*! - \internal -*/ void QRawFontPrivate::cleanUp() { platformCleanUp(); diff --git a/src/gui/text/qrawfont.h b/src/gui/text/qrawfont.h index 1edbf4a..cf77996 100644 --- a/src/gui/text/qrawfont.h +++ b/src/gui/text/qrawfont.h @@ -135,9 +135,6 @@ public: private: friend class QRawFontPrivate; - - void detach(); - QExplicitlySharedDataPointer d; }; diff --git a/src/gui/text/qrawfont_p.h b/src/gui/text/qrawfont_p.h index 84e83cf..3557751 100644 --- a/src/gui/text/qrawfont_p.h +++ b/src/gui/text/qrawfont_p.h @@ -54,7 +54,9 @@ // #include "qrawfont.h" + #include "qfontengine_p.h" +#include #include #if !defined(QT_NO_RAWFONT) @@ -92,6 +94,12 @@ public: cleanUp(); } + inline bool isValid() const + { + Q_ASSERT(thread == 0 || thread == QThread::currentThread()); + return fontEngine != 0; + } + void cleanUp(); void platformCleanUp(); void platformLoadFromData(const QByteArray &fontData, diff --git a/src/gui/text/qrawfont_win.cpp b/src/gui/text/qrawfont_win.cpp index 4d2305f..ea1e75b 100644 --- a/src/gui/text/qrawfont_win.cpp +++ b/src/gui/text/qrawfont_win.cpp @@ -40,6 +40,9 @@ ****************************************************************************/ #include "qrawfont_p.h" + +#if !defined(QT_NO_RAWFONT) + #include #if !defined(QT_NO_DIRECTWRITE) @@ -47,8 +50,6 @@ # include #endif -#if !defined(QT_NO_RAWFONT) - QT_BEGIN_NAMESPACE namespace { @@ -155,7 +156,7 @@ namespace { class EmbeddedFont { public: - EmbeddedFont(const QByteArray &fontData); + EmbeddedFont(const QByteArray &fontData) : m_fontData(fontData) {} QString changeFamilyName(const QString &newFamilyName); QByteArray data() const { return m_fontData; } @@ -166,10 +167,6 @@ namespace { QByteArray m_fontData; }; - EmbeddedFont::EmbeddedFont(const QByteArray &fontData) : m_fontData(fontData) - { - } - TableDirectory *EmbeddedFont::tableDirectoryEntry(const QByteArray &tagName) { Q_ASSERT(tagName.size() == 4); @@ -551,22 +548,21 @@ void QRawFontPrivate::platformCleanUp() } } -void QRawFontPrivate::platformLoadFromData(const QByteArray &_fontData, +void QRawFontPrivate::platformLoadFromData(const QByteArray &fontData, qreal pixelSize, QFont::HintingPreference hintingPreference) { - QByteArray fontData(_fontData); EmbeddedFont font(fontData); #if !defined(QT_NO_DIRECTWRITE) if (hintingPreference == QFont::PreferDefaultHinting - || hintingPreference == QFont::PreferFullHinting) + || hintingPreference == QFont::PreferFullHinting) #endif { GUID guid; CoCreateGuid(&guid); - QString uniqueFamilyName = QString::fromLatin1("f") + QString uniqueFamilyName = QLatin1Char('f') + QString::number(guid.Data1, 36) + QLatin1Char('-') + QString::number(guid.Data2, 36) + QLatin1Char('-') + QString::number(guid.Data3, 36) + QLatin1Char('-') @@ -582,9 +578,7 @@ void QRawFontPrivate::platformLoadFromData(const QByteArray &_fontData, resolveGdi32(); if (ptrAddFontMemResourceEx && ptrRemoveFontMemResourceEx) { DWORD count = 0; - fontData = font.data(); - fontHandle = ptrAddFontMemResourceEx(fontData.data(), fontData.size(), 0, &count); - + fontHandle = ptrAddFontMemResourceEx((void *)fontData.constData(), fontData.size(), 0, &count); if (count == 0 && fontHandle != NULL) { ptrRemoveFontMemResourceEx(fontHandle); fontHandle = NULL; -- cgit v0.12 From ddf5a09d469a1ded5490cffe54e0013a0d5ba347 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Thu, 1 Sep 2011 15:04:33 +0100 Subject: Fix comparison of absolute, unclean paths in QDir QDir::operator== was creating a clean absolute path for comparison purposes if the original path was relative. However original absolute paths were trusted, even though they could be unclean. Now they are checked for cleanliness first. Task-Number: QTBUG-19995 Task-Number: QTBUG-20495 Change-Id: I047a1a40ae5151e4604085e4ac87f30a4e4979c4 Reviewed-on: http://codereview.qt.nokia.com/4099 Reviewed-by: Qt Sanity Bot Reviewed-by: Prasanth Ullattil --- src/corelib/io/qdir.cpp | 2 +- src/corelib/io/qfilesystementry.cpp | 31 +++++++++++++++++++++ src/corelib/io/qfilesystementry_p.h | 1 + tests/auto/qdir/tst_qdir.cpp | 13 +++++++++ .../auto/qfilesystementry/tst_qfilesystementry.cpp | 32 ++++++++++++++++++++++ 5 files changed, 78 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index c0c62e1..3271148 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -198,7 +198,7 @@ inline void QDirPrivate::resolveAbsoluteEntry() const QString absoluteName; if (fileEngine.isNull()) { - if (!dirEntry.isRelative()) { + if (!dirEntry.isRelative() && dirEntry.isClean()) { absoluteDirEntry = dirEntry; return; } diff --git a/src/corelib/io/qfilesystementry.cpp b/src/corelib/io/qfilesystementry.cpp index bb7cb4e..2f37542 100644 --- a/src/corelib/io/qfilesystementry.cpp +++ b/src/corelib/io/qfilesystementry.cpp @@ -380,4 +380,35 @@ void QFileSystemEntry::findFileNameSeparators() const } } +bool QFileSystemEntry::isClean() const +{ + resolveFilePath(); + int dots = 0; + bool dotok = true; // checking for ".." or "." starts to relative paths + bool slashok = true; + for (QString::const_iterator iter = m_filePath.constBegin(); iter != m_filePath.constEnd(); iter++) { + if (*iter == QLatin1Char('/')) { + if (dots == 1 || dots == 2) + return false; // path contains "./" or "../" + if (!slashok) + return false; // path contains "//" + dots = 0; + dotok = true; + slashok = false; + } else if (dotok) { + slashok = true; + if (*iter == QLatin1Char('.')) { + dots++; + if (dots > 2) + dotok = false; + } else { + //path element contains a character other than '.', it's clean + dots = 0; + dotok = false; + } + } + } + return (dots != 1 && dots != 2); // clean if path doesn't end in . or .. +} + QT_END_NAMESPACE diff --git a/src/corelib/io/qfilesystementry_p.h b/src/corelib/io/qfilesystementry_p.h index 34b083a..8d524c0 100644 --- a/src/corelib/io/qfilesystementry_p.h +++ b/src/corelib/io/qfilesystementry_p.h @@ -91,6 +91,7 @@ public: QString completeSuffix() const; bool isAbsolute() const; bool isRelative() const; + bool isClean() const; #if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN) bool isDriveRoot() const; diff --git a/tests/auto/qdir/tst_qdir.cpp b/tests/auto/qdir/tst_qdir.cpp index 419eaae..7e5ec79 100644 --- a/tests/auto/qdir/tst_qdir.cpp +++ b/tests/auto/qdir/tst_qdir.cpp @@ -1133,6 +1133,11 @@ void tst_QDir::absolutePath_data() QTest::newRow("4") << "c:/machine/share/dir1" << "c:/machine/share/dir1"; QTest::newRow("5") << "c:\\machine\\share\\dir1" << "c:/machine/share/dir1"; #endif + //test dirty paths are cleaned (QTBUG-19995) + QTest::newRow("/home/qt/.") << QDir::rootPath() + "home/qt/." << QDir::rootPath() + "home/qt"; + QTest::newRow("/system/data/../config") << QDir::rootPath() + "system/data/../config" << QDir::rootPath() + "system/config"; + QTest::newRow("//home//qt/") << QDir::rootPath() + "/home//qt/" << QDir::rootPath() + "home/qt"; + QTest::newRow("foo/../bar") << "foo/../bar" << QDir::currentPath() + "/bar"; QTest::newRow("resource") << ":/prefix/foo.bar" << ":/prefix/foo.bar"; } @@ -1942,6 +1947,14 @@ void tst_QDir::equalityOperator_data() << "./entrylist" << "*.cpp" << int(QDir::Name) << int(QDir::Files) << true; + QTest::newRow("QTBUG-20495") << QDir::currentPath() + "/entrylist/.." << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << "." << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << true; + + QTest::newRow("QTBUG-20495-root") << QDir::rootPath() + "tmp/.." << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << QDir::rootPath() << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << true; + QTest::newRow("diff-filters") << SRCDIR << "*.cpp" << int(QDir::Name) << int(QDir::Files) << SRCDIR << "*.cpp" << int(QDir::Name) << int(QDir::Dirs) << false; diff --git a/tests/auto/qfilesystementry/tst_qfilesystementry.cpp b/tests/auto/qfilesystementry/tst_qfilesystementry.cpp index 016bcbf..2daabee 100644 --- a/tests/auto/qfilesystementry/tst_qfilesystementry.cpp +++ b/tests/auto/qfilesystementry/tst_qfilesystementry.cpp @@ -68,6 +68,8 @@ private slots: void absoluteOrRelative_data(); void absoluteOrRelative(); #endif + void isClean_data(); + void isClean(); }; #if defined(WIN_STUFF) @@ -383,5 +385,35 @@ void tst_QFileSystemEntry::absoluteOrRelative() } #endif +void tst_QFileSystemEntry::isClean_data() +{ + QTest::addColumn("path"); + QTest::addColumn("isClean"); + + QTest::newRow("simple") << "foo" << true; + QTest::newRow("complex") << "/foo/bar/bz" << true; + QTest::newRow(".file") << "/foo/.file" << true; + QTest::newRow("..file") << "/foo/..file" << true; + QTest::newRow("...") << "/foo/.../bar" << true; + QTest::newRow("./") << "./" << false; + QTest::newRow("../") << "../" << false; + QTest::newRow(".") << "." << false; + QTest::newRow("..") << ".." << false; + QTest::newRow("/.") << "/." << false; + QTest::newRow("/..") << "/.." << false; + QTest::newRow("/../") << "foo/../bar" << false; + QTest::newRow("/./") << "foo/./bar" << false; + QTest::newRow("//") << "foo//bar" << false; +} + +void tst_QFileSystemEntry::isClean() +{ + QFETCH(QString, path); + QFETCH(bool, isClean); + + QFileSystemEntry fi(path); + QCOMPARE(fi.isClean(), isClean); +} + QTEST_MAIN(tst_QFileSystemEntry) #include -- cgit v0.12 From 220048de8130bbe6059af0a05c7328ae0048bf42 Mon Sep 17 00:00:00 2001 From: Casper van Donderen Date: Fri, 2 Sep 2011 14:50:12 +0200 Subject: Fix assert error on Windows with a negative char. Reviewed-by: Denis Dzyubenko Fixes: QTBUG-20228 --- tools/qdoc3/cppcodemarker.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp index 2067716..9af7b9e 100644 --- a/tools/qdoc3/cppcodemarker.cpp +++ b/tools/qdoc3/cppcodemarker.cpp @@ -947,13 +947,13 @@ QString CppCodeMarker::addMarkUp(const QString &in, QString tag; bool target = false; - if (isalpha(ch) || ch == '_') { + if (isalpha((unsigned char) ch) || ch == '_') { QString ident; do { ident += ch; finish = i; readChar(); - } while (ch >= 0 && isalnum(ch) || ch == '_'); + } while (isalnum((unsigned char) ch) || ch == '_'); if (classRegExp.exactMatch(ident)) { tag = QLatin1String("type"); @@ -970,11 +970,11 @@ QString CppCodeMarker::addMarkUp(const QString &in, tag = QLatin1String("func"); target = true; } - } else if (isdigit(ch)) { + } else if (isdigit((unsigned char) ch)) { do { finish = i; readChar(); - } while (isalnum(ch) || ch == '.'); + } while (isalnum((unsigned char) ch) || ch == '.'); tag = QLatin1String("number"); } else { switch (ch) { -- cgit v0.12 From 47cc8102def2e9b0c1dbc9ae4055fe595915e0e4 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Thu, 30 Jun 2011 19:08:43 +0200 Subject: Modified \since command behavior slightly to handle project and version. (The since argument can contain a project name and version, defaulting to the qdoc project if only a version number is specified.) Refactored common code into the Generator class. Fixed \sincelist HTML generation for tables containing only one item. (cherry picked from commit 6a2f18140bbc41207eb2f5e2323b699600d89606) Reapplied after bad v4.7.4 merge --- tools/qdoc3/ditaxmlgenerator.cpp | 83 ----------------------- tools/qdoc3/ditaxmlgenerator.h | 11 --- tools/qdoc3/doc.cpp | 2 +- tools/qdoc3/generator.cpp | 142 +++++++++++++++++++++++++++++++++++++-- tools/qdoc3/generator.h | 6 ++ tools/qdoc3/htmlgenerator.cpp | 103 +++++----------------------- tools/qdoc3/htmlgenerator.h | 11 --- tools/qdoc3/node.cpp | 10 +++ tools/qdoc3/node.h | 2 +- 9 files changed, 168 insertions(+), 202 deletions(-) diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp index 4393e8d..0d5b4d3 100644 --- a/tools/qdoc3/ditaxmlgenerator.cpp +++ b/tools/qdoc3/ditaxmlgenerator.cpp @@ -62,25 +62,6 @@ QT_BEGIN_NAMESPACE #define COMMAND_VERSION Doc::alias("version") int DitaXmlGenerator::id = 0; -QString DitaXmlGenerator::sinceTitles[] = - { - " New Namespaces", - " New Classes", - " New Member Functions", - " New Functions in Namespaces", - " New Global Functions", - " New Macros", - " New Enum Types", - " New Typedefs", - " New Properties", - " New Variables", - " New QML Elements", - " New Qml Properties", - " New Qml Signal Handlers", - " New Qml Methods", - "" - }; - /* The strings in this array must appear in the same order as the values in enum DitaXmlGenerator::DitaTag. @@ -3954,70 +3935,6 @@ void DitaXmlGenerator::findAllClasses(const InnerNode* node) } } -/*! - For generating the "New Classes... in 4.x" section on the - What's New in 4.x" page. - */ -void DitaXmlGenerator::findAllSince(const InnerNode* node) -{ - NodeList::const_iterator child = node->childNodes().constBegin(); - while (child != node->childNodes().constEnd()) { - QString sinceVersion = (*child)->since(); - if (((*child)->access() != Node::Private) && !sinceVersion.isEmpty()) { - NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceVersion); - if (nsmap == newSinceMaps.end()) - nsmap = newSinceMaps.insert(sinceVersion,NodeMultiMap()); - NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion); - if (ncmap == newClassMaps.end()) - ncmap = newClassMaps.insert(sinceVersion,NodeMap()); - NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceVersion); - if (nqcmap == newQmlClassMaps.end()) - nqcmap = newQmlClassMaps.insert(sinceVersion,NodeMap()); - - if ((*child)->type() == Node::Function) { - FunctionNode *func = static_cast(*child); - if ((func->status() > Node::Obsolete) && - (func->metaness() != FunctionNode::Ctor) && - (func->metaness() != FunctionNode::Dtor)) { - nsmap.value().insert(func->name(),(*child)); - } - } - else if ((*child)->url().isEmpty()) { - if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - ncmap.value().insert(className,(*child)); - } - else if ((*child)->subType() == Node::QmlClass) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - nqcmap.value().insert(className,(*child)); - } - } - else { - QString name = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - name = (*child)->parent()->name()+"::"+name; - nsmap.value().insert(name,(*child)); - } - if ((*child)->isInnerNode()) { - findAllSince(static_cast(*child)); - } - } - ++child; - } -} - void DitaXmlGenerator::findAllFunctions(const InnerNode* node) { NodeList::ConstIterator c = node->childNodes().begin(); diff --git a/tools/qdoc3/ditaxmlgenerator.h b/tools/qdoc3/ditaxmlgenerator.h index 408f46c..d8d3563 100644 --- a/tools/qdoc3/ditaxmlgenerator.h +++ b/tools/qdoc3/ditaxmlgenerator.h @@ -51,12 +51,6 @@ QT_BEGIN_NAMESPACE -typedef QMultiMap NodeMultiMap; -typedef QMap NewSinceMaps; -typedef QMap ParentMaps; -typedef QMap NodeMap; -typedef QMap NewClassMaps; - typedef QMap GuidMap; typedef QMap GuidMaps; @@ -418,7 +412,6 @@ class DitaXmlGenerator : public PageGenerator void findAllFunctions(const InnerNode *node); void findAllLegaleseTexts(const InnerNode *node); void findAllNamespaces(const InnerNode *node); - void findAllSince(const InnerNode *node); static int hOffset(const Node *node); static bool isThreeColumnEnumValueTable(const Atom *atom); virtual QString getLink(const Atom *atom, @@ -515,10 +508,6 @@ class DitaXmlGenerator : public PageGenerator #endif QMap funcIndex; QMap legaleseTexts; - NewSinceMaps newSinceMaps; - static QString sinceTitles[]; - NewClassMaps newClassMaps; - NewClassMaps newQmlClassMaps; static int id; static QString ditaTags[]; QStack xmlWriterStack; diff --git a/tools/qdoc3/doc.cpp b/tools/qdoc3/doc.cpp index f0c4264..f1f1418 100644 --- a/tools/qdoc3/doc.cpp +++ b/tools/qdoc3/doc.cpp @@ -828,7 +828,7 @@ void DocParser::parse(const QString& source, append(Atom::AnnotatedList, getArgument()); break; case CMD_SINCELIST: - append(Atom::SinceList, getArgument()); + append(Atom::SinceList, getRestOfLine().simplified()); break; case CMD_GENERATELIST: append(Atom::GeneratedList, getArgument()); diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index 3367301..c20d2b4 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -77,6 +77,25 @@ QString Generator::outDir; QString Generator::project; QHash Generator::outputPrefixes; +QString Generator::sinceTitles[] = + { + " New Namespaces", + " New Classes", + " New Member Functions", + " New Functions in Namespaces", + " New Global Functions", + " New Macros", + " New Enum Types", + " New Typedefs", + " New Properties", + " New Variables", + " New QML Elements", + " New QML Properties", + " New QML Signals", + " New QML Methods", + "" + }; + static void singularPlural(Text& text, const NodeList& nodes) { if (nodes.count() == 1) @@ -760,8 +779,18 @@ QString Generator::typeString(const Node *node) case Node::Class: return "class"; case Node::Fake: - default: - return "documentation"; + { + switch (node->subType()) { + case Node::QmlClass: + return "element"; + case Node::QmlPropertyGroup: + return "property group"; + case Node::QmlBasicType: + return "type"; + default: + return "documentation"; + } + } case Node::Enum: return "enum"; case Node::Typedef: @@ -770,6 +799,8 @@ QString Generator::typeString(const Node *node) return "function"; case Node::Property: return "property"; + default: + return "documentation"; } } @@ -1091,11 +1122,21 @@ void Generator::generateSince(const Node *node, CodeMarker *marker) text << " was introduced or modified in "; else text << " was introduced in "; - if (project.isEmpty()) - text << "version"; - else - text << project; - text << " " << node->since() << "." << Atom::ParaRight; + + QStringList since = node->since().split(" "); + if (since.count() == 1) { + // Handle legacy use of \since . + if (project.isEmpty()) + text << "version"; + else + text << project; + text << " " << since[0]; + } else { + // Reconstruct the string. + text << " " << since.join(" "); + } + + text << "." << Atom::ParaRight; generateText(text, node, marker); } } @@ -1346,4 +1387,91 @@ QStringList Generator::getMetadataElements(const InnerNode* inner, const QString return s; } +/*! + For generating the "New Classes... in 4.6" section on the + What's New in 4.6" page. + */ +void Generator::findAllSince(const InnerNode *node) +{ + NodeList::const_iterator child = node->childNodes().constBegin(); + + // Traverse the tree, starting at the node supplied. + + while (child != node->childNodes().constEnd()) { + + QString sinceString = (*child)->since(); + + if (((*child)->access() != Node::Private) && !sinceString.isEmpty()) { + + // Insert a new entry into each map for each new since string found. + NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceString); + if (nsmap == newSinceMaps.end()) + nsmap = newSinceMaps.insert(sinceString,NodeMultiMap()); + + NewClassMaps::iterator ncmap = newClassMaps.find(sinceString); + if (ncmap == newClassMaps.end()) + ncmap = newClassMaps.insert(sinceString,NodeMap()); + + NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceString); + if (nqcmap == newQmlClassMaps.end()) + nqcmap = newQmlClassMaps.insert(sinceString,NodeMap()); + + if ((*child)->type() == Node::Function) { + // Insert functions into the general since map. + FunctionNode *func = static_cast(*child); + if ((func->status() > Node::Obsolete) && + (func->metaness() != FunctionNode::Ctor) && + (func->metaness() != FunctionNode::Dtor)) { + nsmap.value().insert(func->name(),(*child)); + } + } + else if ((*child)->url().isEmpty()) { + if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { + // Insert classes into the since and class maps. + QString className = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + className = (*child)->parent()->name()+"::"+className; + + nsmap.value().insert(className,(*child)); + ncmap.value().insert(className,(*child)); + } + else if ((*child)->subType() == Node::QmlClass) { + // Insert QML elements into the since and element maps. + QString className = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + className = (*child)->parent()->name()+"::"+className; + + nsmap.value().insert(className,(*child)); + nqcmap.value().insert(className,(*child)); + } + else if ((*child)->type() == Node::QmlProperty) { + // Insert QML properties into the since map. + QString propertyName = (*child)->name(); + nsmap.value().insert(propertyName,(*child)); + } + } + else { + // Insert external documents into the general since map. + QString name = (*child)->name(); + if ((*child)->parent() && + (*child)->parent()->type() == Node::Namespace && + !(*child)->parent()->name().isEmpty()) + name = (*child)->parent()->name()+"::"+name; + + nsmap.value().insert(name,(*child)); + } + + // Find child nodes with since commands. + if ((*child)->isInnerNode()) { + findAllSince(static_cast(*child)); + } + } + ++child; + } +} + QT_END_NAMESPACE diff --git a/tools/qdoc3/generator.h b/tools/qdoc3/generator.h index bac7c61..e66915b 100644 --- a/tools/qdoc3/generator.h +++ b/tools/qdoc3/generator.h @@ -158,6 +158,7 @@ class Generator QString getMetadataElement(const InnerNode* inner, const QString& t); QStringList getMetadataElements(const InnerNode* inner, const QString& t); + void findAllSince(const InnerNode *node); private: void generateReimplementedFrom(const FunctionNode *func, @@ -186,6 +187,11 @@ class Generator const NodeList& subs, CodeMarker *marker); + static QString sinceTitles[]; + NewSinceMaps newSinceMaps; + NewClassMaps newClassMaps; + NewClassMaps newQmlClassMaps; + private: QString amp; QString lt; diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp index e79e180..85ce9ac 100644 --- a/tools/qdoc3/htmlgenerator.cpp +++ b/tools/qdoc3/htmlgenerator.cpp @@ -66,25 +66,6 @@ bool HtmlGenerator::debugging_on = false; QString HtmlGenerator::divNavTop = ""; -QString HtmlGenerator::sinceTitles[] = - { - " New Namespaces", - " New Classes", - " New Member Functions", - " New Functions in Namespaces", - " New Global Functions", - " New Macros", - " New Enum Types", - " New Typedefs", - " New Properties", - " New Variables", - " New QML Elements", - " New QML Properties", - " New QML Signal Handlers", - " New QML Methods", - "" - }; - static bool showBrokenLinks = false; static QRegExp linkTag("(<@link node=\"([^\"]+)\">).*()"); @@ -612,14 +593,18 @@ int HtmlGenerator::generateAtom(const Atom *atom, ncmap = newClassMaps.find(atom->string()); NewClassMaps::const_iterator nqcmap; nqcmap = newQmlClassMaps.find(atom->string()); + if ((nsmap != newSinceMaps.constEnd()) && !nsmap.value().isEmpty()) { QList
    sections; QList
    ::ConstIterator s; + for (int i=0; itype()) { case Node::Fake: @@ -1361,6 +1346,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) // Generate brief text and status for modules. generateBrief(fake, marker); generateStatus(fake, marker); + generateSince(fake, marker); if (moduleNamespaceMap.contains(fake->name())) { out() << "" << divNavTop << "\n"; @@ -1377,6 +1363,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) // Generate brief text and status for modules. generateBrief(fake, marker); generateStatus(fake, marker); + generateSince(fake, marker); out() << "
      \n"; @@ -1408,6 +1395,7 @@ void HtmlGenerator::generateFakeNode(const FakeNode *fake, CodeMarker *marker) generateQmlInherits(qml_cn, marker); generateQmlInheritedBy(qml_cn, marker); generateQmlInstantiates(qml_cn, marker); + generateSince(qml_cn, marker); QString allQmlMembersLink = generateAllQmlMembersFile(qml_cn, marker); if (!allQmlMembersLink.isEmpty()) { @@ -2258,9 +2246,6 @@ void HtmlGenerator::generateCompactList(const Node *relative, for (int i=0; i element to contain all the
      elements. */ out() << "
      \n"; + numTableRows = 0; + + int curParNr = 0; + int curParOffset = 0; - for (int i=0; i\n"; curParOffset++; } - out() << "
      \n"; + if (classMap.count() > 0) + out() << "\n"; + out() << "\n"; } @@ -3373,70 +3364,6 @@ void HtmlGenerator::findAllClasses(const InnerNode *node) } } -/*! - For generating the "New Classes... in 4.6" section on the - What's New in 4.6" page. - */ -void HtmlGenerator::findAllSince(const InnerNode *node) -{ - NodeList::const_iterator child = node->childNodes().constBegin(); - while (child != node->childNodes().constEnd()) { - QString sinceVersion = (*child)->since(); - if (((*child)->access() != Node::Private) && !sinceVersion.isEmpty()) { - NewSinceMaps::iterator nsmap = newSinceMaps.find(sinceVersion); - if (nsmap == newSinceMaps.end()) - nsmap = newSinceMaps.insert(sinceVersion,NodeMultiMap()); - NewClassMaps::iterator ncmap = newClassMaps.find(sinceVersion); - if (ncmap == newClassMaps.end()) - ncmap = newClassMaps.insert(sinceVersion,NodeMap()); - NewClassMaps::iterator nqcmap = newQmlClassMaps.find(sinceVersion); - if (nqcmap == newQmlClassMaps.end()) - nqcmap = newQmlClassMaps.insert(sinceVersion,NodeMap()); - - if ((*child)->type() == Node::Function) { - FunctionNode *func = static_cast(*child); - if ((func->status() > Node::Obsolete) && - (func->metaness() != FunctionNode::Ctor) && - (func->metaness() != FunctionNode::Dtor)) { - nsmap.value().insert(func->name(),(*child)); - } - } - else if ((*child)->url().isEmpty()) { - if ((*child)->type() == Node::Class && !(*child)->doc().isEmpty()) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - ncmap.value().insert(className,(*child)); - } - else if ((*child)->subType() == Node::QmlClass) { - QString className = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - className = (*child)->parent()->name()+"::"+className; - nsmap.value().insert(className,(*child)); - nqcmap.value().insert(className,(*child)); - } - } - else { - QString name = (*child)->name(); - if ((*child)->parent() && - (*child)->parent()->type() == Node::Namespace && - !(*child)->parent()->name().isEmpty()) - name = (*child)->parent()->name()+"::"+name; - nsmap.value().insert(name,(*child)); - } - if ((*child)->isInnerNode()) { - findAllSince(static_cast(*child)); - } - } - ++child; - } -} - void HtmlGenerator::findAllFunctions(const InnerNode *node) { NodeList::ConstIterator c = node->childNodes().begin(); diff --git a/tools/qdoc3/htmlgenerator.h b/tools/qdoc3/htmlgenerator.h index 70508a0..62a7f605 100644 --- a/tools/qdoc3/htmlgenerator.h +++ b/tools/qdoc3/htmlgenerator.h @@ -56,12 +56,6 @@ QT_BEGIN_NAMESPACE -typedef QMultiMap NodeMultiMap; -typedef QMap NewSinceMaps; -typedef QMap ParentMaps; -typedef QMap NodeMap; -typedef QMap NewClassMaps; - class HelpProjectWriter; class HtmlGenerator : public PageGenerator @@ -227,7 +221,6 @@ class HtmlGenerator : public PageGenerator void findAllFunctions(const InnerNode *node); void findAllLegaleseTexts(const InnerNode *node); void findAllNamespaces(const InnerNode *node); - void findAllSince(const InnerNode *node); static int hOffset(const Node *node); static bool isThreeColumnEnumValueTable(const Atom *atom); virtual QString getLink(const Atom *atom, @@ -296,10 +289,6 @@ class HtmlGenerator : public PageGenerator NodeMap qmlClasses; QMap funcIndex; QMap legaleseTexts; - NewSinceMaps newSinceMaps; - static QString sinceTitles[]; - NewClassMaps newClassMaps; - NewClassMaps newQmlClassMaps; static int id; public: static bool debugging_on; diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index 41de23e..709f03f 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -159,6 +159,16 @@ void Node::setLink(LinkType linkType, const QString &link, const QString &desc) } /*! + Sets the information about the project and version a node was introduced + in. The string is simplified, removing excess whitespace before being + stored. +*/ +void Node::setSince(const QString &since) +{ + sinc = since.simplified(); +} + +/*! Returns a string representing the access specifier. */ QString Node::accessString() const diff --git a/tools/qdoc3/node.h b/tools/qdoc3/node.h index 3b031b6..a08151a 100644 --- a/tools/qdoc3/node.h +++ b/tools/qdoc3/node.h @@ -159,7 +159,7 @@ class Node void setDoc(const Doc& doc, bool replace = false); void setStatus(Status status) { sta = status; } void setThreadSafeness(ThreadSafeness safeness) { saf = safeness; } - void setSince(const QString &since) { sinc = since; } + void setSince(const QString &since); void setRelates(InnerNode* pseudoParent); void setModuleName(const QString &module) { mod = module; } void setLink(LinkType linkType, const QString &link, const QString &desc); -- cgit v0.12 From 29ceb95f9f1199711ca07ee8d7a1e93b446ab344 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Fri, 2 Sep 2011 16:54:58 +0300 Subject: Fix Coverity findings from QS60Style Fix issues found out by static analysis tool Coverity from QS60Style. Task-number: QT-4843 Reviewed-by: Miikka Heikkinen --- src/gui/styles/qs60style.cpp | 10 +++++++--- src/gui/styles/qs60style_s60.cpp | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 48363de..56420af 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -2539,13 +2539,17 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, //Make toolbuttons in toolbar stretch the whole screen area if (widget && qobject_cast(widget->parentWidget())) { const QToolBar *tb = qobject_cast(widget->parentWidget()); - const bool parentCanGrowHorizontally = !(tb->sizePolicy().horizontalPolicy() == QSizePolicy::Fixed || - tb->sizePolicy().horizontalPolicy() == QSizePolicy::Maximum) && tb->orientation() == Qt::Horizontal; + bool parentCanGrowHorizontally = false; + if (tb) { + parentCanGrowHorizontally = !(tb->sizePolicy().horizontalPolicy() == QSizePolicy::Fixed + || tb->sizePolicy().horizontalPolicy() == QSizePolicy::Maximum) + && tb->orientation() == Qt::Horizontal; + } if (parentCanGrowHorizontally) { int buttons = 0; //Make the auto-stretch to happen only for horizontal orientation - if (tb && tb->orientation() == Qt::Horizontal) { + if (tb->orientation() == Qt::Horizontal) { QList actionList = tb->actions(); for (int i = 0; i < actionList.count(); i++) { buttons++; diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index e58b463..cfb10fa 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -985,8 +985,8 @@ QPixmap QS60StyleModeSpecifics::createSkinnedGraphicsLX( break; } case EDrawAnimation: { - CFbsBitmap* animationFrame; - CFbsBitmap* frameMask; + CFbsBitmap* animationFrame = 0; + CFbsBitmap* frameMask = 0; CAknBitmapAnimation* aknAnimation = 0; TBool constructedFromTheme = ETrue; -- cgit v0.12 From 4cc331dc1713758d41f6ddf4b1dd2ed5acb8347f Mon Sep 17 00:00:00 2001 From: luohua Date: Fri, 2 Sep 2011 16:47:56 +0200 Subject: Fixed compiling error in qvfb. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge-request: 1324 Reviewed-by: Samuel Rødal --- tools/qvfb/qvfb.pro | 10 ++++++++-- tools/qvfb/qvfbshmem.cpp | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro index 29ce202..b5645a3 100644 --- a/tools/qvfb/qvfb.pro +++ b/tools/qvfb/qvfb.pro @@ -16,7 +16,10 @@ HEADERS = qvfb.h \ gammaview.h \ qvfbprotocol.h \ qvfbshmem.h \ - qvfbmmap.h + qvfbmmap.h \ + ../../src/gui/embedded/qlock_p.h \ + ../../src/gui/embedded/qwslock_p.h \ + ../../src/gui/embedded/qwssignalhandler_p.h SOURCES = qvfb.cpp \ qvfbview.cpp \ @@ -25,7 +28,10 @@ SOURCES = qvfb.cpp \ qanimationwriter.cpp \ qvfbprotocol.cpp \ qvfbshmem.cpp \ - qvfbmmap.cpp + qvfbmmap.cpp \ + ../../src/gui/embedded/qlock.cpp \ + ../../src/gui/embedded/qwslock.cpp \ + ../../src/gui/embedded/qwssignalhandler.cpp include(../shared/deviceskin/deviceskin.pri) diff --git a/tools/qvfb/qvfbshmem.cpp b/tools/qvfb/qvfbshmem.cpp index c17a680..5a9aa7c 100644 --- a/tools/qvfb/qvfbshmem.cpp +++ b/tools/qvfb/qvfbshmem.cpp @@ -39,6 +39,7 @@ ** ****************************************************************************/ +#include "qplatformdefs.h" #include "qvfbshmem.h" #include #include -- cgit v0.12 From a314ecf9b8b4c9b63432df8caf797fa6b28a433d Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Mon, 5 Sep 2011 09:49:53 +0300 Subject: Fix a bad merge of qs60style.cpp Merge cf2f72f4f61f3a9e0e7573379c33bb341eeba7be caused QS60Style.cpp to pick up unrelated changes from Qt4.7 branch. Reviewed-by: Miikka Heikkinen --- src/gui/styles/qs60style.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 56420af..8655699 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -101,11 +101,8 @@ const int QS60StylePrivate::m_numberOfLayouts = const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = { // *** generated pixel metrics *** -{5,0,-909,0,0,2,0,2,-1,7,12,22,15,15,7,198,-909,-909,-909,20,13,2,0,0,21,7,18,30,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,3,3,3,-909,2,-909,-909,-909,-909,5,5,3,1,106,30,30}, -{5,0,-909,0,0,1,0,2,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,28,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,4,4,4,-909,2,-909,-909,-909,-909,6,6,3,1,106,30,30}, {7,0,-909,0,0,2,0,5,-1,25,69,46,37,37,9,258,-909,-909,-909,23,19,11,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,3,3,6,8,19,-909,7,74,19,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, {7,0,-909,0,0,2,0,5,-1,25,68,46,37,37,9,258,-909,-909,-909,31,19,13,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,3,3,6,8,19,-909,7,74,22,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, -{7,0,-909,0,0,2,0,2,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,30,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,5,6,5,-909,2,-909,-909,-909,-909,5,5,3,1,106,30,30}, {9,0,-909,0,0,2,0,5,-1,30,99,76,51,51,25,352,-909,-909,-909,29,25,7,0,0,43,34,42,76,7,7,2,-909,-909,0,9,14,0,23,39,30,30,37,37,9,391,40,0,-909,-909,-909,-909,0,0,29,2,-909,0,0,-909,29,-909,-909,-909,-909,115,37,96,48,96,2,2,9,1,25,-909,9,101,24,9,0,7,7,7,7,7,7,-909,3,-909,-909,-909,-909,9,9,3,1,184,30,30} // *** End of generated data *** }; -- cgit v0.12 From 4a6617b83612d79c8557102c9d313c28aee2aa0e Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 2 Sep 2011 18:39:16 +0100 Subject: Fix compile error on MSVC2008 Change-Id: I4f6192b9db601076688b52bfd794ea80a7346729 Reviewed-on: http://codereview.qt.nokia.com/4153 Reviewed-by: Qt Sanity Bot Reviewed-by: Prasanth Ullattil --- tests/auto/qfileinfo/tst_qfileinfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/qfileinfo/tst_qfileinfo.cpp b/tests/auto/qfileinfo/tst_qfileinfo.cpp index c7d9979..4e4b92d 100644 --- a/tests/auto/qfileinfo/tst_qfileinfo.cpp +++ b/tests/auto/qfileinfo/tst_qfileinfo.cpp @@ -1395,7 +1395,7 @@ void tst_QFileInfo::ntfsJunctionPointsAndSymlinks_data() wchar_t errstr[0x100]; DWORD count = FormatMessageW(FORMAT_MESSAGE_FROM_SYSTEM, 0, err, 0, errstr, 0x100, 0); - QString error(QString::fromUtf16(errstr, count)); + QString error(QString::fromWCharArray (errstr, count)); qWarning() << error; //we need at least one data set for the test not to assert fail when skipping _data function QDir target("target"); -- cgit v0.12 From ef774ee93cb561d072137f2a11c2d347bedf6342 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 2 Sep 2011 18:40:45 +0100 Subject: Restore Qt4.7 behaviour of QFileInfo::absolute(File)Path Many applications relied on the undefined behaviour that the filesystem engines returned clean paths (despite the documentation stating that they may not), and consequently suffered regressions with Qt 4.8. Unix paths are once again cleaned if necessary. Windows/Symbian paths were already cleaned, but now use the utility function to check if a path is dirty, to avoid duplicated code. Task-number: QTBUG-19995 Change-Id: If8c18469f149291c9d079ae3da23bc2087bbd49a Reviewed-on: http://codereview.qt.nokia.com/4154 Reviewed-by: Qt Sanity Bot Reviewed-by: Prasanth Ullattil --- src/corelib/io/qfilesystemengine_symbian.cpp | 4 +--- src/corelib/io/qfilesystemengine_unix.cpp | 2 +- src/corelib/io/qfilesystemengine_win.cpp | 6 +----- tests/auto/qfileinfo/tst_qfileinfo.cpp | 10 +++++++++- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/corelib/io/qfilesystemengine_symbian.cpp b/src/corelib/io/qfilesystemengine_symbian.cpp index 18c52cb..c8c1dfd 100644 --- a/src/corelib/io/qfilesystemengine_symbian.cpp +++ b/src/corelib/io/qfilesystemengine_symbian.cpp @@ -114,9 +114,7 @@ QFileSystemEntry QFileSystemEngine::absoluteName(const QFileSystemEntry &entry) { QString orig = entry.filePath(); const bool isAbsolute = entry.isAbsolute(); - const bool isDirty = (orig.contains(QLatin1String("/../")) || orig.contains(QLatin1String("/./")) || - orig.contains(QLatin1String("//")) || - orig.endsWith(QLatin1String("/..")) || orig.endsWith(QLatin1String("/."))); + const bool isDirty = !entry.isClean(); if (isAbsolute && !isDirty) return entry; diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index b0ebfbd..cfb17de 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -223,7 +223,7 @@ QFileSystemEntry QFileSystemEngine::canonicalName(const QFileSystemEntry &entry, //static QFileSystemEntry QFileSystemEngine::absoluteName(const QFileSystemEntry &entry) { - if (entry.isAbsolute()) + if (entry.isAbsolute() && entry.isClean()) return entry; QByteArray orig = entry.nativeFilePath(); diff --git a/src/corelib/io/qfilesystemengine_win.cpp b/src/corelib/io/qfilesystemengine_win.cpp index 764ee6d..031d64b 100644 --- a/src/corelib/io/qfilesystemengine_win.cpp +++ b/src/corelib/io/qfilesystemengine_win.cpp @@ -508,11 +508,7 @@ QFileSystemEntry QFileSystemEngine::absoluteName(const QFileSystemEntry &entry) if (!entry.isRelative()) { #if !defined(Q_OS_WINCE) - if (entry.isAbsolute() - && !entry.filePath().contains(QLatin1String("/../")) - && !entry.filePath().contains(QLatin1String("/./")) - && !entry.filePath().endsWith(QLatin1String("/..")) - && !entry.filePath().endsWith(QLatin1String("/."))) { + if (entry.isAbsolute() && entry.isClean()) { ret = entry.filePath(); } else { ret = QDir::fromNativeSeparators(nativeAbsoluteFilePath(entry.filePath())); diff --git a/tests/auto/qfileinfo/tst_qfileinfo.cpp b/tests/auto/qfileinfo/tst_qfileinfo.cpp index 4e4b92d..d7d57f6 100644 --- a/tests/auto/qfileinfo/tst_qfileinfo.cpp +++ b/tests/auto/qfileinfo/tst_qfileinfo.cpp @@ -482,6 +482,11 @@ void tst_QFileInfo::absolutePath_data() QTest::newRow("c:\\autoexec.bat") << "c:\\autoexec.bat" << "C:/" << "autoexec.bat"; #endif + QTest::newRow("QTBUG-19995.1") << drivePrefix + "/System/Library/StartupItems/../Frameworks" + << drivePrefix + "/System/Library" + << "Frameworks"; + QTest::newRow("QTBUG-19995.2") << drivePrefix + "/System/Library/StartupItems/../Frameworks/" + << drivePrefix + "/System/Library/Frameworks" << ""; } void tst_QFileInfo::absolutePath() @@ -503,6 +508,7 @@ void tst_QFileInfo::absFilePath_data() QTest::newRow("relativeFile") << "tmp.txt" << QDir::currentPath() + "/tmp.txt"; QTest::newRow("relativeFileInSubDir") << "temp/tmp.txt" << QDir::currentPath() + "/" + "temp/tmp.txt"; + QString drivePrefix; #if (defined(Q_OS_WIN) && !defined(Q_OS_WINCE)) || defined(Q_OS_SYMBIAN) QString curr = QDir::currentPath(); @@ -511,7 +517,7 @@ void tst_QFileInfo::absFilePath_data() QTest::newRow("absFilePath") << "c:\\home\\andy\\tmp.txt" << "C:/home/andy/tmp.txt"; // Make sure drive-relative paths return correct absolute paths (task 255326) - QString drivePrefix = QDir::currentPath().left(2); + drivePrefix = QDir::currentPath().left(2); QString nonCurrentDrivePrefix = drivePrefix.left(1).compare("X", Qt::CaseInsensitive) == 0 ? QString("Y:") : QString("X:"); @@ -521,6 +527,8 @@ void tst_QFileInfo::absFilePath_data() #else QTest::newRow("absFilePath") << "/home/andy/tmp.txt" << "/home/andy/tmp.txt"; #endif + QTest::newRow("QTBUG-19995") << drivePrefix + "/System/Library/StartupItems/../Frameworks" + << drivePrefix + "/System/Library/Frameworks"; } void tst_QFileInfo::absFilePath() -- cgit v0.12 From 85cd78b01812d108f381e42b044abaa888c4146e Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 5 Sep 2011 17:24:07 +0200 Subject: remove obsolete define --- src/plugins/bearer/corewlan/corewlan.pro | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro index 9cb3955..59b1383 100644 --- a/src/plugins/bearer/corewlan/corewlan.pro +++ b/src/plugins/bearer/corewlan/corewlan.pro @@ -7,7 +7,6 @@ LIBS += -framework Foundation -framework SystemConfiguration contains(QT_CONFIG, corewlan) { isEmpty(QMAKE_MAC_SDK)|contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.6.sdk") { LIBS += -framework CoreWLAN -framework Security - DEFINES += MAC_SDK_10_6 } } -- cgit v0.12 From ce1a25fc692abcaa1c825f465d6a158efa953b06 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 5 Sep 2011 17:23:53 +0200 Subject: Ensure that the corewlan plugin can be built with the Mac OS X 10.7 sdk When the 10.7 SDK was specified explicitly then it would fail the check inside the pro file. So this ensures that this is accounted for. Task-number: QTBUG-20516 Merge-request: 2657 Reviewed-by: ossi --- src/plugins/bearer/corewlan/corewlan.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro index 59b1383..5d7a795 100644 --- a/src/plugins/bearer/corewlan/corewlan.pro +++ b/src/plugins/bearer/corewlan/corewlan.pro @@ -5,7 +5,7 @@ QT = core network LIBS += -framework Foundation -framework SystemConfiguration contains(QT_CONFIG, corewlan) { - isEmpty(QMAKE_MAC_SDK)|contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10.6.sdk") { + isEmpty(QMAKE_MAC_SDK)|contains(QMAKE_MAC_SDK, "/Developer/SDKs/MacOSX10\.[67]\.sdk") { LIBS += -framework CoreWLAN -framework Security } } -- cgit v0.12 From 9c86b3b0028d79cbca129afafa33d72d624d65c3 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 5 Sep 2011 17:33:33 +0200 Subject: fix doc typo --- src/corelib/global/qnamespace.qdoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index eabaf10..99f82fa 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -2544,7 +2544,7 @@ will imply to use the layout direction set on the parent widget or QApplication. This has the same effect as QWidget::unsetLayoutDirection(). - When LayoutDirectoinAuto is used in conjunction with text layouting, it will imply that the text + When LayoutDirectionAuto is used in conjunction with text layouting, it will imply that the text directionality is determined from the content of the string to be layouted. \sa QApplication::setLayoutDirection(), QWidget::setLayoutDirection(), QTextOption::setTextDirection(), QString::isRightToLeft() -- cgit v0.12 From 02f55668dada4a23ab84e4d3bda1df8a4984b3ae Mon Sep 17 00:00:00 2001 From: Constantin Makshin Date: Mon, 5 Sep 2011 19:43:00 +0200 Subject: Removed the unnecessary dependency of the QtHelp module on the QtXml one Merge-request: 2669 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/help.prf | 2 +- tools/assistant/lib/lib.pro | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/mkspecs/features/help.prf b/mkspecs/features/help.prf index 15685e7..99521af 100644 --- a/mkspecs/features/help.prf +++ b/mkspecs/features/help.prf @@ -1,4 +1,4 @@ INCLUDEPATH = $$QMAKE_INCDIR_QT/QtHelp $$INCLUDEPATH -QT += xml sql +QT += sql qtAddLibrary(QtHelp) diff --git a/tools/assistant/lib/lib.pro b/tools/assistant/lib/lib.pro index 03821b2..d6c3fce 100644 --- a/tools/assistant/lib/lib.pro +++ b/tools/assistant/lib/lib.pro @@ -1,5 +1,4 @@ QT += sql \ - xml \ network TEMPLATE = lib TARGET = QtHelp -- cgit v0.12 From ff10b5288c18981c672429518d986d883626a2ef Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Tue, 6 Sep 2011 12:52:23 +1000 Subject: Fix typo in header guard. Task-number: QTBUG-21210 --- src/testlib/qtestxmlstreamer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/testlib/qtestxmlstreamer.h b/src/testlib/qtestxmlstreamer.h index 46318a9..d4a9079 100644 --- a/src/testlib/qtestxmlstreamer.h +++ b/src/testlib/qtestxmlstreamer.h @@ -40,7 +40,7 @@ ****************************************************************************/ #ifndef QTESTXMLSTREAMER_H -#define QTESXMLSTREAMER_H +#define QTESTXMLSTREAMER_H #include -- cgit v0.12 From 95ba429db0652e8a8d2e1ef4eccdbde3925b195f Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Tue, 6 Sep 2011 10:28:38 +1000 Subject: Fix implicit height not growing when pre-edit text wraps. QTextDocument::isEmpty() doesn't account for pre-edit text so use the return value of size() to determine if implicitHeight should fall back to the font height instead. Change-Id: I028552a7646372b22894c45946a57ec4951b044a Task-number: QTBUG-21288 Reviewed-by: Martin Jones --- .../graphicsitems/qdeclarativetextedit.cpp | 4 +- .../tst_qdeclarativetextedit.cpp | 44 ++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp index cc5279a..683807e 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp @@ -1713,7 +1713,9 @@ void QDeclarativeTextEdit::updateSize() setImplicitWidth(newWidth); else if (d->requireImplicitWidth) setImplicitWidth(naturalWidth); - qreal newHeight = d->document->isEmpty() ? fm.height() : (int)d->document->size().height(); + qreal newHeight = d->document->size().height(); + if (newHeight == 0) + newHeight = fm.height(); setImplicitHeight(newHeight); d->paintedSize = QSize(newWidth, newHeight); diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index fde0588..33f74a9 100644 --- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -147,6 +147,8 @@ private slots: void pastingRichText_QTBUG_14003(); void implicitSize_data(); void implicitSize(); + void implicitSizePreedit_data(); + void implicitSizePreedit(); void testQtQuick11Attributes(); void testQtQuick11Attributes_data(); @@ -2368,6 +2370,48 @@ void tst_qdeclarativetextedit::implicitSize() QVERIFY(textObject->height() == textObject->implicitHeight()); } +void tst_qdeclarativetextedit::implicitSizePreedit_data() +{ + QTest::addColumn("text"); + QTest::addColumn("wrap"); + QTest::addColumn("wrapped"); + QTest::newRow("plain") << "The quick red fox jumped over the lazy brown dog" << "TextEdit.NoWrap" << false; + QTest::newRow("plain_wrap") << "The quick red fox jumped over the lazy brown dog" << "TextEdit.Wrap" << true; + +} + +void tst_qdeclarativetextedit::implicitSizePreedit() +{ + QFETCH(QString, text); + QFETCH(QString, wrap); + QFETCH(bool, wrapped); + + QString componentStr = "import QtQuick 1.1\nTextEdit { focus: true; width: 50; wrapMode: " + wrap + " }"; + QDeclarativeComponent textComponent(&engine); + textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile("")); + QDeclarativeTextEdit *textObject = qobject_cast(textComponent.create()); + + QGraphicsScene scene; + QGraphicsView view(&scene); + scene.addItem(textObject); + view.show(); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&view)); + + QInputMethodEvent event(text, QList()); + QCoreApplication::sendEvent(&view, &event); + + QVERIFY(textObject->width() < textObject->implicitWidth()); + QVERIFY(textObject->height() == textObject->implicitHeight()); + qreal wrappedHeight = textObject->height(); + + textObject->resetWidth(); + QVERIFY(textObject->width() == textObject->implicitWidth()); + QVERIFY(textObject->height() == textObject->implicitHeight()); + QCOMPARE(textObject->height() < wrappedHeight, wrapped); +} + void tst_qdeclarativetextedit::testQtQuick11Attributes() { QFETCH(QString, code); -- cgit v0.12 From e3a099032895e8722fd0c0250f35fd75972dd772 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 5 Sep 2011 14:30:52 +0300 Subject: Symbian: Detect app caption and pkg name translations by id attribute. To better support various localization tools, added an alternate way to detect application caption and package name translations in .ts files. Now in addition to specific source text the id attribute of the message element can be used to identify interesting translations. The ids qmake is looking for are: qtn_short_caption_ qtn_long_caption_ qtn_package_name_ qtn_smart_installer_package_name_ Task-number: QT-5247 Reviewed-by: Sami Merila --- qmake/generators/symbian/symbiancommon.cpp | 61 ++++++++++++++---------------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index c9ffa11..c7d7560 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -953,10 +953,15 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo static QString messageElement = QLatin1String("message"); static QString sourceElement = QLatin1String("source"); static QString translationElement = QLatin1String("translation"); - static QString shortCaptionId = QLatin1String("Application short caption"); - static QString longCaptionId = QLatin1String("Application long caption"); - static QString pkgDisplayNameId = QLatin1String("Package name"); - static QString installerPkgDisplayNameId = QLatin1String("Smart installer package name"); + static QString idAttribute = QLatin1String("id"); + static QString shortCaptionId = QLatin1String("qtn_short_caption_"); + static QString longCaptionId = QLatin1String("qtn_long_caption_"); + static QString pkgDisplayNameId = QLatin1String("qtn_package_name_"); + static QString installerPkgDisplayNameId = QLatin1String("qtn_smart_installer_package_name_"); + static QString shortCaptionSource = QLatin1String("Application short caption"); + static QString longCaptionSource = QLatin1String("Application long caption"); + static QString pkgDisplayNameSource = QLatin1String("Package name"); + static QString installerPkgDisplayNameSource = QLatin1String("Smart installer package name"); static QString languageAttribute = QLatin1String("language"); static QChar underscoreChar = QLatin1Char('_'); @@ -991,6 +996,7 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo if (xml.name() == messageElement) { QString source; QString translation; + QString id = xml.attributes().value(idAttribute).toString(); while (xml.readNextStartElement()) { if (xml.name() == sourceElement) { source = xml.readElementText(); @@ -1005,35 +1011,24 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo xml.skipCurrentElement(); } } - - if (source == shortCaptionId) { - if (loc->shortCaption.isEmpty()) { - loc->shortCaption = translation; - } else { - fprintf(stderr, "Warning: Duplicate application short caption defined in (%s).\n", - qPrintable(tsFilename)); - } - } else if (source == longCaptionId) { - if (loc->longCaption.isEmpty()) { - loc->longCaption = translation; - } else { - fprintf(stderr, "Warning: Duplicate application long caption defined in (%s).\n", - qPrintable(tsFilename)); - } - } else if (source == pkgDisplayNameId) { - if (loc->pkgDisplayName.isEmpty()) { - loc->pkgDisplayName = translation; - } else { - fprintf(stderr, "Warning: Duplicate package display name defined in (%s).\n", - qPrintable(tsFilename)); - } - } else if (source == installerPkgDisplayNameId) { - if (loc->installerPkgDisplayName.isEmpty()) { - loc->installerPkgDisplayName = translation; - } else { - fprintf(stderr, "Warning: Duplicate smart installer package display name defined in (%s).\n", - qPrintable(tsFilename)); - } + // Interesting translations can be identified either by id attribute + // of the message or by the source text. + // Allow translations with correct id to override translations + // detected by source text, as the source text can accidentally + // be the same in another string if there are non-interesting + // translations added to same context. + if (id.startsWith(shortCaptionId) + || (loc->shortCaption.isEmpty() && source == shortCaptionSource)) { + loc->shortCaption = translation; + } else if (id.startsWith(longCaptionId) + || (loc->longCaption.isEmpty() && source == longCaptionSource)) { + loc->longCaption = translation; + } else if (id.startsWith(pkgDisplayNameId) + || (loc->pkgDisplayName.isEmpty() && source == pkgDisplayNameSource)) { + loc->pkgDisplayName = translation; + } else if (id.startsWith(installerPkgDisplayNameId) + || (loc->installerPkgDisplayName.isEmpty() && source == installerPkgDisplayNameSource)) { + loc->installerPkgDisplayName = translation; } } else { xml.skipCurrentElement(); -- cgit v0.12 From 890b99843f4e7bcbb010a64f87f191634b1b01ba Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 6 Sep 2011 10:02:54 +0300 Subject: Remove few unused variables. The languageAttribute and underscoreChar variables were not used in SymbianCommonGenerator::parseTsContent function, so removed them. Reviewed-by: TrustMe --- qmake/generators/symbian/symbiancommon.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index c7d7560..2c4373a 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -962,8 +962,6 @@ bool SymbianCommonGenerator::parseTsContent(const QString &tsFilename, SymbianLo static QString longCaptionSource = QLatin1String("Application long caption"); static QString pkgDisplayNameSource = QLatin1String("Package name"); static QString installerPkgDisplayNameSource = QLatin1String("Smart installer package name"); - static QString languageAttribute = QLatin1String("language"); - static QChar underscoreChar = QLatin1Char('_'); enum CurrentContext { ContextUnknown, -- cgit v0.12 From e2834e2a21decce9551452e5566146fe249e04f7 Mon Sep 17 00:00:00 2001 From: Ademar de Souza Reis Jr Date: Mon, 5 Sep 2011 18:43:21 -0300 Subject: Updated WebKit to a2bd2bb (qtwebkit-2.2-week35) Changes since last sync: [https://webkit.org/b/66016 #66016]: [Qt] Add test for correct order of load signals in QWebPage [https://webkit.org/b/28851 #28851]: Emit last progress notification before calling dispatchDidFinishLoad [https://webkit.org/b/67285 #67285]: [Qt] Unskip API test for load signals order [https://webkit.org/b/67307 #67307]: [Qt][Symbian] REGRESSION(93235) Missing .def update [https://webkit.org/b/49448 #49448]: (restricted bug) [https://webkit.org/b/64737 #64737]: (restricted bug) [https://webkit.org/b/64741 #64741]: (restricted bug) [https://webkit.org/b/66015 #66015]: (restricted bug) [https://webkit.org/b/66141 #66141]: (restricted bug) [https://webkit.org/b/66360 #66360]: (restricted bug) [https://webkit.org/b/66699 #66699]: (restricted bug) [https://webkit.org/b/66799 #66799]: (restricted bug) [https://webkit.org/b/67556 #67556]: (restricted bug) --- src/3rdparty/webkit/.tag | 2 +- src/3rdparty/webkit/ChangeLog | 23 ---- .../webkit/Source/JavaScriptCore/ChangeLog | 23 ---- .../webkit/Source/JavaScriptCore/wtf/Platform.h | 4 - src/3rdparty/webkit/Source/WebCore/ChangeLog | 144 +++++++++++++++++++++ src/3rdparty/webkit/Source/WebCore/dom/Range.cpp | 15 ++- .../Source/WebCore/loader/DocumentWriter.cpp | 7 +- .../webkit/Source/WebCore/loader/FrameLoader.cpp | 33 +++-- .../webkit/Source/WebCore/page/FrameView.cpp | 17 +++ .../webkit/Source/WebCore/page/FrameView.h | 2 + .../Source/WebCore/rendering/RenderBlock.cpp | 6 +- .../webkit/Source/WebCore/rendering/RenderBox.cpp | 7 + .../WebCore/rendering/RenderObjectChildList.cpp | 15 +++ .../Source/WebCore/rendering/RenderScrollbar.cpp | 2 +- .../Source/WebCore/rendering/RenderTableRow.cpp | 4 +- .../WebCore/rendering/RenderTableSection.cpp | 4 +- .../Source/WebCore/rendering/RenderWidget.cpp | 5 + src/3rdparty/webkit/Source/WebKit.pri | 3 - src/3rdparty/webkit/Source/WebKit/qt/ChangeLog | 55 ++++++++ .../qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp | 5 + .../qt/WebCoreSupport/DumpRenderTreeSupportQt.h | 1 + .../qt/WebCoreSupport/FrameLoaderClientQt.cpp | 4 + .../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h | 1 + .../Source/WebKit/qt/symbian/eabi/QtWebKitu.def | 2 + .../WebKit/qt/tests/qwebpage/tst_qwebpage.cpp | 55 ++++++++ src/3rdparty/webkit/VERSION | 2 +- 26 files changed, 364 insertions(+), 77 deletions(-) diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 8f212e7..458898a 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -fb3b4700aa5abbb2db471b4f0eb7946ce4850cc4 +a2bd2bb1b19949c6807da38e25bfa7d210bb4b17 diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog index 5f97e57..bc11b4d 100644 --- a/src/3rdparty/webkit/ChangeLog +++ b/src/3rdparty/webkit/ChangeLog @@ -1,26 +1,3 @@ -2011-08-26 Ademar de Souza Reis Jr. - - [Qt] libwebcore.a source is compiled without -fvisibility=hidden - -fvisibility-inlines-hidden - https://bugs.webkit.org/show_bug.cgi?id=65470 - - Patch by Holger Freyther - Rubberstamped by Andreas Kling. - - (qtwebkit-2.2 only by now) - - WTF_USE_EXPORT_MACROS is still not enabled on trunk because there are - pending issues with WebKit2, but it appears to be safe to enable this - on QtWebKit, so this change is being added to the qtwebkit-2.2 branch. - - The patch also adds CONFIG += hide_symbols and on Unix, += - bsymbolic_functions, which should help reduce the library binary size. - - Testing this is quite easy, so if there's any problem we'll soon - know. :-) - - * Source/WebKit.pri: - 2011-08-06 Aron Rosenberg Reviewed by Benjamin Poulain. diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog index 6b074b2..5aec2e3 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog @@ -34,29 +34,6 @@ * wtf/Platform.h: -2011-08-26 Ademar de Souza Reis Jr. - - [Qt] libwebcore.a source is compiled without -fvisibility=hidden - -fvisibility-inlines-hidden - https://bugs.webkit.org/show_bug.cgi?id=65470 - - Patch by Holger Freyther - Rubberstamped by Andreas Kling. - - (qtwebkit-2.2 only by now) - - WTF_USE_EXPORT_MACROS is still not enabled on trunk because there are - pending issues with WebKit2, but it appears to be safe to enable this - on QtWebKit, so this change is being added to the qtwebkit-2.2 branch. - - The patch also adds CONFIG += hide_symbols and on Unix, += - bsymbolic_functions, which should help reduce the library binary size. - - Testing this is quite easy, so if there's any problem we'll soon - know. :-) - - * wtf/Platform.h: - 2011-07-08 Chang Shu Rename "makeSecure" to "fill" and remove the support for displaying last character diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h index be0a451..a8298c4 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/Platform.h @@ -1221,11 +1221,7 @@ since most ports try to support sub-project independence, adding new headers to WTF causes many ports to break, and so this way we can address the build breakages one port at a time. */ -#if PLATFORM(QT) -#define WTF_USE_EXPORT_MACROS 1 -#else #define WTF_USE_EXPORT_MACROS 0 -#endif #if PLATFORM(QT) || PLATFORM(GTK) #define WTF_USE_UNIX_DOMAIN_SOCKETS 1 diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog index ee257a7..a781b1f 100644 --- a/src/3rdparty/webkit/Source/WebCore/ChangeLog +++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog @@ -1,3 +1,147 @@ +2011-08-30 Abhishek Arya + + Removed m_owner accessed in custom scrollbars. + https://bugs.webkit.org/show_bug.cgi?id=64737 + + Reviewed by David Hyatt. + + Problem does not reproduce in DRT, even with Eventhandler tricks + and gc(). So, adding a manual test. + + * manual-tests/custom-scrollbar-renderer-removed-crash.html: Added. + * page/FrameView.cpp: + (WebCore::FrameView::clearOwningRendererForCustomScrollbars): + * page/FrameView.h: + * rendering/RenderBox.cpp: + (WebCore::RenderBox::willBeDestroyed): when this renderbox is getting + destroyed, clear the custom scrollbar in this frameview having this renderbox + as its owning renderer. + * rendering/RenderScrollbar.cpp: + (WebCore::RenderScrollbar::getScrollbarPseudoStyle): fix the null check. + +2011-09-04 Abhishek Arya + + Crash in Range::processAncestorsAndTheirSiblings. + https://bugs.webkit.org/show_bug.cgi?id=67556 + + Reviewed by Ryosuke Niwa. + + Create a temporary RefPtr Node vector to keep all the ancestor's + childs so that we don't access removed child nodes. + + Test: fast/dom/Range/range-delete-contents-event-fire-crash.html + + * dom/Range.cpp: + (WebCore::Range::processContents): + (WebCore::Range::processAncestorsAndTheirSiblings): + +2011-08-30 Adam Barth + + Flaky crash with JavaScript URLs + https://bugs.webkit.org/show_bug.cgi?id=66360 + + Reviewed by Nate Chapin. + + This patch teaches DocumentWriter::begin to make a copy of the URL + before beginning a new document to avoid a crash. + + Test: fast/loader/javascript-url-iframe-crash.html + + * loader/DocumentWriter.cpp: + (WebCore::DocumentWriter::begin): + +2011-08-30 Caio Marcelo de Oliveira Filho + + Emit last progress notification before calling dispatchDidFinishLoad + https://bugs.webkit.org/show_bug.cgi?id=28851 + + Reviewed by Adam Barth. + + Original patch by Xan Lopez. Change FrameLoader to dispatch the notifications in + a more natural sequence. + + Test: http/tests/loading/progress-finished-callback.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::checkLoadCompleteForThisFrame): + +2011-08-22 Nate Chapin + + Unload events can crash us when they blank out + a parent frame. + https://bugs.webkit.org/show_bug.cgi?id=64741 + + Reviewed by Adam Barth. + + Test: fast/loader/document-destruction-within-unload.html + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::stopLoading): Prevent unload events + from going into infinite recursion. + (WebCore::FrameLoader::setDocumentLoader): Ensure we don't + let set m_documentLoader to a DocumentLoader with a null Frame*. + (WebCore::FrameLoader::detachChildren): Save off a vector of + children to detach, rather than doing it inline. + +2011-08-30 Abhishek Arya + + Style not updated for table parts in :before, :after content. + https://bugs.webkit.org/show_bug.cgi?id=66141 + + Reviewed by Dave Hyatt. + + Tests: fast/table/table-before-child-style-update.html + fast/table/table-row-before-child-style-update.html + + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::updateBeforeAfterContent): + +2011-08-25 Abhishek Arya + + Incorrect layout of :before and :after content, with display + table, table-row and table-cell. + https://bugs.webkit.org/show_bug.cgi?id=66699 + + Reviewed by David Hyatt. + + Tests: fast/table/table-after-child-in-table.html + fast/table/table-before-child-in-table.html + fast/table/table-cell-after-child-in-block.html + fast/table/table-cell-after-child-in-table.html + fast/table/table-cell-before-child-in-block.html + fast/table/table-cell-before-child-in-table.html + fast/table/table-row-after-child-in-block.html + fast/table/table-row-after-child-in-table.html + fast/table/table-row-before-child-in-block.html + fast/table/table-row-before-child-in-table.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): + Fix the looping condition to detect :after child correctly. + isAnonymousBlock() does not apply to tables, instead + using isAnonymous(). + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::addChild): Don't add the new child + in the generatedContainer with :before, :after content. + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::addChild): Don't add the new child + in the generatedContainer with :before, :after content. + +2011-08-29 Abhishek Arya + + Crash in InlineBox::deleteLine due to accessing removed + renderer. + https://bugs.webkit.org/show_bug.cgi?id=66015 + + Reviewed by Simon Fraser. + + Test: fast/block/line-layout/inline-box-wrapper-crash.html + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::positionLineBox): Make sure that the + previous inline box wrapper is destroyed properly, before + setting a new one. + 2011-08-30 Ademar de Souza Reis Jr. [Qt] Do not unconditionally use pkg-config in .pro files diff --git a/src/3rdparty/webkit/Source/WebCore/dom/Range.cpp b/src/3rdparty/webkit/Source/WebCore/dom/Range.cpp index 0c247c2..4f8ad85 100644 --- a/src/3rdparty/webkit/Source/WebCore/dom/Range.cpp +++ b/src/3rdparty/webkit/Source/WebCore/dom/Range.cpp @@ -51,6 +51,8 @@ using namespace std; static WTF::RefCountedLeakCounter rangeCounter("Range"); #endif +typedef Vector > NodeVector; + inline Range::Range(PassRefPtr ownerDocument) : m_ownerDocument(ownerDocument) , m_start(m_ownerDocument) @@ -665,8 +667,6 @@ static inline unsigned lengthOfContentsInNode(Node* node) PassRefPtr Range::processContents(ActionType action, ExceptionCode& ec) { - typedef Vector > NodeVector; - RefPtr fragment; if (action == EXTRACT_CONTENTS || action == CLONE_CONTENTS) fragment = DocumentFragment::create(m_ownerDocument.get()); @@ -880,9 +880,14 @@ PassRefPtr Range::processAncestorsAndTheirSiblings(ActionType action, Node // FIXME: This assertion may fail if DOM is modified during mutation event // FIXME: Share code with Range::processNodes ASSERT(!firstChildInAncestorToProcess || firstChildInAncestorToProcess->parentNode() == ancestor); - RefPtr next; - for (Node* child = firstChildInAncestorToProcess.get(); child; child = next.get()) { - next = direction == ProcessContentsForward ? child->nextSibling() : child->previousSibling(); + + NodeVector nodes; + for (Node* child = firstChildInAncestorToProcess.get(); child; + child = (direction == ProcessContentsForward) ? child->nextSibling() : child->previousSibling()) + nodes.append(child); + + for (NodeVector::const_iterator it = nodes.begin(); it != nodes.end(); it++) { + Node* child = it->get(); switch (action) { case DELETE_CONTENTS: ancestor->removeChild(child, ec); diff --git a/src/3rdparty/webkit/Source/WebCore/loader/DocumentWriter.cpp b/src/3rdparty/webkit/Source/WebCore/loader/DocumentWriter.cpp index 2fc02d1..cbce0d3 100644 --- a/src/3rdparty/webkit/Source/WebCore/loader/DocumentWriter.cpp +++ b/src/3rdparty/webkit/Source/WebCore/loader/DocumentWriter.cpp @@ -106,12 +106,17 @@ PassRefPtr DocumentWriter::createDocument(const KURL& url) return DOMImplementation::createDocument(m_mimeType, m_frame, url, m_frame->inViewSourceMode()); } -void DocumentWriter::begin(const KURL& url, bool dispatch, SecurityOrigin* origin) +void DocumentWriter::begin(const KURL& urlReference, bool dispatch, SecurityOrigin* origin) { // We need to take a reference to the security origin because |clear| // might destroy the document that owns it. RefPtr forcedSecurityOrigin = origin; + // We grab a local copy of the URL because it's easy for callers to supply + // a URL that will be deallocated during the execution of this function. + // For example, see . + KURL url = urlReference; + // Create a new document before clearing the frame, because it may need to // inherit an aliased security context. RefPtr document = createDocument(url); diff --git a/src/3rdparty/webkit/Source/WebCore/loader/FrameLoader.cpp b/src/3rdparty/webkit/Source/WebCore/loader/FrameLoader.cpp index 1b046b3..4bef249 100644 --- a/src/3rdparty/webkit/Source/WebCore/loader/FrameLoader.cpp +++ b/src/3rdparty/webkit/Source/WebCore/loader/FrameLoader.cpp @@ -1880,6 +1880,20 @@ void FrameLoader::setDocumentLoader(DocumentLoader* loader) m_documentLoader->detachFromFrame(); m_documentLoader = loader; + + // The following abomination is brought to you by the unload event. + // The detachChildren() call above may trigger a child frame's unload event, + // which could do something obnoxious like call document.write("") on + // the main frame, which results in detaching children while detaching children. + // This can cause the new m_documentLoader to be detached from its Frame*, but still + // be alive. To make matters worse, DocumentLoaders with a null Frame* aren't supposed + // to happen when they're still alive (and many places below us on the stack think the + // DocumentLoader is still usable). Ergo, we reattach loader to its Frame, and pretend + // like nothing ever happened. + if (m_documentLoader && !m_documentLoader->frame()) { + ASSERT(!m_documentLoader->isLoading()); + m_documentLoader->setFrame(m_frame); + } } void FrameLoader::setPolicyDocumentLoader(DocumentLoader* loader) @@ -2506,14 +2520,15 @@ void FrameLoader::checkLoadCompleteForThisFrame() if (m_stateMachine.creatingInitialEmptyDocument() || !m_stateMachine.committedFirstRealDocumentLoad()) return; + if (Page* page = m_frame->page()) + page->progress()->progressCompleted(m_frame); + const ResourceError& error = dl->mainDocumentError(); if (!error.isNull()) m_client->dispatchDidFailLoad(error); else m_client->dispatchDidFinishLoad(); - if (Page* page = m_frame->page()) - page->progress()->progressCompleted(m_frame); return; } @@ -2589,12 +2604,14 @@ void FrameLoader::frameLoadCompleted() void FrameLoader::detachChildren() { - // FIXME: Is it really necessary to do this in reverse order? - Frame* previous; - for (Frame* child = m_frame->tree()->lastChild(); child; child = previous) { - previous = child->tree()->previousSibling(); - child->loader()->detachFromParent(); - } + typedef Vector > FrameVector; + FrameVector childrenToDetach; + childrenToDetach.reserveCapacity(m_frame->tree()->childCount()); + for (Frame* child = m_frame->tree()->lastChild(); child; child = child->tree()->previousSibling()) + childrenToDetach.append(child); + FrameVector::iterator end = childrenToDetach.end(); + for (FrameVector::iterator it = childrenToDetach.begin(); it != end; it++) + (*it)->loader()->detachFromParent(); } void FrameLoader::closeAndRemoveChild(Frame* child) diff --git a/src/3rdparty/webkit/Source/WebCore/page/FrameView.cpp b/src/3rdparty/webkit/Source/WebCore/page/FrameView.cpp index 3dadbf3..ef72fb7 100644 --- a/src/3rdparty/webkit/Source/WebCore/page/FrameView.cpp +++ b/src/3rdparty/webkit/Source/WebCore/page/FrameView.cpp @@ -2277,6 +2277,23 @@ bool FrameView::hasCustomScrollbars() const return false; } +void FrameView::clearOwningRendererForCustomScrollbars(RenderBox* box) +{ + const HashSet >* viewChildren = children(); + HashSet >::const_iterator end = viewChildren->end(); + for (HashSet >::const_iterator current = viewChildren->begin(); current != end; ++current) { + Widget* widget = current->get(); + if (widget->isScrollbar()) { + Scrollbar* scrollbar = static_cast(widget); + if (scrollbar->isCustomScrollbar()) { + RenderScrollbar* customScrollbar = toRenderScrollbar(scrollbar); + if (customScrollbar->owningRenderer() == box) + customScrollbar->clearOwningRenderer(); + } + } + } +} + FrameView* FrameView::parentFrameView() const { if (Widget* parentView = parent()) { diff --git a/src/3rdparty/webkit/Source/WebCore/page/FrameView.h b/src/3rdparty/webkit/Source/WebCore/page/FrameView.h index fafebfe..b151cfc 100644 --- a/src/3rdparty/webkit/Source/WebCore/page/FrameView.h +++ b/src/3rdparty/webkit/Source/WebCore/page/FrameView.h @@ -267,6 +267,8 @@ public: virtual bool shouldSuspendScrollAnimations() const; + void clearOwningRendererForCustomScrollbars(RenderBox*); + protected: virtual bool scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect); virtual void scrollContentsSlowPath(const IntRect& updateRect); diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp index 39c0469..df30adb 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp @@ -665,10 +665,10 @@ void RenderBlock::addChildIgnoringAnonymousColumnBlocks(RenderObject* newChild, // Make sure we don't append things after :after-generated content if we have it. if (!beforeChild) { RenderObject* lastRenderer = lastChild(); - if (isAfterContent(lastRenderer)) + while (lastRenderer && lastRenderer->isAnonymous() && !isAfterContent(lastRenderer)) + lastRenderer = lastRenderer->lastChild(); + if (lastRenderer && isAfterContent(lastRenderer)) beforeChild = lastRenderer; - else if (lastRenderer && lastRenderer->isAnonymousBlock() && isAfterContent(lastRenderer->lastChild())) - beforeChild = lastRenderer->lastChild(); } // If the requested beforeChild is not one of our children, then this is because diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBox.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBox.cpp index 9c2aa48..f052ee7 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBox.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBox.cpp @@ -204,6 +204,11 @@ void RenderBox::destroy() if (style() && (style()->logicalHeight().isPercent() || style()->logicalMinHeight().isPercent() || style()->logicalMaxHeight().isPercent())) RenderBlock::removePercentHeightDescendant(this); + // If this renderer is owning renderer for the frameview's custom scrollbars, + // we need to clear it from the scrollbar. See webkit bug 64737. + if (style() && style()->hasPseudoStyle(SCROLLBAR) && frame() && frame()->view()) + frame()->view()->clearOwningRendererForCustomScrollbars(this); + RenderBoxModelObject::destroy(); } @@ -1372,6 +1377,8 @@ void RenderBox::positionLineBox(InlineBox* box) box->destroy(renderArena()); } else if (isReplaced()) { setLocation(lroundf(box->x()), lroundf(box->y())); + if (m_inlineBoxWrapper) + deleteLineBoxWrapper(); m_inlineBoxWrapper = box; } } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp index ff9ff15..a6c2da9 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp @@ -388,6 +388,21 @@ void RenderObjectChildList::updateBeforeAfterContent(RenderObject* owner, Pseudo if (!beforeAfterParent) return; + // When beforeAfterParent is not equal to child (e.g. in tables), + // we need to create new styles inheriting from pseudoElementStyle + // on all the intermediate parents (leaving their display same). + if (beforeAfterParent != child) { + RenderObject* curr = beforeAfterParent; + while (curr && curr != child) { + ASSERT(curr->isAnonymous()); + RefPtr newStyle = RenderStyle::create(); + newStyle->inheritFrom(pseudoElementStyle); + newStyle->setDisplay(curr->style()->display()); + curr->setStyle(newStyle); + curr = curr->parent(); + } + } + // Note that if we ever support additional types of generated content (which should be way off // in the future), this code will need to be patched. for (RenderObject* genChild = beforeAfterParent->firstChild(); genChild; genChild = genChild->nextSibling()) { diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderScrollbar.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderScrollbar.cpp index 962024c..7a75b2e 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderScrollbar.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderScrollbar.cpp @@ -149,7 +149,7 @@ ScrollbarPart RenderScrollbar::partForStyleResolve() PassRefPtr RenderScrollbar::getScrollbarPseudoStyle(ScrollbarPart partType, PseudoId pseudoId) { - if (!m_owner) + if (!owningRenderer()) return 0; s_styleResolvePart = partType; diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp index 2edcfc4..dd44577 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp @@ -90,7 +90,7 @@ void RenderTableRow::addChild(RenderObject* child, RenderObject* beforeChild) RenderObject* last = beforeChild; if (!last) last = lastChild(); - if (last && last->isAnonymous() && last->isTableCell()) { + if (last && last->isAnonymous() && last->isTableCell() && !isAfterContent(last) && !isBeforeContent(last)) { if (beforeChild == last) beforeChild = last->firstChild(); last->addChild(child, beforeChild); @@ -98,7 +98,7 @@ void RenderTableRow::addChild(RenderObject* child, RenderObject* beforeChild) } // If beforeChild is inside an anonymous cell, insert into the cell. - if (last && !last->isTableCell() && last->parent() && last->parent()->isAnonymous()) { + if (last && !last->isTableCell() && last->parent() && last->parent()->isAnonymous() && !isAfterContent(last->parent()) && !isBeforeContent(last->parent())) { last->parent()->addChild(child, beforeChild); return; } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp index 6b080b8..3f84404 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp @@ -96,7 +96,7 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild RenderObject* last = beforeChild; if (!last) last = lastChild(); - if (last && last->isAnonymous()) { + if (last && last->isAnonymous() && !isAfterContent(last) && !isBeforeContent(last)) { if (beforeChild == last) beforeChild = last->firstChild(); last->addChild(child, beforeChild); @@ -108,7 +108,7 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild RenderObject* lastBox = last; while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableRow()) lastBox = lastBox->parent(); - if (lastBox && lastBox->isAnonymous()) { + if (lastBox && lastBox->isAnonymous() && !isAfterContent(lastBox) && !isBeforeContent(lastBox)) { lastBox->addChild(child, beforeChild); return; } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderWidget.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderWidget.cpp index 97444cd..5a00374 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderWidget.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderWidget.cpp @@ -143,6 +143,11 @@ void RenderWidget::destroy() if (style() && (style()->logicalHeight().isPercent() || style()->logicalMinHeight().isPercent() || style()->logicalMaxHeight().isPercent())) RenderBlock::removePercentHeightDescendant(this); + // If this renderer is owning renderer for the frameview's custom scrollbars, + // we need to clear it from the scrollbar. See webkit bug 64737. + if (style() && style()->hasPseudoStyle(SCROLLBAR) && frame() && frame()->view()) + frame()->view()->clearOwningRendererForCustomScrollbars(this); + if (hasLayer()) { layer()->clearClipRects(); setHasLayer(false); diff --git a/src/3rdparty/webkit/Source/WebKit.pri b/src/3rdparty/webkit/Source/WebKit.pri index be1c7b7..5bd9577 100644 --- a/src/3rdparty/webkit/Source/WebKit.pri +++ b/src/3rdparty/webkit/Source/WebKit.pri @@ -2,9 +2,6 @@ contains(QT_CONFIG, qpa)|contains(QT_CONFIG, embedded): CONFIG += embedded -contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols -unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions - # Detect that we are building as a standalone package by the presence of # either the generated files directory or as part of the Qt package through # QTDIR_build diff --git a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog index 0bca4b2..4758de0 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog @@ -1,3 +1,58 @@ +2011-08-31 Caio Marcelo de Oliveira Filho + + [Qt] Unskip API test for load signals order + https://bugs.webkit.org/show_bug.cgi?id=67285 + + Reviewed by Andreas Kling. + + * tests/qwebpage/tst_qwebpage.cpp: + (tst_QWebPage::loadSignalsOrder): + +2011-08-30 Caio Marcelo de Oliveira Filho + + Emit last progress notification before calling dispatchDidFinishLoad + https://bugs.webkit.org/show_bug.cgi?id=28851 + + Reviewed by Adam Barth. + + Add infrastructure to dump progressFinishedNotification callback in DRT. + + * WebCoreSupport/DumpRenderTreeSupportQt.cpp: + (DumpRenderTreeSupportQt::dumpProgressFinishedCallback): + * WebCoreSupport/DumpRenderTreeSupportQt.h: + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::FrameLoaderClientQt::postProgressFinishedNotification): + * WebCoreSupport/FrameLoaderClientQt.h: + +2011-09-02 Jade Han + + [Qt][Symbian] REGRESSION(93235) Missing .def update + https://bugs.webkit.org/show_bug.cgi?id=67307 + + Reviewed by Laszlo Gombos. + + * symbian/eabi/QtWebKitu.def: + +2011-08-12 Caio Marcelo de Oliveira Filho + + [Qt] Add test for correct order of load signals in QWebPage + https://bugs.webkit.org/show_bug.cgi?id=66016 + + Reviewed by Benjamin Poulain. + + Add API test to ensure the order of load signals: loadStarted() needs to be emitted + first, then loadProgress(100), followed by loadFinished(). + + The test is skipped since this right now is broken, the bug + https://bugs.webkit.org/show_bug.cgi?id=28851 tracks one possible way to fix. + + * tests/qwebpage/tst_qwebpage.cpp: + (SpyForLoadSignalsOrder::SpyForLoadSignalsOrder): + (SpyForLoadSignalsOrder::isFinished): + (SpyForLoadSignalsOrder::onLoadProgress): + (tst_QWebPage::loadSignalsOrder_data): + (tst_QWebPage::loadSignalsOrder): + 2011-08-25 Ademar de Souza Reis Jr. Unreviewed QtWebKit.pro fix for when building inside Qt diff --git a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp index 2fc8e84..5d4bf6d 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp +++ b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp @@ -677,6 +677,11 @@ void DumpRenderTreeSupportQt::dumpFrameLoader(bool b) FrameLoaderClientQt::dumpFrameLoaderCallbacks = b; } +void DumpRenderTreeSupportQt::dumpProgressFinishedCallback(bool b) +{ + FrameLoaderClientQt::dumpProgressFinishedCallback = b; +} + void DumpRenderTreeSupportQt::dumpUserGestureInFrameLoader(bool b) { FrameLoaderClientQt::dumpUserGestureInFrameLoaderCallbacks = b; diff --git a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h index 7040ea1..f485cb5 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h +++ b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h @@ -163,6 +163,7 @@ public: static QString plainText(const QVariant& rng); static void dumpFrameLoader(bool b); + static void dumpProgressFinishedCallback(bool); static void dumpUserGestureInFrameLoader(bool b); static void dumpResourceLoadCallbacks(bool b); static void dumpResourceResponseMIMETypes(bool b); diff --git a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp index 8971fc4..5e0a2e6 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp +++ b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp @@ -170,6 +170,7 @@ static QString drtDescriptionSuitableForTestResult(const RefPtr n namespace WebCore { bool FrameLoaderClientQt::dumpFrameLoaderCallbacks = false; +bool FrameLoaderClientQt::dumpProgressFinishedCallback = false; bool FrameLoaderClientQt::dumpUserGestureInFrameLoaderCallbacks = false; bool FrameLoaderClientQt::dumpResourceLoadCallbacks = false; bool FrameLoaderClientQt::sendRequestReturnsNullOnRedirect = false; @@ -586,6 +587,9 @@ void FrameLoaderClientQt::postProgressEstimateChangedNotification() void FrameLoaderClientQt::postProgressFinishedNotification() { + if (dumpProgressFinishedCallback) + printf("postProgressFinishedNotification\n"); + // Send a mousemove event to: // (1) update the cursor to change according to whatever is underneath the mouse cursor right now; // (2) display the tool tip if the mouse hovers a node which has a tool tip. diff --git a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h index 1be365d..1b9d3b8 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h +++ b/src/3rdparty/webkit/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h @@ -247,6 +247,7 @@ public: const KURL& lastRequestedUrl() const { return m_lastRequestedUrl; } static bool dumpFrameLoaderCallbacks; + static bool dumpProgressFinishedCallback; static bool dumpUserGestureInFrameLoaderCallbacks; static bool dumpResourceLoadCallbacks; static bool dumpResourceResponseMIMETypes; diff --git a/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def b/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def index d948de4..0a1c6cb 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def +++ b/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def @@ -878,3 +878,5 @@ EXPORTS _ZN8QDRTNodeD1Ev @ 877 NONAME _ZN8QDRTNodeD2Ev @ 878 NONAME _ZN8QDRTNodeaSERKS_ @ 879 NONAME + _ZN23DumpRenderTreeSupportQt21injectInternalsObjectEP9QWebFrame @ 880 NONAME + _ZN23DumpRenderTreeSupportQt20resetInternalsObjectEP9QWebFrame @ 881 NONAME diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp index 893c284..6102102 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp +++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -155,6 +156,8 @@ private slots: void navigatorCookieEnabled(); void deleteQWebViewTwice(); void renderOnRepaintRequestedShouldNotRecurse(); + void loadSignalsOrder_data(); + void loadSignalsOrder(); #ifdef Q_OS_MAC void macCopyUnicodeToClipboard(); @@ -3065,5 +3068,57 @@ void tst_QWebPage::renderOnRepaintRequestedShouldNotRecurse() QVERIFY(::waitForSignal(&r, SIGNAL(finished()))); } +class SpyForLoadSignalsOrder : public QStateMachine { + Q_OBJECT +public: + SpyForLoadSignalsOrder(QWebPage* page, QObject* parent = 0) + : QStateMachine(parent) + { + connect(page, SIGNAL(loadProgress(int)), SLOT(onLoadProgress(int))); + + QState* waitingForLoadStarted = new QState(this); + QState* waitingForLastLoadProgress = new QState(this); + QState* waitingForLoadFinished = new QState(this); + QFinalState* final = new QFinalState(this); + + waitingForLoadStarted->addTransition(page, SIGNAL(loadStarted()), waitingForLastLoadProgress); + waitingForLastLoadProgress->addTransition(this, SIGNAL(lastLoadProgress()), waitingForLoadFinished); + waitingForLoadFinished->addTransition(page, SIGNAL(loadFinished(bool)), final); + + setInitialState(waitingForLoadStarted); + start(); + } + bool isFinished() const + { + return !isRunning(); + } +public Q_SLOTS: + void onLoadProgress(int progress) + { + if (progress == 100) + emit lastLoadProgress(); + } +signals: + void lastLoadProgress(); +}; + +void tst_QWebPage::loadSignalsOrder_data() +{ + QTest::addColumn("url"); + QTest::newRow("inline data") << QUrl("data:text/html,This is first page"); + QTest::newRow("simple page") << QUrl("qrc:///resources/content.html"); + QTest::newRow("frameset page") << QUrl("qrc:///resources/index.html"); +} + +void tst_QWebPage::loadSignalsOrder() +{ + QFETCH(QUrl, url); + QWebPage page; + SpyForLoadSignalsOrder loadSpy(&page); + waitForSignal(&loadSpy, SIGNAL(started())); + page.mainFrame()->load(url); + QTRY_VERIFY(loadSpy.isFinished()); +} + QTEST_MAIN(tst_QWebPage) #include "tst_qwebpage.moc" diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 7c1b678..aeaa22c 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - fb3b4700aa5abbb2db471b4f0eb7946ce4850cc4 + a2bd2bb1b19949c6807da38e25bfa7d210bb4b17 -- cgit v0.12 From 58d0e747348eb89723abd515d864da5316cba760 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 6 Sep 2011 16:17:24 +0300 Subject: Fix qt.conf for Symbian to use $${EPOCROOT} $(EPOCROOT) in qt.conf resolves epocroot from environment variable, which is wrong when doing full platform build and qmake is executed in context of sbsv2 tools build. The correct way to resolve epocroot in qt.conf is to use $${EPOCROOT}. Reviewed-by: TrustMe --- config.profiles/symbian/qt.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config.profiles/symbian/qt.conf b/config.profiles/symbian/qt.conf index 29dfa88..072fd7b 100644 --- a/config.profiles/symbian/qt.conf +++ b/config.profiles/symbian/qt.conf @@ -1,6 +1,6 @@ [Paths] -Data = $(EPOCROOT)epoc32/tools/qt -Headers = $(EPOCROOT)epoc32/include/mw -Binaries = $(EPOCROOT)epoc32/tools -Prefix = $(EPOCROOT)sf/mw/qt +Data = $${EPOCROOT}epoc32/tools/qt +Headers = $${EPOCROOT}epoc32/include/mw +Binaries = $${EPOCROOT}epoc32/tools +Prefix = $${EPOCROOT}sf/mw/qt -- cgit v0.12 From a5211c5c259f2741bf1f3f9dabf6587516eee052 Mon Sep 17 00:00:00 2001 From: suzuki toshiya Date: Sat, 3 Sep 2011 23:20:46 +0900 Subject: Fix the build with -qtnamespace configure options Merge-Request: 1291 Reviewed-by: Liang Qi --- examples/opengl/cube/mainwidget.h | 2 ++ examples/webkit/simplewebplugin/csvfactory.h | 6 ++++-- examples/webkit/webftpclient/ftpreply.h | 4 ++++ examples/webkit/webftpclient/ftpview.h | 3 +++ examples/widgets/orientation/mainwindow.h | 6 ++++++ src/corelib/arch/generic/qatomic_generic_windows.cpp | 3 +++ src/corelib/kernel/qsystemsemaphore_win.cpp | 4 ++-- src/gui/kernel/qwidget_mac.mm | 2 +- src/gui/text/qfontengine_coretext_p.h | 8 ++++++++ src/qt3support/network/q3socketdevice_win.cpp | 5 +++++ 10 files changed, 38 insertions(+), 5 deletions(-) diff --git a/examples/opengl/cube/mainwidget.h b/examples/opengl/cube/mainwidget.h index c6da29f..eb509d0 100644 --- a/examples/opengl/cube/mainwidget.h +++ b/examples/opengl/cube/mainwidget.h @@ -48,8 +48,10 @@ #include #include +QT_BEGIN_NAMESPACE class QBasicTimer; class QGLShaderProgram; +QT_END_NAMESPACE class GeometryEngine; diff --git a/examples/webkit/simplewebplugin/csvfactory.h b/examples/webkit/simplewebplugin/csvfactory.h index e3013b1..0168dc2 100644 --- a/examples/webkit/simplewebplugin/csvfactory.h +++ b/examples/webkit/simplewebplugin/csvfactory.h @@ -44,10 +44,10 @@ #include #include -QT_BEGIN_NAMESPACE class QNetworkAccessManager; class QNetworkReply; -QT_END_NAMESPACE + +QT_BEGIN_NAMESPACE //! [plugin factory] class CSVFactory : public QWebPluginFactory @@ -66,4 +66,6 @@ private: }; //! [plugin factory] +QT_END_NAMESPACE + #endif diff --git a/examples/webkit/webftpclient/ftpreply.h b/examples/webkit/webftpclient/ftpreply.h index ca0a271..65c8c66 100644 --- a/examples/webkit/webftpclient/ftpreply.h +++ b/examples/webkit/webftpclient/ftpreply.h @@ -46,6 +46,10 @@ #include #include +QT_BEGIN_NAMESPACE +class QFtp; +QT_END_NAMESPACE + //! [class definition] class FtpReply : public QNetworkReply { diff --git a/examples/webkit/webftpclient/ftpview.h b/examples/webkit/webftpclient/ftpview.h index 544c0a9..ae4f9c1 100644 --- a/examples/webkit/webftpclient/ftpview.h +++ b/examples/webkit/webftpclient/ftpview.h @@ -41,6 +41,9 @@ #include class Downloader; +QT_BEGIN_NAMESPACE +class QNetworkAccessManager; +QT_END_NAMESPACE class FtpView : public QWebView { diff --git a/examples/widgets/orientation/mainwindow.h b/examples/widgets/orientation/mainwindow.h index 745497c..29ccf06 100644 --- a/examples/widgets/orientation/mainwindow.h +++ b/examples/widgets/orientation/mainwindow.h @@ -46,6 +46,10 @@ #include "ui_landscape.h" #include "ui_portrait.h" +class QAbstractButton; + +QT_BEGIN_NAMESPACE + //! [0] class MainWindow : public QWidget { @@ -68,4 +72,6 @@ private: }; //! [0] +QT_END_NAMESPACE + #endif // MAINWINDOW_H diff --git a/src/corelib/arch/generic/qatomic_generic_windows.cpp b/src/corelib/arch/generic/qatomic_generic_windows.cpp index 7ce0eea..123b823 100644 --- a/src/corelib/arch/generic/qatomic_generic_windows.cpp +++ b/src/corelib/arch/generic/qatomic_generic_windows.cpp @@ -43,6 +43,7 @@ #include +QT_BEGIN_NAMESPACE class QCriticalSection { @@ -129,3 +130,5 @@ void *QBasicAtomicPointer_fetchAndAddOrdered(void * volatile *_q_value, qptrdiff qAtomicCriticalSection.unlock(); return returnValue; } + +QT_END_NAMESPACE diff --git a/src/corelib/kernel/qsystemsemaphore_win.cpp b/src/corelib/kernel/qsystemsemaphore_win.cpp index 0e9d645..76b57b9 100644 --- a/src/corelib/kernel/qsystemsemaphore_win.cpp +++ b/src/corelib/kernel/qsystemsemaphore_win.cpp @@ -133,6 +133,6 @@ bool QSystemSemaphorePrivate::modifySemaphore(int count) return true; } -#endif // QT_NO_SYSTEMSEMAPHORE - QT_END_NAMESPACE + +#endif // QT_NO_SYSTEMSEMAPHORE diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm index a51e295..632df78 100644 --- a/src/gui/kernel/qwidget_mac.mm +++ b/src/gui/kernel/qwidget_mac.mm @@ -5031,7 +5031,7 @@ void QWidgetPrivate::registerTouchWindow(bool enable) if (enable == touchEventsEnabled) return; - QCocoaView *view = static_cast(qt_mac_effectiveview_for(q)); + QT_MANGLE_NAMESPACE(QCocoaView) *view = static_cast(qt_mac_effectiveview_for(q)); if (!view) return; diff --git a/src/gui/text/qfontengine_coretext_p.h b/src/gui/text/qfontengine_coretext_p.h index 0a2ae1f..4bd80be 100644 --- a/src/gui/text/qfontengine_coretext_p.h +++ b/src/gui/text/qfontengine_coretext_p.h @@ -52,6 +52,10 @@ #if !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + class QRawFontPrivate; class QCoreTextFontEngineMulti; class QCoreTextFontEngine : public QFontEngine @@ -146,6 +150,10 @@ private: CGAffineTransform qt_transform_from_fontdef(const QFontDef &fontDef); +QT_END_NAMESPACE + +QT_END_HEADER + #endif// !defined(Q_WS_MAC) || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5) #endif // QFONTENGINE_CORETEXT_P_H diff --git a/src/qt3support/network/q3socketdevice_win.cpp b/src/qt3support/network/q3socketdevice_win.cpp index df115d7..bde63a0 100644 --- a/src/qt3support/network/q3socketdevice_win.cpp +++ b/src/qt3support/network/q3socketdevice_win.cpp @@ -83,8 +83,13 @@ typedef struct { struct qt_in6_addr sin6_addr; /* IPv6 address */ u_long sin6_scope_id; /* set of interfaces for a scope */ } qt_sockaddr_in6; + +QT_END_NAMESPACE + #endif +QT_BEGIN_NAMESPACE + #ifndef AF_INET6 #define AF_INET6 23 /* Internetwork Version 6 */ #endif -- cgit v0.12 From 64adbd0c5775f97343afbe0e7b5fde0d70bdaedd Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Mon, 5 Sep 2011 12:53:49 +0200 Subject: QSslCertificate: block all DigiNotar (intermediate and root) certs and do not only check leaf certificates, but all intermediates and the root. Tested manually with the cross-signed intermediates. Reviewed-by: Richard J. Moore --- src/network/ssl/qsslcertificate.cpp | 27 +++++++++++++++++++++++++-- src/network/ssl/qsslsocket_openssl.cpp | 15 +++++++++------ 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index ab09932..2a2ad55 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -792,15 +792,38 @@ static const char *certificate_blacklist[] = { "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "addons.mozilla.org", // Comodo "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "login.live.com", // Comodo "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", "global trustee", // Comodo - "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // DigiNotar + + "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // leaf certificate issued by DigiNotar + "0c:76:da:9c:91:0c:4e:2c:9e:fe:15:d0:58:93:3c:4c", "DigiNotar Root CA", // DigiNotar root + "f1:4a:13:f4:87:2b:56:dc:39:df:84:ca:7a:a1:06:49", "DigiNotar Services CA", // DigiNotar intermediate signed by DigiNotar Root + "36:16:71:55:43:42:1b:9d:e6:cb:a3:64:41:df:24:38", "DigiNotar Services 1024 CA", // DigiNotar intermediate signed by DigiNotar Root + "0a:82:bd:1e:14:4e:88:14:d7:5b:1a:55:27:be:bf:3e", "DigiNotar Root CA G2", // other DigiNotar Root CA + "a4:b6:ce:e3:2e:d3:35:46:26:3c:b3:55:3a:a8:92:21", "CertiID Enterprise Certificate Authority", // DigiNotar intermediate signed by "DigiNotar Root CA G2" + "5b:d5:60:9c:64:17:68:cf:21:0e:35:fd:fb:05:ad:41", "DigiNotar Qualified CA", // DigiNotar intermediate signed by DigiNotar Root + + "1184640176", "DigiNotar Services 1024 CA", // DigiNotar intermediate cross-signed by Entrust + "120000525", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust + "120000505", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust + "120000515", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust + "20015536", "DigiNotar PKIoverheid CA Overheid en Bedrijven", // DigiNotar intermediate cross-signed by the Dutch government + "20001983", "DigiNotar PKIoverheid CA Organisatie - G2", // DigiNotar intermediate cross-signed by the Dutch government + "d6:d0:29:77:f1:49:fd:1a:83:f2:b9:ea:94:8c:5c:b4", "DigiNotar Extended Validation CA", // DigiNotar intermediate signed by DigiNotar EV Root + "1e:7d:7a:53:3d:45:30:41:96:40:0f:71:48:1f:45:04", "DigiNotar Public CA 2025", // DigiNotar intermediate +// "(has not been seen in the wild so far)", "DigiNotar Public CA - G2", // DigiNotar intermediate +// "(has not been seen in the wild so far)", "Koninklijke Notariele Beroepsorganisatie CA", // compromised during DigiNotar breach +// "(has not been seen in the wild so far)", "Stichting TTP Infos CA," // compromised during DigiNotar breach + "1184640175", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust + "1184644297", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust 0 }; bool QSslCertificatePrivate::isBlacklisted(const QSslCertificate &certificate) { for (int a = 0; certificate_blacklist[a] != 0; a++) { + QString blacklistedCommonName = QString::fromUtf8(certificate_blacklist[(a+1)]); if (certificate.serialNumber() == certificate_blacklist[a++] && - certificate.subjectInfo(QSslCertificate::CommonName) == QString::fromUtf8(certificate_blacklist[a])) + (certificate.subjectInfo(QSslCertificate::CommonName) == blacklistedCommonName || + certificate.issuerInfo(QSslCertificate::CommonName) == blacklistedCommonName)) return true; } return false; diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 5a606af..8e53974 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -1246,12 +1246,15 @@ bool QSslSocketBackendPrivate::startHandshake() // Start translating errors. QList errors; - if (QSslCertificatePrivate::isBlacklisted(configuration.peerCertificate)) { - QSslError error(QSslError::CertificateBlacklisted, configuration.peerCertificate); - errors << error; - emit q->peerVerifyError(error); - if (q->state() != QAbstractSocket::ConnectedState) - return false; + // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer) + foreach (const QSslCertificate &cert, configuration.peerCertificateChain) { + if (QSslCertificatePrivate::isBlacklisted(cert)) { + QSslError error(QSslError::CertificateBlacklisted, cert); + errors << error; + emit q->peerVerifyError(error); + if (q->state() != QAbstractSocket::ConnectedState) + return false; + } } bool doVerifyPeer = configuration.peerVerifyMode == QSslSocket::VerifyPeer -- cgit v0.12 From b694d43c5fb4abe41907f38557323446d1e3effb Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Tue, 30 Aug 2011 13:10:06 +0200 Subject: QSslCertificate: also check common name for blacklisted certificates ... to reduce the possibility of blacklisting valid certificates that happen to have the same serial number as a blacklisted one, which is unlikely, but possible. Reviewed-by: Richard J. Moore --- src/network/ssl/qsslcertificate.cpp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index be3276d..9c56525 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -803,23 +803,24 @@ QList QSslCertificatePrivate::certificatesFromDer(const QByteAr // These certificates are known to be fraudulent and were created during the comodo // compromise. See http://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html static const char *certificate_blacklist[] = { - "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e", - "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06", - "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3", - "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29", - "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71", - "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47", - "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", - "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", - "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", - "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", + "04:7e:cb:e9:fc:a5:5f:7b:d0:9e:ae:36:e1:0c:ae:1e", "mail.google.com", // Comodo + "f5:c8:6a:f3:61:62:f1:3a:64:f5:4f:6d:c9:58:7c:06", "www.google.com", // Comodo + "d7:55:8f:da:f5:f1:10:5b:b2:13:28:2b:70:77:29:a3", "login.yahoo.com", // Comodo + "39:2a:43:4f:0e:07:df:1f:8a:a3:05:de:34:e0:c2:29", "login.yahoo.com", // Comodo + "3e:75:ce:d4:6b:69:30:21:21:88:30:ae:86:a8:2a:71", "login.yahoo.com", // Comodo + "e9:02:8b:95:78:e4:15:dc:1a:71:0a:2b:88:15:44:47", "login.skype.com", // Comodo + "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "addons.mozilla.org", // Comodo + "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "login.live.com", // Comodo + "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", "global trustee", // Comodo + "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // DigiNotar 0 }; bool QSslCertificatePrivate::isBlacklisted(const QSslCertificate &certificate) { for (int a = 0; certificate_blacklist[a] != 0; a++) { - if (certificate.serialNumber() == certificate_blacklist[a]) + if (certificate.serialNumber() == certificate_blacklist[a++] && + certificate.subjectInfo(QSslCertificate::CommonName) == QString::fromUtf8(certificate_blacklist[a])) return true; } return false; -- cgit v0.12 From b1696fab84c411da025d255fef82f64c78bd92b5 Mon Sep 17 00:00:00 2001 From: Pasi Pentikainen Date: Tue, 6 Sep 2011 17:40:40 +0300 Subject: Add a cast to moc cpp generator to remove armcc warnings Task-number: QT-3869 Reviewed-by: Murray Read --- src/tools/moc/generator.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/moc/generator.cpp b/src/tools/moc/generator.cpp index 72fda2d..b1bcab7 100644 --- a/src/tools/moc/generator.cpp +++ b/src/tools/moc/generator.cpp @@ -574,7 +574,7 @@ void Generator::generateProperties() strreg(p.name), strreg(p.type)); if (!(flags >> 24) && isQRealType(p.type)) - fprintf(out, "(QMetaType::QReal << 24) | "); + fprintf(out, "((uint)QMetaType::QReal << 24) | "); fprintf(out, "0x%.8x,\n", flags); } -- cgit v0.12 From 7d857bee73c9e81da203543a132b5b836853b797 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Mon, 5 Sep 2011 12:53:49 +0200 Subject: QSslCertificate: block all DigiNotar (intermediate and root) certs and do not only check leaf certificates, but all intermediates and the root. Tested manually with the cross-signed intermediates. Reviewed-by: Richard J. Moore --- src/network/ssl/qsslcertificate.cpp | 27 +++++++++++++++++++++++++-- src/network/ssl/qsslsocket_openssl.cpp | 16 ++++++++++------ 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp index 9c56525..1ae98f4 100644 --- a/src/network/ssl/qsslcertificate.cpp +++ b/src/network/ssl/qsslcertificate.cpp @@ -812,15 +812,38 @@ static const char *certificate_blacklist[] = { "92:39:d5:34:8f:40:d1:69:5a:74:54:70:e1:f2:3f:43", "addons.mozilla.org", // Comodo "b0:b7:13:3e:d0:96:f9:b5:6f:ae:91:c8:74:bd:3a:c0", "login.live.com", // Comodo "d8:f3:5f:4e:b7:87:2b:2d:ab:06:92:e3:15:38:2f:b0", "global trustee", // Comodo - "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // DigiNotar + + "05:e2:e6:a4:cd:09:ea:54:d6:65:b0:75:fe:22:a2:56", "*.google.com", // leaf certificate issued by DigiNotar + "0c:76:da:9c:91:0c:4e:2c:9e:fe:15:d0:58:93:3c:4c", "DigiNotar Root CA", // DigiNotar root + "f1:4a:13:f4:87:2b:56:dc:39:df:84:ca:7a:a1:06:49", "DigiNotar Services CA", // DigiNotar intermediate signed by DigiNotar Root + "36:16:71:55:43:42:1b:9d:e6:cb:a3:64:41:df:24:38", "DigiNotar Services 1024 CA", // DigiNotar intermediate signed by DigiNotar Root + "0a:82:bd:1e:14:4e:88:14:d7:5b:1a:55:27:be:bf:3e", "DigiNotar Root CA G2", // other DigiNotar Root CA + "a4:b6:ce:e3:2e:d3:35:46:26:3c:b3:55:3a:a8:92:21", "CertiID Enterprise Certificate Authority", // DigiNotar intermediate signed by "DigiNotar Root CA G2" + "5b:d5:60:9c:64:17:68:cf:21:0e:35:fd:fb:05:ad:41", "DigiNotar Qualified CA", // DigiNotar intermediate signed by DigiNotar Root + + "1184640176", "DigiNotar Services 1024 CA", // DigiNotar intermediate cross-signed by Entrust + "120000525", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust + "120000505", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust + "120000515", "DigiNotar Cyber CA", // DigiNotar intermediate cross-signed by CyberTrust + "20015536", "DigiNotar PKIoverheid CA Overheid en Bedrijven", // DigiNotar intermediate cross-signed by the Dutch government + "20001983", "DigiNotar PKIoverheid CA Organisatie - G2", // DigiNotar intermediate cross-signed by the Dutch government + "d6:d0:29:77:f1:49:fd:1a:83:f2:b9:ea:94:8c:5c:b4", "DigiNotar Extended Validation CA", // DigiNotar intermediate signed by DigiNotar EV Root + "1e:7d:7a:53:3d:45:30:41:96:40:0f:71:48:1f:45:04", "DigiNotar Public CA 2025", // DigiNotar intermediate +// "(has not been seen in the wild so far)", "DigiNotar Public CA - G2", // DigiNotar intermediate +// "(has not been seen in the wild so far)", "Koninklijke Notariele Beroepsorganisatie CA", // compromised during DigiNotar breach +// "(has not been seen in the wild so far)", "Stichting TTP Infos CA," // compromised during DigiNotar breach + "1184640175", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust + "1184644297", "DigiNotar Root CA", // DigiNotar intermediate cross-signed by Entrust 0 }; bool QSslCertificatePrivate::isBlacklisted(const QSslCertificate &certificate) { for (int a = 0; certificate_blacklist[a] != 0; a++) { + QString blacklistedCommonName = QString::fromUtf8(certificate_blacklist[(a+1)]); if (certificate.serialNumber() == certificate_blacklist[a++] && - certificate.subjectInfo(QSslCertificate::CommonName) == QString::fromUtf8(certificate_blacklist[a])) + (certificate.subjectInfo(QSslCertificate::CommonName) == blacklistedCommonName || + certificate.issuerInfo(QSslCertificate::CommonName) == blacklistedCommonName)) return true; } return false; diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 141d80a..b8e6c4c 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -1193,12 +1193,16 @@ bool QSslSocketBackendPrivate::startHandshake() X509 *x509 = q_SSL_get_peer_certificate(ssl); configuration.peerCertificate = QSslCertificatePrivate::QSslCertificate_from_X509(x509); q_X509_free(x509); - if (QSslCertificatePrivate::isBlacklisted(configuration.peerCertificate)) { - q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted")); - q->setSocketError(QAbstractSocket::SslHandshakeFailedError); - emit q->error(QAbstractSocket::SslHandshakeFailedError); - plainSocket->disconnectFromHost(); - return false; + + // check the whole chain for blacklisting (including root, as we check for subjectInfo and issuer) + foreach (const QSslCertificate &cert, configuration.peerCertificateChain) { + if (QSslCertificatePrivate::isBlacklisted(cert)) { + q->setErrorString(QSslSocket::tr("The peer certificate is blacklisted")); + q->setSocketError(QAbstractSocket::SslHandshakeFailedError); + emit q->error(QAbstractSocket::SslHandshakeFailedError); + plainSocket->disconnectFromHost(); + return false; + } } // Start translating errors. -- cgit v0.12 From 7253fe0cb58699d911f7f5b2dca28dd7182b1ef9 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Wed, 7 Sep 2011 10:44:01 +1000 Subject: Dragging in nested views no longer works as expected The detection of a replay event doesn't work if the release event is not handled due to a parent grabbing the mouse. Use the spontaneous() flag to determine if we are dealing with a replay event. Change-Id: I36e39e6ad8e426bd5f5f2a013aa236aac34ba5cc Task-number: QTBUG-21219 Reviewed-by: Michael Brasser --- src/declarative/graphicsitems/qdeclarativeflickable.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp index 0a98c01..81e07fd 100644 --- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp +++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp @@ -1553,7 +1553,7 @@ bool QDeclarativeFlickable::sendMouseEvent(QGraphicsSceneMouseEvent *event) d->handleMouseMoveEvent(&mouseEvent); break; case QEvent::GraphicsSceneMousePress: - if (d->pressed) // we are already pressed - this is a delayed replay + if (d->pressed && !event->spontaneous()) // we are already pressed - this is a delayed replay return false; d->handleMousePressEvent(&mouseEvent); -- cgit v0.12 From 80f9451b605aa2eb181d76b79bc1869a3cd9e513 Mon Sep 17 00:00:00 2001 From: Jan-Arve Saether Date: Wed, 7 Sep 2011 08:16:14 +0200 Subject: Do not leak memory Task-number: QT-4333 Reviewed-by: Trustme --- src/gui/graphicsview/qgraphicsanchorlayout_p.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp index eaa8ac2..deda3ff 100644 --- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp +++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp @@ -2966,11 +2966,12 @@ bool QGraphicsAnchorLayoutPrivate::solvePreferred(const QListsizeAtPreferred = ad->result - g_offset; } - - // Make sure we delete the simplex solver -before- we delete the - // constraints used by it. - delete simplex; } + + // Make sure we delete the simplex solver -before- we delete the + // constraints used by it. + delete simplex; + // Delete constraints and variables we created. qDeleteAll(preferredConstraints); qDeleteAll(preferredVariables); -- cgit v0.12 From 82286c2b96d9408b825c9c1d94ad45af371f09ea Mon Sep 17 00:00:00 2001 From: aavit Date: Wed, 7 Sep 2011 08:34:23 +0200 Subject: Make it compile on mac --- src/gui/text/qrawfont.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index c477a6a..61bc63e 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -637,9 +637,9 @@ QRawFont QRawFont::fromFont(const QFont &font, QFontDatabase::WritingSystem writ // Pick the one matches the family name we originally requested, // if none of them match, just pick the first one for (int i = 0; i < list.size(); i++) { - rawfont = list.at(i).rawFont(); - if (rawfont.familyName() == font.family()) - return rawfont; + rawFont = list.at(i).rawFont(); + if (rawFont.familyName() == font.family()) + return rawFont; } return list.at(0).rawFont(); } -- cgit v0.12 From ca74af31764f25557921ac70027f794d433b34d4 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Wed, 7 Sep 2011 11:36:45 +0300 Subject: Fix QIcon auto-tests for Symbian QIcon auto-tests by default use various sizes of standard icons. Unfortunately, only 32 times 32 are included in Symbian Qt release (to make binaries smaller and save some RAM). Fix auto-tests to use 32*32 on Symbian. Task-number: QTBUG-11044 Reviewed-by: Miikka Heikkinen --- tests/auto/qicon/tst_qicon.cpp | 62 ++++++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/tests/auto/qicon/tst_qicon.cpp b/tests/auto/qicon/tst_qicon.cpp index cd3f84f..b62dfbd 100644 --- a/tests/auto/qicon/tst_qicon.cpp +++ b/tests/auto/qicon/tst_qicon.cpp @@ -92,7 +92,7 @@ private: const static QIcon staticIcon; }; -// Creating an icon statically should not cause a crash. +// Creating an icon statically should not cause a crash. // But we do not officially support this. See QTBUG-8666 const QIcon tst_QIcon::staticIcon = QIcon::fromTheme("edit-find"); @@ -468,7 +468,19 @@ void tst_QIcon::addFile() icon.addFile(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-32.png"), QSize(), QIcon::Selected); icon.addFile(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-128.png"), QSize(), QIcon::Selected); -#ifndef Q_OS_WINCE +#ifdef Q_OS_WINCE + // WinCE only includes the 16x16 images for size reasons + QVERIFY(icon.pixmap(16, QIcon::Normal).toImage() == + QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")).toImage()); + QVERIFY(icon.pixmap(16, QIcon::Selected).toImage() == + QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-16.png")).toImage()); +#elif defined(Q_OS_SYMBIAN) + // Symbian only includes the 32x32 images for size reasons + QVERIFY(icon.pixmap(32, QIcon::Normal).toImage() == + QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-32.png")).toImage()); + QVERIFY(icon.pixmap(32, QIcon::Selected).toImage() == + QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-32.png")).toImage()); +#else QVERIFY(icon.pixmap(16, QIcon::Normal).toImage() == QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")).toImage()); QVERIFY(icon.pixmap(32, QIcon::Normal).toImage() == @@ -481,12 +493,6 @@ void tst_QIcon::addFile() QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-32.png")).toImage()); QVERIFY(icon.pixmap(128, QIcon::Selected).toImage() == QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-128.png")).toImage()); -#else - // WinCE only includes the 16x16 images for size reasons - QVERIFY(icon.pixmap(16, QIcon::Normal).toImage() == - QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")).toImage()); - QVERIFY(icon.pixmap(16, QIcon::Selected).toImage() == - QPixmap(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-save-16.png")).toImage()); #endif } @@ -537,18 +543,27 @@ void tst_QIcon::availableSizes() QVERIFY(availableSizes.isEmpty()); } +#ifndef Q_OS_SYMBIAN + const int defaultDimension = 16; + QLatin1String standardIcon(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png"); +#else + // In Symbian, only 32 times 32 icons are included. + const int defaultDimension = 32; + QLatin1String standardIcon(":/trolltech/styles/commonstyle/images/standardbutton-open-32.png"); +#endif + { // we try to load an icon from resources - QIcon icon(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")); + QIcon icon(standardIcon); QList availableSizes = icon.availableSizes(); QCOMPARE(availableSizes.size(), 1); - QCOMPARE(availableSizes.at(0), QSize(16, 16)); + QCOMPARE(availableSizes.at(0), QSize(defaultDimension, defaultDimension)); } { // load an icon from binary data. QPixmap pix; - QFile file(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")); + QFile file(standardIcon); QVERIFY(file.open(QIODevice::ReadOnly)); uchar *data = file.map(0, file.size()); QVERIFY(data != 0); @@ -557,7 +572,7 @@ void tst_QIcon::availableSizes() QList availableSizes = icon.availableSizes(); QCOMPARE(availableSizes.size(), 1); - QCOMPARE(availableSizes.at(0), QSize(16,16)); + QCOMPARE(availableSizes.at(0), QSize(defaultDimension, defaultDimension)); } { @@ -719,18 +734,29 @@ void tst_QIcon::fromTheme() void tst_QIcon::task223279_inconsistentAddFile() { +#ifndef Q_OS_SYMBIAN + const int defaultDimension = 16; + const int invalidIconDimension = 32; + QLatin1String standardIcon(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png"); +#else + // Only 32 times 32 icons are included in Symbian + const int defaultDimension = 32; + const int invalidIconDimension = 64; + QLatin1String standardIcon(":/trolltech/styles/commonstyle/images/standardbutton-open-32.png"); +#endif + QIcon icon1; - icon1.addFile(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")); - icon1.addFile(QLatin1String("IconThatDoesntExist"), QSize(32, 32)); - QPixmap pm1 = icon1.pixmap(32, 32); + icon1.addFile(standardIcon); + icon1.addFile(QLatin1String("IconThatDoesntExist"), QSize(invalidIconDimension, invalidIconDimension)); + QPixmap pm1 = icon1.pixmap(invalidIconDimension, invalidIconDimension); QIcon icon2; - icon2.addFile(QLatin1String(":/trolltech/styles/commonstyle/images/standardbutton-open-16.png")); + icon2.addFile(standardIcon); icon2.addFile(QLatin1String("IconThatDoesntExist")); - QPixmap pm2 = icon1.pixmap(32, 32); + QPixmap pm2 = icon1.pixmap(invalidIconDimension, invalidIconDimension); QCOMPARE(pm1.isNull(), false); - QCOMPARE(pm1.size(), QSize(16,16)); + QCOMPARE(pm1.size(), QSize(defaultDimension, defaultDimension)); QCOMPARE(pm1.isNull(), pm2.isNull()); QCOMPARE(pm1.size(), pm2.size()); } -- cgit v0.12 From 0f9b98736ceedebece6c9cd4ce2e669300f882c7 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Wed, 7 Sep 2011 05:16:36 +0400 Subject: fix build for desktop QTBUG: 20236 Merge-request: 2672 Reviewed-by: Harald Fernengel --- tools/qvfb/qvfb.pro | 9 +++++++++ tools/qvfb/qvfbshmem.cpp | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/qvfb/qvfb.pro b/tools/qvfb/qvfb.pro index 29ce202..df68c97 100644 --- a/tools/qvfb/qvfb.pro +++ b/tools/qvfb/qvfb.pro @@ -8,6 +8,9 @@ DESTDIR = ../../bin target.path=$$[QT_INSTALL_BINS] INSTALLS += target +DEPENDPATH += ../../include +INCLUDEPATH += ../../src/gui/embedded + FORMS = config.ui HEADERS = qvfb.h \ qvfbview.h \ @@ -27,6 +30,12 @@ SOURCES = qvfb.cpp \ qvfbshmem.cpp \ qvfbmmap.cpp +!embedded { + DEFINES += QT_NO_QWS_SIGNALHANDLER + HEADERS += ../../src/gui/embedded/qlock_p.h + SOURCES += ../../src/gui/embedded/qlock.cpp +} + include(../shared/deviceskin/deviceskin.pri) contains(QT_CONFIG, opengl) { diff --git a/tools/qvfb/qvfbshmem.cpp b/tools/qvfb/qvfbshmem.cpp index c17a680..c9a4293 100644 --- a/tools/qvfb/qvfbshmem.cpp +++ b/tools/qvfb/qvfbshmem.cpp @@ -39,9 +39,11 @@ ** ****************************************************************************/ +#include + #include "qvfbshmem.h" -#include -#include +#include "qvfbhdr.h" +#include "qlock_p.h" #include #include -- cgit v0.12 From 50af55095afe1ba048dde357b771485ef2188778 Mon Sep 17 00:00:00 2001 From: suzuki toshiya Date: Wed, 7 Sep 2011 11:58:54 +0200 Subject: Replace explicit surrogate handlers by inline methods of QChar class Merge-request: 1284 Reviewed-by: Oswald Buddenhagen --- src/corelib/codecs/qutfcodec.cpp | 8 ++++---- src/gui/kernel/qkeysequence.cpp | 16 ++++++++-------- src/gui/text/qfontengine.cpp | 3 +-- src/gui/text/qfontengine_ft.cpp | 13 +++++-------- src/gui/text/qfontengine_mac.mm | 23 ++++++++--------------- src/gui/text/qfontengine_qpa.cpp | 13 +++++-------- src/gui/text/qfontengine_qpf.cpp | 13 +++++-------- src/gui/text/qfontengine_qws.cpp | 13 +++++-------- src/gui/text/qfontengine_s60.cpp | 13 +++++-------- src/gui/text/qfontengine_win.cpp | 13 +++++-------- src/gui/text/qfontengine_x11.cpp | 4 +--- src/gui/text/qfontenginedirectwrite.cpp | 13 +++++-------- src/gui/text/qtextcursor.cpp | 4 ++-- src/gui/text/qtextengine.cpp | 3 +-- src/gui/text/qtexthtmlparser.cpp | 12 ++++-------- src/gui/widgets/qlinecontrol.cpp | 6 ++---- src/plugins/codecs/cn/qgb18030codec.cpp | 14 +++++++------- 17 files changed, 73 insertions(+), 111 deletions(-) diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp index f59f404..aaebec3 100644 --- a/src/corelib/codecs/qutfcodec.cpp +++ b/src/corelib/codecs/qutfcodec.cpp @@ -90,8 +90,8 @@ QByteArray QUtf8::convertFromUnicode(const QChar *uc, int len, QTextCodec::Conve while (ch < end) { uint u = ch->unicode(); if (surrogate_high >= 0) { - if (u >= 0xdc00 && u < 0xe000) { - u = (surrogate_high - 0xd800)*0x400 + (u - 0xdc00) + 0x10000; + if (ch->isLowSurrogate()) { + u = QChar::surrogateToUcs4(surrogate_high, u); surrogate_high = -1; } else { // high surrogate without low @@ -101,13 +101,13 @@ QByteArray QUtf8::convertFromUnicode(const QChar *uc, int len, QTextCodec::Conve surrogate_high = -1; continue; } - } else if (u >= 0xdc00 && u < 0xe000) { + } else if (ch->isLowSurrogate()) { // low surrogate without high *cursor = replacement; ++ch; ++invalid; continue; - } else if (u >= 0xd800 && u < 0xdc00) { + } else if (ch->isHighSurrogate()) { surrogate_high = u; ++ch; continue; diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp index 117b72f..2350f16 100644 --- a/src/gui/kernel/qkeysequence.cpp +++ b/src/gui/kernel/qkeysequence.cpp @@ -1381,11 +1381,11 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat QString p; if (key && key < Qt::Key_Escape && key != Qt::Key_Space) { - if (key < 0x10000) { - p = QChar(key & 0xffff).toUpper(); + if (!QChar::requiresSurrogates(key)) { + p = QChar(ushort(key)).toUpper(); } else { - p = QChar((key-0x10000)/0x400+0xd800); - p += QChar((key-0x10000)%400+0xdc00); + p += QChar(QChar::highSurrogate(key)); + p += QChar(QChar::lowSurrogate(key)); } } else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) { p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1) @@ -1418,11 +1418,11 @@ NonSymbol: // Or else characters like Qt::Key_aring may not get displayed // (Really depends on you locale) if (!keyname[i].name) { - if (key < 0x10000) { - p = QChar(key & 0xffff).toUpper(); + if (!QChar::requiresSurrogates(key)) { + p = QChar(ushort(key)).toUpper(); } else { - p = QChar((key-0x10000)/0x400+0xd800); - p += QChar((key-0x10000)%400+0xdc00); + p += QChar(QChar::highSurrogate(key)); + p += QChar(QChar::lowSurrogate(key)); } } } diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index dec0982..b4c58b5 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -1335,8 +1335,7 @@ bool QFontEngineMulti::stringToCMap(const QChar *str, int len, int glyph_pos = 0; for (int i = 0; i < len; ++i) { - bool surrogate = (str[i].unicode() >= 0xd800 && str[i].unicode() < 0xdc00 && i < len-1 - && str[i+1].unicode() >= 0xdc00 && str[i+1].unicode() < 0xe000); + bool surrogate = (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()); if (glyphs->glyphs[glyph_pos] == 0 && str[i].category() != QChar::Separator_Line) { QGlyphLayoutInstance tmp = glyphs->instance(glyph_pos); diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 9a5d9d6..b7d1e5d 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -1418,15 +1418,12 @@ void QFontEngineFT::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, glyph_me static inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } bool QFontEngineFT::canRender(const QChar *string, int len) diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm index 9d9eaed..6186b2f 100644 --- a/src/gui/text/qfontengine_mac.mm +++ b/src/gui/text/qfontengine_mac.mm @@ -257,10 +257,8 @@ static OSStatus atsuPostLayoutCallback(ATSULayoutOperationSelector selector, ATS #if !defined(QT_NO_DEBUG) int surrogates = 0; const QChar *str = item->string; - for (int i = item->from; i < item->from + item->length - 1; ++i) { - surrogates += (str[i].unicode() >= 0xd800 && str[i].unicode() < 0xdc00 - && str[i+1].unicode() >= 0xdc00 && str[i+1].unicode() < 0xe000); - } + for (int i = item->from; i < item->from + item->length - 1; ++i) + surrogates += (str[i].isHighSurrogate() && str[i+1].isLowSurrogate()); #endif for (nextCharStop = item->from; nextCharStop < item->from + item->length; ++nextCharStop) if (item->charAttributes[nextCharStop].charStop) @@ -328,10 +326,8 @@ static OSStatus atsuPostLayoutCallback(ATSULayoutOperationSelector selector, ATS if (charOffset < item->length - 1) { QChar current = item->string[item->from + charOffset]; QChar next = item->string[item->from + charOffset + 1]; - if (current.unicode() >= 0xd800 && current.unicode() < 0xdc00 - && next.unicode() >= 0xdc00 && next.unicode() < 0xe000) { + if (current.isHighSurrogate() && next.isLowSurrogate()) item->log_clusters[charOffset + 1] = currentClusterGlyph; - } } } } @@ -738,15 +734,12 @@ QFontEngineMac::~QFontEngineMac() static inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } // Not used directly for shaping, only used to calculate m_averageCharWidth diff --git a/src/gui/text/qfontengine_qpa.cpp b/src/gui/text/qfontengine_qpa.cpp index cb1e7d6..c829c2f 100644 --- a/src/gui/text/qfontengine_qpa.cpp +++ b/src/gui/text/qfontengine_qpa.cpp @@ -226,15 +226,12 @@ QVariant QFontEngineQPA::extractHeaderField(const uchar *data, HeaderTag request static inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } QFontEngineQPA::QFontEngineQPA(const QFontDef &def, const QByteArray &data) diff --git a/src/gui/text/qfontengine_qpf.cpp b/src/gui/text/qfontengine_qpf.cpp index 30a1623..3db5ce1 100644 --- a/src/gui/text/qfontengine_qpf.cpp +++ b/src/gui/text/qfontengine_qpf.cpp @@ -278,15 +278,12 @@ QList QFontEngineQPF::cleanUpAfterClientCrash(const QList &cras static inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } #ifdef QT_FONTS_ARE_RESOURCES QFontEngineQPF::QFontEngineQPF(const QFontDef &def, const uchar *bytes, int size) diff --git a/src/gui/text/qfontengine_qws.cpp b/src/gui/text/qfontengine_qws.cpp index 237842b..ade283f 100644 --- a/src/gui/text/qfontengine_qws.cpp +++ b/src/gui/text/qfontengine_qws.cpp @@ -83,15 +83,12 @@ QT_BEGIN_NAMESPACE static inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } #define FM_SMOOTH 1 diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp index b0824cb..203b6e1 100644 --- a/src/gui/text/qfontengine_s60.cpp +++ b/src/gui/text/qfontengine_s60.cpp @@ -233,15 +233,12 @@ bool QSymbianTypeFaceExtras::symbianFontTableApiAvailable() // duplicated from qfontengine_xyz.cpp static inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } extern QString qt_symbian_fontNameWithAppFontMarker(const QString &fontName); // qfontdatabase_s60.cpp diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp index aef2145..fc11387 100644 --- a/src/gui/text/qfontengine_win.cpp +++ b/src/gui/text/qfontengine_win.cpp @@ -224,15 +224,12 @@ void QFontEngineWin::getCMap() inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4(ucs4, str[i].unicode()); } - return uc; + return ucs4; } int QFontEngineWin::getGlyphIndexes(const QChar *str, int numChars, QGlyphLayout *glyphs, bool mirrored) const diff --git a/src/gui/text/qfontengine_x11.cpp b/src/gui/text/qfontengine_x11.cpp index 490866c..6e87f4c 100644 --- a/src/gui/text/qfontengine_x11.cpp +++ b/src/gui/text/qfontengine_x11.cpp @@ -358,9 +358,7 @@ bool QFontEngineXLFD::stringToCMap(const QChar *s, int len, QGlyphLayout *glyphs QVarLengthArray _s(len); QChar *str = (QChar *)_s.data(); for (int i = 0; i < len; ++i) { - if (i < len - 1 - && s[i].unicode() >= 0xd800 && s[i].unicode() < 0xdc00 - && s[i+1].unicode() >= 0xdc00 && s[i].unicode() < 0xe000) { + if (s[i].isHighSurrogate() && i < len-1 && s[i+1].isLowSurrogate()) { *str = QChar(); ++i; } else { diff --git a/src/gui/text/qfontenginedirectwrite.cpp b/src/gui/text/qfontenginedirectwrite.cpp index d693273..5bac117 100644 --- a/src/gui/text/qfontenginedirectwrite.cpp +++ b/src/gui/text/qfontenginedirectwrite.cpp @@ -269,15 +269,12 @@ QFixed QFontEngineDirectWrite::emSquareSize() const inline unsigned int getChar(const QChar *str, int &i, const int len) { - unsigned int uc = str[i].unicode(); - if (uc >= 0xd800 && uc < 0xdc00 && i < len-1) { - uint low = str[i+1].unicode(); - if (low >= 0xdc00 && low < 0xe000) { - uc = (uc - 0xd800)*0x400 + (low - 0xdc00) + 0x10000; - ++i; - } + uint ucs4 = str[i].unicode(); + if (str[i].isHighSurrogate() && i < len-1 && str[i+1].isLowSurrogate()) { + ++i; + ucs4 = QChar::surrogateToUcs4( ucs4, str[i].unicode()); } - return uc; + return ucs4; } bool QFontEngineDirectWrite::stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, diff --git a/src/gui/text/qtextcursor.cpp b/src/gui/text/qtextcursor.cpp index 7e7ca6c..acef9fa 100644 --- a/src/gui/text/qtextcursor.cpp +++ b/src/gui/text/qtextcursor.cpp @@ -1511,11 +1511,11 @@ void QTextCursor::deletePreviousChar() const QTextFragmentData * const frag = fragIt.value(); int fpos = fragIt.position(); QChar uc = d->priv->buffer().at(d->anchor - fpos + frag->stringPosition); - if (d->anchor > fpos && uc.unicode() >= 0xdc00 && uc.unicode() < 0xe000) { + if (d->anchor > fpos && uc.isLowSurrogate()) { // second half of a surrogate, check if we have the first half as well, // if yes delete both at once uc = d->priv->buffer().at(d->anchor - 1 - fpos + frag->stringPosition); - if (uc.unicode() >= 0xd800 && uc.unicode() < 0xdc00) + if (uc.isHighSurrogate()) --d->anchor; } diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index aa4a20d..732b821 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -993,8 +993,7 @@ static void heuristicSetGlyphAttributes(const QChar *uc, int length, QGlyphLayou int glyph_pos = 0; for (int i = 0; i < length; i++) { - if (uc[i].unicode() >= 0xd800 && uc[i].unicode() < 0xdc00 && i < length-1 - && uc[i+1].unicode() >= 0xdc00 && uc[i+1].unicode() < 0xe000) { + if (uc[i].isHighSurrogate() && i < length-1 && uc[i+1].isLowSurrogate()) { logClusters[i] = glyph_pos; logClusters[++i] = glyph_pos; } else { diff --git a/src/gui/text/qtexthtmlparser.cpp b/src/gui/text/qtexthtmlparser.cpp index 5b60dfa..d130c61 100644 --- a/src/gui/text/qtexthtmlparser.cpp +++ b/src/gui/text/qtexthtmlparser.cpp @@ -820,15 +820,11 @@ QString QTextHtmlParser::parseEntity() if (uc >= 0x80 && uc < 0x80 + (sizeof(windowsLatin1ExtendedCharacters)/sizeof(windowsLatin1ExtendedCharacters[0]))) uc = windowsLatin1ExtendedCharacters[uc - 0x80]; QString str; - if (uc > 0xffff) { - // surrogate pair - uc -= 0x10000; - ushort high = uc/0x400 + 0xd800; - ushort low = uc%0x400 + 0xdc00; - str.append(QChar(high)); - str.append(QChar(low)); + if (QChar::requiresSurrogates(uc)) { + str += QChar(QChar::highSurrogate(uc)); + str += QChar(QChar::lowSurrogate(uc)); } else { - str.append(QChar(uc)); + str = QChar(uc); } return str; } diff --git a/src/gui/widgets/qlinecontrol.cpp b/src/gui/widgets/qlinecontrol.cpp index b6e2f90..873630a 100644 --- a/src/gui/widgets/qlinecontrol.cpp +++ b/src/gui/widgets/qlinecontrol.cpp @@ -198,12 +198,10 @@ void QLineControl::backspace() --m_cursor; if (m_maskData) m_cursor = prevMaskBlank(m_cursor); - QChar uc = m_text.at(m_cursor); - if (m_cursor > 0 && uc.unicode() >= 0xdc00 && uc.unicode() < 0xe000) { + if (m_cursor > 0 && m_text.at(m_cursor).isLowSurrogate()) { // second half of a surrogate, check if we have the first half as well, // if yes delete both at once - uc = m_text.at(m_cursor - 1); - if (uc.unicode() >= 0xd800 && uc.unicode() < 0xdc00) { + if (m_text.at(m_cursor - 1).isHighSurrogate()) { internalDelete(true); --m_cursor; } diff --git a/src/plugins/codecs/cn/qgb18030codec.cpp b/src/plugins/codecs/cn/qgb18030codec.cpp index 0a45eeb..d12f5d9 100644 --- a/src/plugins/codecs/cn/qgb18030codec.cpp +++ b/src/plugins/codecs/cn/qgb18030codec.cpp @@ -108,10 +108,10 @@ QByteArray QGb18030Codec::convertFromUnicode(const QChar *uc, int len, Converter int len; uchar buf[4]; if (high >= 0) { - if (ch >= 0xdc00 && ch < 0xe000) { + if (uc[i].isLowSurrogate()) { // valid surrogate pair ++i; - uint u = (high-0xd800)*0x400+(ch-0xdc00)+0x10000; + uint u = QChar::surrogateToUcs4(high, uc[i].unicode()); len = qt_UnicodeToGb18030(u, buf); if (len >= 2) { for (int j=0; j= 0xd800 && ch < 0xdc00)) { + } else if (uc[i].isHighSurrogate()) { // surrogates area. check for correct encoding // we need at least one more character, first the high surrogate, then the low one high = ch; @@ -181,7 +181,7 @@ QString QGb18030Codec::convertToUnicode(const char* chars, int len, ConverterSta uchar ch = chars[i]; switch (nbuf) { case 0: - if (ch < 0x80) { + if (IsLatin(ch)) { // ASCII resultData[unicodeLen] = ch; ++unicodeLen; @@ -339,7 +339,7 @@ QString QGbkCodec::convertToUnicode(const char* chars, int len, ConverterState * uchar ch = chars[i]; switch (nbuf) { case 0: - if (ch < 0x80) { + if (IsLatin(ch)) { // ASCII resultData[unicodeLen] = ch; ++unicodeLen; @@ -487,7 +487,7 @@ QString QGb2312Codec::convertToUnicode(const char* chars, int len, ConverterStat uchar ch = chars[i]; switch (nbuf) { case 0: - if (ch < 0x80) { + if (IsLatin(ch)) { // ASCII resultData[unicodeLen] = ch; ++unicodeLen; -- cgit v0.12 From ad35d25e78c8252a72108a4ba931934047c4707e Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 6 Sep 2011 16:43:29 +0100 Subject: Merge fixes for QDir::operator== There were two fixes in 4.8 which each fixed a part of the problem. Comparing canonical paths is more correct, but is only possible where both directories exist. If neither directory exists, then compare absolute paths instead. Changed a regression test, because /tmp is a symbolic link on MacOS. I.E. "/tmp/.." is canonically "/private" and not "/" as expected. Task-Number: QTBUG-20495 Reviewed-By: joao --- src/corelib/io/qdir.cpp | 15 +++++++++++++-- tests/auto/qdir/tst_qdir.cpp | 22 +++++++++++++++++++++- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 3271148..9081e31 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -1638,8 +1638,19 @@ bool QDir::operator==(const QDir &dir) const if (d->dirEntry.filePath() == other->dirEntry.filePath()) return true; - // Fallback to expensive canonical path computation - return canonicalPath().compare(dir.canonicalPath(), sensitive) == 0; + if (exists()) { + if (!dir.exists()) + return false; //can't be equal if only one exists + // Both exist, fallback to expensive canonical path computation + return canonicalPath().compare(dir.canonicalPath(), sensitive) == 0; + } else { + if (dir.exists()) + return false; //can't be equal if only one exists + // Neither exists, compare absolute paths rather than canonical (which would be empty strings) + d->resolveAbsoluteEntry(); + other->resolveAbsoluteEntry(); + return d->absoluteDirEntry.filePath().compare(other->absoluteDirEntry.filePath(), sensitive) == 0; + } } return false; } diff --git a/tests/auto/qdir/tst_qdir.cpp b/tests/auto/qdir/tst_qdir.cpp index 7e5ec79..9693480 100644 --- a/tests/auto/qdir/tst_qdir.cpp +++ b/tests/auto/qdir/tst_qdir.cpp @@ -1951,10 +1951,30 @@ void tst_QDir::equalityOperator_data() << "." << "*.cpp" << int(QDir::Name) << int(QDir::Files) << true; - QTest::newRow("QTBUG-20495-root") << QDir::rootPath() + "tmp/.." << "*.cpp" << int(QDir::Name) << int(QDir::Files) + //need a path in the root directory that is unlikely to be a symbolic link. +#if defined (Q_OS_WIN) + QString pathinroot("c:/windows/.."); +#elif defined (Q_OS_SYMBIAN) + QString pathinroot("c:/data/.."); +#else + QString pathinroot("/sbin/.."); +#endif + QTest::newRow("QTBUG-20495-root") << pathinroot << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << QDir::rootPath() << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << true; + + QTest::newRow("slashdot") << QDir::rootPath() + "." << "*.cpp" << int(QDir::Name) << int(QDir::Files) << QDir::rootPath() << "*.cpp" << int(QDir::Name) << int(QDir::Files) << true; + QTest::newRow("slashdotslash") << QDir::rootPath() + "./" << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << QDir::rootPath() << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << true; + + QTest::newRow("nonexistantpaths") << "dir-that-dont-exist" << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << "another-dir-that-dont-exist" << "*.cpp" << int(QDir::Name) << int(QDir::Files) + << false; + QTest::newRow("diff-filters") << SRCDIR << "*.cpp" << int(QDir::Name) << int(QDir::Files) << SRCDIR << "*.cpp" << int(QDir::Name) << int(QDir::Dirs) << false; -- cgit v0.12 From 4aff9e52efc7c6fc6124972efb3b381f85c45e4f Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Wed, 7 Sep 2011 19:51:23 +0200 Subject: QSettings: use the common appdata dir when bootstrapping qmake on win QSystemLibrary doesn't depend on QObject, so nothing could stop us Merge-request: 1341 Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qsettings.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 79b2728..9f9802c 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -66,13 +66,12 @@ #ifndef QT_NO_QOBJECT #include "qcoreapplication.h" +#endif #ifdef Q_OS_WIN // for homedirpath reading from registry #include "qt_windows.h" #include - -#endif // Q_OS_WIN -#endif // QT_NO_QOBJECT +#endif #ifdef Q_OS_VXWORKS # include @@ -1024,9 +1023,6 @@ static QString windowsConfigPath(int type) { QString result; -#ifndef QT_NO_QOBJECT - // We can't use QLibrary if there is QT_NO_QOBJECT is defined - // This only happens when bootstrapping qmake. #ifndef Q_OS_WINCE QSystemLibrary library(QLatin1String("shell32")); #else @@ -1040,8 +1036,6 @@ static QString windowsConfigPath(int type) result = QString::fromWCharArray(path); } -#endif // QT_NO_QOBJECT - if (result.isEmpty()) { switch (type) { #ifndef Q_OS_WINCE -- cgit v0.12 From 38b4b059e83bca2fe82a0826bdf69fd8b02b2827 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Wed, 7 Sep 2011 19:51:24 +0200 Subject: QSettings: don't assume XDG_CONFIG_HOME is latin1-encoded use QFile::decodeName() instead Merge-request: 1341 Reviewed-by: Oswald Buddenhagen --- src/corelib/io/qsettings.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 9f9802c..547bbeb 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -1108,11 +1108,11 @@ static void initDefaultPaths(QMutexLocker *locker) userPath += QLatin1String(".config"); #endif } else if (*env == '/') { - userPath = QLatin1String(env); + userPath = QFile::decodeName(env); } else { userPath = homePath; userPath += QLatin1Char('/'); - userPath += QLatin1String(env); + userPath += QFile::decodeName(env); } userPath += QLatin1Char('/'); -- cgit v0.12 From d763cfb2eb118573115e35bdd3831fc8c8c18dc4 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Wed, 7 Sep 2011 18:52:38 +0100 Subject: runonphone: Allow overriding the temporary sis file name Merge-request: 1300 Reviewed-by: Shane Kearns --- tools/runonphone/main.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp index af349eb..39fa983 100644 --- a/tools/runonphone/main.cpp +++ b/tools/runonphone/main.cpp @@ -67,6 +67,7 @@ void printUsage(QTextStream& outstream, QString exeName) << "-q, --quiet hide progress messages" << endl << "-u, --upload upload file to phone" << endl << "-d, --download copy file from phone to PC after running test" << endl + << "-T, --tempfile specify temporary sis file name" << endl << "--nocrashlog Don't capture call stack if test crashes" << endl << "--crashlogpath Path to save crash logs (default=working dir)" << endl << "--coda Use CODA instead of TRK (default agent)" << endl @@ -94,6 +95,7 @@ int main(int argc, char *argv[]) QString uploadRemoteFile; QString downloadRemoteFile; QString downloadLocalFile; + QString dstName = "c:\\data\\testtemp.sis"; int loglevel=1; int timeout=0; bool crashlog = true; @@ -153,6 +155,10 @@ int main(int argc, char *argv[]) } else if (arg == "--coda") coda = true; + else if (arg == "--tempfile" || arg == "-T") { + CHECK_PARAMETER_EXISTS + dstName = it.next(); + } else if (arg == "--verbose" || arg == "-v") loglevel=2; else if (arg == "--quiet" || arg == "-q") @@ -225,7 +231,6 @@ int main(int argc, char *argv[]) if (!sisFile.isEmpty()) { codaHandler.setActionType(ActionCopyInstall); - QString dstName = "c:\\data\\testtemp.sis"; codaHandler.setCopyFileName(sisFile, dstName); } else if (!uploadLocalFile.isEmpty() && uploadInfo.exists()) { @@ -257,7 +262,6 @@ int main(int argc, char *argv[]) if (!sisFile.isEmpty()) { launcher->addStartupActions(trk::Launcher::ActionCopyInstall); srcNames.append(sisFile); - QLatin1String dstName("c:\\data\\testtemp.sis"); dstNames.append(dstName); launcher->setInstallFileNames(QStringList(dstName)); } -- cgit v0.12 From 4bc678f6516d3bd39540f8919f6af8d264a13617 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Wed, 7 Sep 2011 18:59:41 +0100 Subject: runonphone: Add a missing space between a message and the file name Merge-request: 2670 Reviewed-by: Shane Kearns --- tools/runonphone/trksignalhandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/runonphone/trksignalhandler.cpp b/tools/runonphone/trksignalhandler.cpp index 59ff22c..52de3c8 100644 --- a/tools/runonphone/trksignalhandler.cpp +++ b/tools/runonphone/trksignalhandler.cpp @@ -106,7 +106,7 @@ void TrkSignalHandler::canNotCloseFile(const QString &filename, const QString &e void TrkSignalHandler::installingStarted(const QString &packageName) { if (d->loglevel > 0) - d->out << "Installing" << packageName << "..." << endl; + d->out << "Installing " << packageName << "..." << endl; } void TrkSignalHandler::canNotInstall(const QString &packageFilename, const QString &errorMessage) -- cgit v0.12 From b3de52be29a54aa23a446c7689a48f73206a7cbc Mon Sep 17 00:00:00 2001 From: Markku Heikkila Date: Wed, 7 Sep 2011 20:08:34 +0200 Subject: Perl check for windows configure. Works for Windows, *nix check is done by bash shell. Task-number: QTBUG-5710 Merge-request: 1362 Reviewed-by: Oswald Buddenhagen --- tools/configure/configureapp.cpp | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 31c359e..e6d8526 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3599,17 +3599,21 @@ void Configure::displayConfig() #if !defined(EVAL) void Configure::generateHeaders() { - if (dictionary["SYNCQT"] == "yes" - && findFile("perl.exe")) { - cout << "Running syncqt..." << endl; - QStringList args; - args += buildPath + "/bin/syncqt.bat"; - QStringList env; - env += QString("QTDIR=" + sourcePath); - env += QString("PATH=" + buildPath + "/bin/;" + qgetenv("PATH")); - int retc = Environment::execute(args, env, QStringList()); - if (retc) { - cout << "syncqt failed, return code " << retc << endl << endl; + if (dictionary["SYNCQT"] == "yes") { + if (findFile("perl.exe")) { + cout << "Running syncqt..." << endl; + QStringList args; + args += buildPath + "/bin/syncqt.bat"; + QStringList env; + env += QString("QTDIR=" + sourcePath); + env += QString("PATH=" + buildPath + "/bin/;" + qgetenv("PATH")); + int retc = Environment::execute(args, env, QStringList()); + if (retc) { + cout << "syncqt failed, return code " << retc << endl << endl; + dictionary["DONE"] = "error"; + } + } else { + cout << "Perl not found in environment - cannot run syncqt." << endl; dictionary["DONE"] = "error"; } } -- cgit v0.12 From 248ec0d94a6e58a679cb757d2dd32f6fd59a2b6d Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Wed, 7 Sep 2011 20:28:31 +0200 Subject: runonphone: Add a missing space between a message and the file name Merge-request: 2670 Reviewed-by: Oswald Buddenhagen --- tools/runonphone/trksignalhandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/runonphone/trksignalhandler.cpp b/tools/runonphone/trksignalhandler.cpp index 59ff22c..52de3c8 100644 --- a/tools/runonphone/trksignalhandler.cpp +++ b/tools/runonphone/trksignalhandler.cpp @@ -106,7 +106,7 @@ void TrkSignalHandler::canNotCloseFile(const QString &filename, const QString &e void TrkSignalHandler::installingStarted(const QString &packageName) { if (d->loglevel > 0) - d->out << "Installing" << packageName << "..." << endl; + d->out << "Installing " << packageName << "..." << endl; } void TrkSignalHandler::canNotInstall(const QString &packageFilename, const QString &errorMessage) -- cgit v0.12 From 270c20490813fa943b4fbf0feb1aecb98f0b19ba Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Wed, 7 Sep 2011 20:40:48 +0200 Subject: Ensure that the proxystyle is used over the style's own functions When calling a style function such as pixelMetric() then this should be done via the proxy style and not on the style directly. This is so that the proxy style always has a chance to override the original style's implementation and still preserve the fallback to the base style. Task-number: QTBUG-20849 Merge-request: 2645 Reviewed-by: olivier --- src/gui/styles/qcommonstyle.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/gui/styles/qcommonstyle.cpp b/src/gui/styles/qcommonstyle.cpp index ad0e151..327bedf 100644 --- a/src/gui/styles/qcommonstyle.cpp +++ b/src/gui/styles/qcommonstyle.cpp @@ -837,14 +837,12 @@ static void drawArrow(const QStyle *style, const QStyleOptionToolButton *toolbut QSize QCommonStylePrivate::viewItemSize(const QStyleOptionViewItemV4 *option, int role) const { - Q_Q(const QCommonStyle); - const QWidget *widget = option->widget; switch (role) { case Qt::CheckStateRole: if (option->features & QStyleOptionViewItemV2::HasCheckIndicator) - return QSize(q->pixelMetric(QStyle::PM_IndicatorWidth, option, widget), - q->pixelMetric(QStyle::PM_IndicatorHeight, option, widget)); + return QSize(proxyStyle->pixelMetric(QStyle::PM_IndicatorWidth, option, widget), + proxyStyle->pixelMetric(QStyle::PM_IndicatorHeight, option, widget)); break; case Qt::DisplayRole: if (option->features & QStyleOptionViewItemV2::HasDisplay) { @@ -855,7 +853,7 @@ QSize QCommonStylePrivate::viewItemSize(const QStyleOptionViewItemV4 *option, in textLayout.setFont(option->font); textLayout.setText(option->text); const bool wrapText = option->features & QStyleOptionViewItemV2::WrapText; - const int textMargin = q->pixelMetric(QStyle::PM_FocusFrameHMargin, option, widget) + 1; + const int textMargin = proxyStyle->pixelMetric(QStyle::PM_FocusFrameHMargin, option, widget) + 1; QRect bounds = option->rect; switch (option->decorationPosition) { case QStyleOptionViewItem::Left: @@ -919,9 +917,8 @@ static QSizeF viewItemTextLayout(QTextLayout &textLayout, int lineWidth) void QCommonStylePrivate::viewItemDrawText(QPainter *p, const QStyleOptionViewItemV4 *option, const QRect &rect) const { - Q_Q(const QCommonStyle); const QWidget *widget = option->widget; - const int textMargin = q->pixelMetric(QStyle::PM_FocusFrameHMargin, 0, widget) + 1; + const int textMargin = proxyStyle->pixelMetric(QStyle::PM_FocusFrameHMargin, 0, widget) + 1; QRect textRect = rect.adjusted(textMargin, 0, -textMargin, 0); // remove width padding const bool wrapText = option->features & QStyleOptionViewItemV2::WrapText; @@ -999,7 +996,6 @@ void QCommonStylePrivate::viewItemDrawText(QPainter *p, const QStyleOptionViewIt void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItemV4 *opt, QRect *checkRect, QRect *pixmapRect, QRect *textRect, bool sizehint) const { - Q_Q(const QCommonStyle); Q_ASSERT(checkRect && pixmapRect && textRect); *pixmapRect = QRect(QPoint(0, 0), viewItemSize(opt, Qt::DecorationRole)); *textRect = QRect(QPoint(0, 0), viewItemSize(opt, Qt::DisplayRole)); @@ -1009,9 +1005,9 @@ void QCommonStylePrivate::viewItemLayout(const QStyleOptionViewItemV4 *opt, QRe const bool hasCheck = checkRect->isValid(); const bool hasPixmap = pixmapRect->isValid(); const bool hasText = textRect->isValid(); - const int textMargin = hasText ? q->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, widget) + 1 : 0; - const int pixmapMargin = hasPixmap ? q->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, widget) + 1 : 0; - const int checkMargin = hasCheck ? q->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, widget) + 1 : 0; + const int textMargin = hasText ? proxyStyle->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, widget) + 1 : 0; + const int pixmapMargin = hasPixmap ? proxyStyle->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, widget) + 1 : 0; + const int checkMargin = hasCheck ? proxyStyle->pixelMetric(QStyle::PM_FocusFrameHMargin, opt, widget) + 1 : 0; int x = opt->rect.left(); int y = opt->rect.top(); int w, h; -- cgit v0.12 From 2a1e82452a192c88bcf0250f5976492f6dc3b65f Mon Sep 17 00:00:00 2001 From: Jan Arne Petersen Date: Wed, 7 Sep 2011 21:38:21 +0200 Subject: Split CFLAGS from pkg-config properly Add support for DEFINES and INCLUDEPATH to link_pkgconfig so moc uses the cflags properly. Task-number: QTBUG-19922 Merge-request: 2674 Reviewed-by: ossi --- mkspecs/features/link_pkgconfig.prf | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/mkspecs/features/link_pkgconfig.prf b/mkspecs/features/link_pkgconfig.prf index a3dbd1f..91683f6 100644 --- a/mkspecs/features/link_pkgconfig.prf +++ b/mkspecs/features/link_pkgconfig.prf @@ -5,8 +5,21 @@ for(PKGCONFIG_LIB, $$list($$unique(PKGCONFIG))) { # don't proceed if the .pro asks for a package we don't have! !packagesExist($$PKGCONFIG_LIB):error("Package $$PKGCONFIG_LIB not found") - QMAKE_CXXFLAGS += $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB) - QMAKE_CFLAGS += $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB) + PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags $$PKGCONFIG_LIB) + + PKGCONFIG_INCLUDEPATH = $$find(PKGCONFIG_CFLAGS, ^-I.*) + PKGCONFIG_INCLUDEPATH ~= s/^-I(.*)/\\1/g + + PKGCONFIG_DEFINES = $$find(PKGCONFIG_CFLAGS, ^-D.*) + PKGCONFIG_DEFINES ~= s/^-D(.*)/\\1/g + + PKGCONFIG_CFLAGS ~= s/^-[ID].*//g + + INCLUDEPATH *= $$PKGCONFIG_INCLUDEPATH + DEFINES *= $$PKGCONFIG_DEFINES + + QMAKE_CXXFLAGS += $$PKGCONFIG_CFLAGS + QMAKE_CFLAGS += $$PKGCONFIG_CFLAGS LIBS += $$system($$PKG_CONFIG --libs $$PKGCONFIG_LIB) } -- cgit v0.12 From 852abfca6f4c349dce9b895956922f96d82df579 Mon Sep 17 00:00:00 2001 From: Andrew den Exter Date: Thu, 8 Sep 2011 12:28:49 +1000 Subject: Fix double click and drag not extending word selection. mousePressed isn't set on the second press of a double click and so can't be used to determine if all selections should be skipped. Instead skip only the single click and drag selections if mousePressed is false. Change-Id: I5e7ba033f38b0f9b98fdca5c61a8548f92991601 Task-number: QTBUG-20925 Reviewed-by: Martin Jones --- src/gui/text/qtextcontrol.cpp | 7 ++---- tests/auto/qtextedit/tst_qtextedit.cpp | 41 ++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp index aacac04..996d488 100644 --- a/src/gui/text/qtextcontrol.cpp +++ b/src/gui/text/qtextcontrol.cpp @@ -1628,16 +1628,13 @@ void QTextControlPrivate::mouseMoveEvent(QEvent *e, Qt::MouseButton button, cons return; } - if (!mousePressed) - return; - const qreal mouseX = qreal(mousePos.x()); int newCursorPos = q->hitTest(mousePos, Qt::FuzzyHit); if (newCursorPos == -1) return; - if (wordSelectionEnabled && !selectedWordOnDoubleClick.hasSelection()) { + if (mousePressed && wordSelectionEnabled && !selectedWordOnDoubleClick.hasSelection()) { selectedWordOnDoubleClick = cursor; selectedWordOnDoubleClick.select(QTextCursor::WordUnderCursor); } @@ -1646,7 +1643,7 @@ void QTextControlPrivate::mouseMoveEvent(QEvent *e, Qt::MouseButton button, cons extendBlockwiseSelection(newCursorPos); else if (selectedWordOnDoubleClick.hasSelection()) extendWordwiseSelection(newCursorPos, mouseX); - else + else if (mousePressed) setCursorPosition(newCursorPos, QTextCursor::KeepAnchor); if (interactionFlags & Qt::TextEditable) { diff --git a/tests/auto/qtextedit/tst_qtextedit.cpp b/tests/auto/qtextedit/tst_qtextedit.cpp index 42ea3b1..73d09f4 100644 --- a/tests/auto/qtextedit/tst_qtextedit.cpp +++ b/tests/auto/qtextedit/tst_qtextedit.cpp @@ -138,6 +138,8 @@ private slots: void textSemantics(); #endif void cursorPositionChanged(); + void mouseSelection(); + void mouseSelectionDClick(); void setTextCursor(); #ifndef QT_NO_CLIPBOARD void undoAvailableAfterPaste(); @@ -785,6 +787,45 @@ void tst_QTextEdit::cursorPositionChanged() QCOMPARE(ed->textCursor().position(), 0); } +void tst_QTextEdit::mouseSelection() +{ + ed->show(); + ed->setPlainText(("Hello World")); + QTextCursor cursor = ed->textCursor(); + cursor.setPosition(1); + QPoint p1 = ed->cursorRect(cursor).center(); + cursor.setPosition(10); + QPoint p2 = ed->cursorRect(cursor).center(); + QTest::mousePress(ed->viewport(), Qt::LeftButton, 0, p1); + { QMouseEvent ev(QEvent::MouseMove, p2, Qt::LeftButton, Qt::LeftButton, 0); + QCoreApplication::sendEvent(ed->viewport(), &ev); } + QTest::mouseRelease(ed->viewport(), Qt::LeftButton, 0, p2); + QVERIFY(ed->textCursor().hasSelection()); + QCOMPARE(ed->textCursor().selectedText(), QString("ello Worl")); + +} + +void tst_QTextEdit::mouseSelectionDClick() +{ + ed->show(); + ed->setPlainText(("Hello World")); + QTextCursor cursor = ed->textCursor(); + cursor.setPosition(1); + QPoint p1 = ed->cursorRect(cursor).center(); + cursor.setPosition(10); + QPoint p2 = ed->cursorRect(cursor).center(); + QTest::mousePress(ed->viewport(), Qt::LeftButton, 0, p1); + QTest::mouseRelease(ed->viewport(), Qt::LeftButton, 0, p1); + QTest::mouseDClick(ed->viewport(), Qt::LeftButton, 0, p1); + QVERIFY(ed->textCursor().hasSelection()); + QCOMPARE(ed->textCursor().selectedText(), QString("Hello")); + { QMouseEvent ev(QEvent::MouseMove, p2, Qt::LeftButton, Qt::LeftButton, 0); + QCoreApplication::sendEvent(ed->viewport(), &ev); } + QTest::mouseRelease(ed->viewport(), Qt::LeftButton, 0, p2); + QVERIFY(ed->textCursor().hasSelection()); + QCOMPARE(ed->textCursor().selectedText(), QString("Hello World")); +} + void tst_QTextEdit::setTextCursor() { QSignalSpy spy(ed, SIGNAL(cursorPositionChanged())); -- cgit v0.12 From 6f59466721d1d11d11da2c46f9e4092f65b14acf Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 8 Sep 2011 09:01:43 +0200 Subject: Fix regression in tst_qrawfont Change 4d8cd11179e6cca162efe650d308124dc7aefb14 broke QRawFont on Windows by removing some code. After the font has been renamed, we need to use the new font tables rather than the old ones for registering the font in the system. Reviewed-by: aavit --- src/gui/text/qrawfont_win.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/text/qrawfont_win.cpp b/src/gui/text/qrawfont_win.cpp index ea1e75b..a729e31 100644 --- a/src/gui/text/qrawfont_win.cpp +++ b/src/gui/text/qrawfont_win.cpp @@ -578,7 +578,9 @@ void QRawFontPrivate::platformLoadFromData(const QByteArray &fontData, resolveGdi32(); if (ptrAddFontMemResourceEx && ptrRemoveFontMemResourceEx) { DWORD count = 0; - fontHandle = ptrAddFontMemResourceEx((void *)fontData.constData(), fontData.size(), 0, &count); + QByteArray newFontData = font.data(); + fontHandle = ptrAddFontMemResourceEx((void *)newFontData.constData(), newFontData.size(), + 0, &count); if (count == 0 && fontHandle != NULL) { ptrRemoveFontMemResourceEx(fontHandle); fontHandle = NULL; -- cgit v0.12 From 6326227674efa85c1a5320141041110d211efc75 Mon Sep 17 00:00:00 2001 From: John Tapsell Date: Thu, 8 Sep 2011 10:14:33 +0200 Subject: Fix RTL layout for fonts when non-printable character has an advance If a non-printable character has an advance, we would lay out the text as if the character was part of the output, and then ignore the character later when the text was rendered. To fix cases such as this, we take the dontPrint attribute into consideration when adjusting the advances. Task-number: QTBUG-21347 Reviewed-by: Eskil Reviewed-by: Lars --- src/gui/text/qfontengine.cpp | 2 ++ src/gui/text/qtextengine.cpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qfontengine.cpp b/src/gui/text/qfontengine.cpp index dec0982..7056861 100644 --- a/src/gui/text/qfontengine.cpp +++ b/src/gui/text/qfontengine.cpp @@ -280,6 +280,8 @@ void QFontEngine::getGlyphPositions(const QGlyphLayout &glyphs, const QTransform int i = glyphs.numGlyphs; int totalKashidas = 0; while(i--) { + if (glyphs.attributes[i].dontPrint) + continue; xpos += glyphs.advances_x[i] + QFixed::fromFixed(glyphs.justifications[i].space_18d6); ypos += glyphs.advances_y[i]; totalKashidas += glyphs.justifications[i].nKashidas; diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index aa4a20d..6f07131 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -968,7 +968,7 @@ void QTextEngine::shapeText(int item) const } for (int i = 0; i < si.num_glyphs; ++i) - si.width += glyphs.advances_x[i]; + si.width += glyphs.advances_x[i] * !glyphs.attributes[i].dontPrint; } static inline bool hasCaseChange(const QScriptItem &si) @@ -2658,7 +2658,7 @@ void QTextEngine::splitItem(int item, int pos) const QFixed w = 0; const QGlyphLayout g = shapedGlyphs(&oldItem); for(int j = 0; j < breakGlyph; ++j) - w += g.advances_x[j]; + w += g.advances_x[j] * !g.attributes[j].dontPrint; newItem.width = oldItem.width - w; oldItem.width = w; -- cgit v0.12 From c6d8800c4d3167e8d672f5fbed8bf1e8831ebc6a Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Wed, 7 Sep 2011 18:36:51 +0200 Subject: Implement QAccessibleActionInterface for menu actions. This allows to open and trigger menu items via actions using the dedicated action interface. Reviewed-by: Jan-Arve --- src/plugins/accessible/widgets/qaccessiblemenu.cpp | 77 ++++++++++++++++++++-- src/plugins/accessible/widgets/qaccessiblemenu.h | 14 +++- 2 files changed, 83 insertions(+), 8 deletions(-) diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp index 1454c7c..4ae1d15 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp +++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp @@ -433,6 +433,8 @@ QString QAccessibleMenuItem::actionText(int action, Text text, int child ) const switch (action) { case Press: case DefaultAction: + if (m_action->menu()) + return QMenu::tr("Open"); return QMenu::tr("Execute"); break; default: @@ -444,11 +446,41 @@ QString QAccessibleMenuItem::actionText(int action, Text text, int child ) const bool QAccessibleMenuItem::doAction(int action, int child, const QVariantList & /*params = QVariantList()*/ ) { - if ((action == Press || action == DefaultAction) && child == 0) { - m_action->trigger(); - return true; + if ((child) || ((action != DefaultAction) && (action != Press))) + return false; + + // if the action has a menu, expand/hide it + if (m_action->menu()) { + if (m_action->menu()->isVisible()) { + m_action->menu()->hide(); + return true; + } else { + if (QMenuBar *bar = qobject_cast(owner())) { + bar->setActiveAction(m_action); + return true; + } else if (QMenu *menu = qobject_cast(owner())){ + menu->setActiveAction(m_action); + return true; + } + } } - return false; + // no menu + m_action->trigger(); + return true; +} + +// action interface +int QAccessibleMenuItem::actionCount() +{ + return 1; +} + +void QAccessibleMenuItem::doAction(int actionIndex) +{ + if (actionIndex) + return; + + doAction(DefaultAction, 0); } int QAccessibleMenuItem::indexOfChild( const QAccessibleInterface * child ) const @@ -618,7 +650,7 @@ QAccessible::State QAccessibleMenuItem::state(int child ) const delete iface; } } - return s; + return s | HasInvokeExtension;; } QString QAccessibleMenuItem::text ( Text t, int child ) const @@ -654,17 +686,50 @@ QString QAccessibleMenuItem::text ( Text t, int child ) const return str; } +// action interface int QAccessibleMenuItem::userActionCount ( int /*child*/ ) const { return 0; } - QAction *QAccessibleMenuItem::action() const { return m_action; } +QString QAccessibleMenuItem::description(int) +{ + return text(QAccessible::Description, 0); +} + +QString QAccessibleMenuItem::name(int) +{ + return actionText(DefaultAction, QAccessible::Name, 0); +} + +QString QAccessibleMenuItem::localizedName(int) +{ + return text(QAccessible::Name, 0); +} + +QStringList QAccessibleMenuItem::keyBindings(int) +{ + QStringList keys; +#ifndef QT_NO_SHORTCUT + QKeySequence key = m_action->shortcut(); + if (!key.isEmpty()) { + keys.append(key.toString()); + } +#endif + return keys; +} + + +QVariant QAccessibleMenuItem::invokeMethodEx(Method, int, const QVariantList &) +{ + return QVariant(); +} + QWidget *QAccessibleMenuItem::owner() const { return m_owner; diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.h b/src/plugins/accessible/widgets/qaccessiblemenu.h index 680594d..47f42cb 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.h +++ b/src/plugins/accessible/widgets/qaccessiblemenu.h @@ -43,6 +43,7 @@ #define QACCESSIBLEMENU_H #include +#include QT_BEGIN_NAMESPACE @@ -101,8 +102,9 @@ protected: -class QAccessibleMenuItem : public QAccessibleInterface +class QAccessibleMenuItem : public QAccessibleActionInterface, public QAccessibleInterfaceEx { + Q_ACCESSIBLE_OBJECT public: explicit QAccessibleMenuItem(QWidget *owner, QAction *w); @@ -123,9 +125,17 @@ public: virtual QString text ( Text t, int child ) const; virtual int userActionCount ( int child ) const; - QWidget *owner() const; + // action interface + virtual int actionCount(); + virtual void doAction(int actionIndex); + virtual QString description(int); + virtual QString name(int); + virtual QString localizedName(int); + virtual QStringList keyBindings(int); + virtual QVariant invokeMethodEx(Method, int, const QVariantList &); + QWidget *owner() const; protected: QAction *action() const; private: -- cgit v0.12 From 695ef14f443ef992f62203949fc1565b11fdf621 Mon Sep 17 00:00:00 2001 From: Kranthi Kuntala Date: Thu, 8 Sep 2011 13:33:19 +0300 Subject: update the proxy info before session is opened in QNAM by Aapo Makela Reviewed-By: Kranthi Kuntala --- src/network/access/qnetworkreplyimpl.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 8a0a944..a7a6287 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -253,6 +253,11 @@ void QNetworkReplyImplPrivate::_q_networkSessionConnected() if (session->state() != QNetworkSession::Connected) return; + #ifndef QT_NO_NETWORKPROXY + // Re-set proxies here as new session might have changed them + proxyList = manager->d_func()->queryProxy(QNetworkProxyQuery(request.url())); + #endif + switch (state) { case QNetworkReplyImplPrivate::Buffering: case QNetworkReplyImplPrivate::Working: -- cgit v0.12 From eb516931826867699d5755927a65a7df931582b0 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 8 Sep 2011 14:26:51 +0300 Subject: QS60Style: Make spinboxes and lineedits slightly taller Make spinboxes and lineEdits as tall as comboboxes are. This makes these components to look more like native components. Since spinbox frame width was previously zero, changing the value revealed some button positioning issues. Task-number: QT-4175 Reviewed-by: Miikka Heikkinen --- src/gui/styles/qs60style.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 8655699..816c094 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -101,9 +101,9 @@ const int QS60StylePrivate::m_numberOfLayouts = const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = { // *** generated pixel metrics *** -{7,0,-909,0,0,2,0,5,-1,25,69,46,37,37,9,258,-909,-909,-909,23,19,11,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,3,3,6,8,19,-909,7,74,19,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, -{7,0,-909,0,0,2,0,5,-1,25,68,46,37,37,9,258,-909,-909,-909,31,19,13,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,3,3,6,8,19,-909,7,74,22,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, -{9,0,-909,0,0,2,0,5,-1,30,99,76,51,51,25,352,-909,-909,-909,29,25,7,0,0,43,34,42,76,7,7,2,-909,-909,0,9,14,0,23,39,30,30,37,37,9,391,40,0,-909,-909,-909,-909,0,0,29,2,-909,0,0,-909,29,-909,-909,-909,-909,115,37,96,48,96,2,2,9,1,25,-909,9,101,24,9,0,7,7,7,7,7,7,-909,3,-909,-909,-909,-909,9,9,3,1,184,30,30} +{7,0,-909,0,0,2,5,5,-1,25,69,46,37,37,9,258,-909,-909,-909,23,19,11,0,0,32,25,72,44,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,3,3,6,8,19,-909,7,74,19,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, +{7,0,-909,0,0,2,5,5,-1,25,68,46,37,37,9,258,-909,-909,-909,31,19,13,0,0,32,25,60,52,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,3,3,6,8,19,-909,7,74,22,7,0,5,5,8,5,5,5,-909,3,-909,-909,-909,-909,7,7,3,1,135,30,30}, +{9,0,-909,0,0,2,5,5,-1,30,99,76,51,51,25,352,-909,-909,-909,29,25,7,0,0,43,34,42,76,7,7,2,-909,-909,0,9,14,0,23,39,30,30,37,37,9,391,40,0,-909,-909,-909,-909,0,0,29,2,-909,0,0,-909,29,-909,-909,-909,-909,115,37,96,48,96,2,2,9,1,25,-909,9,101,24,9,0,7,7,7,7,7,7,-909,3,-909,-909,-909,-909,9,9,3,1,184,30,30} // *** End of generated data *** }; @@ -2606,7 +2606,7 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, break; case CT_LineEdit: if (const QStyleOptionFrame *f = qstyleoption_cast(opt)) - sz += QSize(2 * f->lineWidth, 4 * f->lineWidth); + sz += QSize(2 * f->lineWidth, 4 * f->lineWidth + 2 * pixelMetric(PM_FocusFrameHMargin)); break; case CT_TabBarTab: { sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget); @@ -2651,6 +2651,12 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt, } break; #endif +#ifndef QT_NO_SPINBOX + case CT_SpinBox: + // Add margin to the spinbox height + sz.setHeight(sz.height() + 2 * pixelMetric(PM_SpinBoxFrameWidth)); + break; +#endif default: sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget); break; @@ -2824,7 +2830,7 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple // Thus, side-by-side buttons would take half of the total width. const int maxSize = qMax(spinbox->rect.width() / 4, buttonContentWidth); QSize buttonSize; - buttonSize.setHeight(qMin(maxSize, qMax(8, spinbox->rect.height() - frameThickness))); + buttonSize.setHeight(qMin(maxSize, qMax(8, spinbox->rect.height() - 2 * frameThickness))); //width should at least be equal to height buttonSize.setWidth(qMax(buttonSize.height(), buttonContentWidth)); buttonSize = buttonSize.expandedTo(QApplication::globalStrut()); @@ -2832,7 +2838,7 @@ QRect QS60Style::subControlRect(ComplexControl control, const QStyleOptionComple // Normally spinbuttons should be side-by-side, but if spinbox grows very big // and spinbuttons reach their maximum size, they can be deployed one top of the other. const bool sideBySide = (buttonSize.height() * 2 < spinbox->rect.height()) ? false : true; - const int y = frameThickness + spinbox->rect.y() + + const int y = spinbox->rect.y() + (spinbox->rect.height() - (sideBySide ? 1 : 2) * buttonSize.height()) / 2; const int x = spinbox->rect.x() + spinbox->rect.width() - frameThickness - (sideBySide ? 2 : 1) * buttonSize.width(); -- cgit v0.12 From 80966f5ac941092e25643b5f80a410e61c26f8bc Mon Sep 17 00:00:00 2001 From: Casper van Donderen Date: Thu, 8 Sep 2011 14:46:40 +0200 Subject: Migrate addMarkUp function to QChar. Reviewed-by: Martin Smith --- tools/qdoc3/cppcodemarker.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/qdoc3/cppcodemarker.cpp b/tools/qdoc3/cppcodemarker.cpp index 9af7b9e..b81e979 100644 --- a/tools/qdoc3/cppcodemarker.cpp +++ b/tools/qdoc3/cppcodemarker.cpp @@ -937,7 +937,7 @@ QString CppCodeMarker::addMarkUp(const QString &in, int i = 0; int start = 0; int finish = 0; - char ch; + QChar ch; QRegExp classRegExp("Qt?(?:[A-Z3]+[a-z][A-Za-z]*|t)"); QRegExp functionRegExp("q([A-Z][a-z]+)+"); @@ -947,13 +947,13 @@ QString CppCodeMarker::addMarkUp(const QString &in, QString tag; bool target = false; - if (isalpha((unsigned char) ch) || ch == '_') { + if (ch.isLetter() || ch == '_') { QString ident; do { - ident += ch; - finish = i; - readChar(); - } while (isalnum((unsigned char) ch) || ch == '_'); + ident += ch; + finish = i; + readChar(); + } while (ch.isLetterOrNumber() || ch == '_'); if (classRegExp.exactMatch(ident)) { tag = QLatin1String("type"); @@ -970,14 +970,14 @@ QString CppCodeMarker::addMarkUp(const QString &in, tag = QLatin1String("func"); target = true; } - } else if (isdigit((unsigned char) ch)) { + } else if (ch.isDigit()) { do { finish = i; readChar(); - } while (isalnum((unsigned char) ch) || ch == '.'); + } while (ch.isLetterOrNumber() || ch == '.'); tag = QLatin1String("number"); } else { - switch (ch) { + switch (ch.unicode()) { case '+': case '-': case '!': -- cgit v0.12 From 80294c375eca9687d1c34e9ab048294373e7f00c Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Thu, 8 Sep 2011 16:31:53 +0200 Subject: Fix trailing spaces problem by not adding it to QScriptLine.length It seems to be the only sane way to fix it. Previous attempts to fix it by compensating the trailing space width all failed in some cases, one of the trickiest is when we are having embedded LTR text that has trailing spaces in a RTL paragraph. In this patch we leave line.length not including the trailing space length, but saving it to a separated variable, so that we can always add it back when needed (QTextLine::textLength() for instance). It fixed all the problems in different alignments of both RTL and LTR text. And no regression is found yet. Reviewed-by: Eskil --- src/gui/text/qtextengine.cpp | 2 +- src/gui/text/qtextengine_p.h | 3 ++- src/gui/text/qtextlayout.cpp | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index 6f07131..a0e1751 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -2951,7 +2951,7 @@ int QTextEngine::lineNumberForTextPosition(int pos) return lines.size() - 1; for (int i = 0; i < lines.size(); ++i) { const QScriptLine& line = lines[i]; - if (line.from + line.length > pos) + if (line.from + line.length + line.trailingSpaces > pos) return i; } return -1; diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index b1bd0c3..0a86886 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -376,7 +376,7 @@ struct Q_AUTOTEST_EXPORT QScriptLine { // created and filled in QTextLine::layout_helper QScriptLine() - : from(0), length(0), + : from(0), trailingSpaces(0), length(0), justified(0), gridfitted(0), hasTrailingSpaces(0), leadingIncluded(0) {} QFixed descent; @@ -388,6 +388,7 @@ struct Q_AUTOTEST_EXPORT QScriptLine QFixed textWidth; QFixed textAdvance; int from; + unsigned short trailingSpaces; signed int length : 28; mutable uint justified : 1; mutable uint gridfitted : 1; diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 4fd6ddf..cf361a0 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -814,7 +814,7 @@ QTextLine QTextLayout::createLine() if (l && d->lines.at(l-1).length < 0) { QTextLine(l-1, d).setNumColumns(INT_MAX); } - int from = l > 0 ? d->lines.at(l-1).from + d->lines.at(l-1).length : 0; + int from = l > 0 ? d->lines.at(l-1).from + d->lines.at(l-1).length + d->lines.at(l-1).trailingSpaces : 0; int strlen = d->layoutData->string.length(); if (l && from >= strlen) { if (!d->lines.at(l-1).length || d->layoutData->string.at(strlen - 1) != QChar::LineSeparator) @@ -1931,7 +1931,7 @@ found: if (eng->option.flags() & QTextOption::IncludeTrailingSpaces) line.textWidth += lbh.spaceData.textWidth; if (lbh.spaceData.length) { - line.length += lbh.spaceData.length; + line.trailingSpaces = lbh.spaceData.length; line.hasTrailingSpaces = true; } @@ -1995,7 +1995,7 @@ int QTextLine::textLength() const && eng->block.isValid() && i == eng->lines.count()-1) { return eng->lines[i].length - 1; } - return eng->lines[i].length; + return eng->lines[i].length + eng->lines[i].trailingSpaces; } static void drawMenuText(QPainter *p, QFixed x, QFixed y, const QScriptItem &si, QTextItemInt &gf, QTextEngine *eng, -- cgit v0.12 From 712b1f400ec0a87e9d6c521c1d14548f7359f038 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 8 Sep 2011 17:44:05 +0200 Subject: qmake vcxproj generator: fix XML conversion for build events Task-number: QTBUG-20419 Reviewed-by: ossi --- qmake/generators/win32/msbuild_objectmodel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index f50afc3..0b201b8 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -1524,8 +1524,8 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCEventTool &tool) { xml << tag(tool.EventName) - << attrTagS(_Command, tool.CommandLine.join(vcxCommandSeparator())) - << attrTagS(_Message, tool.Description) + << tag(_Command) << valueTag(tool.CommandLine.join(vcxCommandSeparator())) + << tag(_Message) << valueTag(tool.Description) << closetag(tool.EventName); } -- cgit v0.12 From 786b85b13bc884a8b7eab59c43d6c393863fc470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 8 Sep 2011 13:10:47 +0200 Subject: Allocate 16-byte aligned memory independent of platform for raster pool. Fixes crash on MIPS (see original merge request https://qt.gitorious.org/qt/qt/merge_requests/1366). Reviewed-by: Olivier Goffart --- src/gui/painting/qpaintengine_raster.cpp | 54 ++++++++++---------------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp index 36786c4..bcc5f9d 100644 --- a/src/gui/painting/qpaintengine_raster.cpp +++ b/src/gui/painting/qpaintengine_raster.cpp @@ -3764,6 +3764,11 @@ extern "C" { int q_gray_rendered_spans(QT_FT_Raster raster); } +static inline uchar *alignAddress(uchar *address, quintptr alignmentMask) +{ + return (uchar *)(((quintptr)address + alignmentMask) & ~alignmentMask); +} + void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline, ProcessSpans callback, void *userData, QRasterBuffer *) @@ -3791,19 +3796,10 @@ void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline, // minimize memory reallocations. However if initial size for // raster pool is changed for lower value, reallocations will // occur normally. - const int rasterPoolInitialSize = MINIMUM_POOL_SIZE; - int rasterPoolSize = rasterPoolInitialSize; - unsigned char *rasterPoolBase; -#if defined(Q_WS_WIN64) - rasterPoolBase = - // We make use of setjmp and longjmp in qgrayraster.c which requires - // 16-byte alignment, hence we hardcode this requirement here.. - (unsigned char *) _aligned_malloc(rasterPoolSize, sizeof(void*) * 2); -#else - unsigned char rasterPoolOnStack[rasterPoolInitialSize]; - rasterPoolBase = rasterPoolOnStack; -#endif - Q_CHECK_PTR(rasterPoolBase); + int rasterPoolSize = MINIMUM_POOL_SIZE; + uchar rasterPoolOnStack[MINIMUM_POOL_SIZE + 0xf]; + uchar *rasterPoolBase = alignAddress(rasterPoolOnStack, 0xf); + uchar *rasterPoolOnHeap = 0; qt_ft_grays_raster.raster_reset(*grayRaster.data(), rasterPoolBase, rasterPoolSize); @@ -3839,31 +3835,20 @@ void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline, // Out of memory, reallocate some more and try again... if (error == -6) { // ErrRaster_OutOfMemory from qgrayraster.c - int new_size = rasterPoolSize * 2; - if (new_size > 1024 * 1024) { + rasterPoolSize *= 2; + if (rasterPoolSize > 1024 * 1024) { qWarning("QPainter: Rasterization of primitive failed"); break; } rendered_spans += q_gray_rendered_spans(*grayRaster.data()); -#if defined(Q_WS_WIN64) - _aligned_free(rasterPoolBase); -#else - if (rasterPoolBase != rasterPoolOnStack) // initially on the stack - free(rasterPoolBase); -#endif + free(rasterPoolOnHeap); + rasterPoolOnHeap = (uchar *)malloc(rasterPoolSize + 0xf); - rasterPoolSize = new_size; - rasterPoolBase = -#if defined(Q_WS_WIN64) - // We make use of setjmp and longjmp in qgrayraster.c which requires - // 16-byte alignment, hence we hardcode this requirement here.. - (unsigned char *) _aligned_malloc(rasterPoolSize, sizeof(void*) * 2); -#else - (unsigned char *) malloc(rasterPoolSize); -#endif - Q_CHECK_PTR(rasterPoolBase); // note: we just freed the old rasterPoolBase. I hope it's not fatal. + Q_CHECK_PTR(rasterPoolOnHeap); // note: we just freed the old rasterPoolBase. I hope it's not fatal. + + rasterPoolBase = alignAddress(rasterPoolOnHeap, 0xf); qt_ft_grays_raster.raster_done(*grayRaster.data()); qt_ft_grays_raster.raster_new(grayRaster.data()); @@ -3873,12 +3858,7 @@ void QRasterPaintEnginePrivate::rasterize(QT_FT_Outline *outline, } } -#if defined(Q_WS_WIN64) - _aligned_free(rasterPoolBase); -#else - if (rasterPoolBase != rasterPoolOnStack) // initially on the stack - free(rasterPoolBase); -#endif + free(rasterPoolOnHeap); } void QRasterPaintEnginePrivate::recalculateFastImages() -- cgit v0.12 From 7ab0bed3a56d46c386e65abc381264c57137cb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 9 Sep 2011 09:51:18 +0200 Subject: Prevent QPixmapCache potentially growing indefinitely. QPixmapCache has until now refused to throw out shared pixmaps, i.e. ones that still have shallow copies lying around. This leads to problems when someone inserts two shallow copies using different keys, causing the cache itself containing multiple shallow copies and thus forever refusing to throw out those entries. It's rather easy for this to accidentally happen in a user application since QPixmap::load() or QPixmap(const QString &fileName, ...) automatically cache the pixmap in the QPixmapCache, thus if the user then calls QPixmapCache::insert() on the same pixmap or a shallow copy it is locked in the QPixmapCache forever. The only reason for not throwing out a pixmap that's shared would be to prevent re-loading a pixmap from file when a user has a direct reference to it in his application, but in that case the user is unlikely to re-load the pixmap from file in any case. Therefore it seems the best fix is to get rid of this limitation. Task-number: QTBUG-21359 Reviewed-by: John Brooks Reviewed-by: Olivier Goffart --- src/corelib/tools/qcache.h | 3 +-- tests/auto/qpixmapcache/tst_qpixmapcache.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/corelib/tools/qcache.h b/src/corelib/tools/qcache.h index 16861c9..2408cd3 100644 --- a/src/corelib/tools/qcache.h +++ b/src/corelib/tools/qcache.h @@ -205,8 +205,7 @@ void QCache::trim(int m) while (n && total > m) { Node *u = n; n = n->p; - if (qIsDetached(*u->t)) - unlink(*u); + unlink(*u); } } diff --git a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp index 9f7192d..b36cf98 100644 --- a/tests/auto/qpixmapcache/tst_qpixmapcache.cpp +++ b/tests/auto/qpixmapcache/tst_qpixmapcache.cpp @@ -72,6 +72,7 @@ private slots: void clear(); void pixmapKey(); void noLeak(); + void strictCacheLimit(); }; static QPixmapCache::KeyData* getPrivate(QPixmapCache::Key &key) @@ -517,5 +518,29 @@ void tst_QPixmapCache::noLeak() QCOMPARE(oldSize, newSize); } + +void tst_QPixmapCache::strictCacheLimit() +{ + const int limit = 1024; // 1024 KB + + QPixmapCache::clear(); + QPixmapCache::setCacheLimit(limit); + + // insert 200 64x64 pixmaps + // 3200 KB for 32-bit depths + // 1600 KB for 16-bit depths + // not counting the duplicate entries + for (int i = 0; i < 200; ++i) { + QPixmap pixmap(64, 64); + pixmap.fill(Qt::transparent); + + QString id = QString::number(i); + QPixmapCache::insert(id + "-a", pixmap); + QPixmapCache::insert(id + "-b", pixmap); + } + + QVERIFY(QPixmapCache::totalUsed() <= limit); +} + QTEST_MAIN(tst_QPixmapCache) #include "tst_qpixmapcache.moc" -- cgit v0.12 From 4bee323791ee453cbe0b83d04db462dc55dceefb Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Sep 2011 12:28:56 +0300 Subject: Update environment.prf S60_VERSION and SYMBIAN_VERSION were obsolete in environment.prf. Reviewed-by: Sami Merila --- config.profiles/symbian/environment.prf | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/config.profiles/symbian/environment.prf b/config.profiles/symbian/environment.prf index 09ba90d..b9ab91e 100644 --- a/config.profiles/symbian/environment.prf +++ b/config.profiles/symbian/environment.prf @@ -4,6 +4,5 @@ CONFIG *= symbian_no_export_sqlite # STL autodetection in clean builds not working, specify it explicitly CONFIG *= stl - -S60_VERSION = 5.2 -SYMBIAN_VERSION = Symbian3 \ No newline at end of file +S60_VERSION = 5.4 +SYMBIAN_VERSION = 5.4 -- cgit v0.12 From 1f803aeb390720336a23941f3d1ec71ef0e29083 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Fri, 9 Sep 2011 10:52:40 +0200 Subject: Reset trailingSpaces in relayout Reviewed-by: TrustMe --- src/gui/text/qtextlayout.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index cf361a0..4595ef5 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -1708,6 +1708,7 @@ void QTextLine::layout_helper(int maxGlyphs) { QScriptLine &line = eng->lines[i]; line.length = 0; + line.trailingSpaces = 0; line.textWidth = 0; line.hasTrailingSpaces = false; -- cgit v0.12 From cd43d6386de6e66379fa23c1ea4ec06141167c86 Mon Sep 17 00:00:00 2001 From: Aleksandar Stojiljkovic Date: Thu, 8 Sep 2011 12:00:41 +0300 Subject: Use QT_MAX_CACHED_GLYPH_SIZE in QFontEngineFT Task-number: QTBUG-21162 - Letters get truncated when font size=72 and set to Italic Reviewed-by: Eskil --- src/gui/text/qfontengine_ft.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qfontengine_ft.cpp b/src/gui/text/qfontengine_ft.cpp index 9a5d9d6..e3ab655 100644 --- a/src/gui/text/qfontengine_ft.cpp +++ b/src/gui/text/qfontengine_ft.cpp @@ -78,6 +78,10 @@ #include FT_ERRORS_H #endif +#if !defined(QT_MAX_CACHED_GLYPH_SIZE) +# define QT_MAX_CACHED_GLYPH_SIZE 64 +#endif + QT_BEGIN_NAMESPACE /* @@ -373,7 +377,7 @@ void QFreetypeFace::computeSize(const QFontDef &fontDef, int *xsize, int *ysize, *xsize = *ysize = 0; } } else { - *outline_drawing = (*xsize > (64<<6) || *ysize > (64<<6)); + *outline_drawing = (*xsize > (QT_MAX_CACHED_GLYPH_SIZE<<6) || *ysize > (QT_MAX_CACHED_GLYPH_SIZE<<6)); } } @@ -1317,7 +1321,7 @@ QFontEngineFT::QGlyphSet *QFontEngineFT::loadTransformedGlyphSet(const QTransfor if (!gs) { // don't try to load huge fonts - bool draw_as_outline = fontDef.pixelSize * qSqrt(qAbs(matrix.det())) >= 64; + bool draw_as_outline = fontDef.pixelSize * qSqrt(qAbs(matrix.det())) >= QT_MAX_CACHED_GLYPH_SIZE; if (draw_as_outline) return 0; -- cgit v0.12 From 43e013e2048e8193e2d31276cac6348a9f6ce340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Fri, 2 Sep 2011 13:48:26 +0200 Subject: Generate glyphs in un-transformed coordinate system. Avoids rounding issues with very large coordinates. Task-number: QTBUG-21262 - QRasterPaintEngine & QFontEngineFT - fonts corrupted when scrolling to the bottom of long texts Reviewed-by: Eskil Signed-off-by: Aleksandar Stojiljkovic --- src/gui/painting/qpaintengine.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gui/painting/qpaintengine.cpp b/src/gui/painting/qpaintengine.cpp index c46513a..38ba6f9 100644 --- a/src/gui/painting/qpaintengine.cpp +++ b/src/gui/painting/qpaintengine.cpp @@ -756,14 +756,15 @@ void QPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem) path.setFillRule(Qt::WindingFill); #endif if (ti.glyphs.numGlyphs) - ti.fontEngine->addOutlineToPath(p.x(), p.y(), ti.glyphs, &path, ti.flags); + ti.fontEngine->addOutlineToPath(0, 0, ti.glyphs, &path, ti.flags); if (!path.isEmpty()) { - bool oldAA = painter()->renderHints() & QPainter::Antialiasing; + painter()->save(); painter()->setRenderHint(QPainter::Antialiasing, bool((painter()->renderHints() & QPainter::TextAntialiasing) && !(painter()->font().styleStrategy() & QFont::NoAntialias))); + painter()->translate(p.x(), p.y()); painter()->fillPath(path, state->pen().brush()); - painter()->setRenderHint(QPainter::Antialiasing, oldAA); + painter()->restore(); } } -- cgit v0.12 From b62dc3277c4d41cc99d37c457e3a55842879e0b1 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Fri, 9 Sep 2011 14:49:15 +0200 Subject: Release font engine refcount when done using it in QTextEngine 5f2b6dd2a50275bc05ae5d7e9dd8902d6d49d9df increased refcounts for font engines in QTextEngine cache, we need to decrease them when the QTextEngine is deallocated. Task-number: QTBUG-21222 Reviewed-by: Eskil --- src/gui/text/qtextengine.cpp | 12 +++++++++--- src/gui/text/qtextengine_p.h | 1 + src/gui/text/qtextlayout.cpp | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index cff3641..ee2eef6 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1334,6 +1334,7 @@ QTextEngine::~QTextEngine() if (!stackEngine) delete layoutData; delete specialData; + resetFontEngineCache(); } const HB_CharAttributes *QTextEngine::attributes() const @@ -1394,6 +1395,13 @@ static inline void releaseCachedFontEngine(QFontEngine *fontEngine) } } +void QTextEngine::resetFontEngineCache() +{ + releaseCachedFontEngine(feCache.prevFontEngine); + releaseCachedFontEngine(feCache.prevScaledFontEngine); + feCache.reset(); +} + void QTextEngine::invalidate() { freeMemory(); @@ -1402,9 +1410,7 @@ void QTextEngine::invalidate() if (specialData) specialData->resolvedFormatIndices.clear(); - releaseCachedFontEngine(feCache.prevFontEngine); - releaseCachedFontEngine(feCache.prevScaledFontEngine); - feCache.reset(); + resetFontEngineCache(); } void QTextEngine::clearLineData() diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index c920c7b..2b6db67 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -614,6 +614,7 @@ public: QFixed leadingSpaceWidth(const QScriptLine &line); int positionInLigature(const QScriptItem *si, int end, QFixed x, QFixed edge, int glyph_pos, bool cursorOnCharacter); + void resetFontEngineCache(); private: void setBoundary(int strPos) const; diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index d180f0e..f2d3de1 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -386,7 +386,7 @@ QTextLayout::~QTextLayout() void QTextLayout::setFont(const QFont &font) { d->fnt = font; - d->feCache.reset(); + d->resetFontEngineCache(); } /*! @@ -519,7 +519,7 @@ void QTextLayout::setAdditionalFormats(const QList &formatList) } if (d->block.docHandle()) d->block.docHandle()->documentChange(d->block.position(), d->block.length()); - d->feCache.reset(); + d->resetFontEngineCache(); } /*! -- cgit v0.12 From c378e16e57e8ce2255116e7fdb5436524cccb8c7 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 9 Sep 2011 18:41:52 +0200 Subject: find qt.conf more reliably a qmake invoked with a relative path would not find qt.conf, because it already changed CWD, which would confuse our copy of QCoreApplication::applicationFilePath() (see also QTBUG-21381). we already have the absolute path to the qmake executable in Option::qmake_abslocation, so just use it. --- qmake/option.cpp | 59 +++----------------------------------------------------- 1 file changed, 3 insertions(+), 56 deletions(-) diff --git a/qmake/option.cpp b/qmake/option.cpp index 31372ab..c3e89de 100644 --- a/qmake/option.cpp +++ b/qmake/option.cpp @@ -750,64 +750,11 @@ qmakeAddCacheClear(qmakeCacheClearFunc func, void **data) cache_items.append(new QMakeCacheClearItem(func, data)); } -#ifdef Q_OS_WIN -# include - -QT_USE_NAMESPACE -#endif - QString qmake_libraryInfoFile() { - QString ret; -#if defined( Q_OS_WIN ) - wchar_t module_name[MAX_PATH]; - GetModuleFileName(0, module_name, MAX_PATH); - QFileInfo filePath = QString::fromWCharArray(module_name); - ret = filePath.filePath(); -#else - QString argv0 = QFile::decodeName(QByteArray(Option::application_argv0)); - QString absPath; - - if (!argv0.isEmpty() && argv0.at(0) == QLatin1Char('/')) { - /* - If argv0 starts with a slash, it is already an absolute - file path. - */ - absPath = argv0; - } else if (argv0.contains(QLatin1Char('/'))) { - /* - If argv0 contains one or more slashes, it is a file path - relative to the current directory. - */ - absPath = QDir::current().absoluteFilePath(argv0); - } else { - /* - Otherwise, the file path has to be determined using the - PATH environment variable. - */ - QByteArray pEnv = qgetenv("PATH"); - QDir currentDir = QDir::current(); - QStringList paths = QString::fromLocal8Bit(pEnv.constData()).split(QLatin1String(":")); - for (QStringList::const_iterator p = paths.constBegin(); p != paths.constEnd(); ++p) { - if ((*p).isEmpty()) - continue; - QString candidate = currentDir.absoluteFilePath(*p + QLatin1Char('/') + argv0); - QFileInfo candidate_fi(candidate); - if (candidate_fi.exists() && !candidate_fi.isDir()) { - absPath = candidate; - break; - } - } - } - - absPath = QDir::cleanPath(absPath); - - QFileInfo fi(absPath); - ret = fi.exists() ? fi.canonicalFilePath() : QString(); -#endif - if(!ret.isEmpty()) - ret = QDir(QFileInfo(ret).absolutePath()).filePath("qt.conf"); - return ret; + if(!Option::qmake_abslocation.isEmpty()) + return QDir(QFileInfo(Option::qmake_abslocation).absolutePath()).filePath("qt.conf"); + return QString(); } QT_END_NAMESPACE -- cgit v0.12 From a193c14a01653d07d895d6305d9514310b8e3eba Mon Sep 17 00:00:00 2001 From: aavit Date: Sat, 10 Sep 2011 07:22:10 +0200 Subject: Disable autotest broken by the change to QCache in 7ab0bed Reviewed-by: trustme --- tests/auto/collections/tst_collections.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/auto/collections/tst_collections.cpp b/tests/auto/collections/tst_collections.cpp index 00cdec3..e13e1d9 100644 --- a/tests/auto/collections/tst_collections.cpp +++ b/tests/auto/collections/tst_collections.cpp @@ -2442,6 +2442,7 @@ void tst_Collections::cache() QVERIFY(!cache.contains(2)); delete cache.take(10); } +#if 0 { QCache cache(120); int i; @@ -2455,6 +2456,7 @@ void tst_Collections::cache() QVERIFY(!cache.contains(3)); QVERIFY(cache.contains(2)); } +#endif { QCache cache(100); cache.insert(2, new int(2)); @@ -3505,7 +3507,7 @@ void testVectorAlignment() for (int i = 0; i < 200; ++i) container.append(Aligned()); - + for (int i = 0; i < container.size(); ++i) QVERIFY(container.at(i).checkAligned()); } -- cgit v0.12 From f85819fe083ae7c6804c884de68e906d153a6d11 Mon Sep 17 00:00:00 2001 From: Martin Jones Date: Mon, 12 Sep 2011 09:42:51 +1000 Subject: StrictlyEnforceRange with snapOneItem/Row and header behavior change Change cf23188de237009136fa1480ab8fd9e3ca364769 changed the positioning of a view with StrictlyEnforceRange, snapOneItem/Row, and a header, such that the view was positioned at the beginning of the header, rather than on the first item. This change reverts back to the old behavior (position on the first item). Change-Id: I62ad183919bb2ed83d787d1d76421caf9e708599 Task-number: QTTH-1501 Reviewed-by: Michael Brasser --- src/declarative/graphicsitems/qdeclarativegridview.cpp | 6 ++++-- src/declarative/graphicsitems/qdeclarativelistview.cpp | 7 ++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp index 59e4cbb..5a5b60e 100644 --- a/src/declarative/graphicsitems/qdeclarativegridview.cpp +++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp @@ -1064,6 +1064,8 @@ void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m highlightEnd = highlightRangeEnd; } + bool strictHighlightRange = haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange; + if (snapMode != QDeclarativeGridView::NoSnap) { qreal tempPosition = isRightToLeftTopToBottom() ? -position()-size() : position(); if (snapMode == QDeclarativeGridView::SnapOneRow && moveReason == Mouse) { @@ -1081,7 +1083,7 @@ void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m FxGridItem *topItem = snapItemAt(tempPosition+highlightStart); FxGridItem *bottomItem = snapItemAt(tempPosition+highlightEnd); qreal pos; - if (topItem && bottomItem && haveHighlightRange && highlightRange == QDeclarativeGridView::StrictlyEnforceRange) { + if (topItem && bottomItem && strictHighlightRange) { qreal topPos = qMin(topItem->rowPos() - highlightStart, -maxExtent); qreal bottomPos = qMax(bottomItem->rowPos() - highlightEnd, -minExtent); pos = qAbs(data.move + topPos) < qAbs(data.move + bottomPos) ? topPos : bottomPos; @@ -1089,7 +1091,7 @@ void QDeclarativeGridViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m qreal headerPos = 0; if (header) headerPos = isRightToLeftTopToBottom() ? header->rowPos() + cellWidth - headerSize() : header->rowPos(); - if (topItem->index == 0 && header && tempPosition+highlightStart < headerPos+headerSize()/2) { + if (topItem->index == 0 && header && tempPosition+highlightStart < headerPos+headerSize()/2 && !strictHighlightRange) { pos = isRightToLeftTopToBottom() ? - headerPos + highlightStart - size() : headerPos - highlightStart; } else { if (isRightToLeftTopToBottom()) diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp index 57b7dea..70be7a7 100644 --- a/src/declarative/graphicsitems/qdeclarativelistview.cpp +++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp @@ -1293,6 +1293,7 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m correctFlick = false; fixupMode = moveReason == Mouse ? fixupMode : Immediate; + bool strictHighlightRange = haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange; qreal highlightStart; qreal highlightEnd; @@ -1325,9 +1326,9 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m FxListItem *topItem = snapItemAt(tempPosition+highlightStart); FxListItem *bottomItem = snapItemAt(tempPosition+highlightEnd); qreal pos; - bool isInBounds = -position() > maxExtent && -position() < minExtent; + bool isInBounds = -position() > maxExtent && -position() <= minExtent; if (topItem && isInBounds) { - if (topItem->index == 0 && header && tempPosition+highlightStart < header->position()+header->size()/2) { + if (topItem->index == 0 && header && tempPosition+highlightStart < header->position()+header->size()/2 && !strictHighlightRange) { pos = isRightToLeft() ? - header->position() + highlightStart - size() : header->position() - highlightStart; } else { if (isRightToLeft()) @@ -1356,7 +1357,7 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m } vTime = timeline.time(); } - } else if (currentItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange + } else if (currentItem && strictHighlightRange && moveReason != QDeclarativeListViewPrivate::SetIndex) { updateHighlight(); qreal pos = currentItem->itemPosition(); -- cgit v0.12 From 6d408941774f60d79c8d1e3fd1131c5572de51c3 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 9 Sep 2011 17:44:31 +0300 Subject: Fix "sbs -c tools2 --what" output for Qt. Doing "sbs -c tools2" exports Qt headers under epocroot, but didn't list the exported headers with "--what". Added "-what" parameter support to headerexport perl script and utilized that in qtconfig.flm to generate list of exported files for "sbs -c tools2 --what". Task-number: QTBUG-21155 Reviewed-by: Sami Merila --- config.profiles/symbian/headerexport | 131 ++++++++++++++++++++++++----------- config.profiles/symbian/qtconfig.flm | 13 ++++ 2 files changed, 102 insertions(+), 42 deletions(-) diff --git a/config.profiles/symbian/headerexport b/config.profiles/symbian/headerexport index e59979c..d252b26 100644 --- a/config.profiles/symbian/headerexport +++ b/config.profiles/symbian/headerexport @@ -60,6 +60,8 @@ my %moduleheaders = ( # restrict the module headers to those found in relative p #$modules{"QtCore"} .= ";$basedir/mkspecs/" . $ENV{"MKSPEC"} if defined $ENV{"MKSPEC"}; # global variables (modified by options) +my $what = 0; +my @whatArray; my $force_win = 0; my $check_includes = 0; my $create_uic_class_map = 1; @@ -81,6 +83,7 @@ sub showUsage print "$0 usage:\n"; print " -windows Force platform to Windows (default: " . ($force_win ? "yes" : "no") . ")\n"; print " -outdir Specify output directory for sync (default: $out_basedir)\n"; + print " -what Output what files would be synced (default: " . ($what ? "yes" : "no") . ")\n"; print " -help This help\n"; exit 0; } @@ -307,6 +310,12 @@ sub syncHeader { my ($header, $iheader, $copy) = @_; $iheader =~ s=\\=/=g; $header =~ s=\\=/=g; + + if ($what) { + push(@whatArray, $header); + return 1; + } + return copyFile($iheader, $header) if($copy); unless(-e $header) { @@ -504,7 +513,7 @@ while ( @ARGV ) { $var = "output"; $val = shift @ARGV; } elsif($arg eq "-showonly" || $arg eq "-remove-stale" || $arg eq "-windows" || - $arg eq "-relative" || $arg eq "-check-includes") { + $arg eq "-relative" || $arg eq "-check-includes" || $arg eq "-what") { $var = substr($arg, 1); $val = "yes"; } elsif($arg =~ /^-no-(.*)$/) { @@ -524,6 +533,12 @@ while ( @ARGV ) { if(!$var || $var eq "show_help") { print "Unknown option: $arg\n\n" if(!$var); showUsage(); + } elsif ($var eq "what") { + if ($val eq "yes") { + $what++; + } elsif ($what) { + $what--; + } } elsif ($var eq "check-includes") { if($val eq "yes") { $check_includes++; @@ -553,9 +568,11 @@ while ( @ARGV ) { $isunix = checkUnix; #cache checkUnix -# create path -mkpath "$out_basedir/include"; -mkpath "$out_basedir/mw/Qt"; +if (!$what) { + # create path + mkpath "$out_basedir/include"; + mkpath "$out_basedir/mw/Qt"; +} my @ignore_headers = (); my $class_lib_map_contents = ""; @@ -699,25 +716,29 @@ foreach my $lib (@modules_to_sync) { # write forwarding headers to include/Qt if ($lib ne "phonon" && $subdir =~ /^$basedir\/src/) { my $file_name = "$out_basedir/mw/Qt/$header"; - my $file_op = '>'; - my $header_content = ''; - if (exists $colliding_headers{$file_name}) { - $file_op = '>>'; + if ($what) { + push(@whatArray, $file_name); } else { - $colliding_headers{$file_name} = 1; - my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.'; - $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" . - " #if defined(__GNUC__)\n" . - " #warning \"$warning_msg\"\n" . - " #elif defined(_MSC_VER)\n" . - " #pragma message(\"WARNING: $warning_msg\")\n" . - " #endif\n". - "#endif\n\n"; + my $file_op = '>'; + my $header_content = ''; + if (exists $colliding_headers{$file_name}) { + $file_op = '>>'; + } else { + $colliding_headers{$file_name} = 1; + my $warning_msg = 'Inclusion of header files from include/Qt is deprecated.'; + $header_content = "#ifndef QT_NO_QT_INCLUDE_WARN\n" . + " #if defined(__GNUC__)\n" . + " #warning \"$warning_msg\"\n" . + " #elif defined(_MSC_VER)\n" . + " #pragma message(\"WARNING: $warning_msg\")\n" . + " #endif\n". + "#endif\n\n"; + } + $header_content .= '#include "' . "../$lib/$header" . "\"\n"; + open HEADERFILE, $file_op, $file_name or die "unable to open '$file_name' : $!\n"; + print HEADERFILE $header_content; + close HEADERFILE; } - $header_content .= '#include "' . "../$lib/$header" . "\"\n"; - open HEADERFILE, $file_op, $file_name or die "unable to open '$file_name' : $!\n"; - print HEADERFILE $header_content; - close HEADERFILE; } foreach my $full_class (@classes) { @@ -768,7 +789,7 @@ foreach my $lib (@modules_to_sync) { my $pri_install_iheader = fixPaths($iheader, $current_dir); $pri_install_pfiles.= "$pri_install_iheader ";; } - print "header created for $iheader ($header_copies)\n" if($header_copies > 0); + print "header created for $iheader ($header_copies)\n" if($header_copies > 0 && !$what); } } } @@ -791,15 +812,19 @@ foreach my $lib (@modules_to_sync) { my $oldmaster = ; close MASTERINCLUDE; $oldmaster =~ s/\r//g; # remove \r's , so comparison is ok on all platforms - $master_include = 0 if($oldmaster eq $master_contents); + $master_include = 0 if($oldmaster eq $master_contents && !$what); } if($master_include && $master_contents) { - my $master_dir = dirname($master_include); - mkpath $master_dir; - print "header (master) created for $lib\n"; - open MASTERINCLUDE, ">$master_include"; - print MASTERINCLUDE $master_contents; - close MASTERINCLUDE; + if ($what) { + push(@whatArray, $master_include); + } else { + my $master_dir = dirname($master_include); + mkpath $master_dir; + print "header (master) created for $lib\n"; + open MASTERINCLUDE, ">$master_include"; + print MASTERINCLUDE $master_contents; + close MASTERINCLUDE; + } } } @@ -816,15 +841,19 @@ foreach my $lib (@modules_to_sync) { my $old_headers_pri_contents = ; close HEADERS_PRI_FILE; $old_headers_pri_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms - $headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents); + $headers_pri_file = 0 if($old_headers_pri_contents eq $headers_pri_contents && !$what); } if($headers_pri_file && $master_contents) { - my $headers_pri_dir = dirname($headers_pri_file); - mkpath $headers_pri_dir; - print "headers.pri file created for $lib\n"; - open HEADERS_PRI_FILE, ">$headers_pri_file"; - print HEADERS_PRI_FILE $headers_pri_contents; - close HEADERS_PRI_FILE; + if ($what) { + push(@whatArray, $headers_pri_file); + } else { + my $headers_pri_dir = dirname($headers_pri_file); + mkpath $headers_pri_dir; + print "headers.pri file created for $lib\n"; + open HEADERS_PRI_FILE, ">$headers_pri_file"; + print HEADERS_PRI_FILE $headers_pri_contents; + close HEADERS_PRI_FILE; + } } } unless(!$create_uic_class_map) { @@ -836,14 +865,18 @@ unless(!$create_uic_class_map) { my $old_class_lib_map_contents = ; close CLASS_LIB_MAP; $old_class_lib_map_contents =~ s/\r//g; # remove \r's , so comparison is ok on all platforms - $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents); + $class_lib_map = 0 if($old_class_lib_map_contents eq $class_lib_map_contents && !$what); } if($class_lib_map) { - my $class_lib_map_dir = dirname($class_lib_map); - mkpath $class_lib_map_dir; - open CLASS_LIB_MAP, ">$class_lib_map"; - print CLASS_LIB_MAP $class_lib_map_contents; - close CLASS_LIB_MAP; + if ($what) { + push(@whatArray, $class_lib_map); + } else { + my $class_lib_map_dir = dirname($class_lib_map); + mkpath $class_lib_map_dir; + open CLASS_LIB_MAP, ">$class_lib_map"; + print CLASS_LIB_MAP $class_lib_map_contents; + close CLASS_LIB_MAP; + } } } @@ -974,4 +1007,18 @@ if($check_includes) { } } +if ($what) { + # Print contents of the what-array, removing duplicates + my @sortedWhat = sort(@whatArray); + my $whatItem; + my $previousWhatItem = ""; + foreach $whatItem (@sortedWhat) { + if ($previousWhatItem ne $whatItem) { + $previousWhatItem = $whatItem; + $whatItem =~ s=//=/=g; + print "$whatItem\n" ; + } + } +} + exit 0; diff --git a/config.profiles/symbian/qtconfig.flm b/config.profiles/symbian/qtconfig.flm index 93410f0..56c3d6b 100644 --- a/config.profiles/symbian/qtconfig.flm +++ b/config.profiles/symbian/qtconfig.flm @@ -65,6 +65,19 @@ $(SOURCEDIR)/qmake$(DOTEXE): $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP) $(call startrule,mkspecexport) \ $(GNUCP) -R $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs $(MKSPECDIR) $(call endrule,mkspecexport) + +WHAT:: + $(call startrawoutput) \ + echo "$(call whatLogOpen)"; \ + perl headerexport -base-dir $(EXTENSION_ROOT)/$(QT_ROOT) -outdir $(EPOCROOT)/epoc32/include/ -what | \ + (read -r LINE; \ + while [ $$$$? -eq 0 ]; do \ + echo "$(call whatLogItem,,$$$$LINE)"; \ + read -r LINE; \ + done; \ + ); \ + echo "$(call whatLogClose)" \ + $(call endrawoutput) endef # Here a variable named "done_" gets created -- cgit v0.12 From a53e1a2bea83057aade9a4ffd0210040802b9595 Mon Sep 17 00:00:00 2001 From: Pasi Pentikainen Date: Mon, 12 Sep 2011 12:15:20 +0300 Subject: Mark binaries as SMPSAFE in Symbian Task-number: QTBUG-11769 Reviewed-by: Laszlo Agocs --- mkspecs/features/qttest_p4.prf | 1 + src/qbase.pri | 3 +++ 2 files changed, 4 insertions(+) diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf index ede9657..55df04a 100644 --- a/mkspecs/features/qttest_p4.prf +++ b/mkspecs/features/qttest_p4.prf @@ -11,6 +11,7 @@ symbian:{ # DEFINES += QTEST_NO_SPECIALIZATIONS TARGET.CAPABILITY="None" RSS_RULES ="group_name=\"QtTests\";" + MMP_RULES*=SMPSAFE } # prefix test binary with tst_ diff --git a/src/qbase.pri b/src/qbase.pri index c4d081f..632d7f4 100644 --- a/src/qbase.pri +++ b/src/qbase.pri @@ -110,6 +110,9 @@ symbian { # workaround for the fact that some of our required includes in Symbian^3 # now depend upon files in epoc32/include/platform INCLUDEPATH += $$OS_LAYER_SYSTEMINCLUDE + + # All relevant files are marked as SMP safe for the Symbian port + MMP_RULES*=SMPSAFE } win32-borland:INCLUDEPATH += kernel -- cgit v0.12 From 7042610c090d12de5cd893800dfea199c9a3d332 Mon Sep 17 00:00:00 2001 From: Juha Kukkonen Date: Fri, 9 Sep 2011 14:02:55 +0300 Subject: Update QDesktopServices openUrl() documentation on Symbian OS QDesktopServices openUrl() does not reload the given URL if browser is already open unless application has SwEvent capability. Capability is required because this scenario involves sending a message to window group in other process. Task-number: QTBUG-15725 Reviewed-by: Honglei Zhang --- src/gui/util/qdesktopservices.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/util/qdesktopservices.cpp b/src/gui/util/qdesktopservices.cpp index e79819e..05a1292 100644 --- a/src/gui/util/qdesktopservices.cpp +++ b/src/gui/util/qdesktopservices.cpp @@ -177,6 +177,9 @@ void QOpenUrlHandlerRegistry::handlerDestroyed(QObject *handler) Unicode-aware, the user may have configured their client without these features. Also, certain e-mail clients (e.g., Lotus Notes) have problems with long URLs. + \note On Symbian OS, \c SwEvent capability is required to open the given \a url + if the Web browser is already running. + \sa setUrlHandler() */ bool QDesktopServices::openUrl(const QUrl &url) -- cgit v0.12 From 6acb1a68962592e59cf2673de05661b39587c18c Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Mon, 12 Sep 2011 18:17:53 +0200 Subject: runonphone: Add a missing argument for QString::arg Merge-request: 2680 Reviewed-by: Oswald Buddenhagen --- tools/runonphone/codasignalhandler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/runonphone/codasignalhandler.cpp b/tools/runonphone/codasignalhandler.cpp index 0d086b5..3d524dd 100644 --- a/tools/runonphone/codasignalhandler.cpp +++ b/tools/runonphone/codasignalhandler.cpp @@ -168,7 +168,7 @@ int CodaSignalHandler::run() QString deviceError = "No such port"; if (d->codaDevice) deviceError = d->codaDevice->device()->errorString(); - reportError(tr("Could not open serial device: ").arg(deviceError)); + reportError(tr("Could not open serial device: %1").arg(deviceError)); SymbianUtils::SymbianDeviceManager::instance()->releaseCodaDevice(d->codaDevice); return 1; } -- cgit v0.12 From 434686a926a2a6e71f3cdea2508898b7800f7c81 Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Mon, 12 Sep 2011 18:43:21 +0200 Subject: Fix QNetworkReply::errorString returning an untranslated string The QHttpNetworkConnectionPrivate::errorDetail is supposed to return a translated string, which is then set as the QNetworkReply error. The current code incorrectly uses QT_TRANSLATE_NOOP, which mark the strings for translation, but does not translate them. The result is that even with a translator loaded those strings are written in English. Fixes QTBUG-18382. Merge-request: 2671 Reviewed-by: Oswald Buddenhagen --- src/network/access/qhttpnetworkconnection.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 6101eea..4f2145e 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -48,6 +48,7 @@ #include #include #include +#include #include #include @@ -665,32 +666,31 @@ QString QHttpNetworkConnectionPrivate::errorDetail(QNetworkReply::NetworkError e QString errorString; switch (errorCode) { case QNetworkReply::HostNotFoundError: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QHttp", "Host %1 not found")) - .arg(socket->peerName()); + errorString = QCoreApplication::translate("QHttp", "Host %1 not found").arg(socket->peerName()); break; case QNetworkReply::ConnectionRefusedError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Connection refused")); + errorString = QCoreApplication::translate("QHttp", "Connection refused"); break; case QNetworkReply::RemoteHostClosedError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Connection closed")); + errorString = QCoreApplication::translate("QHttp", "Connection closed"); break; case QNetworkReply::TimeoutError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QAbstractSocket", "Socket operation timed out")); + errorString = QCoreApplication::translate("QAbstractSocket", "Socket operation timed out"); break; case QNetworkReply::ProxyAuthenticationRequiredError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Proxy requires authentication")); + errorString = QCoreApplication::translate("QHttp", "Proxy requires authentication"); break; case QNetworkReply::AuthenticationRequiredError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Host requires authentication")); + errorString = QCoreApplication::translate("QHttp", "Host requires authentication"); break; case QNetworkReply::ProtocolFailure: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Data corrupted")); + errorString = QCoreApplication::translate("QHttp", "Data corrupted"); break; case QNetworkReply::ProtocolUnknownError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown protocol specified")); + errorString = QCoreApplication::translate("QHttp", "Unknown protocol specified"); break; case QNetworkReply::SslHandshakeFailedError: - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "SSL handshake failed")); + errorString = QCoreApplication::translate("QHttp", "SSL handshake failed"); break; default: // all other errors are treated as QNetworkReply::UnknownNetworkError -- cgit v0.12 From e9060024fa2100ce5c8b2e8689d2ec72b75a3211 Mon Sep 17 00:00:00 2001 From: Pasi Pentikainen Date: Tue, 6 Sep 2011 16:39:24 +0300 Subject: Add documentation for Symbian QSettings locations and security Task-number: QTBUG-11192 Reviewed-by: Miikka Heikkinen --- doc/src/snippets/code/src_corelib_io_qsettings.cpp | 21 ++++++++++ src/corelib/io/qsettings.cpp | 47 ++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/doc/src/snippets/code/src_corelib_io_qsettings.cpp b/doc/src/snippets/code/src_corelib_io_qsettings.cpp index 5abb0e3..269aa44 100644 --- a/doc/src/snippets/code/src_corelib_io_qsettings.cpp +++ b/doc/src/snippets/code/src_corelib_io_qsettings.cpp @@ -314,3 +314,24 @@ int main(int argc, char *argv[]) ... } //! [29] + +//! [30] +QSettings settings(QApplication::applicationDirPath() + "/MySoft.conf"); +//! [30] + +//! [31] +#include +#include +int main(int argc, char *argv[]) +{ +#ifdef Q_OS_SYMBIAN + // Use QDesktopServices:storageLocation as QApplication is not yet created + QSettings::setPath( + QSettings::NativeFormat, QSettings::UserScope, + QDesktopServices::storageLocation(QDesktopServices::DataLocation) + "/settings"); +#endif + QApplication app(argc, argv); + + ... +} +//! [31] diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp index 79b2728..d35d845 100644 --- a/src/corelib/io/qsettings.cpp +++ b/src/corelib/io/qsettings.cpp @@ -2338,6 +2338,25 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile, %COMMON_APPDATA% path is usually \tt{C:\\Documents and Settings\\All Users\\Application Data}. + On Symbian, the following files are used for both IniFormat and + NativeFormat (in this example, we assume that the application is + installed on the \c e-drive and its Secure ID is \c{0xECB00931}): + + \list 1 + \o \c{c:\data\.config\MySoft\Star Runner.conf} + \o \c{c:\data\.config\MySoft.conf} + \o \c{e:\private\ecb00931\MySoft\Star Runner.conf} + \o \c{e:\private\ecb00931\MySoft.conf} + \endlist + + The SystemScope settings location is determined from the installation + drive and Secure ID (UID3) of the application. If the application is + built-in on the ROM, the drive used for SystemScope is \c c:. + + \note Symbian SystemScope settings are by default private to the + application and not shared between applications, unlike other + environments. + The paths for the \c .ini and \c .conf files can be changed using setPath(). On Unix and Mac OS X, the user can override them by by setting the \c XDG_CONFIG_HOME environment variable; see @@ -2395,6 +2414,32 @@ void QConfFileSettingsPrivate::ensureSectionParsed(QConfFile *confFile, On other platforms than Windows, "Default" and "." would be treated as regular subkeys. + \section2 Securing application settings in Symbian + + UserScope settings in Symbian are writable by any application by + default. To protect the application settings from access and tampering + by other applications, the settings need to be placed in the private + secure area of the application. This can be done by specifying the + settings storage path directly to the private area. The following + snippet changes the UserScope to \c{c:/private/ecb00931/MySoft.conf} + (provided the application is installed on the \c{c-drive} and its + Secure ID is \c{0xECB00931}: + + \snippet doc/src/snippets/code/src_corelib_io_qsettings.cpp 30 + + Framework libraries (like Qt itself) may store configuration and cache + settings using UserScope, which is accessible and writable by other + applications. If the application is very security sensitive or uses + high platform security capabilities, it may be prudent to also force + framework settings to be stored in the private directory of the + application. This can be done by changing the default path of UserScope + before QApplication is created: + + \snippet doc/src/snippets/code/src_corelib_io_qsettings.cpp 31 + + Note that this may affect framework libraries' functionality if they expect + the settings to be shared between applications. + \section2 Platform Limitations While QSettings attempts to smooth over the differences between @@ -3429,6 +3474,8 @@ void QSettings::setUserIniPath(const QString &dir) \row \o SystemScope \o \c /etc/xdg \row \o{1,2} Mac OS X \o{1,2} IniFormat \o UserScope \o \c $HOME/.config \row \o SystemScope \o \c /etc/xdg + \row \o{1,2} Symbian \o{1,2} NativeFormat, IniFormat \o UserScope \o \c c:/data/.config + \row \o SystemScope \o \c /private/ \endtable The default UserScope paths on Unix and Mac OS X (\c -- cgit v0.12 From e453fce2731069dce993a94b0c2291307cc7806c Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 13 Sep 2011 13:16:35 +0200 Subject: doc: Fix incorrect enum name in QRawFont::alphaMapForGlyph docs There's no QImage::Format_A8 format. This is a term used in the corresponding QFontEngineGlyphCache enum. Reviewed-by: Jiang Jiang --- src/gui/text/qrawfont.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gui/text/qrawfont.cpp b/src/gui/text/qrawfont.cpp index 61bc63e..7c7d4eb 100644 --- a/src/gui/text/qrawfont.cpp +++ b/src/gui/text/qrawfont.cpp @@ -238,7 +238,8 @@ void QRawFont::loadFromData(const QByteArray &fontData, If \a antialiasingType is set to QRawFont::SubPixelAntialiasing, then the resulting image will be in QImage::Format_RGB32 and the RGB values of each pixel will represent the subpixel opacities of the pixel in the rasterization of the glyph. Otherwise, the image will be in the format of - QImage::Format_A8 and each pixel will contain the opacity of the pixel in the rasterization. + QImage::Format_Indexed8 and each pixel will contain the opacity of the pixel in the + rasterization. \sa pathForGlyph(), QPainter::drawGlyphRun() */ -- cgit v0.12 From 0ed694bd074be42272bf795a3add4f55457ddd75 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Fri, 9 Sep 2011 16:00:19 +0100 Subject: More accurately determine bearer type for symbian GPRS/3G The symbian IAP records don't distinguish between GRPS/EDGE/3G/HSPA, although the phone knows what type of cell it is attached to. For the IAP records which are of packet data type (reported as KCommDbBearerWcdma), we now query the phone network mode to determine the bearer type to report. The Qt API doesn't distinguish GRPS/EDGE (both are "2G") The Symbian API doesn't distinguish 3G and HSPA unless there is an active connection. So we have to report both of these as WCDMA. When a connection becomes active, we update Qt's IAP record list to show the known connection type (which may include HSPA now). Qt already contained code to observe roaming between cell types, which reports all types. Note that the bearer type may change during connection (handover to another cell may occur), which should be covered by the already existing code. Task-Number: QTBUG-19011 Reviewed-By: mread --- src/plugins/bearer/symbian/symbianengine.cpp | 36 ++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index fc2791a..fdfe94a 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -505,8 +505,33 @@ SymbianNetworkConfigurationPrivate *SymbianEngine::configFromConnectionMethodL( cpPriv->bearerType = QNetworkConfiguration::Bearer2G; break; case KCommDbBearerWcdma: - cpPriv->bearerType = QNetworkConfiguration::BearerWCDMA; - break; + { + //This is ambiguous, check the network status to find out what the expected connection will be + TUint mode; + TRequestStatus status; + iConnectionMonitor.GetUintAttribute(0, 0, KMobilePhoneNetworkMode, mode, status); + User::WaitForRequest(status); + if (status != KErrNone) + cpPriv->bearerType = QNetworkConfiguration::BearerUnknown; + else switch (mode) { + case EConnMonNetworkModeCdma2000: + cpPriv->bearerType = QNetworkConfiguration::BearerCDMA2000; + break; + case EConnMonNetworkModeWcdma: + case EConnMonNetworkModeTdcdma: + cpPriv->bearerType = QNetworkConfiguration::BearerWCDMA; //includes HSDPA, as this API can't detect it + break; + case EConnMonNetworkModeGsm: + case EConnMonNetworkModeAmps: + case EConnMonNetworkModeCdma95: + cpPriv->bearerType = QNetworkConfiguration::Bearer2G; //includes GPRS and EDGE, Qt API treats them both as 2G + break; + default: + cpPriv->bearerType = QNetworkConfiguration::BearerUnknown; + break; + } + break; + } case KCommDbBearerLAN: cpPriv->bearerType = QNetworkConfiguration::BearerEthernet; break; @@ -1122,6 +1147,13 @@ void SymbianEngine::EventL(const CConnMonEventBase& aEvent) } ); } + + //update bearer type for 2G/3G connections + TInt bearer; + iConnectionMonitor.GetIntAttribute(connectionId, 0, KBearerInfo, bearer, status); + User::WaitForRequest(status); + if (status == KErrNone) + updateMobileBearerToConfigs(TConnMonBearerInfo(bearer)); } else if (connectionStatus == KConfigDaemonStartingDeregistration) { TUint connectionId = realEvent->ConnectionId(); QNetworkConfigurationPrivatePointer ptr = dataByConnectionId(connectionId); -- cgit v0.12 From 6144cd83d3bcc9783da54e0538c00642690d515d Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 13 Sep 2011 14:08:20 +0100 Subject: Fix uninitialised variable in temporary files The symbianFilePos variable was only initialised in the nativeOpen function and not in the constructor called init(). Due to the fix for QTBUG-4796, QTemporaryFile now bypasses the nativeOpen function. Zero initialising in init() ensures it is always valid (it only needs a non zero initialisation when opening a file for append, which is still covered by nativeOpen) Task-Number: QTBUG-21418 Reviewed-By: mread --- src/corelib/io/qfsfileengine.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/corelib/io/qfsfileengine.cpp b/src/corelib/io/qfsfileengine.cpp index e1f3123..dd4c40f 100644 --- a/src/corelib/io/qfsfileengine.cpp +++ b/src/corelib/io/qfsfileengine.cpp @@ -120,9 +120,12 @@ void QFSFileEnginePrivate::init() openMode = QIODevice::NotOpen; fd = -1; fh = 0; -#if defined (Q_OS_SYMBIAN) && !defined(QT_SYMBIAN_USE_NATIVE_FILEMAP) +#if defined (Q_OS_SYMBIAN) + symbianFilePos = 0; +#if !defined(QT_SYMBIAN_USE_NATIVE_FILEMAP) fileHandleForMaps = -1; #endif +#endif lastIOCommand = IOFlushCommand; lastFlushFailed = false; closeFileHandle = false; -- cgit v0.12 From 5c9ab15eda6a14b48120776fdc4c7c84d5771274 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Tue, 13 Sep 2011 17:27:48 +0200 Subject: wtf? .pro.user files? congrats to overriding the hook! --- src/opengl/opengl.pro.user.2.1pre1 | 83 -------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 src/opengl/opengl.pro.user.2.1pre1 diff --git a/src/opengl/opengl.pro.user.2.1pre1 b/src/opengl/opengl.pro.user.2.1pre1 deleted file mode 100644 index 0c38724..0000000 --- a/src/opengl/opengl.pro.user.2.1pre1 +++ /dev/null @@ -1,83 +0,0 @@ - - - - ProjectExplorer.Project.ActiveTarget - 0 - - - ProjectExplorer.Project.EditorSettings - - UTF-8 - - - - ProjectExplorer.Project.Target.0 - - Desktop - Qt4ProjectManager.Target.DesktopTarget - 0 - 0 - - - qmake - QtProjectManager.QMakeBuildStep - - QMAKE_ABSOLUTE_SOURCE_PATH=/home/jlind/dev/qt/lighthouse-master/src/opengl - - - - Make - Qt4ProjectManager.MakeStep - false - - -j9 - - - - 2 - - Make - Qt4ProjectManager.MakeStep - true - - clean - - - - 1 - false - - Debug - Qt4ProjectManager.Qt4BuildConfiguration - 2 - /home/jlind/builds/master-lighthouse/src/opengl - 23 - 0 - true - - 1 - - headers - Qt4ProjectManager.Qt4RunConfiguration - 2 - - ../../../../../builds/master-lighthouse/include/QtOpenGL/headers.pri - false - false - - false - false - - - 1 - - - - ProjectExplorer.Project.TargetCount - 1 - - - ProjectExplorer.Project.Updater.FileVersion - 4 - - -- cgit v0.12 From acfa2011d2d472f029d30286a36586e16b9bade8 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 13 Sep 2011 18:29:14 +0300 Subject: Fix panic when global QSettings instance needs flusing at app exit The lack of cleanup stack caused panic when the global static QSettings instance in QCoreApplication was deleted if there was pending update in the QSettings instance. Task-number: QTBUG-21421 Reviewed-by: Murray Read --- src/corelib/kernel/qcoreapplication.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 18a5eae..752bbaa 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -273,6 +273,29 @@ bool QCoreApplicationPrivate::is_app_closing = false; // initialized in qcoreapplication and in qtextstream autotest when setlocale is called. Q_CORE_EXPORT bool qt_locale_initialized = false; +#ifdef Q_OS_SYMBIAN +// The global QSettings needs to be cleaned where cleanup stack is available, which is not +// normally the case when global static destructors are run. +// Declare a custom QGlobalStaticDeleter for QSettings to handle that case. +template<> +class QGlobalStaticDeleter +{ +public: + QGlobalStatic &globalStatic; + QGlobalStaticDeleter(QGlobalStatic &_globalStatic) + : globalStatic(_globalStatic) + { } + + inline ~QGlobalStaticDeleter() + { + CTrapCleanup *cleanup = CTrapCleanup::New(); + delete globalStatic.pointer; + delete cleanup; + globalStatic.pointer = 0; + globalStatic.destroyed = true; + } +}; +#endif /* Create an instance of Trolltech.conf. This ensures that the settings will not -- cgit v0.12 From b2c75c1f846e03442d9bb337513357b553ce719b Mon Sep 17 00:00:00 2001 From: Ademar de Souza Reis Jr Date: Tue, 13 Sep 2011 11:07:16 -0300 Subject: Updated WebKit to 64cce10 (qtwebkit-rc1, week36) Changes since last sync: [https://webkit.org/b/59927 #59927]: [SH4] AssemblerLabel does not name a type [https://webkit.org/b/63259 #63259]: Warnings in JSC's JIT on 32 bit [https://webkit.org/b/67254 #67254]: [Qt][DRT] Normalize file:///tmp/LayoutTests in LayoutTestController::pathToLocalResource() [https://webkit.org/b/64527 #64527]: [Qt]Update layout test results for newer Qt 4.8.x [https://webkit.org/b/67644 #67644]: [Qt][Symbian] REGRESSION[94105] DumpRenderTree.exe doesn't build on Symbian [https://webkit.org/b/67784 #67784]: frame-loading-via-document-write.html test cases have extra slash in path [https://webkit.org/b/67958 #67958]: (restricted bug) [https://webkit.org/b/61805 #61805]: (restricted bug) [https://webkit.org/b/64753 #64753]: (restricted bug) [https://webkit.org/b/67364 #67364]: (restricted bug) [https://webkit.org/b/67488 #67488]: (restricted bug) [https://webkit.org/b/67735 #67735]: (restricted bug) [https://webkit.org/b/67748 #67748]: (restricted bug) --- src/3rdparty/webkit/.tag | 2 +- .../webkit/Source/JavaScriptCore/ChangeLog | 25 ++++ .../JavaScriptCore/assembler/MacroAssemblerSH4.h | 2 +- .../JavaScriptCore/jit/JITPropertyAccess32_64.cpp | 12 +- src/3rdparty/webkit/Source/WebCore/ChangeLog | 162 +++++++++++++++++++++ .../accessibility/AccessibilityRenderObject.cpp | 16 +- .../WebCore/bindings/ScriptControllerBase.cpp | 2 + .../Source/WebCore/platform/graphics/Gradient.cpp | 4 - .../Source/WebCore/rendering/RenderBlock.cpp | 32 ++-- .../Source/WebCore/rendering/RenderObject.cpp | 18 +++ .../webkit/Source/WebCore/rendering/RenderObject.h | 8 + .../WebCore/rendering/RenderObjectChildList.cpp | 9 +- .../webkit/Source/WebCore/rendering/RenderRuby.cpp | 12 ++ .../webkit/Source/WebCore/rendering/RenderRuby.h | 6 + .../Source/WebCore/rendering/RenderTable.cpp | 1 + .../Source/WebCore/rendering/RenderTableRow.cpp | 6 +- .../WebCore/rendering/RenderTableSection.cpp | 10 +- .../Source/WebCore/rendering/RenderTableSection.h | 3 + .../rendering/svg/RenderSVGResourceContainer.cpp | 2 +- .../Source/WebCore/svg/SVGDocumentExtensions.cpp | 24 ++- .../Source/WebCore/svg/SVGDocumentExtensions.h | 1 + .../webkit/Source/WebCore/svg/SVGStyledElement.cpp | 12 +- .../webkit/Source/WebCore/svg/SVGStyledElement.h | 3 +- .../webkit/Source/WebCore/svg/SVGUseElement.cpp | 4 +- src/3rdparty/webkit/Source/WebKit/qt/ChangeLog | 10 ++ .../Source/WebKit/qt/symbian/eabi/QtWebKitu.def | 1 + src/3rdparty/webkit/VERSION | 2 +- 27 files changed, 339 insertions(+), 50 deletions(-) mode change 100644 => 100755 src/3rdparty/webkit/Source/WebCore/ChangeLog mode change 100644 => 100755 src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp mode change 100644 => 100755 src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h mode change 100644 => 100755 src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp mode change 100644 => 100755 src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag index 458898a..34446ae 100644 --- a/src/3rdparty/webkit/.tag +++ b/src/3rdparty/webkit/.tag @@ -1 +1 @@ -a2bd2bb1b19949c6807da38e25bfa7d210bb4b17 +64cce100215c71575f19ca0b090c65fa97d4ba10 diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog index 5aec2e3..9cda920 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog +++ b/src/3rdparty/webkit/Source/JavaScriptCore/ChangeLog @@ -1,3 +1,28 @@ +2011-05-23 Thouraya ANDOLSI + + Reviewed by Gavin Barraclough. + + [SH4] AssemblerLabel does not name a type + https://bugs.webkit.org/show_bug.cgi?id=59927 + + SH4Assembler.h file shoold be included before AbstractMacroAssembler.h. + + * assembler/MacroAssemblerSH4.h: + +2011-06-28 Pierre Rossi + + Reviewed by Eric Seidel. + + Warnings in JSC's JIT on 32 bit + https://bugs.webkit.org/show_bug.cgi?id=63259 + + Fairly straightforward, just use ASSERT_JIT_OFFSET_UNUSED when it applies. + + * jit/JITPropertyAccess32_64.cpp: + (JSC::JIT::emit_op_method_check): + (JSC::JIT::compileGetByIdHotPath): + (JSC::JIT::emit_op_put_by_id): + 2011-08-30 Ademar de Souza Reis Jr. [Qt] Do not unconditionally use pkg-config in .pro files diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h b/src/3rdparty/webkit/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h index 5ef7b20..9036f0f 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h @@ -29,8 +29,8 @@ #if ENABLE(ASSEMBLER) && CPU(SH4) -#include "AbstractMacroAssembler.h" #include "SH4Assembler.h" +#include "AbstractMacroAssembler.h" #include namespace JSC { diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp b/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp index f18e277..c88e9ad 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp +++ b/src/3rdparty/webkit/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp @@ -225,9 +225,9 @@ void JIT::emit_op_method_check(Instruction* currentInstruction) move(TrustedImm32(JSValue::CellTag), regT1); Jump match = jump(); - ASSERT_JIT_OFFSET(differenceBetween(info.structureToCompare, protoObj), patchOffsetMethodCheckProtoObj); + ASSERT_JIT_OFFSET_UNUSED(protoObj, differenceBetween(info.structureToCompare, protoObj), patchOffsetMethodCheckProtoObj); ASSERT_JIT_OFFSET(differenceBetween(info.structureToCompare, protoStructureToCompare), patchOffsetMethodCheckProtoStruct); - ASSERT_JIT_OFFSET(differenceBetween(info.structureToCompare, putFunction), patchOffsetMethodCheckPutFunction); + ASSERT_JIT_OFFSET_UNUSED(putFunction, differenceBetween(info.structureToCompare, putFunction), patchOffsetMethodCheckPutFunction); // Link the failure cases here. structureCheck.link(this); @@ -436,9 +436,9 @@ void JIT::compileGetByIdHotPath() loadPtr(Address(regT0, OBJECT_OFFSETOF(JSObject, m_propertyStorage)), regT2); DataLabel32 displacementLabel1 = loadPtrWithAddressOffsetPatch(Address(regT2, patchGetByIdDefaultOffset), regT0); // payload - ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, displacementLabel1), patchOffsetGetByIdPropertyMapOffset1); + ASSERT_JIT_OFFSET_UNUSED(displacementLabel1, differenceBetween(hotPathBegin, displacementLabel1), patchOffsetGetByIdPropertyMapOffset1); DataLabel32 displacementLabel2 = loadPtrWithAddressOffsetPatch(Address(regT2, patchGetByIdDefaultOffset), regT1); // tag - ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, displacementLabel2), patchOffsetGetByIdPropertyMapOffset2); + ASSERT_JIT_OFFSET_UNUSED(displacementLabel2, differenceBetween(hotPathBegin, displacementLabel2), patchOffsetGetByIdPropertyMapOffset2); Label putResult(this); ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, putResult), patchOffsetGetByIdPutResult); @@ -514,8 +514,8 @@ void JIT::emit_op_put_by_id(Instruction* currentInstruction) END_UNINTERRUPTED_SEQUENCE(sequencePutById); - ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, displacementLabel1), patchOffsetPutByIdPropertyMapOffset1); - ASSERT_JIT_OFFSET(differenceBetween(hotPathBegin, displacementLabel2), patchOffsetPutByIdPropertyMapOffset2); + ASSERT_JIT_OFFSET_UNUSED(displacementLabel1, differenceBetween(hotPathBegin, displacementLabel1), patchOffsetPutByIdPropertyMapOffset1); + ASSERT_JIT_OFFSET_UNUSED(displacementLabel2, differenceBetween(hotPathBegin, displacementLabel2), patchOffsetPutByIdPropertyMapOffset2); } void JIT::emitSlow_op_put_by_id(Instruction* currentInstruction, Vector::iterator& iter) diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog old mode 100644 new mode 100755 index a781b1f..da9d1b2 --- a/src/3rdparty/webkit/Source/WebCore/ChangeLog +++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog @@ -1,3 +1,165 @@ +2011-09-12 Adam Klein + + Fix out-of-bounds access in Gradient::sortStopsIfNecessary + https://bugs.webkit.org/show_bug.cgi?id=67958 + + Reviewed by Darin Adler. + + Reported by Valgrind in http://crbug.com/77049. + + The errant code was added as an optimization in r67804. + This patch reverts that one, as all parties agree that the optimization + doesn't seem worthwhile, and there clearly aren't any tests covering + the special case. + + No new tests, as existing tests should cover the remaining call to + |std::stable_sort|. + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::sortStopsIfNecessary): + +2011-09-09 Dominic Mazzoni + + Assert being hit in AccessibilityRenderObject::addChildren() + https://bugs.webkit.org/show_bug.cgi?id=61805 + + Reviewed by Chris Fleizach. + + Fix nextSibling and previousSibling to handle adjacent continuations + properly, otherwise nodes end up appearing in the accessibility + tree twice (or a debug assertion could be raised). + + Test: accessibility/adjacent-continuations-cause-assertion-failure.html + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::previousSibling): + (WebCore::AccessibilityRenderObject::nextSibling): + +2011-09-08 Abhishek Arya + + :before content rendering issues with list markers and run-ins. + https://bugs.webkit.org/show_bug.cgi?id=67735 + + 1) Remove the isAnonymous checks for run-in detection since the + run-in can belong to a node. + 2) When the parent has block children, then the list marker will + be enclosed in an anonymous block. In that case, for going to the + next list marker, we need to traverse one level up. We don't need + this check when searching for generated run-in (loop 2), since we + know parent will have inline children, so the list marker wont be + enclosed in an anonymous block. + + Reviewed by Dave Hyatt. + + Tests: fast/lists/list-marker-before-content-table.html + fast/runin/runin-generated-before-content.html + + * rendering/RenderObjectChildList.cpp: + (WebCore::RenderObjectChildList::beforePseudoElementRenderer): + +2011-09-10 Ken Buchanan + + Crash due to bad data in SVGDocumentExtensions m_pendingResources + https://bugs.webkit.org/show_bug.cgi?id=67488 + + Reviewed by Nikolas Zimmermann. + + Resolving a crash condition caused by the deletion of + elements while pending resource entries for those elements are still + recorded. + + * rendering/svg/RenderSVGResourceContainer.cpp: + (WebCore::RenderSVGResourceContainer::registerResource) + * svg/SVGDocumentExtensions.h: + (WebCore::SVGDocumentExtensions::isElementInPendingResources) + * svg/SVGDocumentExtensions.cpp: + (WebCore::SVGDocumentExtensions::addPendingResource) + (WebCore::SVGDocumentExtensions::isElementInPendingResources) + (WebCore::SVGDocumentExtensions::removeElementFromPendingResources) + * svg/SVGStyledElement.h: + (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible) + * svg/SVGStyledElement.cpp: + (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded) + (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible) + * svg/SVGUseElement.cpp: + (WebCore::SVGUseElement::svgAttributeChanged) + +2011-09-08 Alexey Proskuryakov + + REGRESSION (r66874): Missing RefPtr in ScriptController + https://bugs.webkit.org/show_bug.cgi?id=67748 + + Reviewed by Adam Barth. + + * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeScript): + +2011-09-06 Abhishek Arya + + Style not propagated to anonymous boxes and anonymous + inline-blocks. + https://bugs.webkit.org/show_bug.cgi?id=67364 + + Reviewed by James Robinson. + + Share propagateStyleToAnonymousChildren with RenderBlock::styleDidChange. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::styleDidChange): + * rendering/RenderObject.cpp: + (WebCore::RenderObject::propagateStyleToAnonymousChildren): + * rendering/RenderObject.h: + +2011-09-04 Abhishek Arya + + Style not propagated to anonymous boxes and anonymous + inline-blocks. + https://bugs.webkit.org/show_bug.cgi?id=67364 + + Reviewed by James Robinson. + + Tests: fast/ruby/ruby-block-style-not-updated-with-before-after-content.html + fast/ruby/ruby-block-style-not-updated.html + fast/ruby/ruby-inline-style-not-updated-with-before-after-content.html + fast/ruby/ruby-inline-style-not-updated.html + fast/table/table-row-style-not-updated-with-after-content.html + fast/table/table-row-style-not-updated-with-before-content.html + fast/table/table-row-style-not-updated.html + fast/table/table-style-not-updated.html + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::propagateStyleToAnonymousChildren): + * rendering/RenderObject.h: + (WebCore::RenderObject::isBeforeAfterContent): + * rendering/RenderRuby.cpp: + (WebCore::RenderRubyAsInline::styleDidChange): + (WebCore::RenderRubyAsBlock::styleDidChange): + * rendering/RenderRuby.h: + * rendering/RenderTable.cpp: + (WebCore::RenderTable::styleDidChange): + * rendering/RenderTableRow.cpp: + (WebCore::RenderTableRow::styleDidChange): + (WebCore::RenderTableRow::addChild): + * rendering/RenderTableSection.cpp: + (WebCore::RenderTableSection::styleDidChange): + (WebCore::RenderTableSection::addChild): + * rendering/RenderTableSection.h: + +2011-09-05 Abhishek Arya + + Crash in RenderObjectChildList::destroyLeftOverChildren() + https://bugs.webkit.org/show_bug.cgi?id=64753 + + Reviewed by James Robinson. + + If any of the ancestors between column span element and containing + column's block is a continuation, then don't attempt to render the + column span by splitting the block into continuations. + + Test: fast/multicol/column-span-parent-continuation-crash.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::columnsBlockForSpanningElement): + 2011-08-30 Abhishek Arya Removed m_owner accessed in custom scrollbars. diff --git a/src/3rdparty/webkit/Source/WebCore/accessibility/AccessibilityRenderObject.cpp b/src/3rdparty/webkit/Source/WebCore/accessibility/AccessibilityRenderObject.cpp index 25078c5..9725a6b 100644 --- a/src/3rdparty/webkit/Source/WebCore/accessibility/AccessibilityRenderObject.cpp +++ b/src/3rdparty/webkit/Source/WebCore/accessibility/AccessibilityRenderObject.cpp @@ -302,8 +302,12 @@ AccessibilityObject* AccessibilityRenderObject::previousSibling() const // Case 2: Anonymous block parent of the end of a continuation - skip all the way to before // the parent of the start, since everything in between will be linked up via the continuation. - else if (m_renderer->isAnonymousBlock() && firstChildIsInlineContinuation(m_renderer)) - previousSibling = startOfContinuations(m_renderer->firstChild())->parent()->previousSibling(); + else if (m_renderer->isAnonymousBlock() && firstChildIsInlineContinuation(m_renderer)) { + RenderObject* firstParent = startOfContinuations(m_renderer->firstChild())->parent(); + while (firstChildIsInlineContinuation(firstParent)) + firstParent = startOfContinuations(firstParent->firstChild())->parent(); + previousSibling = firstParent->previousSibling(); + } // Case 3: The node has an actual previous sibling else if (RenderObject* ps = m_renderer->previousSibling()) @@ -340,8 +344,12 @@ AccessibilityObject* AccessibilityRenderObject::nextSibling() const // Case 2: Anonymous block parent of the start of a continuation - skip all the way to // after the parent of the end, since everything in between will be linked up via the continuation. - else if (m_renderer->isAnonymousBlock() && lastChildHasContinuation(m_renderer)) - nextSibling = endOfContinuations(m_renderer->lastChild())->parent()->nextSibling(); + else if (m_renderer->isAnonymousBlock() && lastChildHasContinuation(m_renderer)) { + RenderObject* lastParent = endOfContinuations(m_renderer->lastChild())->parent(); + while (lastChildHasContinuation(lastParent)) + lastParent = endOfContinuations(lastParent->lastChild())->parent(); + nextSibling = lastParent->nextSibling(); + } // Case 3: node has an actual next sibling else if (RenderObject* ns = m_renderer->nextSibling()) diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/ScriptControllerBase.cpp b/src/3rdparty/webkit/Source/WebCore/bindings/ScriptControllerBase.cpp index 4190637..254a6c2 100644 --- a/src/3rdparty/webkit/Source/WebCore/bindings/ScriptControllerBase.cpp +++ b/src/3rdparty/webkit/Source/WebCore/bindings/ScriptControllerBase.cpp @@ -59,6 +59,8 @@ ScriptValue ScriptController::executeScript(const ScriptSourceCode& sourceCode) bool wasInExecuteScript = m_inExecuteScript; m_inExecuteScript = true; + RefPtr protect(m_frame); // Script execution can destroy the frame, and thus the ScriptController. + ScriptValue result = evaluate(sourceCode); if (!wasInExecuteScript) { diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/Gradient.cpp b/src/3rdparty/webkit/Source/WebCore/platform/graphics/Gradient.cpp index 7e3984f..fc7b741 100644 --- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/Gradient.cpp +++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/Gradient.cpp @@ -124,10 +124,6 @@ void Gradient::sortStopsIfNecessary() if (!m_stops.size()) return; - // Shortcut for the ideal case (ordered 2-stop gradient) - if (m_stops.size() == 2 && compareStops(*m_stops.begin(), *m_stops.end())) - return; - std::stable_sort(m_stops.begin(), m_stops.end(), compareStops); } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp index df30adb..4ad1bfe 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp @@ -241,21 +241,7 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty } } - // FIXME: We could save this call when the change only affected non-inherited properties - for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { - if (child->isAnonymousBlock()) { - RefPtr newStyle = RenderStyle::createAnonymousStyle(style()); - if (style()->specifiesColumns()) { - if (child->style()->specifiesColumns()) - newStyle->inheritColumnPropertiesFrom(style()); - if (child->style()->columnSpan()) - newStyle->setColumnSpan(true); - } - newStyle->setDisplay(BLOCK); - child->setStyle(newStyle.release()); - } - } - + propagateStyleToAnonymousChildren(true); m_lineHeight = -1; // Update pseudos for :before and :after now. @@ -654,8 +640,22 @@ RenderBlock* RenderBlock::columnsBlockForSpanningElement(RenderObject* newChild) && !newChild->isInline() && !isAnonymousColumnSpanBlock()) { if (style()->specifiesColumns()) columnsBlockAncestor = this; - else if (!isInline() && parent() && parent()->isRenderBlock()) + else if (!isInline() && parent() && parent()->isRenderBlock()) { columnsBlockAncestor = toRenderBlock(parent())->containingColumnsBlock(false); + + if (columnsBlockAncestor) { + // Make sure that none of the parent ancestors have a continuation. + // If yes, we do not want split the block into continuations. + RenderObject* curr = this; + while (curr && curr != columnsBlockAncestor) { + if (curr->isRenderBlock() && toRenderBlock(curr)->continuation()) { + columnsBlockAncestor = 0; + break; + } + curr = curr->parent(); + } + } + } } return columnsBlockAncestor; } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.cpp index a81e668..c1f5ba0 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.cpp @@ -1811,6 +1811,24 @@ void RenderObject::styleDidChange(StyleDifference diff, const RenderStyle* oldSt } } +void RenderObject::propagateStyleToAnonymousChildren(bool blockChildrenOnly) +{ + // FIXME: We could save this call when the change only affected non-inherited properties. + for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { + if (blockChildrenOnly ? child->isAnonymousBlock() : child->isAnonymous() && !child->isBeforeOrAfterContent()) { + RefPtr newStyle = RenderStyle::createAnonymousStyle(style()); + if (style()->specifiesColumns()) { + if (child->style()->specifiesColumns()) + newStyle->inheritColumnPropertiesFrom(style()); + if (child->style()->columnSpan()) + newStyle->setColumnSpan(true); + } + newStyle->setDisplay(blockChildrenOnly ? BLOCK : child->style()->display()); + child->setStyle(newStyle.release()); + } + } +} + void RenderObject::updateFillImages(const FillLayer* oldLayers, const FillLayer* newLayers) { // Optimize the common case diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.h b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.h index 44ee43c..2ba0114 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.h +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObject.h @@ -322,8 +322,10 @@ public: inline bool isBeforeContent() const; inline bool isAfterContent() const; + inline bool isBeforeOrAfterContent() const; static inline bool isBeforeContent(const RenderObject* obj) { return obj && obj->isBeforeContent(); } static inline bool isAfterContent(const RenderObject* obj) { return obj && obj->isAfterContent(); } + static inline bool isBeforeOrAfterContent(const RenderObject* obj) { return obj && obj->isBeforeOrAfterContent(); } bool childrenInline() const { return m_childrenInline; } void setChildrenInline(bool b = true) { m_childrenInline = b; } @@ -791,6 +793,7 @@ protected: virtual void styleWillChange(StyleDifference, const RenderStyle* newStyle); // Overrides should call the superclass at the start virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + void propagateStyleToAnonymousChildren(bool blockChildrenOnly = false); void drawLineForBoxSide(GraphicsContext*, int x1, int y1, int x2, int y2, BoxSide, Color, EBorderStyle, int adjbw1, int adjbw2, bool antialias = false); @@ -932,6 +935,11 @@ inline bool RenderObject::isAfterContent() const return true; } +inline bool RenderObject::isBeforeOrAfterContent() const +{ + return isBeforeContent() || isAfterContent(); +} + inline void RenderObject::setNeedsLayout(bool b, bool markParents) { bool alreadyNeededLayout = m_needsLayout; diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp index a6c2da9..28703c5 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderObjectChildList.cpp @@ -271,7 +271,12 @@ RenderObject* RenderObjectChildList::beforePseudoElementRenderer(const RenderObj do { // Skip list markers and generated run-ins first = first->firstChild(); - while (first && (first->isListMarker() || (first->isRenderInline() && first->isRunIn() && first->isAnonymous()))) + while (first && first->isListMarker()) { + if (first->parent() != owner && first->parent()->isAnonymousBlock()) + first = first->parent(); + first = first->nextSibling(); + } + while (first && first->isRenderInline() && first->isRunIn()) first = first->nextSibling(); } while (first && first->isAnonymous() && first->style()->styleType() == NOPSEUDO); @@ -293,7 +298,7 @@ RenderObject* RenderObjectChildList::beforePseudoElementRenderer(const RenderObj // We still need to skip any list markers that could exist before the run-in. while (first && first->isListMarker()) first = first->nextSibling(); - if (first && first->style()->styleType() == BEFORE && first->isRenderInline() && first->isRunIn() && first->isAnonymous()) + if (first && first->style()->styleType() == BEFORE && first->isRenderInline() && first->isRunIn()) return first; } return 0; diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.cpp index e0137de..41604d6 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.cpp @@ -119,6 +119,12 @@ RenderRubyAsInline::~RenderRubyAsInline() { } +void RenderRubyAsInline::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) +{ + RenderInline::styleDidChange(diff, oldStyle); + propagateStyleToAnonymousChildren(); +} + void RenderRubyAsInline::addChild(RenderObject* child, RenderObject* beforeChild) { // Insert :before and :after content before/after the RenderRubyRun(s) @@ -220,6 +226,12 @@ RenderRubyAsBlock::~RenderRubyAsBlock() { } +void RenderRubyAsBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) +{ + RenderBlock::styleDidChange(diff, oldStyle); + propagateStyleToAnonymousChildren(); +} + void RenderRubyAsBlock::addChild(RenderObject* child, RenderObject* beforeChild) { // Insert :before and :after content before/after the RenderRubyRun(s) diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.h b/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.h index 24ac0db..2ab964c 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.h +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderRuby.h @@ -59,6 +59,9 @@ public: virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0); virtual void removeChild(RenderObject* child); +protected: + virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + private: virtual bool isRuby() const { return true; } virtual const char* renderName() const { return "RenderRuby (inline)"; } @@ -75,6 +78,9 @@ public: virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0); virtual void removeChild(RenderObject* child); +protected: + virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + private: virtual bool isRuby() const { return true; } virtual const char* renderName() const { return "RenderRuby (block)"; } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTable.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTable.cpp index 4e90ffc..73b0801 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTable.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTable.cpp @@ -73,6 +73,7 @@ RenderTable::~RenderTable() void RenderTable::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) { RenderBlock::styleDidChange(diff, oldStyle); + propagateStyleToAnonymousChildren(); ETableLayout oldTableLayout = oldStyle ? oldStyle->tableLayout() : TAUTO; diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp index dd44577..686bc3a 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableRow.cpp @@ -74,10 +74,10 @@ void RenderTableRow::updateBeforeAndAfterContent() void RenderTableRow::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) { RenderBox::styleDidChange(diff, oldStyle); + propagateStyleToAnonymousChildren(); if (parent()) updateBeforeAndAfterContent(); - } void RenderTableRow::addChild(RenderObject* child, RenderObject* beforeChild) @@ -90,7 +90,7 @@ void RenderTableRow::addChild(RenderObject* child, RenderObject* beforeChild) RenderObject* last = beforeChild; if (!last) last = lastChild(); - if (last && last->isAnonymous() && last->isTableCell() && !isAfterContent(last) && !isBeforeContent(last)) { + if (last && last->isAnonymous() && last->isTableCell() && !last->isBeforeOrAfterContent()) { if (beforeChild == last) beforeChild = last->firstChild(); last->addChild(child, beforeChild); @@ -98,7 +98,7 @@ void RenderTableRow::addChild(RenderObject* child, RenderObject* beforeChild) } // If beforeChild is inside an anonymous cell, insert into the cell. - if (last && !last->isTableCell() && last->parent() && last->parent()->isAnonymous() && !isAfterContent(last->parent()) && !isBeforeContent(last->parent())) { + if (last && !last->isTableCell() && last->parent() && last->parent()->isAnonymous() && !last->parent()->isBeforeOrAfterContent()) { last->parent()->addChild(child, beforeChild); return; } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp index 3f84404..7d414a0 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.cpp @@ -74,6 +74,12 @@ RenderTableSection::~RenderTableSection() clearGrid(); } +void RenderTableSection::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) +{ + RenderBox::styleDidChange(diff, oldStyle); + propagateStyleToAnonymousChildren(); +} + void RenderTableSection::destroy() { RenderTable* recalcTable = table(); @@ -96,7 +102,7 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild RenderObject* last = beforeChild; if (!last) last = lastChild(); - if (last && last->isAnonymous() && !isAfterContent(last) && !isBeforeContent(last)) { + if (last && last->isAnonymous() && !last->isBeforeOrAfterContent()) { if (beforeChild == last) beforeChild = last->firstChild(); last->addChild(child, beforeChild); @@ -108,7 +114,7 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild RenderObject* lastBox = last; while (lastBox && lastBox->parent()->isAnonymous() && !lastBox->isTableRow()) lastBox = lastBox->parent(); - if (lastBox && lastBox->isAnonymous() && !isAfterContent(lastBox) && !isBeforeContent(lastBox)) { + if (lastBox && lastBox->isAnonymous() && !lastBox->isBeforeOrAfterContent()) { lastBox->addChild(child, beforeChild); return; } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.h b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.h index cc969e8..db6edc2 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.h +++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderTableSection.h @@ -118,6 +118,9 @@ public: int getBaseline(int row) { return m_grid[row].baseline; } +protected: + virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); + private: virtual RenderObjectChildList* virtualChildren() { return children(); } virtual const RenderObjectChildList* virtualChildren() const { return children(); } diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp index 79e8e1e..db4027b 100644 --- a/src/3rdparty/webkit/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp +++ b/src/3rdparty/webkit/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp @@ -168,7 +168,7 @@ void RenderSVGResourceContainer::registerResource() const SVGDocumentExtensions::SVGPendingElements::const_iterator end = clients->end(); for (SVGDocumentExtensions::SVGPendingElements::const_iterator it = clients->begin(); it != end; ++it) { ASSERT((*it)->hasPendingResources()); - (*it)->setHasPendingResources(false); + (*it)->clearHasPendingResourcesIfPossible(); RenderObject* renderer = (*it)->renderer(); if (!renderer) continue; diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp old mode 100644 new mode 100755 index d74f646..4b339ca --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.cpp @@ -227,7 +227,7 @@ void SVGDocumentExtensions::addPendingResource(const AtomicString& id, SVGStyled m_pendingResources.add(id, set); } - element->setHasPendingResources(true); + element->setHasPendingResources(); } bool SVGDocumentExtensions::hasPendingResources(const AtomicString& id) const @@ -238,6 +238,24 @@ bool SVGDocumentExtensions::hasPendingResources(const AtomicString& id) const return m_pendingResources.contains(id); } +bool SVGDocumentExtensions::isElementInPendingResources(SVGStyledElement* element) const +{ + ASSERT(element); + + if (m_pendingResources.isEmpty()) + return false; + + HashMap::const_iterator end = m_pendingResources.end(); + for (HashMap::const_iterator it = m_pendingResources.begin(); it != end; ++it) { + SVGPendingElements* elements = it->second; + ASSERT(elements); + + if (elements->contains(element)) + return true; + } + return false; +} + void SVGDocumentExtensions::removeElementFromPendingResources(SVGStyledElement* element) { ASSERT(element); @@ -245,8 +263,6 @@ void SVGDocumentExtensions::removeElementFromPendingResources(SVGStyledElement* if (m_pendingResources.isEmpty() || !element->hasPendingResources()) return; - element->setHasPendingResources(false); - Vector toBeRemoved; HashMap::iterator end = m_pendingResources.end(); for (HashMap::iterator it = m_pendingResources.begin(); it != end; ++it) { @@ -259,6 +275,8 @@ void SVGDocumentExtensions::removeElementFromPendingResources(SVGStyledElement* toBeRemoved.append(it->first); } + element->clearHasPendingResourcesIfPossible(); + if (toBeRemoved.isEmpty()) return; diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h old mode 100644 new mode 100755 index a66b066..8ad44f8 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGDocumentExtensions.h @@ -81,6 +81,7 @@ public: // For instance, dynamically build gradients / patterns / clippers... void addPendingResource(const AtomicString& id, SVGStyledElement*); bool hasPendingResources(const AtomicString& id) const; + bool isElementInPendingResources(SVGStyledElement*) const; void removeElementFromPendingResources(SVGStyledElement*); PassOwnPtr removePendingResource(const AtomicString& id); }; diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp old mode 100644 new mode 100755 index c1a6449..0693eb0 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.cpp @@ -380,7 +380,7 @@ void SVGStyledElement::insertedIntoDocument() for (SVGDocumentExtensions::SVGPendingElements::const_iterator it = clients->begin(); it != end; ++it) { ASSERT((*it)->hasPendingResources()); (*it)->buildPendingResource(); - (*it)->setHasPendingResources(false); + (*it)->clearHasPendingResourcesIfPossible(); } } @@ -453,9 +453,15 @@ bool SVGStyledElement::hasPendingResources() const return hasRareSVGData() && rareSVGData()->hasPendingResources(); } -void SVGStyledElement::setHasPendingResources(bool value) +void SVGStyledElement::setHasPendingResources() { - ensureRareSVGData()->setHasPendingResources(value); + ensureRareSVGData()->setHasPendingResources(true); +} + +void SVGStyledElement::clearHasPendingResourcesIfPossible() +{ + if (!document()->accessSVGExtensions()->isElementInPendingResources(this)) + ensureRareSVGData()->setHasPendingResources(false); } AffineTransform SVGStyledElement::localCoordinateSpaceTransform(SVGLocatable::CTMScope) const diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h old mode 100644 new mode 100755 index f48513c..fdad347 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGStyledElement.h @@ -53,7 +53,8 @@ public: void setInstanceUpdatesBlocked(bool); bool hasPendingResources() const; - void setHasPendingResources(bool); + void setHasPendingResources(); + void clearHasPendingResourcesIfPossible(); AnimatedAttributeType animatedPropertyTypeForCSSProperty(const QualifiedName&); static bool isAnimatableCSSProperty(const QualifiedName&); diff --git a/src/3rdparty/webkit/Source/WebCore/svg/SVGUseElement.cpp b/src/3rdparty/webkit/Source/WebCore/svg/SVGUseElement.cpp index d8f9674..7de1f4c 100644 --- a/src/3rdparty/webkit/Source/WebCore/svg/SVGUseElement.cpp +++ b/src/3rdparty/webkit/Source/WebCore/svg/SVGUseElement.cpp @@ -172,11 +172,11 @@ void SVGUseElement::svgAttributeChanged(const QualifiedName& attrName) const SVGDocumentExtensions::SVGPendingElements::const_iterator end = clients->end(); for (SVGDocumentExtensions::SVGPendingElements::const_iterator it = clients->begin(); it != end; ++it) { ASSERT((*it)->hasPendingResources()); - (*it)->setHasPendingResources(false); + (*it)->clearHasPendingResourcesIfPossible(); } m_resourceId = String(); - setHasPendingResources(false); + clearHasPendingResourcesIfPossible(); } invalidateShadowTree(); diff --git a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog index 4758de0..32428f1 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog @@ -1,3 +1,13 @@ +2011-09-06 Ademar de Souza Reis Jr. + + [Qt][Symbian] REGRESSION[94105] DumpRenderTree.exe doesn't build on Symbian + https://bugs.webkit.org/show_bug.cgi?id=67644 + + Reviewed by Csaba Osztrogonác. + + * symbian/eabi/QtWebKitu.def: add missing entry for + FrameLoaderClientQt::dumpProgressFinishedCallback(bool) + 2011-08-31 Caio Marcelo de Oliveira Filho [Qt] Unskip API test for load signals order diff --git a/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def b/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def index 0a1c6cb..b67d3f8 100644 --- a/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def +++ b/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def @@ -880,3 +880,4 @@ EXPORTS _ZN8QDRTNodeaSERKS_ @ 879 NONAME _ZN23DumpRenderTreeSupportQt21injectInternalsObjectEP9QWebFrame @ 880 NONAME _ZN23DumpRenderTreeSupportQt20resetInternalsObjectEP9QWebFrame @ 881 NONAME + _ZN23DumpRenderTreeSupportQt28dumpProgressFinishedCallbackEb @ 882 NONAME diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index aeaa22c..6a40345 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from and has the sha1 checksum - a2bd2bb1b19949c6807da38e25bfa7d210bb4b17 + 64cce100215c71575f19ca0b090c65fa97d4ba10 -- cgit v0.12 From 44d30ae2968846bd820b8bb5d1128a8b7a2d4207 Mon Sep 17 00:00:00 2001 From: Aaron Kennedy Date: Wed, 14 Sep 2011 18:11:35 +1000 Subject: Fix crash in compiled bindings Task-number: QTBUG-21265 --- src/declarative/qml/qdeclarativecompiledbindings.cpp | 12 ++++++++++-- src/declarative/qml/qdeclarativecompiledbindings_p.h | 2 +- src/declarative/qml/qdeclarativevme.cpp | 2 +- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp index 51ffc10..72a3e53 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings.cpp +++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp @@ -235,6 +235,7 @@ public: void run(Binding *, QDeclarativePropertyPrivate::WriteFlags flags); const char *programData; + QDeclarativeRefCount *dataRef; Binding *m_bindings; quint32 *m_signalTable; @@ -267,7 +268,7 @@ public: }; QDeclarativeCompiledBindingsPrivate::QDeclarativeCompiledBindingsPrivate() -: subscriptions(0), identifiers(0) +: subscriptions(0), identifiers(0), programData(0), dataRef(0), m_bindings(0), m_signalTable(0) { } @@ -275,11 +276,16 @@ QDeclarativeCompiledBindingsPrivate::~QDeclarativeCompiledBindingsPrivate() { delete [] subscriptions; subscriptions = 0; delete [] identifiers; identifiers = 0; + if (dataRef) { + dataRef->release(); + dataRef = 0; + } } int QDeclarativeCompiledBindingsPrivate::methodCount = -1; -QDeclarativeCompiledBindings::QDeclarativeCompiledBindings(const char *program, QDeclarativeContextData *context) +QDeclarativeCompiledBindings::QDeclarativeCompiledBindings(const char *program, QDeclarativeContextData *context, + QDeclarativeRefCount *dataRef) : QObject(*(new QDeclarativeCompiledBindingsPrivate)) { Q_D(QDeclarativeCompiledBindings); @@ -288,6 +294,8 @@ QDeclarativeCompiledBindings::QDeclarativeCompiledBindings(const char *program, d->methodCount = QDeclarativeCompiledBindings::staticMetaObject.methodCount(); d->programData = program; + d->dataRef = dataRef; + if (d->dataRef) d->dataRef->addref(); d->init(); diff --git a/src/declarative/qml/qdeclarativecompiledbindings_p.h b/src/declarative/qml/qdeclarativecompiledbindings_p.h index e7b6937..8ec0ac3 100644 --- a/src/declarative/qml/qdeclarativecompiledbindings_p.h +++ b/src/declarative/qml/qdeclarativecompiledbindings_p.h @@ -95,7 +95,7 @@ class QDeclarativeCompiledBindingsPrivate; class QDeclarativeCompiledBindings : public QObject, public QDeclarativeAbstractExpression, public QDeclarativeRefCount { public: - QDeclarativeCompiledBindings(const char *program, QDeclarativeContextData *context); + QDeclarativeCompiledBindings(const char *program, QDeclarativeContextData *context, QDeclarativeRefCount *); virtual ~QDeclarativeCompiledBindings(); QDeclarativeAbstractBinding *configBinding(int index, QObject *target, QObject *scope, int property); diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp index a23f89d..8cf97d2 100644 --- a/src/declarative/qml/qdeclarativevme.cpp +++ b/src/declarative/qml/qdeclarativevme.cpp @@ -209,7 +209,7 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEObjectStack &stack, if (instr.init.contextCache != -1) ctxt->setIdPropertyData(comp->contextCaches.at(instr.init.contextCache)); if (instr.init.compiledBinding != -1) - ctxt->optimizedBindings = new QDeclarativeCompiledBindings(datas.at(instr.init.compiledBinding).constData(), ctxt); + ctxt->optimizedBindings = new QDeclarativeCompiledBindings(datas.at(instr.init.compiledBinding).constData(), ctxt, comp); } break; -- cgit v0.12 From 36045c4b68f7b3771d18da397590eee5ae4f3c6f Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Tue, 13 Sep 2011 17:35:08 +0200 Subject: Do not put cursor at non-stop character positions When moving cursors, non-stop positions are skipped, however certain input sequences can still lead us there. In such cases we should simply ignore those positions in cursorToX. Task-number: QTBUG-7076 Reviewed-by: Eskil --- src/gui/text/qtextlayout.cpp | 3 +++ tests/auto/qtextlayout/tst_qtextlayout.cpp | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 4595ef5..c92e15b 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2507,6 +2507,9 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const int pos = *cursorPos; int itm; + const HB_CharAttributes *attributes = eng->attributes(); + while (pos < line.from + line.length && !attributes[pos].charStop) + pos++; if (pos == line.from + (int)line.length) { // end of line ensure we have the last item on the line itm = eng->findItem(pos-1); diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp index 2414ab3..6c989ac 100644 --- a/tests/auto/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp @@ -129,6 +129,7 @@ private slots: void textWidthWithLineSeparator(); void cursorInLigatureWithMultipleLines(); void xToCursorForLigatures(); + void cursorInNonStopChars(); private: QFont testFont; @@ -1502,5 +1503,19 @@ void tst_QTextLayout::xToCursorForLigatures() line.xToCursor(width) == line.xToCursor(width / 2)); } +void tst_QTextLayout::cursorInNonStopChars() +{ +#if defined(Q_WS_MAC) + QSKIP("This test can not be run on Mac", SkipAll); +#endif + QTextLayout layout(QString::fromUtf8("\u0924\u094d\u0928")); + layout.beginLayout(); + QTextLine line = layout.createLine(); + layout.endLayout(); + + QVERIFY(line.cursorToX(1) == line.cursorToX(3)); + QVERIFY(line.cursorToX(2) == line.cursorToX(3)); +} + QTEST_MAIN(tst_QTextLayout) #include "tst_qtextlayout.moc" -- cgit v0.12 From 916ba1588577b971a1e5ae6ce10c1348388ea6ee Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 14 Sep 2011 16:01:34 +0300 Subject: Cleanup qwidget_s60.cpp Removed some unused code from qwidget_s60.cpp. Reviewed-by: TrustMe --- src/gui/kernel/qwidget_s60.cpp | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp index 2b51aaa..e06b625 100644 --- a/src/gui/kernel/qwidget_s60.cpp +++ b/src/gui/kernel/qwidget_s60.cpp @@ -84,21 +84,6 @@ CEikButtonGroupContainer *QS60Data::cba = 0; int qt_symbian_create_desktop_on_screen = -1; -static bool isEqual(const QList& a, const QList& b) -{ - if ( a.count() != b.count()) - return false; - int index=0; - while (indexsoftKeyRole() != b.at(index)->softKeyRole()) - return false; - if (a.at(index)->text().compare(b.at(index)->text())!=0) - return false; - index++; - } - return true; -} - void QWidgetPrivate::setWSGeometry(bool dontShow, const QRect &) { // Note: based on x11 implementation @@ -231,7 +216,6 @@ void QWidgetPrivate::setGeometry_sys(int x, int y, int w, int h, bool isMove) QPoint oldPos(q->pos()); QSize oldSize(q->size()); - QRect oldGeom(data.crect); bool checkExtra = true; if (q->isWindow() && (data.window_state & (Qt::WindowFullScreen | Qt::WindowMaximized))) { @@ -348,11 +332,7 @@ void QWidgetPrivate::create_sys(WId window, bool /* initializeWindow */, bool de bool topLevel = (flags & Qt::Window); bool popup = (type == Qt::Popup); - bool dialog = (type == Qt::Dialog - || type == Qt::Sheet - || (flags & Qt::MSWindowsFixedSizeDialogHint)); bool desktop = (type == Qt::Desktop); - //bool tool = (type == Qt::Tool || type == Qt::Drawer); if (popup) flags |= Qt::WindowStaysOnTopHint; // a popup stays on top @@ -1075,7 +1055,7 @@ void QWidgetPrivate::registerTouchWindow() int QWidget::metric(PaintDeviceMetric m) const { Q_D(const QWidget); - int val; + int val = 0; if (m == PdmWidth) { val = data->crect.width(); } else if (m == PdmHeight) { -- cgit v0.12 From e29af89ec3655188e00def7234bf7181d070b09b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 14 Sep 2011 17:14:53 +0200 Subject: Update changes file. --- dist/changes-4.8.0 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index b8e3842..2d46a26 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -223,7 +223,8 @@ Qt for Windows CE - qmake - + * Implemented "aux" template that allows making use of the INSTALLS variable + without building anything. Needed for projects with QML entry point. - configure -- cgit v0.12 From e402252b1babb6dad55a0413df58134e161d3ce8 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 15 Sep 2011 09:09:18 +0200 Subject: My 4.8.0 changes Add the rest of my changes to the change log. --- dist/changes-4.8.0 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index b8e3842..e1a2725 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -77,6 +77,9 @@ QtGui like UltraLight. [QTBUG-19366] - Visual text cursor movement behavior is added to QTextEdit and QLineEdit controls, which can be used as an optional mode for bi-directional text editing. [QTBUG-13859] + - Fixed several bidi reordering bugs. + - Make HTML exported from QTextDocument containing empty lines more compliant. + - Include font pixel size when exporting HTML from QTextDocument. - Fixed a rare race condition when showing toplevel windows on X11 - Accessibility: Fix potential crash in QDockWidget. - Accessibility: Fix crash when asking for relations of child accessibles. @@ -114,6 +117,7 @@ QtNetwork - Including will not work in combination with GLEW, as QGLFunctions will undefine GLEW's defines. - Optimize behavior of QGLTextureCache + - Support subpixel antialiasing when possible. QtScript -------- -- cgit v0.12 From 6b434f9bb50cf5238c145d6cd3b9031d3da5153b Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt Date: Thu, 15 Sep 2011 09:48:58 +0200 Subject: Changelog: add waylandwindowmanager integration changes --- dist/changes-4.8.0 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index e1a2725..e00a6a4 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -143,6 +143,8 @@ Qt for Linux/X11 - Various fixes to FontConfig font matching code to make it consistent with other X11 programs. [QTBUG-2148, QTBUG-19947, QTBUG-14269] - Added experimental support for armCC + - Experimental support for associating Wayland clients with PID or a token, + to facilitate window management. Qt for Windows -------------- -- cgit v0.12 From 30c0e49601defee2672afaa3fb88e22226362db5 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Wed, 14 Sep 2011 13:31:19 +0200 Subject: Mention Lighthouse in the changes file. --- dist/changes-4.8.0 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index e00a6a4..1bb95b9 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -19,6 +19,12 @@ information about a particular change. * General * **************************************************************************** +Qt Platform Abstraction +----------------------- + +Qt 4.8 adds a new platform: QPA (also known as Lighthouse). QPA is a replacement +for Qt for Embedded Linux (QWS), making it much easier to port Qt to new platforms. + General Improvements -------------------- -- cgit v0.12 From ac69d5fcd733f231e1efee6605c97062fdee5baa Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 15 Sep 2011 11:37:28 +0300 Subject: My 4.8.0 changes Also contains changes from Miikka Heikkinen. --- dist/changes-4.8.0 | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 1bb95b9..03e652e 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -28,7 +28,7 @@ for Qt for Embedded Linux (QWS), making it much easier to port Qt to new platfor General Improvements -------------------- -- +- Third party components ---------------------- @@ -183,6 +183,36 @@ Qt for Symbian be made via a specific network. For example to mobile operator websites only accessible via the cellular network, or to websites inside a firewall - System proxy settings now work correctly when using service networks [QTBUG-18618] + - Prevent horizontal lines appearing under entered characters when predictive text is off + - Checked state is not shown on highlighted itemview item when using QS60Style [QTBUG-19668] + - Icon is not shown correctly in a menu item in all cases when using QS60Style [QTBUG-19330] + - Remove S60 3rd edition support from QS60Style [QTBUG-18615] + - Prevent softkeys from coming to foreground when taskswitcher is opened [QTBUG-19225] + - Improve robustness of QS60Style when creating native theme bitmaps [QTBUG-21119] + - Make spinboxes and lineedits slightly taller in QS60Style + - Default graphics memory quota for Symbian applications support [QT-4963] + - Improved support for shadow builds in Symbian [QTBUG-10432] + - Fixed panic when global QSettings instance needs flusing at app exit [QTBUG-21421] + - Detect app caption and pkg name translations by id attribute [QT-5247] + - Fixed center aligned layouts for Symbian [QTBUG-14704] + - Fixed Symbian system date format parsing [QT-5237] + - Skip softkeys update if application is not on foreground in Symbian [QTBUG-19225] + - Removed S60 version plugins [QTBUG-18614] + - Improved DEFINES crossplatform compatibility in Symbian builds [QTBUG-19232] + - Fixed loss of focus and activation when hiding a child widget [QTBUG-19196] + - Fixed softkeys in case a dialog with softkeys that have icons is closed [QTBUG-19154] + - Update softkeys after orientation switch [QTBUG-19150] + - Implemented support for enable_backup CONFIG value [QTBUG-17214] + - Improved logic to find default certificates in createpackage script [QTBUG-18684] + - Changed createpackage and patch_capabilties scripts use tmp dir [QTBUG-11394] + - Added ".make.cache" to the files to be cleaned for symbian-abld [QTBUG-15733] + - Fixed emulator deployment for items with "!:" drive [QTBUG-18134] + - Removed broken "deploy.path" support from Symbian [QTBUG-14426] + - Strip echo suppression character "@" from commands in symbian-sbsv2 [QTBUG-4767] + - Don't leave from QNotifyChangeEvent::RunL() in QFileSystemWatcher [QT-4660] + - Fixed QProcess::waitForFinished WaitForRequest handling in Symbian [QT-4659] + - Changed DEPLOYMENT keyword to accept both .sources and .files [QTBUG-3216] + - Removed static vs dynamic library autodetection from qmake in Symbian [QTBUG-13498] Qt for Windows CE ----------------- -- cgit v0.12 From c98034ba71ee99e374dbce1f4f8d332ba6bdd396 Mon Sep 17 00:00:00 2001 From: Kim Motoyoshi Kalland Date: Thu, 15 Sep 2011 10:47:59 +0200 Subject: My 4.8.0 changes. --- dist/changes-4.8.0 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 03e652e..9e631d9 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -99,6 +99,7 @@ QtGui - Accessibility: Return text attributes for QTextEdit. - Accessibility: Make accessibility work on Windows with alien widgets - Accessibility: Several enablers for accessible graphicsview and Qt Quick applications. + - Fixed loading BMP files with version 4 and 5 headers, ignoring extra data. QtNetwork --------- @@ -124,6 +125,7 @@ QtNetwork QGLFunctions will undefine GLEW's defines. - Optimize behavior of QGLTextureCache - Support subpixel antialiasing when possible. + - [QTBUG-13450] Fixed path drawing on FBOs without stencil buffer. QtScript -------- @@ -133,6 +135,11 @@ QtSql ----- - Update sqlite to 3.7.7.1 + +QtSvg +----- + - [QTBUG-16216] Fixed infinite loop when loading some SVGs with CSS style. + **************************************************************************** * Database Drivers * **************************************************************************** -- cgit v0.12 From ead8dff4884d6081683b8281db69062413950673 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 15 Sep 2011 10:53:59 +0200 Subject: Updated Changelog --- dist/changes-4.8.0 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index b8e3842..b36f1ee 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -58,6 +58,7 @@ QtCore - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205) - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not + - QLocale: added locale dependent to{Upper,Lower} string conversions QtGui ----- @@ -77,6 +78,8 @@ QtGui like UltraLight. [QTBUG-19366] - Visual text cursor movement behavior is added to QTextEdit and QLineEdit controls, which can be used as an optional mode for bi-directional text editing. [QTBUG-13859] + - QPainter: Added a fast stroking algorithm for thin (< 1px wide) aliased and antialiased + lines, giving a huge improvement in drawing speed for certain cases - Fixed a rare race condition when showing toplevel windows on X11 - Accessibility: Fix potential crash in QDockWidget. - Accessibility: Fix crash when asking for relations of child accessibles. @@ -119,9 +122,12 @@ QtScript -------- - Deprecated qScriptValueFromQMetaObject, qScriptValueToValue, qScriptValueFromValue +QtDBus +------ + - Added a method that returns the local machine ID + QtSql ----- - - Update sqlite to 3.7.7.1 **************************************************************************** * Database Drivers * -- cgit v0.12 From 902ead36112dd19eef05b584fb9ad971a63afa05 Mon Sep 17 00:00:00 2001 From: Markku Heikkila Date: Thu, 15 Sep 2011 12:51:19 +0200 Subject: Mingw compile error src/gui/accessible/qaccessible_win.cpp (*pvarState).lVal = elem.iface ? elem.iface->state(elem.entry) : 0; at least, gcc-4.4.3 complains the mismatched types of elem.iface->state(elem.entry) and 0, aslike, Merge-request: 1377 Reviewed-by: Jan-Arve Saether --- src/gui/accessible/qaccessible_win.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/accessible/qaccessible_win.cpp b/src/gui/accessible/qaccessible_win.cpp index caabae5..1fd1bfd 100644 --- a/src/gui/accessible/qaccessible_win.cpp +++ b/src/gui/accessible/qaccessible_win.cpp @@ -1316,7 +1316,7 @@ HRESULT STDMETHODCALLTYPE QWindowsAccessible::get_accState(VARIANT varID, VARIAN (*pvarState).vt = VT_I4; AccessibleElement elem(varID.lVal, accessible); - (*pvarState).lVal = elem.iface ? elem.iface->state(elem.entry) : 0; + (*pvarState).lVal = elem.iface ? elem.iface->state(elem.entry) : State(Normal); return S_OK; } -- cgit v0.12 From b0fbf9dae591dc839e14a087c1d69189e3fe9461 Mon Sep 17 00:00:00 2001 From: "Jarkko T. Toivonen" Date: Thu, 15 Sep 2011 15:40:51 +0300 Subject: Fix the incorrect sizeHint given by QLabel on Symbian Using the S60 clientRect width in the QLabel size hint calculation (instead of assuming that 80 characters will fit on one line). Task-number: QTBUG-14318 Reviewed-by: Murray Read --- src/gui/widgets/qlabel.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gui/widgets/qlabel.cpp b/src/gui/widgets/qlabel.cpp index ab88f38..c0be3e1 100644 --- a/src/gui/widgets/qlabel.cpp +++ b/src/gui/widgets/qlabel.cpp @@ -59,6 +59,10 @@ #include #endif +#ifdef Q_OS_SYMBIAN +#include "qt_s60_p.h" +#endif + QT_BEGIN_NAMESPACE /*! @@ -698,7 +702,11 @@ QSize QLabelPrivate::sizeForWidth(int w) const bool tryWidth = (w < 0) && (align & Qt::TextWordWrap); if (tryWidth) +#ifdef Q_OS_SYMBIAN + w = qMin(S60->clientRect().Width(), q->maximumSize().width()); +#else w = qMin(fm.averageCharWidth() * 80, q->maximumSize().width()); +#endif else if (w < 0) w = 2000; w -= (hextra + contentsMargin.width()); -- cgit v0.12 From 68cc31ad700abc4dc480c39e98feea4fe904db71 Mon Sep 17 00:00:00 2001 From: Sami Merila Date: Thu, 15 Sep 2011 16:07:05 +0300 Subject: Regression in QS60Style when drawing webview scrollbars QWebviews draws scrollbar background with bright green. This is regression caused by QS60Style change SHA 7dfa50a9b97d28813341329a55aa1a4b5a7de527. This SHA changed theme background creation to happen just before drawing. Unfortunately, web widgets have slightly different palette than non-web widgets, so the style didn't catch the incorrect background texture when painting. Thus, the background was drawn with initialized color (green). Task-number: QTBUG-21463 Reviewed-by: Miikka Heikkinen --- src/gui/styles/qs60style.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index 816c094..eec2d15 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -842,6 +842,7 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) webPalette.setColor(QPalette::WindowText, Qt::black); webPalette.setColor(QPalette::Text, Qt::black); webPalette.setBrush(QPalette::Base, Qt::white); + webPalette.setBrush(QPalette::Window, Qt::white); QApplication::setPalette(webPalette, "QWebView"); QApplication::setPalette(webPalette, "QGraphicsWebView"); -- cgit v0.12 From 3b93ff8f65f55209a5dd8634efc8c92cba2970f8 Mon Sep 17 00:00:00 2001 From: Tomi Vihria Date: Thu, 15 Sep 2011 16:53:35 +0300 Subject: Fix missing clean up stack panic for a new thread in Symbian The clean up stack for a new thread was created in a too late phase for a process that doesn't have symbianVersion string in its cache Task-number: QT-5269 Reviewed-by: Murray Read --- src/corelib/thread/qthread_symbian.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/corelib/thread/qthread_symbian.cpp b/src/corelib/thread/qthread_symbian.cpp index 46339a6..2ea1b44 100644 --- a/src/corelib/thread/qthread_symbian.cpp +++ b/src/corelib/thread/qthread_symbian.cpp @@ -324,13 +324,14 @@ void *QThreadPrivate::start(void *arg) data->threadId = QThread::currentThreadId(); set_thread_data(data); + CTrapCleanup *cleanup = CTrapCleanup::New(); + q_check_ptr(cleanup); + { QMutexLocker locker(&thr->d_func()->mutex); data->quitNow = thr->d_func()->exited; } - CTrapCleanup *cleanup = CTrapCleanup::New(); - // ### TODO: allow the user to create a custom event dispatcher createEventDispatcher(data); -- cgit v0.12 From 9463ba63bc7e41a1d6aa320aced392843e31b160 Mon Sep 17 00:00:00 2001 From: Kalle Viironen Date: Thu, 15 Sep 2011 15:56:31 +0200 Subject: Fix - QGraphicsTextItem in a tab of QTabWidget cannot get focus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Any QGraphicsTextItems in those tabs which are not the first tab of QTabWidget, cannot get focus although the tab is current tab of QTabWidget.But the QGraphicsTextItem in the first tab of QTabWidget can get focus. i.e. a focus frame (dotted box) appears around the QGraphicsTextItem. Those QGraphicsTextItems which cannot get focus can get focus only after the main window is minimized and then maximized. i.e. After that, a focus frame appears around it. Task-number: QTBUG-19680 Merge-request: 2676 Reviewed-by: Samuel Rødal --- src/gui/graphicsview/qgraphicsscene.cpp | 4 +- tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp | 68 ++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp index 1551944..867880c 100644 --- a/src/gui/graphicsview/qgraphicsscene.cpp +++ b/src/gui/graphicsview/qgraphicsscene.cpp @@ -3504,7 +3504,9 @@ bool QGraphicsScene::event(QEvent *event) } break; case QEvent::WindowDeactivate: - if (!--d->activationRefCount) { + if (d->activationRefCount > 0) + --d->activationRefCount; + if (!d->activationRefCount) { if (d->activePanel) { // Deactivate the active panel (but keep it so we can // reactivate it later). diff --git a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp index b8741fe..8a26323 100644 --- a/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp +++ b/tests/auto/qgraphicsscene/tst_qgraphicsscene.cpp @@ -290,6 +290,7 @@ private slots: void taskQT_3674_doNotCrash(); void taskQTBUG_15977_renderWithDeviceCoordinateCache(); void taskQTBUG_16401_focusItem(); + void taskQTBUG_19680_tabWidgetFocus(); }; void tst_QGraphicsScene::initTestCase() @@ -4711,5 +4712,72 @@ void tst_QGraphicsScene::taskQTBUG_16401_focusItem() QVERIFY(!scene.focusItem()); } +void tst_QGraphicsScene::taskQTBUG_19680_tabWidgetFocus() +{ + QTabWidget tabWidget; + QGraphicsScene scene1; + QGraphicsScene scene2; + QGraphicsView view1(&scene1); + QGraphicsView view2(&scene2); + + tabWidget.show(); + + tabWidget.addTab(&view1, "view1"); + tabWidget.setCurrentWidget(&view1); + + QGraphicsTextItem *textItem1 = scene1.addText("Text1"); + textItem1->setFlags(QGraphicsItem::ItemIsFocusable); + textItem1->setTextInteractionFlags(Qt::TextEditorInteraction); + textItem1->setEnabled(true); + textItem1->setFocus(); + + tabWidget.addTab(&view2, "view2"); + tabWidget.setCurrentWidget(&view2); + + QGraphicsTextItem *textItem2 = scene2.addText("Text2"); + textItem2->setFlags(QGraphicsItem::ItemIsFocusable); + textItem2->setTextInteractionFlags(Qt::TextEditorInteraction); + textItem2->setEnabled(true); + textItem2->setFocus(); + + scene2.clearFocus(); + + view2.clearFocus(); + view2.setEnabled(false); + view2.setInteractive(false); + view2.setVisible(false); + view2.setShown(false); + view2.hide(); + + tabWidget.clearFocus(); + tabWidget.setEnabled(false); + tabWidget.setShown(false); + tabWidget.setVisible(false); + tabWidget.hide(); + + tabWidget.setFocus(); + tabWidget.setEnabled(true); + tabWidget.activateWindow(); + tabWidget.setShown(true); + tabWidget.setVisible(true); + tabWidget.show(); + + view2.setFocus(); + view2.setEnabled(true); + view2.activateWindow(); + view2.setInteractive(true); + view2.setVisible(true); + view2.setShown(true); + view2.show(); + + QTest::qWaitForWindowShown(&view2); + QApplication::setActiveWindow(&tabWidget); + + textItem2->setFocus(); + + QVERIFY(scene2.isActive()); + QVERIFY(textItem2->hasFocus()); +} + QTEST_MAIN(tst_QGraphicsScene) #include "tst_qgraphicsscene.moc" -- cgit v0.12 From 2fa6d410c6733863b19393c13efbdcb7efd59fc0 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Fri, 16 Sep 2011 01:37:35 +0200 Subject: minor docu fixes Merge-request: 2646 Reviewed-by: Frederik Gladhorn --- src/gui/graphicsview/qgraphicswidget.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp index 965b1b34..b16e51e 100644 --- a/src/gui/graphicsview/qgraphicswidget.cpp +++ b/src/gui/graphicsview/qgraphicswidget.cpp @@ -152,7 +152,7 @@ QT_BEGIN_NAMESPACE \row \o Qt::WA_SetPalette \o Set by setPalette(). \row \o Qt::WA_SetFont - \o Set by setPalette(). + \o Set by setFont(). \row \o Qt::WA_WindowPropagation \o Enables propagation to window widgets. \endtable @@ -1668,7 +1668,7 @@ void QGraphicsWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event) /*! This event handler, for \a event, can be reimplemented in a subclass to - receive notifications for Qt::GrabMouse events. + receive notifications for QEvent::GrabMouse events. \sa grabMouse(), grabKeyboard() */ @@ -1679,7 +1679,7 @@ void QGraphicsWidget::grabMouseEvent(QEvent *event) /*! This event handler, for \a event, can be reimplemented in a subclass to - receive notifications for Qt::UngrabMouse events. + receive notifications for QEvent::UngrabMouse events. \sa ungrabMouse(), ungrabKeyboard() */ @@ -1690,7 +1690,7 @@ void QGraphicsWidget::ungrabMouseEvent(QEvent *event) /*! This event handler, for \a event, can be reimplemented in a subclass to - receive notifications for Qt::GrabKeyboard events. + receive notifications for QEvent::GrabKeyboard events. \sa grabKeyboard(), grabMouse() */ @@ -1701,7 +1701,7 @@ void QGraphicsWidget::grabKeyboardEvent(QEvent *event) /*! This event handler, for \a event, can be reimplemented in a subclass to - receive notifications for Qt::UngrabKeyboard events. + receive notifications for QEvent::UngrabKeyboard events. \sa ungrabKeyboard(), ungrabMouse() */ -- cgit v0.12 From 88dabbf653ea0f86d54df21f47a3e8ae13aa27f2 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 16 Sep 2011 12:12:54 +0200 Subject: My changes for 4.8.0 --- dist/changes-4.8.0 | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 9e631d9..86c1be1 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -163,6 +163,10 @@ Qt for Windows -------------- - DirectWrite experimental text shaping engine is added with subpixel positioning support. [QTBUG-12678] + - QElapsedTimer: use QueryPerformanceCounter if available. + - MSVC runtime is bound to the runtime you're building with. This makes + deployment on Windows easier. (QTBUG-8215) + - QLocalSocket::isValid() has been fixed. (QTBUG-18204) Qt for Mac OS X --------------- @@ -272,9 +276,21 @@ Qt for Windows CE - qmake - + * MinGW: fix DEF_FILE for shadow builds. (QTBUG-11643) + +- qmake - Visual Studio project generator + * Support x64 Qt builds. (QTBUG-17911) + * QMAKE_PROJECT_NAME qmake variable introduced to set the project's name. + * Support PCHs with other extensions than ".h". (QTBUG-16639) + * Fix setting PCH options manually via the MSVC compiler flags. + (QTBUG-15594) + * Set the output directory correctly. (QTBUG-16490) + * Fix handling of DEFINES from .prl files. (QTBUG-16024) + * Fix the language settings generated Windows resource files. + (QTBUG-12249) - configure + * The endianness for Windows is always set to little endian. - qtconfig -- cgit v0.12 From 8935a84e18804c7ff4b7336e3cfdf1cd558eaf1c Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Fri, 9 Sep 2011 14:31:39 +0200 Subject: Release font engine refcount when done using it in QTextEngine 5f2b6dd2a50275bc05ae5d7e9dd8902d6d49d9df increased refcounts for font engines in QTextEngine cache, we need to decrease them when the QTextEngine is deallocated. Task-number: QTBUG-21222 Reviewed-by: Eskil --- src/gui/text/qtextengine.cpp | 12 +++++++++--- src/gui/text/qtextengine_p.h | 1 + src/gui/text/qtextlayout.cpp | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/gui/text/qtextengine.cpp b/src/gui/text/qtextengine.cpp index a0e1751..a1b0cb0 100644 --- a/src/gui/text/qtextengine.cpp +++ b/src/gui/text/qtextengine.cpp @@ -1387,6 +1387,7 @@ QTextEngine::~QTextEngine() if (!stackEngine) delete layoutData; delete specialData; + resetFontEngineCache(); } const HB_CharAttributes *QTextEngine::attributes() const @@ -1447,6 +1448,13 @@ static inline void releaseCachedFontEngine(QFontEngine *fontEngine) } } +void QTextEngine::resetFontEngineCache() +{ + releaseCachedFontEngine(feCache.prevFontEngine); + releaseCachedFontEngine(feCache.prevScaledFontEngine); + feCache.reset(); +} + void QTextEngine::invalidate() { freeMemory(); @@ -1455,9 +1463,7 @@ void QTextEngine::invalidate() if (specialData) specialData->resolvedFormatIndices.clear(); - releaseCachedFontEngine(feCache.prevFontEngine); - releaseCachedFontEngine(feCache.prevScaledFontEngine); - feCache.reset(); + resetFontEngineCache(); } void QTextEngine::clearLineData() diff --git a/src/gui/text/qtextengine_p.h b/src/gui/text/qtextengine_p.h index 0a86886..9362022 100644 --- a/src/gui/text/qtextengine_p.h +++ b/src/gui/text/qtextengine_p.h @@ -629,6 +629,7 @@ public: int lineNumberForTextPosition(int pos); int positionAfterVisualMovement(int oldPos, QTextCursor::MoveOperation op); void insertionPointsForLine(int lineNum, QVector &insertionPoints); + void resetFontEngineCache(); private: void setBoundary(int strPos) const; diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index c92e15b..d0c1a0e 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -375,7 +375,7 @@ QTextLayout::~QTextLayout() void QTextLayout::setFont(const QFont &font) { d->fnt = font; - d->feCache.reset(); + d->resetFontEngineCache(); } /*! @@ -515,7 +515,7 @@ void QTextLayout::setAdditionalFormats(const QList &formatList) } if (d->block.docHandle()) d->block.docHandle()->documentChange(d->block.position(), d->block.length()); - d->feCache.reset(); + d->resetFontEngineCache(); } /*! -- cgit v0.12 From 57240c1f931eb4c340de6e2bb17972235265f89c Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Fri, 16 Sep 2011 13:03:15 +0200 Subject: Use more widely supported Unicode character representation --- tests/auto/qtextlayout/tst_qtextlayout.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/auto/qtextlayout/tst_qtextlayout.cpp b/tests/auto/qtextlayout/tst_qtextlayout.cpp index 6c989ac..67d8269 100644 --- a/tests/auto/qtextlayout/tst_qtextlayout.cpp +++ b/tests/auto/qtextlayout/tst_qtextlayout.cpp @@ -1466,7 +1466,7 @@ void tst_QTextLayout::textWidthWithLineSeparator() void tst_QTextLayout::cursorInLigatureWithMultipleLines() { #if !defined(Q_WS_MAC) - QSKIP("This test can not be run on Mac", SkipAll); + QSKIP("This test can only be run on Mac", SkipAll); #endif QTextLayout layout("first line finish", QFont("Times", 20)); layout.beginLayout(); @@ -1482,7 +1482,7 @@ void tst_QTextLayout::cursorInLigatureWithMultipleLines() void tst_QTextLayout::xToCursorForLigatures() { #if !defined(Q_WS_MAC) - QSKIP("This test can not be run on Mac", SkipAll); + QSKIP("This test can only be run on Mac", SkipAll); #endif QTextLayout layout("fi", QFont("Times", 20)); layout.beginLayout(); @@ -1508,7 +1508,7 @@ void tst_QTextLayout::cursorInNonStopChars() #if defined(Q_WS_MAC) QSKIP("This test can not be run on Mac", SkipAll); #endif - QTextLayout layout(QString::fromUtf8("\u0924\u094d\u0928")); + QTextLayout layout(QString::fromUtf8("\xE0\xA4\xA4\xE0\xA5\x8D\xE0\xA4\xA8")); layout.beginLayout(); QTextLine line = layout.createLine(); layout.endLayout(); -- cgit v0.12 From 21be1f662196b38e29ae7d0bcceeba16ed155b61 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Thu, 15 Sep 2011 15:07:08 +0100 Subject: runonphone: Implement traceswitch support for coda The traceswitch application redirects debug messages to the USB port. This was supported by the TRK backend but not by the CODA backend. 1. CODA backend now recognises mux channel 2 as valid 2. new TextTraceHandler class to attach to channel 2 and decode trace packets / print them to stdout 3. CODA signal handler creates a TextTraceHandler & destroys it on shutdown Reviewed-By: Miikka Heikkinen --- tools/runonphone/codasignalhandler.cpp | 6 ++ tools/runonphone/runonphone.pro | 6 +- tools/runonphone/symbianutils/codadevice.cpp | 5 +- tools/runonphone/texttracehandler.cpp | 89 ++++++++++++++++++++++++++++ tools/runonphone/texttracehandler.h | 57 ++++++++++++++++++ 5 files changed, 160 insertions(+), 3 deletions(-) create mode 100644 tools/runonphone/texttracehandler.cpp create mode 100644 tools/runonphone/texttracehandler.h diff --git a/tools/runonphone/codasignalhandler.cpp b/tools/runonphone/codasignalhandler.cpp index 0d086b5..7a7284d 100644 --- a/tools/runonphone/codasignalhandler.cpp +++ b/tools/runonphone/codasignalhandler.cpp @@ -46,6 +46,7 @@ #include #include #include "codasignalhandler.h" +#include "texttracehandler.h" static const quint64 DEFAULT_CHUNK_SIZE = 40000; @@ -173,6 +174,9 @@ int CodaSignalHandler::run() return 1; } + TextTraceHandler *traceHandler = new TextTraceHandler( + SymbianUtils::SymbianDeviceManager::instance()->getOstChannel(d->serialPortName, 2), this); + if (d->loglevel > 1) { d->codaDevice->setVerbose(1); } @@ -190,6 +194,8 @@ int CodaSignalHandler::run() d->eventLoop->exec(); int result = d->result; reportMessage(tr("Done.")); + + delete traceHandler; disconnect(d->codaDevice.data(), 0, this, 0); SymbianUtils::SymbianDeviceManager::instance()->releaseCodaDevice(d->codaDevice); diff --git a/tools/runonphone/runonphone.pro b/tools/runonphone/runonphone.pro index d006a05..3d6a995 100644 --- a/tools/runonphone/runonphone.pro +++ b/tools/runonphone/runonphone.pro @@ -9,13 +9,15 @@ include(symbianutils/symbianutils.pri) SOURCES += main.cpp \ trksignalhandler.cpp \ ossignalconverter.cpp \ - codasignalhandler.cpp + codasignalhandler.cpp \ + texttracehandler.cpp HEADERS += trksignalhandler.h \ serenum.h \ ossignalconverter.h \ ossignalconverter_p.h \ - codasignalhandler.h + codasignalhandler.h \ + texttracehandler.h DEFINES += SYMBIANUTILS_INCLUDE_PRI diff --git a/tools/runonphone/symbianutils/codadevice.cpp b/tools/runonphone/symbianutils/codadevice.cpp index 751f84e..f1f5db5 100644 --- a/tools/runonphone/symbianutils/codadevice.cpp +++ b/tools/runonphone/symbianutils/codadevice.cpp @@ -71,6 +71,7 @@ static const int maxSerialMessageLength = 0x10000; // given chunking scheme static const char validProtocolIdStart = (char)0x90; static const char validProtocolIdEnd = (char)0x95; static const char codaProtocolId = (char)0x92; +static const char textTraceProtocolId = (char)0x02; static const unsigned char serialChunkingStart = 0xfe; static const unsigned char serialChunkingContinuation = 0x0; enum { SerialChunkHeaderSize = 2 }; @@ -495,7 +496,9 @@ QPair CodaDevice::findSerialHeader(QByteArray &in) // Good packet const int length = trk::extractShort(in.constData() + 2); return QPair(4, length); - } else if (in.at(0) == header1 && in.at(1) >= validProtocolIdStart && in.at(1) <= validProtocolIdEnd) { + } else if (in.at(0) == header1 + && (in.at(1) == textTraceProtocolId + || (in.at(1) >= validProtocolIdStart && in.at(1) <= validProtocolIdEnd))) { // We recognise it but it's not a TCF message - emit it for any interested party to handle const int length = trk::extractShort(in.constData() + 2); if (4 + length <= in.size()) { diff --git a/tools/runonphone/texttracehandler.cpp b/tools/runonphone/texttracehandler.cpp new file mode 100644 index 0000000..fff02e9 --- /dev/null +++ b/tools/runonphone/texttracehandler.cpp @@ -0,0 +1,89 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include "texttracehandler.h" +#include "trkutils.h" + +class TextTraceHandlerPrivate +{ +public: + TextTraceHandlerPrivate(); + ~TextTraceHandlerPrivate(); + QIODevice *device; + QTextStream out; +}; + +TextTraceHandlerPrivate::TextTraceHandlerPrivate() +: out(stdout) +{ +} + +TextTraceHandlerPrivate::~TextTraceHandlerPrivate() +{ + delete device; +} + +TextTraceHandler::TextTraceHandler(QIODevice *device, QObject *parent) +: QObject(parent) +{ + d = new TextTraceHandlerPrivate; + d->device = device; + connect(device, SIGNAL(readyRead()), this, SLOT(dataAvailable())); +} + +TextTraceHandler::~TextTraceHandler() +{ + delete d; +} + +void TextTraceHandler::dataAvailable() +{ + QByteArray result = d->device->readAll(); + quint64 secs = 0; + quint64 ns = 0; + if (result.length() >= 8) { + quint64 timestamp = trk::extractInt64(result.constData()) & 0x0FFFFFFFFFFFFFFFULL; + secs = timestamp / 1000000000; + ns = timestamp % 1000000000; + } + d->out << QString("[%1.%2] %3").arg(secs).arg(ns).arg(QString(result.mid(8))) << endl; +} diff --git a/tools/runonphone/texttracehandler.h b/tools/runonphone/texttracehandler.h new file mode 100644 index 0000000..2b9359c --- /dev/null +++ b/tools/runonphone/texttracehandler.h @@ -0,0 +1,57 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the tools applications of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include + +class TextTraceHandlerPrivate; +class TextTraceHandler : public QObject +{ + Q_OBJECT +public: + TextTraceHandler(QIODevice *device, QObject *parent = 0); + ~TextTraceHandler(); + +public slots: + void dataAvailable(); +private: + TextTraceHandlerPrivate *d; +}; -- cgit v0.12 From 46cc256e946dee1fba701542affa63b5ae240562 Mon Sep 17 00:00:00 2001 From: Sinan Tanilkan Date: Fri, 16 Sep 2011 14:13:36 +0200 Subject: Update changelog for Qt 4.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change recieved from Cédric OCHS. https://qt.gitorious.org/qt/qt/merge_requests/1157 --- dist/changes-4.8.0 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 86c1be1..90e660e 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -235,6 +235,9 @@ Qt for Windows CE - Sun Studio 12 * Fixed build issues in the OpenGL module on Solaris with CC 5.9. [QTBUG-19641] +- Microsoft Visual C++ + * Fixed build issues with STLport. [QTBUG-18374] + **************************************************************************** * Tools * **************************************************************************** -- cgit v0.12 From 1aa6a009008ba45e1dd8fb2fbb99a7208db11c81 Mon Sep 17 00:00:00 2001 From: "Daniele E. Domenichelli" Date: Thu, 15 Sep 2011 14:42:04 +0100 Subject: Update changes file for 4.8.0 --- dist/changes-4.8.0 | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 90e660e..f1d5d66 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -133,13 +133,17 @@ QtScript QtSql ----- - - Update sqlite to 3.7.7.1 QtSvg ----- - [QTBUG-16216] Fixed infinite loop when loading some SVGs with CSS style. +QtDBus +------ + - Make QDBusServer work [QTBUG-186] + - QDBusConnection: Add methods disconnectFromPeer and connectToPeer + **************************************************************************** * Database Drivers * **************************************************************************** -- cgit v0.12 From bec1b5a8bcd9697374cf9173b224c20ceabb3e95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Fri, 16 Sep 2011 12:48:25 +0200 Subject: Updated change-log for 4.8 --- dist/changes-4.8.0 | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index f1d5d66..a3c2d2b 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -64,6 +64,7 @@ QtCore - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205) - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not + - Fix QProcess emitting two started signals on X11 [QTBUG-7039] QtGui ----- -- cgit v0.12 From 489661d3e69edf0c3011dcd5dd3ae800c9616617 Mon Sep 17 00:00:00 2001 From: Christophe Oosterlynck Date: Fri, 16 Sep 2011 15:09:03 +0200 Subject: Prevent unnecessary graphics item updates when graphics effect changes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't invalidate a QGraphicsItem (neither its cache) when an update is triggered because of a QGraphicsEffect attached to it. Autotest for QGraphicsEffect extended with 2 cache invalidation tests Merge-request: 2681 Reviewed-by: Samuel Rødal --- src/gui/graphicsview/qgraphicsitem.cpp | 36 ++++---- tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp | 95 ++++++++++++++++++++++ 2 files changed, 115 insertions(+), 16 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 0c218fc..9092593 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -5378,11 +5378,9 @@ void QGraphicsItemPrivate::invalidateParentGraphicsEffectsRecursively() { QGraphicsItemPrivate *itemPrivate = this; do { - if (itemPrivate->graphicsEffect) { + if (itemPrivate->graphicsEffect && !itemPrivate->updateDueToGraphicsEffect) { itemPrivate->notifyInvalidated = 1; - - if (!itemPrivate->updateDueToGraphicsEffect) - static_cast(itemPrivate->graphicsEffect->d_func()->source->d_func())->invalidateCache(); + static_cast(itemPrivate->graphicsEffect->d_func()->source->d_func())->invalidateCache(); } } while ((itemPrivate = itemPrivate->parent ? itemPrivate->parent->d_ptr.data() : 0)); } @@ -5690,21 +5688,27 @@ void QGraphicsItem::update(const QRectF &rect) d_ptr->invalidateParentGraphicsEffectsRecursively(); #endif //QT_NO_GRAPHICSEFFECT - if (CacheMode(d_ptr->cacheMode) != NoCache) { - // Invalidate cache. - QGraphicsItemCache *cache = d_ptr->extraItemCache(); - if (!cache->allExposed) { - if (rect.isNull()) { - cache->allExposed = true; - cache->exposed.clear(); - } else { - cache->exposed.append(rect); +#ifndef QT_NO_GRAPHICSEFFECT + if (!d_ptr->updateDueToGraphicsEffect) { +#endif + if (CacheMode(d_ptr->cacheMode) != NoCache) { + // Invalidate cache. + QGraphicsItemCache *cache = d_ptr->extraItemCache(); + if (!cache->allExposed) { + if (rect.isNull()) { + cache->allExposed = true; + cache->exposed.clear(); + } else { + cache->exposed.append(rect); + } } + // Only invalidate cache; item is already dirty. + if (d_ptr->fullUpdatePending) + return; } - // Only invalidate cache; item is already dirty. - if (d_ptr->fullUpdatePending) - return; +#ifndef QT_NO_GRAPHICSEFFECT } +#endif if (d_ptr->scene) d_ptr->scene->d_func()->markDirty(this, rect); diff --git a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp index 1f5563c..9c189cb 100644 --- a/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp +++ b/tests/auto/qgraphicseffect/tst_qgraphicseffect.cpp @@ -78,6 +78,8 @@ private slots: void dropShadowClipping(); void childrenVisibilityShouldInvalidateCache(); void prepareGeometryChangeInvalidateCache(); + void graphicsEffectUpdateShouldNotInvalidateGraphicsItemCache(); + void graphicsEffectUpdateShouldInvalidateParentGraphicsEffect(); void itemHasNoContents(); }; @@ -732,6 +734,99 @@ void tst_QGraphicsEffect::prepareGeometryChangeInvalidateCache() QCOMPARE(item->nbPaint, 0); } +class MyGraphicsEffect : public QGraphicsEffect +{ + public: + MyGraphicsEffect(QObject *parent = 0) : + QGraphicsEffect(parent), nbSourceInvalidations(0) + {} + int nbSourceInvalidations; + protected: + void draw(QPainter *painter) + { + drawSource(painter); + } + + void sourceChanged(ChangeFlags flags) + { + if (flags == SourceInvalidated) + nbSourceInvalidations++; + } +}; + +void tst_QGraphicsEffect::graphicsEffectUpdateShouldNotInvalidateGraphicsItemCache() +{ + QGraphicsScene scene; + MyGraphicsItem parent; + parent.resize(200, 200); + parent.setCacheMode(QGraphicsItem::ItemCoordinateCache); + scene.addItem(&parent); + + QGraphicsView view(&scene); + view.show(); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + QTRY_COMPARE(parent.nbPaint, 1); + + //we set an effect on the parent + MyGraphicsEffect* opacityEffect = new MyGraphicsEffect(&parent); + opacityEffect->update(); + parent.setGraphicsEffect(opacityEffect); + //flush the events + QApplication::processEvents(); + //new effect applied->repaint + QCOMPARE(parent.nbPaint, 1); + + opacityEffect->update(); + //flush the events + QApplication::processEvents(); + //A change to the effect shouldn't invalidate the graphicsitem's cache + // => it shouldn't trigger a paint + QCOMPARE(parent.nbPaint, 1); +} + +void tst_QGraphicsEffect::graphicsEffectUpdateShouldInvalidateParentGraphicsEffect() +{ + QGraphicsScene scene; + // Add the parent + MyGraphicsItem parent; + parent.resize(200, 200); + scene.addItem(&parent); + // Add a child to the parent + MyGraphicsItem child(&parent); + child.resize(100, 100); + + QGraphicsView view(&scene); + view.show(); + QApplication::setActiveWindow(&view); + QTest::qWaitForWindowShown(&view); + //flush the events + QApplication::processEvents(); + QTRY_COMPARE(parent.nbPaint, 1); + QTRY_COMPARE(child.nbPaint, 1); + + //we set an effect on the parent and the child + MyGraphicsEffect* effectForParent = new MyGraphicsEffect(&parent); + parent.setGraphicsEffect(effectForParent); + + MyGraphicsEffect* effectForChild = new MyGraphicsEffect(&child); + child.setGraphicsEffect(effectForChild); + //flush the events + QApplication::processEvents(); + // Both effects should start with no source invalidations + QCOMPARE(effectForParent->nbSourceInvalidations, 0); + QCOMPARE(effectForChild->nbSourceInvalidations, 0); + + // Trigger an update of the child graphics effect + effectForChild->update(); + //flush the events + QApplication::processEvents(); + // An update of the effect on the child shouldn't tell that effect that its source has been invalidated + QCOMPARE(effectForChild->nbSourceInvalidations, 0); + // The effect on the parent should however be notified of an invalidated source + QCOMPARE(effectForParent->nbSourceInvalidations, 1); +} + void tst_QGraphicsEffect::itemHasNoContents() { QGraphicsRectItem *parent = new QGraphicsRectItem; -- cgit v0.12 From 01f798b702c3763e8233bbc03ec08e8206b6ccb3 Mon Sep 17 00:00:00 2001 From: Sinan Tanilkan Date: Fri, 16 Sep 2011 15:05:51 +0200 Subject: Update changelog for Qt 4.8 Change recieved from Steffen Hansen. --- dist/changes-4.8.0 | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index a3c2d2b..70d31e6 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -101,6 +101,7 @@ QtGui - Accessibility: Make accessibility work on Windows with alien widgets - Accessibility: Several enablers for accessible graphicsview and Qt Quick applications. - Fixed loading BMP files with version 4 and 5 headers, ignoring extra data. + - QTextCursor optimization QtNetwork --------- -- cgit v0.12 From 6f64c1087245c0ae034bcd09ca7549a33df5a6c7 Mon Sep 17 00:00:00 2001 From: John Tapsell Date: Fri, 16 Sep 2011 15:41:41 +0200 Subject: QGraphicsWidget::setLayoutDirection doesn't propagate to new children MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge-request: 1360 Reviewed-by: Samuel Rødal --- src/gui/graphicsview/qgraphicswidget.cpp | 6 +++ tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp | 53 ++++++++++++++++++++-- 2 files changed, 56 insertions(+), 3 deletions(-) diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp index 965b1b34..d3562fc 100644 --- a/src/gui/graphicsview/qgraphicswidget.cpp +++ b/src/gui/graphicsview/qgraphicswidget.cpp @@ -1173,6 +1173,12 @@ QVariant QGraphicsWidget::itemChange(GraphicsItemChange change, const QVariant & QApplication::sendEvent(this, &event); break; } + case ItemChildAddedChange: { + QGraphicsItem *child = qVariantValue(value); + if (child->isWidget()) + static_cast(child)->d_func()->resolveLayoutDirection(); + break; + } default: break; } diff --git a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp index 1df9d38..7b273d2 100644 --- a/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp +++ b/tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp @@ -124,6 +124,8 @@ private slots: void layout(); void layoutDirection_data(); void layoutDirection(); + void recursiveLayoutDirection_data(); + void recursiveLayoutDirection(); void paint_data(); void paint(); void palettePropagation(); @@ -1213,14 +1215,20 @@ void tst_QGraphicsWidget::layout() void tst_QGraphicsWidget::layoutDirection_data() { QTest::addColumn("layoutDirection"); - QTest::newRow("rtl") << Qt::RightToLeft; - QTest::newRow("ltr") << Qt::LeftToRight; + QTest::addColumn("setDirectionBeforeAddingWidget"); + + QTest::newRow("rtl, setting direction before adding widget") << Qt::RightToLeft << true; + QTest::newRow("ltr, setting direction before adding widget") << Qt::LeftToRight << true; + QTest::newRow("rtl, setting direction after adding widget") << Qt::RightToLeft << false; + QTest::newRow("ltr, setting direction after adding widget") << Qt::LeftToRight << false; + } // Qt::LayoutDirection layoutDirection() const public void tst_QGraphicsWidget::layoutDirection() { QFETCH(Qt::LayoutDirection, layoutDirection); + QFETCH(bool, setDirectionBeforeAddingWidget); QGraphicsScene scene; QGraphicsView *view = new QGraphicsView(&scene); SubQGraphicsWidget widget; @@ -1228,13 +1236,16 @@ void tst_QGraphicsWidget::layoutDirection() QCOMPARE(widget.layoutDirection(), Qt::LeftToRight); QCOMPARE(widget.testAttribute(Qt::WA_SetLayoutDirection), false); + if (setDirectionBeforeAddingWidget) + widget.setLayoutDirection(layoutDirection); QList children; for (int i = 0; i < 10; ++i) { SubQGraphicsWidget *item = new SubQGraphicsWidget(&widget); children.append(item); QCOMPARE(item->testAttribute(Qt::WA_SetLayoutDirection), false); } - widget.setLayoutDirection(layoutDirection); + if (!setDirectionBeforeAddingWidget) + widget.setLayoutDirection(layoutDirection); QCOMPARE(widget.testAttribute(Qt::WA_SetLayoutDirection), true); view->show(); QTest::qWaitForWindowShown(view); @@ -1247,6 +1258,42 @@ void tst_QGraphicsWidget::layoutDirection() delete view; } +void tst_QGraphicsWidget::recursiveLayoutDirection_data() +{ + QTest::addColumn("layoutDirection"); + QTest::addColumn("setDirectionBeforeAddingWidget"); + + QTest::newRow("rtl, setting direction before adding widget") << Qt::RightToLeft << true; + QTest::newRow("ltr, setting direction before adding widget") << Qt::LeftToRight << true; + QTest::newRow("rtl, setting direction after adding widget") << Qt::RightToLeft << false; + QTest::newRow("ltr, setting direction after adding widget") << Qt::LeftToRight << false; +} + +void tst_QGraphicsWidget::recursiveLayoutDirection() +{ + QFETCH(Qt::LayoutDirection, layoutDirection); + QFETCH(bool, setDirectionBeforeAddingWidget); + QGraphicsWidget *widget = new QGraphicsWidget; + QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(widget); + QGraphicsWidget *widget2 = new QGraphicsWidget; + QGraphicsLinearLayout *layout2 = new QGraphicsLinearLayout(widget2); + QGraphicsWidget *widget3 = new QGraphicsWidget; + QGraphicsLinearLayout *layout3 = new QGraphicsLinearLayout(widget3); + + if (setDirectionBeforeAddingWidget) + widget->setLayoutDirection(layoutDirection); + layout->addItem(widget2); + layout2->addItem(widget3); + if (!setDirectionBeforeAddingWidget) + widget->setLayoutDirection(layoutDirection); + + QCOMPARE(widget->layoutDirection(), layoutDirection); + QCOMPARE(widget2->layoutDirection(), layoutDirection); + QCOMPARE(widget3->layoutDirection(), layoutDirection); + + delete widget; +} + void tst_QGraphicsWidget::paint_data() { // currently QGraphicsWidget doesn't paint or do anything ... -- cgit v0.12 From fc602cb1737e58b4b814c4a799fa2a68acb6dbcd Mon Sep 17 00:00:00 2001 From: Sinan Tanilkan Date: Fri, 16 Sep 2011 17:56:19 +0200 Subject: Update changelog for Qt 4.8 Change recieved from David Faure. --- dist/changes-4.8.0 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 70d31e6..8e3b97a 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -69,6 +69,7 @@ QtCore QtGui ----- + - QApplication: Add a queryKeyboardModifiers() method. - QTabBar: reduced minimumSizeHint if ElideMode is set. - QComboBox: Fixed a color propagation issue with the lineedit. [QTBUG-5950] - QGraphicsLayout: Made setInstantInvalidatePropagation() public @@ -145,6 +146,7 @@ QtDBus ------ - Make QDBusServer work [QTBUG-186] - QDBusConnection: Add methods disconnectFromPeer and connectToPeer + - Make the DBus timeout configurable in QDBusAbstractInterface. **************************************************************************** * Database Drivers * -- cgit v0.12 From 312fea50f8f5f2a114061b924a1cbf05850167d9 Mon Sep 17 00:00:00 2001 From: David Faure Date: Mon, 19 Sep 2011 09:23:29 +0200 Subject: Avoid unnecessary detach of a QImage in QPixmapDropShadowFilter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge-request: 1374 Reviewed-by: Samuel Rødal --- src/gui/image/qpixmapfilter.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/gui/image/qpixmapfilter.cpp b/src/gui/image/qpixmapfilter.cpp index a33e173..6c03990 100644 --- a/src/gui/image/qpixmapfilter.cpp +++ b/src/gui/image/qpixmapfilter.cpp @@ -1362,16 +1362,14 @@ void QPixmapDropShadowFilter::draw(QPainter *p, qt_blurImage(&blurPainter, tmp, d->radius, false, true); blurPainter.end(); - tmp = blurred; - // blacken the image... - tmpPainter.begin(&tmp); - tmpPainter.setCompositionMode(QPainter::CompositionMode_SourceIn); - tmpPainter.fillRect(tmp.rect(), d->color); - tmpPainter.end(); + QPainter blackenPainter(&blurred); + blackenPainter.setCompositionMode(QPainter::CompositionMode_SourceIn); + blackenPainter.fillRect(blurred.rect(), d->color); + blackenPainter.end(); // draw the blurred drop shadow... - p->drawImage(pos, tmp); + p->drawImage(pos, blurred); // Draw the actual pixmap... p->drawPixmap(pos, px, src); -- cgit v0.12 From f9bd50e37bee0bb4d243887ae684b46f6b6750fe Mon Sep 17 00:00:00 2001 From: Reuben Dowle Date: Mon, 19 Sep 2011 09:46:50 +0200 Subject: stop tslib plugin having same file name as linux input plugin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge-request: 1330 Reviewed-by: Samuel Rødal --- src/plugins/generic/tslib/tslib.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/generic/tslib/tslib.pro b/src/plugins/generic/tslib/tslib.pro index 74c7fd2..760fbae 100644 --- a/src/plugins/generic/tslib/tslib.pro +++ b/src/plugins/generic/tslib/tslib.pro @@ -1,4 +1,4 @@ -TARGET = qlinuxinputplugin +TARGET = qtslibplugin include(../../qpluginbase.pri) QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/generic -- cgit v0.12 From 5eb449ddc0d9f5019082daf6804a048f88ff39c7 Mon Sep 17 00:00:00 2001 From: Gerhard Roethlin Date: Mon, 19 Sep 2011 10:01:21 +0200 Subject: 4.8 Changes: OpenGL Framebuffer Format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added an entry for the OpenGL Framebuffer Format commit to the 4.8 changelog. Merge-request: 1387 Reviewed-by: Samuel Rødal --- dist/changes-4.8.0 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index d094b38..acc107b 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -117,6 +117,8 @@ QtNetwork - Including will not work in combination with GLEW, as QGLFunctions will undefine GLEW's defines. - Optimize behavior of QGLTextureCache + - Reading from the FrameBuffer with Qt now correctly gives an image + marked as premultiplied. QtScript -------- -- cgit v0.12 From f92fc0cdbf8ec0f760c45925e3300c6c9091f1ad Mon Sep 17 00:00:00 2001 From: Andy Shaw Date: Mon, 19 Sep 2011 10:52:32 +0200 Subject: Fix compile issue when building with QT_NO_CONCURRENT and QT_NO_FUTURE This solves a build issue on Solaris as the symbols were missing so they are now added in the expected way after discussion with the Nokia developer who approved the patch originally for winscw. Task-number: QTBUG-21523 Merge-request: 1389 Reviewed-by: ossi --- src/corelib/concurrent/qfuturewatcher.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/corelib/concurrent/qfuturewatcher.cpp b/src/corelib/concurrent/qfuturewatcher.cpp index 0bef4a6..a70f56b 100644 --- a/src/corelib/concurrent/qfuturewatcher.cpp +++ b/src/corelib/concurrent/qfuturewatcher.cpp @@ -600,5 +600,8 @@ void QFutureWatcherBase::setPaused(bool) { } void QFutureWatcherBase::pause() { } void QFutureWatcherBase::resume() { } void QFutureWatcherBase::togglePaused() { } +bool QFutureWatcherBase::event(QEvent *) { return false; } +void QFutureWatcherBase::connectNotify(const char *) { } +void QFutureWatcherBase::disconnectNotify(const char *) { } #endif // QT_NO_QFUTURE -- cgit v0.12 From 035a05e498568cacbc53017d6f7ee6691c050edb Mon Sep 17 00:00:00 2001 From: Reuben Dowle Date: Mon, 19 Sep 2011 13:04:48 +0200 Subject: Allow generic EGL platform contexts to be shared MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge-request: 1331 Reviewed-by: Samuel Rødal --- src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp | 5 +++-- src/plugins/platforms/eglconvenience/qeglplatformcontext.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp b/src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp index 4d1d63e..d733cd6 100644 --- a/src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp +++ b/src/plugins/platforms/eglconvenience/qeglplatformcontext.cpp @@ -48,7 +48,7 @@ #include -QEGLPlatformContext::QEGLPlatformContext(EGLDisplay display, EGLConfig config, EGLint contextAttrs[], EGLSurface surface, EGLenum eglApi) +QEGLPlatformContext::QEGLPlatformContext(EGLDisplay display, EGLConfig config, EGLint contextAttrs[], EGLSurface surface, EGLenum eglApi, QEGLPlatformContext *shareContext) : QPlatformGLContext() , m_eglDisplay(display) , m_eglSurface(surface) @@ -59,7 +59,8 @@ QEGLPlatformContext::QEGLPlatformContext(EGLDisplay display, EGLConfig config, E } eglBindAPI(m_eglApi); - m_eglContext = eglCreateContext(m_eglDisplay,config, 0,contextAttrs); + EGLContext shareEglContext = shareContext ? shareContext->eglContext() : 0; + m_eglContext = eglCreateContext(m_eglDisplay,config, shareEglContext, contextAttrs); if (m_eglContext == EGL_NO_CONTEXT) { qWarning("Could not create the egl context\n"); eglTerminate(m_eglDisplay); diff --git a/src/plugins/platforms/eglconvenience/qeglplatformcontext.h b/src/plugins/platforms/eglconvenience/qeglplatformcontext.h index 9be1480..614b3cb 100644 --- a/src/plugins/platforms/eglconvenience/qeglplatformcontext.h +++ b/src/plugins/platforms/eglconvenience/qeglplatformcontext.h @@ -48,7 +48,7 @@ class QEGLPlatformContext : public QPlatformGLContext { public: - QEGLPlatformContext(EGLDisplay display, EGLConfig config, EGLint contextAttrs[], EGLSurface surface, EGLenum eglApi); + QEGLPlatformContext(EGLDisplay display, EGLConfig config, EGLint contextAttrs[], EGLSurface surface, EGLenum eglApi, QEGLPlatformContext *shareContext = 0); ~QEGLPlatformContext(); void makeCurrent(); -- cgit v0.12 From 67a1b5e50c1cc90e9c03d9f4cadc9912f6880e15 Mon Sep 17 00:00:00 2001 From: Reuben Dowle Date: Mon, 19 Sep 2011 13:04:50 +0200 Subject: Allow shared EGL contexts for xcb and xlib platforms MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merge-request: 1331 Reviewed-by: Samuel Rødal --- src/plugins/platforms/xcb/qxcbwindow.cpp | 2 +- src/plugins/platforms/xlib/qxlibwindow.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp index 0a02c7e..ed88138 100644 --- a/src/plugins/platforms/xcb/qxcbwindow.cpp +++ b/src/plugins/platforms/xcb/qxcbwindow.cpp @@ -516,7 +516,7 @@ QPlatformGLContext *QXcbWindow::glContext() const EGLSurface eglSurface = eglCreateWindowSurface(display,config,(EGLNativeWindowType)m_window,0); QXcbWindow *that = const_cast(this); - that->m_context = new QEGLPlatformContext(display, config, eglContextAttrs.data(), eglSurface, EGL_OPENGL_ES_API); + that->m_context = new QEGLPlatformContext(display, config, eglContextAttrs.data(), eglSurface, EGL_OPENGL_ES_API, static_cast(widget()->platformWindowFormat().sharedGLContext())); #elif defined(XCB_USE_DRI2) QXcbWindow *that = const_cast(this); that->m_context = new QDri2Context(that); diff --git a/src/plugins/platforms/xlib/qxlibwindow.cpp b/src/plugins/platforms/xlib/qxlibwindow.cpp index 823fae9..16c5ed5 100644 --- a/src/plugins/platforms/xlib/qxlibwindow.cpp +++ b/src/plugins/platforms/xlib/qxlibwindow.cpp @@ -687,7 +687,7 @@ QPlatformGLContext *QXlibWindow::glContext() const eglContextAttrs.append(EGL_NONE); EGLSurface eglSurface = eglCreateWindowSurface(display,config,(EGLNativeWindowType)x_window,0); - that->mGLContext = new QEGLPlatformContext(display, config, eglContextAttrs.data(), eglSurface, EGL_OPENGL_ES_API); + that->mGLContext = new QEGLPlatformContext(display, config, eglContextAttrs.data(), eglSurface, EGL_OPENGL_ES_API, static_cast(windowFormat.sharedGLContext())); #endif #endif } -- cgit v0.12 From c750afe0e0f043389d30850070889946e4c6e8af Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Mon, 19 Sep 2011 13:20:13 +0200 Subject: Make sure cursor position doesn't exceed line end If we have trailing spaces at the end of a line, cursor will disappear because the position we returned exceeds line end, thus the widget border. By limiting it within line.width we can make sure it always visible, which is more consistent to the behavior in common platforms. Reviewed-by: Eskil --- src/gui/text/qtextlayout.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index d0c1a0e..a2662c4 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2612,6 +2612,9 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const x += eng->offsetInLigature(si, pos, end, glyph_pos); } + if (x > line.width) + x = line.width; + *cursorPos = pos + si->position; return x.toReal(); } -- cgit v0.12 From 344ded40e9a250ebfa67f2d778ba89be1b5269b8 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Mon, 19 Sep 2011 13:43:52 +0200 Subject: Update changelog for Qt 4.8.0 For QtConcurrent and QUuid. --- dist/changes-4.8.0 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 27c6774..374830a 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -50,6 +50,9 @@ QtCore - QMutexLocker: improved performence of the non contended case by inlining some function - QThreadStorage: Added possibility to store object by value instead of by pointer [QTBUG-15033] - QThread: fixed few race conditions [QTBUG-17257, QTBUG-15030] + - QtConcurrent: Entry points were re-written and interfaces changed. This work was +done in order to add support for QtConcurrent on Symbian, but ultimately it was noted +that the changes lead to a leaner API and the change applies to all platforms. - QtConcurrent: added support for c++0x lambda in few functions - QObject: Improved performence of the signal activation - QObject: added ways to connect signals using QMetaMethod @@ -66,6 +69,9 @@ QtCore - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not - Fix QProcess emitting two started signals on X11 [QTBUG-7039] - QLocale: added locale dependent to{Upper,Lower} string conversions + - QUuid: Optimize QUuid::toString() and relevant, circa 20 times faster than before on the test machine. [QTBUG-19418] + - QUuid: Add QUuid::toByteArray() and relevant, same behavior with QUuid::toString(). [QTBUG-19419] + - QUuid: Add QUuid::toRfc4122() and fromRfc4122(), provide interfaces by following the RFC-4122 [QTBUG-19420] QtGui ----- @@ -239,6 +245,8 @@ Qt for Symbian - Fixed QProcess::waitForFinished WaitForRequest handling in Symbian [QT-4659] - Changed DEPLOYMENT keyword to accept both .sources and .files [QTBUG-3216] - Removed static vs dynamic library autodetection from qmake in Symbian [QTBUG-13498] + - QtConcurrent is now working both with RVCT 2.2 and GCCE 4.4.1 on Symbian, but not with WINSCW, +the compiler of Symbian emulator (and there is no plan to support it). [QTBUG-5182] [QTBUG-9070] Qt for Windows CE ----------------- -- cgit v0.12 From 5d626bb3a510956415a43739211b7d127de0757f Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Fri, 9 Sep 2011 12:01:18 +0300 Subject: runonphone: Include USB serial ports on OS X for CODA, too The actual devices are already detected in serenum_unix.cpp, but when used with CODA, the eligible /dev entries apparently need to be listed here, too. Reviewed-By: Shane Kearns Merge-Request: 1373 --- tools/runonphone/symbianutils/symbiandevicemanager.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tools/runonphone/symbianutils/symbiandevicemanager.cpp b/tools/runonphone/symbianutils/symbiandevicemanager.cpp index 23f5348..e8d0b5e 100644 --- a/tools/runonphone/symbianutils/symbiandevicemanager.cpp +++ b/tools/runonphone/symbianutils/symbiandevicemanager.cpp @@ -57,6 +57,7 @@ #include #include #include +#include namespace SymbianUtils { @@ -622,6 +623,20 @@ SymbianDeviceManager::SymbianDeviceList SymbianDeviceManager::blueToothDevices() } } #endif +#if defined(Q_OS_MAC) + QDir dir("/dev"); + QStringList filters; + filters << "cu.usbmodem*"; + dir.setNameFilters(filters); + QStringList entries = dir.entryList(QDir::System, QDir::Name); + foreach (const QString &dev, entries) { + SymbianDeviceData *device = new SymbianDeviceData; + device->type = SerialPortCommunication; + device->portName = dir.filePath(dev); + device->friendlyName = tr("USB/Serial device (%1)").arg(device->portName); + rc.push_back(SymbianDevice(device)); + } +#endif return rc; } -- cgit v0.12 From 8fe04a14b1f3688c9ce0933ebec0c28616595d93 Mon Sep 17 00:00:00 2001 From: Rolland Dudemaine Date: Mon, 19 Sep 2011 17:03:22 +0200 Subject: Resolve a number of compilation issues with INTEGRITY First, #ifdef'ed out getpwuid_r() and getpwgid_r() usage since users/groups support is not in in single-process Posix mode. Also, correct a typo and add missing files to io.pri. Update documentation to disable libtiff which won't compile until ibtiff itself is updated, and add back -no-exceptions in the sample command line. And add a line to compile host tools. Add a dummy QT_OPEN_LARGEFILE definition in qplatformdefs.h since there is code that requires it. Move definition of getGlyph() after the definition of qHash(GlyphAndSubPixelPosition). Merge-request: 2686 Reviewed-by: ossi --- doc/src/platforms/platform-notes-rtos.qdoc | 11 +++++++++-- mkspecs/unsupported/integrity-ghs/qplatformdefs.h | 1 + src/corelib/io/io.pri | 4 +++- src/corelib/io/qfilesystemengine_unix.cpp | 4 ++++ src/gui/text/qfontengine_ft_p.h | 15 +++++++++------ 5 files changed, 26 insertions(+), 9 deletions(-) diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc index 0b1265b..dd72016 100644 --- a/doc/src/platforms/platform-notes-rtos.qdoc +++ b/doc/src/platforms/platform-notes-rtos.qdoc @@ -313,7 +313,7 @@ ARM INTEGRITY target: \code - ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-scripttools + ./configure --hostprefix=$PWD -embedded integrity -xplatform unsupported/qws/integrity-arm-cxarm -static -qt-kbd-integrity -qt-mouse-integrity -no-mouse-linuxtp -no-mouse-pc -no-kbd-tty -qt-gfx-integrityfb -no-qt3support -no-gfx-linuxfb -no-glib -no-openssl -no-largefile -little-endian -arch integrity -prefix / -opensource -no-feature-QWS_MULTIPROCESS -no-feature-SHAREDMEMORY -no-feature-PROCESS -no-feature-SYSTEMSEMAPHORE -no-feature-PRINTER -no-feature-QWS_QPF2 -no-libtiff -no-exceptions -no-scripttools \endcode \list @@ -326,6 +326,7 @@ \o \c{-no-qt3support} - required since the Qt3 support classes are not supported on INTEGRITY \o \c{-no-exceptions} - reduces the size of the library by disabling exception support \o \c{-no-openssl} - disable support for OpenSSL + \o \c(-no-libtiff} - disable support for libTIFF \o \c{-no-glib} - disable support for unavailable Glib \o \c{-no-largefile} - disable support for large (> 2TB) files \o \c{-no-scripttools} - disable support for QtScript tools @@ -346,7 +347,13 @@ of INTEGRITY_DIR and INTEGRITY_BSP in unsupported/qws/integrity-arm-cxarm/qmake.conf. If you do not do this, you will have to modify the resulting generated projects.gpj - \o GIF support is currently not enabled. + \o Compilation of native preprocessing tools (moc, rcc, uic) is not automatic. From + a Linux shell or a MingWin shell, you can run the following command to compile these tools : + \code + cd src/tools/bootstrap && make && cd ../rcc && make && cd ../moc && make && cd ../uic && make && cd ../../.. + \endcode + + \o GIF and TIFF support are currently not enabled. \o Default .int files are generated. You may want to modify the amount of heap assigned to each example by modifying the HeapSize declaration in the specific example .int file. diff --git a/mkspecs/unsupported/integrity-ghs/qplatformdefs.h b/mkspecs/unsupported/integrity-ghs/qplatformdefs.h index 919d2cf..589b3bf 100644 --- a/mkspecs/unsupported/integrity-ghs/qplatformdefs.h +++ b/mkspecs/unsupported/integrity-ghs/qplatformdefs.h @@ -89,6 +89,7 @@ #define QT_TRUNCATE ::truncate #define QT_FTRUNCATE ::ftruncate #define QT_LSEEK ::lseek +#define QT_OPEN_LARGEFILE 0 #endif #ifdef QT_LARGEFILE_SUPPORT diff --git a/src/corelib/io/io.pri b/src/corelib/io/io.pri index e411f8f..78993a0 100644 --- a/src/corelib/io/io.pri +++ b/src/corelib/io/io.pri @@ -118,5 +118,7 @@ win32 { } integrity { SOURCES += io/qfsfileengine_unix.cpp \ - io/qfsfileengine_iterator_unix.cpp + io/qfsfileengine_iterator.cpp \ + io/qfilesystemengine_unix.cpp \ + io/qfilesystemiterator_unix.cpp } diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp index cfb17de..b1b5e7e 100644 --- a/src/corelib/io/qfilesystemengine_unix.cpp +++ b/src/corelib/io/qfilesystemengine_unix.cpp @@ -264,12 +264,14 @@ QString QFileSystemEngine::resolveUserName(uint userId) #endif struct passwd *pw = 0; +#if !defined(Q_OS_INTEGRITY) #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) struct passwd entry; getpwuid_r(userId, &entry, buf.data(), buf.size(), &pw); #else pw = getpwuid(userId); #endif +#endif if (pw) return QFile::decodeName(QByteArray(pw->pw_name)); return QString(); @@ -286,6 +288,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId) #endif struct group *gr = 0; +#if !defined(Q_OS_INTEGRITY) #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) size_max = sysconf(_SC_GETGR_R_SIZE_MAX); if (size_max == -1) @@ -305,6 +308,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId) #else gr = getgrgid(groupId); #endif +#endif if (gr) return QFile::decodeName(QByteArray(gr->gr_name)); return QString(); diff --git a/src/gui/text/qfontengine_ft_p.h b/src/gui/text/qfontengine_ft_p.h index 57811fa..95e5b82 100644 --- a/src/gui/text/qfontengine_ft_p.h +++ b/src/gui/text/qfontengine_ft_p.h @@ -196,12 +196,7 @@ public: inline bool useFastGlyphData(glyph_t index, QFixed subPixelPosition) const { return (index < 256 && subPixelPosition == 0); } - inline Glyph *getGlyph(glyph_t index, QFixed subPixelPosition = 0) const - { - if (useFastGlyphData(index, subPixelPosition)) - return fast_glyph_data[index]; - return glyph_data.value(GlyphAndSubPixelPosition(index, subPixelPosition)); - } + inline Glyph *getGlyph(glyph_t index, QFixed subPixelPosition = 0) const; void setGlyph(glyph_t index, QFixed spp, Glyph *glyph); private: @@ -376,6 +371,14 @@ inline uint qHash(const QFontEngineFT::GlyphAndSubPixelPosition &g) return (g.glyph << 8) | (g.subPixelPosition * 10).round().toInt(); } +inline QFontEngineFT::Glyph *QFontEngineFT::QGlyphSet::getGlyph(glyph_t index, QFixed subPixelPosition) const +{ + if (useFastGlyphData(index, subPixelPosition)) + return fast_glyph_data[index]; + return glyph_data.value(GlyphAndSubPixelPosition(index, subPixelPosition)); +} + + QT_END_NAMESPACE #endif // QT_NO_FREETYPE -- cgit v0.12 From a0ad54acd33873316908080f432768fdf3e3bfc2 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Mon, 19 Sep 2011 14:34:04 +0100 Subject: symbian bearer: fix tst_qnetworksession test failures Symbian is not reporting the expected KLinkLayerClosed event on the last RConnection handle. Instead, it reports the event KConfigDaemonFinishedDeregistrationStop, which indicates the nif plugin is being destroyed (this is followed by unload events) To fix, this event is treated the same as a link down event, and results in the state change to disconnected. Either there has been a behaviour change in the platform, or the test was previously run with another user of the API running in the background (e.g. WLAN wizard, connection monitor) which prevented the unload. Task-Number: QTBUG-21382 Reviewed-By: mread --- src/plugins/bearer/symbian/qnetworksession_impl.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp index fc65b86..a7dad2b 100644 --- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp +++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp @@ -1377,6 +1377,9 @@ void QNetworkSessionPrivateImpl::handleSymbianConnectionStatusChange(TInt aConne newState(QNetworkSession::Closing,accessPointId); break; + // Connection stopped + case KConfigDaemonFinishedDeregistrationStop: //this comes if this is the last session, instead of KLinkLayerClosed + case KConfigDaemonFinishedDeregistrationPreserve: // Connection closed case KConnectionClosed: case KLinkLayerClosed: -- cgit v0.12 From 0d0c1082f74888044713d96deca2d510951d018a Mon Sep 17 00:00:00 2001 From: Janne Anttila Date: Mon, 19 Sep 2011 19:10:14 +0200 Subject: Fixed automatic plugin path resolving for predefined Qt plugins. When Qt is configured for static build, importing static plugins is supposed to work as described in docs: http://doc.qt.nokia.com/latest/qtplugin.html#Q_IMPORT_PLUGIN This commit updates the qmake mapping for predefined Qt plugins, so that Qt plugins are automatically found when QTPLUGIN keyword is used. Task-number: QTBUG-18609 Merge-request: 1391 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt.prf | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 191a449..326fe10 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -64,29 +64,35 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { # Check if the plugin is known to Qt. We can use this to determine # the plugin path. Unknown plugins must rely on the default link path. ACCESSIBLEPLUGINS = qtaccessiblewidgets qtaccessiblecompatwidgets + BEARERPLUGINS = qgenericbearer qnativewifibearer CODECPLUGINS = qcncodecs qjpcodecs qkrcodecs qtwcodecs - DECORATIONPLUGINS = qdecorationdefault qdecorationwindows - GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxsnap qgfxvga16 qgfxmatrox qgfxvoodoo qgfxtransformed qgfxshadowfb - IMAGEPLUGINS = qgif qmng qjpeg qsvg + DECORATIONPLUGINS = qdecorationdefault qdecorationstyled qdecorationwindows + GFXDRIVERPLUGINS = qgfxvnc qscreenvfb qgfxtransformed qgfxshadowfb qgfxpvregl qscreenlinuxfb qeglnullws qdirectfbscreen qahiscreen + GRAPHICSSYSTEMPLUGINS = qmeegographicssystem qglgraphicssystem qvggraphicssystem qshivavggraphicssystem + IMAGEPLUGINS = qgif qico qmng qjpeg qsvg qtiff INPUTPLUGINS = qimsw-multi - MOUSEDRIVERPLUGINS = qtslibmousehandler + KBDDRIVERPLUGINS = qlinuxinputkbddriver + MOUSEDRIVERPLUGINS = qtslibmousehandler qpcmousedriver qlinuxtpmousedriver SQLPLUGINS = qsqldb2 qsqloci qsqltds qsqlodbc qsqlpsql qsqlibase qsqlmysql qsqlite2 qsqlite - PHONONPLUGINS = phonon_waveout phonon_ds9 + PHONONPLUGINS = phonon_waveout phonon_ds9 phonon_gstreamer phonon_qt7 phonon_mmf - ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS + ALLQTPLUGINS = $$ACCESSIBLEPLUGINS $$BEARERPLUGINS $$CODECPLUGINS $$DECORATIONPLUGINS $$GFXDRIVERPLUGINS $$ GRAPHICSSYSTEMPLUGINS $$IMAGEPLUGINS $$INPUTPLUGINS $$KBDDRIVERPLUGINS $$MOUSEDRIVERPLUGINS $$SQLPLUGINS $$PHONONPLUGINS QT_PLUGINPATH = contains(ALLQTPLUGINS, $$QTPLUG) { # Determine the plugin path contains(ACCESSIBLEPLUGINS, $$QTPLUG): QT_PLUGINPATH = accessible + contains(BEARERPLUGINS, $$QTPLUG): QT_PLUGINPATH = bearer contains(CODECPLUGINS, $$QTPLUG): QT_PLUGINPATH = codecs contains(DECORATIONPLUGINS, $$QTPLUG): QT_PLUGINPATH = decorations contains(GFXDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = gfxdrivers + contains(GRAPHICSSYSTEMPLUGINS, $$QTPLUG): QT_PLUGINPATH = graphicssystems contains(IMAGEPLUGINS, $$QTPLUG): QT_PLUGINPATH = imageformats contains(INPUTPLUGINS, $$QTPLUG): QT_PLUGINPATH = inputmethods + contains(KBDDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = kbddrivers contains(MOUSEDRIVERPLUGINS, $$QTPLUG): QT_PLUGINPATH = mousedrivers contains(SQLPLUGINS, $$QTPLUG): QT_PLUGINPATH = sqldrivers - contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend + contains(PHONONPLUGINS, $$QTPLUG): QT_PLUGINPATH = phonon_backend } # Generate the plugin linker line -- cgit v0.12 From e037eb6dd00e51195380dd68af2c6a0466977529 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 19 Sep 2011 20:11:04 +0200 Subject: add 4.8 changes created/merged by me --- dist/changes-4.8.0 | 51 ++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 374830a..fe7691b 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -60,9 +60,11 @@ that the changes lead to a leaner API and the change applies to all platforms. - QObject: optimize constructions and destruction of objects - QObject: Qt::BlockingQueuedConnection can handle the return value [QTBUG-10440] - QList/QVector/QStringList: added C++0x initilizer lists constructors. + - QList: optimizations - QVarLenghtArray: added method for consistency with QVector - QStringBuilder: added support for QByteArray - qSwap now uses std::swap, specialized std::swap for our container to work better with stl algoritms + - Added member-swap function to containers and implicitly shared (including GUI) classes - QVariant: deprecated global function qVariantSetValue, qVariantValue, qVariantCanConvert, qVariantFromValue - QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205) - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less @@ -72,6 +74,13 @@ that the changes lead to a leaner API and the change applies to all platforms. - QUuid: Optimize QUuid::toString() and relevant, circa 20 times faster than before on the test machine. [QTBUG-19418] - QUuid: Add QUuid::toByteArray() and relevant, same behavior with QUuid::toString(). [QTBUG-19419] - QUuid: Add QUuid::toRfc4122() and fromRfc4122(), provide interfaces by following the RFC-4122 [QTBUG-19420] + - QTextStream, QDataStream and QXmlStreamWriter: added write error reporting [QTBUG-376] + - QProcessEnvironment: added keys() and insert(const QProcessEnvironment &) + - QProcessEnvironment: preserve variable name case on Windows + - QProcessEnvironment: made systemEnvironment() encoding-safe + - QProcessEnvironment: major optimizations, especially on Unix + - Add branch prediction macros Q_LIKELY and Q_UNLIKELY + - QSettings: don't assume XDG_CONFIG_HOME is latin1-encoded QtGui ----- @@ -81,7 +90,7 @@ QtGui - QComboBox: Fixed a color propagation issue with the lineedit. [QTBUG-5950] - QGraphicsLayout: Made setInstantInvalidatePropagation() public - Deprecate qGenericMatrixFromMatrix4x4 and qGenericMatrixToMatrix4x4 - - QListView diverses optimisations [QTBUG-11438] + - QListView diverse optimisations [QTBUG-11438] - QTreeWidget/QListWidget: use localeAwareCompare for string comparisons [QTBUG-10839] - PNG image I/O: Much improved support for text annotations, including iTXt fields. - QRawFont and QGlyphRun are introduced for low-level text rendering. [QTBUG-18252] @@ -98,6 +107,8 @@ QtGui - QPainter: Added a fast stroking algorithm for thin (< 1px wide) aliased and antialiased lines, giving a huge improvement in drawing speed for certain cases - Fixed a rare race condition when showing toplevel windows on X11 + - QWindowsStyle: fix bug in eventFilter on KeyPressed event with alt pressed, that + caused unnecessary update events - Accessibility: Fix potential crash in QDockWidget. - Accessibility: Fix crash when asking for relations of child accessibles. - Accessibility: More consistency in reporting names (especially when widget is invisible). @@ -112,6 +123,9 @@ QtGui - Accessibility: Several enablers for accessible graphicsview and Qt Quick applications. - Fixed loading BMP files with version 4 and 5 headers, ignoring extra data. - QTextCursor optimization + - QUndoGroup, QUndoStack: Allow using not only prefixes for undo command text [QTBUG-14442] + - QUndoView: Allow different text for undo actions and items + - QCommonStyle: Fix overrides from the proxy style [QTBUG-20849] QtNetwork --------- @@ -127,6 +141,7 @@ QtNetwork - HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983] - HTTP cache: change file organization (MR-2505) - SOCKS5: write errors are propagated to the outer socket [QTBUG-18713] + - QNetworkReply: errorString() returns translated messages now [QTBUG-18382] QtOpenGL -------- @@ -202,6 +217,7 @@ Qt for Embedded Linux keyboard and screen drivers. - Improved support for INTEGRITY RTOS - Allow hard-coding the temp path in mkspecs (QT_UNIX_TEMP_PATH_OVERRIDE define) + - Added support for opening LinuxInput devices exclusively (via ioctl EVIOCGRAB) Qt for Symbian -------------- @@ -302,24 +318,33 @@ Qt for Windows CE - qmake + * Look for external Qt modules in $QMAKEPATH * MinGW: fix DEF_FILE for shadow builds. (QTBUG-11643) - -- qmake - Visual Studio project generator - * Support x64 Qt builds. (QTBUG-17911) - * QMAKE_PROJECT_NAME qmake variable introduced to set the project's name. - * Support PCHs with other extensions than ".h". (QTBUG-16639) - * Fix setting PCH options manually via the MSVC compiler flags. - (QTBUG-15594) - * Set the output directory correctly. (QTBUG-16490) - * Fix handling of DEFINES from .prl files. (QTBUG-16024) - * Fix the language settings generated Windows resource files. - (QTBUG-12249) * Implemented "aux" template that allows making use of the INSTALLS variable without building anything. Needed for projects with QML entry point. + * MSVC now link with /DYNAMICBASE /NXCOMPAT in order to increase security. + * Fix the language settings in generated Windows resource files. (QTBUG-12249) + * Write and install pkg-config files for MinGW + * Make PKGCONFIG referencing missing packages fatal; add packagesExist() for + a-priori checks. (QTBUG-11418) + * Make moc use DEFINES from pkg-config. (QTBUG-19922) + * Parsing nested quotes works a bit differently now + * Added -unset option + * Made the Hurd mkspec useful + * Visual Studio project generator + - Support x64 Qt builds. (QTBUG-17911) + - QMAKE_PROJECT_NAME qmake variable introduced to set the project's name. + - Support PCHs with other extensions than ".h". (QTBUG-16639) + - Fix setting PCH options manually via the MSVC compiler flags. (QTBUG-15594) + - Set the output directory correctly. (QTBUG-16490) + - Fix handling of DEFINES from .prl files. (QTBUG-16024) - configure * The endianness for Windows is always set to little endian. - + * [QTBUG-5710] Configure now complains on missing perl on windows + * Removed obsolete -qt-gif option + * Allow setting LD, RANLIB, OBJDUMP, and STRIP. + * Allow selecting imageformats to be built as plugin vs. internal. - qtconfig * removed Qt3support dependency -- cgit v0.12 From 3c3a0f1a8cadfe1299afdd13889ca9c19be310d0 Mon Sep 17 00:00:00 2001 From: Sinan Tanilkan Date: Tue, 20 Sep 2011 12:34:39 +0200 Subject: Update changelog for Qt 4.8 Change recieved from John Brooks --- dist/changes-4.8.0 | 1 + 1 file changed, 1 insertion(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index fe7691b..84e58f9 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -56,6 +56,7 @@ that the changes lead to a leaner API and the change applies to all platforms. - QtConcurrent: added support for c++0x lambda in few functions - QObject: Improved performence of the signal activation - QObject: added ways to connect signals using QMetaMethod + - QObject: added senderSignalIndex method to discover the signal that invoked a slot - QObject: deprecated qFindChild and qFindChildren - QObject: optimize constructions and destruction of objects - QObject: Qt::BlockingQueuedConnection can handle the return value [QTBUG-10440] -- cgit v0.12 From 3dd9e66baaa0848bcc2eb7daecf2b63724624358 Mon Sep 17 00:00:00 2001 From: Ademar de Souza Reis Jr Date: Mon, 19 Sep 2011 10:43:14 -0300 Subject: dos2unix on a webkit source file (fix support for Visual Studio) webkit/Source/WebCore/bindings/js/JSExceptionBase.h had CRLF terminations, which Visual Studio didn't like for some reason. Reported by Simo Falt. Patch is also being submited to upstream (webkit.org) --- .../Source/WebCore/bindings/js/JSExceptionBase.h | 86 +++++++++++----------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h b/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h index 01c6ac2..a9366ed 100644 --- a/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h +++ b/src/3rdparty/webkit/Source/WebCore/bindings/js/JSExceptionBase.h @@ -1,43 +1,43 @@ -/* - * Copyright (C) 2009 Apple Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef JSExceptionBase_h -#define JSExceptionBase_h - -namespace JSC { - -class JSValue; - -} // namespace JSC - -namespace WebCore { - -class ExceptionBase; - -ExceptionBase* toExceptionBase(JSC::JSValue); - -} // namespace WebCore - -#endif // JSExceptionBase_h +/* + * Copyright (C) 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef JSExceptionBase_h +#define JSExceptionBase_h + +namespace JSC { + +class JSValue; + +} // namespace JSC + +namespace WebCore { + +class ExceptionBase; + +ExceptionBase* toExceptionBase(JSC::JSValue); + +} // namespace WebCore + +#endif // JSExceptionBase_h -- cgit v0.12 From 3489808c1dcd157ac09dd6da16bc057b56696d59 Mon Sep 17 00:00:00 2001 From: Ademar de Souza Reis Jr Date: Tue, 20 Sep 2011 11:12:04 -0300 Subject: Workaround MSVC2010 problems when linking QtWebKit Include MSVC2010 in the list of compilers where incremental build is disabled (INCREMENTAL:NO). Change suggested by Simo Falt --- src/3rdparty/webkit/Source/WebCore/WebCore.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pri b/src/3rdparty/webkit/Source/WebCore/WebCore.pri index 82311d2..00357a1 100644 --- a/src/3rdparty/webkit/Source/WebCore/WebCore.pri +++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pri @@ -303,7 +303,7 @@ win32-* { } # Remove whole program optimizations due to miscompilations -win32-msvc2005|win32-msvc2008|wince*:{ +win32-msvc2005|win32-msvc2008|win32-msvc2010|wince*:{ QMAKE_CFLAGS_RELEASE -= -GL QMAKE_CXXFLAGS_RELEASE -= -GL -- cgit v0.12 From 94a18b734a67ee59bc3ac48012c48d06d1362e8b Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 20 Sep 2011 15:53:38 +0100 Subject: symbian: Implement QNetworkConfiguration::purpose() QNetworkConfiguration::purpose() will now return translated values for the system SNAPs rather than always UnknownPurpose. e.g. the "Internet" SNAP returns PublicPurpose, and the WAP/MMS SNAPs return ServiceSpecificPurpose. IAPs inherit the purpose of the service network that contains them, unless the same IAP is present in more than one with conflicting purposes, in which case UnknownPurpose is returned. Task-Number: QTBUG-19166 Reviewed-By: mread --- src/plugins/bearer/symbian/symbianengine.cpp | 52 +++++++++++++++++++++++++++- src/plugins/bearer/symbian/symbianengine.h | 1 + 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp index fdfe94a..ee80297 100644 --- a/src/plugins/bearer/symbian/symbianengine.cpp +++ b/src/plugins/bearer/symbian/symbianengine.cpp @@ -329,7 +329,27 @@ void SymbianEngine::updateConfigurationsL() cpPriv->connectionId = 0; cpPriv->state = QNetworkConfiguration::Defined; cpPriv->type = QNetworkConfiguration::ServiceNetwork; - cpPriv->purpose = QNetworkConfiguration::UnknownPurpose; + + // determine purpose of this SNAP + TUint32 purpose = CMManager::ESnapPurposeUnknown; + TRAP_IGNORE(purpose = destination.MetadataL(CMManager::ESnapMetadataPurpose)); + switch (purpose) { + case CMManager::ESnapPurposeInternet: + cpPriv->purpose = QNetworkConfiguration::PublicPurpose; + break; + case CMManager::ESnapPurposeIntranet: + cpPriv->purpose = QNetworkConfiguration::PrivatePurpose; + break; + case CMManager::ESnapPurposeMMS: + case CMManager::ESnapPurposeOperator: + cpPriv->purpose = QNetworkConfiguration::ServiceSpecificPurpose; + break; + case CMManager::ESnapPurposeUnknown: + default: + cpPriv->purpose = QNetworkConfiguration::UnknownPurpose; + break; + } + cpPriv->roamingSupported = false; QNetworkConfigurationPrivatePointer ptr(cpPriv); @@ -482,9 +502,39 @@ void SymbianEngine::updateConfigurationsL() #ifdef SNAP_FUNCTIONALITY_AVAILABLE updateStatesToSnaps(); + updatePurposeToIaps(); #endif } +//copy purpose from SNAP to child IAPs, unless child is contained in more than one SNAP with conflicting purposes. +void SymbianEngine::updatePurposeToIaps() +{ + QMutexLocker lock(&mutex); + QHash purposes; + foreach (QNetworkConfigurationPrivatePointer snap, snapConfigurations.values()) { + QMutexLocker snaplock(&snap->mutex); + foreach (QNetworkConfigurationPrivatePointer iap, snap->serviceNetworkMembers.values()) { + QMutexLocker iaplock(&iap->mutex); + QString id = iap->id; + if (purposes.contains(id) && purposes.value(id) != snap->purpose) + purposes[id] = -1; //conflict detected + else + purposes[id] = snap->purpose; + } + } + + for (QHash::const_iterator it = purposes.constBegin(); it != purposes.constEnd(); ++it) { + if (accessPointConfigurations.contains(it.key())) { + QNetworkConfigurationPrivatePointer iap = accessPointConfigurations.value(it.key()); + QMutexLocker iaplock(&iap->mutex); + int purpose = it.value(); + if (purpose == -1) //resolve conflicts as unknown + purpose = QNetworkConfiguration::UnknownPurpose; + iap->purpose = (QNetworkConfiguration::Purpose)purpose; + } + } +} + #ifdef SNAP_FUNCTIONALITY_AVAILABLE SymbianNetworkConfigurationPrivate *SymbianEngine::configFromConnectionMethodL( RCmConnectionMethod& connectionMethod) diff --git a/src/plugins/bearer/symbian/symbianengine.h b/src/plugins/bearer/symbian/symbianengine.h index a205c97..b75f27e 100644 --- a/src/plugins/bearer/symbian/symbianengine.h +++ b/src/plugins/bearer/symbian/symbianengine.h @@ -155,6 +155,7 @@ public Q_SLOTS: private: void updateStatesToSnaps(); + void updatePurposeToIaps(); bool changeConfigurationStateTo(QNetworkConfigurationPrivatePointer ptr, QNetworkConfiguration::StateFlags newState); bool changeConfigurationStateAtMinTo(QNetworkConfigurationPrivatePointer ptr, -- cgit v0.12 From 7cd29ef169b94b0182b4207b37715f7427e4e4d6 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 20 Sep 2011 14:36:24 +0300 Subject: Symbian: Added copy-paste functionality to FEP input context The support for copy-paste functionality in FEP was initially submitted as merge request #1151, though that only provided support for basic Qt edit widgets. I modified the code so that QML edit elements are also supported, as well as any other editor that provides the required "copy", "cut", and "paste" slots, and "canPaste" property. A number of other minor fixes were also done to the original merge request, as well as the removal of S60 version plugin elements. Task-number: QTBUG-20921 Reviewed-by: Sami Merila --- src/gui/inputmethod/qcoefepinputcontext_p.h | 50 ++- src/gui/inputmethod/qcoefepinputcontext_s60.cpp | 567 +++++++++++++++++++++++- 2 files changed, 597 insertions(+), 20 deletions(-) diff --git a/src/gui/inputmethod/qcoefepinputcontext_p.h b/src/gui/inputmethod/qcoefepinputcontext_p.h index 8c30838..8ef9726 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_p.h +++ b/src/gui/inputmethod/qcoefepinputcontext_p.h @@ -63,13 +63,36 @@ #include #include +#include QT_BEGIN_NAMESPACE +class QCoeFepInputMaskHandler +{ +public: + QCoeFepInputMaskHandler(const QString &mask); + ~QCoeFepInputMaskHandler(); + bool canPasteClipboard(const QString &text); +private: + bool isValidInput(QChar key, QChar mask) const; +private: + struct MaskInputData { + enum Casemode { NoCaseMode, Upper, Lower }; + QChar maskChar; + bool separator; + Casemode caseMode; + }; + int m_maxLength; + QChar m_blank; + MaskInputData *m_maskData; +}; + class Q_AUTOTEST_EXPORT QCoeFepInputContext : public QInputContext, public MCoeFepAwareTextEditor, public MCoeFepAwareTextEditor_Extension1, - public MObjectProvider + public MObjectProvider, + public MEikCcpuEditor + { Q_OBJECT @@ -135,6 +158,25 @@ private: void DoCommitFepInlineEditL(); MCoeFepAwareTextEditor_Extension1* Extension1(TBool& aSetToTrue); void ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateEvent aEventType); + void enableSymbianCcpuSupport(); + void changeCBA(bool showCopyAndOrPaste); + void copyOrCutTextToClipboard(const char *operation); + + //From MEikCcpuEditor interface +public: + TBool CcpuIsFocused() const; + TBool CcpuCanCut() const; + void CcpuCutL(); + TBool CcpuCanCopy() const; + void CcpuCopyL(); + TBool CcpuCanPaste() const; + void CcpuPasteL(); + TBool CcpuCanUndo() const; + void CcpuUndoL(); + +private slots: + void copy(); + void paste(); // From MCoeFepAwareTextEditor_Extension1 public: @@ -167,6 +209,12 @@ private: Qt::WindowStates m_splitViewPreviousWindowStates; QRectF m_transformation; + CAknCcpuSupport *m_ccpu; + QAction *m_copyAction; + QAction *m_pasteAction; + QPointer m_lastFocusedEditor; + QPointer m_lastFocusedObject; + friend class tst_QInputContext; }; diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp index 56338b2..9025221 100644 --- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp +++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp @@ -57,6 +57,21 @@ #include #include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + // You only find these enumerations on SDK 5 onwards, so we need to provide our own // to remain compatible with older releases. They won't be called by pre-5.0 SDKs. @@ -79,8 +94,253 @@ #define QT_EPSUidAknFep 0x100056de #define QT_EAknFepTouchInputActive 0x00000004 +_LIT(KAvkonResourceFile, "z:\\resource\\avkon.rsc" ); + QT_BEGIN_NAMESPACE +static QWidget* getFocusedChild(const QList& objectList) +{ + for (int j = 0; j < objectList.count(); j++) { + if (QWidget* ow = qobject_cast(objectList[j])) { + if (ow->hasFocus()) { + return ow; + } else { + if (QWidget* rw = getFocusedChild(ow->children())) + return rw; + } + } + } + return 0; +} + +// A generic method for invoking "cut", "copy", and "paste" slots on editor +// All supported editors are expected to have these. +static bool ccpuInvokeSlot(QObject *obj, QObject *focusObject, const char *member) +{ + QObject *invokeTarget = obj; + if (focusObject) + invokeTarget = focusObject; + + return QMetaObject::invokeMethod(invokeTarget, member, Qt::DirectConnection); +} + +// focusObject is used to return a pointer to focused graphics object, if any +static QWidget *getQWidgetFromQGraphicsView(QWidget *widget, QObject **focusObject = 0) +{ + if (focusObject) + *focusObject = 0; + + if (!widget) + return 0; + + if (QGraphicsView* qgv = qobject_cast(widget)) { + QGraphicsItem *focusItem = 0; + if (qgv->scene()) + focusItem = qgv->scene()->focusItem(); + if (focusItem) { + if (focusObject) + *focusObject = focusItem->toGraphicsObject(); + if (QGraphicsProxyWidget* const qgpw = qgraphicsitem_cast(focusItem)) { + if (QWidget* w = qgpw->widget()) { + if (w->layout()) { + if (QWidget* rw = getFocusedChild(w->children())) + return rw; + } else { + return w; + } + } + } + } + } + return widget; +} + +QCoeFepInputMaskHandler::QCoeFepInputMaskHandler(const QString &mask) +{ + QString inputMask; + int delimiter = mask.indexOf(QLatin1Char(';')); + if (mask.isEmpty() || delimiter == 0) + return; + + if (delimiter == -1) { + m_blank = QLatin1Char(' '); + inputMask = mask; + } else { + inputMask = mask.left(delimiter); + m_blank = (delimiter + 1 < mask.length()) ? mask[delimiter + 1] : QLatin1Char(' '); + } + + // Calculate m_maxLength / m_maskData length + m_maxLength = 0; + QChar c = 0; + for (int i = 0; i < inputMask.length(); i++) { + c = inputMask.at(i); + if (i > 0 && inputMask.at(i - 1) == QLatin1Char('\\')) { + m_maxLength++; + continue; + } + if (c != QLatin1Char('\\') && c != QLatin1Char('!') + && c != QLatin1Char('<') && c != QLatin1Char('>') + && c != QLatin1Char('{') && c != QLatin1Char('}') + && c != QLatin1Char('[') && c != QLatin1Char(']')) { + m_maxLength++; + } + } + + m_maskData = new MaskInputData[m_maxLength]; + + MaskInputData::Casemode m = MaskInputData::NoCaseMode; + c = 0; + bool s = false; + bool escape = false; + int index = 0; + for (int i = 0; i < inputMask.length(); i++) { + c = inputMask.at(i); + if (escape) { + s = true; + m_maskData[index].maskChar = c; + m_maskData[index].separator = s; + m_maskData[index].caseMode = m; + index++; + escape = false; + } else if (c == QLatin1Char('<')) { + m = MaskInputData::Lower; + } else if (c == QLatin1Char('>')) { + m = MaskInputData::Upper; + } else if (c == QLatin1Char('!')) { + m = MaskInputData::NoCaseMode; + } else if (c != QLatin1Char('{') && c != QLatin1Char('}') && c != QLatin1Char('[') && c != QLatin1Char(']')) { + switch (c.unicode()) { + case 'A': + case 'a': + case 'N': + case 'n': + case 'X': + case 'x': + case '9': + case '0': + case 'D': + case 'd': + case '#': + case 'H': + case 'h': + case 'B': + case 'b': + s = false; + break; + case '\\': + escape = true; + break; + default: + s = true; + break; + } + + if (!escape) { + m_maskData[index].maskChar = c; + m_maskData[index].separator = s; + m_maskData[index].caseMode = m; + index++; + } + } + } +} + +QCoeFepInputMaskHandler::~QCoeFepInputMaskHandler() +{ + if (m_maskData) + delete[] m_maskData; +} + +bool QCoeFepInputMaskHandler::canPasteClipboard(const QString &text) +{ + if (!m_maskData) + return true; + + if (text.length() > m_maxLength) + return false; + int limit = qMin(m_maxLength, text.length()); + for (int i = 0; i < limit; ++i) { + if (m_maskData[i].separator) { + if (text.at(i) != m_maskData[i].maskChar) + return false; + } else { + if (!isValidInput(text.at(i), m_maskData[i].maskChar)) + return false; + } + } + return true; +} + +bool QCoeFepInputMaskHandler::isValidInput(QChar key, QChar mask) const +{ + switch (mask.unicode()) { + case 'A': + if (key.isLetter()) + return true; + break; + case 'a': + if (key.isLetter() || key == m_blank) + return true; + break; + case 'N': + if (key.isLetterOrNumber()) + return true; + break; + case 'n': + if (key.isLetterOrNumber() || key == m_blank) + return true; + break; + case 'X': + if (key.isPrint()) + return true; + break; + case 'x': + if (key.isPrint() || key == m_blank) + return true; + break; + case '9': + if (key.isNumber()) + return true; + break; + case '0': + if (key.isNumber() || key == m_blank) + return true; + break; + case 'D': + if (key.isNumber() && key.digitValue() > 0) + return true; + break; + case 'd': + if ((key.isNumber() && key.digitValue() > 0) || key == m_blank) + return true; + break; + case '#': + if (key.isNumber() || key == QLatin1Char('+') || key == QLatin1Char('-') || key == m_blank) + return true; + break; + case 'B': + if (key == QLatin1Char('0') || key == QLatin1Char('1')) + return true; + break; + case 'b': + if (key == QLatin1Char('0') || key == QLatin1Char('1') || key == m_blank) + return true; + break; + case 'H': + if (key.isNumber() || (key >= QLatin1Char('a') && key <= QLatin1Char('f')) || (key >= QLatin1Char('A') && key <= QLatin1Char('F'))) + return true; + break; + case 'h': + if (key.isNumber() || (key >= QLatin1Char('a') && key <= QLatin1Char('f')) || (key >= QLatin1Char('A') && key <= QLatin1Char('F')) || key == m_blank) + return true; + break; + default: + break; + } + return false; +} + Q_GUI_EXPORT void qt_s60_setPartialScreenInputMode(bool enable) { S60->partial_keyboard = enable; @@ -116,7 +376,8 @@ QCoeFepInputContext::QCoeFepInputContext(QObject *parent) m_pointerHandler(0), m_hasTempPreeditString(false), m_splitViewResizeBy(0), - m_splitViewPreviousWindowStates(Qt::WindowNoState) + m_splitViewPreviousWindowStates(Qt::WindowNoState), + m_ccpu(0) { m_fepState->SetObjectProvider(this); int defaultFlags = EAknEditorFlagDefault; @@ -133,6 +394,29 @@ QCoeFepInputContext::QCoeFepInputContext(QObject *parent) m_fepState->SetPermittedCases( EAknEditorAllCaseModes ); m_fepState->SetSpecialCharacterTableResourceId(R_AVKON_SPECIAL_CHARACTER_TABLE_DIALOG); m_fepState->SetNumericKeymap(EAknEditorAlphanumericNumberModeKeymap); + enableSymbianCcpuSupport(); + + //adding softkeys + QString copyLabel = QLatin1String("Copy"); + QString pasteLabel = QLatin1String("Paste"); + TRAP_IGNORE( + CEikonEnv* coe = CEikonEnv::Static(); + if (coe) { + HBufC* copyBuf = coe->AllocReadResourceLC(R_TEXT_SOFTKEY_COPY); + copyLabel = qt_TDesC2QString(*copyBuf); + CleanupStack::PopAndDestroy(copyBuf); + HBufC* pasteBuf = coe->AllocReadResourceLC(R_TEXT_SOFTKEY_PASTE); + pasteLabel = qt_TDesC2QString(*pasteBuf); + CleanupStack::PopAndDestroy(pasteBuf); + } + ) + + m_copyAction = new QAction(copyLabel, QApplication::desktop()); + m_pasteAction = new QAction(pasteLabel, QApplication::desktop()); + m_copyAction->setSoftKeyRole(QAction::PositiveSoftKey); + m_pasteAction->setSoftKeyRole(QAction::NegativeSoftKey); + connect(m_copyAction, SIGNAL(triggered()), this, SLOT(copy())); + connect(m_pasteAction, SIGNAL(triggered()), this, SLOT(paste())); } QCoeFepInputContext::~QCoeFepInputContext() @@ -145,8 +429,8 @@ QCoeFepInputContext::~QCoeFepInputContext() // but is synchronous, rather than asynchronous. CCoeEnv::Static()->SyncNotifyFocusObserversOfChangeInFocus(); - if (m_fepState) - delete m_fepState; + delete m_fepState; + delete m_ccpu; } void QCoeFepInputContext::reset() @@ -347,6 +631,12 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) sControl = focusWidget()->effectiveWinId()->MopGetObject(sControl); Q_ASSERT(sControl); + // Store last focused widget and object in case of fullscreen VKB + QObject *focusObject = 0; + m_lastFocusedEditor = getQWidgetFromQGraphicsView(focusWidget(), &focusObject); + m_lastFocusedObject = focusObject; // Can be null + Q_ASSERT(m_lastFocusedEditor); + // The FEP UI temporarily steals focus when it shows up the first time, causing // all sorts of weird effects on the focused widgets. Since it will immediately give // back focus to us, we temporarily disable focus handling until the job's done. @@ -369,28 +659,66 @@ bool QCoeFepInputContext::filterEvent(const QEvent *event) bool QCoeFepInputContext::symbianFilterEvent(QWidget *keyWidget, const QSymbianEvent *event) { Q_UNUSED(keyWidget); + if (event->type() == QSymbianEvent::WindowServerEvent) { + const TWsEvent* wsEvent = event->windowServerEvent(); + TInt eventType = 0; + if (wsEvent) + eventType = wsEvent->Type(); + + if (eventType == EEventKey) { + TKeyEvent* keyEvent = wsEvent->Key(); + if (keyEvent) { + switch (keyEvent->iScanCode) { + case EEikCmdEditCopy: + CcpuCopyL(); + break; + case EEikCmdEditCut: + CcpuCutL(); + break; + case EEikCmdEditPaste: + CcpuPasteL(); + break; + case EStdKeyF21: + changeCBA(true); + break; + default: + break; + } + switch (keyEvent->iCode) { + case EKeyLeftArrow: + case EKeyRightArrow: + case EKeyUpArrow: + case EKeyDownArrow: + if (CcpuCanCopy() && ((keyEvent->iModifiers & EModifierShift) == EModifierShift)) + changeCBA(true); + break; + default: + break; + } + } + } else if (eventType == EEventKeyUp) { + if (wsEvent->Key() && wsEvent->Key()->iScanCode == EStdKeyLeftShift) + changeCBA(false); + } else if (eventType == EEventWindowVisibilityChanged && S60->splitViewLastWidget) { + QGraphicsView *gv = qobject_cast(S60->splitViewLastWidget); + const bool alwaysResize = (gv && gv->verticalScrollBarPolicy() != Qt::ScrollBarAlwaysOff); + + if (alwaysResize) { + TUint visibleFlags = event->windowServerEvent()->VisibilityChanged()->iFlags; + if (visibleFlags & TWsVisibilityChangedEvent::EPartiallyVisible) + ensureFocusWidgetVisible(S60->splitViewLastWidget); + if (visibleFlags & TWsVisibilityChangedEvent::ENotVisible) + resetSplitViewWidget(true); + } + } + } + if (event->type() == QSymbianEvent::CommandEvent) // A command basically means the same as a button being pushed. With Qt buttons // that would normally result in a reset of the input method due to the focus change. // This should also happen for commands. reset(); - if (event->type() == QSymbianEvent::WindowServerEvent - && event->windowServerEvent() - && event->windowServerEvent()->Type() == EEventWindowVisibilityChanged - && S60->splitViewLastWidget) { - - QGraphicsView *gv = qobject_cast(S60->splitViewLastWidget); - const bool alwaysResize = (gv && gv->verticalScrollBarPolicy() != Qt::ScrollBarAlwaysOff); - - if (alwaysResize) { - TUint visibleFlags = event->windowServerEvent()->VisibilityChanged()->iFlags; - if (visibleFlags & TWsVisibilityChangedEvent::EPartiallyVisible) - ensureFocusWidgetVisible(S60->splitViewLastWidget); - if (visibleFlags & TWsVisibilityChangedEvent::ENotVisible) - resetSplitViewWidget(true); - } - } if (event->type() == QSymbianEvent::ResourceChangeEvent && (event->resourceChangeType() == KEikMessageFadeAllWindows @@ -1231,6 +1559,71 @@ void QCoeFepInputContext::GetScreenCoordinatesForFepL(TPoint& aLeftSideOfBaseLin aAscent = metrics.ascent(); } +void QCoeFepInputContext::enableSymbianCcpuSupport() +{ + if (!m_ccpu) { + QT_TRAP_THROWING( + m_ccpu = new (ELeave) CAknCcpuSupport(this); + m_ccpu->SetMopParent(this); + CleanupStack::PushL(m_ccpu); + m_ccpu->ConstructL(); + CleanupStack::Pop(m_ccpu); + ); + Q_ASSERT(m_fepState); + if (m_fepState) + m_fepState->SetCcpuState(this); + } +} + +void QCoeFepInputContext::changeCBA(bool showCopyAndOrPaste) +{ + QWidget *w = focusWidget(); + if (!w) + w = m_lastFocusedEditor; + + if (w) { + if (showCopyAndOrPaste) { + if (CcpuCanCopy()) + w->addAction(m_copyAction); + if (CcpuCanPaste()) + w->addAction(m_pasteAction); + } else { + w->removeAction(m_copyAction); + w->removeAction(m_pasteAction); + } + } +} + +void QCoeFepInputContext::copyOrCutTextToClipboard(const char *operation) +{ + bool hasText = false; + + QWidget *w = focusWidget(); + QObject *focusObject = 0; + if (!w) { + w = m_lastFocusedEditor; + focusObject = m_lastFocusedObject; + } else { + w = getQWidgetFromQGraphicsView(w, &focusObject); + } + + if (w) { + int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt(); + int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt(); + + if (cursor != anchor) { + if (ccpuInvokeSlot(w, focusObject, operation)) { + TRAP_IGNORE( + CAknDiscreetPopup::ShowGlobalPopupL( + R_AVKON_DISCREET_POPUP_TEXT_COPIED, + KAvkonResourceFile); + ) + } + } + } +} + + void QCoeFepInputContext::DoCommitFepInlineEditL() { commitCurrentString(false); @@ -1295,6 +1688,142 @@ MCoeFepAwareTextEditor_Extension1::CState* QCoeFepInputContext::State(TUid /*aTy return m_fepState; } +TBool QCoeFepInputContext::CcpuIsFocused() const +{ + return focusWidget() != 0; +} + +TBool QCoeFepInputContext::CcpuCanCut() const +{ + bool retval = false; + QWidget *w = focusWidget(); + if (!w) + w = m_lastFocusedEditor; + else + w = getQWidgetFromQGraphicsView(w); + if (w) { + int cursor = w->inputMethodQuery(Qt::ImCursorPosition).toInt(); + int anchor = w->inputMethodQuery(Qt::ImAnchorPosition).toInt(); + retval = cursor != anchor; + } + return retval; +} + +void QCoeFepInputContext::CcpuCutL() +{ + copyOrCutTextToClipboard("cut"); +} + +TBool QCoeFepInputContext::CcpuCanCopy() const +{ + return CcpuCanCut(); +} + +void QCoeFepInputContext::CcpuCopyL() +{ + copyOrCutTextToClipboard("copy"); +} + +TBool QCoeFepInputContext::CcpuCanPaste() const +{ + bool canPaste = false; + QString textToPaste = QApplication::clipboard()->text(); + if (!textToPaste.isEmpty()) { + QWidget *w = focusWidget(); + QObject *focusObject = 0; + if (!w) { + w = m_lastFocusedEditor; + focusObject = m_lastFocusedObject; + } else { + w = getQWidgetFromQGraphicsView(w, &focusObject); + } + if (w) { + // First, check if we are dealing with standard Qt editors (QLineEdit, QTextEdit, or QPlainTextEdit), + // as they do not have queryable property. + if (QTextEdit* tedit = qobject_cast(w)) { + canPaste = tedit->canPaste(); + } else if (QPlainTextEdit* ptedit = qobject_cast(w)) { + canPaste = ptedit->canPaste(); + } else if (QLineEdit* ledit = qobject_cast(w)) { + QString fullText = ledit->text(); + if (ledit->hasSelectedText()) { + fullText.remove(ledit->selectionStart(), ledit->selectedText().length()); + fullText.insert(ledit->selectionStart(), textToPaste); + } else { + fullText.insert(ledit->cursorPosition(), textToPaste); + } + + if (fullText.length() > ledit->maxLength()) { + canPaste = false; + } else { + const QValidator* validator = ledit->validator(); + if (validator) { + int pos = 0; + if (validator->validate(fullText, pos) == QValidator::Invalid) + canPaste = false; + else + canPaste = true; + } else { + QString mask(ledit->inputMask()); + if (!mask.isEmpty()) { + QCoeFepInputMaskHandler maskhandler(mask); + if (maskhandler.canPasteClipboard(fullText)) + canPaste = true; + else + canPaste = false; + } else { + canPaste = true; + } + } + } + } else { + // Unknown editor (probably a QML one); Request the "canPaste" property. + QObject *invokeTarget = w; + if (focusObject) + invokeTarget = focusObject; + + canPaste = invokeTarget->property("canPaste").toBool(); + } + } + } + return canPaste; +} + +void QCoeFepInputContext::CcpuPasteL() +{ + QWidget *w = focusWidget(); + QObject *focusObject = 0; + if (!w) { + w = m_lastFocusedEditor; + focusObject = m_lastFocusedObject; + } else { + w = getQWidgetFromQGraphicsView(w, &focusObject); + } + if (w) + ccpuInvokeSlot(w, focusObject, "paste"); +} + +TBool QCoeFepInputContext::CcpuCanUndo() const +{ + //not supported + return EFalse; +} + +void QCoeFepInputContext::CcpuUndoL() +{ + //not supported +} + +void QCoeFepInputContext::copy() +{ + QT_TRAP_THROWING(CcpuCopyL()); +} + +void QCoeFepInputContext::paste() +{ + QT_TRAP_THROWING(CcpuPasteL()); +} + TTypeUid::Ptr QCoeFepInputContext::MopSupplyObject(TTypeUid /*id*/) { return TTypeUid::Null(); -- cgit v0.12 From 8e2368bce81180c12a607afd101964ef1e8a1f1b Mon Sep 17 00:00:00 2001 From: Honglei Zhang Date: Wed, 21 Sep 2011 11:53:30 +0300 Subject: Fix memory leaks in schema validation Bug fix for QTBUG-12550. QExplicitlySharedDataPointer is excessively used in XmlPatterns code. This forumate cyclic loops in some situation. This fix replace the shared data pointer with normal C++ pointer to break the loop. Task-number: QTBUG-12550 Reviewed-by: Tomi Vihria --- src/xmlpatterns/schema/qnamespacesupport.cpp | 4 +- src/xmlpatterns/schema/qnamespacesupport_p.h | 4 +- src/xmlpatterns/schema/qxsdcomplextype.cpp | 4 +- src/xmlpatterns/schema/qxsdcomplextype_p.h | 2 +- src/xmlpatterns/schema/qxsdelement.cpp | 4 +- src/xmlpatterns/schema/qxsdelement_p.h | 2 +- src/xmlpatterns/schema/qxsdschemaparser.cpp | 252 ++++++++++----------- src/xmlpatterns/schema/qxsdschemaparser_p.h | 10 +- src/xmlpatterns/schema/qxsdschemaparser_setup.cpp | 144 ++++++------ .../xmlpatternsschemats/TESTSUITE/updateSuite.sh | 5 +- 10 files changed, 218 insertions(+), 213 deletions(-) diff --git a/src/xmlpatterns/schema/qnamespacesupport.cpp b/src/xmlpatterns/schema/qnamespacesupport.cpp index cb0cbf7..5e0aea6 100644 --- a/src/xmlpatterns/schema/qnamespacesupport.cpp +++ b/src/xmlpatterns/schema/qnamespacesupport.cpp @@ -59,8 +59,8 @@ NamespaceSupport::NamespaceSupport() { } -NamespaceSupport::NamespaceSupport(const NamePool::Ptr &namePool) - : m_namePool(namePool) +NamespaceSupport::NamespaceSupport(NamePool &namePool) + : m_namePool(&namePool) { // the XML namespace m_ns.insert(StandardPrefixes::xml, StandardNamespaces::xml); diff --git a/src/xmlpatterns/schema/qnamespacesupport_p.h b/src/xmlpatterns/schema/qnamespacesupport_p.h index 656026e..b61bf19 100644 --- a/src/xmlpatterns/schema/qnamespacesupport_p.h +++ b/src/xmlpatterns/schema/qnamespacesupport_p.h @@ -97,7 +97,7 @@ namespace QPatternist * * @param namePool The name pool where all processed names are stored in. */ - NamespaceSupport(const NamePool::Ptr &namePool); + NamespaceSupport(NamePool &namePool); /** * Adds a new prefix-to-namespace binding. @@ -160,7 +160,7 @@ namespace QPatternist private: typedef QHash NamespaceHash; - NamePool::Ptr m_namePool; + NamePool *m_namePool; QStack m_nsStack; NamespaceHash m_ns; }; diff --git a/src/xmlpatterns/schema/qxsdcomplextype.cpp b/src/xmlpatterns/schema/qxsdcomplextype.cpp index 32e420a..fe97f04 100644 --- a/src/xmlpatterns/schema/qxsdcomplextype.cpp +++ b/src/xmlpatterns/schema/qxsdcomplextype.cpp @@ -130,12 +130,12 @@ QString XsdComplexType::displayName(const NamePool::Ptr &np) const void XsdComplexType::setWxsSuperType(const SchemaType::Ptr &type) { - m_superType = type; + m_superType = type.data(); } SchemaType::Ptr XsdComplexType::wxsSuperType() const { - return m_superType; + return SchemaType::Ptr(m_superType); } void XsdComplexType::setContext(const NamedSchemaComponent::Ptr &component) diff --git a/src/xmlpatterns/schema/qxsdcomplextype_p.h b/src/xmlpatterns/schema/qxsdcomplextype_p.h index 1b90e5d..f6c512e 100644 --- a/src/xmlpatterns/schema/qxsdcomplextype_p.h +++ b/src/xmlpatterns/schema/qxsdcomplextype_p.h @@ -385,7 +385,7 @@ namespace QPatternist virtual bool isDefinedBySchema() const; private: - SchemaType::Ptr m_superType; + SchemaType *m_superType; NamedSchemaComponent *m_context; DerivationMethod m_derivationMethod; bool m_isAbstract; diff --git a/src/xmlpatterns/schema/qxsdelement.cpp b/src/xmlpatterns/schema/qxsdelement.cpp index dda0f54..ab2b873 100644 --- a/src/xmlpatterns/schema/qxsdelement.cpp +++ b/src/xmlpatterns/schema/qxsdelement.cpp @@ -128,12 +128,12 @@ bool XsdElement::isElement() const void XsdElement::setType(const SchemaType::Ptr &type) { - m_type = type; + m_type = type.data(); } SchemaType::Ptr XsdElement::type() const { - return m_type; + return SchemaType::Ptr(m_type); } void XsdElement::setScope(const Scope::Ptr &scope) diff --git a/src/xmlpatterns/schema/qxsdelement_p.h b/src/xmlpatterns/schema/qxsdelement_p.h index 3b9dd88..69fa769 100644 --- a/src/xmlpatterns/schema/qxsdelement_p.h +++ b/src/xmlpatterns/schema/qxsdelement_p.h @@ -382,7 +382,7 @@ namespace QPatternist XsdElement::WeakList substitutionGroups() const; private: - SchemaType::Ptr m_type; + SchemaType *m_type; Scope::Ptr m_scope; ValueConstraint::Ptr m_valueConstraint; TypeTable::Ptr m_typeTable; diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp index 4281a41..0cb0153 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser.cpp +++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp @@ -251,13 +251,13 @@ inline static bool isValidUri(const QString &string) XsdSchemaParser::XsdSchemaParser(const XsdSchemaContext::Ptr &context, const XsdSchemaParserContext::Ptr &parserContext, QIODevice *device) : MaintainingReader(parserContext->elementDescriptions(), QSet(), context, device) - , m_context(context) - , m_parserContext(parserContext) - , m_namePool(m_parserContext->namePool()) - , m_namespaceSupport(m_namePool) + , m_context(context.data()) + , m_parserContext(parserContext.data()) + , m_namePool(m_parserContext->namePool().data()) + , m_namespaceSupport(*m_namePool) { - m_schema = m_parserContext->schema(); - m_schemaResolver = m_parserContext->resolver(); + m_schema = m_parserContext->schema().data(); + m_schemaResolver = m_parserContext->resolver().data(); m_idCache = XsdIdCache::Ptr(new XsdIdCache()); setupStateMachines(); @@ -365,7 +365,7 @@ void XsdSchemaParser::attributeContentError(const char *attributeName, const cha .arg(formatAttribute(attributeName)) .arg(formatElement(elementName)) .arg(formatData(value)) - .arg(formatType(m_namePool, type))); + .arg(formatType(NamePool::Ptr(m_namePool), type))); } else { error(QtXmlPatterns::tr("%1 attribute of %2 element contains invalid content: {%3}.") .arg(formatAttribute(attributeName)) @@ -520,7 +520,7 @@ void XsdSchemaParser::parseSchema(ParserType parserType) validateIdAttribute("schema"); - TagValidationHandler tagValidator(XsdTagScope::Schema, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Schema, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -601,10 +601,10 @@ void XsdSchemaParser::parseInclude() m_includedSchemas.insert(url); const AutoPtr reply(AccelTreeResourceLoader::load(url, m_context->networkAccessManager(), - m_context, AccelTreeResourceLoader::ContinueOnError)); + XsdSchemaContext::Ptr(m_context), AccelTreeResourceLoader::ContinueOnError)); if (reply) { // parse the included schema by a different parser but with the same context - XsdSchemaParser parser(m_context, m_parserContext, reply.data()); + XsdSchemaParser parser(XsdSchemaContext::Ptr(m_context), XsdSchemaParserContext::Ptr(m_parserContext), reply.data()); parser.setDocumentURI(url); parser.setTargetNamespaceExtended(m_targetNamespace); parser.setIncludedSchemas(m_includedSchemas); @@ -623,7 +623,7 @@ void XsdSchemaParser::parseInclude() validateIdAttribute("include"); - TagValidationHandler tagValidator(XsdTagScope::Include, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Include, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -697,10 +697,10 @@ void XsdSchemaParser::parseImport() m_importedSchemas.insert(importNamespace); AutoPtr reply(AccelTreeResourceLoader::load(url, m_context->networkAccessManager(), - m_context, AccelTreeResourceLoader::ContinueOnError)); + XsdSchemaContext::Ptr(m_context), AccelTreeResourceLoader::ContinueOnError)); if (reply) { // parse the included schema by a different parser but with the same context - XsdSchemaParser parser(m_context, m_parserContext, reply.data()); + XsdSchemaParser parser(XsdSchemaContext::Ptr(m_context), XsdSchemaParserContext::Ptr(m_parserContext), reply.data()); parser.setDocumentURI(url); parser.setTargetNamespace(importNamespace); parser.setIncludedSchemas(m_includedSchemas); @@ -724,7 +724,7 @@ void XsdSchemaParser::parseImport() QFile file(QString::fromLatin1(":") + importNamespace); if (file.open(QIODevice::ReadOnly)) { - XsdSchemaParser parser(m_context, m_parserContext, &file); + XsdSchemaParser parser(XsdSchemaContext::Ptr(m_context), XsdSchemaParserContext::Ptr(m_parserContext), &file); parser.setDocumentURI(importNamespace); parser.setTargetNamespace(importNamespace); parser.setIncludedSchemas(m_includedSchemas); @@ -747,7 +747,7 @@ void XsdSchemaParser::parseImport() validateIdAttribute("import"); - TagValidationHandler tagValidator(XsdTagScope::Import, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Import, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -785,7 +785,7 @@ void XsdSchemaParser::parseRedefine() const QString schemaLocation = readAttribute(QString::fromLatin1("schemaLocation")); - TagValidationHandler tagValidator(XsdTagScope::Redefine, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Redefine, this, NamePool::Ptr(m_namePool)); XsdSimpleType::List redefinedSimpleTypes; XsdComplexType::List redefinedComplexTypes; @@ -812,8 +812,8 @@ void XsdSchemaParser::parseRedefine() redefinedSimpleTypes.append(type); const QXmlName baseTypeName = m_parserContext->resolver()->baseTypeNameOfType(type); - if (baseTypeName != type->name(m_namePool)) { - error(QString::fromLatin1("redefined simple type %1 must have itself as base type").arg(formatType(m_namePool, type))); + if (baseTypeName != type->name(NamePool::Ptr(m_namePool))) { + error(QString::fromLatin1("redefined simple type %1 must have itself as base type").arg(formatType(NamePool::Ptr(m_namePool), type))); return; } } else if (isSchemaTag(XsdSchemaToken::ComplexType, token, namespaceToken)) { @@ -824,8 +824,8 @@ void XsdSchemaParser::parseRedefine() // 5 const QXmlName baseTypeName = m_parserContext->resolver()->baseTypeNameOfType(type); - if (baseTypeName != type->name(m_namePool)) { - error(QString::fromLatin1("redefined complex type %1 must have itself as base type").arg(formatType(m_namePool, type))); + if (baseTypeName != type->name(NamePool::Ptr(m_namePool))) { + error(QString::fromLatin1("redefined complex type %1 must have itself as base type").arg(formatType(NamePool::Ptr(m_namePool), type))); return; } } else if (isSchemaTag(XsdSchemaToken::Group, token, namespaceToken)) { @@ -855,7 +855,7 @@ void XsdSchemaParser::parseRedefine() } // we parse the schema given in the redefine tag into its own context - const XsdSchemaParserContext::Ptr redefinedContext(new XsdSchemaParserContext(m_namePool, m_context)); + const XsdSchemaParserContext::Ptr redefinedContext(new XsdSchemaParserContext(NamePool::Ptr(m_namePool), XsdSchemaContext::Ptr(m_context))); if (m_redefinedSchemas.contains(url)) { // we have redefined that file already, according to the schema spec we are @@ -863,11 +863,11 @@ void XsdSchemaParser::parseRedefine() } else { m_redefinedSchemas.insert(url); QNetworkReply *reply = AccelTreeResourceLoader::load(url, m_context->networkAccessManager(), - m_context, + XsdSchemaContext::Ptr(m_context), (locationMustResolve ? AccelTreeResourceLoader::FailOnError : AccelTreeResourceLoader::ContinueOnError)); if (reply) { // parse the included schema by a different parser but with the same context - XsdSchemaParser parser(m_context, redefinedContext, reply); + XsdSchemaParser parser(XsdSchemaContext::Ptr(m_context), redefinedContext, reply); parser.setDocumentURI(url); parser.setTargetNamespaceExtended(m_targetNamespace); parser.setIncludedSchemas(m_includedSchemas); @@ -904,7 +904,7 @@ void XsdSchemaParser::parseRedefine() for (int j = 0; j < contextSimpleTypes.count(); ++j) { XsdSimpleType::Ptr contextType = contextSimpleTypes.at(j); - if (redefinedType->name(m_namePool) == contextType->name(m_namePool)) { // we found the right type + if (redefinedType->name(NamePool::Ptr(m_namePool)) == contextType->name(NamePool::Ptr(m_namePool))) { // we found the right type found = true; // 1) set name of context type to empty name @@ -932,7 +932,7 @@ void XsdSchemaParser::parseRedefine() } if (!found) { - error(QString::fromLatin1("no matching type found to redefine simple type %1").arg(formatType(m_namePool, redefinedType))); + error(QString::fromLatin1("no matching type found to redefine simple type %1").arg(formatType(NamePool::Ptr(m_namePool), redefinedType))); return; } } @@ -953,7 +953,7 @@ void XsdSchemaParser::parseRedefine() for (int j = 0; j < contextComplexTypes.count(); ++j) { XsdComplexType::Ptr contextType = contextComplexTypes.at(j); - if (redefinedType->name(m_namePool) == contextType->name(m_namePool)) { // we found the right type + if (redefinedType->name(NamePool::Ptr(m_namePool)) == contextType->name(NamePool::Ptr(m_namePool))) { // we found the right type found = true; // 1) set name of context type to empty name @@ -981,7 +981,7 @@ void XsdSchemaParser::parseRedefine() } if (!found) { - error(QString::fromLatin1("no matching type found to redefine complex type %1").arg(formatType(m_namePool, redefinedType))); + error(QString::fromLatin1("no matching type found to redefine complex type %1").arg(formatType(NamePool::Ptr(m_namePool), redefinedType))); return; } } @@ -998,11 +998,11 @@ void XsdSchemaParser::parseRedefine() int sameNameCounter = 0; for (int i = 0; i < particles.count(); ++i) { const XsdReference::Ptr ref(particles.at(i)->term()); - if (ref->referenceName() == group->name(m_namePool)) { + if (ref->referenceName() == group->name(NamePool::Ptr(m_namePool))) { referencedParticle = particles.at(i); if (referencedParticle->minimumOccurs() != 1 || referencedParticle->maximumOccurs() != 1 || referencedParticle->maximumOccursUnbounded()) { // 6.1.2 - error(QString::fromLatin1("redefined group %1 can not contain reference to itself with minOccurs or maxOccurs != 1").arg(formatKeyword(group->displayName(m_namePool)))); + error(QString::fromLatin1("redefined group %1 can not contain reference to itself with minOccurs or maxOccurs != 1").arg(formatKeyword(group->displayName(NamePool::Ptr(m_namePool))))); return; } sameNameCounter++; @@ -1011,21 +1011,21 @@ void XsdSchemaParser::parseRedefine() // 6.1.1 if (sameNameCounter > 1) { - error(QString::fromLatin1("redefined group %1 can not contain multiple references to itself").arg(formatKeyword(group->displayName(m_namePool)))); + error(QString::fromLatin1("redefined group %1 can not contain multiple references to itself").arg(formatKeyword(group->displayName(NamePool::Ptr(m_namePool))))); return; } // search the group definition in the included schema (S2) XsdModelGroup::Ptr contextGroup; for (int j = 0; j < contextGroups.count(); ++j) { - if (group->name(m_namePool) == contextGroups.at(j)->name(m_namePool)) { + if (group->name(NamePool::Ptr(m_namePool)) == contextGroups.at(j)->name(NamePool::Ptr(m_namePool))) { contextGroup = contextGroups.at(j); break; } } if (!contextGroup) { // 6.2.1 - error(QString::fromLatin1("redefined group %1 has no occurrence in included schema").arg(formatKeyword(group->displayName(m_namePool)))); + error(QString::fromLatin1("redefined group %1 has no occurrence in included schema").arg(formatKeyword(group->displayName(NamePool::Ptr(m_namePool))))); return; } @@ -1034,7 +1034,7 @@ void XsdSchemaParser::parseRedefine() // group from the included schema // set a anonymous name to the group of the included schema - contextGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(contextGroup->name(m_namePool).namespaceURI()))); + contextGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(contextGroup->name(NamePool::Ptr(m_namePool)).namespaceURI()))); // replace the self-reference with the group from the included schema referencedParticle->setTerm(contextGroup); @@ -1050,7 +1050,7 @@ void XsdSchemaParser::parseRedefine() addElementGroup(group); // we have to add them, otherwise it is not resolved and we can't validate it later - contextGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(contextGroup->name(m_namePool).namespaceURI()))); + contextGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(contextGroup->name(NamePool::Ptr(m_namePool)).namespaceURI()))); addElementGroup(contextGroup); m_schemaResolver->addRedefinedGroups(group, contextGroup); @@ -1075,13 +1075,13 @@ void XsdSchemaParser::parseRedefine() if (attributeUse->isReference()) { const XsdAttributeReference::Ptr reference(attributeUse); if (reference->type() == XsdAttributeReference::AttributeGroup) { - if (group->name(m_namePool) == reference->referenceName()) + if (group->name(NamePool::Ptr(m_namePool)) == reference->referenceName()) sameNameCounter++; } } } if (sameNameCounter > 1) { - error(QString::fromLatin1("redefined attribute group %1 can not contain multiple references to itself").arg(formatKeyword(group->displayName(m_namePool)))); + error(QString::fromLatin1("redefined attribute group %1 can not contain multiple references to itself").arg(formatKeyword(group->displayName(NamePool::Ptr(m_namePool))))); return; } @@ -1089,14 +1089,14 @@ void XsdSchemaParser::parseRedefine() XsdAttributeGroup::Ptr baseGroup; for (int j = 0; j < contextAttributeGroups.count(); ++j) { const XsdAttributeGroup::Ptr contextGroup(contextAttributeGroups.at(j)); - if (group->name(m_namePool) == contextGroup->name(m_namePool)) { + if (group->name(NamePool::Ptr(m_namePool)) == contextGroup->name(NamePool::Ptr(m_namePool))) { baseGroup = contextGroup; break; } } if (!baseGroup) { // 7.2.1 - error(QString::fromLatin1("redefined attribute group %1 has no occurrence in included schema").arg(formatKeyword(group->displayName(m_namePool)))); + error(QString::fromLatin1("redefined attribute group %1 has no occurrence in included schema").arg(formatKeyword(group->displayName(NamePool::Ptr(m_namePool))))); return; } @@ -1104,7 +1104,7 @@ void XsdSchemaParser::parseRedefine() // first set an anonymous name to the attribute group from the included // schema - baseGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(baseGroup->name(m_namePool).namespaceURI()))); + baseGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(baseGroup->name(NamePool::Ptr(m_namePool)).namespaceURI()))); // iterate over the attribute uses of the redefined attribute group // and replace the self-reference with the attribute group from the @@ -1114,8 +1114,8 @@ void XsdSchemaParser::parseRedefine() if (attributeUse->isReference()) { const XsdAttributeReference::Ptr reference(attributeUse); if (reference->type() == XsdAttributeReference::AttributeGroup) { - if (group->name(m_namePool) == reference->referenceName()) { - reference->setReferenceName(baseGroup->name(m_namePool)); + if (group->name(NamePool::Ptr(m_namePool)) == reference->referenceName()) { + reference->setReferenceName(baseGroup->name(NamePool::Ptr(m_namePool))); break; } } @@ -1132,7 +1132,7 @@ void XsdSchemaParser::parseRedefine() if (sameNameCounter == 0) { // 7.2 // we have to add them, otherwise it is not resolved and we can't validate it later - baseGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(baseGroup->name(m_namePool).namespaceURI()))); + baseGroup->setName(m_parserContext->createAnonymousName(m_namePool->stringForNamespace(baseGroup->name(NamePool::Ptr(m_namePool)).namespaceURI()))); addAttributeGroup(baseGroup); m_schemaResolver->addRedefinedAttributeGroups(group, baseGroup); @@ -1191,7 +1191,7 @@ XsdAnnotation::Ptr XsdSchemaParser::parseAnnotation() // parse attributes validateIdAttribute("annotation"); - TagValidationHandler tagValidator(XsdTagScope::Annotation, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Annotation, this, NamePool::Ptr(m_namePool)); const XsdAnnotation::Ptr annotation(new XsdAnnotation()); @@ -1344,7 +1344,7 @@ void XsdSchemaParser::parseDefaultOpenContent() validateIdAttribute("defaultOpenContent"); - TagValidationHandler tagValidator(XsdTagScope::DefaultOpenContent, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::DefaultOpenContent, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1392,7 +1392,7 @@ XsdSimpleType::Ptr XsdSchemaParser::parseGlobalSimpleType() validateIdAttribute("simpleType"); - TagValidationHandler tagValidator(XsdTagScope::GlobalSimpleType, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::GlobalSimpleType, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1438,7 +1438,7 @@ XsdSimpleType::Ptr XsdSchemaParser::parseLocalSimpleType() validateIdAttribute("simpleType"); - TagValidationHandler tagValidator(XsdTagScope::LocalSimpleType, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalSimpleType, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1501,7 +1501,7 @@ void XsdSchemaParser::parseSimpleRestriction(const XsdSimpleType::Ptr &ptr) QList enumerationFacets; QList assertionFacets; - TagValidationHandler tagValidator(XsdTagScope::SimpleRestriction, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::SimpleRestriction, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1659,7 +1659,7 @@ void XsdSchemaParser::parseList(const XsdSimpleType::Ptr &ptr) validateIdAttribute("list"); - TagValidationHandler tagValidator(XsdTagScope::List, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::List, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1713,7 +1713,7 @@ void XsdSchemaParser::parseList(const XsdSimpleType::Ptr &ptr) const XsdFacet::Ptr defaultFacet(new XsdFacet()); defaultFacet->setType(XsdFacet::WhiteSpace); defaultFacet->setFixed(true); - defaultFacet->setValue(DerivedString::fromLexical(m_namePool, XsdSchemaToken::toString(XsdSchemaToken::Collapse))); + defaultFacet->setValue(DerivedString::fromLexical(NamePool::Ptr(m_namePool), XsdSchemaToken::toString(XsdSchemaToken::Collapse))); XsdFacet::Hash facets; facets.insert(defaultFacet->type(), defaultFacet); ptr->setFacets(facets); @@ -1756,7 +1756,7 @@ void XsdSchemaParser::parseUnion(const XsdSimpleType::Ptr &ptr) AnySimpleType::List memberTypes; - TagValidationHandler tagValidator(XsdTagScope::Union, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Union, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1828,7 +1828,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMinExclusiveFacet() // as minExclusive can have a value of type anySimpleType, we just read // the string here and store it for later intepretation const QString value = readAttribute(QString::fromLatin1("value")); - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "minExclusive", value, BuiltinTypes::xsAnySimpleType); return facet; @@ -1838,7 +1838,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMinExclusiveFacet() validateIdAttribute("minExclusive"); - TagValidationHandler tagValidator(XsdTagScope::MinExclusiveFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::MinExclusiveFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1892,7 +1892,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMinInclusiveFacet() // as minInclusive can have a value of type anySimpleType, we just read // the string here and store it for later intepretation const QString value = readAttribute(QString::fromLatin1("value")); - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "minInclusive", value, BuiltinTypes::xsAnySimpleType); return facet; @@ -1902,7 +1902,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMinInclusiveFacet() validateIdAttribute("minInclusive"); - TagValidationHandler tagValidator(XsdTagScope::MinInclusiveFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::MinInclusiveFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -1956,7 +1956,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMaxExclusiveFacet() // as maxExclusive can have a value of type anySimpleType, we just read // the string here and store it for later intepretation const QString value = readAttribute(QString::fromLatin1("value")); - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "maxExclusive", value, BuiltinTypes::xsAnySimpleType); return facet; @@ -1966,7 +1966,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMaxExclusiveFacet() validateIdAttribute("maxExclusive"); - TagValidationHandler tagValidator(XsdTagScope::MaxExclusiveFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::MaxExclusiveFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2020,7 +2020,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMaxInclusiveFacet() // as maxInclusive can have a value of type anySimpleType, we just read // the string here and store it for later intepretation const QString value = readAttribute(QString::fromLatin1("value")); - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "maxInclusive", value, BuiltinTypes::xsAnySimpleType); return facet; @@ -2030,7 +2030,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMaxInclusiveFacet() validateIdAttribute("maxInclusive"); - TagValidationHandler tagValidator(XsdTagScope::MaxInclusiveFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::MaxInclusiveFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2082,7 +2082,7 @@ XsdFacet::Ptr XsdSchemaParser::parseTotalDigitsFacet() } const QString value = readAttribute(QString::fromLatin1("value")); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("value", "totalDigits", value, BuiltinTypes::xsPositiveInteger); return facet; @@ -2092,7 +2092,7 @@ XsdFacet::Ptr XsdSchemaParser::parseTotalDigitsFacet() validateIdAttribute("totalDigits"); - TagValidationHandler tagValidator(XsdTagScope::TotalDigitsFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::TotalDigitsFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2144,7 +2144,7 @@ XsdFacet::Ptr XsdSchemaParser::parseFractionDigitsFacet() } const QString value = readAttribute(QString::fromLatin1("value")); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("value", "fractionDigits", value, BuiltinTypes::xsNonNegativeInteger); return facet; @@ -2154,7 +2154,7 @@ XsdFacet::Ptr XsdSchemaParser::parseFractionDigitsFacet() validateIdAttribute("fractionDigits"); - TagValidationHandler tagValidator(XsdTagScope::FractionDigitsFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::FractionDigitsFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2206,7 +2206,7 @@ XsdFacet::Ptr XsdSchemaParser::parseLengthFacet() } const QString value = readAttribute(QString::fromLatin1("value")); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("value", "length", value, BuiltinTypes::xsNonNegativeInteger); return facet; @@ -2216,7 +2216,7 @@ XsdFacet::Ptr XsdSchemaParser::parseLengthFacet() validateIdAttribute("length"); - TagValidationHandler tagValidator(XsdTagScope::LengthFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LengthFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2268,7 +2268,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMinLengthFacet() } const QString value = readAttribute(QString::fromLatin1("value")); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("value", "minLength", value, BuiltinTypes::xsNonNegativeInteger); return facet; @@ -2278,7 +2278,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMinLengthFacet() validateIdAttribute("minLength"); - TagValidationHandler tagValidator(XsdTagScope::MinLengthFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::MinLengthFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2330,7 +2330,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMaxLengthFacet() } const QString value = readAttribute(QString::fromLatin1("value")); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("value", "maxLength", value, BuiltinTypes::xsNonNegativeInteger); return facet; @@ -2340,7 +2340,7 @@ XsdFacet::Ptr XsdSchemaParser::parseMaxLengthFacet() validateIdAttribute("maxLength"); - TagValidationHandler tagValidator(XsdTagScope::MaxLengthFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::MaxLengthFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2384,7 +2384,7 @@ XsdFacet::Ptr XsdSchemaParser::parseEnumerationFacet() // as enumeration can have a value of type anySimpleType, we just read // the string here and store it for later intepretation - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "enumeration", value); return facet; @@ -2397,7 +2397,7 @@ XsdFacet::Ptr XsdSchemaParser::parseEnumerationFacet() validateIdAttribute("enumeration"); - TagValidationHandler tagValidator(XsdTagScope::EnumerationFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::EnumerationFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2455,7 +2455,7 @@ XsdFacet::Ptr XsdSchemaParser::parseWhiteSpaceFacet() attributeContentError("value", "whiteSpace", value); return facet; } else { - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "whiteSpace", value); return facet; @@ -2466,7 +2466,7 @@ XsdFacet::Ptr XsdSchemaParser::parseWhiteSpaceFacet() validateIdAttribute("whiteSpace"); - TagValidationHandler tagValidator(XsdTagScope::WhiteSpaceFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::WhiteSpaceFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2508,7 +2508,7 @@ XsdFacet::Ptr XsdSchemaParser::parsePatternFacet() // as pattern can have a value of type anySimpleType, we just read // the string here and store it for later intepretation const QString value = readAttribute(QString::fromLatin1("value")); - DerivedString::Ptr string = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr string = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (string->hasError()) { attributeContentError("value", "pattern", value); return facet; @@ -2520,7 +2520,7 @@ XsdFacet::Ptr XsdSchemaParser::parsePatternFacet() validateIdAttribute("pattern"); - TagValidationHandler tagValidator(XsdTagScope::PatternFacet, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::PatternFacet, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2608,7 +2608,7 @@ XsdComplexType::Ptr XsdSchemaParser::parseGlobalComplexType() validateIdAttribute("complexType"); - TagValidationHandler tagValidator(XsdTagScope::GlobalComplexType, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::GlobalComplexType, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2763,7 +2763,7 @@ XsdComplexType::Ptr XsdSchemaParser::parseLocalComplexType() validateIdAttribute("complexType"); - TagValidationHandler tagValidator(XsdTagScope::LocalComplexType, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalComplexType, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2926,7 +2926,7 @@ void XsdSchemaParser::parseSimpleContent(const XsdComplexType::Ptr &complexType) // parse attributes validateIdAttribute("simpleContent"); - TagValidationHandler tagValidator(XsdTagScope::SimpleContent, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::SimpleContent, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -2976,7 +2976,7 @@ void XsdSchemaParser::parseSimpleContentRestriction(const XsdComplexType::Ptr &c QList enumerationFacets; QList assertionFacets; - TagValidationHandler tagValidator(XsdTagScope::SimpleContentRestriction, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::SimpleContentRestriction, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3117,7 +3117,7 @@ void XsdSchemaParser::parseSimpleContentExtension(const XsdComplexType::Ptr &com validateIdAttribute("extension"); - TagValidationHandler tagValidator(XsdTagScope::SimpleContentExtension, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::SimpleContentExtension, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3180,7 +3180,7 @@ void XsdSchemaParser::parseComplexContent(const XsdComplexType::Ptr &complexType validateIdAttribute("complexContent"); - TagValidationHandler tagValidator(XsdTagScope::ComplexContent, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::ComplexContent, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3226,7 +3226,7 @@ void XsdSchemaParser::parseComplexContentRestriction(const XsdComplexType::Ptr & validateIdAttribute("restriction"); - TagValidationHandler tagValidator(XsdTagScope::ComplexContentRestriction, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::ComplexContentRestriction, this, NamePool::Ptr(m_namePool)); bool hasContent = false; while (!atEnd()) { @@ -3312,7 +3312,7 @@ void XsdSchemaParser::parseComplexContentExtension(const XsdComplexType::Ptr &co validateIdAttribute("extension"); - TagValidationHandler tagValidator(XsdTagScope::ComplexContentExtension, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::ComplexContentExtension, this, NamePool::Ptr(m_namePool)); bool hasContent = false; while (!atEnd()) { @@ -3401,7 +3401,7 @@ XsdAssertion::Ptr XsdSchemaParser::parseAssertion(const XsdSchemaToken::NodeName validateIdAttribute("assertion"); - TagValidationHandler tagValidator(tag, this, m_namePool); + TagValidationHandler tagValidator(tag, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3456,7 +3456,7 @@ XsdComplexType::OpenContent::Ptr XsdSchemaParser::parseOpenContent() validateIdAttribute("openContent"); - TagValidationHandler tagValidator(XsdTagScope::OpenContent, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::OpenContent, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3504,7 +3504,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseNamedGroup() validateIdAttribute("group"); - TagValidationHandler tagValidator(XsdTagScope::NamedGroup, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::NamedGroup, this, NamePool::Ptr(m_namePool)); XsdAnnotation::Ptr annotation; @@ -3566,7 +3566,7 @@ XsdTerm::Ptr XsdSchemaParser::parseReferredGroup(const XsdParticle::Ptr &particl validateIdAttribute("group"); - TagValidationHandler tagValidator(XsdTagScope::ReferredGroup, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::ReferredGroup, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3605,7 +3605,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseAll(const NamedSchemaComponent::Ptr &pa validateIdAttribute("all"); - TagValidationHandler tagValidator(XsdTagScope::All, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::All, this, NamePool::Ptr(m_namePool)); XsdParticle::List particles; while (!atEnd()) { @@ -3682,7 +3682,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseLocalAll(const XsdParticle::Ptr &partic validateIdAttribute("all"); - TagValidationHandler tagValidator(XsdTagScope::LocalAll, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalAll, this, NamePool::Ptr(m_namePool)); XsdParticle::List particles; while (!atEnd()) { @@ -3741,7 +3741,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseChoice(const NamedSchemaComponent::Ptr XsdParticle::List particles; - TagValidationHandler tagValidator(XsdTagScope::Choice, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Choice, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3815,7 +3815,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseLocalChoice(const XsdParticle::Ptr &par XsdParticle::List particles; - TagValidationHandler tagValidator(XsdTagScope::LocalChoice, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalChoice, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3884,7 +3884,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseSequence(const NamedSchemaComponent::Pt XsdParticle::List particles; - TagValidationHandler tagValidator(XsdTagScope::Sequence, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Sequence, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -3958,7 +3958,7 @@ XsdModelGroup::Ptr XsdSchemaParser::parseLocalSequence(const XsdParticle::Ptr &p XsdParticle::List particles; - TagValidationHandler tagValidator(XsdTagScope::LocalSequence, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalSequence, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -4082,7 +4082,7 @@ XsdAttribute::Ptr XsdSchemaParser::parseGlobalAttribute() validateIdAttribute("attribute"); - TagValidationHandler tagValidator(XsdTagScope::GlobalAttribute, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::GlobalAttribute, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -4314,7 +4314,7 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseLocalAttribute(const NamedSchemaCompo validateIdAttribute("attribute"); - TagValidationHandler tagValidator(XsdTagScope::LocalAttribute, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalAttribute, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -4383,7 +4383,7 @@ XsdAttributeGroup::Ptr XsdSchemaParser::parseNamedAttributeGroup() validateIdAttribute("attributeGroup"); - TagValidationHandler tagValidator(XsdTagScope::NamedAttributeGroup, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::NamedAttributeGroup, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -4443,7 +4443,7 @@ XsdAttributeUse::Ptr XsdSchemaParser::parseReferredAttributeGroup() validateIdAttribute("attributeGroup"); - TagValidationHandler tagValidator(XsdTagScope::ReferredAttributeGroup, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::ReferredAttributeGroup, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -4581,7 +4581,7 @@ XsdElement::Ptr XsdSchemaParser::parseGlobalElement() XsdAlternative::List alternatives; - TagValidationHandler tagValidator(XsdTagScope::GlobalElement, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::GlobalElement, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -4856,7 +4856,7 @@ XsdTerm::Ptr XsdSchemaParser::parseLocalElement(const XsdParticle::Ptr &particle XsdAlternative::List alternatives; - TagValidationHandler tagValidator(XsdTagScope::LocalElement, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::LocalElement, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5015,7 +5015,7 @@ XsdIdentityConstraint::Ptr XsdSchemaParser::parseUnique() validateIdAttribute("unique"); - TagValidationHandler tagValidator(XsdTagScope::Unique, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Unique, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5065,7 +5065,7 @@ XsdIdentityConstraint::Ptr XsdSchemaParser::parseKey() validateIdAttribute("key"); - TagValidationHandler tagValidator(XsdTagScope::Key, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Key, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5120,7 +5120,7 @@ XsdIdentityConstraint::Ptr XsdSchemaParser::parseKeyRef(const XsdElement::Ptr &e validateIdAttribute("keyref"); - TagValidationHandler tagValidator(XsdTagScope::KeyRef, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::KeyRef, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5171,7 +5171,7 @@ void XsdSchemaParser::parseSelector(const XsdIdentityConstraint::Ptr &ptr) validateIdAttribute("selector"); - TagValidationHandler tagValidator(XsdTagScope::Selector, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Selector, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5213,7 +5213,7 @@ void XsdSchemaParser::parseField(const XsdIdentityConstraint::Ptr &ptr) validateIdAttribute("field"); - TagValidationHandler tagValidator(XsdTagScope::Field, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Field, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5269,7 +5269,7 @@ XsdAlternative::Ptr XsdSchemaParser::parseAlternative() validateIdAttribute("alternative"); - TagValidationHandler tagValidator(XsdTagScope::Alternative, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Alternative, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5339,7 +5339,7 @@ XsdNotation::Ptr XsdSchemaParser::parseNotation() if (hasAttribute(QString::fromLatin1("public"))) { const QString value = readAttribute(QString::fromLatin1("public")); if (!value.isEmpty()) { - const DerivedString::Ptr publicId = DerivedString::fromLexical(m_namePool, value); + const DerivedString::Ptr publicId = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (publicId->hasError()) { attributeContentError("public", "notation", value, BuiltinTypes::xsToken); return notation; @@ -5375,7 +5375,7 @@ XsdNotation::Ptr XsdSchemaParser::parseNotation() validateIdAttribute("notation"); - TagValidationHandler tagValidator(XsdTagScope::Notation, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Notation, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5498,7 +5498,7 @@ XsdWildcard::Ptr XsdSchemaParser::parseAny(const XsdParticle::Ptr &particle) validateIdAttribute("any"); - TagValidationHandler tagValidator(XsdTagScope::Any, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::Any, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5610,7 +5610,7 @@ XsdWildcard::Ptr XsdSchemaParser::parseAnyAttribute() validateIdAttribute("anyAttribute"); - TagValidationHandler tagValidator(XsdTagScope::AnyAttribute, this, m_namePool); + TagValidationHandler tagValidator(XsdTagScope::AnyAttribute, this, NamePool::Ptr(m_namePool)); while (!atEnd()) { readNext(); @@ -5684,7 +5684,7 @@ bool XsdSchemaParser::parseMinMaxConstraint(const XsdParticle::Ptr &particle, co if (hasAttribute(QString::fromLatin1("minOccurs"))) { const QString value = readAttribute(QString::fromLatin1("minOccurs")); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("minOccurs", elementName, value, BuiltinTypes::xsNonNegativeInteger); return false; @@ -5702,7 +5702,7 @@ bool XsdSchemaParser::parseMinMaxConstraint(const XsdParticle::Ptr &particle, co particle->setMaximumOccursUnbounded(true); } else { particle->setMaximumOccursUnbounded(false); - DerivedInteger::Ptr integer = DerivedInteger::fromLexical(m_namePool, value); + DerivedInteger::Ptr integer = DerivedInteger::fromLexical(NamePool::Ptr(m_namePool), value); if (integer->hasError()) { attributeContentError("maxOccurs", elementName, value, BuiltinTypes::xsNonNegativeInteger); return false; @@ -5963,7 +5963,7 @@ QString XsdSchemaParser::readXPathAttribute(const QString &attributeName, XPathT return QString(); } - QXmlNamePool namePool(m_namePool.data()); + QXmlNamePool namePool(NamePool::Ptr(m_namePool).data()); QXmlQuery::QueryLanguage language = QXmlQuery::XPath20; switch (type) { @@ -5994,7 +5994,7 @@ void XsdSchemaParser::validateIdAttribute(const char *elementName) { if (hasAttribute(QString::fromLatin1("id"))) { const QString value = readAttribute(QString::fromLatin1("id")); - DerivedString::Ptr id = DerivedString::fromLexical(m_namePool, value); + DerivedString::Ptr id = DerivedString::fromLexical(NamePool::Ptr(m_namePool), value); if (id->hasError()) { attributeContentError("id", elementName, value, BuiltinTypes::xsID); } else { @@ -6014,7 +6014,7 @@ bool XsdSchemaParser::isSchemaTag(XsdSchemaToken::NodeName tag, XsdSchemaToken:: void XsdSchemaParser::addElement(const XsdElement::Ptr &element) { - const QXmlName objectName = element->name(m_namePool); + const QXmlName objectName = element->name(NamePool::Ptr(m_namePool)); if (m_schema->element(objectName)) { error(QtXmlPatterns::tr("Element %1 already defined.").arg(formatElement(m_namePool->displayName(objectName)))); } else { @@ -6025,7 +6025,7 @@ void XsdSchemaParser::addElement(const XsdElement::Ptr &element) void XsdSchemaParser::addAttribute(const XsdAttribute::Ptr &attribute) { - const QXmlName objectName = attribute->name(m_namePool); + const QXmlName objectName = attribute->name(NamePool::Ptr(m_namePool)); if (m_schema->attribute(objectName)) { error(QtXmlPatterns::tr("Attribute %1 already defined.").arg(formatAttribute(m_namePool->displayName(objectName)))); } else { @@ -6037,12 +6037,12 @@ void XsdSchemaParser::addAttribute(const XsdAttribute::Ptr &attribute) void XsdSchemaParser::addType(const SchemaType::Ptr &type) { // we don't import redefinitions of builtin types, that just causes problems - if (m_builtinTypeNames.contains(type->name(m_namePool))) + if (m_builtinTypeNames.contains(type->name(NamePool::Ptr(m_namePool)))) return; - const QXmlName objectName = type->name(m_namePool); + const QXmlName objectName = type->name(NamePool::Ptr(m_namePool)); if (m_schema->type(objectName)) { - error(QtXmlPatterns::tr("Type %1 already defined.").arg(formatType(m_namePool, objectName))); + error(QtXmlPatterns::tr("Type %1 already defined.").arg(formatType(NamePool::Ptr(m_namePool), objectName))); } else { m_schema->addType(type); if (type->isSimpleType()) @@ -6063,9 +6063,9 @@ void XsdSchemaParser::addAnonymousType(const SchemaType::Ptr &type) void XsdSchemaParser::addAttributeGroup(const XsdAttributeGroup::Ptr &group) { - const QXmlName objectName = group->name(m_namePool); + const QXmlName objectName = group->name(NamePool::Ptr(m_namePool)); if (m_schema->attributeGroup(objectName)) { - error(QtXmlPatterns::tr("Attribute group %1 already defined.").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Attribute group %1 already defined.").arg(formatKeyword(NamePool::Ptr(m_namePool), objectName))); } else { m_schema->addAttributeGroup(group); m_componentLocationHash.insert(group, currentSourceLocation()); @@ -6074,9 +6074,9 @@ void XsdSchemaParser::addAttributeGroup(const XsdAttributeGroup::Ptr &group) void XsdSchemaParser::addElementGroup(const XsdModelGroup::Ptr &group) { - const QXmlName objectName = group->name(m_namePool); + const QXmlName objectName = group->name(NamePool::Ptr(m_namePool)); if (m_schema->elementGroup(objectName)) { - error(QtXmlPatterns::tr("Element group %1 already defined.").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Element group %1 already defined.").arg(formatKeyword(NamePool::Ptr(m_namePool), objectName))); } else { m_schema->addElementGroup(group); m_componentLocationHash.insert(group, currentSourceLocation()); @@ -6085,9 +6085,9 @@ void XsdSchemaParser::addElementGroup(const XsdModelGroup::Ptr &group) void XsdSchemaParser::addNotation(const XsdNotation::Ptr ¬ation) { - const QXmlName objectName = notation->name(m_namePool); + const QXmlName objectName = notation->name(NamePool::Ptr(m_namePool)); if (m_schema->notation(objectName)) { - error(QtXmlPatterns::tr("Notation %1 already defined.").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Notation %1 already defined.").arg(formatKeyword(NamePool::Ptr(m_namePool), objectName))); } else { m_schema->addNotation(notation); m_componentLocationHash.insert(notation, currentSourceLocation()); @@ -6096,9 +6096,9 @@ void XsdSchemaParser::addNotation(const XsdNotation::Ptr ¬ation) void XsdSchemaParser::addIdentityConstraint(const XsdIdentityConstraint::Ptr &constraint) { - const QXmlName objectName = constraint->name(m_namePool); + const QXmlName objectName = constraint->name(NamePool::Ptr(m_namePool)); if (m_schema->identityConstraint(objectName)) { - error(QtXmlPatterns::tr("Identity constraint %1 already defined.").arg(formatKeyword(m_namePool, objectName))); + error(QtXmlPatterns::tr("Identity constraint %1 already defined.").arg(formatKeyword(NamePool::Ptr(m_namePool), objectName))); } else { m_schema->addIdentityConstraint(constraint); m_componentLocationHash.insert(constraint, currentSourceLocation()); @@ -6109,7 +6109,7 @@ void XsdSchemaParser::addFacet(const XsdFacet::Ptr &facet, XsdFacet::Hash &facet { // @see http://www.w3.org/TR/xmlschema-2/#src-single-facet-value if (facets.contains(facet->type())) { - error(QtXmlPatterns::tr("Duplicated facets in simple type %1.").arg(formatType(m_namePool, type))); + error(QtXmlPatterns::tr("Duplicated facets in simple type %1.").arg(formatType(NamePool::Ptr(m_namePool), type))); return; } diff --git a/src/xmlpatterns/schema/qxsdschemaparser_p.h b/src/xmlpatterns/schema/qxsdschemaparser_p.h index 7054b87..93163de 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser_p.h +++ b/src/xmlpatterns/schema/qxsdschemaparser_p.h @@ -704,12 +704,12 @@ namespace QPatternist */ inline bool isSchemaTag(XsdSchemaToken::NodeName tag, XsdSchemaToken::NodeName token, XsdSchemaToken::NodeName namespaceToken) const; - XsdSchemaContext::Ptr m_context; - XsdSchemaParserContext::Ptr m_parserContext; - NamePool::Ptr m_namePool; + XsdSchemaContext *m_context; + XsdSchemaParserContext *m_parserContext; + NamePool *m_namePool; NamespaceSupport m_namespaceSupport; - XsdSchemaResolver::Ptr m_schemaResolver; - XsdSchema::Ptr m_schema; + XsdSchemaResolver *m_schemaResolver; + XsdSchema *m_schema; QString m_targetNamespace; QString m_attributeFormDefault; diff --git a/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp b/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp index 35ededd..1757d25 100644 --- a/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp +++ b/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp @@ -260,8 +260,9 @@ using namespace QPatternist; void XsdSchemaParser::setupStateMachines() { + NamePool::Ptr namePool(m_namePool); { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, simpleType?) : attribute const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -277,7 +278,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, ((simpleType | complexType)?, alternative*, (unique | key | keyref)*)) : element const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -320,7 +321,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (simpleContent | complexContent | (openContent?, (group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?), assert*))) : complexType const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -385,7 +386,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (restriction | extension)) : simpleContent/complexContent const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartState); @@ -404,7 +405,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern | assertion)*)?, ((attribute | attributeGroup)*, anyAttribute?), assert*) : simpleContent restriction const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -503,7 +504,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, ((attribute | attributeGroup)*, anyAttribute?), assert*) : simple content extension const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -536,7 +537,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, openContent?, ((group | all | choice | sequence)?, ((attribute | attributeGroup)*, anyAttribute?), assert*)) : complex content restriction/complex content extension const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -596,7 +597,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, ((attribute | attributeGroup)*, anyAttribute?)) : named attribute group const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -621,7 +622,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (all | choice | sequence)?) : group const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -642,7 +643,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (element | any)*) : all const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -664,7 +665,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (element | group | choice | sequence | any)*) : choice sequence const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -697,7 +698,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?) : any/selector/field/notation/include/import/referred attribute group/anyAttribute/all facets/assert const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -730,7 +731,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (selector, field+)) : unique/key/keyref const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartState); @@ -751,7 +752,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (simpleType | complexType)?) : alternative const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -769,7 +770,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (appinfo | documentation)* : annotation const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -785,7 +786,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (restriction | list | union)) : simpleType const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartState); @@ -806,7 +807,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, (simpleType?, (minExclusive | minInclusive | maxExclusive | maxInclusive | totalDigits | fractionDigits | length | minLength | maxLength | enumeration | whiteSpace | pattern | assertion)*)) : simple type restriction const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -877,7 +878,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, simpleType?) : list const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -893,7 +894,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, simpleType*) : union const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -910,7 +911,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for ((include | import | redefine |i override | annotation)*, (defaultOpenContent, annotation*)?, (((simpleType | complexType | group | attributeGroup) | element | attribute | notation), annotation*)*) : schema const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -987,7 +988,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation?, any) : defaultOpenContent const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -1003,7 +1004,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation | (simpleType | complexType | group | attributeGroup))* : redefine const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -1025,7 +1026,7 @@ void XsdSchemaParser::setupStateMachines() } { - XsdStateMachine machine(m_namePool); + XsdStateMachine machine(namePool); // setup state machine for (annotation | (simpleType | complexType | group | attributeGroup | element | attribute | notation))* : override const XsdStateMachine::StateId startState = machine.addState(XsdStateMachine::StartEndState); @@ -1055,56 +1056,57 @@ void XsdSchemaParser::setupStateMachines() void XsdSchemaParser::setupBuiltinTypeNames() { + NamePool::Ptr namePool(m_namePool); m_builtinTypeNames.reserve(48); - m_builtinTypeNames.insert(BuiltinTypes::xsAnyType->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsAnySimpleType->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsUntyped->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsAnyAtomicType->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsUntypedAtomic->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsDateTime->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsDate->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsTime->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsDuration->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsYearMonthDuration->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsDayTimeDuration->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsFloat->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsDouble->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsInteger->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsDecimal->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNonPositiveInteger->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNegativeInteger->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsLong->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsInt->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsShort->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsByte->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNonNegativeInteger->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedLong->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedInt->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedShort->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedByte->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsPositiveInteger->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsGYearMonth->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsGYear->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsGMonthDay->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsGDay->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsGMonth->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsBoolean->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsBase64Binary->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsHexBinary->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsAnyURI->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsQName->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsString->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNormalizedString->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsToken->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsLanguage->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNMTOKEN->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsName->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNCName->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsID->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsIDREF->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsENTITY->name(m_namePool)); - m_builtinTypeNames.insert(BuiltinTypes::xsNOTATION->name(m_namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsAnyType->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsAnySimpleType->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsUntyped->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsAnyAtomicType->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsUntypedAtomic->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsDateTime->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsDate->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsTime->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsDuration->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsYearMonthDuration->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsDayTimeDuration->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsFloat->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsDouble->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsInteger->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsDecimal->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNonPositiveInteger->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNegativeInteger->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsLong->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsInt->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsShort->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsByte->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNonNegativeInteger->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedLong->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedInt->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedShort->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsUnsignedByte->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsPositiveInteger->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsGYearMonth->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsGYear->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsGMonthDay->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsGDay->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsGMonth->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsBoolean->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsBase64Binary->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsHexBinary->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsAnyURI->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsQName->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsString->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNormalizedString->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsToken->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsLanguage->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNMTOKEN->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsName->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNCName->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsID->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsIDREF->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsENTITY->name(namePool)); + m_builtinTypeNames.insert(BuiltinTypes::xsNOTATION->name(namePool)); } QT_END_NAMESPACE diff --git a/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh b/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh index a61f0a1..894fa5a 100755 --- a/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh +++ b/tests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh @@ -47,6 +47,8 @@ # # To run the script, Saxon package version 9 and above shall be installed # +# Installation instruction +# http://johnbokma.com/mexit/2011/07/04/installing-saxon-he-ubuntu.html DIRECTORY_NAME="xmlschema2006-11-06" ARCHIVE_NAME="xsts-2007-06-20.tar.gz" @@ -62,5 +64,6 @@ rm $ARCHIVE_NAME #CVSROOT=:pserver:anonymous@dev.w3.org:/sources/public cvs checkout -d xmlschema2006-11-06-new XML/xml-schema-test-suite/2004-01-14/xmlschema2006-11-06 #Saxon need to be installed before the following command works. -java -jar /usr/share/java/saxon.jar -xsl:unifyCatalog.xsl -s:$DIRECTORY_NAME/suite.xml > testSuites.xml +#java -jar /usr/share/java/saxonb.jar -xsl:unifyCatalog.xsl -s:$DIRECTORY_NAME/suite.xml > testSuites.xml +saxon9he-xslt -xsl:unifyCatalog.xsl -s:$DIRECTORY_NAME/suite.xml > testSuites.xml -- cgit v0.12 From 265430f71ac7c3bf79d7fbf7f02e9a911489c475 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Wed, 21 Sep 2011 13:16:34 +0300 Subject: Symbian: Fix qmdiarea autotest regressions Some cases in qmdiarea test passed on 4.7 but failed on 4.8. A closer examination reveals that the cases are in any case invalid in Symbian and should be skipped like in WinCE and Mac. Task-number: QT-5254 Reviewed-by: Sami Merila --- tests/auto/qmdiarea/tst_qmdiarea.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/auto/qmdiarea/tst_qmdiarea.cpp b/tests/auto/qmdiarea/tst_qmdiarea.cpp index c752362..f782bf8 100644 --- a/tests/auto/qmdiarea/tst_qmdiarea.cpp +++ b/tests/auto/qmdiarea/tst_qmdiarea.cpp @@ -661,7 +661,7 @@ void tst_QMdiArea::changeWindowTitle() #else widget->setWindowState(Qt::WindowMaximized); #endif -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QTRY_COMPARE( mw->windowTitle(), QString::fromLatin1("%1 - [%2]").arg(mwc).arg(wc) ); #endif @@ -671,7 +671,7 @@ void tst_QMdiArea::changeWindowTitle() qApp->processEvents(); QTest::qWaitForWindowShown(mw); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QTRY_COMPARE( mw->windowTitle(), QString::fromLatin1("%1 - [%2]").arg(mwc).arg(wc) ); #endif @@ -689,7 +689,7 @@ void tst_QMdiArea::changeWindowTitle() widget->setWindowState(Qt::WindowMaximized); #endif qApp->processEvents(); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QTRY_COMPARE( mw->windowTitle(), QString::fromLatin1("%1 - [%2]").arg(mwc).arg(wc) ); widget->setWindowTitle( wc2 ); QCOMPARE( mw->windowTitle(), QString::fromLatin1("%1 - [%2]").arg(mwc).arg(wc2) ); @@ -707,7 +707,7 @@ void tst_QMdiArea::changeWindowTitle() #endif qApp->processEvents(); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QCOMPARE( mw->windowTitle(), QString::fromLatin1("%1 - [%2]").arg(mwc2).arg(wc2) ); #endif #ifdef USE_SHOW @@ -716,7 +716,7 @@ void tst_QMdiArea::changeWindowTitle() widget->setWindowState(Qt::WindowNoState); #endif qApp->processEvents(); -#if defined(Q_WS_MAC) || defined(Q_OS_WINCE) +#if defined(Q_WS_MAC) || defined(Q_OS_WINCE) || defined(Q_OS_SYMBIAN) QCOMPARE(mw->windowTitle(), mwc); #else QCOMPARE( mw->windowTitle(), mwc2 ); @@ -728,7 +728,7 @@ void tst_QMdiArea::changeWindowTitle() widget->setWindowState(Qt::WindowMaximized); #endif qApp->processEvents(); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QCOMPARE( mw->windowTitle(), QString::fromLatin1("%1 - [%2]").arg(mwc2).arg(wc2) ); #endif @@ -777,7 +777,7 @@ void tst_QMdiArea::changeModified() QCOMPARE( mw->isWindowModified(), false); QCOMPARE( widget->isWindowModified(), true); widget->setWindowState(Qt::WindowMaximized); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QCOMPARE( mw->isWindowModified(), true); #endif QCOMPARE( widget->isWindowModified(), true); @@ -787,7 +787,7 @@ void tst_QMdiArea::changeModified() QCOMPARE( widget->isWindowModified(), true); widget->setWindowState(Qt::WindowMaximized); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QCOMPARE( mw->isWindowModified(), true); #endif QCOMPARE( widget->isWindowModified(), true); @@ -797,7 +797,7 @@ void tst_QMdiArea::changeModified() QCOMPARE( widget->isWindowModified(), false); widget->setWindowModified(true); -#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined(Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QCOMPARE( mw->isWindowModified(), true); #endif QCOMPARE( widget->isWindowModified(), true); @@ -2046,7 +2046,7 @@ void tst_QMdiArea::delayedPlacement() void tst_QMdiArea::iconGeometryInMenuBar() { -#if !defined (Q_WS_MAC) && !defined(Q_OS_WINCE) +#if !defined (Q_WS_MAC) && !defined(Q_OS_WINCE) && !defined(Q_OS_SYMBIAN) QMainWindow mainWindow; QMenuBar *menuBar = mainWindow.menuBar(); QMdiArea *mdiArea = new QMdiArea; -- cgit v0.12 From 128c4166ba445112ab73dd98b3e403da0489656e Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Tue, 20 Sep 2011 13:42:35 +0200 Subject: Only limit cursor position when line is wrapped Reviewed-by: Eskil --- src/gui/text/qtextlayout.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index a2662c4..a86cf05 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2612,7 +2612,7 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const x += eng->offsetInLigature(si, pos, end, glyph_pos); } - if (x > line.width) + if (eng->option.wrapMode() != QTextOption::NoWrap && x > line.width) x = line.width; *cursorPos = pos + si->position; -- cgit v0.12 From 3107ec55be7053b451a37221b1fb6ab278eb7c1f Mon Sep 17 00:00:00 2001 From: Timo Kauppinen Date: Wed, 13 Apr 2011 10:18:15 +0300 Subject: Added SQL driver plugin implementation for Symbian. The Symbian SQL driver enables the usage of native Symbian SQL server from Qt code. Symbian SQL driver also supports the usage of Symbian platform security capabilities. Task-number: QT-4860 Reviewed-by: Honglei Zhang --- src/plugins/sqldrivers/symsql/main.cpp | 81 ++ src/plugins/sqldrivers/symsql/symsql.pro | 13 + src/sql/drivers/symsql/qsql_symsql.cpp | 1236 ++++++++++++++++++++++++++++++ src/sql/drivers/symsql/qsql_symsql.h | 132 ++++ src/sql/drivers/symsql/qsql_symsql.pri | 5 + 5 files changed, 1467 insertions(+) create mode 100644 src/plugins/sqldrivers/symsql/main.cpp create mode 100644 src/plugins/sqldrivers/symsql/symsql.pro create mode 100644 src/sql/drivers/symsql/qsql_symsql.cpp create mode 100644 src/sql/drivers/symsql/qsql_symsql.h create mode 100644 src/sql/drivers/symsql/qsql_symsql.pri diff --git a/src/plugins/sqldrivers/symsql/main.cpp b/src/plugins/sqldrivers/symsql/main.cpp new file mode 100644 index 0000000..0fd8756 --- /dev/null +++ b/src/plugins/sqldrivers/symsql/main.cpp @@ -0,0 +1,81 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include +#include +#include "../../../sql/drivers/symsql/qsql_symsql.h" + +QT_BEGIN_NAMESPACE + +class QSymSQLDriverPlugin : public QSqlDriverPlugin +{ +public: + QSymSQLDriverPlugin(); + + QSqlDriver* create(const QString &); + QStringList keys() const; +}; + +QSymSQLDriverPlugin::QSymSQLDriverPlugin() + : QSqlDriverPlugin() +{ +} + +QSqlDriver* QSymSQLDriverPlugin::create(const QString &name) +{ + if (name == QLatin1String("QSYMSQL")) { + QSymSQLDriver* driver = new QSymSQLDriver(); + return driver; + } + return 0; +} + +QStringList QSymSQLDriverPlugin::keys() const +{ + QStringList l; + l.append(QLatin1String("QSYMSQL")); + return l; +} + +Q_EXPORT_STATIC_PLUGIN(QSymSQLDriverPlugin) +Q_EXPORT_PLUGIN2(qsymsql, QSymSQLDriverPlugin) + +QT_END_NAMESPACE diff --git a/src/plugins/sqldrivers/symsql/symsql.pro b/src/plugins/sqldrivers/symsql/symsql.pro new file mode 100644 index 0000000..8b8434c --- /dev/null +++ b/src/plugins/sqldrivers/symsql/symsql.pro @@ -0,0 +1,13 @@ +TARGET = qsymsql +PLUGIN_TYPE = sqldrivers +SOURCES = main.cpp + +include(../../../sql/drivers/symsql/qsql_symsql.pri) +include(../qsqldriverbase.pri) + +symbian: { +pluginDep.sources = $${TARGET}.dll +pluginDep.path = $${QT_PLUGINS_BASE_DIR}/$${PLUGIN_TYPE} +DEPLOYMENT += pluginDep +} + diff --git a/src/sql/drivers/symsql/qsql_symsql.cpp b/src/sql/drivers/symsql/qsql_symsql.cpp new file mode 100644 index 0000000..a015400 --- /dev/null +++ b/src/sql/drivers/symsql/qsql_symsql.cpp @@ -0,0 +1,1236 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "qsql_symsql.h" + + +#define SYMBIAN_ENABLE_PUBLIC_PLATFORM_HEADER_SPLIT + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../../../corelib/kernel/qcore_symbian_p.h" + +#if defined Q_OS_WIN +# include +#else +# include +#endif + +#include +#include + +const char* qCapabilityNames[ECapability_Limit] = +{ + "TCB", + "CommDD", + "PowerMgmt", + "MultimediaDD", + "ReadDeviceData", + "WriteDeviceData", + "DRM", + "TrustedUI", + "ProtServ", + "DiskAdmin", + "NetworkControl", + "AllFiles", + "SwEvent", + "NetworkServices", + "LocalServices", + "ReadUserData", + "WriteUserData", + "Location", + "SurroundingsDD", + "UserEnvironment" +}; + +const char qCapabilityNone[] = "None"; + + +Q_DECLARE_METATYPE(RSqlDatabase) +Q_DECLARE_METATYPE(RSqlStatement) + +QT_BEGIN_NAMESPACE + +const QString valueSeparator(QLatin1String("=")); +const QString fieldSeparator(QLatin1String(",")); + +static QString _q_escapeIdentifier(const QString &identifier) +{ + QString res = identifier; + if(!identifier.isEmpty() && identifier.left(1) != QString(QLatin1Char('"')) && identifier.right(1) != QString(QLatin1Char('"')) ) { + res.replace(QLatin1Char('"'), QLatin1String("\"\"")); + res.prepend(QLatin1Char('"')).append(QLatin1Char('"')); + res.replace(QLatin1Char('.'), QLatin1String("\".\"")); + } + return res; +} + +static QVariant::Type qGetColumnType(const TSqlColumnType coltype) +{ + //ToDo Check Implmentation + switch(coltype){ + case ESqlInt: + case ESqlInt64: + return QVariant::Int; + case ESqlReal: + return QVariant::Double; + case ESqlBinary: + return QVariant::ByteArray; + case ESqlText: + case ESqlNull: + default: + return QVariant::String; + } +} + +static QVariant::Type qGetColumnType(const QString &tpName) + { + const QString typeName = tpName.toLower(); + + if (typeName == QLatin1String("integer") + || typeName == QLatin1String("int")) + return QVariant::Int; + if (typeName == QLatin1String("double") + || typeName == QLatin1String("float") + || typeName == QLatin1String("real") + || typeName.startsWith(QLatin1String("numeric"))) + return QVariant::Double; + if (typeName == QLatin1String("blob")) + return QVariant::ByteArray; + return QVariant::String; +} + +static QSqlError qMakeError(RSqlDatabase& access, const QString &descr, QSqlError::ErrorType type, + int errorCode = -1) +{ + return QSqlError(descr, + QString::fromUtf16(static_cast(access.LastErrorMessage().Ptr())), + type, errorCode); +} + + +static QSqlError gMakeErrorOpen(const QString &descr, QSqlError::ErrorType type, + TInt errorCode) +{ + return QSqlError(descr, QLatin1String(""), type, errorCode); +} + +class QSymSQLDriverPrivate +{ +public: + inline QSymSQLDriverPrivate() {} + RSqlDatabase access; +}; + +class QSymSQLResultPrivate +{ +public: + QSymSQLResultPrivate(QSymSQLResult *res); + void cleanup(); + bool fetchNext(bool initialFetch); + // initializes the recordInfo + void initColumns(QSqlRecord& rec); + void finalize(); + + QSymSQLResult* q; + RSqlDatabase access; + RSqlStatement stmt; + bool skipRow; // skip the next fetchNext()? + bool skippedStatus; // the status of the fetchNext() that's skipped + bool prepareCalled; +}; + +QSymSQLResultPrivate::QSymSQLResultPrivate(QSymSQLResult* res) : q(res), +skipRow(false), skippedStatus(false), prepareCalled(false) +{ +} + +void QSymSQLResultPrivate::cleanup() +{ + finalize(); + skippedStatus = false; + skipRow = false; + q->setAt(QSql::BeforeFirstRow); + q->setActive(false); +} + +void QSymSQLResultPrivate::finalize() +{ + prepareCalled = false; + stmt.Close(); +} + +void QSymSQLResultPrivate::initColumns(QSqlRecord& rec) +{ + int nCols = stmt.ColumnCount(); + if (nCols <= 0) { + q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", + "Error retreving column count"), QSqlError::UnknownError, nCols)); + return; + } + + for (int i = 0; i < nCols; ++i) { + TPtrC cName; + TInt err = stmt.ColumnName(i, cName); + + if (err != KErrNone) { + q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", + "Error retreving column name"), QSqlError::UnknownError, err)); + return; + } + + QString colName = qt_TDesC2QString(cName); + + // must use typeName for resolving the type to match QSymSQLDriver::record + TPtrC tName; + TSqlColumnType decColType; + err = stmt.DeclaredColumnType(i, decColType); + + if (err != KErrNone) { + q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", + "Error retreving column type"), QSqlError::UnknownError, err)); + return; + } + + int dotIdx = colName.lastIndexOf(QLatin1Char('.')); + QSqlField fld(colName.mid(dotIdx == -1 ? 0 : dotIdx + 1), qGetColumnType(decColType)); + + //int stp = stmt.ColumnType(i); Useless lines of code, comment modified according to review + //fld.setSqlType(stp); Useless lines of code, comment modified according to review + rec.append(fld); + } +} + +bool QSymSQLResultPrivate::fetchNext(bool initialFetch) +{ + int res; + + if (skipRow) { + // already fetched + Q_ASSERT(!initialFetch); + skipRow = false; + return skippedStatus; + } + + skipRow = initialFetch; + res = stmt.Next(); + + switch(res) { + case KSqlAtRow: + return true; + case KSqlAtEnd: + stmt.Reset(); + //Removed debug qDebug()<<"query Reset(1)"<setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", + "Unable to fetch row"), QSqlError::ConnectionError, res)); + q->setAt(QSql::AfterLastRow); + return false; + case KSqlErrMisuse: + case KSqlErrBusy: + default: + // something wrong, don't get col info, but still return false + q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", + "Unable to fetch row"), QSqlError::ConnectionError, res)); + stmt.Reset(); + //Removed debug qDebug()<<"query Reset(3)"<setAt(QSql::AfterLastRow); + return false; + } + return false; +} + +////////////////////////////////// QSymSQLResult ///////////////////////////////////////////////// + +QSymSQLResult::QSymSQLResult(const QSymSQLDriver* db) + : QSqlResult(db) +{ + d = new QSymSQLResultPrivate(this); + d->access = db->d->access; +} + + +QSymSQLResult::~QSymSQLResult() +{ + d->cleanup(); + delete d; +} + +bool QSymSQLResult::reset(const QString &query) +{ + if (!prepare(query)) + return false; + + return exec(); +} + +bool QSymSQLResult::prepare(const QString &query) +{ + if (!driver() || !driver()->isOpen() || driver()->isOpenError()) + return false; + + d->cleanup(); + setSelect(false); + + TInt res = d->stmt.Prepare(d->access, qt_QString2TPtrC(query)); + //Removed debug qDebug()<<"query:"<access, QCoreApplication::translate("QSymSQLResult", + "Unable to execute statement"), QSqlError::StatementError, res)); + d->finalize(); + return false; + } + + d->prepareCalled = true; + + return true; +} + +bool QSymSQLResult::exec() +{ + if(d->prepareCalled == false) { + setLastError(qMakeError(d->access, QCoreApplication::translate("QSymSQLResult", + "Statement is not prepared"), QSqlError::StatementError, KErrGeneral)); + return false; + } + + const QVector values = boundValues(); + + d->skippedStatus = false; + d->skipRow = false; + setAt(QSql::BeforeFirstRow); + setLastError(QSqlError()); + int res = d->stmt.Reset(); + + //Removed debug qDebug()<<"query Reset(4)"<access, QCoreApplication::translate("QSymSQLResult", + "Unable to reset statement"), QSqlError::StatementError, res)); + d->finalize(); + return false; + } + TPtrC tmp; + TInt paramCount = 0; + while(d->stmt.ParamName(paramCount, tmp) == KErrNone) + { + paramCount++; + } + + if (paramCount == values.count()) { + for (int i = 0; i < paramCount; ++i) { + res = KErrNone; + const QVariant value = values.at(i); + + if (value.isNull()) { + res = d->stmt.BindNull(i); //replaced i + 1 with i + } else { + switch (value.type()) { + case QVariant::ByteArray: { + //ToDo check how to handle SQLITE_STATIC + const QByteArray *ba = static_cast(value.constData()); + TPtrC8 data(reinterpret_cast(ba->constData()), ba->length()); + res = d->stmt.BindBinary(i, data); //replaced i + 1 with i + //res = sqlite3_bind_blob(d->stmt, i + 1, ba->constData(), + // ba->size(), SQLITE_STATIC); + break; } + case QVariant::Int: + res = d->stmt.BindInt(i, value.toInt()); //replaced i + 1 with i + break; + case QVariant::Double: + res = d->stmt.BindReal(i, value.toDouble()); //replaced i + 1 with i + + break; + case QVariant::UInt: + case QVariant::LongLong: + res = d->stmt.BindReal(i, value.toLongLong()); //replaced i + 1 with i + break; + + case QVariant::String: { + // lifetime of string == lifetime of its qvariant + //ToDo check how to handle SQLITE_STATIC + const QString *str = static_cast(value.constData()); + res = d->stmt.BindText(i, qt_QString2TPtrC(*str)); // replaced i + 1 with i + //res = sqlite3_bind_text16(d->stmt, i + 1, str->utf16(), + // (str->size()) * sizeof(QChar), SQLITE_STATIC); + break; } + default: { + //ToDo check how to handle SQLITE_TRANSIENT + QString str = value.toString(); + res = d->stmt.BindText(i, qt_QString2TPtrC(str)); //replaced i + 1 with i + // SQLITE_TRANSIENT makes sure that sqlite buffers the data + //res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(), + // (str.size()) * sizeof(QChar), SQLITE_TRANSIENT); + break; } + } + } + if (res != KErrNone) { + setLastError(qMakeError(d->access, QCoreApplication::translate("QSymSQLResult", + "Unable to bind parameters"), QSqlError::StatementError, res)); + d->finalize(); + return false; + } + } + } else { + setLastError(QSqlError(QCoreApplication::translate("QSymSQLResult", + "Parameter count mismatch"), QString(), QSqlError::StatementError)); + return false; + } + + d->skippedStatus = d->fetchNext(true); + + if (lastError().isValid()) { + setSelect(false); + setActive(false); + return false; + } + + if(d->stmt.ColumnCount() > 0) { + //If there is something, it has to be select + setSelect(true); + } else { + //If there isn't it might be just bad query, let's check manually whether we can find SELECT + QString query = this->lastQuery(); + query = query.trimmed(); + query = query.toLower(); + + //Just check whether there is one in the beginning, don't know if this is enough + //Comments should be at the end of line if those are passed + //For some reason, case insensitive indexOf didn't work for me + if(query.indexOf(QLatin1String("select")) == 0) { + setSelect(true); + } else { + setSelect(false); + } + } + + setActive(true); + return true; +} + + +int QSymSQLResult::size() +{ + return -1; +} + +int QSymSQLResult::numRowsAffected() +{ + return -1; +} + +QVariant QSymSQLResult::lastInsertId() const +{ + if (isActive()) { + qint64 id = static_cast(d->access.LastInsertedRowId()); + if (id){ + return id; + } + } + + return QVariant(); +} + +QSqlRecord QSymSQLResult::record() const +{ + if (!isActive() || !isSelect()) + return QSqlRecord(); + + QSqlRecord res; + d->initColumns(res); + + return res; +} + +QVariant QSymSQLResult::handle() const +{ + return qVariantFromValue(d->stmt); +} + + +// ToDo is a virtual_hook needed? +void QSymSQLResult::virtual_hook(int id, void *data) +{ + switch (id) + { + case QSqlResult::DetachFromResultSet: + d->stmt.Reset(); + //Removed debug qDebug()<<"query Reset(5)"<stmt.ColumnType(idx)) { + case ESqlBinary: + { + TPtrC8 data; + d->stmt.ColumnBinary(idx, data); + return QByteArray(reinterpret_cast(data.Ptr()), data.Length()); + + //ToDo - check if this is correct + // values[i + idx] = QByteArray(static_cast( + // sqlite3_column_blob(stmt, i)), + // stmt.ColumnSize(i)); + break; + } + case ESqlInt: + r = QVariant(d->stmt.ColumnInt(idx)); + break; + case ESqlInt64: + r = QVariant(d->stmt.ColumnInt64(idx)); + break; + case ESqlReal: + switch(numericalPrecisionPolicy()) { + case QSql::LowPrecisionInt32: + r = QVariant(d->stmt.ColumnInt(idx)); + break; + case QSql::LowPrecisionInt64: + r = QVariant(d->stmt.ColumnInt64(idx)); + break; + case QSql::LowPrecisionDouble: + r = QVariant(d->stmt.ColumnReal(idx)); + break; + case QSql::HighPrecision: + default: + TPtrC res; + d->stmt.ColumnText(idx, res); + r = QVariant(qt_TDesC2QString(res)); + //values[i + idx] = QString::fromUtf16(res.Ptr(), res.Length()); + + //ToDo - Check if the implementation is correct + //values[i + idx] = QString::fromUtf16(static_cast( + // sqlite3_column_text16(stmt, i)), + // sqlite3_column_bytes16(stmt, i) / sizeof(ushort)); + break; + }; + break; + case ESqlNull: + r = QVariant(QVariant::String); + break; + default: + TPtrC res; + d->stmt.ColumnText(idx, res); + r = QVariant(qt_TDesC2QString(res)); + //values[i + idx] = QString::fromUtf16(res.Ptr(), res.Length()); + + //ToDo - Check if the implementation is correct + //values[i + idx] = QString::fromUtf16(static_cast( + // sqlite3_column_text16(stmt, i)), + // sqlite3_column_bytes16(stmt, i) / sizeof(ushort)); + break; + } + //Removed debug qDebug()<<"SymSql, Data:"<stmt.IsNull(i); +} + +bool QSymSQLResult::fetch(int i) +{ + //Single return point modified according to review + bool retVal = true; + + if(i < 0 || !isActive()) { + retVal = false; + } else { + //Removed for benchmark, comment modified according to review qDebug()<<"fetch i="<stmt.Reset(); + setAt(-1); + d->skipRow = false; + } + + while(at() < i){ + if(!d->fetchNext(false)) { + retVal = false; + break; + } + + setAt(at() + 1); + } + } + + return retVal; +} + +bool QSymSQLResult::fetchNext() +{ + bool res = d->fetchNext(false); + if(res){ + setAt(at()+1); + } + + return res; +} + +bool QSymSQLResult::fetchPrevious() +{ + return QSqlResult::fetchPrevious(); +} + +bool QSymSQLResult::fetchFirst() +{ + return fetch(0); +} + +bool QSymSQLResult::fetchLast() +{ + if(!isActive()){ + return false; + } + + if(at() <= -1){ + if(!fetchFirst()){ + return false; + } + } + + TInt res; + qDebug() << at(); + + do + { + res = d->stmt.Next(); + setAt(at()+1); + } + while(res == KSqlAtRow); + + if(res != KSqlAtEnd){ + return false; + } + + d->skippedStatus = false; + d->skipRow = false; + + return fetchPrevious(); +} +////////////////////////////////// QSymSQLDriver ////////////////////////////////////////// + +QSymSQLDriver::QSymSQLDriver(QObject * parent) + : QSqlDriver(parent) +{ + d = new QSymSQLDriverPrivate(); +} + +QSymSQLDriver::QSymSQLDriver(RSqlDatabase& connection, QObject *parent) + : QSqlDriver(parent) +{ + d = new QSymSQLDriverPrivate(); + d->access = connection; + setOpen(true); + setOpenError(false); +} + + +QSymSQLDriver::~QSymSQLDriver() +{ + d->access.Close(); + delete d; +} + +bool QSymSQLDriver::hasFeature(DriverFeature f) const +{ + switch (f) { + case BLOB: + case Transactions: + case Unicode: + case PreparedQueries: + case PositionalPlaceholders: + case SimpleLocking: + case FinishQuery: + case LowPrecisionNumbers: + case LastInsertId: + case NamedPlaceholders: + return true; + case QuerySize: + case BatchOperations: + case EventNotifications: + case MultipleResultSets: + return false; + } + return false; +} + +/*! + Converts capability string to TCapability +*/ +TCapability qMatchCapStr(QString& str) +{ + TCapability cap = ECapability_HardLimit; + + for(int i = 0; i < static_cast(ECapability_Limit); i++) { + if(str.compare(QLatin1String(qCapabilityNames[i]), Qt::CaseInsensitive) == 0){ + cap = static_cast(i); + break; + } + } + + //Special case, we allow ECapability_None to be defined + if(cap == ECapability_HardLimit && + str.compare(QLatin1String(qCapabilityNone), Qt::CaseInsensitive) == 0) { + cap = ECapability_None; + } + + return cap; +} + +bool qExtractSecurityPolicyFromString(const QString &string, TSecurityPolicy &policy) +{ + int startPos = string.indexOf(QLatin1Char('=')); + QStringList values; + bool ret = false; + + if(startPos == -1) { + values = string.split(QLatin1Char(','), QString::SkipEmptyParts); + } else { + values = string.mid(startPos + 1).split(QLatin1Char(','), QString::SkipEmptyParts); + } + + if(values.count() > 0) { + const QString findVid(QLatin1String("vid[")); + const QString findSid(QLatin1String("sid[")); + const int MaxCapCount = 7; + const int VidMaxCount = 3; + const int SidMaxCount = 3; + + TCapability capList[MaxCapCount] = { ECapability_None,ECapability_None,ECapability_None, + ECapability_None,ECapability_None,ECapability_None,ECapability_None }; + + bool isVID = false; + bool isSID = false; + + QString idString(QLatin1String("")); + int maxAllowed = MaxCapCount; + + if(values[0].contains(findVid, Qt::CaseInsensitive)) { + idString = values[0].remove(findVid, Qt::CaseInsensitive); + idString = idString.remove(QLatin1Char(']')); + values.removeAt(0); + isVID = true; + maxAllowed = VidMaxCount; + + } else if(values[0].contains(findSid, Qt::CaseInsensitive)) { + idString = values[0].remove(findSid, Qt::CaseInsensitive); + idString = idString.remove(QLatin1Char(']')); + values.removeAt(0); + isSID = true; + maxAllowed = SidMaxCount; + } + + if(values.count() <= maxAllowed) { + bool wasSuccesful = true; + + for(int i = 0; i < values.count(); i++) { + capList[i] = qMatchCapStr(values[i]); + + if(capList[i] == ECapability_HardLimit) { + wasSuccesful = false; + break; + } + } + + if(wasSuccesful) { + if(isVID || isSID){ + bool ok = true; + quint32 id = idString.toUInt(&ok, 16); + + if(ok) { + if(isVID) { + TVendorId vid(id); + policy = TSecurityPolicy(vid, capList[0], capList[1], capList[2]); + } else { + TSecureId sid(id); + policy = TSecurityPolicy(sid, capList[0], capList[1], capList[2]); + } + + ret = true; //Everything is fine + } + } else { + policy = TSecurityPolicy(capList[0], capList[1], capList[2], capList[3], + capList[4], capList[5], capList[6]); + + ret = true; //Everything is fine + } + } + } + } + + return ret; +} + +/*! + Opens the database connection using the given connection options. Returns true on success; otherwise returns false. + Error information can be retrieved using the lastError() function. Symbian SQL dbs have no \a user, \a password, \a host + or \a port just file names. + + \a connOpts Connection options hold definition for security policies and all parameters that does not contain "POLICY_" will be + passed to RSqlDatabase. Policy will be filled according to parsed values. + + Value in database wide parameters starts by definition which can be vendorId or secureId. These come directly from TSecurityPolicy class in Symbian. + + POLICY_DB_DEFAULT + Default security policy which will be used for the database and all database objects. POLICY_DB_DEFAULT must be + defined before any other policy definitions can be used. + POLICY_DB_READ + Read database security policy. An application with read database security policy can read from database. + POLICY_DB_WRITE: + Write database security policy. An application with write database security policy can write to database. + POLICY_DB_SCHEMA: + Schema database security policy. An application with schema database security policy can modify + the database schema, write to database, read from database. + + Format: + POLICY_DB_DEFAULT=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities) + POLICY_DB_READ=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities) + POLICY_DB_WRITE=vendorid,cap1,cap2,cap3 (Vendor ID and up to 3 capabilities) + POLICY_DB_SCHEMA=secureid,cap1,cap2,cap3 (Secure ID and up to 3 capabilities) + + Table policies does not support schema policy as database level does. + + Table specific parameters would be as: + POLICY_TABLE_WRITE=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7 + POLICY_TABLE_READ=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7 + + Vendor Id and Secure id format: + vid[0x12345678] (Hex) + sid[0x12345678] (Hex) + + Example: + \code + QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection"); + database.setConnectOptions("POLICY_DB_DEFAULT=ReadDeviceData"); + database.setDatabaseName("[12345678]myDatabase"); + bool ok = database.open(); + \encode + + \code + QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection"); + database.setConnectOptions("POLICY_DB_DEFAULT=None; POLICY_DB_WRITE=sid[0x12345678], WriteDeviceData"); + database.setDatabaseName("[12345678]myDatabase"); + bool ok = database.open(); + \encode + + FOREIGN KEY: + Enabling foreign key support from underlying SQLite + add: "foreign_keys = ON" to your connection options string. This will be passes to SQLite. + + Foreign key Example: + \code + QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection"); + database.setDatabaseName("[12345678]myDatabase"); + database.setConnectOptions("foreign_keys = ON"); + bool ok = database.open(); + \encode + + More information about Symbian Security Policy can be found from Symbian documentation. + +*/ +bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, const QString &, int, const QString &conOpts) +{ + if (isOpen()) + close(); + if (db.isEmpty()) + return false; + + //Separating our parameters from Symbian ones and construct new connection options + const QString itemSeparator(QLatin1String(";")); + QRegExp isOurOption(QLatin1String("POLICY_*"), Qt::CaseInsensitive, QRegExp::Wildcard); + + QStringList optionList = conOpts.split(itemSeparator, QString::SkipEmptyParts); + QStringList symbianList; + + for( int i = optionList.count() - 1; i >= 0; i--) { + if(!optionList[i].contains(isOurOption)) { + symbianList.append(optionList[i]); + optionList.removeAt(i); + } else { + //Removing whitespace + QString formatted = optionList[i]; + formatted = formatted.remove(QLatin1Char(' ')); + formatted = formatted.remove(QLatin1Char('\t')); + formatted = formatted.remove(QLatin1Char('\n')); + formatted = formatted.remove(QLatin1Char('\r')); + optionList[i] = formatted; + } + } + + QString symbianOpt; + + for( int i = 0; i < symbianList.count(); i++) { + symbianOpt += symbianList[i]; + symbianOpt += itemSeparator; + } + + TPtrC dbName(qt_QString2TPtrC(db)); + QByteArray conOpts8 = symbianOpt.toUtf8(); + const TPtrC8 config(reinterpret_cast(conOpts8.constData()), (conOpts8.length())); + + TInt res = d->access.Open(dbName, &config); + + if(res == KErrNotFound) { + + QRegExp findDefault(QLatin1String("POLICY_DB_DEFAULT=*"), Qt::CaseInsensitive, QRegExp::Wildcard); + QRegExp findRead(QLatin1String("POLICY_DB_READ=*"), Qt::CaseInsensitive, QRegExp::Wildcard); + QRegExp findWrite(QLatin1String("POLICY_DB_WRITE=*"), Qt::CaseInsensitive, QRegExp::Wildcard); + QRegExp findSchema(QLatin1String("POLICY_DB_SCHEMA=*"), Qt::CaseInsensitive, QRegExp::Wildcard); + QRegExp findTableRead(QLatin1String("POLICY_TABLE_READ=*"), Qt::CaseInsensitive, QRegExp::Wildcard); + QRegExp findTableWrite(QLatin1String("POLICY_TABLE_WRITE=*"), Qt::CaseInsensitive, QRegExp::Wildcard); + + int policyIndex = optionList.indexOf(findDefault); + + if(policyIndex != -1) { + QString defaultPolicyString = optionList[policyIndex]; + optionList.removeAt(policyIndex); + + TSecurityPolicy policyItem; + + if(qExtractSecurityPolicyFromString(defaultPolicyString, policyItem)) { + RSqlSecurityPolicy policy; + res = policy.Create(policyItem); + + if(res == KErrNone) { + for(int i = 0; i < optionList.count(); i++) { + QString option = optionList[i]; + + if(option.contains(findRead)) { + if(qExtractSecurityPolicyFromString(option, policyItem)) { + res = policy.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, policyItem); + } else { + res = KErrArgument; + } + } else if(option.contains(findWrite)) { + if(qExtractSecurityPolicyFromString(option, policyItem)) { + res = policy.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, policyItem); + } else { + res = KErrArgument; + } + } else if(option.contains(findSchema)) { + if(qExtractSecurityPolicyFromString(option, policyItem)) { + res = policy.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, policyItem); + } else { + res = KErrArgument; + } + } else if(option.contains(findTableWrite)) { + QString tableOption = option.mid(option.indexOf(QLatin1Char('=')) + 1); + int firstComma = tableOption.indexOf(QLatin1Char(',')); + + if(firstComma != -1) { + QString tableName = tableOption.left(firstComma); + tableOption = tableOption.mid(firstComma + 1); + + if(qExtractSecurityPolicyFromString(tableOption, policyItem)) { + TPtrC symTableName(qt_QString2TPtrC(tableName)); + + res = policy.SetPolicy(RSqlSecurityPolicy::ETable, symTableName, + RSqlSecurityPolicy::EWritePolicy, policyItem); + } else { + res = KErrArgument; + } + } else { + res = KErrArgument; + } + } else if(option.contains(findTableRead)) { + QString tableOption = option.mid(option.indexOf(QLatin1Char('=')) + 1); + int firstComma = tableOption.indexOf(QLatin1Char(',')); + + if(firstComma != -1) { + QString tableName = tableOption.left(firstComma); + tableOption = tableOption.mid(firstComma + 1); + + if(qExtractSecurityPolicyFromString(tableOption, policyItem)) { + TPtrC symTableName(qt_QString2TPtrC(tableName)); + + res = policy.SetPolicy(RSqlSecurityPolicy::ETable, symTableName, + RSqlSecurityPolicy::EReadPolicy, policyItem); + } else { + res = KErrArgument; + } + } else { + res = KErrArgument; + } + } else { + res = KErrArgument; + } + + if(res != KErrNone) { + setLastError(gMakeErrorOpen(tr("Invalid option: ") + option, QSqlError::ConnectionError, res)); + break; + } + } + + if(res == KErrNone) { + res = d->access.Create(dbName, policy, &config); + policy.Close(); + + if(res != KErrNone) { + setLastError(gMakeErrorOpen(tr("Error opening database"), QSqlError::ConnectionError, res)); + } + } + } + + } else { + res = KErrArgument; + setLastError(gMakeErrorOpen(tr("Invalid option: ") + defaultPolicyString, QSqlError::ConnectionError, res)); + } + + } else { + //Check whether there is some of our options, fail if so. + policyIndex = optionList.indexOf(isOurOption); + + if(policyIndex == -1) { + res = d->access.Create(dbName, &config); + + if(res != KErrNone) { + setLastError(gMakeErrorOpen(tr("Error opening database"), QSqlError::ConnectionError, res)); + } + } else { + res = KErrArgument; + setLastError(gMakeErrorOpen(tr("POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used"), QSqlError::ConnectionError, res)); + } + } + } + + if (res == KErrNone) { + setOpen(true); + setOpenError(false); + return true; + } else { + setOpenError(true); + return false; + } +} + +void QSymSQLDriver::close() +{ + if (isOpen()) { + d->access.Close(); + setOpen(false); + setOpenError(false); + } +} + +QSqlResult *QSymSQLDriver::createResult() const +{ + return new QSymSQLResult(this); +} + +bool QSymSQLDriver::beginTransaction() +{ + if (!isOpen() || isOpenError()) + return false; + + TInt err = d->access.Exec(_L("BEGIN")); + if(err < KErrNone) { + setLastError(QSqlError(tr("Unable to begin transaction"), + qt_TDesC2QString(d->access.LastErrorMessage()), QSqlError::TransactionError, err)); + return false; + } + + return true; +} + +bool QSymSQLDriver::commitTransaction() +{ + if (!isOpen() || isOpenError()) + return false; + + TInt err = d->access.Exec(_L("COMMIT")); + if(err < KErrNone) { + setLastError(QSqlError(tr("Unable to commit transaction"), + qt_TDesC2QString(d->access.LastErrorMessage()), QSqlError::TransactionError, err)); + return false; + } + + return true; +} + +bool QSymSQLDriver::rollbackTransaction() +{ + if (!isOpen() || isOpenError()) + return false; + + TInt err = d->access.Exec(_L("ROLLBACK")); + if(err < KErrNone) { + setLastError(QSqlError(tr("Unable to rollback transaction"), + qt_TDesC2QString(d->access.LastErrorMessage()), QSqlError::TransactionError, err)); + return false; + } + + return true; +} + +QStringList QSymSQLDriver::tables(QSql::TableType type) const +{ + QStringList res; + if (!isOpen()) + return res; + + QSqlQuery q(createResult()); + q.setForwardOnly(true); + + QString sql = QLatin1String("SELECT name FROM sqlite_master WHERE %1 " + "UNION ALL SELECT name FROM sqlite_temp_master WHERE %1"); + if ((type & QSql::Tables) && (type & QSql::Views)) + sql = sql.arg(QLatin1String("type='table' OR type='view'")); + else if (type & QSql::Tables) + sql = sql.arg(QLatin1String("type='table'")); + else if (type & QSql::Views) + sql = sql.arg(QLatin1String("type='view'")); + else + sql.clear(); + + if (!sql.isEmpty() && q.exec(sql)) { + while(q.next()) + res.append(q.value(0).toString()); + } + + if (type & QSql::SystemTables) { + // there are no internal tables beside this one: + res.append(QLatin1String("sqlite_master")); + } + + return res; +} + +static QSqlIndex qGetTableInfo(QSqlQuery &q, QString &tableName, bool onlyPIndex = false) +{ + QString dbName; + QString table(tableName); + int indexOfSeparator = tableName.indexOf(QLatin1Char('.')); + if (indexOfSeparator > -1) { + dbName = tableName.left(indexOfSeparator +1 ); + table = tableName.mid(indexOfSeparator + 1); + } + q.exec(QLatin1String("PRAGMA ") + dbName + QLatin1String("table_info (") + _q_escapeIdentifier(table) + QLatin1String(")")); + + const int NAME_IDX = 1; + const int TYPE_IDX = 2; + const int NOTNULL_IDX = 3; + const int DFLT_VALUE_IDX = 4; + const int PK_IDX = 5; + + QSqlIndex ind; + while (q.next()) { + bool isPk = q.value(PK_IDX).toInt(); + if (onlyPIndex && !isPk) + continue; + QString typeName = q.value(TYPE_IDX).toString().toLower(); + QSqlField fld(q.value(NAME_IDX).toString(), qGetColumnType(typeName)); + if (isPk && (typeName == QLatin1String("integer"))) + // INTEGER PRIMARY KEY fields are auto-generated in sqlite + // INT PRIMARY KEY is not the same as INTEGER PRIMARY KEY! + fld.setAutoValue(true); + fld.setRequired(q.value(NOTNULL_IDX).toInt() != 0); + fld.setDefaultValue(q.value(DFLT_VALUE_IDX)); + ind.append(fld); + } + /*Removed debug + for (int i = 0; i< ind.count(); i++) + { + qDebug() << "QSqlIndex" << ind.field(i).name() << endl; + } + */ + return ind; +} + +QSqlIndex QSymSQLDriver::primaryIndex(const QString &tblname) const +{ + if (!isOpen()) + return QSqlIndex(); + + QString table = tblname; + if (isIdentifierEscaped(table, QSqlDriver::TableName)) + table = stripDelimiters(table, QSqlDriver::TableName); + + QSqlQuery q(createResult()); + q.setForwardOnly(true); + return qGetTableInfo(q, table, true); +} + +QSqlRecord QSymSQLDriver::record(const QString &tbl) const +{ + if (!isOpen()) + return QSqlRecord(); + + QString table = tbl; + if (isIdentifierEscaped(table, QSqlDriver::TableName)) + table = stripDelimiters(table, QSqlDriver::TableName); + + QSqlQuery q(createResult()); + q.setForwardOnly(true); + return qGetTableInfo(q, table); +} + +QVariant QSymSQLDriver::handle() const +{ + return qVariantFromValue(d->access); +} + +QString QSymSQLDriver::escapeIdentifier(const QString &identifier, IdentifierType type) const +{ + Q_UNUSED(type); + return _q_escapeIdentifier(identifier); +} + +QT_END_NAMESPACE diff --git a/src/sql/drivers/symsql/qsql_symsql.h b/src/sql/drivers/symsql/qsql_symsql.h new file mode 100644 index 0000000..a53bc4f --- /dev/null +++ b/src/sql/drivers/symsql/qsql_symsql.h @@ -0,0 +1,132 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the plugins of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QSQL_SYMSQL_H +#define QSQL_SYMSQL_H + +#include +#include +#include + + + +#ifdef QT_PLUGIN +#define Q_EXPORT_SQLDRIVER_SYMSQL +#else +#define Q_EXPORT_SQLDRIVER_SYMSQL Q_SQL_EXPORT +#endif + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE +class QSymSQLDriverPrivate; +class QSymSQLResultPrivate; +class QSymSQLDriver; +class RSqlDatabase; + +class QSymSQLResult : public QSqlResult +{ + friend class QSymSQLDriver; + friend class QSymSQLResultPrivate; +public: + explicit QSymSQLResult(const QSymSQLDriver* db); + ~QSymSQLResult(); + QVariant handle() const; + +protected: + QVariant data(int field); + bool isNull(int i); + bool fetch(int i); + bool fetchNext(); + bool fetchPrevious(); + bool fetchFirst(); + bool fetchLast(); + + bool reset(const QString &query); + bool prepare(const QString &query); + bool exec(); + int size(); + int numRowsAffected(); + QSqlRecord record() const; + void virtual_hook(int id, void *data); + + QVariant lastInsertId() const; + +private: + QSymSQLResultPrivate* d; +}; + +class Q_EXPORT_SQLDRIVER_SYMSQL QSymSQLDriver : public QSqlDriver +{ + Q_OBJECT + friend class QSymSQLResult; +public: + explicit QSymSQLDriver(QObject *parent = 0); + explicit QSymSQLDriver(RSqlDatabase& connection, QObject *parent = 0); + ~QSymSQLDriver(); + bool hasFeature(DriverFeature f) const; + bool open(const QString & db, + const QString & user, + const QString & password, + const QString & host, + int port, + const QString & connOpts); + void close(); + QSqlResult *createResult() const; + bool beginTransaction(); + bool commitTransaction(); + bool rollbackTransaction(); + QStringList tables(QSql::TableType)const; + + QSqlRecord record(const QString& tablename) const; + QSqlIndex primaryIndex(const QString &table) const; + QVariant handle() const; + QString escapeIdentifier(const QString &identifier, IdentifierType) const; + +private: + QSymSQLDriverPrivate* d; +}; + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif // QSQL_SYMSQL_H diff --git a/src/sql/drivers/symsql/qsql_symsql.pri b/src/sql/drivers/symsql/qsql_symsql.pri new file mode 100644 index 0000000..e18cce9 --- /dev/null +++ b/src/sql/drivers/symsql/qsql_symsql.pri @@ -0,0 +1,5 @@ +HEADERS += $$PWD/qsql_symsql.h +SOURCES += $$PWD/qsql_symsql.cpp + +symbian::LIBS += -lsqldb + -- cgit v0.12 From 0f2f2cd33967502a2d04ec551ecdefba1220b843 Mon Sep 17 00:00:00 2001 From: Timo Kauppinen Date: Mon, 23 May 2011 15:32:27 +0300 Subject: Fixed a typo found by static checker Task-number: QT-4860 Reviewd-by: Honglei Zhang --- src/sql/drivers/symsql/qsql_symsql.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sql/drivers/symsql/qsql_symsql.cpp b/src/sql/drivers/symsql/qsql_symsql.cpp index a015400..7425cfe 100644 --- a/src/sql/drivers/symsql/qsql_symsql.cpp +++ b/src/sql/drivers/symsql/qsql_symsql.cpp @@ -112,7 +112,7 @@ static QString _q_escapeIdentifier(const QString &identifier) static QVariant::Type qGetColumnType(const TSqlColumnType coltype) { - //ToDo Check Implmentation + //ToDo Check Implementation switch(coltype){ case ESqlInt: case ESqlInt64: -- cgit v0.12 From b8c427eb220000d369a6ad6df0a8525daded6b36 Mon Sep 17 00:00:00 2001 From: Honglei Zhang Date: Mon, 4 Jul 2011 13:17:35 +0300 Subject: Release Symbian SQL driver Symbian SQL driver provides service of secure databases. SQL databases are stored in Symbian SQL server's private data cage. The API ensures only authorised clients can access the database. The Symbian SQL driver enables Qt application to use Symbian secure databases. Task-number: QT-4860 Reviewed-by: Trust Me --- src/sql/drivers/symsql/qsql_symsql.cpp | 299 ++++++++++++++------------------- 1 file changed, 124 insertions(+), 175 deletions(-) diff --git a/src/sql/drivers/symsql/qsql_symsql.cpp b/src/sql/drivers/symsql/qsql_symsql.cpp index 7425cfe..a67caa8 100644 --- a/src/sql/drivers/symsql/qsql_symsql.cpp +++ b/src/sql/drivers/symsql/qsql_symsql.cpp @@ -102,7 +102,9 @@ const QString fieldSeparator(QLatin1String(",")); static QString _q_escapeIdentifier(const QString &identifier) { QString res = identifier; - if(!identifier.isEmpty() && identifier.left(1) != QString(QLatin1Char('"')) && identifier.right(1) != QString(QLatin1Char('"')) ) { + if (!identifier.isEmpty() + && identifier.left(1) != QString(QLatin1Char('"')) + && identifier.right(1) != QString(QLatin1Char('"'))) { res.replace(QLatin1Char('"'), QLatin1String("\"\"")); res.prepend(QLatin1Char('"')).append(QLatin1Char('"')); res.replace(QLatin1Char('.'), QLatin1String("\".\"")); @@ -112,24 +114,23 @@ static QString _q_escapeIdentifier(const QString &identifier) static QVariant::Type qGetColumnType(const TSqlColumnType coltype) { - //ToDo Check Implementation switch(coltype){ - case ESqlInt: - case ESqlInt64: - return QVariant::Int; - case ESqlReal: - return QVariant::Double; - case ESqlBinary: - return QVariant::ByteArray; - case ESqlText: - case ESqlNull: - default: - return QVariant::String; + case ESqlInt: + case ESqlInt64: + return QVariant::Int; + case ESqlReal: + return QVariant::Double; + case ESqlBinary: + return QVariant::ByteArray; + case ESqlText: + case ESqlNull: + default: + return QVariant::String; } } static QVariant::Type qGetColumnType(const QString &tpName) - { +{ const QString typeName = tpName.toLower(); if (typeName == QLatin1String("integer") @@ -145,17 +146,21 @@ static QVariant::Type qGetColumnType(const QString &tpName) return QVariant::String; } -static QSqlError qMakeError(RSqlDatabase& access, const QString &descr, QSqlError::ErrorType type, - int errorCode = -1) +static QSqlError qMakeError(RSqlDatabase& access, + const QString &descr, + QSqlError::ErrorType type, + int errorCode = -1) { return QSqlError(descr, QString::fromUtf16(static_cast(access.LastErrorMessage().Ptr())), - type, errorCode); + type, + errorCode); } -static QSqlError gMakeErrorOpen(const QString &descr, QSqlError::ErrorType type, - TInt errorCode) +static QSqlError gMakeErrorOpen(const QString &descr, + QSqlError::ErrorType type, + TInt errorCode) { return QSqlError(descr, QLatin1String(""), type, errorCode); } @@ -186,7 +191,9 @@ public: }; QSymSQLResultPrivate::QSymSQLResultPrivate(QSymSQLResult* res) : q(res), -skipRow(false), skippedStatus(false), prepareCalled(false) + skipRow(false), + skippedStatus(false), + prepareCalled(false) { } @@ -240,8 +247,6 @@ void QSymSQLResultPrivate::initColumns(QSqlRecord& rec) int dotIdx = colName.lastIndexOf(QLatin1Char('.')); QSqlField fld(colName.mid(dotIdx == -1 ? 0 : dotIdx + 1), qGetColumnType(decColType)); - //int stp = stmt.ColumnType(i); Useless lines of code, comment modified according to review - //fld.setSqlType(stp); Useless lines of code, comment modified according to review rec.append(fld); } } @@ -265,13 +270,11 @@ bool QSymSQLResultPrivate::fetchNext(bool initialFetch) return true; case KSqlAtEnd: stmt.Reset(); - //Removed debug qDebug()<<"query Reset(1)"<setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", "Unable to fetch row"), QSqlError::ConnectionError, res)); q->setAt(QSql::AfterLastRow); @@ -283,7 +286,6 @@ bool QSymSQLResultPrivate::fetchNext(bool initialFetch) q->setLastError(qMakeError(access, QCoreApplication::translate("QSymSQLResult", "Unable to fetch row"), QSqlError::ConnectionError, res)); stmt.Reset(); - //Removed debug qDebug()<<"query Reset(3)"<setAt(QSql::AfterLastRow); return false; } @@ -323,7 +325,6 @@ bool QSymSQLResult::prepare(const QString &query) setSelect(false); TInt res = d->stmt.Prepare(d->access, qt_QString2TPtrC(query)); - //Removed debug qDebug()<<"query:"<access, QCoreApplication::translate("QSymSQLResult", @@ -339,7 +340,7 @@ bool QSymSQLResult::prepare(const QString &query) bool QSymSQLResult::exec() { - if(d->prepareCalled == false) { + if (d->prepareCalled == false) { setLastError(qMakeError(d->access, QCoreApplication::translate("QSymSQLResult", "Statement is not prepared"), QSqlError::StatementError, KErrGeneral)); return false; @@ -353,8 +354,6 @@ bool QSymSQLResult::exec() setLastError(QSqlError()); int res = d->stmt.Reset(); - //Removed debug qDebug()<<"query Reset(4)"<access, QCoreApplication::translate("QSymSQLResult", "Unable to reset statement"), QSqlError::StatementError, res)); @@ -363,10 +362,8 @@ bool QSymSQLResult::exec() } TPtrC tmp; TInt paramCount = 0; - while(d->stmt.ParamName(paramCount, tmp) == KErrNone) - { + while (d->stmt.ParamName(paramCount, tmp) == KErrNone) paramCount++; - } if (paramCount == values.count()) { for (int i = 0; i < paramCount; ++i) { @@ -378,12 +375,9 @@ bool QSymSQLResult::exec() } else { switch (value.type()) { case QVariant::ByteArray: { - //ToDo check how to handle SQLITE_STATIC const QByteArray *ba = static_cast(value.constData()); TPtrC8 data(reinterpret_cast(ba->constData()), ba->length()); res = d->stmt.BindBinary(i, data); //replaced i + 1 with i - //res = sqlite3_bind_blob(d->stmt, i + 1, ba->constData(), - // ba->size(), SQLITE_STATIC); break; } case QVariant::Int: res = d->stmt.BindInt(i, value.toInt()); //replaced i + 1 with i @@ -399,19 +393,12 @@ bool QSymSQLResult::exec() case QVariant::String: { // lifetime of string == lifetime of its qvariant - //ToDo check how to handle SQLITE_STATIC const QString *str = static_cast(value.constData()); res = d->stmt.BindText(i, qt_QString2TPtrC(*str)); // replaced i + 1 with i - //res = sqlite3_bind_text16(d->stmt, i + 1, str->utf16(), - // (str->size()) * sizeof(QChar), SQLITE_STATIC); break; } default: { - //ToDo check how to handle SQLITE_TRANSIENT QString str = value.toString(); res = d->stmt.BindText(i, qt_QString2TPtrC(str)); //replaced i + 1 with i - // SQLITE_TRANSIENT makes sure that sqlite buffers the data - //res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(), - // (str.size()) * sizeof(QChar), SQLITE_TRANSIENT); break; } } } @@ -436,7 +423,7 @@ bool QSymSQLResult::exec() return false; } - if(d->stmt.ColumnCount() > 0) { + if (d->stmt.ColumnCount() > 0) { //If there is something, it has to be select setSelect(true); } else { @@ -448,7 +435,7 @@ bool QSymSQLResult::exec() //Just check whether there is one in the beginning, don't know if this is enough //Comments should be at the end of line if those are passed //For some reason, case insensitive indexOf didn't work for me - if(query.indexOf(QLatin1String("select")) == 0) { + if (query.indexOf(QLatin1String("select")) == 0) { setSelect(true); } else { setSelect(false); @@ -474,9 +461,8 @@ QVariant QSymSQLResult::lastInsertId() const { if (isActive()) { qint64 id = static_cast(d->access.LastInsertedRowId()); - if (id){ + if (id) return id; - } } return QVariant(); @@ -499,14 +485,12 @@ QVariant QSymSQLResult::handle() const } -// ToDo is a virtual_hook needed? void QSymSQLResult::virtual_hook(int id, void *data) { switch (id) { case QSqlResult::DetachFromResultSet: d->stmt.Reset(); - //Removed debug qDebug()<<"query Reset(5)"<stmt.ColumnType(idx)) { - case ESqlBinary: + case ESqlBinary: { TPtrC8 data; d->stmt.ColumnBinary(idx, data); - return QByteArray(reinterpret_cast(data.Ptr()), data.Length()); - - //ToDo - check if this is correct - // values[i + idx] = QByteArray(static_cast( - // sqlite3_column_blob(stmt, i)), - // stmt.ColumnSize(i)); - break; + return QByteArray(reinterpret_cast(data.Ptr()), data.Length()); + break; } - case ESqlInt: - r = QVariant(d->stmt.ColumnInt(idx)); - break; - case ESqlInt64: - r = QVariant(d->stmt.ColumnInt64(idx)); - break; - case ESqlReal: - switch(numericalPrecisionPolicy()) { - case QSql::LowPrecisionInt32: - r = QVariant(d->stmt.ColumnInt(idx)); - break; - case QSql::LowPrecisionInt64: - r = QVariant(d->stmt.ColumnInt64(idx)); - break; - case QSql::LowPrecisionDouble: - r = QVariant(d->stmt.ColumnReal(idx)); - break; - case QSql::HighPrecision: - default: - TPtrC res; - d->stmt.ColumnText(idx, res); - r = QVariant(qt_TDesC2QString(res)); - //values[i + idx] = QString::fromUtf16(res.Ptr(), res.Length()); - - //ToDo - Check if the implementation is correct - //values[i + idx] = QString::fromUtf16(static_cast( - // sqlite3_column_text16(stmt, i)), - // sqlite3_column_bytes16(stmt, i) / sizeof(ushort)); - break; - }; - break; - case ESqlNull: - r = QVariant(QVariant::String); - break; - default: - TPtrC res; - d->stmt.ColumnText(idx, res); - r = QVariant(qt_TDesC2QString(res)); - //values[i + idx] = QString::fromUtf16(res.Ptr(), res.Length()); - - //ToDo - Check if the implementation is correct - //values[i + idx] = QString::fromUtf16(static_cast( - // sqlite3_column_text16(stmt, i)), - // sqlite3_column_bytes16(stmt, i) / sizeof(ushort)); - break; + case ESqlInt: + r = QVariant(d->stmt.ColumnInt(idx)); + break; + case ESqlInt64: + r = QVariant(d->stmt.ColumnInt64(idx)); + break; + case ESqlReal: + switch(numericalPrecisionPolicy()) { + case QSql::LowPrecisionInt32: + r = QVariant(d->stmt.ColumnInt(idx)); + break; + case QSql::LowPrecisionInt64: + r = QVariant(d->stmt.ColumnInt64(idx)); + break; + case QSql::LowPrecisionDouble: + r = QVariant(d->stmt.ColumnReal(idx)); + break; + case QSql::HighPrecision: + default: + TPtrC res; + d->stmt.ColumnText(idx, res); + r = QVariant(qt_TDesC2QString(res)); + break; + }; + break; + case ESqlNull: + r = QVariant(QVariant::String); + break; + default: + TPtrC res; + d->stmt.ColumnText(idx, res); + r = QVariant(qt_TDesC2QString(res)); + break; } - //Removed debug qDebug()<<"SymSql, Data:"<= 0; i--) { - if(!optionList[i].contains(isOurOption)) { + for (int i = optionList.count() - 1; i >= 0; i--) { + if (!optionList[i].contains(isOurOption)) { symbianList.append(optionList[i]); optionList.removeAt(i); } else { @@ -917,7 +875,7 @@ bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, c QString symbianOpt; - for( int i = 0; i < symbianList.count(); i++) { + for (int i = 0; i < symbianList.count(); i++) { symbianOpt += symbianList[i]; symbianOpt += itemSeparator; } @@ -928,7 +886,7 @@ bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, c TInt res = d->access.Open(dbName, &config); - if(res == KErrNotFound) { + if (res == KErrNotFound) { QRegExp findDefault(QLatin1String("POLICY_DB_DEFAULT=*"), Qt::CaseInsensitive, QRegExp::Wildcard); QRegExp findRead(QLatin1String("POLICY_DB_READ=*"), Qt::CaseInsensitive, QRegExp::Wildcard); @@ -939,47 +897,47 @@ bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, c int policyIndex = optionList.indexOf(findDefault); - if(policyIndex != -1) { + if (policyIndex != -1) { QString defaultPolicyString = optionList[policyIndex]; optionList.removeAt(policyIndex); TSecurityPolicy policyItem; - if(qExtractSecurityPolicyFromString(defaultPolicyString, policyItem)) { + if (qExtractSecurityPolicyFromString(defaultPolicyString, policyItem)) { RSqlSecurityPolicy policy; res = policy.Create(policyItem); - if(res == KErrNone) { - for(int i = 0; i < optionList.count(); i++) { + if (res == KErrNone) { + for (int i = 0; i < optionList.count(); i++) { QString option = optionList[i]; - if(option.contains(findRead)) { - if(qExtractSecurityPolicyFromString(option, policyItem)) { + if (option.contains(findRead)) { + if (qExtractSecurityPolicyFromString(option, policyItem)) { res = policy.SetDbPolicy(RSqlSecurityPolicy::EReadPolicy, policyItem); } else { res = KErrArgument; } - } else if(option.contains(findWrite)) { - if(qExtractSecurityPolicyFromString(option, policyItem)) { + } else if (option.contains(findWrite)) { + if (qExtractSecurityPolicyFromString(option, policyItem)) { res = policy.SetDbPolicy(RSqlSecurityPolicy::EWritePolicy, policyItem); } else { res = KErrArgument; } - } else if(option.contains(findSchema)) { - if(qExtractSecurityPolicyFromString(option, policyItem)) { + } else if (option.contains(findSchema)) { + if (qExtractSecurityPolicyFromString(option, policyItem)) { res = policy.SetDbPolicy(RSqlSecurityPolicy::ESchemaPolicy, policyItem); } else { res = KErrArgument; } - } else if(option.contains(findTableWrite)) { + } else if (option.contains(findTableWrite)) { QString tableOption = option.mid(option.indexOf(QLatin1Char('=')) + 1); int firstComma = tableOption.indexOf(QLatin1Char(',')); - if(firstComma != -1) { + if (firstComma != -1) { QString tableName = tableOption.left(firstComma); tableOption = tableOption.mid(firstComma + 1); - if(qExtractSecurityPolicyFromString(tableOption, policyItem)) { + if (qExtractSecurityPolicyFromString(tableOption, policyItem)) { TPtrC symTableName(qt_QString2TPtrC(tableName)); res = policy.SetPolicy(RSqlSecurityPolicy::ETable, symTableName, @@ -990,15 +948,15 @@ bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, c } else { res = KErrArgument; } - } else if(option.contains(findTableRead)) { + } else if (option.contains(findTableRead)) { QString tableOption = option.mid(option.indexOf(QLatin1Char('=')) + 1); int firstComma = tableOption.indexOf(QLatin1Char(',')); - if(firstComma != -1) { + if (firstComma != -1) { QString tableName = tableOption.left(firstComma); tableOption = tableOption.mid(firstComma + 1); - if(qExtractSecurityPolicyFromString(tableOption, policyItem)) { + if (qExtractSecurityPolicyFromString(tableOption, policyItem)) { TPtrC symTableName(qt_QString2TPtrC(tableName)); res = policy.SetPolicy(RSqlSecurityPolicy::ETable, symTableName, @@ -1013,19 +971,18 @@ bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, c res = KErrArgument; } - if(res != KErrNone) { + if (res != KErrNone) { setLastError(gMakeErrorOpen(tr("Invalid option: ") + option, QSqlError::ConnectionError, res)); break; } } - if(res == KErrNone) { + if (res == KErrNone) { res = d->access.Create(dbName, policy, &config); policy.Close(); - if(res != KErrNone) { + if (res != KErrNone) setLastError(gMakeErrorOpen(tr("Error opening database"), QSqlError::ConnectionError, res)); - } } } @@ -1038,12 +995,11 @@ bool QSymSQLDriver::open(const QString & db, const QString &, const QString &, c //Check whether there is some of our options, fail if so. policyIndex = optionList.indexOf(isOurOption); - if(policyIndex == -1) { + if (policyIndex == -1) { res = d->access.Create(dbName, &config); - if(res != KErrNone) { + if (res != KErrNone) setLastError(gMakeErrorOpen(tr("Error opening database"), QSqlError::ConnectionError, res)); - } } else { res = KErrArgument; setLastError(gMakeErrorOpen(tr("POLICY_DB_DEFAULT must be defined before any other POLICY definitions can be used"), QSqlError::ConnectionError, res)); @@ -1081,7 +1037,7 @@ bool QSymSQLDriver::beginTransaction() return false; TInt err = d->access.Exec(_L("BEGIN")); - if(err < KErrNone) { + if (err < KErrNone) { setLastError(QSqlError(tr("Unable to begin transaction"), qt_TDesC2QString(d->access.LastErrorMessage()), QSqlError::TransactionError, err)); return false; @@ -1096,7 +1052,7 @@ bool QSymSQLDriver::commitTransaction() return false; TInt err = d->access.Exec(_L("COMMIT")); - if(err < KErrNone) { + if (err < KErrNone) { setLastError(QSqlError(tr("Unable to commit transaction"), qt_TDesC2QString(d->access.LastErrorMessage()), QSqlError::TransactionError, err)); return false; @@ -1111,7 +1067,7 @@ bool QSymSQLDriver::rollbackTransaction() return false; TInt err = d->access.Exec(_L("ROLLBACK")); - if(err < KErrNone) { + if (err < KErrNone) { setLastError(QSqlError(tr("Unable to rollback transaction"), qt_TDesC2QString(d->access.LastErrorMessage()), QSqlError::TransactionError, err)); return false; @@ -1141,14 +1097,13 @@ QStringList QSymSQLDriver::tables(QSql::TableType type) const sql.clear(); if (!sql.isEmpty() && q.exec(sql)) { - while(q.next()) + while (q.next()) res.append(q.value(0).toString()); } - if (type & QSql::SystemTables) { + if (type & QSql::SystemTables) // there are no internal tables beside this one: res.append(QLatin1String("sqlite_master")); - } return res; } @@ -1185,12 +1140,6 @@ static QSqlIndex qGetTableInfo(QSqlQuery &q, QString &tableName, bool onlyPIndex fld.setDefaultValue(q.value(DFLT_VALUE_IDX)); ind.append(fld); } - /*Removed debug - for (int i = 0; i< ind.count(); i++) - { - qDebug() << "QSqlIndex" << ind.field(i).name() << endl; - } - */ return ind; } -- cgit v0.12 From bf02a3e9bcad5faf01135df02472ebdfba39c51f Mon Sep 17 00:00:00 2001 From: Timo Kauppinen Date: Fri, 19 Aug 2011 09:51:45 +0300 Subject: Documentation modifications for SymbianSQL added into sql-driver.qdoc Task-number: QT-4860 Reviewed-by: Honglei Zhang --- doc/src/sql-programming/sql-driver.qdoc | 48 ++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc index 40c7c6a..45138fb 100644 --- a/doc/src/sql-programming/sql-driver.qdoc +++ b/doc/src/sql-programming/sql-driver.qdoc @@ -60,6 +60,7 @@ \row \o \link #QPSQL QPSQL\endlink \o PostgreSQL (versions 7.3 and above) \row \o \link #QSQLITE2 QSQLITE2\endlink \o SQLite version 2 \row \o \link #QSQLITE QSQLITE\endlink \o SQLite version 3 + \row \o \link #QSYMSQL QSYMSQL\endlink \o SQLite version 3 for Symbian SQL Database \row \o \link #QTDS QTDS\endlink \o Sybase Adaptive Server \note obsolete from Qt 4.7 \endtable @@ -665,7 +666,52 @@ ship your own database plugin with your own SQLite library as illustrated above. Some versions of SQLite can be forced to write a specific file format by setting the \c{SQLITE_DEFAULT_FILE_FORMAT} define when building SQLite. - + + \target QSYMSQL + \section2 QSYMSQL for SQLite (Version 3 and Above) with Symbian SQL Database + + \section3 General Information about QSYMSQL + + QtSQL is the Qt module which allows clients to access SQL database services. + Database vendors can create QtSQL drivers for their database engines. +  + QSYMSQL driver enables to access the native Symbian database engine (“Symbian SQL”) + through the QtSQL API. + + The main difference to QSQLITE is that, with Symbian SQL database client can specify a + set of access control policies when creating a new database with Symbian SQL security policies + within open() method call (security policy is defined with in the connection options). + + See QSymSQLDriver::open(const QString & db, const QString &, const QString &, const QString &, int, const QString &conOpts) + description for detail information of policy settings. + + Symbian RSqlSecurityPolicy class is a container for the security policies for a shared SQL database. + + The container can contain: + security policies that apply to the database. + security policies that apply to individual database objects, i.e. database tables. + + For the database, you use RSqlSecurityPolicy::SetDbPolicy() to apply a separate security policy to: + the database schema. + read activity on the database. + write activity on the database. + + For database tables, you use RSqlSecurityPolicy::SetPolicy() to apply a separate security policy to: + write activity on each named database table. + read activity on each named database table. + + More information about Symbian SQL and RSqlSecurityPolicy class reference about policy definitions, + can be found from Forum Nokia Library: http://library.developer.nokia.com/. + + \section3 How to Build the QSYMSQL Plugin + + Building QSYMSQL requires symbian platform, since it is using Symbian SQL database. + + QSYMSQL is a dynamic plugin, which appears to available drivers list, when the binaries are build in. + + The build sequence is similar to the QSQLITE plugin with installing the plugin in the standard location. + + \target QIBASE \section2 QIBASE for Borland InterBase -- cgit v0.12 From 2103202b200023fa295e726728e4d8aefe071210 Mon Sep 17 00:00:00 2001 From: Timo Kauppinen Date: Fri, 2 Sep 2011 15:51:32 +0300 Subject: Added correct licence headers to symsql source files Task-number: QT-4860 Reviewed-by: Honglei Zhang --- src/plugins/sqldrivers/symsql/main.cpp | 36 +++++++++++++++++----------------- src/sql/drivers/symsql/qsql_symsql.cpp | 36 +++++++++++++++++----------------- src/sql/drivers/symsql/qsql_symsql.h | 36 +++++++++++++++++----------------- 3 files changed, 54 insertions(+), 54 deletions(-) diff --git a/src/plugins/sqldrivers/symsql/main.cpp b/src/plugins/sqldrivers/symsql/main.cpp index 0fd8756..5dfa9f4 100644 --- a/src/plugins/sqldrivers/symsql/main.cpp +++ b/src/plugins/sqldrivers/symsql/main.cpp @@ -4,32 +4,32 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the QtSql module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** ** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. ** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** ** diff --git a/src/sql/drivers/symsql/qsql_symsql.cpp b/src/sql/drivers/symsql/qsql_symsql.cpp index a67caa8..4ceac9b 100644 --- a/src/sql/drivers/symsql/qsql_symsql.cpp +++ b/src/sql/drivers/symsql/qsql_symsql.cpp @@ -4,32 +4,32 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the QtSql module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** ** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. ** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** ** diff --git a/src/sql/drivers/symsql/qsql_symsql.h b/src/sql/drivers/symsql/qsql_symsql.h index a53bc4f..7fdc10f 100644 --- a/src/sql/drivers/symsql/qsql_symsql.h +++ b/src/sql/drivers/symsql/qsql_symsql.h @@ -4,32 +4,32 @@ ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** -** This file is part of the plugins of the Qt Toolkit. +** This file is part of the QtSql module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ -** No Commercial Usage -** This file contains pre-release code and may not be distributed. -** You may use this file in accordance with the terms and conditions -** contained in the Technology Preview License Agreement accompanying -** this package. -** ** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception +** rights. These rights are described in the Nokia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** -** If you have questions regarding the use of this file, please contact -** Nokia at qt-info@nokia.com. -** -** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. ** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. ** ** ** -- cgit v0.12 From 6aa506e1d863e5bb7642d4947be0d8c8c9b24d33 Mon Sep 17 00:00:00 2001 From: Timo Kauppinen Date: Mon, 5 Sep 2011 15:13:16 +0300 Subject: Modified SymSQL documentation in sql-driver.qdoc according review comments Task-number: QT-4860 Reviewed-by: Honglei Zhang --- doc/src/sql-programming/sql-driver.qdoc | 129 +++++++++++++++++++++++--------- 1 file changed, 92 insertions(+), 37 deletions(-) diff --git a/doc/src/sql-programming/sql-driver.qdoc b/doc/src/sql-programming/sql-driver.qdoc index 45138fb..ed60e7f 100644 --- a/doc/src/sql-programming/sql-driver.qdoc +++ b/doc/src/sql-programming/sql-driver.qdoc @@ -671,47 +671,102 @@ \section2 QSYMSQL for SQLite (Version 3 and Above) with Symbian SQL Database \section3 General Information about QSYMSQL - - QtSQL is the Qt module which allows clients to access SQL database services. - Database vendors can create QtSQL drivers for their database engines. -  - QSYMSQL driver enables to access the native Symbian database engine (“Symbian SQL”) - through the QtSQL API. - - The main difference to QSQLITE is that, with Symbian SQL database client can specify a - set of access control policies when creating a new database with Symbian SQL security policies - within open() method call (security policy is defined with in the connection options). - - See QSymSQLDriver::open(const QString & db, const QString &, const QString &, const QString &, int, const QString &conOpts) - description for detail information of policy settings. - - Symbian RSqlSecurityPolicy class is a container for the security policies for a shared SQL database. - - The container can contain: - security policies that apply to the database. - security policies that apply to individual database objects, i.e. database tables. - - For the database, you use RSqlSecurityPolicy::SetDbPolicy() to apply a separate security policy to: - the database schema. - read activity on the database. - write activity on the database. - - For database tables, you use RSqlSecurityPolicy::SetPolicy() to apply a separate security policy to: - write activity on each named database table. - read activity on each named database table. - + + QSYMSQL driver enables clients to access the native Symbian database engine (“Symbian SQL”) + through the QtSQL API. + + The main difference to QSQLITE is that, with Symbian SQL database client can specify a + set of access control policies when creating a new database. It uses Symbian SQL security policy + definitions within open() call (security policy is defined with in the connection options parameters). + + Symbian RSqlSecurityPolicy class is a container for the security policies for a shared SQL database. + + The container can contain: + security policies that apply to the database. + security policies that apply to individual database objects, i.e. database tables. + + For the database, you use RSqlSecurityPolicy::SetDbPolicy() to apply a separate security policy to: + the database schema. + read activity on the database. + write activity on the database. + + For database tables, you use RSqlSecurityPolicy::SetPolicy() to apply a separate security policy to: + write activity on each named database table. + read activity on each named database table. + More information about Symbian SQL and RSqlSecurityPolicy class reference about policy definitions, can be found from Forum Nokia Library: http://library.developer.nokia.com/. - + + +Example of setting Security Policy: + + Connection options hold definition for security policies and all parameters that does not contain "POLICY_" will be + passed to RSqlDatabase. Policy will be filled according to parsed values. + + Value in database wide parameters starts by definition which can be vendorId or secureId. These come directly from TSecurityPolicy class in Symbian. + + POLICY_DB_DEFAULT + Default security policy which will be used for the database and all database objects. POLICY_DB_DEFAULT must be + defined before any other policy definitions can be used. + POLICY_DB_READ + Read database security policy. An application with read database security policy can read from database. + POLICY_DB_WRITE: + Write database security policy. An application with write database security policy can write to database. + POLICY_DB_SCHEMA: + Schema database security policy. An application with schema database security policy can modify + the database schema, write to database, read from database. + + Format: + POLICY_DB_DEFAULT=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities) + POLICY_DB_READ=cap1,cap2,cap3,cap4,cap5,cap6,cap7 (Up to 7 capabilities) + POLICY_DB_WRITE=vendorid,cap1,cap2,cap3 (Vendor ID and up to 3 capabilities) + POLICY_DB_SCHEMA=secureid,cap1,cap2,cap3 (Secure ID and up to 3 capabilities) + + Table policies does not support schema policy as database level does. + + Table specific parameters would be as: + POLICY_TABLE_WRITE=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7 + POLICY_TABLE_READ=tablename,cap1,cap2,cap3,cap4,cap5,cap6,cap7 + + Vendor Id and Secure id format: + vid[0x12345678] (Hex) + sid[0x12345678] (Hex) + + Examples: + Setting default policy: + QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection"); + database.setConnectOptions("POLICY_DB_DEFAULT=ReadDeviceData"); + database.setDatabaseName("[12345678]myDatabase"); + bool ok = database.open(); + + Setting POLICY_DB_WRITE: + QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection"); + database.setConnectOptions("POLICY_DB_DEFAULT=None; POLICY_DB_WRITE=sid[0x12345678], WriteDeviceData"); + database.setDatabaseName("[12345678]myDatabase"); + bool ok = database.open(); + + FOREIGN KEY: + Enabling foreign key support from underlying SQLite + add: "foreign_keys = ON" to your connection options string. This will be passes to SQLite. + + Foreign key Example: + QSqlDatabase database = QSqlDatabase::addDatabase("QSYMSQL", "MyConnection"); + database.setDatabaseName("[12345678]myDatabase"); + database.setConnectOptions("foreign_keys = ON"); + bool ok = database.open(); + \section3 How to Build the QSYMSQL Plugin - - Building QSYMSQL requires symbian platform, since it is using Symbian SQL database. - - QSYMSQL is a dynamic plugin, which appears to available drivers list, when the binaries are build in. - + + Building QSYMSQL requires Symbian SDK. + The build sequence is similar to the QSQLITE plugin with installing the plugin in the standard location. - - + + Build sequence: + + >cd sf\mw\qt\src\plugins\sqldrivers\symsql\ + >qmake + >sbs -c winscw_udeb|armv5_urel + \target QIBASE \section2 QIBASE for Borland InterBase -- cgit v0.12 From 6d1160ebb58a35a70afd689223d167eaf13490fd Mon Sep 17 00:00:00 2001 From: aavit Date: Thu, 22 Sep 2011 11:04:53 +0200 Subject: Update changes-4.8.0 file --- dist/changes-4.8.0 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 213068f..a9c0a40 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -33,7 +33,7 @@ General Improvements Third party components ---------------------- - - Updated libpng to version 1.5.1 + - Updated libpng to version 1.5.4 - Updated libjpeg to version 8c - Updated zlib to version 1.2.5 -- cgit v0.12 From a14033620fab5edca44293ec6dfcc904e2e0eb20 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 22 Sep 2011 14:48:44 +0200 Subject: Sentences should end with a period! (Poor man's rebuild trigger.) --- src/3rdparty/webkit/Source/WebCore/WebCore.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pri b/src/3rdparty/webkit/Source/WebCore/WebCore.pri index 00357a1..d8ba8a6 100644 --- a/src/3rdparty/webkit/Source/WebCore/WebCore.pri +++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pri @@ -153,7 +153,7 @@ symbian { CONFIG += do_not_build_as_thumb CONFIG(release, debug|release): QMAKE_CXXFLAGS.ARMCC += -OTime -O3 - # Symbian plugin support + # Symbian plugin support. LIBS += -lefsrv !CONFIG(QTDIR_build) { -- cgit v0.12 From c6eac82ad48c3956a16cfa89105374003fc854d6 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Thu, 22 Sep 2011 16:21:58 +0300 Subject: Improve sbsv2 whatlog support. All builds will now add anything generated via QMAKE_EXTRA_COMPILERS to whatlog. In addition, platform builds will now add to whatlog the exported mkspecs and qmake_clean.flm that were missing. Task-number: QTBUG-21591 Reviewed-by: Sami Merila --- config.profiles/symbian/bld.inf | 1 + config.profiles/symbian/qtconfig.flm | 12 ++++++++++-- mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm | 1 + 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/config.profiles/symbian/bld.inf b/config.profiles/symbian/bld.inf index 6ccb11c..21b3614 100644 --- a/config.profiles/symbian/bld.inf +++ b/config.profiles/symbian/bld.inf @@ -19,6 +19,7 @@ qtconfig.flm /epoc32/tools/makefile_templates/qt/qtconfig.flm ../../mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm /epoc32/tools/makefile_templates/qt/ ../../mkspecs/symbian-sbsv2/flm/qt/qmake_post_link.flm /epoc32/tools/makefile_templates/qt/ ../../mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm /epoc32/tools/makefile_templates/qt/ +../../mkspecs/symbian-sbsv2/flm/qt/qmake_clean.flm /epoc32/tools/makefile_templates/qt/ ../../mkspecs/symbian-sbsv2/flm/qt/qt.xml /epoc32/tools/makefile_templates/qt/ qt.conf /epoc32/tools/qt.conf diff --git a/config.profiles/symbian/qtconfig.flm b/config.profiles/symbian/qtconfig.flm index 56c3d6b..94f732a 100644 --- a/config.profiles/symbian/qtconfig.flm +++ b/config.profiles/symbian/qtconfig.flm @@ -66,9 +66,10 @@ $(SOURCEDIR)/qmake$(DOTEXE): $(EXTENSION_ROOT)/$(QT_ROOT)/$(CONFIGURE_APP) $(GNUCP) -R $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs $(MKSPECDIR) $(call endrule,mkspecexport) -WHAT:: +FINAL WHAT:: $(SOURCEDIR)/qmake$(DOTEXE) $(call startrawoutput) \ echo "$(call whatLogOpen)"; \ + cd $(EXTENSION_ROOT)/$(QT_ROOT)/config.profiles/symbian && \ perl headerexport -base-dir $(EXTENSION_ROOT)/$(QT_ROOT) -outdir $(EPOCROOT)/epoc32/include/ -what | \ (read -r LINE; \ while [ $$$$? -eq 0 ]; do \ @@ -76,7 +77,14 @@ WHAT:: read -r LINE; \ done; \ ); \ - echo "$(call whatLogClose)" \ + $(GNUFIND) $(EXTENSION_ROOT)/$(QT_ROOT)/mkspecs -type f | \ + (read -r LINE; \ + while [ $$$$? -eq 0 ]; do \ + echo "$(call whatLogItem,,$$$$LINE)" | $(GNUSED) 's#$(EXTENSION_ROOT)/$(QT_ROOT)#$(MKSPECDIR)#'; \ + read -r LINE; \ + done; \ + ); \ + echo "$(call whatLogClose)"; \ $(call endrawoutput) endef diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm index dce7f20..26afff6 100644 --- a/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm +++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_extra_pre_targetdep.flm @@ -31,6 +31,7 @@ endef ifeq ($($(SINGLETON)),) $(eval $(qmake_extra_pre_targetdep)) $(eval $(call GenerateStandardCleanTarget,$(PREDEP_TARGET),'')) +$(eval $(call whatmacro,$(PREDEP_TARGET))) endif -- cgit v0.12 From 48f64fc7ae9f0e9e8ab07ab60ccd55d3b053dfab Mon Sep 17 00:00:00 2001 From: Iikka Eklund Date: Thu, 22 Sep 2011 15:11:42 +0200 Subject: Fix broken Solaris build (getpwnam_r usage) Added ifdef inside qt_tildeExpansion function to use correct version of getpwnam_r depending on _C_POSIX_SOURCE version on Solaris platform. Task-number: QTBUG-21451 Merge-request: 1380 Reviewed-by: ossi --- src/gui/dialogs/qfiledialog.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp index 5e8533e..817cd38 100644 --- a/src/gui/dialogs/qfiledialog.cpp +++ b/src/gui/dialogs/qfiledialog.cpp @@ -880,7 +880,12 @@ Q_AUTOTEST_EXPORT QString qt_tildeExpansion(const QString &path, bool *expanded passwd *tmpPw; char buf[200]; const int bufSize = sizeof(buf); - int err = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize, &tmpPw); + int err = 0; +#if defined(Q_OS_SOLARIS) && (_POSIX_C_SOURCE - 0 < 199506L) + tmpPw = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize); +#else + err = getpwnam_r(userName.toLocal8Bit().constData(), &pw, buf, bufSize, &tmpPw); +#endif if (err || !tmpPw) return ret; const QString homePath = QString::fromLocal8Bit(pw.pw_dir); -- cgit v0.12 From 3cd5e01f359d47975c27627ff4866e35258a9d0b Mon Sep 17 00:00:00 2001 From: Sinan Tanilkan Date: Fri, 23 Sep 2011 10:18:34 +0200 Subject: Update changelog for Qt 4.8 Change recieved from James Perrett --- dist/changes-4.8.0 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 84e58f9..4299c1a 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -219,6 +219,7 @@ Qt for Embedded Linux - Improved support for INTEGRITY RTOS - Allow hard-coding the temp path in mkspecs (QT_UNIX_TEMP_PATH_OVERRIDE define) - Added support for opening LinuxInput devices exclusively (via ioctl EVIOCGRAB) + - Added eglnullws QScreen driver for use with OpenGL ES EGL null window system (NullWS). Qt for Symbian -------------- @@ -357,6 +358,9 @@ Qt for Windows CE * New tool to generate text descriptions of the QML components defined in plugins loaded by a QML module. +- syncqt + * Fix to allow $QTDIR to contain any valid pathname characters. + **************************************************************************** * Plugins * **************************************************************************** -- cgit v0.12 From bafaaa85f77259e256581e4cba5d7afcda56a377 Mon Sep 17 00:00:00 2001 From: Ademar de Souza Reis Jr Date: Thu, 22 Sep 2011 14:35:31 -0300 Subject: Update changelog for Qt-4.8.0: add QtWebKit notes --- dist/changes-4.8.0 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0 index 4299c1a..9b118d5 100644 --- a/dist/changes-4.8.0 +++ b/dist/changes-4.8.0 @@ -163,6 +163,11 @@ QtDBus ------ - Added a method that returns the local machine ID +QtWebKit +-------- + - Update QtWebKit to 2.2.0 + http://trac.webkit.org/wiki/QtWebKitRelease22 + QtSql ----- - Update sqlite to 3.7.7.1 -- cgit v0.12 From 44bf0486fcde32f9ec007e8ed2904114b0ad15fd Mon Sep 17 00:00:00 2001 From: Eero Hyyti Date: Fri, 23 Sep 2011 12:34:34 +0300 Subject: Doc updates to Qt 4.8 platform notes documentation. --- doc/src/platforms/platform-notes.qdoc | 43 +++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 15 deletions(-) diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 477f125..2cdfc37 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -685,9 +685,7 @@ \ingroup platform-specific \brief Information about the state of support for the Symbian platform. - As with any port, the maturity for Qt for Symbian has not yet reached the - same level as other established Qt ports. This page documents the current - notes for the Symbian port. + This page documents the current notes for the Symbian port. \section1 Source Compatibility @@ -698,18 +696,34 @@ \section1 Binary Compatibility - As with every supported platform, we will strive to maintain - application behavior and binary compatibility throughout the lifetime of - the Qt 4.x series. However, due to the fact that Symbian support is newly - added in 4.6.0, there is a slight possibility that minor corrections to the - application binary interface (ABI) might be required in 4.6.1, in order to - ensure compatibility going forward. Any such change will be clearly - documented in the release notes for 4.6.1. + As with every supported platform, Qt strives to maintain application + behavior and binary compatibility throughout the lifetime of the Qt 4.x + major version and on the Symbian devices that support Qt. Symbian support in + Qt SDK and Ovi Store were introduced with Qt 4.6. Each Qt release contains + bug fixes that might change the API behavior and thereby affect application + compatibility. + + In addition, Symbian devices have different input methods, such as different + keyboard styles or touch input, screen sizes, memory, and CPU and GPU + capabilities. Therefore, you must test applications on specific target + devices to ensure compatibility. In order to build applications that are + supported also on earlier devices, select the target in Qt SDK carefully. + Generally, an earlier target (such as S60 5th Edition) is supported on a + larger number of devices than a later target (such as Symbian Belle). \section1 Supported Devices - See the list of supported devices at - http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian#Supported_Devices + \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian#Supported_Devices}{Nokia Smart Installer for Symbian} + documentation lists supported devices. + + + ###how to formulate this: + Qt 4.6 for Symbian is supported for S60 3rd Edition feature pack 1 devices + and onward via Smart Installer. Qt 4.7.3 is supported in S60 5th Edition + devices and onward. Symbian^3 devices have Qt 4.6 support pre-installed. + Symbian Anna has Qt 4.7.3 pre-installed and Symbian Belle has Qt 4.7.4 in + device firmware (ROM). + \section1 Supported Functionality @@ -736,9 +750,7 @@ \row \o QtSql \o The only driver supported is SQLite. \row \o QtMultimedia - \o Although the module itself is supported, no backend for Symbian - is currently available. However, there is a backend available - for Phonon. + \o For support details see \l {Multimedia and Phonon Support} section. \endtable \section1 Compiler Notes @@ -796,6 +808,7 @@ For more information see the documentation of the individual Qt classes. If a class does not mention Symbian capabilities, it requires none. + \target Multimedia and Phonon Support \section1 Multimedia and Phonon Support Qt provides a high-level API for multimedia functionality with -- cgit v0.12 From a6f87c60ed135c8f92a0de846dba5734fa7cf6c6 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 23 Sep 2011 12:19:02 +0200 Subject: Don't store the alignment attribute for spacers And for QLayoutWidget as it is not allowed and will create a code which doesn't compile Reviewed-by: con Task-number: QTBUG-21575 --- tools/designer/src/lib/uilib/abstractformbuilder.cpp | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/tools/designer/src/lib/uilib/abstractformbuilder.cpp b/tools/designer/src/lib/uilib/abstractformbuilder.cpp index 81f1a3b..665badb 100644 --- a/tools/designer/src/lib/uilib/abstractformbuilder.cpp +++ b/tools/designer/src/lib/uilib/abstractformbuilder.cpp @@ -1452,6 +1452,8 @@ struct FormBuilderSaveLayoutEntry { explicit FormBuilderSaveLayoutEntry(QLayoutItem *li = 0) : item(li), row(-1), column(-1), rowSpan(0), columnSpan(0), alignment(0) {} + void setAlignment(Qt::Alignment al); + QLayoutItem *item; int row; int column; @@ -1460,6 +1462,20 @@ struct FormBuilderSaveLayoutEntry { Qt::Alignment alignment; }; +// filter out the case of "Spacer" and "QLayoutWidget" widgets +void FormBuilderSaveLayoutEntry::setAlignment(Qt::Alignment al) +{ + if (!item->widget()) + return; + + const QString className = item->widget()->metaObject()->className(); + if (className == QLatin1String("Spacer") + || className == QLatin1String("QLayoutWidget")) + return; + + alignment = al; +} + // Create list from standard box layout static QList saveLayoutEntries(const QLayout *layout) { @@ -1469,7 +1485,7 @@ static QList saveLayoutEntries(const QLayout *layout for (int idx = 0; idx < count; ++idx) { QLayoutItem *item = layout->itemAt(idx); FormBuilderSaveLayoutEntry entry(item); - entry.alignment = item->alignment(); + entry.setAlignment(item->alignment()); rc.append(entry); } } @@ -1486,7 +1502,7 @@ static QList saveGridLayoutEntries(QGridLayout *grid QLayoutItem *item = gridLayout->itemAt(idx); FormBuilderSaveLayoutEntry entry(item); gridLayout->getItemPosition(idx, &entry.row, &entry.column, &entry.rowSpan,&entry.columnSpan); - entry.alignment = item->alignment(); + entry.setAlignment(item->alignment()); rc.append(entry); } } -- cgit v0.12 From 6a8a3f7f8171bb56bc5ff5a5f503213180e6465f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simo=20F=C3=A4lt?= Date: Fri, 23 Sep 2011 14:56:23 +0300 Subject: Disabled activeqt/webbrowser example from mingw build. --- examples/activeqt/activeqt.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/activeqt/activeqt.pro b/examples/activeqt/activeqt.pro index 79d257a..ad41a47 100644 --- a/examples/activeqt/activeqt.pro +++ b/examples/activeqt/activeqt.pro @@ -12,6 +12,9 @@ contains(QT_CONFIG, opengl):SUBDIRS += opengl # For now only the contain examples with mingw, for the others you need # an IDL compiler win32-g++*|wince*:SUBDIRS = webbrowser +# Due to build problems, active qt was disabled from mingw build, +# so we have to remove the only one left +win32-g++*:SUBDIRS = # install target.path = $$[QT_INSTALL_EXAMPLES]/activeqt -- cgit v0.12 From caf77de1ea1c15ae4dbeb8ea1182ec6226db210d Mon Sep 17 00:00:00 2001 From: Eero Hyyti Date: Fri, 23 Sep 2011 15:45:01 +0300 Subject: Doc updates to platform notes of Qt 4.8 doc. --- doc/src/platforms/platform-notes.qdoc | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 2cdfc37..3134ae0 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -716,13 +716,19 @@ \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian#Supported_Devices}{Nokia Smart Installer for Symbian} documentation lists supported devices. + Qt versions are supported by Symbian devices as follows: + \list + \o Qt 4.6 is supported by S60 3rd Edition feature pack 1 and newer devices + through \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian}{Smart Installer}. + \o Qt 4.7.3 is supported by S60 5th Edition and newer devices. + \endlist - ###how to formulate this: - Qt 4.6 for Symbian is supported for S60 3rd Edition feature pack 1 devices - and onward via Smart Installer. Qt 4.7.3 is supported in S60 5th Edition - devices and onward. Symbian^3 devices have Qt 4.6 support pre-installed. - Symbian Anna has Qt 4.7.3 pre-installed and Symbian Belle has Qt 4.7.4 in - device firmware (ROM). + Symbian devices have a pre-installed Qt support as follows: + \list + \o Symbian^3: Qt 4.6 in C: drive. + \o Symbian Anna: Qt 4.7.3 in C: drive. + \o Symbian Belle: Qt 4.7.4 in device firmware (ROM). + \endlist \section1 Supported Functionality -- cgit v0.12 From 140e68ae50411631aa5c1649face4c7d9d1b651d Mon Sep 17 00:00:00 2001 From: Iikka Eklund Date: Fri, 23 Sep 2011 17:13:39 +0200 Subject: Fix broken qglthreads autotest build on Solaris. qglthreads autotest can not find usleep() function when compiling on Solaris platform. Added qplatformdefs.h include to fix compilation. Task-number: QTBUG-21594 Merge-request: 1394 Reviewed-by: Oswald Buddenhagen --- tests/auto/qglthreads/tst_qglthreads.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/auto/qglthreads/tst_qglthreads.cpp b/tests/auto/qglthreads/tst_qglthreads.cpp index 859f47f..60fb10c 100644 --- a/tests/auto/qglthreads/tst_qglthreads.cpp +++ b/tests/auto/qglthreads/tst_qglthreads.cpp @@ -49,6 +49,7 @@ #include // for usleep #define RUNNING_TIME 2000 // save GPU mem by running shorter time. #else +#include "qplatformdefs.h" // for usleep #define RUNNING_TIME 5000 #endif -- cgit v0.12 From 3df9ac2f0719718ceb7385e46445447d95fd7857 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Fri, 23 Sep 2011 14:23:52 +0200 Subject: Fix accessible menu not returning child name. When accessible name is set, QAccessibleMenu would always return the menu's name, not that of the child action. Task-Number: QTBUG-21578 Reviewed-by: Jan-Arve --- src/plugins/accessible/widgets/qaccessiblemenu.cpp | 2 +- tests/auto/qaccessibility/tst_qaccessibility.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/plugins/accessible/widgets/qaccessiblemenu.cpp b/src/plugins/accessible/widgets/qaccessiblemenu.cpp index 4ae1d15..e9e5ca8 100644 --- a/src/plugins/accessible/widgets/qaccessiblemenu.cpp +++ b/src/plugins/accessible/widgets/qaccessiblemenu.cpp @@ -93,7 +93,7 @@ int QAccessibleMenu::childAt(int x, int y) const QString QAccessibleMenu::text(Text t, int child) const { QString tx = QAccessibleWidgetEx::text(t, child); - if (tx.size()) + if (!child && tx.size()) return tx; switch (t) { diff --git a/tests/auto/qaccessibility/tst_qaccessibility.cpp b/tests/auto/qaccessibility/tst_qaccessibility.cpp index d452820..d24f52f 100644 --- a/tests/auto/qaccessibility/tst_qaccessibility.cpp +++ b/tests/auto/qaccessibility/tst_qaccessibility.cpp @@ -2531,6 +2531,12 @@ void tst_QAccessibility::menuTest() QCOMPARE(interface->actionText(QAccessible::DefaultAction, QAccessible::Name, 4), QString()); QCOMPARE(interface->actionText(QAccessible::DefaultAction, QAccessible::Name, 5), QString("Execute")); + // QTBUG-21578 - after setting accessible name on a menu it would no longer + // return the right names for it's children. + QCOMPARE(interface->text(QAccessible::Name, 1), QString("New...")); + file->setAccessibleName("File"); + QCOMPARE(interface->text(QAccessible::Name, 1), QString("New...")); + QAccessibleInterface *iface = 0; QAccessibleInterface *iface2 = 0; -- cgit v0.12 From e5d7c375d45044cdee261c238e7ab6bd5ab7a0ac Mon Sep 17 00:00:00 2001 From: Eero Hyyti Date: Tue, 27 Sep 2011 09:38:54 +0300 Subject: Doc updates to platform notes document. --- doc/src/platforms/platform-notes.qdoc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 3134ae0..60acb12 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -749,15 +749,30 @@ \endtable The following technologies have limited support: + \table \header \o Technology \o Note \row \o QtSql - \o The only driver supported is SQLite. + \o The supported drivers are SQLite and QSYMSQL. \row \o QtMultimedia \o For support details see \l {Multimedia and Phonon Support} section. \endtable + + It is not recommended to use the following Qt widgets: + \list + \o QFileDialog with the \c DontUseNativeDialog option + \o QColorDialog with the \c DontUseNativeDialog option + \o QFontDialog + \o QWizard + \o QCalendarWidget + \o QDateTimeEdit + \o QMdiArea + \o QMdiSubWindow + \o QDockWidget + \o QPrintPreviewWidget + \endlist \section1 Compiler Notes @@ -827,7 +842,7 @@ In this release the support is experimental. Video playback may show artifacts when the video is moved or resized (for instance during - orientation flips). This problem is present on Symbian^1 and earlier + orientation flips). This problem is present on S60 5th Edition and earlier versions, and on Symbian^3 systems. The audio and video formats that Phonon supports depends on what support -- cgit v0.12 From 99c2bdc8c3346e7b84d2d71ec4dca8fe0ed6688e Mon Sep 17 00:00:00 2001 From: Eero Hyyti Date: Tue, 27 Sep 2011 15:11:36 +0300 Subject: Doc updates to Qt for Symbian installation instructions and platform notes. --- doc/src/getting-started/installation.qdoc | 58 ++++++++++++++++++++++--------- doc/src/platforms/platform-notes.qdoc | 5 ++- 2 files changed, 43 insertions(+), 20 deletions(-) diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc index 36d63f5..2936d60 100644 --- a/doc/src/getting-started/installation.qdoc +++ b/doc/src/getting-started/installation.qdoc @@ -510,7 +510,10 @@ in the \l{Qt for the Symbian platform Requirements} document. \section1 Step 1: Install Qt - Run \c{qt-symbian-opensource-%VERSION%.exe} and follow the instructions. + Download the \c {Qt libraries 4.x for Windows} package (for \c minGW or \c {VS 2008}) + from the \l {http://qt.nokia.com/downloads#qt-lib}{downloads} page. + + Run the downloaded package and follow the instructions. \note Qt must be installed on the same drive as the Symbian SDK you are using, and the install path must not contain any spaces. @@ -652,23 +655,39 @@ Binary Package} document. Congratulations, Qt is now ready to use. \section1 Step 7: Installing Qt Libraries on the Device + + To run a Qt application on a device, it must have Qt libraries installed. + + Symbian devices have a pre-installed Qt as follows: + \list + \o Symbian Anna devices have the pre-installed Qt, Qt Mobility, and Qt Webkit. + \o Symbian Belle and later devices have the pre-installed Qt on the device firmware. + \endlist + + \l {http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian} + {Nokia Smart Installer for Symbian} deploys the required Qt libraries to supported S60 + and Symbian devices if the libraries are not pre-installed. + + Nokia Developer site's \l {http://www.developer.nokia.com/Devices/Device_specifications/?filter1=qt} + {Device specifications} provide information on which devices have a + pre-installed Qt and the used Qt version. + + To create your own Qt installation package, do as follows: + + \snippet doc/src/snippets/code/doc_src_installation.qdoc 29 + + The Qt libraries are built with "All -Tcb" capability, so they can support + all types of applications. If you don't have a suitable certificate, you can + patch the binaries in either of the following ways: + + \list + \o If you have no certificate, build a self-signed Qt: + \snippet doc/src/snippets/code/doc_src_installation.qdoc 34 - To run the demo on a real device, you first have to install - the Qt libraries on the device: - -\snippet doc/src/snippets/code/doc_src_installation.qdoc 29 - - The Qt libraries are built with "All -Tcb" capability, so that - they can support all types of application. - If you don't have a suitable certificate, it is possible to patch - the binaries as follows: - - If you have no certificate, build a self signed Qt: -\snippet doc/src/snippets/code/doc_src_installation.qdoc 34 - - If you have a symbian-signed developer certificate, specify the + \o If you have a symbian-signed developer certificate, specify the capabilities you can sign for, for example: -\snippet doc/src/snippets/code/doc_src_installation.qdoc 35 + \snippet doc/src/snippets/code/doc_src_installation.qdoc 35 + \endlist \section1 Running Qt demos @@ -1315,7 +1334,12 @@ We hope you will enjoy using Qt. \brief Setting up the Symbian platform environment for Qt. \previouspage General Qt Requirements - Qt for the Symbian platform requires the following software installed on your development PC: + \l {http://qt.nokia.com/downloads}{Qt SDK} provides all the necessary tools + and libraries for developing Qt applications. However, if you want to build + Qt itself for Symbian, follow the instructions below. + + Qt for the Symbian platform requires the following software installed on + your development PC: \list \o \l{http://www.forum.nokia.com/Library/Tools_and_downloads/Other/Carbide.c++/}{Carbide.c++ v2.3.0 or higher recommended}. \list diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc index 60acb12..e1e8c44 100644 --- a/doc/src/platforms/platform-notes.qdoc +++ b/doc/src/platforms/platform-notes.qdoc @@ -725,7 +725,6 @@ Symbian devices have a pre-installed Qt support as follows: \list - \o Symbian^3: Qt 4.6 in C: drive. \o Symbian Anna: Qt 4.7.3 in C: drive. \o Symbian Belle: Qt 4.7.4 in device firmware (ROM). \endlist @@ -856,7 +855,7 @@ \section1 Hardware Accelerated Rendering - The default graphics system on Symbian^3 is OpenVG, which uses OpenVG + The default graphics system on Symbian Anna is OpenVG, which uses OpenVG hardware to accelerate \l QPainter functions. There are a few exceptions, where Qt will use software rendering fallback. @@ -873,7 +872,7 @@ \section1 QtOpenGL Support in Symbian - Qt 4.7 introduces the \l {QtOpenGL} module to Symbian^3. QtOpenGL is + Qt 4.7 introduces the \l {QtOpenGL} module. QtOpenGL is supported on devices which support OpenGL ES 2.0. Symbian platforms prior to Symbian^3 are not supported. -- cgit v0.12