summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-buffer.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h9
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gdef.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-global.h4
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-gsub.h9
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp2
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-open.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-shaper.h8
-rw-r--r--src/3rdparty/harfbuzz/src/harfbuzz-stream.h8
-rw-r--r--src/3rdparty/phonon/ds9/videorenderer_evr.cpp12
-rw-r--r--src/3rdparty/phonon/mmf/abstractvideooutput.cpp14
-rw-r--r--src/3rdparty/phonon/mmf/videowidget.cpp2
-rw-r--r--src/3rdparty/phonon/phonon/effectwidget.cpp2
-rw-r--r--src/3rdparty/phonon/phonon/globalconfig.cpp2
-rw-r--r--src/3rdparty/phonon/phonon/mediacontroller.cpp4
-rw-r--r--src/3rdparty/phonon/phonon/pulsesupport.cpp146
-rw-r--r--src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp38
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp10
-rw-r--r--src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h2
-rw-r--r--src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri4
-rw-r--r--src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp14
-rw-r--r--src/activeqt/container/qaxwidget.cpp2
-rw-r--r--src/activeqt/shared/qaxtypes.cpp2
-rw-r--r--src/corelib/arch/armv6/qatomic_generic_armv6.cpp2
-rw-r--r--src/corelib/arch/symbian/heap_hybrid.cpp8
-rw-r--r--src/corelib/codecs/qutfcodec.cpp2
-rw-r--r--src/corelib/corelib.pro7
-rw-r--r--src/corelib/global/global.pri2
-rw-r--r--src/corelib/global/qglobal.h4
-rw-r--r--src/corelib/global/qlibraryinfo.cpp12
-rw-r--r--src/corelib/global/qmalloc.cpp16
-rw-r--r--src/corelib/global/qnamespace.qdoc14
-rw-r--r--src/corelib/io/qdiriterator.cpp6
-rw-r--r--src/corelib/io/qfilesystemwatcher.cpp10
-rw-r--r--src/corelib/io/qfilesystemwatcher_kqueue.cpp194
-rw-r--r--src/corelib/io/qfsfileengine_unix.cpp2
-rw-r--r--src/corelib/io/qiodevice.cpp5
-rw-r--r--src/corelib/io/qiodevice_p.h2
-rw-r--r--src/corelib/io/qprocess_symbian.cpp1
-rw-r--r--src/corelib/io/qsettings.cpp39
-rw-r--r--src/corelib/kernel/qabstractitemmodel.cpp18
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp9
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp7
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian.cpp9
-rw-r--r--src/corelib/kernel/qeventdispatcher_symbian_p.h4
-rw-r--r--src/corelib/kernel/qeventdispatcher_win.cpp62
-rw-r--r--src/corelib/kernel/qmimedata.cpp2
-rw-r--r--src/corelib/kernel/qtcore_eval.cpp4
-rw-r--r--src/corelib/statemachine/qstatemachine.cpp2
-rw-r--r--src/corelib/thread/qthread.cpp4
-rw-r--r--src/corelib/thread/qthread_unix.cpp59
-rw-r--r--src/corelib/tools/qbytearray.cpp4
-rw-r--r--src/corelib/tools/qlocale.cpp9
-rw-r--r--src/corelib/tools/qlocale.h2
-rw-r--r--src/corelib/tools/qpoint.cpp6
-rw-r--r--src/corelib/tools/qsharedpointer_impl.h14
-rw-r--r--src/corelib/tools/qsimd.cpp2
-rw-r--r--src/corelib/tools/qsimd_p.h11
-rw-r--r--src/corelib/tools/qsize.cpp6
-rw-r--r--src/corelib/tools/qstring.cpp4
-rw-r--r--src/dbus/qdbusabstractinterface.cpp2
-rw-r--r--src/dbus/qdbusargument.h2
-rw-r--r--src/dbus/qdbusconnection.cpp6
-rw-r--r--src/dbus/qdbusconnection_p.h13
-rw-r--r--src/dbus/qdbusintegrator.cpp37
-rw-r--r--src/dbus/qdbusmarshaller.cpp2
-rw-r--r--src/dbus/qdbusmessage.cpp6
-rw-r--r--src/dbus/qdbusmetatype.cpp4
-rw-r--r--src/dbus/qdbuspendingreply.h2
-rw-r--r--src/dbus/qdbusutil.cpp2
-rw-r--r--src/declarative/debugger/qdeclarativedebug_p.h30
-rw-r--r--src/declarative/debugger/qdeclarativedebugclient.cpp2
-rw-r--r--src/declarative/debugger/qdeclarativedebugclient_p.h6
-rw-r--r--src/declarative/debugger/qdeclarativedebuggerstatus_p.h4
-rw-r--r--src/declarative/debugger/qdeclarativedebughelper.cpp8
-rw-r--r--src/declarative/debugger/qdeclarativedebughelper_p.h6
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice.cpp19
-rw-r--r--src/declarative/debugger/qdeclarativedebugservice_p.h4
-rw-r--r--src/declarative/debugger/qpacketprotocol_p.h8
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeanchors_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativeborderimage.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativeevents.cpp30
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable.cpp128
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p.h3
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflickable_p_p.h16
-rw-r--r--src/declarative/graphicsitems/qdeclarativeflipable.cpp27
-rw-r--r--src/declarative/graphicsitems/qdeclarativegridview.cpp82
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage.cpp43
-rw-r--r--src/declarative/graphicsitems/qdeclarativeimage_p.h1
-rw-r--r--src/declarative/graphicsitems/qdeclarativeitem.cpp28
-rw-r--r--src/declarative/graphicsitems/qdeclarativelistview.cpp211
-rw-r--r--src/declarative/graphicsitems/qdeclarativeloader.cpp60
-rw-r--r--src/declarative/graphicsitems/qdeclarativemousearea.cpp42
-rw-r--r--src/declarative/graphicsitems/qdeclarativepath.cpp2
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview.cpp52
-rw-r--r--src/declarative/graphicsitems/qdeclarativepathview_p_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativepositioners_p.h2
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle.cpp18
-rw-r--r--src/declarative/graphicsitems/qdeclarativerectangle_p.h6
-rw-r--r--src/declarative/graphicsitems/qdeclarativerepeater.cpp4
-rw-r--r--src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h11
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext.cpp54
-rw-r--r--src/declarative/graphicsitems/qdeclarativetext_p.h4
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextinput.cpp29
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextlayout.cpp19
-rw-r--r--src/declarative/graphicsitems/qdeclarativetextlayout_p.h1
-rw-r--r--src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp36
-rw-r--r--src/declarative/qml/parser/qdeclarativejs.g4
-rw-r--r--src/declarative/qml/parser/qdeclarativejslexer.cpp15
-rw-r--r--src/declarative/qml/parser/qdeclarativejsparser.cpp4
-rw-r--r--src/declarative/qml/qdeclarativebinding_p.h4
-rw-r--r--src/declarative/qml/qdeclarativecompiledbindings.cpp2
-rw-r--r--src/declarative/qml/qdeclarativecompileddata.cpp6
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp10
-rw-r--r--src/declarative/qml/qdeclarativecompiler_p.h7
-rw-r--r--src/declarative/qml/qdeclarativecomponent.cpp94
-rw-r--r--src/declarative/qml/qdeclarativecomponent_p.h7
-rw-r--r--src/declarative/qml/qdeclarativecontext.cpp25
-rw-r--r--src/declarative/qml/qdeclarativedata_p.h13
-rw-r--r--src/declarative/qml/qdeclarativedom_p.h26
-rw-r--r--src/declarative/qml/qdeclarativeengine.cpp60
-rw-r--r--src/declarative/qml/qdeclarativeengine_p.h2
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug.cpp3
-rw-r--r--src/declarative/qml/qdeclarativeenginedebug_p.h8
-rw-r--r--src/declarative/qml/qdeclarativeglobal_p.h6
-rw-r--r--src/declarative/qml/qdeclarativeinfo.cpp3
-rw-r--r--src/declarative/qml/qdeclarativemetatype_p.h5
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass.cpp300
-rw-r--r--src/declarative/qml/qdeclarativeobjectscriptclass_p.h9
-rw-r--r--src/declarative/qml/qdeclarativeparser_p.h5
-rw-r--r--src/declarative/qml/qdeclarativeprivate.h5
-rw-r--r--src/declarative/qml/qdeclarativeproperty.cpp2
-rw-r--r--src/declarative/qml/qdeclarativeproperty_p.h8
-rw-r--r--src/declarative/qml/qdeclarativepropertycache.cpp138
-rw-r--r--src/declarative/qml/qdeclarativepropertycache_p.h9
-rw-r--r--src/declarative/qml/qdeclarativestringconverters_p.h22
-rw-r--r--src/declarative/qml/qdeclarativetypeloader.cpp19
-rw-r--r--src/declarative/qml/qdeclarativetypeloader_p.h2
-rw-r--r--src/declarative/qml/qdeclarativevaluetype_p.h4
-rw-r--r--src/declarative/qml/qdeclarativevme.cpp12
-rw-r--r--src/declarative/qml/qdeclarativeworkerscript.cpp43
-rw-r--r--src/declarative/qml/qmetaobjectbuilder.cpp12
-rw-r--r--src/declarative/qml/qmetaobjectbuilder_p.h10
-rw-r--r--src/declarative/util/qdeclarativeanimation_p.h4
-rw-r--r--src/declarative/util/qdeclarativeanimation_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativebehavior_p.h2
-rw-r--r--src/declarative/util/qdeclarativefontloader.cpp24
-rw-r--r--src/declarative/util/qdeclarativelistmodel_p.h2
-rw-r--r--src/declarative/util/qdeclarativeopenmetaobject.cpp2
-rw-r--r--src/declarative/util/qdeclarativeopenmetaobject_p.h7
-rw-r--r--src/declarative/util/qdeclarativepixmapcache.cpp5
-rw-r--r--src/declarative/util/qdeclarativepropertychanges_p.h2
-rw-r--r--src/declarative/util/qdeclarativestate.cpp12
-rw-r--r--src/declarative/util/qdeclarativestate_p.h6
-rw-r--r--src/declarative/util/qdeclarativestate_p_p.h2
-rw-r--r--src/declarative/util/qdeclarativestateoperations.cpp2
-rw-r--r--src/declarative/util/qdeclarativetimer_p.h4
-rw-r--r--src/declarative/util/qdeclarativetransition.cpp6
-rw-r--r--src/declarative/util/qdeclarativetransitionmanager.cpp16
-rw-r--r--src/declarative/util/qdeclarativeview.cpp15
-rw-r--r--src/declarative/util/qlistmodelinterface.cpp8
-rw-r--r--src/declarative/util/qlistmodelinterface_p.h4
-rw-r--r--src/gui/accessible/qaccessible_mac_p.h4
-rw-r--r--src/gui/dialogs/dialogs.pri9
-rw-r--r--src/gui/dialogs/qabstractprintdialog.cpp3
-rw-r--r--src/gui/dialogs/qcolordialog.cpp21
-rw-r--r--src/gui/dialogs/qcolordialog_symbian.cpp107
-rw-r--r--src/gui/dialogs/qdialog.cpp6
-rw-r--r--src/gui/dialogs/qfiledialog.cpp68
-rw-r--r--src/gui/dialogs/qfiledialog_symbian.cpp196
-rw-r--r--src/gui/dialogs/qfilesystemmodel.cpp45
-rw-r--r--src/gui/dialogs/qinputdialog.cpp6
-rw-r--r--src/gui/dialogs/qmessagebox.cpp88
-rw-r--r--src/gui/dialogs/qpagesetupdialog.cpp3
-rw-r--r--src/gui/dialogs/qprintpreviewdialog.cpp2
-rw-r--r--src/gui/egl/qegl.cpp4
-rw-r--r--src/gui/embedded/qcopchannel_qws.cpp2
-rw-r--r--src/gui/embedded/qtransportauth_qws.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsgridlayout.cpp11
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp25
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h4
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem.cpp82
-rw-r--r--src/gui/graphicsview/qgraphicslayoutitem_p.h8
-rw-r--r--src/gui/graphicsview/qgraphicslinearlayout.cpp4
-rw-r--r--src/gui/graphicsview/qgraphicsproxywidget.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicssceneevent.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicstransform.cpp2
-rw-r--r--src/gui/graphicsview/qgraphicswidget.cpp2
-rw-r--r--src/gui/graphicsview/qgridlayoutengine.cpp299
-rw-r--r--src/gui/graphicsview/qgridlayoutengine_p.h39
-rw-r--r--src/gui/gui.pro3
-rw-r--r--src/gui/image/qimage_ssse3.cpp2
-rw-r--r--src/gui/image/qpixmap.cpp3
-rw-r--r--src/gui/image/qpixmap_x11_p.h2
-rw-r--r--src/gui/image/qtiffhandler.cpp1
-rw-r--r--src/gui/image/qxbmhandler.cpp25
-rw-r--r--src/gui/image/qxpmhandler.cpp2
-rw-r--r--src/gui/inputmethod/qinputcontextfactory.cpp4
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp12
-rw-r--r--src/gui/itemviews/qdirmodel.cpp19
-rw-r--r--src/gui/itemviews/qitemselectionmodel.cpp15
-rw-r--r--src/gui/itemviews/qstandarditemmodel.cpp2
-rw-r--r--src/gui/itemviews/qtableview.cpp4
-rw-r--r--src/gui/kernel/qapplication.cpp21
-rw-r--r--src/gui/kernel/qapplication_p.h3
-rw-r--r--src/gui/kernel/qapplication_s60.cpp13
-rw-r--r--src/gui/kernel/qapplication_win.cpp4
-rw-r--r--src/gui/kernel/qapplication_x11.cpp26
-rw-r--r--src/gui/kernel/qclipboard_mac.cpp2
-rw-r--r--src/gui/kernel/qclipboard_s60.cpp84
-rw-r--r--src/gui/kernel/qclipboard_win.cpp2
-rw-r--r--src/gui/kernel/qclipboard_x11.cpp4
-rw-r--r--src/gui/kernel/qcocoamenuloader_mac.mm2
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm4
-rw-r--r--src/gui/kernel/qevent.cpp2
-rw-r--r--src/gui/kernel/qeventdispatcher_s60.cpp66
-rw-r--r--src/gui/kernel/qeventdispatcher_s60_p.h24
-rw-r--r--src/gui/kernel/qgesture.cpp27
-rw-r--r--src/gui/kernel/qgesturemanager.cpp16
-rw-r--r--src/gui/kernel/qgesturemanager_p.h3
-rw-r--r--src/gui/kernel/qguiplatformplugin.cpp2
-rw-r--r--src/gui/kernel/qkeymapper_mac.cpp4
-rw-r--r--src/gui/kernel/qkeysequence.cpp2
-rw-r--r--src/gui/kernel/qmotifdnd_x11.cpp5
-rw-r--r--src/gui/kernel/qsoftkeymanager_s60.cpp2
-rw-r--r--src/gui/kernel/qsound_s60.cpp2
-rw-r--r--src/gui/kernel/qstandardgestures.cpp25
-rw-r--r--src/gui/kernel/qt_x11_p.h1
-rw-r--r--src/gui/kernel/qwidget.cpp87
-rw-r--r--src/gui/kernel/qwidget_mac.mm50
-rw-r--r--src/gui/kernel/qwidget_p.h2
-rw-r--r--src/gui/kernel/qwidget_qws.cpp24
-rw-r--r--src/gui/kernel/qwidget_s60.cpp21
-rw-r--r--src/gui/kernel/qx11embed_x11.cpp2
-rw-r--r--src/gui/painting/painting.pri7
-rw-r--r--src/gui/painting/qbackingstore.cpp2
-rw-r--r--src/gui/painting/qblendfunctions_armv6_rvct.s222
-rw-r--r--src/gui/painting/qdrawhelper.cpp159
-rw-r--r--src/gui/painting/qdrawhelper_arm_simd.cpp332
-rw-r--r--src/gui/painting/qdrawhelper_arm_simd_p.h (renamed from src/gui/painting/qdrawhelper_armv6_p.h)19
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.inc496
-rw-r--r--src/gui/painting/qdrawhelper_armv6_rvct.s177
-rw-r--r--src/gui/painting/qgraphicssystem_qws.cpp2
-rw-r--r--src/gui/painting/qimagescale.cpp2
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp11
-rw-r--r--src/gui/painting/qpainter.cpp4
-rw-r--r--src/gui/painting/qpdf.cpp4
-rw-r--r--src/gui/painting/qregion.h2
-rw-r--r--src/gui/painting/qtextureglyphcache.cpp26
-rw-r--r--src/gui/painting/qtextureglyphcache_p.h4
-rw-r--r--src/gui/styles/qs60style.cpp182
-rw-r--r--src/gui/styles/qs60style_feedbackinterface_p.h50
-rw-r--r--src/gui/styles/qs60style_p.h11
-rw-r--r--src/gui/styles/qs60style_s60.cpp98
-rw-r--r--src/gui/styles/qstyle.cpp10
-rw-r--r--src/gui/styles/qstyleoption.cpp4
-rw-r--r--src/gui/styles/qwindowsxpstyle.cpp2
-rw-r--r--src/gui/text/qfontdatabase_x11.cpp23
-rw-r--r--src/gui/text/qfontengine_p.h2
-rw-r--r--src/gui/text/qfontengine_win.cpp2
-rw-r--r--src/gui/text/qfontengine_x11.cpp2
-rw-r--r--src/gui/text/qfontsubset.cpp4
-rw-r--r--src/gui/text/qstatictext.cpp22
-rw-r--r--src/gui/text/qstatictext_p.h54
-rw-r--r--src/gui/text/qtextdocument_p.cpp4
-rw-r--r--src/gui/text/qtextformat.cpp10
-rw-r--r--src/gui/text/qtextlayout.cpp2
-rw-r--r--src/gui/util/qcompleter.cpp18
-rw-r--r--src/gui/util/qcompleter_p.h1
-rw-r--r--src/gui/util/qdesktopservices_s60.cpp180
-rw-r--r--src/gui/util/qundostack.cpp2
-rw-r--r--src/gui/util/util.pri19
-rw-r--r--src/gui/widgets/qabstractslider.cpp2
-rw-r--r--src/gui/widgets/qcombobox.cpp2
-rw-r--r--src/gui/widgets/qdatetimeedit.cpp4
-rw-r--r--src/gui/widgets/qmainwindow.cpp6
-rw-r--r--src/gui/widgets/qmainwindowlayout_p.h1
-rw-r--r--src/gui/widgets/qtextedit.cpp2
-rw-r--r--src/gui/widgets/qvalidator.cpp45
-rw-r--r--src/imports/folderlistmodel/folderlistmodel.pro1
-rw-r--r--src/imports/gestures/gestures.pro1
-rw-r--r--src/imports/particles/particles.pro1
-rw-r--r--src/multimedia/audio/audio.pri4
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp6
-rw-r--r--src/multimedia/audio/qaudiodeviceinfo_alsa_p.h2
-rw-r--r--src/multimedia/audio/qaudioengine.cpp4
-rw-r--r--src/multimedia/audio/qaudioinput.cpp2
-rw-r--r--src/multimedia/audio/qaudioinput_alsa_p.cpp21
-rw-r--r--src/multimedia/audio/qaudioinput_win32_p.cpp11
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp2
-rw-r--r--src/multimedia/audio/qaudiooutput_win32_p.cpp2
-rw-r--r--src/network/access/qhttp.cpp2
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp167
-rw-r--r--src/network/access/qhttpnetworkconnection_p.h38
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp57
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h9
-rw-r--r--src/network/access/qhttpnetworkheader.cpp12
-rw-r--r--src/network/access/qhttpnetworkreply.cpp11
-rw-r--r--src/network/access/qhttpnetworkreply_p.h9
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp15
-rw-r--r--src/network/access/qnetworkaccessbackend_p.h7
-rw-r--r--src/network/access/qnetworkaccesscachebackend.cpp12
-rw-r--r--src/network/access/qnetworkaccesscachebackend_p.h2
-rw-r--r--src/network/access/qnetworkaccessdatabackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessdatabackend_p.h2
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessdebugpipebackend_p.h1
-rw-r--r--src/network/access/qnetworkaccessfilebackend.cpp6
-rw-r--r--src/network/access/qnetworkaccessfilebackend_p.h1
-rw-r--r--src/network/access/qnetworkaccessftpbackend.cpp17
-rw-r--r--src/network/access/qnetworkaccessftpbackend_p.h1
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp212
-rw-r--r--src/network/access/qnetworkaccesshttpbackend_p.h6
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp81
-rw-r--r--src/network/access/qnetworkaccessmanager_p.h6
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp47
-rw-r--r--src/network/access/qnetworkrequest.cpp20
-rw-r--r--src/network/access/qnetworkrequest.h3
-rw-r--r--src/network/bearer/qnetworkconfigmanager.cpp38
-rw-r--r--src/network/kernel/qauthenticator.cpp24
-rw-r--r--src/network/kernel/qauthenticator_p.h1
-rw-r--r--src/network/kernel/qnetworkproxy.cpp6
-rw-r--r--src/network/socket/qabstractsocket.cpp30
-rw-r--r--src/network/socket/qabstractsocket_p.h7
-rw-r--r--src/network/socket/qlocalserver_unix.cpp2
-rw-r--r--src/network/socket/qlocalsocket_win.cpp4
-rw-r--r--src/network/socket/qnativesocketengine_win.cpp2
-rw-r--r--src/network/ssl/qsslcertificate.cpp2
-rw-r--r--src/network/ssl/qsslsocket.cpp14
-rw-r--r--src/network/ssl/qsslsocket_openssl.cpp133
-rw-r--r--src/network/ssl/qsslsocket_openssl_p.h2
-rw-r--r--src/network/ssl/qsslsocket_p.h2
-rw-r--r--src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp5
-rw-r--r--src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h2
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h4
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadersource_p.h5
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp44
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp28
-rw-r--r--src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h17
-rw-r--r--src/opengl/gl2paintengineex/qtriangulator.cpp55
-rw-r--r--src/opengl/qgl.cpp30
-rw-r--r--src/opengl/qgl.h1
-rw-r--r--src/opengl/qgl_egl.cpp6
-rw-r--r--src/opengl/qgl_p.h87
-rw-r--r--src/opengl/qgl_x11egl.cpp5
-rw-r--r--src/opengl/qglextensions_p.h23
-rw-r--r--src/opengl/qglframebufferobject.cpp23
-rw-r--r--src/opengl/qglpixelbuffer.cpp4
-rw-r--r--src/opengl/qglpixelbuffer_egl.cpp1
-rw-r--r--src/opengl/qglpixmapfilter.cpp6
-rw-r--r--src/opengl/qpaintengine_opengl.cpp10
-rw-r--r--src/opengl/qpixmapdata_gl.cpp4
-rw-r--r--src/opengl/qpixmapdata_gl_p.h1
-rw-r--r--src/opengl/qpixmapdata_x11gl_egl.cpp4
-rw-r--r--src/opengl/qwindowsurface_gl.cpp141
-rw-r--r--src/opengl/qwindowsurface_gl_p.h1
-rw-r--r--src/openvg/qpaintengine_vg.cpp96
-rw-r--r--src/openvg/qpaintengine_vg_p.h1
-rw-r--r--src/openvg/qpixmapdata_vg.cpp27
-rw-r--r--src/openvg/qpixmapdata_vg_p.h2
-rw-r--r--src/openvg/qvg_symbian.cpp1
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp6
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.cpp84
-rw-r--r--src/plugins/bearer/connman/qconnmanengine.h27
-rw-r--r--src/plugins/bearer/connman/qconnmanservice_linux.cpp17
-rw-r--r--src/plugins/bearer/connman/qofonoservice_linux.cpp12
-rw-r--r--src/plugins/bearer/corewlan/corewlan.pro2
-rw-r--r--src/plugins/bearer/corewlan/qcorewlanengine.mm85
-rw-r--r--src/plugins/bearer/icd/icd.pro2
-rw-r--r--src/plugins/bearer/icd/maemo_icd.cpp2
-rw-r--r--src/plugins/bearer/icd/qnetworksession_impl.cpp2
-rw-r--r--src/plugins/bearer/symbian/qnetworksession_impl.cpp10
-rw-r--r--src/plugins/bearer/symbian/symbian.pri2
-rw-r--r--src/plugins/bearer/symbian/symbianengine.cpp39
-rw-r--r--src/plugins/bearer/symbian/symbianengine.h6
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp86
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp18
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp36
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.h1
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp11
-rw-r--r--src/plugins/graphicssystems/meego/dithering.cpp306
-rw-r--r--src/plugins/graphicssystems/meego/meego.pro4
-rw-r--r--src/plugins/graphicssystems/meego/qmeegoextensions.cpp80
-rw-r--r--src/plugins/graphicssystems/meego/qmeegoextensions.h22
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.cpp244
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.h30
-rw-r--r--src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp292
-rw-r--r--src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h71
-rw-r--r--src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp74
-rw-r--r--src/plugins/graphicssystems/meego/qmeegopixmapdata.h2
-rw-r--r--src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp60
-rw-r--r--src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.h55
-rw-r--r--src/plugins/phonon/mmf/mmf.pro2
-rw-r--r--src/plugins/qpluginbase.pri2
-rw-r--r--src/plugins/s60/feedback/feedback.pro18
-rw-r--r--src/plugins/s60/feedback/qtactileFeedback.h54
-rw-r--r--src/plugins/s60/feedback/qtactileFeedback_s60.cpp83
-rw-r--r--src/plugins/s60/s60.pro4
-rw-r--r--src/qbase.pri13
-rw-r--r--src/qt3support/canvas/q3canvas.cpp2
-rw-r--r--src/qt3support/text/q3richtext.cpp2
-rw-r--r--src/s60installs/bwins/QtCoreu.def4
-rw-r--r--src/s60installs/bwins/QtDeclarativeu.def2325
-rw-r--r--src/s60installs/bwins/QtGuiu.def17
-rw-r--r--src/s60installs/bwins/QtOpenGLu.def11
-rw-r--r--src/s60installs/bwins/QtOpenVGu.def1
-rw-r--r--src/s60installs/eabi/QtCoreu.def1
-rw-r--r--src/s60installs/eabi/QtDeclarativeu.def2389
-rw-r--r--src/s60installs/eabi/QtGuiu.def12
-rw-r--r--src/s60installs/eabi/QtOpenGLu.def5
-rw-r--r--src/s60installs/eabi/QtOpenVGu.def1
-rw-r--r--src/s60installs/qt.iby5
-rw-r--r--src/s60installs/s60installs.pro16
-rw-r--r--src/script/api/qscriptcontextinfo.cpp2
-rw-r--r--src/script/api/qscriptvalue.cpp14
-rw-r--r--src/script/bridge/qscriptclassobject.cpp12
-rw-r--r--src/scripttools/debugging/qscriptdebuggeragent.cpp6
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp239
-rw-r--r--src/sql/kernel/qsqldriver.cpp8
-rw-r--r--src/sql/models/qsqlrelationaldelegate.h10
-rw-r--r--src/testlib/qtestcase.cpp3
-rw-r--r--src/testlib/qtesttouch.h4
-rw-r--r--src/xmlpatterns/data/qabstractfloat.cpp2
-rw-r--r--src/xmlpatterns/data/qatomicvalue.cpp4
-rw-r--r--src/xmlpatterns/data/qschematime_p.h2
-rw-r--r--src/xmlpatterns/expr/qarithmeticexpression_p.h2
-rwxr-xr-xsrc/xmlpatterns/parser/createTokenLookup.sh15
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser.cpp8
-rw-r--r--src/xmlpatterns/schema/qxsdschemaparser_setup.cpp2
-rw-r--r--src/xmlpatterns/schema/qxsdstatemachine_p.h4
-rw-r--r--src/xmlpatterns/type/qtypechecker.cpp2
434 files changed, 9286 insertions, 6342 deletions
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
index 0d7c2c2..0d631b2 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
@@ -32,10 +32,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
typedef struct HB_GlyphItemRec_ {
HB_UInt gindex;
HB_UInt properties;
@@ -93,10 +89,6 @@ hb_buffer_add_glyph( HB_Buffer buffer,
HB_UInt properties,
HB_UInt cluster );
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_BUFFER_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
index 2a6d958..94e9b43 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
@@ -33,11 +33,6 @@
HB_BEGIN_HEADER
-
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
/* Attachment related structures */
struct HB_AttachPoint_
@@ -126,10 +121,6 @@ _HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef,
HB_Lookup* lo,
HB_UShort num_lookups );
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_GDEF_PRIVATE_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
index f9a03dd..ccb6bf9 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
@@ -31,10 +31,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
/* GDEF glyph properties. Note that HB_GDEF_COMPONENT has no corresponding
* flag in the LookupFlag field. */
#define HB_GDEF_BASE_GLYPH 0x0002
@@ -131,10 +127,6 @@ HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef,
HB_UShort* glyph_array,
HB_UShort* class_array );
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_GDEF_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-global.h b/src/3rdparty/harfbuzz/src/harfbuzz-global.h
index bccd6a2..d4e6b46 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-global.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-global.h
@@ -39,10 +39,6 @@
#define HB_END_HEADER /* nothing */
#endif
-#if defined(__GNUC__) || defined(_MSC_VER)
-#define HB_USE_PACKED_STRUCTS
-#endif
-
HB_BEGIN_HEADER
#ifndef FALSE
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
index 39f3159..63ba907 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
@@ -32,10 +32,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
/* shared tables */
#define VR_X_PLACEMENT_DEVICE 0
@@ -720,10 +716,6 @@ HB_INTERNAL void
_HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
HB_UShort lookup_type );
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_GPOS_PRIVATE_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
index 7eb329e..df0c3f6 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
@@ -32,10 +32,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
typedef union HB_GSUB_SubTable_ HB_GSUB_SubTable;
/* LookupType 1 */
@@ -474,10 +470,6 @@ HB_INTERNAL void
_HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
HB_UShort lookup_type );
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_GSUB_PRIVATE_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
index b00df44..6e452bd 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
@@ -31,11 +31,6 @@
HB_BEGIN_HEADER
-
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
/* Lookup types for glyph substitution */
#define HB_GSUB_LOOKUP_SINGLE 1
@@ -139,10 +134,6 @@ HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub,
HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub,
HB_Buffer buffer );
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_GSUB_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp b/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
index 4d8418b..237c9ae 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-indic.cpp
@@ -833,7 +833,7 @@ static const unsigned char indicPosition[0xe00-0x900] = {
None, None, None, None,
None, None, None, Post,
- Post, None, Below, None,
+ Pre, None, Below, None,
None, Post, None, None,
None, None, None, None,
None, None, Post, Post,
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open.h b/src/3rdparty/harfbuzz/src/harfbuzz-open.h
index 4ba6cf5..9ad7c98 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-open.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-open.h
@@ -30,10 +30,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
/* Use this if a feature applies to all glyphs */
#define HB_ALL_GLYPHS 0xFFFF
@@ -279,10 +275,6 @@ enum HB_Type_
typedef enum HB_Type_ HB_Type;
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif /* HARFBUZZ_OPEN_H */
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
index ab5c07a..470e27b 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
@@ -34,10 +34,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
/*
using anything else than signed or unsigned for bitfields in C is non standard,
but accepted by almost all compilers. And it gives a significant reduction in
@@ -258,10 +254,6 @@ typedef struct HB_Font_ {
void *userData;
} HB_FontRec;
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
typedef struct HB_ShaperItem_ HB_ShaperItem;
struct HB_ShaperItem_ {
diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
index a155cc2..cfbfb1c 100644
--- a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
+++ b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
@@ -30,10 +30,6 @@
HB_BEGIN_HEADER
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(push, 1)
-#endif
-
typedef struct HB_StreamRec_
{
HB_Byte* base;
@@ -42,10 +38,6 @@ typedef struct HB_StreamRec_
HB_UInt pos;
} HB_StreamRec;
-#ifdef HB_USE_PACKED_STRUCTS
-#pragma pack(pop)
-#endif
-
HB_END_HEADER
#endif
diff --git a/src/3rdparty/phonon/ds9/videorenderer_evr.cpp b/src/3rdparty/phonon/ds9/videorenderer_evr.cpp
index de3f46f..ff39eccc4 100644
--- a/src/3rdparty/phonon/ds9/videorenderer_evr.cpp
+++ b/src/3rdparty/phonon/ds9/videorenderer_evr.cpp
@@ -62,19 +62,21 @@ namespace Phonon
VideoRendererEVR::VideoRendererEVR(QWidget *target) : m_target(target)
{
+ if (QSysInfo::WindowsVersion < QSysInfo::WV_VISTA)
+ return;
m_filter = Filter(CLSID_EnhancedVideoRenderer, IID_IBaseFilter);
if (!m_filter) {
return;
}
ComPointer<IMFVideoDisplayControl> filterControl = getService<IMFVideoDisplayControl>(m_filter, MR_VIDEO_RENDER_SERVICE, IID_IMFVideoDisplayControl);
- if (!filterControl) {
+ if (!filterControl ||
+ FAILED(filterControl->SetVideoWindow(reinterpret_cast<HWND>(target->winId()))) ||
+ FAILED(filterControl->SetAspectRatioMode(MFVideoARMode_None)) || // We're in control of the size
+ !getService<IMFVideoMixerControl>(m_filter, MR_VIDEO_MIXER_SERVICE, IID_IMFVideoMixerControl) ||
+ !getService<IMFVideoProcessor>(m_filter, MR_VIDEO_MIXER_SERVICE, IID_IMFVideoProcessor)) {
m_filter = Filter(); //will release the interface
- return;
}
-
- filterControl->SetVideoWindow(reinterpret_cast<HWND>(target->winId()));
- filterControl->SetAspectRatioMode(MFVideoARMode_None); // We're in control of the size
}
QImage VideoRendererEVR::snapshot() const
diff --git a/src/3rdparty/phonon/mmf/abstractvideooutput.cpp b/src/3rdparty/phonon/mmf/abstractvideooutput.cpp
index 2d221ed..068118b 100644
--- a/src/3rdparty/phonon/mmf/abstractvideooutput.cpp
+++ b/src/3rdparty/phonon/mmf/abstractvideooutput.cpp
@@ -161,24 +161,10 @@ void MMF::AbstractVideoOutput::dump() const
{
#ifndef QT_NO_DEBUG
TRACE_CONTEXT(AbstractVideoOutput::dump, EVideoInternal);
-
QScopedPointer<ObjectDump::QVisitor> visitor(new ObjectDump::QVisitor);
visitor->setPrefix("Phonon::MMF"); // to aid searchability of logs
ObjectDump::addDefaultAnnotators(*visitor);
-
- if (QWidget *window = QApplication::activeWindow()) {
- TRACE("Dumping from root window 0x%08x:", window);
- ObjectDump::dumpTreeFromLeaf(*window, *visitor);
- }
-
- TRACE("Dumping tree from leaf 0x%08x:", this);
ObjectDump::dumpTreeFromLeaf(*this, *visitor);
-
- QScopedPointer<ObjectDump::QDumper> dumper(new ObjectDump::QDumper);
- dumper->setPrefix("Phonon::MMF"); // to aid searchability of logs
- ObjectDump::addDefaultAnnotators(*dumper);
- TRACE_0("Dumping AbstractVideoOutput:");
- dumper->dumpObject(*this);
#endif
}
diff --git a/src/3rdparty/phonon/mmf/videowidget.cpp b/src/3rdparty/phonon/mmf/videowidget.cpp
index 122094e..d59e82a 100644
--- a/src/3rdparty/phonon/mmf/videowidget.cpp
+++ b/src/3rdparty/phonon/mmf/videowidget.cpp
@@ -65,6 +65,8 @@ MMF::VideoWidget::VideoWidget(QWidget *parent)
TRACE_CONTEXT(VideoWidget::VideoWidget, EVideoApi);
TRACE_ENTRY_0();
+ parent->setProperty("_q_DummyWindowSurface", true);
+
TRACE_EXIT_0();
}
diff --git a/src/3rdparty/phonon/phonon/effectwidget.cpp b/src/3rdparty/phonon/phonon/effectwidget.cpp
index a2fe50f..edcbe1f 100644
--- a/src/3rdparty/phonon/phonon/effectwidget.cpp
+++ b/src/3rdparty/phonon/phonon/effectwidget.cpp
@@ -112,7 +112,7 @@ void EffectWidgetPrivate::autogenerateUi()
#endif
QWidget *control = 0;
- switch (para.type()) {
+ switch (int(para.type())) {
case QVariant::String:
{
QComboBox *cb = new QComboBox(q);
diff --git a/src/3rdparty/phonon/phonon/globalconfig.cpp b/src/3rdparty/phonon/phonon/globalconfig.cpp
index be751ce..f83ebc4 100644
--- a/src/3rdparty/phonon/phonon/globalconfig.cpp
+++ b/src/3rdparty/phonon/phonon/globalconfig.cpp
@@ -97,7 +97,7 @@ static void filter(ObjectDescriptionType type, BackendInterface *backendIface, Q
static QList<int> sortDevicesByCategoryPriority(const GlobalConfig *config, const QSettingsGroup *backendConfig, ObjectDescriptionType type, Phonon::Category category, QList<int> &defaultList)
{
- Q_ASSERT(config);
+ Q_ASSERT(config); Q_UNUSED(config);
Q_ASSERT(backendConfig);
Q_ASSERT(type == AudioOutputDeviceType || type == AudioCaptureDeviceType);
diff --git a/src/3rdparty/phonon/phonon/mediacontroller.cpp b/src/3rdparty/phonon/phonon/mediacontroller.cpp
index 59fd5c7..37af3f7 100644
--- a/src/3rdparty/phonon/phonon/mediacontroller.cpp
+++ b/src/3rdparty/phonon/phonon/mediacontroller.cpp
@@ -76,9 +76,9 @@ MediaController::~MediaController()
MediaController::Features MediaController::supportedFeatures() const
{
if (!d || !d->media) {
- return false;
+ return Features();
}
- IFACE false;
+ IFACE Features();
Features ret;
if (iface->hasInterface(AddonInterface::AngleInterface)) {
ret |= Angles;
diff --git a/src/3rdparty/phonon/phonon/pulsesupport.cpp b/src/3rdparty/phonon/phonon/pulsesupport.cpp
index 642843f..b1ba196 100644
--- a/src/3rdparty/phonon/phonon/pulsesupport.cpp
+++ b/src/3rdparty/phonon/phonon/pulsesupport.cpp
@@ -56,7 +56,7 @@ static int debugLevel() {
static int level = -1;
if (level < 1) {
level = 0;
- QString pulseenv = qgetenv("PHONON_PULSEAUDIO_DEBUG");
+ QByteArray pulseenv = qgetenv("PHONON_PULSEAUDIO_DEBUG");
int l = pulseenv.toInt();
if (l > 0)
level = (l > 2 ? 2 : l);
@@ -71,18 +71,18 @@ static void logMessage(const QString &message, int priority, QObject *obj)
QString output;
if (obj) {
// Strip away namespace from className
- QString className(obj->metaObject()->className());
+ QByteArray className(obj->metaObject()->className());
int nameLength = className.length() - className.lastIndexOf(':') - 1;
className = className.right(nameLength);
output.sprintf("%s %s (%s %p)", message.toLatin1().constData(),
obj->objectName().toLatin1().constData(),
- className.toLatin1().constData(), obj);
+ className.constData(), obj);
}
else {
output = message;
}
if (priority <= debugLevel()) {
- qDebug() << QString("PulseSupport(%1): %2").arg(priority).arg(output);
+ qDebug() << QString::fromLatin1("PulseSupport(%1): %2").arg(priority).arg(output);
}
}
}
@@ -96,7 +96,7 @@ class AudioDevice
: pulseName(name), pulseIndex(index)
{
properties["name"] = desc;
- properties["description"] = ""; // We don't have descriptions (well we do, but we use them as the name!)
+ properties["description"] = QLatin1String(""); // We don't have descriptions (well we do, but we use them as the name!)
properties["icon"] = icon;
properties["available"] = (index != PA_INVALID_INDEX);
properties["isAdvanced"] = false; // Nothing is advanced!
@@ -158,8 +158,8 @@ static void createGenericDevices()
s_outputDevices.clear();
s_outputDevicePriorities.clear();
index = s_deviceIndexCounter++;
- s_outputDeviceIndexes.insert("sink:default", index);
- s_outputDevices.insert(index, AudioDevice("sink:default", QObject::tr("PulseAudio Sound Server").toUtf8(), "audio-backend-pulseaudio", 0));
+ s_outputDeviceIndexes.insert(QLatin1String("sink:default"), index);
+ s_outputDevices.insert(index, AudioDevice(QLatin1String("sink:default"), QObject::tr("PulseAudio Sound Server"), QLatin1String("audio-backend-pulseaudio"), 0));
for (int i = Phonon::NoCategory; i <= Phonon::LastCategory; ++i) {
Phonon::Category cat = static_cast<Phonon::Category>(i);
s_outputDevicePriorities[cat].insert(0, index);
@@ -169,8 +169,8 @@ static void createGenericDevices()
s_captureDevices.clear();
s_captureDevicePriorities.clear();
index = s_deviceIndexCounter++;
- s_captureDeviceIndexes.insert("source:default", index);
- s_captureDevices.insert(index, AudioDevice("source:default", QObject::tr("PulseAudio Sound Server").toUtf8(), "audio-backend-pulseaudio", 0));
+ s_captureDeviceIndexes.insert(QLatin1String("source:default"), index);
+ s_captureDevices.insert(index, AudioDevice(QLatin1String("source:default"), QObject::tr("PulseAudio Sound Server"), QLatin1String("audio-backend-pulseaudio"), 0));
for (int i = Phonon::NoCategory; i <= Phonon::LastCategory; ++i) {
Phonon::Category cat = static_cast<Phonon::Category>(i);
s_captureDevicePriorities[cat].insert(0, index);
@@ -397,7 +397,7 @@ void sink_input_cb(pa_context *c, const pa_sink_input_info *i, int eol, void *us
if (pa_context_errno(c) == PA_ERR_NOENTITY)
return;
- logMessage(QString("Sink input callback failure"));
+ logMessage(QLatin1String("Sink input callback failure"));
return;
}
@@ -409,8 +409,8 @@ void sink_input_cb(pa_context *c, const pa_sink_input_info *i, int eol, void *us
// loop through (*i) and extract phonon->streamindex...
const char *t;
if ((t = pa_proplist_gets(i->proplist, "phonon.streamid"))) {
- logMessage(QString("Found PulseAudio stream index %1 for Phonon Output Stream %2").arg(i->index).arg(t));
- s_outputStreamIndexMap[QString(t)] = i->index;
+ logMessage(QString::fromLatin1("Found PulseAudio stream index %1 for Phonon Output Stream %2").arg(i->index).arg(QLatin1String(t)));
+ s_outputStreamIndexMap[QLatin1String(t)] = i->index;
// Find the sink's phonon index and notify whoever cares...
if (PA_INVALID_INDEX != i->sink) {
@@ -426,8 +426,8 @@ void sink_input_cb(pa_context *c, const pa_sink_input_info *i, int eol, void *us
}
if (found) {
// OK so we just emit our signal
- logMessage(QString("Letting the rest of phonon know about this"));
- s_instance->emitUsingDevice(QString(t), device);
+ logMessage(QLatin1String("Letting the rest of phonon know about this"));
+ s_instance->emitUsingDevice(QLatin1String(t), device);
}
}
}
@@ -441,7 +441,7 @@ void source_output_cb(pa_context *c, const pa_source_output_info *i, int eol, vo
if (pa_context_errno(c) == PA_ERR_NOENTITY)
return;
- logMessage(QString("Source output callback failure"));
+ logMessage(QLatin1String("Source output callback failure"));
return;
}
@@ -453,8 +453,8 @@ void source_output_cb(pa_context *c, const pa_source_output_info *i, int eol, vo
// loop through (*i) and extract phonon->streamindex...
const char *t;
if ((t = pa_proplist_gets(i->proplist, "phonon.streamid"))) {
- logMessage(QString("Found PulseAudio stream index %1 for Phonon Capture Stream %2").arg(i->index).arg(t));
- s_captureStreamIndexMap[QString(t)] = i->index;
+ logMessage(QString::fromLatin1("Found PulseAudio stream index %1 for Phonon Capture Stream %2").arg(i->index).arg(QLatin1String(t)));
+ s_captureStreamIndexMap[QLatin1String(t)] = i->index;
// Find the source's phonon index and notify whoever cares...
if (PA_INVALID_INDEX != i->source) {
@@ -470,8 +470,8 @@ void source_output_cb(pa_context *c, const pa_source_output_info *i, int eol, vo
}
if (found) {
// OK so we just emit our signal
- logMessage(QString("Letting the rest of phonon know about this"));
- s_instance->emitUsingDevice(QString(t), device);
+ logMessage(QLatin1String("Letting the rest of phonon know about this"));
+ s_instance->emitUsingDevice(QLatin1String(t), device);
}
}
}
@@ -486,17 +486,17 @@ static void subscribe_cb(pa_context *c, pa_subscription_event_type_t t, uint32_t
QString phononid = s_outputStreamIndexMap.key(index);
if (!phononid.isEmpty()) {
if (s_outputStreamIndexMap.contains(phononid)) {
- logMessage(QString("Phonon Output Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(phononid));
+ logMessage(QString::fromLatin1("Phonon Output Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(phononid));
s_outputStreamIndexMap[phononid] = PA_INVALID_INDEX;
} else {
- logMessage(QString("Removing Phonon Output Stream %1 (it's gone!)").arg(phononid));
+ logMessage(QString::fromLatin1("Removing Phonon Output Stream %1 (it's gone!)").arg(phononid));
s_outputStreamIndexMap.remove(phononid);
}
}
} else {
pa_operation *o;
if (!(o = pa_context_get_sink_input_info(c, index, sink_input_cb, NULL))) {
- logMessage(QString("pa_context_get_sink_input_info() failed"));
+ logMessage(QLatin1String("pa_context_get_sink_input_info() failed"));
return;
}
pa_operation_unref(o);
@@ -508,17 +508,17 @@ static void subscribe_cb(pa_context *c, pa_subscription_event_type_t t, uint32_t
QString phononid = s_captureStreamIndexMap.key(index);
if (!phononid.isEmpty()) {
if (s_captureStreamIndexMap.contains(phononid)) {
- logMessage(QString("Phonon Capture Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(phononid));
+ logMessage(QString::fromLatin1("Phonon Capture Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(phononid));
s_captureStreamIndexMap[phononid] = PA_INVALID_INDEX;
} else {
- logMessage(QString("Removing Phonon Capture Stream %1 (it's gone!)").arg(phononid));
+ logMessage(QString::fromLatin1("Removing Phonon Capture Stream %1 (it's gone!)").arg(phononid));
s_captureStreamIndexMap.remove(phononid);
}
}
} else {
pa_operation *o;
if (!(o = pa_context_get_source_output_info(c, index, source_output_cb, NULL))) {
- logMessage(QString("pa_context_get_sink_input_info() failed"));
+ logMessage(QLatin1String("pa_context_get_sink_input_info() failed"));
return;
}
pa_operation_unref(o);
@@ -528,29 +528,27 @@ static void subscribe_cb(pa_context *c, pa_subscription_event_type_t t, uint32_t
}
-static const char* statename(pa_context_state_t state)
+static QString statename(pa_context_state_t state)
{
switch (state)
{
- case PA_CONTEXT_UNCONNECTED: return "Unconnected";
- case PA_CONTEXT_CONNECTING: return "Connecting";
- case PA_CONTEXT_AUTHORIZING: return "Authorizing";
- case PA_CONTEXT_SETTING_NAME: return "Setting Name";
- case PA_CONTEXT_READY: return "Ready";
- case PA_CONTEXT_FAILED: return "Failed";
- case PA_CONTEXT_TERMINATED: return "Terminated";
+ case PA_CONTEXT_UNCONNECTED: return QLatin1String("Unconnected");
+ case PA_CONTEXT_CONNECTING: return QLatin1String("Connecting");
+ case PA_CONTEXT_AUTHORIZING: return QLatin1String("Authorizing");
+ case PA_CONTEXT_SETTING_NAME: return QLatin1String("Setting Name");
+ case PA_CONTEXT_READY: return QLatin1String("Ready");
+ case PA_CONTEXT_FAILED: return QLatin1String("Failed");
+ case PA_CONTEXT_TERMINATED: return QLatin1String("Terminated");
}
- static QString unknown;
- unknown = QString("Unknown state: %0").arg(state);
- return unknown.toAscii().constData();
+ return QString::fromLatin1("Unknown state: %0").arg(state);
}
static void context_state_callback(pa_context *c, void *)
{
Q_ASSERT(c);
- logMessage(QString("context_state_callback %1").arg(statename(pa_context_get_state(c))));
+ logMessage(QString::fromLatin1("context_state_callback %1").arg(statename(pa_context_get_state(c))));
pa_context_state_t state = pa_context_get_state(c);
if (state == PA_CONTEXT_READY) {
// We've connected to PA, so it is active
@@ -566,7 +564,7 @@ static void context_state_callback(pa_context *c, void *)
if (!(o = pa_context_subscribe(c, (pa_subscription_mask_t)
(PA_SUBSCRIPTION_MASK_SINK_INPUT|
PA_SUBSCRIPTION_MASK_SOURCE_OUTPUT), NULL, NULL))) {
- logMessage(QString("pa_context_subscribe() failed"));
+ logMessage(QLatin1String("pa_context_subscribe() failed"));
return;
}
pa_operation_unref(o);
@@ -639,27 +637,27 @@ PulseSupport::PulseSupport()
{
#ifdef HAVE_PULSEAUDIO
// Initialise our map (is there a better way to do this?)
- s_roleCategoryMap["none"] = Phonon::NoCategory;
- s_roleCategoryMap["video"] = Phonon::VideoCategory;
- s_roleCategoryMap["music"] = Phonon::MusicCategory;
- s_roleCategoryMap["game"] = Phonon::GameCategory;
- s_roleCategoryMap["event"] = Phonon::NotificationCategory;
- s_roleCategoryMap["phone"] = Phonon::CommunicationCategory;
- //s_roleCategoryMap["animation"]; // No Mapping
- //s_roleCategoryMap["production"]; // No Mapping
- s_roleCategoryMap["a11y"] = Phonon::AccessibilityCategory;
+ s_roleCategoryMap[QLatin1String("none")] = Phonon::NoCategory;
+ s_roleCategoryMap[QLatin1String("video")] = Phonon::VideoCategory;
+ s_roleCategoryMap[QLatin1String("music")] = Phonon::MusicCategory;
+ s_roleCategoryMap[QLatin1String("game")] = Phonon::GameCategory;
+ s_roleCategoryMap[QLatin1String("event")] = Phonon::NotificationCategory;
+ s_roleCategoryMap[QLatin1String("phone")] = Phonon::CommunicationCategory;
+ //s_roleCategoryMap[QLatin1String("animation")]; // No Mapping
+ //s_roleCategoryMap[QLatin1String("production")]; // No Mapping
+ s_roleCategoryMap[QLatin1String("a11y")] = Phonon::AccessibilityCategory;
// To allow for easy debugging, give an easy way to disable this pulseaudio check
- QString pulseenv = qgetenv("PHONON_PULSEAUDIO_DISABLE");
+ QByteArray pulseenv = qgetenv("PHONON_PULSEAUDIO_DISABLE");
if (pulseenv.toInt()) {
- logMessage("PulseAudio support disabled: PHONON_PULSEAUDIO_DISABLE is set");
+ logMessage(QLatin1String("PulseAudio support disabled: PHONON_PULSEAUDIO_DISABLE is set"));
return;
}
// We require a glib event loop
- if (QLatin1String(QAbstractEventDispatcher::instance()->metaObject()->className())
- != "QGuiEventDispatcherGlib") {
- logMessage("Disabling PulseAudio integration for lack of GLib event loop.");
+ if (strcmp(QAbstractEventDispatcher::instance()->metaObject()->className(),
+ "QGuiEventDispatcherGlib") != 0) {
+ logMessage(QLatin1String("Disabling PulseAudio integration for lack of GLib event loop."));
return;
}
@@ -667,21 +665,21 @@ PulseSupport::PulseSupport()
// use a fully async integrated mainloop method to connect and get proper support.
pa_mainloop *p_test_mainloop;
if (!(p_test_mainloop = pa_mainloop_new())) {
- logMessage("PulseAudio support disabled: Unable to create mainloop");
+ logMessage(QLatin1String("PulseAudio support disabled: Unable to create mainloop"));
return;
}
pa_context *p_test_context;
if (!(p_test_context = pa_context_new(pa_mainloop_get_api(p_test_mainloop), "libphonon-probe"))) {
- logMessage("PulseAudio support disabled: Unable to create context");
+ logMessage(QLatin1String("PulseAudio support disabled: Unable to create context"));
pa_mainloop_free(p_test_mainloop);
return;
}
- logMessage("Probing for PulseAudio...");
+ logMessage(QLatin1String("Probing for PulseAudio..."));
// (cg) Convert to PA_CONTEXT_NOFLAGS when PulseAudio 0.9.19 is required
if (pa_context_connect(p_test_context, NULL, static_cast<pa_context_flags_t>(0), NULL) < 0) {
- logMessage(QString("PulseAudio support disabled: %1").arg(pa_strerror(pa_context_errno(p_test_context))));
+ logMessage(QString::fromLatin1("PulseAudio support disabled: %1").arg(QString::fromLocal8Bit(pa_strerror(pa_context_errno(p_test_context)))));
pa_context_disconnect(p_test_context);
pa_context_unref(p_test_context);
pa_mainloop_free(p_test_mainloop);
@@ -693,7 +691,7 @@ PulseSupport::PulseSupport()
pa_mainloop_iterate(p_test_mainloop, 1, NULL);
if (!PA_CONTEXT_IS_GOOD(pa_context_get_state(p_test_context))) {
- logMessage("PulseAudio probe complete.");
+ logMessage(QLatin1String("PulseAudio probe complete."));
break;
}
}
@@ -702,12 +700,12 @@ PulseSupport::PulseSupport()
pa_mainloop_free(p_test_mainloop);
if (!s_pulseActive) {
- logMessage("PulseAudio support is not available.");
+ logMessage(QLatin1String("PulseAudio support is not available."));
return;
}
// If we're still here, PA is available.
- logMessage("PulseAudio support enabled");
+ logMessage(QLatin1String("PulseAudio support enabled"));
// Now we connect for real using a proper main loop that we can forget
// all about processing.
@@ -856,7 +854,7 @@ static void setDevicePriority(Category category, QStringList list)
if (role.isEmpty())
return;
- logMessage(QString("Reindexing %1: %2").arg(role).arg(list.join(", ")));
+ logMessage(QString::fromLatin1("Reindexing %1: %2").arg(role).arg(list.join(QLatin1String(", "))));
char **devices;
devices = pa_xnew(char *, list.size()+1);
@@ -926,7 +924,7 @@ void PulseSupport::setStreamPropList(Category category, QString streamUuid)
if (role.isEmpty())
return;
- logMessage(QString("Setting role to %1 for streamindex %2").arg(role).arg(streamUuid));
+ logMessage(QString::fromLatin1("Setting role to %1 for streamindex %2").arg(role).arg(streamUuid));
setenv("PULSE_PROP_media.role", role.toLatin1().constData(), 1);
setenv("PULSE_PROP_phonon.streamid", streamUuid.toLatin1().constData(), 1);
#endif
@@ -952,30 +950,30 @@ bool PulseSupport::setOutputDevice(QString streamUuid, int device) {
return true;
if (!s_outputDevices.contains(device)) {
- logMessage(QString("Attempting to set Output Device for invalid device id %1.").arg(device));
+ logMessage(QString::fromLatin1("Attempting to set Output Device for invalid device id %1.").arg(device));
return false;
}
const QVariant var = s_outputDevices[device].properties["name"];
- logMessage(QString("Attempting to set Output Device to '%1' for Output Stream %2").arg(var.toString()).arg(streamUuid));
+ logMessage(QString::fromLatin1("Attempting to set Output Device to '%1' for Output Stream %2").arg(var.toString()).arg(streamUuid));
// Attempt to look up the pulse stream index.
if (s_outputStreamIndexMap.contains(streamUuid) && s_outputStreamIndexMap[streamUuid] != PA_INVALID_INDEX) {
- logMessage(QString("... Found in map. Moving now"));
+ logMessage(QLatin1String("... Found in map. Moving now"));
uint32_t pulse_device_index = s_outputDevices[device].pulseIndex;
uint32_t pulse_stream_index = s_outputStreamIndexMap[streamUuid];
- logMessage(QString("Moving Pulse Sink Input %1 to '%2' (Pulse Sink %3)").arg(pulse_stream_index).arg(var.toString()).arg(pulse_device_index));
+ logMessage(QString::fromLatin1("Moving Pulse Sink Input %1 to '%2' (Pulse Sink %3)").arg(pulse_stream_index).arg(var.toString()).arg(pulse_device_index));
/// @todo Find a way to move the stream without saving it... We don't want to pollute the stream restore db.
pa_operation* o;
if (!(o = pa_context_move_sink_input_by_index(s_context, pulse_stream_index, pulse_device_index, NULL, NULL))) {
- logMessage(QString("pa_context_move_sink_input_by_index() failed"));
+ logMessage(QLatin1String("pa_context_move_sink_input_by_index() failed"));
return false;
}
pa_operation_unref(o);
} else {
- logMessage(QString("... Not found in map. We will be notified of the device when the stream appears and we can process any moves needed then"));
+ logMessage(QLatin1String("... Not found in map. We will be notified of the device when the stream appears and we can process any moves needed then"));
}
return true;
#endif
@@ -991,30 +989,30 @@ bool PulseSupport::setCaptureDevice(QString streamUuid, int device) {
return true;
if (!s_captureDevices.contains(device)) {
- logMessage(QString("Attempting to set Capture Device for invalid device id %1.").arg(device));
+ logMessage(QString::fromLatin1("Attempting to set Capture Device for invalid device id %1.").arg(device));
return false;
}
const QVariant var = s_captureDevices[device].properties["name"];
- logMessage(QString("Attempting to set Capture Device to '%1' for Capture Stream %2").arg(var.toString()).arg(streamUuid));
+ logMessage(QString::fromLatin1("Attempting to set Capture Device to '%1' for Capture Stream %2").arg(var.toString()).arg(streamUuid));
// Attempt to look up the pulse stream index.
if (s_captureStreamIndexMap.contains(streamUuid) && s_captureStreamIndexMap[streamUuid] == PA_INVALID_INDEX) {
- logMessage(QString("... Found in map. Moving now"));
+ logMessage(QString::fromLatin1("... Found in map. Moving now"));
uint32_t pulse_device_index = s_captureDevices[device].pulseIndex;
uint32_t pulse_stream_index = s_captureStreamIndexMap[streamUuid];
- logMessage(QString("Moving Pulse Source Output %1 to '%2' (Pulse Sink %3)").arg(pulse_stream_index).arg(var.toString()).arg(pulse_device_index));
+ logMessage(QString::fromLatin1("Moving Pulse Source Output %1 to '%2' (Pulse Sink %3)").arg(pulse_stream_index).arg(var.toString()).arg(pulse_device_index));
/// @todo Find a way to move the stream without saving it... We don't want to pollute the stream restore db.
pa_operation* o;
if (!(o = pa_context_move_source_output_by_index(s_context, pulse_stream_index, pulse_device_index, NULL, NULL))) {
- logMessage(QString("pa_context_move_source_output_by_index() failed"));
+ logMessage(QString::fromLatin1("pa_context_move_source_output_by_index() failed"));
return false;
}
pa_operation_unref(o);
} else {
- logMessage(QString("... Not found in map. We will be notified of the device when the stream appears and we can process any moves needed then"));
+ logMessage(QString::fromLatin1("... Not found in map. We will be notified of the device when the stream appears and we can process any moves needed then"));
}
return true;
#endif
@@ -1025,7 +1023,7 @@ void PulseSupport::clearStreamCache(QString streamUuid) {
Q_UNUSED(streamUuid);
return;
#else
- logMessage(QString("Clearing stream cache for stream %1").arg(streamUuid));
+ logMessage(QString::fromLatin1("Clearing stream cache for stream %1").arg(streamUuid));
s_outputStreamIndexMap.remove(streamUuid);
s_captureStreamIndexMap.remove(streamUuid);
#endif
diff --git a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
index 9b97c8b..5bb3c57 100644
--- a/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/Api/qwebpage.cpp
@@ -1351,26 +1351,30 @@ void QWebPagePrivate::inputMethodEvent(QInputMethodEvent *ev)
}
}
- if (!ev->commitString().isEmpty())
+ if (renderTextControl && ev->replacementLength() > 0) {
+ renderTextControl->setSelectionStart(qMax(renderTextControl->selectionStart() + ev->replacementStart(), 0));
+ renderTextControl->setSelectionEnd(qMin(renderTextControl->selectionStart() + ev->replacementLength(), static_cast<int>(renderTextControl->text().length())));
+ // Commit regardless of whether commitString is empty, to get rid of selection.
editor->confirmComposition(ev->commitString());
- else {
- // 1. empty preedit with a selection attribute, and start/end of 0 cancels composition
- // 2. empty preedit with a selection attribute, and start/end of non-0 updates selection of current preedit text
- // 3. populated preedit with a selection attribute, and start/end of 0 or non-0 updates selection of supplied preedit text
- // 4. otherwise event is updating supplied pre-edit text
- QString preedit = ev->preeditString();
+ } else if (!ev->commitString().isEmpty()) {
+ editor->confirmComposition(ev->commitString());
+ }
+ // 1. empty preedit with a selection attribute, and start/end of 0 cancels composition
+ // 2. empty preedit with a selection attribute, and start/end of non-0 updates selection of current preedit text
+ // 3. populated preedit with a selection attribute, and start/end of 0 or non-0 updates selection of supplied preedit text
+ // 4. otherwise event is updating supplied pre-edit text
+ QString preedit = ev->preeditString();
#if QT_VERSION >= 0x040600
- if (hasSelection) {
- QString text = (renderTextControl) ? QString(renderTextControl->text()) : QString();
- if (preedit.isEmpty() && selection.start + selection.length > 0)
- preedit = text;
- editor->setComposition(preedit, underlines,
- (selection.length < 0) ? selection.start + selection.length : selection.start,
- (selection.length < 0) ? selection.start : selection.start + selection.length);
- } else
+ if (hasSelection) {
+ QString text = (renderTextControl) ? QString(renderTextControl->text()) : QString();
+ if (preedit.isEmpty() && selection.start + selection.length > 0)
+ preedit = text;
+ editor->setComposition(preedit, underlines,
+ (selection.length < 0) ? selection.start + selection.length : selection.start,
+ (selection.length < 0) ? selection.start : selection.start + selection.length);
+ } else
#endif
- editor->setComposition(preedit, underlines, preedit.length(), 0);
- }
+ editor->setComposition(preedit, underlines, preedit.length(), 0);
ev->accept();
}
diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
index e4f70de..7a8aae7 100644
--- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview.cpp
@@ -141,6 +141,16 @@ void GraphicsWebView::mouseMoveEvent(QGraphicsSceneMouseEvent* event)
QGraphicsWebView::mouseMoveEvent(event);
}
+bool GraphicsWebView::sceneEvent(QEvent *event)
+{
+ bool rv = QGraphicsWebView::sceneEvent(event);
+ if (event->type() == QEvent::UngrabMouse) {
+ pressTimer.stop();
+ parent->setKeepMouseGrab(false);
+ }
+ return rv;
+}
+
/*!
\qmlclass WebView QDeclarativeWebView
\ingroup qml-view-elements
diff --git a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h
index b2055bf..ca15a1e 100644
--- a/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h
+++ b/src/3rdparty/webkit/WebKit/qt/declarative/qdeclarativewebview_p.h
@@ -70,6 +70,8 @@ protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
void timerEvent(QTimerEvent* event);
+ bool sceneEvent(QEvent *event);
+
Q_SIGNALS:
void doubleClick(int clickX, int clickY);
private:
diff --git a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
index f2282f8..b98617f 100644
--- a/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
+++ b/src/3rdparty/webkit/WebKit/qt/qt_webkit_version.pri
@@ -1,5 +1,5 @@
-QT_WEBKIT_VERSION = 4.7.1
+QT_WEBKIT_VERSION = 4.7.2
QT_WEBKIT_MAJOR_VERSION = 4
QT_WEBKIT_MINOR_VERSION = 7
-QT_WEBKIT_PATCH_VERSION = 1
+QT_WEBKIT_PATCH_VERSION = 2
QT_CONFIG += webkit
diff --git a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index b7ffb8a..31cf277 100644
--- a/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -1502,6 +1502,20 @@ void tst_QWebPage::inputMethods()
QCOMPARE(value, QString("QtWebKit"));
#endif
+ {
+ QList<QInputMethodEvent::Attribute> attributes;
+ QInputMethodEvent event(QString(), attributes);
+ event.setCommitString("XXX", 0, 0);
+ page->event(&event);
+ event.setCommitString(QString(), -2, 2); // Erase two characters.
+ page->event(&event);
+ event.setCommitString(QString(), -1, 1); // Erase one character.
+ page->event(&event);
+ variant = page->inputMethodQuery(Qt::ImSurroundingText);
+ value = variant.value<QString>();
+ QCOMPARE(value, QString("QtWebKit"));
+ }
+
// Cancel current composition first
inputAttributes << QInputMethodEvent::Attribute(QInputMethodEvent::Selection, 0, 0, QVariant());
QInputMethodEvent eventSelection4("", inputAttributes);
diff --git a/src/activeqt/container/qaxwidget.cpp b/src/activeqt/container/qaxwidget.cpp
index 7afce5b..c2108ba 100644
--- a/src/activeqt/container/qaxwidget.cpp
+++ b/src/activeqt/container/qaxwidget.cpp
@@ -1008,7 +1008,7 @@ HRESULT WINAPI QAxClientSite::TranslateAccelerator(LPMSG lpMsg, DWORD /*grfModif
}
}
// ActiveQt based in-processes-servers will handle the event properly, so
- // we dont need to send this key event to the host.
+ // we don't need to send this key event to the host.
return S_OK;
}
diff --git a/src/activeqt/shared/qaxtypes.cpp b/src/activeqt/shared/qaxtypes.cpp
index ff21a9f..88f408e 100644
--- a/src/activeqt/shared/qaxtypes.cpp
+++ b/src/activeqt/shared/qaxtypes.cpp
@@ -547,7 +547,7 @@ bool QVariantToVARIANT(const QVariant &var, VARIANT &arg, const QByteArray &type
SAFEARRAY *array = 0;
bool is2D = false;
// If the first element in the array is a list the whole list is
- // treated as a 2D array. The colum count is taken from the 1st element.
+ // treated as a 2D array. The column count is taken from the 1st element.
if (count) {
QVariantList col = list.at(0).toList();
int maxColumns = col.count();
diff --git a/src/corelib/arch/armv6/qatomic_generic_armv6.cpp b/src/corelib/arch/armv6/qatomic_generic_armv6.cpp
index 39d966a..444d3d3 100644
--- a/src/corelib/arch/armv6/qatomic_generic_armv6.cpp
+++ b/src/corelib/arch/armv6/qatomic_generic_armv6.cpp
@@ -38,7 +38,7 @@
** $QT_END_LICENSE$
**
** This file implements the generic atomics interface using ARMv6 assembly
-** instructions. It is more efficent than the inline versions when Qt is
+** instructions. It is more efficient than the inline versions when Qt is
** built for the THUMB instruction set, as the required instructions are
** only available in ARM state.
****************************************************************************/
diff --git a/src/corelib/arch/symbian/heap_hybrid.cpp b/src/corelib/arch/symbian/heap_hybrid.cpp
index 91faaed..5d2b2b6 100644
--- a/src/corelib/arch/symbian/heap_hybrid.cpp
+++ b/src/corelib/arch/symbian/heap_hybrid.cpp
@@ -134,7 +134,7 @@ The constant can be changed at ROM build time using patchdata OBY keyword.
@deprecated Patching this constant no longer has any effect.
*/
-#ifdef __X86GCC__ // For X86GCC we dont use the proper data import attribute
+#ifdef __X86GCC__ // For X86GCC we don't use the proper data import attribute
#undef IMPORT_D // since the constants are not really imported. GCC doesn't
#define IMPORT_D // allow imports from self.
#endif
@@ -451,7 +451,7 @@ TInt RHybridHeap::ConstructLock(TUint32 aMode)
void RHybridHeap::Init(TInt aBitmapSlab, TInt aPagePower)
{
- /*Moved code which does initilization */
+ /*Moved code which does initialization */
iTop = (TUint8*)this + iMinLength;
iBase = Ceiling(iBase, ECellAlignment); // Align iBase address
@@ -874,7 +874,7 @@ available in the largest free block.
Note that this function exists mainly for compatibility reasons. In a modern
heap implementation such as that present in Symbian it is not appropriate to
concern oneself with details such as the amount of free memory available on a
-heap and its largeset free block, because the way that a modern heap implmentation
+heap and its largeset free block, because the way that a modern heap implementation
works is not simple. The amount of available virtual memory != physical memory
and there are multiple allocation strategies used internally, which makes all
memory usage figures "fuzzy" at best.
@@ -1616,7 +1616,7 @@ void* RHybridHeap::DlMalloc(size_t bytes)
void RHybridHeap::DlFree(void* mem)
{
/*
- Consolidate freed chunks with preceeding or succeeding bordering
+ Consolidate freed chunks with preceding or succeeding bordering
free chunks, if they exist, and then place in a bin. Intermixed
with special cases for iTop, iDv, mmapped chunks, and usage errors.
*/
diff --git a/src/corelib/codecs/qutfcodec.cpp b/src/corelib/codecs/qutfcodec.cpp
index f747bf7..031baa3 100644
--- a/src/corelib/codecs/qutfcodec.cpp
+++ b/src/corelib/codecs/qutfcodec.cpp
@@ -195,7 +195,7 @@ QString QUtf8::convertToUnicode(const char *chars, int len, QTextCodec::Converte
// utf-8 bom composes into 0xfeff code point
bool nonCharacter;
if (!headerdone && uc == 0xfeff) {
- // dont do anything, just skip the BOM
+ // don't do anything, just skip the BOM
} else if (!(nonCharacter = isUnicodeNonCharacter(uc)) && uc > 0xffff && uc < 0x110000) {
// surrogate pair
Q_ASSERT((qch - (ushort*)result.unicode()) + 2 < result.length());
diff --git a/src/corelib/corelib.pro b/src/corelib/corelib.pro
index b7d6034..a001940 100644
--- a/src/corelib/corelib.pro
+++ b/src/corelib/corelib.pro
@@ -37,10 +37,3 @@ symbian: {
MMP_RULES -= PAGED
MMP_RULES *= UNPAGED
}
-
-neon {
- DEFINES += QT_HAVE_NEON
- QMAKE_CXXFLAGS *= -mfpu=neon
-}
-
-
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri
index 4800716..86800ef 100644
--- a/src/corelib/global/global.pri
+++ b/src/corelib/global/global.pri
@@ -27,3 +27,5 @@ linux*:!static:!linux-armcc:!linux-gcce {
# Compensate for lack of platform defines in Symbian3 and Symbian4
symbian: DEFINES += SYMBIAN_VERSION_$$upper($$replace(SYMBIAN_VERSION,\\.,_))
+
+include(../../../tools/shared/symbian/epocroot.pri)
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index 35607d5..b148a1d 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -44,11 +44,11 @@
#include <stddef.h>
-#define QT_VERSION_STR "4.7.1"
+#define QT_VERSION_STR "4.7.2"
/*
QT_VERSION is (major << 16) + (minor << 8) + patch.
*/
-#define QT_VERSION 0x040701
+#define QT_VERSION 0x040702
/*
can be used like #if (QT_VERSION >= QT_VERSION_CHECK(4, 4, 0))
*/
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 957abbf..898b860 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -62,6 +62,10 @@ QT_END_NAMESPACE
# include "private/qcore_mac_p.h"
#endif
+#ifdef QLIBRARYINFO_EPOCROOT
+# include "symbian/epocroot_p.h"
+#endif
+
#include "qconfig.cpp"
QT_BEGIN_NAMESPACE
@@ -433,6 +437,14 @@ QLibraryInfo::location(LibraryLocation loc)
QString::fromLocal8Bit(qgetenv(ret.mid(rep + 2,
reg_var.matchedLength() - 3).toLatin1().constData()).constData()));
}
+
+#ifdef QLIBRARYINFO_EPOCROOT
+ // $${EPOCROOT} is a special case, resolve it similarly to qmake.
+ QRegExp epocrootMatcher(QLatin1String("\\$\\$\\{EPOCROOT\\}"));
+ if ((rep = epocrootMatcher.indexIn(ret)) != -1)
+ ret.replace(rep, epocrootMatcher.matchedLength(), qt_epocRoot());
+#endif
+
config->endGroup();
}
}
diff --git a/src/corelib/global/qmalloc.cpp b/src/corelib/global/qmalloc.cpp
index 090998c..028a0a5 100644
--- a/src/corelib/global/qmalloc.cpp
+++ b/src/corelib/global/qmalloc.cpp
@@ -90,8 +90,6 @@ void *qReallocAligned(void *oldptr, size_t newsize, size_t oldsize, size_t align
return newptr + 1;
}
- union { void *ptr; void **pptr; quintptr n; } real, faked;
-
// qMalloc returns pointers aligned at least at sizeof(size_t) boundaries
// but usually more (8- or 16-byte boundaries).
// So we overallocate by alignment-sizeof(size_t) bytes, so we're guaranteed to find a
@@ -100,19 +98,21 @@ void *qReallocAligned(void *oldptr, size_t newsize, size_t oldsize, size_t align
// However, we need to store the actual pointer, so we need to allocate actually size +
// alignment anyway.
- real.ptr = qRealloc(actualptr, newsize + alignment);
- if (!real.ptr)
+ void *real = qRealloc(actualptr, newsize + alignment);
+ if (!real)
return 0;
- faked.n = real.n + alignment;
- faked.n &= ~(alignment - 1);
+ quintptr faked = reinterpret_cast<quintptr>(real) + alignment;
+ faked &= ~(alignment - 1);
+
+ void **faked_ptr = reinterpret_cast<void **>(faked);
// now save the value of the real pointer at faked-sizeof(void*)
// by construction, alignment > sizeof(void*) and is a power of 2, so
// faked-sizeof(void*) is properly aligned for a pointer
- faked.pptr[-1] = real.ptr;
+ faked_ptr[-1] = real;
- return faked.ptr;
+ return faked_ptr;
}
void qFreeAligned(void *ptr)
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index 1c41eca..6b1aa17 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -470,9 +470,9 @@
text; otherwise this width is excluded.
\value TextIncludeTrailingSpaces Same as IncludeTrailingSpaces
\value TextJustificationForced Ensures that text lines are justified.
- \value TextLongestVariant Ensures that the longest variant is always used
- when computing the size of a multi-variant string.
+ \omitvalue TextLongestVariant Ensures that the longest variant is always used
+ when computing the size of a multi-variant string. (Internal)
\omitvalue TextBypassShaping
\omitvalue BreakAnywhere
\omitvalue DontClip
@@ -511,11 +511,11 @@
delivery at a later time.
\value AutoConnection
- (default) If the object sending the signal is in a different thread
- than the receiving object, the signal is queued, behaving as
- Qt::QueuedConnection. If both objects are in the same thread,
- the slot is invoked directly, behaving as Qt::DirectConnection. The
- type of connection is determined when the signal is emitted.
+ (default) If the signal is emitted from a different thread than the
+ receiving object, the signal is queued, behaving as
+ Qt::QueuedConnection. Otherwise, the slot is invoked directly,
+ behaving as Qt::DirectConnection. The type of connection is
+ determined when the signal is emitted.
\value DirectConnection
The slot is invoked immediately, when the signal is
diff --git a/src/corelib/io/qdiriterator.cpp b/src/corelib/io/qdiriterator.cpp
index fd4b9c1..dbb333f 100644
--- a/src/corelib/io/qdiriterator.cpp
+++ b/src/corelib/io/qdiriterator.cpp
@@ -389,9 +389,6 @@ QDirIterator::QDirIterator(const QDir &dir, IteratorFlags flags)
\note To list symlinks that point to non existing files, QDir::System must be
passed to the flags.
- \warning This constructor expects \a flags to be left at its default value. Use
- the constructors that do not take the \a filters argument instead.
-
\sa hasNext(), next(), IteratorFlags
*/
QDirIterator::QDirIterator(const QString &path, QDir::Filters filters, IteratorFlags flags)
@@ -429,9 +426,6 @@ QDirIterator::QDirIterator(const QString &path, IteratorFlags flags)
\note To list symlinks that point to non existing files, QDir::System must be
passed to the flags.
- \warning This constructor expects \c flags to be left at its default value. Use the
- constructors that do not take the \a filters argument instead.
-
\sa hasNext(), next(), IteratorFlags
*/
QDirIterator::QDirIterator(const QString &path, const QStringList &nameFilters,
diff --git a/src/corelib/io/qfilesystemwatcher.cpp b/src/corelib/io/qfilesystemwatcher.cpp
index 18c3c9f..1e6dcee 100644
--- a/src/corelib/io/qfilesystemwatcher.cpp
+++ b/src/corelib/io/qfilesystemwatcher.cpp
@@ -228,8 +228,14 @@ void QPollingFileSystemWatcherEngine::timeout()
dit.remove();
emit directoryChanged(path, true);
} else if (x.value() != fi) {
- x.value() = fi;
- emit directoryChanged(path, false);
+ fi.refresh();
+ if (!fi.exists()) {
+ dit.remove();
+ emit directoryChanged(path, true);
+ } else {
+ x.value() = fi;
+ emit directoryChanged(path, false);
+ }
}
}
diff --git a/src/corelib/io/qfilesystemwatcher_kqueue.cpp b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
index 378ad20..3664396 100644
--- a/src/corelib/io/qfilesystemwatcher_kqueue.cpp
+++ b/src/corelib/io/qfilesystemwatcher_kqueue.cpp
@@ -117,67 +117,77 @@ QStringList QKqueueFileSystemWatcherEngine::addPaths(const QStringList &paths,
QStringList *files,
QStringList *directories)
{
- QMutexLocker locker(&mutex);
-
QStringList p = paths;
- QMutableListIterator<QString> it(p);
- while (it.hasNext()) {
- QString path = it.next();
- int fd;
+ {
+ QMutexLocker locker(&mutex);
+
+ QMutableListIterator<QString> it(p);
+ while (it.hasNext()) {
+ QString path = it.next();
+ int fd;
#if defined(O_EVTONLY)
- fd = qt_safe_open(QFile::encodeName(path), O_EVTONLY);
+ fd = qt_safe_open(QFile::encodeName(path), O_EVTONLY);
#else
- fd = qt_safe_open(QFile::encodeName(path), O_RDONLY);
+ fd = qt_safe_open(QFile::encodeName(path), O_RDONLY);
#endif
- if (fd == -1) {
- perror("QKqueueFileSystemWatcherEngine::addPaths: open");
- continue;
- }
+ if (fd == -1) {
+ perror("QKqueueFileSystemWatcherEngine::addPaths: open");
+ continue;
+ }
+ if (fd >= (int)FD_SETSIZE / 2 && fd < (int)FD_SETSIZE) {
+ int fddup = fcntl(fd, F_DUPFD, FD_SETSIZE);
+ if (fddup != -1) {
+ ::close(fd);
+ fd = fddup;
+ }
+ }
+ fcntl(fd, F_SETFD, FD_CLOEXEC);
- QT_STATBUF st;
- if (QT_FSTAT(fd, &st) == -1) {
- perror("QKqueueFileSystemWatcherEngine::addPaths: fstat");
- ::close(fd);
- continue;
- }
- int id = (S_ISDIR(st.st_mode)) ? -fd : fd;
- if (id < 0) {
- if (directories->contains(path)) {
+ QT_STATBUF st;
+ if (QT_FSTAT(fd, &st) == -1) {
+ perror("QKqueueFileSystemWatcherEngine::addPaths: fstat");
::close(fd);
continue;
}
- } else {
- if (files->contains(path)) {
+ int id = (S_ISDIR(st.st_mode)) ? -fd : fd;
+ if (id < 0) {
+ if (directories->contains(path)) {
+ ::close(fd);
+ continue;
+ }
+ } else {
+ if (files->contains(path)) {
+ ::close(fd);
+ continue;
+ }
+ }
+
+ struct kevent kev;
+ EV_SET(&kev,
+ fd,
+ EVFILT_VNODE,
+ EV_ADD | EV_ENABLE | EV_CLEAR,
+ NOTE_DELETE | NOTE_WRITE | NOTE_EXTEND | NOTE_ATTRIB | NOTE_RENAME | NOTE_REVOKE,
+ 0,
+ 0);
+ if (kevent(kqfd, &kev, 1, 0, 0, 0) == -1) {
+ perror("QKqueueFileSystemWatcherEngine::addPaths: kevent");
::close(fd);
continue;
}
- }
- struct kevent kev;
- EV_SET(&kev,
- fd,
- EVFILT_VNODE,
- EV_ADD | EV_ENABLE | EV_ONESHOT,
- NOTE_DELETE | NOTE_WRITE | NOTE_EXTEND | NOTE_ATTRIB | NOTE_RENAME | NOTE_REVOKE,
- 0,
- 0);
- if (kevent(kqfd, &kev, 1, 0, 0, 0) == -1) {
- perror("QKqueueFileSystemWatcherEngine::addPaths: kevent");
- ::close(fd);
- continue;
- }
+ it.remove();
+ if (id < 0) {
+ DEBUG() << "QKqueueFileSystemWatcherEngine: added directory path" << path;
+ directories->append(path);
+ } else {
+ DEBUG() << "QKqueueFileSystemWatcherEngine: added file path" << path;
+ files->append(path);
+ }
- it.remove();
- if (id < 0) {
- DEBUG() << "QKqueueFileSystemWatcherEngine: added directory path" << path;
- directories->append(path);
- } else {
- DEBUG() << "QKqueueFileSystemWatcherEngine: added file path" << path;
- files->append(path);
+ pathToID.insert(path, id);
+ idToPath.insert(id, path);
}
-
- pathToID.insert(path, id);
- idToPath.insert(id, path);
}
if (!isRunning())
@@ -192,43 +202,35 @@ QStringList QKqueueFileSystemWatcherEngine::removePaths(const QStringList &paths
QStringList *files,
QStringList *directories)
{
- QMutexLocker locker(&mutex);
-
+ bool isEmpty;
QStringList p = paths;
- QMutableListIterator<QString> it(p);
- while (it.hasNext()) {
- QString path = it.next();
- int id = pathToID.take(path);
- QString x = idToPath.take(id);
- if (x.isEmpty() || x != path)
- continue;
-
- int fd = id < 0 ? -id : id;
- struct kevent kev;
- EV_SET(&kev,
- fd,
- EVFILT_VNODE,
- EV_DELETE,
- NOTE_DELETE | NOTE_WRITE | NOTE_EXTEND | NOTE_ATTRIB | NOTE_RENAME | NOTE_REVOKE,
- 0,
- 0);
- if (kevent(kqfd, &kev, 1, 0, 0, 0) == -1) {
- perror("QKqueueFileSystemWatcherEngine::removeWatch: kevent");
- }
- ::close(fd);
+ {
+ QMutexLocker locker(&mutex);
+ if (pathToID.isEmpty())
+ return p;
+
+ QMutableListIterator<QString> it(p);
+ while (it.hasNext()) {
+ QString path = it.next();
+ int id = pathToID.take(path);
+ QString x = idToPath.take(id);
+ if (x.isEmpty() || x != path)
+ continue;
- it.remove();
- if (id < 0)
- directories->removeAll(path);
- else
- files->removeAll(path);
+ ::close(id < 0 ? -id : id);
+
+ it.remove();
+ if (id < 0)
+ directories->removeAll(path);
+ else
+ files->removeAll(path);
+ }
+ isEmpty = pathToID.isEmpty();
}
- if (pathToID.isEmpty()) {
+ if (isEmpty) {
stop();
- locker.unlock();
wait();
- locker.relock();
} else {
write(kqpipe[1], "@", 1);
}
@@ -243,19 +245,15 @@ void QKqueueFileSystemWatcherEngine::stop()
void QKqueueFileSystemWatcherEngine::run()
{
- static const struct timespec ZeroTimeout = { 0, 0 };
-
forever {
+ int r;
struct kevent kev;
DEBUG() << "QKqueueFileSystemWatcherEngine: waiting for kevents...";
- int r = kevent(kqfd, 0, 0, &kev, 1, 0);
+ EINTR_LOOP(r, kevent(kqfd, 0, 0, &kev, 1, 0));
if (r < 0) {
perror("QKqueueFileSystemWatcherEngine: error during kevent wait");
return;
- }
-
- QMutexLocker locker(&mutex);
- do {
+ } else {
int fd = kev.ident;
DEBUG() << "QKqueueFileSystemWatcherEngine: processing kevent" << kev.ident << kev.filter;
@@ -287,6 +285,8 @@ void QKqueueFileSystemWatcherEngine::run()
break;
}
} else {
+ QMutexLocker locker(&mutex);
+
int id = fd;
QString path = idToPath.value(id);
if (path.isEmpty()) {
@@ -295,12 +295,12 @@ void QKqueueFileSystemWatcherEngine::run()
path = idToPath.value(id);
if (path.isEmpty()) {
DEBUG() << "QKqueueFileSystemWatcherEngine: received a kevent for a file we're not watching";
- goto process_next_event;
+ continue;
}
}
if (kev.filter != EVFILT_VNODE) {
DEBUG() << "QKqueueFileSystemWatcherEngine: received a kevent with the wrong filter";
- goto process_next_event;
+ continue;
}
if ((kev.fflags & (NOTE_DELETE | NOTE_REVOKE | NOTE_RENAME)) != 0) {
@@ -315,31 +315,15 @@ void QKqueueFileSystemWatcherEngine::run()
else
emit fileChanged(path, true);
} else {
- DEBUG() << path << "changed, re-enabling watch";
+ DEBUG() << path << "changed";
if (id < 0)
emit directoryChanged(path, false);
else
emit fileChanged(path, false);
-
- // renable the watch
- EV_SET(&kev,
- fd,
- EVFILT_VNODE,
- EV_ADD | EV_ENABLE | EV_ONESHOT,
- NOTE_DELETE | NOTE_WRITE | NOTE_EXTEND | NOTE_ATTRIB | NOTE_RENAME | NOTE_REVOKE,
- 0,
- 0);
- if (kevent(kqfd, &kev, 1, 0, 0, 0) == -1) {
- perror("QKqueueFileSystemWatcherEngine::processKqueueEvents: kevent EV_ADD");
- }
}
}
-
- // are there any more?
-process_next_event:
- r = kevent(kqfd, 0, 0, &kev, 1, &ZeroTimeout);
- } while (r > 0);
+ }
}
}
diff --git a/src/corelib/io/qfsfileengine_unix.cpp b/src/corelib/io/qfsfileengine_unix.cpp
index d83f7ee..69e9219 100644
--- a/src/corelib/io/qfsfileengine_unix.cpp
+++ b/src/corelib/io/qfsfileengine_unix.cpp
@@ -695,7 +695,7 @@ bool QFSFileEnginePrivate::doStat() const
} else if (fd == -1) {
// ### actually covers two cases: d->fh and when the file is not open
#if defined(Q_OS_SYMBIAN)
- // Optimisation for Symbian where fileFlags() calls both doStat() and isSymlink(), but rarely on real links.
+ // Optimization for Symbian where fileFlags() calls both doStat() and isSymlink(), but rarely on real links.
// When the filename is not a link, lstat will return the same info as stat, but this also removes
// any need for a further call to lstat to check if the file is a link.
need_lstat = false;
diff --git a/src/corelib/io/qiodevice.cpp b/src/corelib/io/qiodevice.cpp
index 26e587d..68fb2bf 100644
--- a/src/corelib/io/qiodevice.cpp
+++ b/src/corelib/io/qiodevice.cpp
@@ -395,7 +395,10 @@ QIODevice::QIODevice(QIODevicePrivate &dd, QObject *parent)
/*!
- Destructs the QIODevice object.
+ The destructor is virtual, and QIODevice is an abstract base
+ class. This destructor does not call close(), but the subclass
+ destructor might. If you are in doubt, call close() before
+ destroying the QIODevice.
*/
QIODevice::~QIODevice()
{
diff --git a/src/corelib/io/qiodevice_p.h b/src/corelib/io/qiodevice_p.h
index 1dd51ea..8b77da5 100644
--- a/src/corelib/io/qiodevice_p.h
+++ b/src/corelib/io/qiodevice_p.h
@@ -68,7 +68,7 @@ QT_BEGIN_NAMESPACE
#define QIODEVICE_BUFFERSIZE Q_INT64_C(16384)
#endif
-// This is QIODevice's read buffer, optimised for read(), isEmpty() and getChar()
+// This is QIODevice's read buffer, optimized for read(), isEmpty() and getChar()
class QIODevicePrivateLinearBuffer
{
public:
diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp
index 003e781..5b283a5 100644
--- a/src/corelib/io/qprocess_symbian.cpp
+++ b/src/corelib/io/qprocess_symbian.cpp
@@ -1050,6 +1050,7 @@ bool QProcessPrivate::startDetached(const QString &program, const QStringList &a
newProc->Resume();
newProc->Close();
+ delete newProc;
return true;
}
diff --git a/src/corelib/io/qsettings.cpp b/src/corelib/io/qsettings.cpp
index edd6d2b..e6c5fb9 100644
--- a/src/corelib/io/qsettings.cpp
+++ b/src/corelib/io/qsettings.cpp
@@ -88,6 +88,12 @@
#define CSIDL_APPDATA 0x001a // <username>\Application Data
#endif
+#ifdef Q_AUTOTEST_EXPORT
+# define Q_AUTOTEST_EXPORT_HELPER Q_AUTOTEST_EXPORT
+#else
+# define Q_AUTOTEST_EXPORT_HELPER static
+#endif
+
// ************************************************************************
// QConfFile
@@ -134,7 +140,7 @@ QT_BEGIN_INCLUDE_NAMESPACE
# include <sys/mount.h>
QT_END_INCLUDE_NAMESPACE
-static bool isLikelyToBeNfs(int handle)
+Q_AUTOTEST_EXPORT_HELPER bool qIsLikelyToBeNfs(int handle)
{
struct statfs buf;
if (fstatfs(handle, &buf) != 0)
@@ -160,7 +166,7 @@ QT_END_INCLUDE_NAMESPACE
# define AUTOFSNG_SUPER_MAGIC 0x7d92b1a0
# endif
-static bool isLikelyToBeNfs(int handle)
+Q_AUTOTEST_EXPORT_HELPER bool qIsLikelyToBeNfs(int handle)
{
struct statfs buf;
if (fstatfs(handle, &buf) != 0)
@@ -177,7 +183,7 @@ QT_BEGIN_INCLUDE_NAMESPACE
# include <sys/statvfs.h>
QT_END_INCLUDE_NAMESPACE
-static bool isLikelyToBeNfs(int handle)
+Q_AUTOTEST_EXPORT_HELPER bool qIsLikelyToBeNfs(int handle)
{
struct statvfs buf;
if (fstatvfs(handle, &buf) != 0)
@@ -189,7 +195,7 @@ static bool isLikelyToBeNfs(int handle)
#endif
}
#else
-static inline bool isLikelyToBeNfs(int /* handle */)
+Q_AUTOTEST_EXPORT_HELPER inline bool qIsLikelyToBeNfs(int /* handle */)
{
return true;
}
@@ -203,7 +209,7 @@ static bool unixLock(int handle, int lockType)
now is to disable locking when we detect NFS (or AutoFS or
CacheFS, which are probably wrapping NFS).
*/
- if (isLikelyToBeNfs(handle))
+ if (qIsLikelyToBeNfs(handle))
return false;
struct flock fl;
@@ -1231,16 +1237,21 @@ QConfFileSettingsPrivate::~QConfFileSettingsPrivate()
if (confFiles[i] && !confFiles[i]->ref.deref()) {
if (confFiles[i]->size == 0) {
delete confFiles[i].take();
- } else if (unusedCache) {
+ } else {
if (usedHash)
usedHash->remove(confFiles[i]->name);
- QT_TRY {
- // compute a better size?
- unusedCache->insert(confFiles[i]->name, confFiles[i].data(),
- 10 + (confFiles[i]->originalKeys.size() / 4));
- confFiles[i].take();
- } QT_CATCH(...) {
- // out of memory. Do not cache the file.
+ if (unusedCache) {
+ QT_TRY {
+ // compute a better size?
+ unusedCache->insert(confFiles[i]->name, confFiles[i].data(),
+ 10 + (confFiles[i]->originalKeys.size() / 4));
+ confFiles[i].take();
+ } QT_CATCH(...) {
+ // out of memory. Do not cache the file.
+ delete confFiles[i].take();
+ }
+ } else {
+ // unusedCache is gone - delete the entry to prevent a memory leak
delete confFiles[i].take();
}
}
@@ -3506,7 +3517,7 @@ void QSettings::setPath(Format format, Scope scope, const QString &path)
\threadsafe
Registers a custom storage format. On success, returns a special
- Format value that can then be passed to the QSettings constuctor.
+ Format value that can then be passed to the QSettings constructor.
On failure, returns InvalidFormat.
The \a extension is the file
diff --git a/src/corelib/kernel/qabstractitemmodel.cpp b/src/corelib/kernel/qabstractitemmodel.cpp
index 6e37aee..589d304 100644
--- a/src/corelib/kernel/qabstractitemmodel.cpp
+++ b/src/corelib/kernel/qabstractitemmodel.cpp
@@ -1197,7 +1197,7 @@ void QAbstractItemModelPrivate::columnsRemoved(const QModelIndex &parent,
\l{QAbstractItemModel::}{endInsertRows()} must be called.
\sa {Model Classes}, {Model Subclassing Reference}, QModelIndex,
- QAbstractItemView, {Using drag & drop with item views},
+ QAbstractItemView, {Using drag and drop with item views},
{Simple DOM Model Example}, {Simple Tree Model Example},
{Editable Tree Model Example}, {Fetch More Example}
*/
@@ -1760,7 +1760,7 @@ QMimeData *QAbstractItemModel::mimeData(const QModelIndexList &indexes) const
where to place the data. This can occur in a tree when data is dropped on
a parent. Models will usually append the data to the parent in this case.
- \sa supportedDropActions(), {Using drag & drop with item views}
+ \sa supportedDropActions(), {Using drag and drop with item views}
*/
bool QAbstractItemModel::dropMimeData(const QMimeData *data, Qt::DropAction action,
int row, int column, const QModelIndex &parent)
@@ -1797,7 +1797,7 @@ bool QAbstractItemModel::dropMimeData(const QMimeData *data, Qt::DropAction acti
reimplement the dropMimeData() function to handle the additional
operations.
- \sa dropMimeData(), Qt::DropActions, {Using drag & drop with item
+ \sa dropMimeData(), Qt::DropActions, {Using drag and drop with item
views}
*/
Qt::DropActions QAbstractItemModel::supportedDropActions() const
@@ -1814,7 +1814,7 @@ Qt::DropActions QAbstractItemModel::supportedDropActions() const
supportedDragActions() is used by QAbstractItemView::startDrag() as the
default values when a drag occurs.
- \sa Qt::DropActions, {Using drag & drop with item views}
+ \sa Qt::DropActions, {Using drag and drop with item views}
*/
Qt::DropActions QAbstractItemModel::supportedDragActions() const
{
@@ -1830,7 +1830,7 @@ Qt::DropActions QAbstractItemModel::supportedDragActions() const
Sets the supported drag \a actions for the items in the model.
- \sa supportedDragActions(), {Using drag & drop with item views}
+ \sa supportedDragActions(), {Using drag and drop with item views}
*/
void QAbstractItemModel::setSupportedDragActions(Qt::DropActions actions)
{
@@ -2636,8 +2636,6 @@ void QAbstractItemModel::endMoveRows()
QAbstractItemModelPrivate::Change insertChange = d->changes.pop();
QAbstractItemModelPrivate::Change removeChange = d->changes.pop();
- d->itemsMoved(removeChange.parent, removeChange.first, removeChange.last, insertChange.parent, insertChange.first, Qt::Vertical);
-
QModelIndex adjustedSource = removeChange.parent;
QModelIndex adjustedDestination = insertChange.parent;
@@ -2648,6 +2646,8 @@ void QAbstractItemModel::endMoveRows()
if (removeChange.needsAdjust)
adjustedSource = createIndex(adjustedSource.row() + numMoved, adjustedSource.column(), adjustedSource.internalPointer());
+ d->itemsMoved(adjustedSource, removeChange.first, removeChange.last, adjustedDestination, insertChange.first, Qt::Vertical);
+
emit rowsMoved(adjustedSource, removeChange.first, removeChange.last, adjustedDestination, insertChange.first);
emit layoutChanged();
}
@@ -2860,8 +2860,6 @@ void QAbstractItemModel::endMoveColumns()
QAbstractItemModelPrivate::Change insertChange = d->changes.pop();
QAbstractItemModelPrivate::Change removeChange = d->changes.pop();
- d->itemsMoved(removeChange.parent, removeChange.first, removeChange.last, insertChange.parent, insertChange.first, Qt::Horizontal);
-
QModelIndex adjustedSource = removeChange.parent;
QModelIndex adjustedDestination = insertChange.parent;
@@ -2872,6 +2870,8 @@ void QAbstractItemModel::endMoveColumns()
if (removeChange.needsAdjust)
adjustedSource = createIndex(adjustedSource.row(), adjustedSource.column() + numMoved, adjustedSource.internalPointer());
+ d->itemsMoved(adjustedSource, removeChange.first, removeChange.last, adjustedDestination, insertChange.first, Qt::Horizontal);
+
emit columnsMoved(adjustedSource, removeChange.first, removeChange.last, adjustedDestination, insertChange.first);
emit layoutChanged();
}
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index d3f399b..5598187 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -406,11 +406,10 @@ QString qAppName()
operations can call processEvents() to keep the application
responsive.
- Some Qt classes, such as QString, can be used without a
- QCoreApplication object. However, in general, we recommend that
- you create a QCoreApplication or a QApplication object in your \c
- main() function as early as possible. exit() will not return
- until the event loop exits; e.g., when quit() is called.
+ In general, we recommend that you create a QCoreApplication or
+ a QApplication object in your \c main() function as early as
+ possible. exit() will not return until the event loop exits;
+ e.g., when quit() is called.
Several static convenience functions are also provided. The
QCoreApplication object is available from instance(). Events can
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index 8390275..6fa2707 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -311,6 +311,10 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context)
}
}
+#if GLIB_CHECK_VERSION (2, 22, 0)
+ g_main_context_push_thread_default (mainContext);
+#endif
+
// setup post event source
postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
sizeof(GPostEventSource)));
@@ -389,6 +393,9 @@ QEventDispatcherGlib::~QEventDispatcherGlib()
d->postEventSource = 0;
Q_ASSERT(d->mainContext != 0);
+#if GLIB_CHECK_VERSION (2, 22, 0)
+ g_main_context_pop_thread_default (d->mainContext);
+#endif
g_main_context_unref(d->mainContext);
d->mainContext = 0;
}
diff --git a/src/corelib/kernel/qeventdispatcher_symbian.cpp b/src/corelib/kernel/qeventdispatcher_symbian.cpp
index d8cc344..bb9bd01 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian.cpp
+++ b/src/corelib/kernel/qeventdispatcher_symbian.cpp
@@ -975,9 +975,7 @@ bool QEventDispatcherSymbian::sendPostedEvents()
inline void QEventDispatcherSymbian::addDeferredActiveObject(QActiveObject *object)
{
- if (m_deferredActiveObjects.isEmpty()) {
- m_completeDeferredAOs->complete();
- }
+ queueDeferredActiveObjectsCompletion();
m_deferredActiveObjects.append(object);
}
@@ -986,6 +984,11 @@ inline void QEventDispatcherSymbian::removeDeferredActiveObject(QActiveObject *o
m_deferredActiveObjects.removeAll(object);
}
+void QEventDispatcherSymbian::queueDeferredActiveObjectsCompletion()
+{
+ m_completeDeferredAOs->complete();
+}
+
void QEventDispatcherSymbian::reactivateDeferredActiveObjects()
{
while (!m_deferredActiveObjects.isEmpty()) {
diff --git a/src/corelib/kernel/qeventdispatcher_symbian_p.h b/src/corelib/kernel/qeventdispatcher_symbian_p.h
index 1486db5..3615996 100644
--- a/src/corelib/kernel/qeventdispatcher_symbian_p.h
+++ b/src/corelib/kernel/qeventdispatcher_symbian_p.h
@@ -247,7 +247,9 @@ public:
void addDeferredActiveObject(QActiveObject *object);
void removeDeferredActiveObject(QActiveObject *object);
- void reactivateDeferredActiveObjects();
+ void queueDeferredActiveObjectsCompletion();
+ // Can be overridden to activate local active objects too, but do call baseclass!
+ virtual void reactivateDeferredActiveObjects();
inline int iterationCount() const { return m_iterationCount; }
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp
index 153ccdf..4eb0073 100644
--- a/src/corelib/kernel/qeventdispatcher_win.cpp
+++ b/src/corelib/kernel/qeventdispatcher_win.cpp
@@ -84,7 +84,8 @@ extern uint qGlobalPostedEventsCount();
enum {
WM_QT_SOCKETNOTIFIER = WM_USER,
- WM_QT_SENDPOSTEDEVENTS = WM_USER + 1
+ WM_QT_SENDPOSTEDEVENTS = WM_USER + 1,
+ SendPostedEventsWindowsTimerId = ~1u
};
#if defined(Q_OS_WINCE)
@@ -353,10 +354,7 @@ public:
// for controlling when to send posted events
QAtomicInt serialNumber;
- int lastSerialNumber;
-#ifndef Q_OS_WINCE
- int lastMessageTime;
-#endif
+ int lastSerialNumber, sendPostedEventsWindowsTimerId;
QAtomicInt wakeUps;
// timers
@@ -381,11 +379,7 @@ public:
QEventDispatcherWin32Private::QEventDispatcherWin32Private()
: threadId(GetCurrentThreadId()), interrupt(false), internalHwnd(0), getMessageHook(0),
- serialNumber(0), lastSerialNumber(0),
-#ifndef Q_OS_WINCE
- lastMessageTime(0),
-#endif
- wakeUps(0)
+ serialNumber(0), lastSerialNumber(0), sendPostedEventsWindowsTimerId(0), wakeUps(0)
{
resolveTimerAPI();
}
@@ -492,20 +486,21 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA
}
}
return 0;
- } else if (message == WM_TIMER) {
- Q_ASSERT(d != 0);
- d->sendTimerEvent(wp);
- return 0;
- } else if (message == WM_QT_SENDPOSTEDEVENTS) {
+ } else if (message == WM_QT_SENDPOSTEDEVENTS
+ // we also use a Windows timer to send posted events when the message queue is full
+ || (message == WM_TIMER
+ && d->sendPostedEventsWindowsTimerId != 0
+ && wp == d->sendPostedEventsWindowsTimerId)) {
int localSerialNumber = d->serialNumber;
if (localSerialNumber != d->lastSerialNumber) {
d->lastSerialNumber = localSerialNumber;
-#ifndef Q_OS_WINCE
- d->lastMessageTime = GetMessageTime();
-#endif
QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
}
return 0;
+ } else if (message == WM_TIMER) {
+ Q_ASSERT(d != 0);
+ d->sendTimerEvent(wp);
+ return 0;
}
return DefWindowProc(hwnd, message, wp, lp);
@@ -517,25 +512,36 @@ LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp)
QEventDispatcherWin32 *q = qobject_cast<QEventDispatcherWin32 *>(QAbstractEventDispatcher::instance());
Q_ASSERT(q != 0);
if (q) {
+ MSG *msg = (MSG *) lp;
QEventDispatcherWin32Private *d = q->d_func();
int localSerialNumber = d->serialNumber;
- MSG unused;
- if ((HIWORD(GetQueueStatus(QS_INPUT | QS_RAWINPUT)) == 0
- && PeekMessage(&unused, 0, WM_TIMER, WM_TIMER, PM_NOREMOVE) == 0)
-#ifndef Q_OS_WINCE
- || GetMessageTime() - d->lastMessageTime >= 10
-#endif
- ) {
- // no more input or timer events in the message queue or more than 10ms has elapsed since
- // we send posted events, we can allow posted events to be sent now
+ if (HIWORD(GetQueueStatus(QS_TIMER | QS_INPUT | QS_RAWINPUT)) == 0) {
+ // no more input or timer events in the message queue, we can allow posted events to be sent normally now
+ if (d->sendPostedEventsWindowsTimerId != 0) {
+ // stop the timer to send posted events, since we now allow the WM_QT_SENDPOSTEDEVENTS message
+ KillTimer(d->internalHwnd, d->sendPostedEventsWindowsTimerId);
+ d->sendPostedEventsWindowsTimerId = 0;
+ }
(void) d->wakeUps.fetchAndStoreRelease(0);
- MSG *msg = (MSG *) lp;
if (localSerialNumber != d->lastSerialNumber
// if this message IS the one that triggers sendPostedEvents(), no need to post it again
&& (msg->hwnd != d->internalHwnd
|| msg->message != WM_QT_SENDPOSTEDEVENTS)) {
PostMessage(d->internalHwnd, WM_QT_SENDPOSTEDEVENTS, 0, 0);
}
+ } else if (d->sendPostedEventsWindowsTimerId == 0
+ && localSerialNumber != d->lastSerialNumber
+ // if this message IS the one that triggers sendPostedEvents(), no need to post it again
+ && (msg->hwnd != d->internalHwnd
+ || msg->message != WM_QT_SENDPOSTEDEVENTS)) {
+ // start a special timer to continue delivering posted events while
+ // there are still input and timer messages in the message queue
+ d->sendPostedEventsWindowsTimerId = SetTimer(d->internalHwnd,
+ SendPostedEventsWindowsTimerId,
+ 0, // we specify zero, but Windows uses USER_TIMER_MINIMUM
+ NULL);
+ // we don't check the return value of SetTimer()... if creating the timer failed, there's little
+ // we can do. we just have to accept that posted events will be starved
}
}
}
diff --git a/src/corelib/kernel/qmimedata.cpp b/src/corelib/kernel/qmimedata.cpp
index bf4001a..899ca7b 100644
--- a/src/corelib/kernel/qmimedata.cpp
+++ b/src/corelib/kernel/qmimedata.cpp
@@ -249,7 +249,7 @@ QVariant QMimeDataPrivate::retrieveTypedData(const QString &format, QVariant::Ty
\o We can subclass QMimeData and reimplement hasFormat(),
formats(), and retrieveData().
- \o If the drag and drop operation occurs withing a single
+ \o If the drag and drop operation occurs within a single
application, we can subclass QMimeData and add extra data in
it, and use a qobject_cast() in the receiver's drop event
handler. For example:
diff --git a/src/corelib/kernel/qtcore_eval.cpp b/src/corelib/kernel/qtcore_eval.cpp
index 78556c3..da76b74 100644
--- a/src/corelib/kernel/qtcore_eval.cpp
+++ b/src/corelib/kernel/qtcore_eval.cpp
@@ -90,14 +90,14 @@ static const char will_shutdown_now[] =
static int qt_eval_is_supported()
{
- const char *const license_key = qt_eval_key_data + 12;
+ const volatile char *const license_key = qt_eval_key_data + 12;
// fast fail
if (!qt_eval_key_data[0] || !*license_key)
return -1;
// is this an unsupported evaluation?
- const char* typecode = license_key;
+ const volatile char *typecode = license_key;
int field = 2;
for ( ; field && *typecode; ++typecode)
if (*typecode == '-')
diff --git a/src/corelib/statemachine/qstatemachine.cpp b/src/corelib/statemachine/qstatemachine.cpp
index 4b371f7..6324cc9 100644
--- a/src/corelib/statemachine/qstatemachine.cpp
+++ b/src/corelib/statemachine/qstatemachine.cpp
@@ -178,7 +178,7 @@ QT_BEGIN_NAMESPACE
QStateMachinePrivate::QStateMachinePrivate()
{
- QAbstractStatePrivate::isMachine = true;
+ isMachine = true;
state = NotRunning;
_startState = 0;
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp
index 69b70cb..6fb182b 100644
--- a/src/corelib/thread/qthread.cpp
+++ b/src/corelib/thread/qthread.cpp
@@ -482,8 +482,10 @@ int QThread::exec()
Q_D(QThread);
QMutexLocker locker(&d->mutex);
d->data->quitNow = false;
- if (d->exited)
+ if (d->exited) {
+ d->exited = false;
return d->returnCode;
+ }
locker.unlock();
QEventLoop eventLoop;
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index a7601b6..e3b587d 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -97,6 +97,11 @@
# define SCHED_IDLE 5
#endif
+#if defined(Q_OS_DARWIN) || !defined(Q_OS_OPENBSD) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0)
+#define QT_HAS_THREAD_PRIORITY_SCHEDULING
+#endif
+
+
QT_BEGIN_NAMESPACE
#ifndef QT_NO_THREAD
@@ -142,6 +147,39 @@ static void destroy_current_thread_data_key()
}
Q_DESTRUCTOR_FUNCTION(destroy_current_thread_data_key)
+
+// Utility functions for getting, setting and clearing thread specific data.
+// In Symbian, TLS access is significantly faster than pthread_getspecific.
+// However Symbian does not have the thread destruction cleanup functionality
+// that pthread has, so pthread_setspecific is also used.
+static QThreadData *get_thread_data()
+{
+#ifdef Q_OS_SYMBIAN
+ return reinterpret_cast<QThreadData *>(Dll::Tls());
+#else
+ pthread_once(&current_thread_data_once, create_current_thread_data_key);
+ return reinterpret_cast<QThreadData *>(pthread_getspecific(current_thread_data_key));
+#endif
+}
+
+static void set_thread_data(QThreadData *data)
+{
+#ifdef Q_OS_SYMBIAN
+ qt_symbian_throwIfError(Dll::SetTls(data));
+#endif
+ pthread_once(&current_thread_data_once, create_current_thread_data_key);
+ pthread_setspecific(current_thread_data_key, data);
+}
+
+static void clear_thread_data()
+{
+#ifdef Q_OS_SYMBIAN
+ Dll::FreeTls();
+#endif
+ pthread_setspecific(current_thread_data_key, 0);
+}
+
+
#ifdef Q_OS_SYMBIAN
static void init_symbian_thread_handle(RThread &thread)
{
@@ -158,26 +196,24 @@ static void init_symbian_thread_handle(RThread &thread)
QThreadData *QThreadData::current()
{
- pthread_once(&current_thread_data_once, create_current_thread_data_key);
-
- QThreadData *data = reinterpret_cast<QThreadData *>(pthread_getspecific(current_thread_data_key));
+ QThreadData *data = get_thread_data();
if (!data) {
void *a;
if (QInternal::activateCallbacks(QInternal::AdoptCurrentThread, &a)) {
QThread *adopted = static_cast<QThread*>(a);
Q_ASSERT(adopted);
data = QThreadData::get2(adopted);
- pthread_setspecific(current_thread_data_key, data);
+ set_thread_data(data);
adopted->d_func()->running = true;
adopted->d_func()->finished = false;
static_cast<QAdoptedThread *>(adopted)->init();
} else {
data = new QThreadData;
- pthread_setspecific(current_thread_data_key, data);
QT_TRY {
+ set_thread_data(data);
data->thread = new QAdoptedThread(data);
} QT_CATCH(...) {
- pthread_setspecific(current_thread_data_key, 0);
+ clear_thread_data();
data->deref();
data = 0;
QT_RETHROW;
@@ -268,8 +304,7 @@ void *QThreadPrivate::start(void *arg)
User::SetCritical(User::EProcessCritical);
#endif
- pthread_once(&current_thread_data_once, create_current_thread_data_key);
- pthread_setspecific(current_thread_data_key, data);
+ set_thread_data(data);
data->ref();
data->quitNow = false;
@@ -473,6 +508,7 @@ void QThread::usleep(unsigned long usecs)
thread_sleep(&ti);
}
+#ifdef QT_HAS_THREAD_PRIORITY_SCHEDULING
// Does some magic and calculate the Unix scheduler priorities
// sched_policy is IN/OUT: it must be set to a valid policy before calling this function
// sched_priority is OUT only
@@ -503,6 +539,7 @@ static bool calculateUnixPriority(int priority, int *sched_policy, int *sched_pr
*sched_priority = prio;
return true;
}
+#endif
void QThread::start(Priority priority)
{
@@ -523,7 +560,7 @@ void QThread::start(Priority priority)
d->priority = priority;
-#if defined(Q_OS_DARWIN) || !defined(Q_OS_OPENBSD) && !defined(Q_OS_SYMBIAN) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0)
+#if defined(QT_HAS_THREAD_PRIORITY_SCHEDULING) && !defined(Q_OS_SYMBIAN)
// ### Need to implement thread sheduling and priorities for symbian os. Implementation removed for now
switch (priority) {
case InheritPriority:
@@ -564,7 +601,7 @@ void QThread::start(Priority priority)
break;
}
}
-#endif // _POSIX_THREAD_PRIORITY_SCHEDULING
+#endif // QT_HAS_THREAD_PRIORITY_SCHEDULING
#ifdef Q_OS_SYMBIAN
if (d->stackSize == 0)
@@ -727,7 +764,7 @@ void QThread::setPriority(Priority priority)
// copied from start() with a few modifications:
-#if defined(Q_OS_DARWIN) || !defined(Q_OS_OPENBSD) && defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING-0 >= 0)
+#ifdef QT_HAS_THREAD_PRIORITY_SCHEDULING
int sched_policy;
sched_param param;
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index b0c784e..fac0f45 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -1812,7 +1812,7 @@ QByteArray &QByteArray::replace(int pos, int len, const QByteArray &after)
return *this;
} else {
QByteArray copy(after);
- // ### optimise me
+ // ### optimize me
remove(pos, len);
return insert(pos, copy);
}
@@ -1853,7 +1853,7 @@ QByteArray &QByteArray::replace(int pos, int len, const char *after, int alen)
}
}
-// ### optimise all other replace method, by offering
+// ### optimize all other replace method, by offering
// QByteArray::replace(const char *before, int blen, const char *after, int alen)
/*!
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index 6b1de5e..b817eb2 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -77,7 +77,7 @@ QT_END_NAMESPACE
#include <qdebug.h>
#include <time.h>
-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
# include <fenv.h>
#endif
@@ -1576,8 +1576,6 @@ QDataStream &operator>>(QDataStream &ds, QLocale &l)
defaults to the default locale (see setDefault()).
\endlist
- The "C" locale is identical in behavior to \l{English}/\l{UnitedStates}.
-
Use language() and country() to determine the actual language and
country values used.
@@ -6637,7 +6635,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, int mode, int ndigits, int *decpt, int *si
_control87(MCW_EM, MCW_EM);
#endif
-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
fenv_t envp;
feholdexcept(&envp);
#endif
@@ -6653,7 +6651,7 @@ Q_CORE_EXPORT char *qdtoa ( double d, int mode, int ndigits, int *decpt, int *si
#endif //_M_X64
#endif //Q_OS_WIN
-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
fesetenv(&envp);
#endif
@@ -7308,6 +7306,7 @@ Q_CORE_EXPORT char *qdtoa( double d, int mode, int ndigits, int *decpt, int *sig
Q_CORE_EXPORT double qstrtod(const char *s00, const char **se, bool *ok)
{
+ errno = 0;
double ret = strtod((char*)s00, (char**)se);
if (ok) {
if((ret == 0.0l && errno == ERANGE)
diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h
index 8b424bb..1af2cb4 100644
--- a/src/corelib/tools/qlocale.h
+++ b/src/corelib/tools/qlocale.h
@@ -114,7 +114,7 @@ class Q_CORE_EXPORT QLocale
friend class QString;
friend class QByteArray;
friend class QIntValidator;
- friend class QDoubleValidator;
+ friend class QDoubleValidatorPrivate;
friend class QTextStream;
friend class QTextStreamPrivate;
diff --git a/src/corelib/tools/qpoint.cpp b/src/corelib/tools/qpoint.cpp
index 66f06e9..c297709 100644
--- a/src/corelib/tools/qpoint.cpp
+++ b/src/corelib/tools/qpoint.cpp
@@ -438,8 +438,12 @@ QDebug operator<<(QDebug d, const QPointF &p)
/*!
\fn bool QPointF::isNull() const
- Returns true if both the x and y coordinates are set to 0.0,
+ Returns true if both the x and y coordinates are set to +0.0;
otherwise returns false.
+
+ \note Since this function treats +0.0 and -0.0 differently, points
+ with zero-valued coordinates where either or both values have a
+ negative sign are not defined to be null points.
*/
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
index 4cce339..2895bba 100644
--- a/src/corelib/tools/qsharedpointer_impl.h
+++ b/src/corelib/tools/qsharedpointer_impl.h
@@ -378,6 +378,13 @@ namespace QtSharedPointer {
inline ExternalRefCount() : d(0) { }
inline ExternalRefCount(Qt::Initialization i) : Basic<T>(i) { }
+
+ inline ExternalRefCount(T *ptr) : Basic<T>(Qt::Uninitialized) // throws
+ { internalConstruct(ptr); }
+ template <typename Deleter>
+ inline ExternalRefCount(T *ptr, Deleter deleter) : Basic<T>(Qt::Uninitialized) // throws
+ { internalConstruct(ptr, deleter); }
+
inline ExternalRefCount(const ExternalRefCount<T> &other) : Basic<T>(other), d(other.d)
{ if (d) ref(); }
template <class X>
@@ -448,11 +455,12 @@ public:
inline QSharedPointer() { }
// inline ~QSharedPointer() { }
- inline explicit QSharedPointer(T *ptr) : BaseClass(Qt::Uninitialized)
- { BaseClass::internalConstruct(ptr); }
+ inline explicit QSharedPointer(T *ptr) : BaseClass(ptr) // throws
+ { }
template <typename Deleter>
- inline QSharedPointer(T *ptr, Deleter d) { BaseClass::internalConstruct(ptr, d); }
+ inline QSharedPointer(T *ptr, Deleter d) : BaseClass(ptr, d) // throws
+ { }
inline QSharedPointer(const QSharedPointer<T> &other) : BaseClass(other) { }
inline QSharedPointer<T> &operator=(const QSharedPointer<T> &other)
diff --git a/src/corelib/tools/qsimd.cpp b/src/corelib/tools/qsimd.cpp
index b2fe2da..63ebafb 100644
--- a/src/corelib/tools/qsimd.cpp
+++ b/src/corelib/tools/qsimd.cpp
@@ -135,7 +135,7 @@ static inline uint detectProcessorFeatures()
#if defined(QT_HAVE_IWMMXT)
// runtime detection only available when running as a previlegied process
features = IWMMXT;
-#elif defined(QT_HAVE_NEON)
+#elif defined(QT_ALWAYS_HAVE_NEON)
features = NEON;
#endif
diff --git a/src/corelib/tools/qsimd_p.h b/src/corelib/tools/qsimd_p.h
index 664543b..2dbed76 100644
--- a/src/corelib/tools/qsimd_p.h
+++ b/src/corelib/tools/qsimd_p.h
@@ -87,9 +87,13 @@ QT_BEGIN_HEADER
#include <tmmintrin.h>
#endif
-// SSE4.1 and SSE4.2 intrinsics
-#if (defined(QT_HAVE_SSE4_1) || defined(QT_HAVE_SSE4_2)) && (defined(__SSE4_1__) || defined(Q_CC_MSVC))
+// SSE4.1 intrinsics
+#if defined(QT_HAVE_SSE4_1) && (defined(__SSE4_1__) || defined(Q_CC_MSVC))
#include <smmintrin.h>
+#endif
+
+// SSE4.2 intrinsics
+#if defined(QT_HAVE_SSE4_2) && (defined(__SSE4_2__) || defined(Q_CC_MSVC))
#include <nmmintrin.h>
#endif
@@ -105,7 +109,8 @@ QT_BEGIN_HEADER
#endif // defined(QT_HAVE_SSE2) && (defined(__SSE2__) || defined(Q_CC_MSVC))
// NEON intrinsics
-#if defined(QT_HAVE_NEON)
+#if defined __ARM_NEON__
+#define QT_ALWAYS_HAVE_NEON
#include <arm_neon.h>
#endif
diff --git a/src/corelib/tools/qsize.cpp b/src/corelib/tools/qsize.cpp
index 20ac344..12287ab 100644
--- a/src/corelib/tools/qsize.cpp
+++ b/src/corelib/tools/qsize.cpp
@@ -492,9 +492,13 @@ QDebug operator<<(QDebug dbg, const QSize &s) {
/*!
\fn bool QSizeF::isNull() const
- Returns true if both the width and height is 0; otherwise returns
+ Returns true if both the width and height are +0.0; otherwise returns
false.
+ \note Since this function treats +0.0 and -0.0 differently, sizes with
+ zero width and height where either or both values have a negative
+ sign are not defined to be null sizes.
+
\sa isValid(), isEmpty()
*/
diff --git a/src/corelib/tools/qstring.cpp b/src/corelib/tools/qstring.cpp
index 8083aee..114c4ee 100644
--- a/src/corelib/tools/qstring.cpp
+++ b/src/corelib/tools/qstring.cpp
@@ -567,7 +567,7 @@ const QString::Null QString::null = { };
strings from a string list that contain a particular substring or
that match a particular QRegExp using the QStringList::filter()
function.
-:
+
\section1 Querying String Data
If you want to see if a QString starts or ends with a particular
@@ -3573,7 +3573,7 @@ static QByteArray toLatin1_helper(const QChar *data, int length)
}
length = length % 16;
}
-#elif QT_HAVE_NEON
+#elif defined(QT_ALWAYS_HAVE_NEON)
// Refer to the documentation of the SSE2 implementation
// this use eactly the same method as for SSE except:
// 1) neon has unsigned comparison
diff --git a/src/dbus/qdbusabstractinterface.cpp b/src/dbus/qdbusabstractinterface.cpp
index 4e9c1ad..0ea8c8d 100644
--- a/src/dbus/qdbusabstractinterface.cpp
+++ b/src/dbus/qdbusabstractinterface.cpp
@@ -560,7 +560,7 @@ void QDBusAbstractInterface::connectNotify(const char *signal)
if (!d->isValid)
return;
- // we end up recursing here, so optimise away
+ // we end up recursing here, so optimize away
if (qstrcmp(signal + 1, "destroyed(QObject*)") == 0)
return;
diff --git a/src/dbus/qdbusargument.h b/src/dbus/qdbusargument.h
index 30f2cda..84d0349 100644
--- a/src/dbus/qdbusargument.h
+++ b/src/dbus/qdbusargument.h
@@ -172,7 +172,7 @@ template<typename T> inline T qdbus_cast(const QVariant &v
return qvariant_cast<T>(v);
}
-// specialise for QVariant, allowing it to be used in place of QDBusVariant
+// specialize for QVariant, allowing it to be used in place of QDBusVariant
template<> inline QVariant qdbus_cast<QVariant>(const QDBusArgument &arg, QVariant *)
{
QDBusVariant item;
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index bf771a8..f68a8ca 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -140,9 +140,9 @@ void QDBusConnectionManager::setConnection(const QString &name, QDBusConnectionP
\fn QDBusConnection &QDBusConnection::sessionBus()
\relates QDBusConnection
- Returns a QDBusConnection object opened with the session bus. The object reference returned
- by this function is valid until the QCoreApplication's destructor is run, when the
- connection will be closed and the object, deleted.
+ Returns a QDBusConnection object opened with the session bus. The object
+ reference returned by this function is valid until the application terminates,
+ at which point the connection will be closed and the object deleted.
*/
/*!
\fn QDBusConnection &QDBusConnection::systemBus()
diff --git a/src/dbus/qdbusconnection_p.h b/src/dbus/qdbusconnection_p.h
index 1bd00da..67145b8 100644
--- a/src/dbus/qdbusconnection_p.h
+++ b/src/dbus/qdbusconnection_p.h
@@ -203,6 +203,8 @@ public:
void disconnectRelay(const QString &service,
const QString &path, const QString &interface,
QDBusAbstractInterface *receiver, const char *signal);
+ void registerService(const QString &serviceName);
+ void unregisterService(const QString &serviceName);
bool handleMessage(const QDBusMessage &msg);
void waitForFinished(QDBusPendingCallPrivate *pcall);
@@ -247,9 +249,11 @@ public slots:
void socketWrite(int);
void objectDestroyed(QObject *o);
void relaySignal(QObject *obj, const QMetaObject *, int signalId, const QVariantList &args);
- void _q_serviceOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner);
- void registerService(const QString &serviceName);
- void unregisterService(const QString &serviceName);
+
+private slots:
+ void serviceOwnerChangedNoLock(const QString &name, const QString &oldOwner, const QString &newOwner);
+ void registerServiceNoLock(const QString &serviceName);
+ void unregisterServiceNoLock(const QString &serviceName);
signals:
void serviceOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner);
@@ -303,6 +307,9 @@ public:
QObject *receiver, const char *signal, int minMIdx,
bool buildSignature);
static DBusHandlerResult messageFilter(DBusConnection *, DBusMessage *, void *);
+ static bool checkReplyForDelivery(QDBusConnectionPrivate *target, QObject *object,
+ int idx, const QList<int> &metaTypes,
+ const QDBusMessage &msg);
static QDBusCallDeliveryEvent *prepareReply(QDBusConnectionPrivate *target, QObject *object,
int idx, const QList<int> &metaTypes,
const QDBusMessage &msg);
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index 31588e7..1842e5a 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -552,6 +552,9 @@ bool QDBusConnectionPrivate::handleMessage(const QDBusMessage &amsg)
(*(*list)[i])(amsg);
}
+ if (!ref)
+ return false;
+
switch (amsg.type()) {
case QDBusMessage::SignalMessage:
handleSignal(amsg);
@@ -713,6 +716,8 @@ static int findSlot(const QMetaObject *mo, const QByteArray &name, int flags,
return -1;
}
+static QDBusCallDeliveryEvent * const DIRECT_DELIVERY = (QDBusCallDeliveryEvent *)1;
+
QDBusCallDeliveryEvent* QDBusConnectionPrivate::prepareReply(QDBusConnectionPrivate *target,
QObject *object, int idx,
const QList<int> &metaTypes,
@@ -736,6 +741,8 @@ QDBusCallDeliveryEvent* QDBusConnectionPrivate::prepareReply(QDBusConnectionPriv
// we can deliver
// prepare for the call
+ if (target == object)
+ return DIRECT_DELIVERY;
return new QDBusCallDeliveryEvent(QDBusConnection(target), idx, target, msg, metaTypes);
}
@@ -750,6 +757,12 @@ void QDBusConnectionPrivate::activateSignal(const QDBusConnectionPrivate::Signal
// Slots can optionally have one final parameter that is a QDBusMessage
// Slots receive read-only copies of the message (i.e., pass by value or by const-ref)
QDBusCallDeliveryEvent *call = prepareReply(this, hook.obj, hook.midx, hook.params, msg);
+ if (call == DIRECT_DELIVERY) {
+ // short-circuit delivery
+ Q_ASSERT(this == hook.obj);
+ deliverCall(this, 0, msg, hook.params, hook.midx);
+ return;
+ }
if (call)
postEventToThread(ActivateSignalAction, hook.obj, call);
}
@@ -801,7 +814,7 @@ bool QDBusConnectionPrivate::activateCall(QObject* object, int flags, const QDBu
++cacheIt;
if (cacheIt == slotCache.hash.constEnd() || cacheIt.key() != cacheKey)
{
- // not cached, analyse the meta object
+ // not cached, analyze the meta object
const QMetaObject *mo = object->metaObject();
QByteArray memberName = msg.member().toUtf8();
@@ -1207,11 +1220,11 @@ void QDBusConnectionPrivate::relaySignal(QObject *obj, const QMetaObject *mo, in
q_dbus_message_unref(msg);
}
-void QDBusConnectionPrivate::_q_serviceOwnerChanged(const QString &name,
- const QString &oldOwner, const QString &newOwner)
+void QDBusConnectionPrivate::serviceOwnerChangedNoLock(const QString &name,
+ const QString &oldOwner, const QString &newOwner)
{
Q_UNUSED(oldOwner);
- QDBusWriteLocker locker(UpdateSignalHookOwnerAction, this);
+// QDBusWriteLocker locker(UpdateSignalHookOwnerAction, this);
WatchedServicesHash::Iterator it = watchedServices.find(name);
if (it == watchedServices.end())
return;
@@ -1686,11 +1699,11 @@ void QDBusConnectionPrivate::setConnection(DBusConnection *dbc, const QDBusError
hook.obj = this;
hook.params << QMetaType::Void << QVariant::String; // both functions take a QString as parameter and return void
- hook.midx = staticMetaObject.indexOfSlot("registerService(QString)");
+ hook.midx = staticMetaObject.indexOfSlot("registerServiceNoLock(QString)");
Q_ASSERT(hook.midx != -1);
signalHooks.insert(QLatin1String("NameAcquired:" DBUS_INTERFACE_DBUS), hook);
- hook.midx = staticMetaObject.indexOfSlot("unregisterService(QString)");
+ hook.midx = staticMetaObject.indexOfSlot("unregisterServiceNoLock(QString)");
Q_ASSERT(hook.midx != -1);
signalHooks.insert(QLatin1String("NameLost:" DBUS_INTERFACE_DBUS), hook);
@@ -2081,7 +2094,7 @@ void QDBusConnectionPrivate::connectSignal(const QString &key, const SignalHook
// we need to watch for this service changing
connectSignal(dbusServiceString(), QString(), dbusInterfaceString(),
QLatin1String("NameOwnerChanged"), QStringList() << hook.service, QString(),
- this, SLOT(_q_serviceOwnerChanged(QString,QString,QString)));
+ this, SLOT(serviceOwnerChangedNoLock(QString,QString,QString)));
data.owner = getNameOwnerNoCache(hook.service);
qDBusDebug() << this << "Watching service" << hook.service << "for owner changes (current owner:"
<< data.owner << ")";
@@ -2342,12 +2355,22 @@ QDBusConnectionPrivate::findMetaObject(const QString &service, const QString &pa
void QDBusConnectionPrivate::registerService(const QString &serviceName)
{
QDBusWriteLocker locker(RegisterServiceAction, this);
+ registerServiceNoLock(serviceName);
+}
+
+void QDBusConnectionPrivate::registerServiceNoLock(const QString &serviceName)
+{
serviceNames.append(serviceName);
}
void QDBusConnectionPrivate::unregisterService(const QString &serviceName)
{
QDBusWriteLocker locker(UnregisterServiceAction, this);
+ unregisterServiceNoLock(serviceName);
+}
+
+void QDBusConnectionPrivate::unregisterServiceNoLock(const QString &serviceName)
+{
serviceNames.removeAll(serviceName);
}
diff --git a/src/dbus/qdbusmarshaller.cpp b/src/dbus/qdbusmarshaller.cpp
index 8b174a1..e620152 100644
--- a/src/dbus/qdbusmarshaller.cpp
+++ b/src/dbus/qdbusmarshaller.cpp
@@ -507,7 +507,7 @@ bool QDBusMarshaller::appendCrossMarshalling(QDBusDemarshaller *demarshaller)
if (code == DBUS_TYPE_ARRAY) {
int element = q_dbus_message_iter_get_element_type(&demarshaller->iterator);
if (q_dbus_type_is_fixed(element)) {
- // another optimisation: fixed size arrays
+ // another optimization: fixed size arrays
// code is exactly like QDBusDemarshaller::toByteArray
DBusMessageIter sub;
q_dbus_message_iter_recurse(&demarshaller->iterator, &sub);
diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp
index d838e37..10b2768 100644
--- a/src/dbus/qdbusmessage.cpp
+++ b/src/dbus/qdbusmessage.cpp
@@ -292,7 +292,7 @@ QDBusMessage QDBusMessagePrivate::makeLocal(const QDBusConnectionPrivate &conn,
}
// no complex types seen
- // optimise by using the variant list itself
+ // optimize by using the variant list itself
QDBusMessage retval;
QDBusMessagePrivate *d = retval.d_ptr;
d->arguments = asSent.d_ptr->arguments;
@@ -452,7 +452,7 @@ QDBusMessage QDBusMessage::createReply(const QVariantList &arguments) const
d_ptr->localReply = new QDBusMessage(reply); // keep an internal copy
}
- // the reply must have a msg or be a local-loop optimisation
+ // the reply must have a msg or be a local-loop optimization
Q_ASSERT(reply.d_ptr->reply || reply.d_ptr->localMessage);
return reply;
}
@@ -471,7 +471,7 @@ QDBusMessage QDBusMessage::createErrorReply(const QString name, const QString &m
d_ptr->localReply = new QDBusMessage(reply); // keep an internal copy
}
- // the reply must have a msg or be a local-loop optimisation
+ // the reply must have a msg or be a local-loop optimization
Q_ASSERT(reply.d_ptr->reply || reply.d_ptr->localMessage);
return reply;
}
diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp
index cb377cb..821a227 100644
--- a/src/dbus/qdbusmetatype.cpp
+++ b/src/dbus/qdbusmetatype.cpp
@@ -242,7 +242,7 @@ bool QDBusMetaType::marshall(QDBusArgument &arg, int id, const void *data)
QReadLocker locker(customTypesLock());
QVector<QDBusCustomTypeInfo> *ct = customTypes();
if (id >= ct->size())
- return false; // non-existant
+ return false; // non-existent
const QDBusCustomTypeInfo &info = (*ct).at(id);
if (!info.marshall) {
@@ -271,7 +271,7 @@ bool QDBusMetaType::demarshall(const QDBusArgument &arg, int id, void *data)
QReadLocker locker(customTypesLock());
QVector<QDBusCustomTypeInfo> *ct = customTypes();
if (id >= ct->size())
- return false; // non-existant
+ return false; // non-existent
const QDBusCustomTypeInfo &info = (*ct).at(id);
if (!info.demarshall) {
diff --git a/src/dbus/qdbuspendingreply.h b/src/dbus/qdbuspendingreply.h
index 61e561e..918a46c 100644
--- a/src/dbus/qdbuspendingreply.h
+++ b/src/dbus/qdbuspendingreply.h
@@ -85,7 +85,7 @@ namespace QDBusPendingReplyTypes {
template<typename T1> inline int metaTypeFor(T1 * = 0)
{ return qMetaTypeId<T1>(); }
- // specialise for QVariant, allowing it to be used in place of QDBusVariant
+ // specialize for QVariant, allowing it to be used in place of QDBusVariant
template<> inline int metaTypeFor<QVariant>(QVariant *)
{ return qMetaTypeId<QDBusVariant>(); }
diff --git a/src/dbus/qdbusutil.cpp b/src/dbus/qdbusutil.cpp
index 2fcdc73..b7b0407 100644
--- a/src/dbus/qdbusutil.cpp
+++ b/src/dbus/qdbusutil.cpp
@@ -309,7 +309,7 @@ namespace QDBusUtil
Returns true if \a connName is a valid unique connection name.
Unique connection names start with a colon (":") and are followed by a list of dot-separated
- components composed of ASCII letters, digits, the hypen or the underscore ("_") character.
+ components composed of ASCII letters, digits, the hyphen or the underscore ("_") character.
*/
bool isValidUniqueConnectionName(const QString &connName)
{
diff --git a/src/declarative/debugger/qdeclarativedebug_p.h b/src/declarative/debugger/qdeclarativedebug_p.h
index 3d83e8a..9b8572b 100644
--- a/src/declarative/debugger/qdeclarativedebug_p.h
+++ b/src/declarative/debugger/qdeclarativedebug_p.h
@@ -45,6 +45,8 @@
#include <QtCore/qurl.h>
#include <QtCore/qvariant.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -65,7 +67,7 @@ class QDeclarativeDebugObjectReference;
class QDeclarativeDebugFileReference;
class QDeclarativeDebugEngineReference;
class QDeclarativeEngineDebugPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeEngineDebug : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeEngineDebug : public QObject
{
Q_OBJECT
public:
@@ -111,7 +113,7 @@ private:
Q_DECLARE_PRIVATE(QDeclarativeEngineDebug)
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugWatch : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugWatch : public QObject
{
Q_OBJECT
public:
@@ -142,7 +144,7 @@ private:
int m_objectDebugId;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugPropertyWatch : public QDeclarativeDebugWatch
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugPropertyWatch : public QDeclarativeDebugWatch
{
Q_OBJECT
public:
@@ -155,7 +157,7 @@ private:
QString m_name;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugObjectExpressionWatch : public QDeclarativeDebugWatch
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugObjectExpressionWatch : public QDeclarativeDebugWatch
{
Q_OBJECT
public:
@@ -170,7 +172,7 @@ private:
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugQuery : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugQuery : public QObject
{
Q_OBJECT
public:
@@ -194,7 +196,7 @@ private:
State m_state;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugFileReference
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugFileReference
{
public:
QDeclarativeDebugFileReference();
@@ -215,7 +217,7 @@ private:
int m_columnNumber;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugEngineReference
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugEngineReference
{
public:
QDeclarativeDebugEngineReference();
@@ -232,7 +234,7 @@ private:
QString m_name;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugObjectReference
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugObjectReference
{
public:
QDeclarativeDebugObjectReference();
@@ -263,7 +265,7 @@ private:
QList<QDeclarativeDebugObjectReference> m_children;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugContextReference
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugContextReference
{
public:
QDeclarativeDebugContextReference();
@@ -284,7 +286,7 @@ private:
QList<QDeclarativeDebugContextReference> m_contexts;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugPropertyReference
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugPropertyReference
{
public:
QDeclarativeDebugPropertyReference();
@@ -309,7 +311,7 @@ private:
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugEnginesQuery : public QDeclarativeDebugQuery
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugEnginesQuery : public QDeclarativeDebugQuery
{
Q_OBJECT
public:
@@ -324,7 +326,7 @@ private:
QList<QDeclarativeDebugEngineReference> m_engines;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugRootContextQuery : public QDeclarativeDebugQuery
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugRootContextQuery : public QDeclarativeDebugQuery
{
Q_OBJECT
public:
@@ -339,7 +341,7 @@ private:
QDeclarativeDebugContextReference m_context;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugObjectQuery : public QDeclarativeDebugQuery
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugObjectQuery : public QDeclarativeDebugQuery
{
Q_OBJECT
public:
@@ -355,7 +357,7 @@ private:
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugExpressionQuery : public QDeclarativeDebugQuery
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugExpressionQuery : public QDeclarativeDebugQuery
{
Q_OBJECT
public:
diff --git a/src/declarative/debugger/qdeclarativedebugclient.cpp b/src/declarative/debugger/qdeclarativedebugclient.cpp
index 977e58e..f5c5751 100644
--- a/src/declarative/debugger/qdeclarativedebugclient.cpp
+++ b/src/declarative/debugger/qdeclarativedebugclient.cpp
@@ -93,7 +93,7 @@ QDeclarativeDebugConnectionPrivate::QDeclarativeDebugConnectionPrivate(QDeclarat
void QDeclarativeDebugConnectionPrivate::advertisePlugins()
{
- if (!q->isConnected() || !gotHello)
+ if (!q->isConnected())
return;
QPacket pack;
diff --git a/src/declarative/debugger/qdeclarativedebugclient_p.h b/src/declarative/debugger/qdeclarativedebugclient_p.h
index 8d1706d..47f87a5 100644
--- a/src/declarative/debugger/qdeclarativedebugclient_p.h
+++ b/src/declarative/debugger/qdeclarativedebugclient_p.h
@@ -44,6 +44,8 @@
#include <QtNetwork/qtcpsocket.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -51,7 +53,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativeDebugConnectionPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugConnection : public QTcpSocket
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugConnection : public QTcpSocket
{
Q_OBJECT
Q_DISABLE_COPY(QDeclarativeDebugConnection)
@@ -67,7 +69,7 @@ private:
};
class QDeclarativeDebugClientPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugClient : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugClient : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeDebugClient)
diff --git a/src/declarative/debugger/qdeclarativedebuggerstatus_p.h b/src/declarative/debugger/qdeclarativedebuggerstatus_p.h
index a3ba40a..a1499d8 100644
--- a/src/declarative/debugger/qdeclarativedebuggerstatus_p.h
+++ b/src/declarative/debugger/qdeclarativedebuggerstatus_p.h
@@ -44,13 +44,15 @@
#include <QtCore/qobject.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-class Q_DECLARATIVE_EXPORT QDeclarativeDebuggerStatus
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebuggerStatus
{
public:
virtual ~QDeclarativeDebuggerStatus();
diff --git a/src/declarative/debugger/qdeclarativedebughelper.cpp b/src/declarative/debugger/qdeclarativedebughelper.cpp
index 207ad2b..b003c12 100644
--- a/src/declarative/debugger/qdeclarativedebughelper.cpp
+++ b/src/declarative/debugger/qdeclarativedebughelper.cpp
@@ -48,6 +48,7 @@
#include <private/qdeclarativeengine_p.h>
#include <private/qabstractanimation_p.h>
+#include <private/qdeclarativeengine_p.h>
QT_BEGIN_NAMESPACE
@@ -63,4 +64,11 @@ void QDeclarativeDebugHelper::setAnimationSlowDownFactor(qreal factor)
timer->setSlowdownFactor(factor);
}
+void QDeclarativeDebugHelper::enableDebugging() {
+ if (!QDeclarativeEnginePrivate::qml_debugging_enabled) {
+ qWarning("Qml debugging is enabled. Only use this in a safe environment!");
+ }
+ QDeclarativeEnginePrivate::qml_debugging_enabled = true;
+}
+
QT_END_NAMESPACE
diff --git a/src/declarative/debugger/qdeclarativedebughelper_p.h b/src/declarative/debugger/qdeclarativedebughelper_p.h
index c9cb839..fcd7115 100644
--- a/src/declarative/debugger/qdeclarativedebughelper_p.h
+++ b/src/declarative/debugger/qdeclarativedebughelper_p.h
@@ -44,6 +44,8 @@
#include <QtCore/qglobal.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -58,6 +60,10 @@ class Q_DECLARATIVE_EXPORT QDeclarativeDebugHelper
public:
static QScriptEngine *getScriptEngine(QDeclarativeEngine *engine);
static void setAnimationSlowDownFactor(qreal factor);
+
+ // Enables remote debugging functionality
+ // Only use this for debugging in a safe environment!
+ static void enableDebugging();
};
QT_END_NAMESPACE
diff --git a/src/declarative/debugger/qdeclarativedebugservice.cpp b/src/declarative/debugger/qdeclarativedebugservice.cpp
index b98cd5d..8c86ae8 100644
--- a/src/declarative/debugger/qdeclarativedebugservice.cpp
+++ b/src/declarative/debugger/qdeclarativedebugservice.cpp
@@ -42,6 +42,7 @@
#include "private/qdeclarativedebugservice_p.h"
#include "private/qpacketprotocol_p.h"
+#include "private/qdeclarativeengine_p.h"
#include <QtCore/qdebug.h>
#include <QtNetwork/qtcpserver.h>
@@ -204,13 +205,19 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
bool ok = false;
// format: qmljsdebugger=port:3768[,block]
- if (!appD->qmljsDebugArguments.isEmpty()) {
+ if (!appD->qmljsDebugArgumentsString().isEmpty()) {
+ if (!QDeclarativeEnginePrivate::qml_debugging_enabled) {
+ qWarning() << QString::fromLatin1("QDeclarativeDebugServer: Ignoring \"-qmljsdebugger=%1\". "
+ "Debugging has not been enabled.").arg(
+ appD->qmljsDebugArgumentsString()).toAscii().constData();
+ return 0;
+ }
- if (appD->qmljsDebugArguments.indexOf(QLatin1String("port:")) == 0) {
- int separatorIndex = appD->qmljsDebugArguments.indexOf(QLatin1Char(','));
- port = appD->qmljsDebugArguments.mid(5, separatorIndex - 5).toInt(&ok);
+ if (appD->qmljsDebugArgumentsString().indexOf(QLatin1String("port:")) == 0) {
+ int separatorIndex = appD->qmljsDebugArgumentsString().indexOf(QLatin1Char(','));
+ port = appD->qmljsDebugArgumentsString().mid(5, separatorIndex - 5).toInt(&ok);
}
- block = appD->qmljsDebugArguments.contains(QLatin1String("block"));
+ block = appD->qmljsDebugArgumentsString().contains(QLatin1String("block"));
if (ok) {
server = new QDeclarativeDebugServer(port);
@@ -221,7 +228,7 @@ QDeclarativeDebugServer *QDeclarativeDebugServer::instance()
} else {
qWarning(QString::fromAscii("QDeclarativeDebugServer: Ignoring \"-qmljsdebugger=%1\". "
"Format is -qmljsdebugger=port:<port>[,block]").arg(
- appD->qmljsDebugArguments).toAscii().constData());
+ appD->qmljsDebugArgumentsString()).toAscii().constData());
}
}
#endif
diff --git a/src/declarative/debugger/qdeclarativedebugservice_p.h b/src/declarative/debugger/qdeclarativedebugservice_p.h
index 0cadbe5..da27b9a 100644
--- a/src/declarative/debugger/qdeclarativedebugservice_p.h
+++ b/src/declarative/debugger/qdeclarativedebugservice_p.h
@@ -44,6 +44,8 @@
#include <QtCore/qobject.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -51,7 +53,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativeDebugServicePrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDebugService : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDebugService : public QObject
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeDebugService)
diff --git a/src/declarative/debugger/qpacketprotocol_p.h b/src/declarative/debugger/qpacketprotocol_p.h
index cfdce4e..d153833 100644
--- a/src/declarative/debugger/qpacketprotocol_p.h
+++ b/src/declarative/debugger/qpacketprotocol_p.h
@@ -45,6 +45,8 @@
#include <QtCore/qobject.h>
#include <QtCore/qdatastream.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -57,7 +59,7 @@ class QPacket;
class QPacketAutoSend;
class QPacketProtocolPrivate;
-class Q_DECLARATIVE_EXPORT QPacketProtocol : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QPacketProtocol : public QObject
{
Q_OBJECT
public:
@@ -87,7 +89,7 @@ private:
};
-class Q_DECLARATIVE_EXPORT QPacket : public QDataStream
+class Q_DECLARATIVE_PRIVATE_EXPORT QPacket : public QDataStream
{
public:
QPacket();
@@ -104,7 +106,7 @@ protected:
QBuffer * buf;
};
-class Q_DECLARATIVE_EXPORT QPacketAutoSend : public QPacket
+class Q_DECLARATIVE_PRIVATE_EXPORT QPacketAutoSend : public QPacket
{
public:
virtual ~QPacketAutoSend();
diff --git a/src/declarative/graphicsitems/qdeclarativeanchors.cpp b/src/declarative/graphicsitems/qdeclarativeanchors.cpp
index 26fb97f..c96ca0e 100644
--- a/src/declarative/graphicsitems/qdeclarativeanchors.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeanchors.cpp
@@ -272,7 +272,7 @@ void QDeclarativeAnchorsPrivate::addDepend(QGraphicsObject *item)
} else if(itemPrivate->isWidget) {
Q_Q(QDeclarativeAnchors);
QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);
- QObject::connect(widget, SIGNAL(destroyed(QObject *)), q, SLOT(_q_widgetDestroyed(QObject *)));
+ QObject::connect(widget, SIGNAL(destroyed(QObject*)), q, SLOT(_q_widgetDestroyed(QObject*)));
QObject::connect(widget, SIGNAL(geometryChanged()), q, SLOT(_q_widgetGeometryChanged()));
}
}
@@ -289,7 +289,7 @@ void QDeclarativeAnchorsPrivate::remDepend(QGraphicsObject *item)
} else if(itemPrivate->isWidget) {
Q_Q(QDeclarativeAnchors);
QGraphicsWidget *widget = static_cast<QGraphicsWidget *>(item);
- QObject::disconnect(widget, SIGNAL(destroyed(QObject *)), q, SLOT(_q_widgetDestroyed(QObject *)));
+ QObject::disconnect(widget, SIGNAL(destroyed(QObject*)), q, SLOT(_q_widgetDestroyed(QObject*)));
QObject::disconnect(widget, SIGNAL(geometryChanged()), q, SLOT(_q_widgetGeometryChanged()));
}
}
diff --git a/src/declarative/graphicsitems/qdeclarativeanchors_p.h b/src/declarative/graphicsitems/qdeclarativeanchors_p.h
index c929797..8223b17 100644
--- a/src/declarative/graphicsitems/qdeclarativeanchors_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeanchors_p.h
@@ -48,6 +48,8 @@
#include <QtCore/QObject>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -56,7 +58,7 @@ QT_MODULE(Declarative)
class QDeclarativeAnchorsPrivate;
class QDeclarativeAnchorLine;
-class Q_DECLARATIVE_EXPORT QDeclarativeAnchors : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeAnchors : public QObject
{
Q_OBJECT
diff --git a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
index c58a08d..649c8fb 100644
--- a/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeborderimage.cpp
@@ -361,6 +361,8 @@ QDeclarativeScaleGrid *QDeclarativeBorderImage::border()
\o BorderImage.Repeat - Tile the image until there is no more space. May crop the last image.
\o BorderImage.Round - Like Repeat, but scales the images down to ensure that the last image is not cropped.
\endlist
+
+ The default tile mode for each property is BorderImage.Stretch.
*/
QDeclarativeBorderImage::TileMode QDeclarativeBorderImage::horizontalTileMode() const
{
diff --git a/src/declarative/graphicsitems/qdeclarativeevents.cpp b/src/declarative/graphicsitems/qdeclarativeevents.cpp
index 61fd562..4b5e777 100644
--- a/src/declarative/graphicsitems/qdeclarativeevents.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeevents.cpp
@@ -108,6 +108,34 @@ Item {
so that ancestor items do not also respond to the same event.
*/
+/*!
+ \qmlproperty int KeyEvent::modifiers
+
+ This property holds the keyboard modifier flags that existed immediately
+ before the event occurred.
+
+ It contains a bitwise combination of:
+ \list
+ \o Qt.NoModifier - No modifier key is pressed.
+ \o Qt.ShiftModifier - A Shift key on the keyboard is pressed.
+ \o Qt.ControlModifier - A Ctrl key on the keyboard is pressed.
+ \o Qt.AltModifier - An Alt key on the keyboard is pressed.
+ \o Qt.MetaModifier - A Meta key on the keyboard is pressed.
+ \o Qt.KeypadModifier - A keypad button is pressed.
+ \endlist
+
+ For example, to react to a Shift key + Enter key combination:
+ \qml
+ Item {
+ focus: true
+ Keys.onPressed: {
+ if ((event.key == Qt.Key_Enter) && (event.modifiers & Qt.ShiftModifier))
+ doSomething();
+ }
+ }
+ \endqml
+*/
+
/*!
\qmlclass MouseEvent QDeclarativeMouseEvent
@@ -199,7 +227,7 @@ Item {
\qml
MouseArea {
onClicked: {
- if (mouse.button == Qt.LeftButton && mouse.modifiers & Qt.ShiftModifier)
+ if ((mouse.button == Qt.LeftButton) && (mouse.modifiers & Qt.ShiftModifier))
doSomething();
}
}
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable.cpp b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
index 001abca..377f3b5 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflickable.cpp
@@ -53,9 +53,6 @@ QT_BEGIN_NAMESPACE
// before we perform a flick.
static const int FlickThreshold = 20;
-// Really slow flicks can be annoying.
-static const int MinimumFlickVelocity = 75;
-
QDeclarativeFlickableVisibleArea::QDeclarativeFlickableVisibleArea(QDeclarativeFlickable *parent)
: QObject(parent), flickable(parent), m_xPosition(0.), m_widthRatio(0.)
, m_yPosition(0.), m_heightRatio(0.)
@@ -85,7 +82,11 @@ qreal QDeclarativeFlickableVisibleArea::yPosition() const
void QDeclarativeFlickableVisibleArea::updateVisible()
{
QDeclarativeFlickablePrivate *p = static_cast<QDeclarativeFlickablePrivate *>(QGraphicsItemPrivate::get(flickable));
- bool pageChange = false;
+
+ bool changeX = false;
+ bool changeY = false;
+ bool changeWidth = false;
+ bool changeHeight = false;
// Vertical
const qreal viewheight = flickable->height();
@@ -95,11 +96,11 @@ void QDeclarativeFlickableVisibleArea::updateVisible()
if (pageSize != m_heightRatio) {
m_heightRatio = pageSize;
- pageChange = true;
+ changeHeight = true;
}
if (pagePos != m_yPosition) {
m_yPosition = pagePos;
- pageChange = true;
+ changeY = true;
}
// Horizontal
@@ -110,14 +111,21 @@ void QDeclarativeFlickableVisibleArea::updateVisible()
if (pageSize != m_widthRatio) {
m_widthRatio = pageSize;
- pageChange = true;
+ changeWidth = true;
}
if (pagePos != m_xPosition) {
m_xPosition = pagePos;
- pageChange = true;
+ changeX = true;
}
- if (pageChange)
- emit pageChanged();
+
+ if (changeX)
+ emit xPositionChanged(m_xPosition);
+ if (changeY)
+ emit yPositionChanged(m_yPosition);
+ if (changeWidth)
+ emit widthRatioChanged(m_widthRatio);
+ if (changeHeight)
+ emit heightRatioChanged(m_heightRatio);
}
@@ -273,7 +281,6 @@ void QDeclarativeFlickablePrivate::fixupY()
void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal maxExtent)
{
- Q_Q(QDeclarativeFlickable);
if (data.move.value() > minExtent || maxExtent > minExtent) {
timeline.reset(data.move);
if (data.move.value() != minExtent) {
@@ -282,8 +289,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal
timeline.move(data.move, minExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
timeline.move(data.move, minExtent, QEasingCurve(QEasingCurve::OutExpo), 3*fixupDuration/4);
} else {
- data.move.setValue(minExtent);
- q->viewportMoved();
+ timeline.set(data.move, minExtent);
}
}
} else if (data.move.value() < maxExtent) {
@@ -293,8 +299,7 @@ void QDeclarativeFlickablePrivate::fixup(AxisData &data, qreal minExtent, qreal
timeline.move(data.move, maxExtent - dist/2, QEasingCurve(QEasingCurve::InQuad), fixupDuration/4);
timeline.move(data.move, maxExtent, QEasingCurve(QEasingCurve::OutExpo), 3*fixupDuration/4);
} else {
- data.move.setValue(maxExtent);
- q->viewportMoved();
+ timeline.set(data.move, minExtent);
}
}
vTime = timeline.time();
@@ -378,6 +383,13 @@ void QDeclarativeFlickablePrivate::updateBeginningEnd()
\snippet doc/src/snippets/declarative/flickable.qml document
\clearfloat
+
+ Items declared as children of a Flickable are automatically parented to the
+ Flickable's \l contentItem. This should be taken into account when
+ operating on the children of the Flickable; it is usually the children of
+ \c contentItem that are relevant. For example, the bound of Items added
+ to the Flickable will be available by \c contentItem.childrenRect
+
\section1 Limitations
\note Due to an implementation detail, items placed inside a Flickable cannot anchor to it by
@@ -472,9 +484,9 @@ qreal QDeclarativeFlickable::contentX() const
void QDeclarativeFlickable::setContentX(qreal pos)
{
Q_D(QDeclarativeFlickable);
- pos = qRound(pos);
d->timeline.reset(d->hData.move);
d->vTime = d->timeline.time();
+ movementXEnding();
if (-pos != d->hData.move.value()) {
d->hData.move.setValue(-pos);
viewportMoved();
@@ -490,9 +502,9 @@ qreal QDeclarativeFlickable::contentY() const
void QDeclarativeFlickable::setContentY(qreal pos)
{
Q_D(QDeclarativeFlickable);
- pos = qRound(pos);
d->timeline.reset(d->vData.move);
d->vTime = d->timeline.time();
+ movementYEnding();
if (-pos != d->vData.move.value()) {
d->vData.move.setValue(-pos);
viewportMoved();
@@ -688,6 +700,9 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
bool rejectY = false;
bool rejectX = false;
+ bool stealY = false;
+ bool stealX = false;
+
if (q->yflick()) {
int dy = int(event->pos().y() - pressPos.y());
if (qAbs(dy) > QApplication::startDragDistance() || QDeclarativeItemPrivate::elapsed(pressTime) > 200) {
@@ -716,7 +731,7 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
vMoved = true;
}
if (qAbs(dy) > QApplication::startDragDistance())
- stealMouse = true;
+ stealY = true;
}
}
@@ -749,10 +764,12 @@ void QDeclarativeFlickablePrivate::handleMouseMoveEvent(QGraphicsSceneMouseEvent
}
if (qAbs(dx) > QApplication::startDragDistance())
- stealMouse = true;
+ stealX = true;
}
}
+ stealMouse = stealX || stealY;
+
if (!lastPos.isNull()) {
qreal elapsed = qreal(QDeclarativeItemPrivate::restart(lastPosTime)) / 1000.;
if (elapsed <= 0)
@@ -979,8 +996,8 @@ void QDeclarativeFlickable::viewportMoved()
{
Q_D(QDeclarativeFlickable);
- qreal prevY = d->lastFlickablePosition.x();
- qreal prevX = d->lastFlickablePosition.y();
+ qreal prevX = d->lastFlickablePosition.x();
+ qreal prevY = d->lastFlickablePosition.y();
d->velocityTimeline.clear();
if (d->pressed || d->calcVelocity) {
int elapsed = QDeclarativeItemPrivate::restart(d->velocityTime);
@@ -1001,7 +1018,7 @@ void QDeclarativeFlickable::viewportMoved()
}
}
- d->lastFlickablePosition = QPointF(d->vData.move.value(), d->hData.move.value());
+ d->lastFlickablePosition = QPointF(d->hData.move.value(), d->vData.move.value());
d->vTime = d->timeline.time();
d->updateBeginningEnd();
@@ -1021,6 +1038,13 @@ void QDeclarativeFlickable::geometryChanged(const QRectF &newGeometry,
d->contentItem->setWidth(width());
emit contentWidthChanged();
}
+ // Make sure that we're entirely in view.
+ if (!d->pressed && !d->movingHorizontally && !d->movingVertically) {
+ int oldDuration = d->fixupDuration;
+ d->fixupDuration = 0;
+ d->fixupX();
+ d->fixupDuration = oldDuration;
+ }
}
if (newGeometry.height() != oldGeometry.height()) {
if (yflick())
@@ -1029,6 +1053,13 @@ void QDeclarativeFlickable::geometryChanged(const QRectF &newGeometry,
d->contentItem->setHeight(height());
emit contentHeightChanged();
}
+ // Make sure that we're entirely in view.
+ if (!d->pressed && !d->movingHorizontally && !d->movingVertically) {
+ int oldDuration = d->fixupDuration;
+ d->fixupDuration = 0;
+ d->fixupY();
+ d->fixupDuration = oldDuration;
+ }
}
if (changed)
@@ -1171,19 +1202,18 @@ void QDeclarativeFlickable::setBoundsBehavior(BoundsBehavior b)
\qmlproperty real Flickable::contentWidth
\qmlproperty real Flickable::contentHeight
- The dimensions of the content (the surface controlled by Flickable). Typically this
- should be set to the combined size of the items placed in the Flickable. Note this
- can be set automatically using \l {Item::childrenRect.width}{childrenRect.width}
- and \l {Item::childrenRect.height}{childrenRect.height}. For example:
+ The dimensions of the content (the surface controlled by Flickable).
+ This should typically be set to the combined size of the items placed in the
+ Flickable.
- \code
- Flickable {
- width: 320; height: 480
- contentWidth: childrenRect.width; contentHeight: childrenRect.height
+ The following snippet shows how these properties are used to display
+ an image that is larger than the Flickable item itself:
- Image { id: image; source: "bigImage.png" }
- }
- \endcode
+ \snippet doc/src/snippets/declarative/flickable.qml document
+
+ In some cases, the the content dimensions can be automatically set
+ using the \l {Item::childrenRect.width}{childrenRect.width}
+ and \l {Item::childrenRect.height}{childrenRect.height} properties.
*/
qreal QDeclarativeFlickable::contentWidth() const
{
@@ -1505,6 +1535,15 @@ void QDeclarativeFlickable::movementStarting()
void QDeclarativeFlickable::movementEnding()
{
Q_D(QDeclarativeFlickable);
+ movementXEnding();
+ movementYEnding();
+ d->hData.smoothVelocity.setValue(0);
+ d->vData.smoothVelocity.setValue(0);
+}
+
+void QDeclarativeFlickable::movementXEnding()
+{
+ Q_D(QDeclarativeFlickable);
if (d->flickingHorizontally) {
d->flickingHorizontally = false;
emit flickingChanged();
@@ -1512,13 +1551,6 @@ void QDeclarativeFlickable::movementEnding()
if (!d->flickingVertically)
emit flickEnded();
}
- if (d->flickingVertically) {
- d->flickingVertically = false;
- emit flickingChanged();
- emit flickingVerticallyChanged();
- if (!d->flickingHorizontally)
- emit flickEnded();
- }
if (!d->pressed && !d->stealMouse) {
if (d->movingHorizontally) {
d->movingHorizontally = false;
@@ -1528,6 +1560,20 @@ void QDeclarativeFlickable::movementEnding()
if (!d->movingVertically)
emit movementEnded();
}
+ }
+}
+
+void QDeclarativeFlickable::movementYEnding()
+{
+ Q_D(QDeclarativeFlickable);
+ if (d->flickingVertically) {
+ d->flickingVertically = false;
+ emit flickingChanged();
+ emit flickingVerticallyChanged();
+ if (!d->flickingHorizontally)
+ emit flickEnded();
+ }
+ if (!d->pressed && !d->stealMouse) {
if (d->movingVertically) {
d->movingVertically = false;
d->vMoved = false;
@@ -1537,8 +1583,6 @@ void QDeclarativeFlickable::movementEnding()
emit movementEnded();
}
}
- d->hData.smoothVelocity.setValue(0);
- d->vData.smoothVelocity.setValue(0);
}
void QDeclarativeFlickablePrivate::updateVelocity()
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p.h
index 44f2bcf..6e4d8ed 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p.h
@@ -163,7 +163,6 @@ Q_SIGNALS:
void horizontalVelocityChanged();
void verticalVelocityChanged();
void isAtBoundaryChanged();
- void pageChanged();
void flickableDirectionChanged();
void interactiveChanged();
void boundsBehaviorChanged();
@@ -191,6 +190,8 @@ protected Q_SLOTS:
void movementEnding();
protected:
+ void movementXEnding();
+ void movementYEnding();
virtual qreal minXExtent() const;
virtual qreal minYExtent() const;
virtual qreal maxXExtent() const;
diff --git a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
index beee741..92cf748 100644
--- a/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeflickable_p_p.h
@@ -66,6 +66,9 @@
QT_BEGIN_NAMESPACE
+// Really slow flicks can be annoying.
+const qreal MinimumFlickVelocity = 75.0;
+
class QDeclarativeFlickableVisibleArea;
class QDeclarativeFlickablePrivate : public QDeclarativeItemPrivate, public QDeclarativeItemChangeListener
{
@@ -182,10 +185,10 @@ class QDeclarativeFlickableVisibleArea : public QObject
{
Q_OBJECT
- Q_PROPERTY(qreal xPosition READ xPosition NOTIFY pageChanged)
- Q_PROPERTY(qreal yPosition READ yPosition NOTIFY pageChanged)
- Q_PROPERTY(qreal widthRatio READ widthRatio NOTIFY pageChanged)
- Q_PROPERTY(qreal heightRatio READ heightRatio NOTIFY pageChanged)
+ Q_PROPERTY(qreal xPosition READ xPosition NOTIFY xPositionChanged)
+ Q_PROPERTY(qreal yPosition READ yPosition NOTIFY yPositionChanged)
+ Q_PROPERTY(qreal widthRatio READ widthRatio NOTIFY widthRatioChanged)
+ Q_PROPERTY(qreal heightRatio READ heightRatio NOTIFY heightRatioChanged)
public:
QDeclarativeFlickableVisibleArea(QDeclarativeFlickable *parent=0);
@@ -198,7 +201,10 @@ public:
void updateVisible();
signals:
- void pageChanged();
+ void xPositionChanged(qreal xPosition);
+ void yPositionChanged(qreal yPosition);
+ void widthRatioChanged(qreal widthRatio);
+ void heightRatioChanged(qreal heightRatio);
private:
QDeclarativeFlickable *flickable;
diff --git a/src/declarative/graphicsitems/qdeclarativeflipable.cpp b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
index 4ecf87b..f118a85 100644
--- a/src/declarative/graphicsitems/qdeclarativeflipable.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeflipable.cpp
@@ -83,27 +83,28 @@ public:
\section1 Example Usage
- \beginfloatright
- \inlineimage flipable.gif
- \endfloat
-
The following example shows a Flipable item that flips whenever it is
clicked, rotating about the y-axis.
- The \l Rotation element is used to specify the angle and axis of the flip.
- When \c flipped is true, the item changes to the "back" state, where
- the angle is changed to 180 degrees to produce the flipping effect.
+ This flipable item has a \c flipped boolean property that is toggled
+ whenever the MouseArea within the flipable is clicked. When
+ \c flipped is true, the item changes to the "back" state; in this
+ state, the \c angle of the \l Rotation item is changed to 180
+ degrees to produce the flipping effect. When \c flipped is false, the
+ item reverts to the default state, in which the \c angle value is 0.
+
+ \snippet doc/src/snippets/declarative/flipable/flipable.qml 0
- \clearfloat
- \snippet doc/src/snippets/declarative/flipable/flipable-snippet.qml 0
+ \image flipable.gif
- The \l Transition creates the animation that changes the angle over the
- duration of one second. When the item changes between its "back" and
+ The \l Transition creates the animation that changes the angle over
+ four seconds. When the item changes between its "back" and
default states, the NumberAnimation animates the angle between
its old and new values.
- See the \l {QML States} and \l {QML Animation} documentation for more
- details on state changes and how animations work within transitions.
+ See \l {QML States} for details on state changes and the default
+ state, and \l {QML Animation} for more information on how animations
+ work within transitions.
\sa {declarative/ui-components/flipable}{Flipable example}
*/
diff --git a/src/declarative/graphicsitems/qdeclarativegridview.cpp b/src/declarative/graphicsitems/qdeclarativegridview.cpp
index 6ee6b0d..6f38f63 100644
--- a/src/declarative/graphicsitems/qdeclarativegridview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativegridview.cpp
@@ -112,7 +112,7 @@ public:
, bufferMode(BufferBefore | BufferAfter), snapMode(QDeclarativeGridView::NoSnap)
, ownModel(false), wrap(false), autoHighlight(true)
, fixCurrentVisibility(false), lazyRelease(false), layoutScheduled(false)
- , deferredRelease(false), haveHighlightRange(false) {}
+ , deferredRelease(false), haveHighlightRange(false), currentIndexCleared(false) {}
void init();
void clear();
@@ -392,6 +392,7 @@ public:
bool layoutScheduled : 1;
bool deferredRelease : 1;
bool haveHighlightRange : 1;
+ bool currentIndexCleared : 1;
};
void QDeclarativeGridViewPrivate::init()
@@ -730,6 +731,8 @@ void QDeclarativeGridViewPrivate::createHighlight()
QDeclarative_setParent_noEvent(item, q->contentItem());
item->setParentItem(q->contentItem());
highlight = new FxGridItem(item, q);
+ if (currentItem)
+ highlight->setPosition(currentItem->colPos(), currentItem->rowPos());
highlightXAnimator = new QSmoothedAnimation(q);
highlightXAnimator->target = QDeclarativeProperty(highlight->item, QLatin1String("x"));
highlightXAnimator->userDuration = highlightMoveDuration;
@@ -771,8 +774,11 @@ void QDeclarativeGridViewPrivate::updateCurrent(int modelIndex)
currentItem->attached->setIsCurrentItem(false);
releaseItem(currentItem);
currentItem = 0;
- currentIndex = -1;
+ currentIndex = modelIndex;
+ emit q->currentIndexChanged();
updateHighlight();
+ } else if (currentIndex != modelIndex) {
+ currentIndex = modelIndex;
emit q->currentIndexChanged();
}
return;
@@ -1211,7 +1217,7 @@ void QDeclarativeGridView::setModel(const QVariant &model)
disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
disconnect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
disconnect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
- disconnect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ disconnect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
disconnect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
}
d->clear();
@@ -1236,7 +1242,7 @@ void QDeclarativeGridView::setModel(const QVariant &model)
d->bufferMode = QDeclarativeGridViewPrivate::BufferBefore | QDeclarativeGridViewPrivate::BufferAfter;
if (isComponentComplete()) {
refill();
- if (d->currentIndex >= d->model->count() || d->currentIndex < 0) {
+ if ((d->currentIndex >= d->model->count() || d->currentIndex < 0) && !d->currentIndexCleared) {
setCurrentIndex(0);
} else {
d->moveReason = QDeclarativeGridViewPrivate::SetIndex;
@@ -1252,7 +1258,7 @@ void QDeclarativeGridView::setModel(const QVariant &model)
connect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
connect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
connect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
- connect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ connect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
connect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
emit countChanged();
}
@@ -1324,7 +1330,8 @@ void QDeclarativeGridView::setDelegate(QDeclarativeComponent *delegate)
\qmlproperty Item GridView::currentItem
The \c currentIndex property holds the index of the current item, and
- \c currentItem holds the current item.
+ \c currentItem holds the current item. Setting the currentIndex to -1
+ will clear the highlight and set currentItem to null.
If highlightFollowsCurrentItem is \c true, setting either of these
properties will smoothly scroll the GridView so that the current
@@ -1344,10 +1351,13 @@ void QDeclarativeGridView::setCurrentIndex(int index)
Q_D(QDeclarativeGridView);
if (d->requestedIndex >= 0) // currently creating item
return;
- if (isComponentComplete() && d->isValid() && index != d->currentIndex && index < d->model->count() && index >= 0) {
+ d->currentIndexCleared = (index == -1);
+ if (index == d->currentIndex)
+ return;
+ if (isComponentComplete() && d->isValid()) {
d->moveReason = QDeclarativeGridViewPrivate::SetIndex;
d->updateCurrent(index);
- } else if (index != d->currentIndex) {
+ } else {
d->currentIndex = index;
emit currentIndexChanged();
}
@@ -1822,6 +1832,8 @@ void QDeclarativeGridView::viewportMoved()
{
Q_D(QDeclarativeGridView);
QDeclarativeFlickable::viewportMoved();
+ if (!d->itemCount)
+ return;
d->lazyRelease = true;
if (d->flickingHorizontally || d->flickingVertically) {
if (yflick()) {
@@ -1983,22 +1995,25 @@ void QDeclarativeGridView::keyPressEvent(QKeyEvent *event)
Move the currentIndex up one item in the view.
The current index will wrap if keyNavigationWraps is true and it
- is currently at the end.
+ is currently at the end. This method has no effect if the \l count is zero.
\bold Note: methods should only be called after the Component has completed.
*/
void QDeclarativeGridView::moveCurrentIndexUp()
{
Q_D(QDeclarativeGridView);
+ const int count = d->model ? d->model->count() : 0;
+ if (!count)
+ return;
if (d->flow == QDeclarativeGridView::LeftToRight) {
if (currentIndex() >= d->columns || d->wrap) {
int index = currentIndex() - d->columns;
- setCurrentIndex(index >= 0 ? index : d->model->count()-1);
+ setCurrentIndex((index >= 0 && index < count) ? index : count-1);
}
} else {
if (currentIndex() > 0 || d->wrap) {
int index = currentIndex() - 1;
- setCurrentIndex(index >= 0 ? index : d->model->count()-1);
+ setCurrentIndex((index >= 0 && index < count) ? index : count-1);
}
}
}
@@ -2008,22 +2023,25 @@ void QDeclarativeGridView::moveCurrentIndexUp()
Move the currentIndex down one item in the view.
The current index will wrap if keyNavigationWraps is true and it
- is currently at the end.
+ is currently at the end. This method has no effect if the \l count is zero.
\bold Note: methods should only be called after the Component has completed.
*/
void QDeclarativeGridView::moveCurrentIndexDown()
{
Q_D(QDeclarativeGridView);
+ const int count = d->model ? d->model->count() : 0;
+ if (!count)
+ return;
if (d->flow == QDeclarativeGridView::LeftToRight) {
- if (currentIndex() < d->model->count() - d->columns || d->wrap) {
+ if (currentIndex() < count - d->columns || d->wrap) {
int index = currentIndex()+d->columns;
- setCurrentIndex(index < d->model->count() ? index : 0);
+ setCurrentIndex((index >= 0 && index < count) ? index : 0);
}
} else {
- if (currentIndex() < d->model->count() - 1 || d->wrap) {
+ if (currentIndex() < count - 1 || d->wrap) {
int index = currentIndex() + 1;
- setCurrentIndex(index < d->model->count() ? index : 0);
+ setCurrentIndex((index >= 0 && index < count) ? index : 0);
}
}
}
@@ -2033,22 +2051,25 @@ void QDeclarativeGridView::moveCurrentIndexDown()
Move the currentIndex left one item in the view.
The current index will wrap if keyNavigationWraps is true and it
- is currently at the end.
+ is currently at the end. This method has no effect if the \l count is zero.
\bold Note: methods should only be called after the Component has completed.
*/
void QDeclarativeGridView::moveCurrentIndexLeft()
{
Q_D(QDeclarativeGridView);
+ const int count = d->model ? d->model->count() : 0;
+ if (!count)
+ return;
if (d->flow == QDeclarativeGridView::LeftToRight) {
if (currentIndex() > 0 || d->wrap) {
int index = currentIndex() - 1;
- setCurrentIndex(index >= 0 ? index : d->model->count()-1);
+ setCurrentIndex((index >= 0 && index < count) ? index : count-1);
}
} else {
if (currentIndex() >= d->columns || d->wrap) {
int index = currentIndex() - d->columns;
- setCurrentIndex(index >= 0 ? index : d->model->count()-1);
+ setCurrentIndex((index >= 0 && index < count) ? index : count-1);
}
}
}
@@ -2058,22 +2079,25 @@ void QDeclarativeGridView::moveCurrentIndexLeft()
Move the currentIndex right one item in the view.
The current index will wrap if keyNavigationWraps is true and it
- is currently at the end.
+ is currently at the end. This method has no effect if the \l count is zero.
\bold Note: methods should only be called after the Component has completed.
*/
void QDeclarativeGridView::moveCurrentIndexRight()
{
Q_D(QDeclarativeGridView);
+ const int count = d->model ? d->model->count() : 0;
+ if (!count)
+ return;
if (d->flow == QDeclarativeGridView::LeftToRight) {
- if (currentIndex() < d->model->count() - 1 || d->wrap) {
+ if (currentIndex() < count - 1 || d->wrap) {
int index = currentIndex() + 1;
- setCurrentIndex(index < d->model->count() ? index : 0);
+ setCurrentIndex((index >= 0 && index < count) ? index : 0);
}
} else {
- if (currentIndex() < d->model->count() - d->columns || d->wrap) {
+ if (currentIndex() < count - d->columns || d->wrap) {
int index = currentIndex()+d->columns;
- setCurrentIndex(index < d->model->count() ? index : 0);
+ setCurrentIndex((index >= 0 && index < count) ? index : 0);
}
}
}
@@ -2201,7 +2225,7 @@ void QDeclarativeGridView::componentComplete()
if (d->isValid()) {
refill();
d->moveReason = QDeclarativeGridViewPrivate::SetIndex;
- if (d->currentIndex < 0)
+ if (d->currentIndex < 0 && !d->currentIndexCleared)
d->updateCurrent(0);
else
d->updateCurrent(d->currentIndex);
@@ -2276,13 +2300,13 @@ void QDeclarativeGridView::itemsInserted(int modelIndex, int count)
return;
if (!d->visibleItems.count() || d->model->count() <= 1) {
d->scheduleLayout();
- if (d->currentIndex >= modelIndex) {
+ if (d->itemCount && d->currentIndex >= modelIndex) {
// adjust current item index
d->currentIndex += count;
if (d->currentItem)
d->currentItem->index = d->currentIndex;
emit currentIndexChanged();
- } else if (d->currentIndex < 0) {
+ } else if (!d->currentIndex || (d->currentIndex < 0 && !d->currentIndexCleared)) {
d->updateCurrent(0);
}
d->itemCount += count;
@@ -2390,7 +2414,7 @@ void QDeclarativeGridView::itemsInserted(int modelIndex, int count)
}
}
- if (d->currentIndex >= modelIndex) {
+ if (d->itemCount && d->currentIndex >= modelIndex) {
// adjust current item index
d->currentIndex += count;
if (d->currentItem) {
@@ -2477,8 +2501,8 @@ void QDeclarativeGridView::itemsRemoved(int modelIndex, int count)
if (removedVisible && d->visibleItems.isEmpty()) {
d->timeline.clear();
- d->setPosition(0);
if (d->itemCount == 0) {
+ d->setPosition(0);
d->updateHeader();
d->updateFooter();
update();
diff --git a/src/declarative/graphicsitems/qdeclarativeimage.cpp b/src/declarative/graphicsitems/qdeclarativeimage.cpp
index 08d237f..3b08a9b 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeimage.cpp
@@ -259,8 +259,10 @@ void QDeclarativeImage::setFillMode(FillMode mode)
\qmlproperty real Image::paintedHeight
These properties hold the size of the image that is actually painted.
- In most cases it is the same as \c width and \c height, but when using a \c fillMode like
- \c PreserveAspectFit \c paintedWidth or \c paintedHeight can be smaller than \c width and \c height.
+ In most cases it is the same as \c width and \c height, but when using a
+ \c fillMode \c PreserveAspectFit or \c fillMode \c PreserveAspectCrop
+ \c paintedWidth or \c paintedHeight can be smaller or larger than
+ \c width and \c height of the Image element.
*/
qreal QDeclarativeImage::paintedWidth() const
{
@@ -288,23 +290,25 @@ qreal QDeclarativeImage::paintedHeight() const
Use this status to provide an update or respond to the status change in some way.
For example, you could:
- \e {Trigger a state change:}
- \qml
- State { name: 'loaded'; when: image.status = Image.Ready }
+ \list
+ \o Trigger a state change:
+ \qml
+ State { name: 'loaded'; when: image.status == Image.Ready }
\endqml
- \e {Implement an \c onStatusChanged signal handler:}
- \qml
+ \o Implement an \c onStatusChanged signal handler:
+ \qml
Image {
id: image
onStatusChanged: if (image.status == Image.Ready) console.log('Loaded')
}
\endqml
- \e {Bind to the status value:}
+ \o Bind to the status value:
\qml
- Text { text: image.status != Image.Ready ? 'Not Loaded' : 'Loaded' }
+ Text { text: image.status == Image.Ready ? 'Loaded' : 'Not loaded' }
\endqml
+ \endlist
\sa progress
*/
@@ -397,6 +401,19 @@ void QDeclarativeImage::updatePaintedGeometry()
if (heightValid() && !widthValid()) {
setImplicitWidth(d->paintedWidth);
}
+ } else if (d->fillMode == PreserveAspectCrop) {
+ if (!d->pix.width() || !d->pix.height())
+ return;
+ qreal widthScale = width() / qreal(d->pix.width());
+ qreal heightScale = height() / qreal(d->pix.height());
+ if (widthScale < heightScale) {
+ widthScale = heightScale;
+ } else if(heightScale < widthScale) {
+ heightScale = widthScale;
+ }
+
+ d->paintedHeight = heightScale * qreal(d->pix.height());
+ d->paintedWidth = widthScale * qreal(d->pix.width());
} else {
d->paintedWidth = width();
d->paintedHeight = height();
@@ -410,6 +427,12 @@ void QDeclarativeImage::geometryChanged(const QRectF &newGeometry, const QRectF
updatePaintedGeometry();
}
+QRectF QDeclarativeImage::boundingRect() const
+{
+ Q_D(const QDeclarativeImage);
+ return QRectF(0, 0, qMax(d->mWidth, d->paintedWidth), qMax(d->mHeight, d->paintedHeight));
+}
+
/*!
\qmlproperty url Image::source
@@ -494,7 +517,7 @@ void QDeclarativeImage::paint(QPainter *p, const QStyleOptionGraphicsItem *, QWi
}
if (clip()) {
p->save();
- p->setClipRect(boundingRect(), Qt::IntersectClip);
+ p->setClipRect(QRectF(0, 0, d->mWidth, d->mHeight), Qt::IntersectClip);
}
scale.scale(widthScale, heightScale);
QTransform old = p->transform();
diff --git a/src/declarative/graphicsitems/qdeclarativeimage_p.h b/src/declarative/graphicsitems/qdeclarativeimage_p.h
index c8bb30b..0e8034e 100644
--- a/src/declarative/graphicsitems/qdeclarativeimage_p.h
+++ b/src/declarative/graphicsitems/qdeclarativeimage_p.h
@@ -76,6 +76,7 @@ public:
qreal paintedHeight() const;
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
+ QRectF boundingRect() const;
Q_SIGNALS:
void fillModeChanged();
diff --git a/src/declarative/graphicsitems/qdeclarativeitem.cpp b/src/declarative/graphicsitems/qdeclarativeitem.cpp
index 95a4fd6..93572a0 100644
--- a/src/declarative/graphicsitems/qdeclarativeitem.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeitem.cpp
@@ -484,10 +484,18 @@ void QDeclarativeItemKeyFilter::componentComplete()
\qmlproperty Item KeyNavigation::down
These properties hold the item to assign focus to
- when Key_Left, Key_Right, Key_Up or Key_Down are
+ when the left, right, up or down cursor keys are
pressed.
*/
+/*!
+ \qmlproperty Item KeyNavigation::tab
+ \qmlproperty Item KeyNavigation::backtab
+
+ These properties hold the item to assign focus to
+ when the Tab key or Shift+Tab key combination (Backtab) are pressed.
+*/
+
QDeclarativeKeyNavigationAttached::QDeclarativeKeyNavigationAttached(QObject *parent)
: QObject(*(new QDeclarativeKeyNavigationAttachedPrivate), parent),
QDeclarativeItemKeyFilter(qobject_cast<QDeclarativeItem*>(parent))
@@ -941,6 +949,20 @@ void QDeclarativeKeyNavigationAttached::keyReleased(QKeyEvent *event, bool post)
*/
/*!
+ \qmlsignal Keys::onTabPressed(KeyEvent event)
+
+ This handler is called when the Tab key has been pressed. The \a event
+ parameter provides information about the event.
+*/
+
+/*!
+ \qmlsignal Keys::onBacktabPressed(KeyEvent event)
+
+ This handler is called when the Shift+Tab key combination (Backtab) has
+ been pressed. The \a event parameter provides information about the event.
+*/
+
+/*!
\qmlsignal Keys::onAsteriskPressed(KeyEvent event)
This handler is called when the Asterisk '*' has been pressed. The \a event
@@ -1955,12 +1977,8 @@ void QDeclarativeItem::geometryChanged(const QRectF &newGeometry,
change.listener->itemGeometryChanged(this, newGeometry, oldGeometry);
}
- if (newGeometry.x() != oldGeometry.x())
- emit xChanged();
if (newGeometry.width() != oldGeometry.width())
emit widthChanged();
- if (newGeometry.y() != oldGeometry.y())
- emit yChanged();
if (newGeometry.height() != oldGeometry.height())
emit heightChanged();
}
diff --git a/src/declarative/graphicsitems/qdeclarativelistview.cpp b/src/declarative/graphicsitems/qdeclarativelistview.cpp
index 6fd3b71..450b6af 100644
--- a/src/declarative/graphicsitems/qdeclarativelistview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativelistview.cpp
@@ -124,8 +124,8 @@ public:
}
qreal endPosition() const {
return (view->orientation() == QDeclarativeListView::Vertical
- ? item->y() + (item->height() > 0 ? item->height() : 1)
- : item->x() + (item->width() > 0 ? item->width() : 1)) - 1;
+ ? item->y() + (item->height() >= 1.0 ? item->height() : 1)
+ : item->x() + (item->width() >= 1.0 ? item->width() : 1)) - 1;
}
void setPosition(qreal pos) {
if (view->orientation() == QDeclarativeListView::Vertical) {
@@ -182,7 +182,9 @@ public:
, bufferMode(BufferBefore | BufferAfter)
, ownModel(false), wrap(false), autoHighlight(true), haveHighlightRange(false)
, correctFlick(false), inFlickCorrection(false), lazyRelease(false)
- , deferredRelease(false), layoutScheduled(false), minExtentDirty(true), maxExtentDirty(true)
+ , deferredRelease(false), layoutScheduled(false), currentIndexCleared(false)
+ , inViewportMoved(false)
+ , minExtentDirty(true), maxExtentDirty(true)
{}
void init();
@@ -333,28 +335,9 @@ public:
return model && model->count() && model->isValid();
}
- int snapIndex() {
- int index = currentIndex;
- for (int i = 0; i < visibleItems.count(); ++i) {
- FxListItem *item = visibleItems[i];
- if (item->index == -1)
- continue;
- qreal itemTop = item->position();
- if (itemTop >= highlight->position()-item->size()/2 && itemTop < highlight->position()+item->size()/2)
- return item->index;
- }
- return index;
- }
-
qreal snapPosAt(qreal pos) {
- for (int i = 0; i < visibleItems.count(); ++i) {
- FxListItem *item = visibleItems[i];
- if (item->index == -1)
- continue;
- qreal itemTop = item->position();
- if (itemTop+item->size()/2 >= pos && itemTop <= pos)
- return item->position();
- }
+ if (FxListItem *snapItem = snapItemAt(pos))
+ return snapItem->position();
if (visibleItems.count()) {
qreal firstPos = visibleItems.first()->position();
qreal endPos = visibleItems.last()->position();
@@ -367,17 +350,18 @@ public:
}
FxListItem *snapItemAt(qreal pos) {
+ FxListItem *snapItem = 0;
for (int i = 0; i < visibleItems.count(); ++i) {
FxListItem *item = visibleItems[i];
if (item->index == -1)
continue;
qreal itemTop = item->position();
- if (item->index == model->count()-1 || (itemTop+item->size()/2 >= pos))
+ if (highlight && itemTop >= pos && item->endPosition() <= pos + highlight->size() - 1)
return item;
+ if (itemTop+item->size()/2 >= pos && itemTop-item->size()/2 < pos)
+ snapItem = item;
}
- if (visibleItems.count() && visibleItems.first()->position() <= pos)
- return visibleItems.first();
- return 0;
+ return snapItem;
}
int lastVisibleIndex() const {
@@ -393,44 +377,19 @@ public:
}
// map a model index to visibleItems index.
- // These may differ if removed items are still present in the visible list,
- // e.g. doing a removal animation
int mapFromModel(int modelIndex) const {
if (modelIndex < visibleIndex || modelIndex >= visibleIndex + visibleItems.count())
return -1;
for (int i = 0; i < visibleItems.count(); ++i) {
FxListItem *listItem = visibleItems.at(i);
if (listItem->index == modelIndex)
- return i + visibleIndex;
+ return i;
if (listItem->index > modelIndex)
return -1;
}
return -1; // Not in visibleList
}
- bool mapRangeFromModel(int &index, int &count) const {
- if (index + count < visibleIndex)
- return false;
-
- int lastIndex = -1;
- for (int i = visibleItems.count()-1; i >= 0; --i) {
- FxListItem *listItem = visibleItems.at(i);
- if (listItem->index != -1) {
- lastIndex = listItem->index;
- break;
- }
- }
-
- if (index > lastIndex)
- return false;
-
- int last = qMin(index + count - 1, lastIndex);
- index = qMax(index, visibleIndex);
- count = last - index + 1;
-
- return true;
- }
-
void updateViewport() {
Q_Q(QDeclarativeListView);
if (orient == QDeclarativeListView::Vertical) {
@@ -544,6 +503,8 @@ public:
bool lazyRelease : 1;
bool deferredRelease : 1;
bool layoutScheduled : 1;
+ bool currentIndexCleared : 1;
+ bool inViewportMoved : 1;
mutable bool minExtentDirty : 1;
mutable bool maxExtentDirty : 1;
};
@@ -777,7 +738,7 @@ void QDeclarativeListViewPrivate::layout()
}
if (!visibleItems.isEmpty()) {
qreal oldEnd = visibleItems.last()->endPosition();
- qreal pos = visibleItems.first()->endPosition() + spacing + 1;
+ qreal pos = visibleItems.first()->position() + visibleItems.first()->size() + spacing;
for (int i=1; i < visibleItems.count(); ++i) {
FxListItem *item = visibleItems.at(i);
item->setPosition(pos);
@@ -791,8 +752,10 @@ void QDeclarativeListViewPrivate::layout()
minExtentDirty = true;
maxExtentDirty = true;
updateHighlight();
- fixupPosition();
- q->refill();
+ if (!q->isMoving() && !q->isFlicking()) {
+ fixupPosition();
+ q->refill();
+ }
if (header)
updateHeader();
if (footer)
@@ -881,6 +844,7 @@ void QDeclarativeListViewPrivate::createHighlight()
} else {
highlight->item->setWidth(currentItem->item->width());
}
+ highlight->setPosition(currentItem->itemPosition());
}
QDeclarativeItemPrivate *itemPrivate = static_cast<QDeclarativeItemPrivate*>(QGraphicsItemPrivate::get(item));
itemPrivate->addItemChangeListener(this, QDeclarativeItemPrivate::Geometry);
@@ -1045,8 +1009,11 @@ void QDeclarativeListViewPrivate::updateCurrent(int modelIndex)
currentItem->attached->setIsCurrentItem(false);
releaseItem(currentItem);
currentItem = 0;
- currentIndex = -1;
+ currentIndex = modelIndex;
+ emit q->currentIndexChanged();
updateHighlight();
+ } else if (currentIndex != modelIndex) {
+ currentIndex = modelIndex;
emit q->currentIndexChanged();
}
return;
@@ -1192,33 +1159,39 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m
|| (orient == QDeclarativeListView::Vertical && &data == &hData))
return;
+ correctFlick = false;
int oldDuration = fixupDuration;
fixupDuration = moveReason == Mouse ? fixupDuration : 0;
- if (snapMode != QDeclarativeListView::NoSnap) {
+ if (currentItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
+ updateHighlight();
+ qreal pos = currentItem->itemPosition();
+ qreal viewPos = position();
+ if (viewPos < pos + currentItem->itemSize() - highlightRangeEnd)
+ viewPos = pos + currentItem->itemSize() - highlightRangeEnd;
+ if (viewPos > pos - highlightRangeStart)
+ viewPos = pos - highlightRangeStart;
+
+ timeline.reset(data.move);
+ if (viewPos != position()) {
+ if (fixupDuration)
+ timeline.move(data.move, -viewPos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
+ else
+ timeline.set(data.move, -viewPos);
+ }
+ vTime = timeline.time();
+ } else if (snapMode != QDeclarativeListView::NoSnap) {
FxListItem *topItem = snapItemAt(position()+highlightRangeStart);
FxListItem *bottomItem = snapItemAt(position()+highlightRangeEnd);
qreal pos;
- if (topItem && bottomItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
- qreal topPos = qMin(topItem->position() - highlightRangeStart, -maxExtent);
- qreal bottomPos = qMax(bottomItem->position() - highlightRangeEnd, -minExtent);
- pos = qAbs(data.move + topPos) < qAbs(data.move + bottomPos) ? topPos : bottomPos;
- } else if (topItem) {
+ if (topItem) {
pos = qMax(qMin(topItem->position() - highlightRangeStart, -maxExtent), -minExtent);
} else if (bottomItem) {
- pos = qMax(qMin(bottomItem->position() - highlightRangeStart, -maxExtent), -minExtent);
+ pos = qMax(qMin(bottomItem->position() - highlightRangeStart, -maxExtent), -minExtent);
} else {
fixupDuration = oldDuration;
return;
}
- if (currentItem && haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
- updateHighlight();
- qreal currPos = currentItem->itemPosition();
- if (pos < currPos + currentItem->itemSize() - highlightRangeEnd)
- pos = currPos + currentItem->itemSize() - highlightRangeEnd;
- if (pos > currPos - highlightRangeStart)
- pos = currPos - highlightRangeStart;
- }
qreal dist = qAbs(data.move + pos);
if (dist > 0) {
@@ -1229,25 +1202,6 @@ void QDeclarativeListViewPrivate::fixup(AxisData &data, qreal minExtent, qreal m
timeline.set(data.move, -pos);
vTime = timeline.time();
}
- } else if (haveHighlightRange && highlightRange == QDeclarativeListView::StrictlyEnforceRange) {
- if (currentItem) {
- updateHighlight();
- qreal pos = currentItem->itemPosition();
- qreal viewPos = position();
- if (viewPos < pos + currentItem->itemSize() - highlightRangeEnd)
- viewPos = pos + currentItem->itemSize() - highlightRangeEnd;
- if (viewPos > pos - highlightRangeStart)
- viewPos = pos - highlightRangeStart;
-
- timeline.reset(data.move);
- if (viewPos != position()) {
- if (fixupDuration)
- timeline.move(data.move, -viewPos, QEasingCurve(QEasingCurve::InOutQuad), fixupDuration/2);
- else
- timeline.set(data.move, -viewPos);
- }
- vTime = timeline.time();
- }
} else {
QDeclarativeFlickablePrivate::fixup(data, minExtent, maxExtent);
}
@@ -1369,12 +1323,15 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
qreal newtarget = data.flickTarget;
if (snapMode != QDeclarativeListView::NoSnap || highlightRange == QDeclarativeListView::StrictlyEnforceRange)
newtarget = -snapPosAt(-(data.flickTarget - highlightRangeStart)) + highlightRangeStart;
- if (velocity < 0 && newtarget < maxExtent)
- newtarget = maxExtent;
- else if (velocity > 0 && newtarget > minExtent)
- newtarget = minExtent;
- if (newtarget == data.flickTarget) // boundary unchanged - nothing to do
+ if (velocity < 0 && newtarget <= maxExtent)
+ newtarget = maxExtent - overshootDist;
+ else if (velocity > 0 && newtarget >= minExtent)
+ newtarget = minExtent + overshootDist;
+ if (newtarget == data.flickTarget) { // boundary unchanged - nothing to do
+ if (qAbs(velocity) < MinimumFlickVelocity)
+ correctFlick = false;
return;
+ }
data.flickTarget = newtarget;
qreal dist = -newtarget + data.move.value();
if ((v < 0 && dist < 0) || (v > 0 && dist > 0)) {
@@ -1384,7 +1341,7 @@ void QDeclarativeListViewPrivate::flick(AxisData &data, qreal minExtent, qreal m
return;
}
timeline.reset(data.move);
- timeline.accelDistance(data.move, v, -dist + (v < 0 ? -overshootDist : overshootDist));
+ timeline.accelDistance(data.move, v, -dist);
timeline.callback(QDeclarativeTimeLineCallback(&data.move, fixupCallback, this));
}
} else {
@@ -1567,7 +1524,7 @@ void QDeclarativeListView::setModel(const QVariant &model)
disconnect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
disconnect(d->model, SIGNAL(itemsChanged(int,int)), this, SLOT(itemsChanged(int,int)));
disconnect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
- disconnect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ disconnect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
disconnect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
}
d->clear();
@@ -1598,7 +1555,7 @@ void QDeclarativeListView::setModel(const QVariant &model)
if (isComponentComplete()) {
updateSections();
refill();
- if (d->currentIndex >= d->model->count() || d->currentIndex < 0) {
+ if ((d->currentIndex >= d->model->count() || d->currentIndex < 0) && !d->currentIndexCleared) {
setCurrentIndex(0);
} else {
d->moveReason = QDeclarativeListViewPrivate::SetIndex;
@@ -1614,7 +1571,7 @@ void QDeclarativeListView::setModel(const QVariant &model)
connect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
connect(d->model, SIGNAL(itemsChanged(int,int)), this, SLOT(itemsChanged(int,int)));
connect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
- connect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ connect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
connect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
emit countChanged();
}
@@ -1688,7 +1645,8 @@ void QDeclarativeListView::setDelegate(QDeclarativeComponent *delegate)
\qmlproperty Item ListView::currentItem
The \c currentIndex property holds the index of the current item, and
- \c currentItem holds the current item.
+ \c currentItem holds the current item. Setting the currentIndex to -1
+ will clear the highlight and set currentItem to null.
If highlightFollowsCurrentItem is \c true, setting either of these
properties will smoothly scroll the ListView so that the current
@@ -1708,10 +1666,13 @@ void QDeclarativeListView::setCurrentIndex(int index)
Q_D(QDeclarativeListView);
if (d->requestedIndex >= 0) // currently creating item
return;
- if (isComponentComplete() && d->isValid() && index != d->currentIndex && index < d->model->count() && index >= 0) {
+ d->currentIndexCleared = (index == -1);
+ if (index == d->currentIndex)
+ return;
+ if (isComponentComplete() && d->isValid()) {
d->moveReason = QDeclarativeListViewPrivate::SetIndex;
d->updateCurrent(index);
- } else if (index != d->currentIndex) {
+ } else if (d->currentIndex != index) {
d->currentIndex = index;
emit currentIndexChanged();
}
@@ -2320,6 +2281,12 @@ void QDeclarativeListView::viewportMoved()
{
Q_D(QDeclarativeListView);
QDeclarativeFlickable::viewportMoved();
+ if (!d->itemCount)
+ return;
+ // Recursion can occur due to refill changing the content size.
+ if (d->inViewportMoved)
+ return;
+ d->inViewportMoved = true;
d->lazyRelease = true;
refill();
if (d->flickingHorizontally || d->flickingVertically || d->movingHorizontally || d->movingVertically)
@@ -2333,12 +2300,14 @@ void QDeclarativeListView::viewportMoved()
pos = viewPos + d->highlightRangeEnd - d->highlight->size();
if (pos < viewPos + d->highlightRangeStart)
pos = viewPos + d->highlightRangeStart;
+ d->highlightPosAnimator->stop();
d->highlight->setPosition(qRound(pos));
// update current index
- int idx = d->snapIndex();
- if (idx >= 0 && idx != d->currentIndex)
- d->updateCurrent(idx);
+ if (FxListItem *snapItem = d->snapItemAt(d->highlight->position())) {
+ if (snapItem->index >= 0 && snapItem->index != d->currentIndex)
+ d->updateCurrent(snapItem->index);
+ }
}
}
@@ -2379,6 +2348,7 @@ void QDeclarativeListView::viewportMoved()
}
d->inFlickCorrection = false;
}
+ d->inViewportMoved = false;
}
qreal QDeclarativeListView::minYExtent() const
@@ -2523,16 +2493,18 @@ void QDeclarativeListView::geometryChanged(const QRectF &newGeometry,
Increments the current index. The current index will wrap
if keyNavigationWraps is true and it is currently at the end.
+ This method has no effect if the \l count is zero.
\bold Note: methods should only be called after the Component has completed.
*/
void QDeclarativeListView::incrementCurrentIndex()
{
Q_D(QDeclarativeListView);
- if (currentIndex() < d->model->count() - 1 || d->wrap) {
+ int count = d->model ? d->model->count() : 0;
+ if (count && (currentIndex() < count - 1 || d->wrap)) {
d->moveReason = QDeclarativeListViewPrivate::SetIndex;
int index = currentIndex()+1;
- d->updateCurrent(index < d->model->count() ? index : 0);
+ setCurrentIndex((index >= 0 && index < count) ? index : 0);
}
}
@@ -2541,16 +2513,18 @@ void QDeclarativeListView::incrementCurrentIndex()
Decrements the current index. The current index will wrap
if keyNavigationWraps is true and it is currently at the beginning.
+ This method has no effect if the \l count is zero.
\bold Note: methods should only be called after the Component has completed.
*/
void QDeclarativeListView::decrementCurrentIndex()
{
Q_D(QDeclarativeListView);
- if (currentIndex() > 0 || d->wrap) {
+ int count = d->model ? d->model->count() : 0;
+ if (count && (currentIndex() > 0 || d->wrap)) {
d->moveReason = QDeclarativeListViewPrivate::SetIndex;
int index = currentIndex()-1;
- d->updateCurrent(index >= 0 ? index : d->model->count()-1);
+ setCurrentIndex((index >= 0 && index < count) ? index : count-1);
}
}
@@ -2684,7 +2658,7 @@ void QDeclarativeListView::componentComplete()
if (d->isValid()) {
refill();
d->moveReason = QDeclarativeListViewPrivate::SetIndex;
- if (d->currentIndex < 0)
+ if (d->currentIndex < 0 && !d->currentIndexCleared)
d->updateCurrent(0);
else
d->updateCurrent(d->currentIndex);
@@ -2784,13 +2758,13 @@ void QDeclarativeListView::itemsInserted(int modelIndex, int count)
d->moveReason = QDeclarativeListViewPrivate::Other;
if (!d->visibleItems.count() || d->model->count() <= 1) {
d->scheduleLayout();
- if (d->currentIndex >= modelIndex) {
+ if (d->itemCount && d->currentIndex >= modelIndex) {
// adjust current item index
d->currentIndex += count;
if (d->currentItem)
d->currentItem->index = d->currentIndex;
emit currentIndexChanged();
- } else if (d->currentIndex < 0) {
+ } else if (!d->currentIndex || (d->currentIndex < 0 && !d->currentIndexCleared)) {
d->updateCurrent(0);
}
d->itemCount += count;
@@ -2798,15 +2772,15 @@ void QDeclarativeListView::itemsInserted(int modelIndex, int count)
return;
}
- int overlapCount = count;
- if (!d->mapRangeFromModel(modelIndex, overlapCount)) {
+ int index = d->mapFromModel(modelIndex);
+ if (index < 0) {
int i = d->visibleItems.count() - 1;
while (i > 0 && d->visibleItems.at(i)->index == -1)
--i;
if (d->visibleItems.at(i)->index + 1 == modelIndex
&& d->visibleItems.at(i)->endPosition() < d->buffer+d->position()+d->size()-1) {
// Special case of appending an item to the model.
- modelIndex = d->visibleIndex + d->visibleItems.count();
+ index = d->visibleItems.count();
} else {
if (modelIndex < d->visibleIndex) {
// Insert before visible items
@@ -2833,7 +2807,6 @@ void QDeclarativeListView::itemsInserted(int modelIndex, int count)
// At least some of the added items will be visible
- int index = modelIndex - d->visibleIndex;
// index can be the next item past the end of the visible items list (i.e. appended)
int pos = index < d->visibleItems.count() ? d->visibleItems.at(index)->position()
: d->visibleItems.at(index-1)->endPosition()+d->spacing+1;
@@ -2897,7 +2870,7 @@ void QDeclarativeListView::itemsInserted(int modelIndex, int count)
}
diff = pos - initialPos;
}
- if (d->currentIndex >= modelIndex) {
+ if (d->itemCount && d->currentIndex >= modelIndex) {
// adjust current item index
d->currentIndex += count;
if (d->currentItem) {
diff --git a/src/declarative/graphicsitems/qdeclarativeloader.cpp b/src/declarative/graphicsitems/qdeclarativeloader.cpp
index 5647b14..1119b92 100644
--- a/src/declarative/graphicsitems/qdeclarativeloader.cpp
+++ b/src/declarative/graphicsitems/qdeclarativeloader.cpp
@@ -129,15 +129,41 @@ void QDeclarativeLoaderPrivate::initResize()
The loaded item can be accessed using the \l item property.
- Loader is like any other visual item and must be positioned and sized
- accordingly to become visible. Once the component is loaded, the Loader
- is automatically resized to the size of the component.
-
If the \l source or \l sourceComponent changes, any previously instantiated
items are destroyed. Setting \l source to an empty string or setting
\l sourceComponent to \c undefined destroys the currently loaded item,
freeing resources and leaving the Loader empty.
+ \section2 Loader sizing behavior
+
+ Loader is like any other visual item and must be positioned and sized
+ accordingly to become visible.
+
+ \list
+ \o If an explicit size is not specified for the Loader, the Loader
+ is automatically resized to the size of the loaded item once the
+ component is loaded.
+ \o If the size of the Loader is specified explicitly by setting
+ the width, height or by anchoring, the loaded item will be resized
+ to the size of the Loader.
+ \endlist
+
+ In both scenarios the size of the item and the Loader are identical.
+ This ensures that anchoring to the Loader is equivalent to anchoring
+ to the loaded item.
+
+ \table
+ \row
+ \o sizeloader.qml
+ \o sizeitem.qml
+ \row
+ \o \snippet doc/src/snippets/declarative/loader/sizeloader.qml 0
+ \o \snippet doc/src/snippets/declarative/loader/sizeitem.qml 0
+ \row
+ \o The red rectangle will be sized to the size of the root item.
+ \o The red rectangle will be 50x50, centered in the root item.
+ \endtable
+
\section2 Receiving signals from loaded items
@@ -216,7 +242,8 @@ QDeclarativeLoader::~QDeclarativeLoader()
cannot load non-visual components.
To unload the currently loaded item, set this property to an empty string,
- or set \l sourceComponent to \c undefined.
+ or set \l sourceComponent to \c undefined. Setting \c source to a
+ new URL will also cause the item created by the previous URL to be unloaded.
\sa sourceComponent, status, progress
*/
@@ -342,12 +369,14 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
QDeclarativeContext *ctxt = new QDeclarativeContext(creationContext);
ctxt->setContextObject(q);
- QDeclarativeComponent *c = component;
- QObject *obj = component->create(ctxt);
+ QDeclarativeGuard<QDeclarativeComponent> c = component;
+ QObject *obj = component->beginCreate(ctxt);
if (component != c) {
// component->create could trigger a change in source that causes
// component to be set to something else. In that case we just
// need to cleanup.
+ if (c)
+ c->completeCreate();
delete obj;
delete ctxt;
return;
@@ -372,6 +401,7 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
delete ctxt;
source = QUrl();
}
+ component->completeCreate();
emit q->sourceChanged();
emit q->statusChanged();
emit q->progressChanged();
@@ -394,23 +424,25 @@ void QDeclarativeLoaderPrivate::_q_sourceLoaded()
Use this status to provide an update or respond to the status change in some way.
For example, you could:
- \e {Trigger a state change:}
- \qml
- State { name: 'loaded'; when: loader.status = Loader.Ready }
+ \list
+ \o Trigger a state change:
+ \qml
+ State { name: 'loaded'; when: loader.status == Loader.Ready }
\endqml
- \e {Implement an \c onStatusChanged signal handler:}
- \qml
+ \o Implement an \c onStatusChanged signal handler:
+ \qml
Loader {
id: loader
onStatusChanged: if (loader.status == Loader.Ready) console.log('Loaded')
}
\endqml
- \e {Bind to the status value:}
+ \o Bind to the status value:
\qml
- Text { text: loader.status != Loader.Ready ? 'Not Loaded' : 'Loaded' }
+ Text { text: loader.status == Loader.Ready ? 'Loaded' : 'Not loaded' }
\endqml
+ \endlist
Note that if the source is a local file, the status will initially be Ready (or Error). While
there will be no onStatusChanged signal in that case, the onLoaded will still be invoked.
diff --git a/src/declarative/graphicsitems/qdeclarativemousearea.cpp b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
index 1533d55..0a043a7 100644
--- a/src/declarative/graphicsitems/qdeclarativemousearea.cpp
+++ b/src/declarative/graphicsitems/qdeclarativemousearea.cpp
@@ -335,7 +335,7 @@ QDeclarativeMouseAreaPrivate::~QDeclarativeMouseAreaPrivate()
If the \e accepted property of the \l {MouseEvent}{mouse} parameter is set to false
in the handler, the onPressed/onReleased/onClicked handlers will be called for the second
- click; otherwise they are supressed. The accepted property defaults to true.
+ click; otherwise they are suppressed. The accepted property defaults to true.
*/
/*!
@@ -500,17 +500,9 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
const int dragThreshold = QApplication::startDragDistance();
qreal dx = qAbs(curLocalPos.x() - startLocalPos.x());
qreal dy = qAbs(curLocalPos.y() - startLocalPos.y());
- if ((d->dragX && !(dx < dragThreshold)) || (d->dragY && !(dy < dragThreshold))) {
+
+ if (keepMouseGrab() && d->stealMouse)
d->drag->setActive(true);
- d->stealMouse = true;
- }
- if (!keepMouseGrab()) {
- if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold)
- || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold)
- || (d->dragX && d->dragY)) {
- setKeepMouseGrab(true);
- }
- }
if (d->dragX && d->drag->active()) {
qreal x = (curLocalPos.x() - startLocalPos.x()) + d->startX;
@@ -528,6 +520,16 @@ void QDeclarativeMouseArea::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
y = drag()->ymax();
drag()->target()->setY(y);
}
+
+ if (!keepMouseGrab()) {
+ if ((!d->dragY && dy < dragThreshold && d->dragX && dx > dragThreshold)
+ || (!d->dragX && dx < dragThreshold && d->dragY && dy > dragThreshold)
+ || (d->dragX && d->dragY && (dx > dragThreshold || dy > dragThreshold))) {
+ setKeepMouseGrab(true);
+ d->stealMouse = true;
+ }
+ }
+
d->moved = true;
}
QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, false, d->longPress);
@@ -566,7 +568,8 @@ void QDeclarativeMouseArea::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *even
if (!d->absorb) {
QDeclarativeItem::mouseDoubleClickEvent(event);
} else {
- d->doubleClick = true;
+ if (d->isDoubleClickConnected())
+ d->doubleClick = true;
d->saveEvent(event);
QDeclarativeMouseEvent me(d->lastPos.x(), d->lastPos.y(), d->lastButton, d->lastButtons, d->lastModifiers, true, false);
me.setAccepted(d->isDoubleClickConnected());
@@ -617,6 +620,7 @@ bool QDeclarativeMouseArea::sceneEvent(QEvent *event)
// if our mouse grab has been removed (probably by Flickable), fix our
// state
d->pressed = false;
+ d->stealMouse = false;
setKeepMouseGrab(false);
emit canceled();
emit pressedChanged();
@@ -671,8 +675,18 @@ bool QDeclarativeMouseArea::sendMouseEvent(QGraphicsSceneMouseEvent *event)
return stealThisEvent;
}
if (mouseEvent.type() == QEvent::GraphicsSceneMouseRelease) {
- d->stealMouse = false;
- ungrabMouse();
+ if (d->pressed) {
+ d->pressed = false;
+ d->stealMouse = false;
+ if (s && s->mouseGrabberItem() == this)
+ ungrabMouse();
+ emit canceled();
+ emit pressedChanged();
+ if (d->hovered) {
+ d->hovered = false;
+ emit hoveredChanged();
+ }
+ }
}
return false;
}
diff --git a/src/declarative/graphicsitems/qdeclarativepath.cpp b/src/declarative/graphicsitems/qdeclarativepath.cpp
index d526688..966c51b 100644
--- a/src/declarative/graphicsitems/qdeclarativepath.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepath.cpp
@@ -871,7 +871,7 @@ void QDeclarativePathCubic::addToPath(QPainterPath &path)
*/
/*!
- \qmlproperty real value
+ \qmlproperty real PathPercent::value
The proporation of items that should be laid out up to this point.
This value should always be higher than the last value specified
diff --git a/src/declarative/graphicsitems/qdeclarativepathview.cpp b/src/declarative/graphicsitems/qdeclarativepathview.cpp
index 81c84f5..7c79afe 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview.cpp
+++ b/src/declarative/graphicsitems/qdeclarativepathview.cpp
@@ -373,7 +373,21 @@ void QDeclarativePathViewPrivate::regenerate()
opacity of the items as they rotate. This additional code can be seen in the
PathAttribute documentation.)
- The \c focus can be set to \c true to enable keyboard navigation.
+ PathView does not automatically handle keyboard navigation. This is because
+ the keys to use for navigation will depend upon the shape of the path. Navigation
+ can be added quite simply by setting \c focus to \c true and calling
+ \l decrementCurrentIndex() or \l incrementCurrentIndex(), for example to navigate
+ using the left and right arrow keys:
+
+ \code
+ PathView {
+ ...
+ focus: true
+ Keys.onLeftPressed: decrementCurrentIndex()
+ Keys.onRightPressed: incrementCurrentIndex()
+ }
+ \endcode
+
The path view itself is a focus scope (see \l{qmlfocus#Acquiring Focus and Focus Scopes}{the focus documentation page} for more details).
Delegates are instantiated as needed and may be destroyed at any time.
@@ -467,7 +481,7 @@ void QDeclarativePathView::setModel(const QVariant &model)
disconnect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
disconnect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
disconnect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
- disconnect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ disconnect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
for (int i=0; i<d->items.count(); i++){
QDeclarativeItem *p = d->items[i];
d->model->release(p);
@@ -498,7 +512,7 @@ void QDeclarativePathView::setModel(const QVariant &model)
connect(d->model, SIGNAL(itemsRemoved(int,int)), this, SLOT(itemsRemoved(int,int)));
connect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
connect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
- connect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ connect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
d->modelCount = d->model->count();
if (d->model->count())
d->offset = qmlMod(d->offset, qreal(d->model->count()));
@@ -523,7 +537,6 @@ int QDeclarativePathView::count() const
/*!
\qmlproperty Path PathView::path
- \default
This property holds the path used to lay out the items.
For more information see the \l Path documentation.
*/
@@ -607,6 +620,8 @@ void QDeclarativePathView::setCurrentIndex(int idx)
*/
void QDeclarativePathView::incrementCurrentIndex()
{
+ Q_D(QDeclarativePathView);
+ d->moveDirection = QDeclarativePathViewPrivate::Positive;
setCurrentIndex(currentIndex()+1);
}
@@ -625,6 +640,7 @@ void QDeclarativePathView::decrementCurrentIndex()
int idx = currentIndex()-1;
if (idx < 0)
idx = d->modelCount - 1;
+ d->moveDirection = QDeclarativePathViewPrivate::Negative;
setCurrentIndex(idx);
}
}
@@ -995,6 +1011,7 @@ void QDeclarativePathView::setDelegate(QDeclarativeComponent *delegate)
}
if (QDeclarativeVisualDataModel *dataModel = qobject_cast<QDeclarativeVisualDataModel*>(d->model)) {
dataModel->setDelegate(delegate);
+ d->modelCount = dataModel->count();
d->regenerate();
emit delegateChanged();
}
@@ -1636,7 +1653,7 @@ void QDeclarativePathViewPrivate::snapToCurrent()
if (!model || modelCount <= 0)
return;
- qreal targetOffset = modelCount - currentIndex;
+ qreal targetOffset = qmlMod(modelCount - currentIndex, modelCount);
moveReason = Other;
offsetAdj = 0.0;
@@ -1645,19 +1662,28 @@ void QDeclarativePathViewPrivate::snapToCurrent()
const int duration = highlightMoveDuration;
- if (targetOffset - offset > modelCount/2) {
+ if (moveDirection == Positive || (moveDirection == Shortest && targetOffset - offset > modelCount/2)) {
qreal distance = modelCount - targetOffset + offset;
- tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * offset / distance));
- tl.set(moveOffset, modelCount);
- tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * (modelCount-targetOffset) / distance));
- } else if (targetOffset - offset <= -modelCount/2) {
+ if (targetOffset > moveOffset) {
+ tl.move(moveOffset, 0.0, QEasingCurve(QEasingCurve::InQuad), int(duration * offset / distance));
+ tl.set(moveOffset, modelCount);
+ tl.move(moveOffset, targetOffset, QEasingCurve(offset == 0.0 ? QEasingCurve::InOutQuad : QEasingCurve::OutQuad), int(duration * (modelCount-targetOffset) / distance));
+ } else {
+ tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration);
+ }
+ } else if (moveDirection == Negative || targetOffset - offset <= -modelCount/2) {
qreal distance = modelCount - offset + targetOffset;
- tl.move(moveOffset, modelCount, QEasingCurve(QEasingCurve::InQuad), int(duration * (modelCount-offset) / distance));
- tl.set(moveOffset, 0.0);
- tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * targetOffset / distance));
+ if (targetOffset < moveOffset) {
+ tl.move(moveOffset, modelCount, QEasingCurve(targetOffset == 0 ? QEasingCurve::InOutQuad : QEasingCurve::InQuad), int(duration * (modelCount-offset) / distance));
+ tl.set(moveOffset, 0.0);
+ tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::OutQuad), int(duration * targetOffset / distance));
+ } else {
+ tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration);
+ }
} else {
tl.move(moveOffset, targetOffset, QEasingCurve(QEasingCurve::InOutQuad), duration);
}
+ moveDirection = Shortest;
}
QDeclarativePathViewAttached *QDeclarativePathView::qmlAttachedProperties(QObject *obj)
diff --git a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
index b217216..6232b83 100644
--- a/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepathview_p_p.h
@@ -82,7 +82,7 @@ public:
, dragMargin(0), deceleration(100)
, moveOffset(this, &QDeclarativePathViewPrivate::setAdjustedOffset)
, firstIndex(-1), pathItems(-1), requestedIndex(-1)
- , moveReason(Other), attType(0), highlightComponent(0), highlightItem(0)
+ , moveReason(Other), moveDirection(Shortest), attType(0), highlightComponent(0), highlightItem(0)
, moveHighlight(this, &QDeclarativePathViewPrivate::setHighlightPosition)
, highlightPosition(0)
, highlightRangeStart(0), highlightRangeEnd(0)
@@ -173,6 +173,8 @@ public:
QVariant modelVariant;
enum MovementReason { Other, SetIndex, Mouse };
MovementReason moveReason;
+ enum MovementDirection { Shortest, Negative, Positive };
+ MovementDirection moveDirection;
QDeclarativeOpenMetaObjectType *attType;
QDeclarativeComponent *highlightComponent;
QDeclarativeItem *highlightItem;
diff --git a/src/declarative/graphicsitems/qdeclarativepositioners_p.h b/src/declarative/graphicsitems/qdeclarativepositioners_p.h
index 15b91e5..d3ae926 100644
--- a/src/declarative/graphicsitems/qdeclarativepositioners_p.h
+++ b/src/declarative/graphicsitems/qdeclarativepositioners_p.h
@@ -57,7 +57,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativeBasePositionerPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeBasePositioner : public QDeclarativeItem
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeBasePositioner : public QDeclarativeItem
{
Q_OBJECT
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle.cpp b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
index 9831d5f..dedb3f7 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerectangle.cpp
@@ -260,10 +260,13 @@ void QDeclarativeRectangle::doUpdate()
A width of 1 creates a thin line. For no line, use a width of 0 or a transparent color.
+ \note The width of the rectangle's border does not affect the geometry of the
+ rectangle itself or its position relative to other items if anchors are used.
+
If \c border.width is an odd number, the rectangle is painted at a half-pixel offset to retain
- border smoothness. Also, the border is rendered evenly on either side of the
+ border smoothness. Also, the border is rendered evenly on either side of the
rectangle's boundaries, and the spare pixel is rendered to the right and below the
- rectangle (as documented for QRect rendering). This can cause unintended effects if
+ rectangle (as documented for QRect rendering). This can cause unintended effects if
\c border.width is 1 and the rectangle is \l{Item::clip}{clipped} by a parent item:
\beginfloatright
@@ -417,6 +420,10 @@ void QDeclarativeRectangle::generateRoundedRect()
p.drawRoundedRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, d->rectImage.width()-(pw+1), d->rectImage.height()-(pw+1)), d->radius, d->radius);
else
p.drawRoundedRect(QRectF(qreal(pw)/2, qreal(pw)/2, d->rectImage.width()-pw, d->rectImage.height()-pw), d->radius, d->radius);
+
+ // end painting before inserting pixmap
+ // to pixmap cache to avoid a deep copy
+ p.end();
QPixmapCache::insert(key, d->rectImage);
}
}
@@ -451,6 +458,10 @@ void QDeclarativeRectangle::generateBorderedRect()
p.drawRect(QRectF(qreal(pw)/2+1, qreal(pw)/2+1, d->rectImage.width()-(pw+1), d->rectImage.height()-(pw+1)));
else
p.drawRect(QRectF(qreal(pw)/2, qreal(pw)/2, d->rectImage.width()-pw, d->rectImage.height()-pw));
+
+ // end painting before inserting pixmap
+ // to pixmap cache to avoid a deep copy
+ p.end();
QPixmapCache::insert(key, d->rectImage);
}
}
@@ -477,7 +488,8 @@ void QDeclarativeRectangle::drawRect(QPainter &p)
{
Q_D(QDeclarativeRectangle);
if ((d->gradient && d->gradient->gradient())
- || d->radius > width()/2 || d->radius > height()/2) {
+ || d->radius > width()/2 || d->radius > height()/2
+ || width() < 3 || height() < 3) {
// XXX This path is still slower than the image path
// Image path won't work for gradients or invalid radius though
bool oldAA = p.testRenderHint(QPainter::Antialiasing);
diff --git a/src/declarative/graphicsitems/qdeclarativerectangle_p.h b/src/declarative/graphicsitems/qdeclarativerectangle_p.h
index ecc3fbf..99dca1b 100644
--- a/src/declarative/graphicsitems/qdeclarativerectangle_p.h
+++ b/src/declarative/graphicsitems/qdeclarativerectangle_p.h
@@ -46,12 +46,14 @@
#include <QtGui/qbrush.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-class Q_DECLARATIVE_EXPORT QDeclarativePen : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativePen : public QObject
{
Q_OBJECT
@@ -131,7 +133,7 @@ private:
};
class QDeclarativeRectanglePrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeRectangle : public QDeclarativeItem
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeRectangle : public QDeclarativeItem
{
Q_OBJECT
diff --git a/src/declarative/graphicsitems/qdeclarativerepeater.cpp b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
index cb64212..6f46c7b 100644
--- a/src/declarative/graphicsitems/qdeclarativerepeater.cpp
+++ b/src/declarative/graphicsitems/qdeclarativerepeater.cpp
@@ -202,7 +202,7 @@ void QDeclarativeRepeater::setModel(const QVariant &model)
disconnect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
disconnect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
/*
- disconnect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ disconnect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
disconnect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
*/
}
@@ -230,7 +230,7 @@ void QDeclarativeRepeater::setModel(const QVariant &model)
connect(d->model, SIGNAL(itemsMoved(int,int,int)), this, SLOT(itemsMoved(int,int,int)));
connect(d->model, SIGNAL(modelReset()), this, SLOT(modelReset()));
/*
- connect(d->model, SIGNAL(createdItem(int, QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
+ connect(d->model, SIGNAL(createdItem(int,QDeclarativeItem*)), this, SLOT(createdItem(int,QDeclarativeItem*)));
connect(d->model, SIGNAL(destroyingItem(QDeclarativeItem*)), this, SLOT(destroyingItem(QDeclarativeItem*)));
*/
regenerate();
diff --git a/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h b/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h
index 42813dd..c6d4629 100644
--- a/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h
+++ b/src/declarative/graphicsitems/qdeclarativescalegrid_p_p.h
@@ -42,21 +42,22 @@
#ifndef QDECLARATIVESCALEGRID_H
#define QDECLARATIVESCALEGRID_H
-#include "private/qdeclarativeborderimage_p.h"
-
-#include <private/qdeclarativepixmapcache_p.h>
#include <qdeclarative.h>
#include <QtCore/QString>
#include <QtCore/QObject>
+#include <private/qdeclarativeborderimage_p.h>
+#include <private/qdeclarativepixmapcache_p.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-class Q_DECLARATIVE_EXPORT QDeclarativeScaleGrid : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeScaleGrid : public QObject
{
Q_OBJECT
Q_ENUMS(TileRule)
@@ -94,7 +95,7 @@ private:
int _bottom;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeGridScaledImage
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeGridScaledImage
{
public:
QDeclarativeGridScaledImage();
diff --git a/src/declarative/graphicsitems/qdeclarativetext.cpp b/src/declarative/graphicsitems/qdeclarativetext.cpp
index 308aefa..303b21c 100644
--- a/src/declarative/graphicsitems/qdeclarativetext.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetext.cpp
@@ -219,8 +219,10 @@ void QDeclarativeTextPrivate::updateSize()
QFontMetrics fm(font);
if (text.isEmpty()) {
+ q->setImplicitWidth(0);
q->setImplicitHeight(fm.height());
emit q->paintedSizeChanged();
+ q->update();
return;
}
@@ -270,6 +272,7 @@ void QDeclarativeTextPrivate::updateSize()
internalWidthUpdate = false;
q->setImplicitHeight(size.height());
emit q->paintedSizeChanged();
+ q->update();
}
/*!
@@ -282,11 +285,10 @@ QSize QDeclarativeTextPrivate::setupTextLayout()
{
// ### text layout handling should be profiled and optimized as needed
// what about QStackTextEngine engine(tmp, d->font.font()); QTextLayout textLayout(&engine);
-
Q_Q(QDeclarativeText);
layout.setCacheEnabled(true);
- int height = 0;
+ qreal height = 0;
qreal widthUsed = 0;
qreal lineWidth = 0;
@@ -299,12 +301,12 @@ QSize QDeclarativeTextPrivate::setupTextLayout()
layout.setTextOption(textOption);
layout.beginLayout();
- while (1) {
+ forever {
QTextLine line = layout.createLine();
if (!line.isValid())
break;
- if ((wrapMode != QDeclarativeText::NoWrap || elideMode != QDeclarativeText::ElideNone) && q->widthValid())
+ if (lineWidth)
line.setLineWidth(lineWidth);
}
layout.endLayout();
@@ -314,27 +316,27 @@ QSize QDeclarativeTextPrivate::setupTextLayout()
widthUsed = qMax(widthUsed, line.naturalTextWidth());
}
- qreal layoutWidth = q->widthValid()?q->width():widthUsed;
+ qreal layoutWidth = q->widthValid() ? q->width() : widthUsed;
- int x = 0;
+ qreal x = 0;
for (int i = 0; i < layout.lineCount(); ++i) {
QTextLine line = layout.lineAt(i);
line.setPosition(QPointF(0, height));
- height += int(line.height());
+ height += line.height();
if (!cacheAllTextAsImage) {
if (hAlign == QDeclarativeText::AlignLeft) {
x = 0;
} else if (hAlign == QDeclarativeText::AlignRight) {
- x = layoutWidth - (int)line.naturalTextWidth();
+ x = layoutWidth - line.naturalTextWidth();
} else if (hAlign == QDeclarativeText::AlignHCenter) {
- x = (layoutWidth - (int)line.naturalTextWidth()) / 2;
+ x = (layoutWidth - line.naturalTextWidth()) / 2;
}
- line.setPosition(QPoint(x, (int)line.y()));
+ line.setPosition(QPointF(x, line.y()));
}
}
- return QSize(qCeil(widthUsed), height);
+ return layout.boundingRect().toAlignedRect().size();
}
/*!
@@ -346,17 +348,17 @@ QPixmap QDeclarativeTextPrivate::textLayoutImage(bool drawStyle)
//do layout
QSize size = layedOutTextSize;
- int x = 0;
+ qreal x = 0;
for (int i = 0; i < layout.lineCount(); ++i) {
QTextLine line = layout.lineAt(i);
if (hAlign == QDeclarativeText::AlignLeft) {
x = 0;
} else if (hAlign == QDeclarativeText::AlignRight) {
- x = size.width() - (int)line.naturalTextWidth();
+ x = size.width() - line.naturalTextWidth();
} else if (hAlign == QDeclarativeText::AlignHCenter) {
- x = (size.width() - (int)line.naturalTextWidth()) / 2;
+ x = (size.width() - line.naturalTextWidth()) / 2;
}
- line.setPosition(QPoint(x, (int)line.y()));
+ line.setPosition(QPointF(x, line.y()));
}
//paint text
@@ -434,12 +436,13 @@ void QDeclarativeTextPrivate::invalidateImageCache()
{
Q_Q(QDeclarativeText);
- if (imageCacheDirty)
- return;
-
- imageCacheDirty = true;
- imageCache = QPixmap();
+ if(cacheAllTextAsImage || style != QDeclarativeText::Normal){//If actually using the image cache
+ if (imageCacheDirty)
+ return;
+ imageCacheDirty = true;
+ imageCache = QPixmap();
+ }
if (q->isComponentComplete())
q->update();
}
@@ -900,7 +903,7 @@ void QDeclarativeText::setStyleColor(const QColor &color)
and \c Text.AlignVCenter.
Note that for a single line of text, the size of the text is the area of the text. In this common case,
- all alignments are equivalent. If you want the text to be, say, centered in it parent, then you will
+ all alignments are equivalent. If you want the text to be, say, centered in its parent, then you will
need to either modify the Item::anchors, or set horizontalAlignment to Text.AlignHCenter and bind the width to
that of the parent.
*/
@@ -1061,7 +1064,7 @@ void QDeclarativeText::setTextFormat(TextFormat format)
Set this property to elide parts of the text fit to the Text item's width.
The text will only elide if an explicit width has been set.
- This property cannot be used with wrapping enabled or with rich text.
+ This property cannot be used with multi-line text or with rich text.
Eliding can be:
\list
@@ -1143,9 +1146,10 @@ QRectF QDeclarativeText::boundingRect() const
void QDeclarativeText::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry)
{
Q_D(QDeclarativeText);
- if (!d->internalWidthUpdate && newGeometry.width() != oldGeometry.width() &&
- (d->wrapMode != QDeclarativeText::NoWrap || d->elideMode != QDeclarativeText::ElideNone)) {
-
+ if ((!d->internalWidthUpdate && newGeometry.width() != oldGeometry.width())
+ && (d->wrapMode != QDeclarativeText::NoWrap
+ || d->elideMode != QDeclarativeText::ElideNone
+ || d->hAlign != QDeclarativeText::AlignLeft)) {
if (d->singleline && d->elideMode != QDeclarativeText::ElideNone && widthValid()) {
// We need to re-elide
d->updateLayout();
diff --git a/src/declarative/graphicsitems/qdeclarativetext_p.h b/src/declarative/graphicsitems/qdeclarativetext_p.h
index 2cc4d52..51434d5 100644
--- a/src/declarative/graphicsitems/qdeclarativetext_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetext_p.h
@@ -45,13 +45,15 @@
#include <QtGui/qtextoption.h>
#include "qdeclarativeitem.h"
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativeTextPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeText : public QDeclarativeItem
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeText : public QDeclarativeItem
{
Q_OBJECT
Q_ENUMS(HAlignment)
diff --git a/src/declarative/graphicsitems/qdeclarativetextinput.cpp b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
index 0903427..0deacf8 100644
--- a/src/declarative/graphicsitems/qdeclarativetextinput.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextinput.cpp
@@ -460,10 +460,9 @@ QRect QDeclarativeTextInput::cursorRectangle() const
text edit.
Note that if selectionStart == selectionEnd then there is no current
- selection. If you attempt to set selectionStart to a value outside of
- the current text, selectionStart will not be changed.
+ selection.
- \sa selectionEnd, cursorPosition, selectedText
+ \sa selectionEnd, cursorPosition, selectedText, select()
*/
int QDeclarativeTextInput::selectionStart() const
{
@@ -479,10 +478,9 @@ int QDeclarativeTextInput::selectionStart() const
text edit.
Note that if selectionStart == selectionEnd then there is no current
- selection. If you attempt to set selectionEnd to a value outside of
- the current text, selectionEnd will not be changed.
+ selection.
- \sa selectionStart, cursorPosition, selectedText
+ \sa selectionStart, cursorPosition, selectedText, select()
*/
int QDeclarativeTextInput::selectionEnd() const
{
@@ -490,6 +488,19 @@ int QDeclarativeTextInput::selectionEnd() const
return d->lastSelectionEnd;
}
+/*!
+ \qmlmethod void TextInput::select(int start, int end)
+
+ Causes the text from \a start to \a end to be selected.
+
+ If either start or end is out of range, the selection is not changed.
+
+ After calling this, selectionStart will become the lesser
+ and selectionEnd will become the greater (regardless of the order passed
+ to this method).
+
+ \sa selectionStart, selectionEnd
+*/
void QDeclarativeTextInput::select(int start, int end)
{
Q_D(QDeclarativeTextInput);
@@ -792,7 +803,7 @@ void QDeclarativeTextInput::setCursorDelegate(QDeclarativeComponent* c)
d->cursorComponent = c;
if(!c){
//note that the components are owned by something else
- disconnect(d->control, SIGNAL(cursorPositionChanged(int, int)),
+ disconnect(d->control, SIGNAL(cursorPositionChanged(int,int)),
this, SLOT(moveCursor()));
delete d->cursorItem;
}else{
@@ -805,7 +816,7 @@ void QDeclarativeTextInput::setCursorDelegate(QDeclarativeComponent* c)
void QDeclarativeTextInputPrivate::startCreatingCursor()
{
Q_Q(QDeclarativeTextInput);
- q->connect(control, SIGNAL(cursorPositionChanged(int, int)),
+ q->connect(control, SIGNAL(cursorPositionChanged(int,int)),
q, SLOT(moveCursor()));
if(cursorComponent->isReady()){
q->createCursor();
@@ -1446,7 +1457,7 @@ void QDeclarativeTextInputPrivate::init()
q, SLOT(cursorPosChanged()));
q->connect(control, SIGNAL(selectionChanged()),
q, SLOT(selectionChanged()));
- q->connect(control, SIGNAL(textChanged(const QString &)),
+ q->connect(control, SIGNAL(textChanged(QString)),
q, SLOT(q_textChanged()));
q->connect(control, SIGNAL(accepted()),
q, SIGNAL(accepted()));
diff --git a/src/declarative/graphicsitems/qdeclarativetextlayout.cpp b/src/declarative/graphicsitems/qdeclarativetextlayout.cpp
index e8b5fb2..e8da367 100644
--- a/src/declarative/graphicsitems/qdeclarativetextlayout.cpp
+++ b/src/declarative/graphicsitems/qdeclarativetextlayout.cpp
@@ -94,7 +94,7 @@ class DrawTextItemRecorder: public QPaintEngine
if (!m_inertText->items.isEmpty()) {
QStaticTextItem &last = m_inertText->items[m_inertText->items.count() - 1];
- if (last.fontEngine == ti.fontEngine && last.font == ti.font() &&
+ if (last.fontEngine() == ti.fontEngine && last.font == ti.font() &&
(!m_dirtyPen || last.color == state->pen().color())) {
needFreshCurrentItem = false;
@@ -107,7 +107,7 @@ class DrawTextItemRecorder: public QPaintEngine
if (needFreshCurrentItem) {
QStaticTextItem currentItem;
- currentItem.fontEngine = ti.fontEngine;
+ currentItem.setFontEngine(ti.fontEngine);
currentItem.font = ti.font();
currentItem.charOffset = charOffset;
currentItem.numChars = ti.num_chars;
@@ -285,6 +285,19 @@ void QDeclarativeTextLayout::beginLayout()
QTextLayout::beginLayout();
}
+void QDeclarativeTextLayout::clearLayout()
+{
+ if (d && d->cached) {
+ d->cached = false;
+ d->items.clear();
+ d->positions.clear();
+ d->glyphs.clear();
+ d->chars.clear();
+ d->position = QPointF();
+ }
+ QTextLayout::clearLayout();
+}
+
void QDeclarativeTextLayout::prepare()
{
if (!d || !d->cached) {
@@ -321,7 +334,7 @@ void QDeclarativeTextLayout::draw(QPainter *painter, const QPointF &p)
priv->extended->type() == QPaintEngine::OpenVG ||
priv->extended->type() == QPaintEngine::OpenGL);
- if (!paintEngineSupportsTransformations) {
+ if (!paintEngineSupportsTransformations || !priv->state->matrix.isAffine()) {
QTextLayout::draw(painter, p);
return;
}
diff --git a/src/declarative/graphicsitems/qdeclarativetextlayout_p.h b/src/declarative/graphicsitems/qdeclarativetextlayout_p.h
index 90bf0e0..8b81db3 100644
--- a/src/declarative/graphicsitems/qdeclarativetextlayout_p.h
+++ b/src/declarative/graphicsitems/qdeclarativetextlayout_p.h
@@ -59,6 +59,7 @@ public:
~QDeclarativeTextLayout();
void beginLayout();
+ void clearLayout();
void prepare();
void draw(QPainter *, const QPointF & = QPointF());
diff --git a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
index e569dd2..4fe6c4c 100644
--- a/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
+++ b/src/declarative/graphicsitems/qdeclarativevisualitemmodel.cpp
@@ -714,14 +714,14 @@ void QDeclarativeVisualDataModel::setModel(const QVariant &model)
this, SLOT(_q_itemsMoved(int,int,int)));
d->m_listModelInterface = 0;
} else if (d->m_abstractItemModel) {
- QObject::disconnect(d->m_abstractItemModel, SIGNAL(rowsInserted(const QModelIndex &,int,int)),
- this, SLOT(_q_rowsInserted(const QModelIndex &,int,int)));
- QObject::disconnect(d->m_abstractItemModel, SIGNAL(rowsRemoved(const QModelIndex &,int,int)),
- this, SLOT(_q_rowsRemoved(const QModelIndex &,int,int)));
- QObject::disconnect(d->m_abstractItemModel, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&)),
- this, SLOT(_q_dataChanged(const QModelIndex&,const QModelIndex&)));
- QObject::disconnect(d->m_abstractItemModel, SIGNAL(rowsMoved(const QModelIndex&,int,int,const QModelIndex&,int)),
- this, SLOT(_q_rowsMoved(const QModelIndex&,int,int,const QModelIndex&,int)));
+ QObject::disconnect(d->m_abstractItemModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(_q_rowsInserted(QModelIndex,int,int)));
+ QObject::disconnect(d->m_abstractItemModel, SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
+ QObject::disconnect(d->m_abstractItemModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ this, SLOT(_q_dataChanged(QModelIndex,QModelIndex)));
+ QObject::disconnect(d->m_abstractItemModel, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)),
+ this, SLOT(_q_rowsMoved(QModelIndex,int,int,QModelIndex,int)));
QObject::disconnect(d->m_abstractItemModel, SIGNAL(modelReset()), this, SLOT(_q_modelReset()));
QObject::disconnect(d->m_abstractItemModel, SIGNAL(layoutChanged()), this, SLOT(_q_layoutChanged()));
d->m_abstractItemModel = 0;
@@ -762,14 +762,14 @@ void QDeclarativeVisualDataModel::setModel(const QVariant &model)
emit itemsInserted(0, d->m_listModelInterface->count());
return;
} else if (object && (d->m_abstractItemModel = qobject_cast<QAbstractItemModel *>(object))) {
- QObject::connect(d->m_abstractItemModel, SIGNAL(rowsInserted(const QModelIndex &,int,int)),
- this, SLOT(_q_rowsInserted(const QModelIndex &,int,int)));
- QObject::connect(d->m_abstractItemModel, SIGNAL(rowsRemoved(const QModelIndex &,int,int)),
- this, SLOT(_q_rowsRemoved(const QModelIndex &,int,int)));
- QObject::connect(d->m_abstractItemModel, SIGNAL(dataChanged(const QModelIndex&,const QModelIndex&)),
- this, SLOT(_q_dataChanged(const QModelIndex&,const QModelIndex&)));
- QObject::connect(d->m_abstractItemModel, SIGNAL(rowsMoved(const QModelIndex&,int,int,const QModelIndex&,int)),
- this, SLOT(_q_rowsMoved(const QModelIndex&,int,int,const QModelIndex&,int)));
+ QObject::connect(d->m_abstractItemModel, SIGNAL(rowsInserted(QModelIndex,int,int)),
+ this, SLOT(_q_rowsInserted(QModelIndex,int,int)));
+ QObject::connect(d->m_abstractItemModel, SIGNAL(rowsRemoved(QModelIndex,int,int)),
+ this, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
+ QObject::connect(d->m_abstractItemModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
+ this, SLOT(_q_dataChanged(QModelIndex,QModelIndex)));
+ QObject::connect(d->m_abstractItemModel, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)),
+ this, SLOT(_q_rowsMoved(QModelIndex,int,int,QModelIndex,int)));
QObject::connect(d->m_abstractItemModel, SIGNAL(modelReset()), this, SLOT(_q_modelReset()));
QObject::connect(d->m_abstractItemModel, SIGNAL(layoutChanged()), this, SLOT(_q_layoutChanged()));
d->m_metaDataCacheable = true;
@@ -937,6 +937,10 @@ void QDeclarativeVisualDataModel::setPart(const QString &part)
int QDeclarativeVisualDataModel::count() const
{
Q_D(const QDeclarativeVisualDataModel);
+ if (d->m_visualItemModel)
+ return d->m_visualItemModel->count();
+ if (!d->m_delegate)
+ return 0;
return d->modelCount();
}
diff --git a/src/declarative/qml/parser/qdeclarativejs.g b/src/declarative/qml/parser/qdeclarativejs.g
index 1b66ba0..c84f0b3 100644
--- a/src/declarative/qml/parser/qdeclarativejs.g
+++ b/src/declarative/qml/parser/qdeclarativejs.g
@@ -1254,7 +1254,7 @@ case $rule_number: {
else
node = makeAstNode<AST::ObjectLiteral> (driver->nodePool());
node->lbraceToken = loc(1);
- node->lbraceToken = loc(3);
+ node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
./
@@ -1265,7 +1265,7 @@ case $rule_number: {
AST::ObjectLiteral *node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
sym(2).PropertyNameAndValueList->finish ());
node->lbraceToken = loc(1);
- node->lbraceToken = loc(4);
+ node->rbraceToken = loc(4);
sym(1).Node = node;
} break;
./
diff --git a/src/declarative/qml/parser/qdeclarativejslexer.cpp b/src/declarative/qml/parser/qdeclarativejslexer.cpp
index 1eb42e4..52f6210 100644
--- a/src/declarative/qml/parser/qdeclarativejslexer.cpp
+++ b/src/declarative/qml/parser/qdeclarativejslexer.cpp
@@ -510,15 +510,18 @@ int Lexer::lex()
setDone(Eof);
}
} else if (isLineTerminator()) {
- shiftWindowsLineBreak();
- yylineno++;
- yycolumn = 0;
- bol = true;
- terminator = true;
- syncProhibitAutomaticSemicolon();
if (restrKeyword) {
+ // automatic semicolon insertion
+ recordStartPos();
token = QDeclarativeJSGrammar::T_SEMICOLON;
setDone(Other);
+ } else {
+ shiftWindowsLineBreak();
+ yylineno++;
+ yycolumn = 0;
+ bol = true;
+ terminator = true;
+ syncProhibitAutomaticSemicolon();
}
} else if (current == '"' || current == '\'') {
recordStartPos();
diff --git a/src/declarative/qml/parser/qdeclarativejsparser.cpp b/src/declarative/qml/parser/qdeclarativejsparser.cpp
index 8afb93d..28ef17d 100644
--- a/src/declarative/qml/parser/qdeclarativejsparser.cpp
+++ b/src/declarative/qml/parser/qdeclarativejsparser.cpp
@@ -679,7 +679,7 @@ case 85: {
else
node = makeAstNode<AST::ObjectLiteral> (driver->nodePool());
node->lbraceToken = loc(1);
- node->lbraceToken = loc(3);
+ node->rbraceToken = loc(3);
sym(1).Node = node;
} break;
@@ -687,7 +687,7 @@ case 86: {
AST::ObjectLiteral *node = makeAstNode<AST::ObjectLiteral> (driver->nodePool(),
sym(2).PropertyNameAndValueList->finish ());
node->lbraceToken = loc(1);
- node->lbraceToken = loc(4);
+ node->rbraceToken = loc(4);
sym(1).Node = node;
} break;
diff --git a/src/declarative/qml/qdeclarativebinding_p.h b/src/declarative/qml/qdeclarativebinding_p.h
index 941a1b3..0b9bde6 100644
--- a/src/declarative/qml/qdeclarativebinding_p.h
+++ b/src/declarative/qml/qdeclarativebinding_p.h
@@ -64,7 +64,7 @@
QT_BEGIN_NAMESPACE
-class Q_DECLARATIVE_EXPORT QDeclarativeAbstractBinding
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeAbstractBinding
{
public:
typedef QWeakPointer<QDeclarativeAbstractBinding> Pointer;
@@ -138,7 +138,7 @@ private:
class QDeclarativeContext;
class QDeclarativeBindingPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeBinding : public QDeclarativeExpression, public QDeclarativeAbstractBinding
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeBinding : public QDeclarativeExpression, public QDeclarativeAbstractBinding
{
Q_OBJECT
public:
diff --git a/src/declarative/qml/qdeclarativecompiledbindings.cpp b/src/declarative/qml/qdeclarativecompiledbindings.cpp
index 5f0fd56..fbe5829 100644
--- a/src/declarative/qml/qdeclarativecompiledbindings.cpp
+++ b/src/declarative/qml/qdeclarativecompiledbindings.cpp
@@ -601,7 +601,7 @@ struct QDeclarativeBindingCompilerPrivate
QDeclarativeImports imports;
QDeclarativeEnginePrivate *engine;
- QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((intptr_t)context, 16); }
+ QString contextName() const { return QLatin1String("$$$SCOPE_") + QString::number((quintptr)context, 16); }
bool compile(QDeclarativeJS::AST::Node *);
diff --git a/src/declarative/qml/qdeclarativecompileddata.cpp b/src/declarative/qml/qdeclarativecompileddata.cpp
index 5d73d89..690f499 100644
--- a/src/declarative/qml/qdeclarativecompileddata.cpp
+++ b/src/declarative/qml/qdeclarativecompileddata.cpp
@@ -169,8 +169,8 @@ QDeclarativeCompiledData::QDeclarativeCompiledData(QDeclarativeEngine *engine)
QDeclarativeCompiledData::~QDeclarativeCompiledData()
{
for (int ii = 0; ii < types.count(); ++ii) {
- if (types.at(ii).ref)
- types.at(ii).ref->release();
+ if (types.at(ii).component)
+ types.at(ii).component->release();
}
for (int ii = 0; ii < propertyCaches.count(); ++ii)
@@ -205,7 +205,7 @@ const QMetaObject *QDeclarativeCompiledData::TypeReference::metaObject() const
return type->metaObject();
} else {
Q_ASSERT(component);
- return static_cast<QDeclarativeComponentPrivate *>(QObjectPrivate::get(component))->cc->root;
+ return component->root;
}
}
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index 74bc5bd..645402e 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -590,9 +590,7 @@ bool QDeclarativeCompiler::compile(QDeclarativeEngine *engine,
COMPILE_EXCEPTION(parserRef->refObjects.first(), err);
}
} else if (tref.typeData) {
- ref.component = tref.typeData->component();
- ref.ref = tref.typeData;
- ref.ref->addref();
+ ref.component = tref.typeData->compiledData();
}
ref.className = parserRef->name.toUtf8();
out->types << ref;
@@ -722,7 +720,7 @@ bool QDeclarativeCompiler::buildObject(Object *obj, const BindingContext &ctxt)
obj->metatype = tr.metaObject();
if (tr.component)
- obj->url = tr.component->url();
+ obj->url = tr.component->url;
if (tr.type)
obj->typeName = tr.type->qmlTypeName();
obj->className = tr.className;
@@ -940,7 +938,7 @@ void QDeclarativeCompiler::genObject(QDeclarativeParser::Object *obj)
// ### Surely the creation of this property cache could be more efficient
QDeclarativePropertyCache *propertyCache = 0;
if (tr.component)
- propertyCache = QDeclarativeComponentPrivate::get(tr.component)->cc->rootPropertyCache->copy();
+ propertyCache = tr.component->rootPropertyCache->copy();
else
propertyCache = enginePrivate->cache(obj->metaObject()->superClass())->copy();
@@ -957,7 +955,7 @@ void QDeclarativeCompiler::genObject(QDeclarativeParser::Object *obj)
output->bytecode << meta;
} else if (obj == unitRoot) {
if (tr.component)
- output->rootPropertyCache = QDeclarativeComponentPrivate::get(tr.component)->cc->rootPropertyCache;
+ output->rootPropertyCache = tr.component->rootPropertyCache;
else
output->rootPropertyCache = enginePrivate->cache(obj->metaObject());
diff --git a/src/declarative/qml/qdeclarativecompiler_p.h b/src/declarative/qml/qdeclarativecompiler_p.h
index 89eef09..5cd1fd2 100644
--- a/src/declarative/qml/qdeclarativecompiler_p.h
+++ b/src/declarative/qml/qdeclarativecompiler_p.h
@@ -89,14 +89,13 @@ public:
struct TypeReference
{
TypeReference()
- : type(0), component(0), ref(0) {}
+ : type(0), component(0) {}
QByteArray className;
QDeclarativeType *type;
- QDeclarativeComponent *component;
+ QDeclarativeCompiledData *component;
- QDeclarativeRefCount *ref;
- QObject *createInstance(QDeclarativeContextData *, const QBitField &) const;
+ QObject *createInstance(QDeclarativeContextData *, const QBitField &, QList<QDeclarativeError> *) const;
const QMetaObject *metaObject() const;
};
QList<TypeReference> types;
diff --git a/src/declarative/qml/qdeclarativecomponent.cpp b/src/declarative/qml/qdeclarativecomponent.cpp
index cfef9cf..2686ce3 100644
--- a/src/declarative/qml/qdeclarativecomponent.cpp
+++ b/src/declarative/qml/qdeclarativecomponent.cpp
@@ -98,6 +98,43 @@ class QByteArray;
int width = item->width(); // width = 200
\endcode
+
+ \section2 Network Components
+
+ If the URL passed to QDeclarativeComponent is a network resource, or if the QML document references a
+ network resource, the QDeclarativeComponent has to fetch the network data before it is able to create
+ objects. In this case, the QDeclarativeComponent will have a \l {QDeclarativeComponent::Loading}{Loading}
+ \l {QDeclarativeComponent::status()}{status}. An application will have to wait until the component
+ is \l {QDeclarativeComponent::Ready}{Ready} before calling \l {QDeclarativeComponent::create()}.
+
+ The following example shows how to load a QML file from a network resource. After creating
+ the QDeclarativeComponent, it tests whether the component is loading. If it is, it connects to the
+ QDeclarativeComponent::statusChanged() signal and otherwise calls the \c {continueLoading()} method
+ directly. Note that QDeclarativeComponent::isLoading() may be false for a network component if the
+ component has been cached and is ready immediately.
+
+ \code
+ MyApplication::MyApplication()
+ {
+ // ...
+ component = new QDeclarativeComponent(engine, QUrl("http://www.example.com/main.qml"));
+ if (component->isLoading())
+ QObject::connect(component, SIGNAL(statusChanged(QDeclarativeComponent::Status)),
+ this, SLOT(continueLoading()));
+ else
+ continueLoading();
+ }
+
+ void MyApplication::continueLoading()
+ {
+ if (component->isError()) {
+ qWarning() << component->errors();
+ } else {
+ QObject *myObject = component->create();
+ }
+ }
+ \endcode
+
\sa {Using QML in C++ Applications}, {Integrating QML with existing Qt UI code}
*/
@@ -733,48 +770,45 @@ QDeclarativeComponentPrivate::beginCreate(QDeclarativeContextData *context, cons
return 0;
}
- QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(engine);
+ return begin(context, creationContext, cc, start, count, &state, 0, bindings);
+}
+
+QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *parentContext,
+ QDeclarativeContextData *componentCreationContext,
+ QDeclarativeCompiledData *component, int start, int count,
+ ConstructionState *state, QList<QDeclarativeError> *errors,
+ const QBitField &bindings)
+{
+ QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(parentContext->engine);
+ bool isRoot = !enginePriv->inBeginCreate;
+
+ Q_ASSERT(!isRoot || state); // Either this isn't a root component, or a state data must be provided
+ Q_ASSERT((state != 0) ^ (errors != 0)); // One of state or errors (but not both) must be provided
- bool isRoot = !ep->inBeginCreate;
if (isRoot)
QDeclarativeDebugTrace::startRange(QDeclarativeDebugTrace::Creating);
- QDeclarativeDebugTrace::rangeData(QDeclarativeDebugTrace::Creating, cc->url);
QDeclarativeContextData *ctxt = new QDeclarativeContextData;
ctxt->isInternal = true;
- ctxt->url = cc->url;
- ctxt->imports = cc->importCache;
+ ctxt->url = component->url;
+ ctxt->imports = component->importCache;
// Nested global imports
- if (creationContext && start != -1)
- ctxt->importedScripts = creationContext->importedScripts;
-
- cc->importCache->addref();
- ctxt->setParent(context);
-
- QObject *rv = begin(ctxt, ep, cc, start, count, &state, bindings);
+ if (componentCreationContext && start != -1)
+ ctxt->importedScripts = componentCreationContext->importedScripts;
- if (ep->isDebugging && rv) {
- if (!context->isInternal)
- context->asQDeclarativeContextPrivate()->instances.append(rv);
- QDeclarativeEngineDebugServer::instance()->objectCreated(engine, rv);
- }
-
- return rv;
-}
+ component->importCache->addref();
+ ctxt->setParent(parentContext);
-QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *ctxt, QDeclarativeEnginePrivate *enginePriv,
- QDeclarativeCompiledData *component, int start, int count,
- ConstructionState *state, const QBitField &bindings)
-{
- bool isRoot = !enginePriv->inBeginCreate;
enginePriv->inBeginCreate = true;
QDeclarativeVME vme;
QObject *rv = vme.run(ctxt, component, start, count, bindings);
- if (vme.isError())
- state->errors = vme.errors();
+ if (vme.isError()) {
+ if(errors) *errors = vme.errors();
+ else state->errors = vme.errors();
+ }
if (isRoot) {
enginePriv->inBeginCreate = false;
@@ -794,6 +828,12 @@ QObject * QDeclarativeComponentPrivate::begin(QDeclarativeContextData *ctxt, QDe
enginePriv->inProgressCreations++;
}
+ if (enginePriv->isDebugging && rv) {
+ if (!parentContext->isInternal)
+ parentContext->asQDeclarativeContextPrivate()->instances.append(rv);
+ QDeclarativeEngineDebugServer::instance()->objectCreated(parentContext->engine, rv);
+ }
+
return rv;
}
diff --git a/src/declarative/qml/qdeclarativecomponent_p.h b/src/declarative/qml/qdeclarativecomponent_p.h
index a551cc8..7b30bad 100644
--- a/src/declarative/qml/qdeclarativecomponent_p.h
+++ b/src/declarative/qml/qdeclarativecomponent_p.h
@@ -109,9 +109,10 @@ public:
};
ConstructionState state;
- static QObject *begin(QDeclarativeContextData *ctxt, QDeclarativeEnginePrivate *enginePriv,
- QDeclarativeCompiledData *component, int start, int count,
- ConstructionState *state, const QBitField &bindings = QBitField());
+ static QObject *begin(QDeclarativeContextData *parentContext, QDeclarativeContextData *componentCreationContext,
+ QDeclarativeCompiledData *component, int start, int count,
+ ConstructionState *state, QList<QDeclarativeError> *errors,
+ const QBitField &bindings = QBitField());
static void beginDeferred(QDeclarativeEnginePrivate *enginePriv, QObject *object,
ConstructionState *state);
static void complete(QDeclarativeEnginePrivate *enginePriv, ConstructionState *state);
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp
index 59d5cfa..3ee0e6f 100644
--- a/src/declarative/qml/qdeclarativecontext.cpp
+++ b/src/declarative/qml/qdeclarativecontext.cpp
@@ -86,9 +86,14 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate()
QDeclarativeComponent component(&engine);
component.setData("import QtQuick 1.0\nListView { model: myModel }", QUrl());
- component.create(context);
+ QObject *window = component.create(context);
\endcode
+ Note it is the responsibility of the creator to delete any QDeclarativeContext it
+ constructs. If the \c context object in the example is no longer needed when the
+ \c window component instance is destroyed, the \c context must be destroyed explicitly.
+ The simplest way to ensure this is to set \c window as the parent of \c context.
+
To simplify binding and maintaining larger data sets, a context object can be set
on a QDeclarativeContext. All the properties of the context object are available
by name in the context, as though they were all individually added through calls
@@ -119,11 +124,13 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate()
All properties added explicitly by QDeclarativeContext::setContextProperty() take
precedence over the context object's properties.
- Contexts form a hierarchy. The root of this hierarchy is the QDeclarativeEngine's
- \l {QDeclarativeEngine::rootContext()}{root context}. A component instance can
- access the data in its own context, as well as all its ancestor contexts. Data
- can be made available to all instances by modifying the
- \l {QDeclarativeEngine::rootContext()}{root context}.
+ \section2 The Context Hierarchy
+
+ Contexts form a hierarchy. The root of this hierarchy is the QML engine's
+ \l {QDeclarativeEngine::rootContext()}{root context}. Child contexts inherit
+ the context properties of their parents; if a child context sets a context property
+ that already exists in its parent, the new context property overrides that of the
+ parent.
The following example defines two contexts - \c context1 and \c context2. The
second context overrides the "b" context property inherited from the first with a
@@ -144,7 +151,7 @@ QDeclarativeContextPrivate::QDeclarativeContextPrivate()
context, their bindings are. If a context is destroyed, the property bindings of
outstanding QML objects will stop evaluating.
- \note Setting the context object or adding new context properties after an object
+ \warning Setting the context object or adding new context properties after an object
has been created in that context is an expensive operation (essentially forcing all bindings
to reevaluate). Thus whenever possible you should complete "setup" of the context
before using it to create any objects.
@@ -467,7 +474,7 @@ int QDeclarativeContextPrivate::context_count(QDeclarativeListProperty<QObject>
{
QDeclarativeContext *context = static_cast<QDeclarativeContext*>(prop->object);
QDeclarativeContextPrivate *d = QDeclarativeContextPrivate::get(context);
- int contextProperty = (int)(intptr_t)prop->data;
+ int contextProperty = (int)(quintptr)prop->data;
if (d->propertyValues.at(contextProperty).userType() != qMetaTypeId<QList<QObject*> >()) {
return 0;
@@ -480,7 +487,7 @@ QObject *QDeclarativeContextPrivate::context_at(QDeclarativeListProperty<QObject
{
QDeclarativeContext *context = static_cast<QDeclarativeContext*>(prop->object);
QDeclarativeContextPrivate *d = QDeclarativeContextPrivate::get(context);
- int contextProperty = (int)(intptr_t)prop->data;
+ int contextProperty = (int)(quintptr)prop->data;
if (d->propertyValues.at(contextProperty).userType() != qMetaTypeId<QList<QObject*> >()) {
return 0;
diff --git a/src/declarative/qml/qdeclarativedata_p.h b/src/declarative/qml/qdeclarativedata_p.h
index def4188..4767169 100644
--- a/src/declarative/qml/qdeclarativedata_p.h
+++ b/src/declarative/qml/qdeclarativedata_p.h
@@ -65,6 +65,7 @@ class QDeclarativeContext;
class QDeclarativePropertyCache;
class QDeclarativeContextData;
class QDeclarativeNotifier;
+class QDeclarativeDataExtended;
// This class is structured in such a way, that simply zero'ing it is the
// default state for elemental object allocations. This is crucial in the
// workings of the QDeclarativeInstruction::CreateSimpleObject instruction.
@@ -150,17 +151,13 @@ public:
}
}
+ bool hasExtendedData() const { return extendedData != 0; }
QDeclarativeNotifier *objectNameNotifier() const;
QHash<int, QObject *> *attachedProperties() const;
- struct ExtendedData {
- ExtendedData();
- ~ExtendedData();
-
- QHash<int, QObject *> attachedProperties;
- void *objectNameNotifier;
- };
- mutable ExtendedData *extendedData;
+private:
+ // For objectNameNotifier and attachedProperties
+ mutable QDeclarativeDataExtended *extendedData;
};
template<class T>
diff --git a/src/declarative/qml/qdeclarativedom_p.h b/src/declarative/qml/qdeclarativedom_p.h
index 6043ead..ee3625c 100644
--- a/src/declarative/qml/qdeclarativedom_p.h
+++ b/src/declarative/qml/qdeclarativedom_p.h
@@ -58,6 +58,8 @@
#include <QtCore/qlist.h>
#include <QtCore/qshareddata.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -76,7 +78,7 @@ class QIODevice;
class QDeclarativeDomDocumentPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDomDocument
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomDocument
{
public:
QDeclarativeDomDocument();
@@ -96,7 +98,7 @@ private:
};
class QDeclarativeDomPropertyPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDomProperty
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomProperty
{
public:
QDeclarativeDomProperty();
@@ -123,7 +125,7 @@ private:
};
class QDeclarativeDomDynamicPropertyPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDomDynamicProperty
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomDynamicProperty
{
public:
QDeclarativeDomDynamicProperty();
@@ -151,7 +153,7 @@ private:
};
class QDeclarativeDomObjectPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDomObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomObject
{
public:
QDeclarativeDomObject();
@@ -196,7 +198,7 @@ private:
class QDeclarativeDomValuePrivate;
class QDeclarativeDomBasicValuePrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDomValueLiteral
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomValueLiteral
{
public:
QDeclarativeDomValueLiteral();
@@ -211,7 +213,7 @@ private:
QSharedDataPointer<QDeclarativeDomBasicValuePrivate> d;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDomValueBinding
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomValueBinding
{
public:
QDeclarativeDomValueBinding();
@@ -226,7 +228,7 @@ private:
QSharedDataPointer<QDeclarativeDomBasicValuePrivate> d;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDomValueValueSource
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomValueValueSource
{
public:
QDeclarativeDomValueValueSource();
@@ -241,7 +243,7 @@ private:
QSharedDataPointer<QDeclarativeDomBasicValuePrivate> d;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDomValueValueInterceptor
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomValueValueInterceptor
{
public:
QDeclarativeDomValueValueInterceptor();
@@ -257,7 +259,7 @@ private:
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDomComponent : public QDeclarativeDomObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomComponent : public QDeclarativeDomObject
{
public:
QDeclarativeDomComponent();
@@ -268,7 +270,7 @@ public:
QDeclarativeDomObject componentRoot() const;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDomValue
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomValue
{
public:
enum Type {
@@ -312,7 +314,7 @@ private:
QSharedDataPointer<QDeclarativeDomValuePrivate> d;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeDomList
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomList
{
public:
QDeclarativeDomList();
@@ -333,7 +335,7 @@ private:
};
class QDeclarativeDomImportPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeDomImport
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeDomImport
{
public:
enum Type { Library, File };
diff --git a/src/declarative/qml/qdeclarativeengine.cpp b/src/declarative/qml/qdeclarativeengine.cpp
index c3fdf36..c646302 100644
--- a/src/declarative/qml/qdeclarativeengine.cpp
+++ b/src/declarative/qml/qdeclarativeengine.cpp
@@ -176,6 +176,7 @@ struct StaticQtMetaObject : public QObject
};
static bool qt_QmlQtModule_registered = false;
+bool QDeclarativeEnginePrivate::qml_debugging_enabled = false;
void QDeclarativeEnginePrivate::defineModule()
{
@@ -608,7 +609,7 @@ QDeclarativeContext *QDeclarativeEngine::rootContext() const
QNetworkAccessManager with specialized caching, proxy and cookie
support.
- The factory must be set before exceuting the engine.
+ The factory must be set before executing the engine.
*/
void QDeclarativeEngine::setNetworkAccessManagerFactory(QDeclarativeNetworkAccessManagerFactory *factory)
{
@@ -878,7 +879,7 @@ void QDeclarativeEngine::setContextForObject(QObject *object, QDeclarativeContex
created by calling QDeclarativeCompnent::create() or
QDeclarativeComponent::beginCreate() which have CppOwnership by
default. The ownership of these root-level objects is considered to
- have been transfered to the C++ caller.
+ have been transferred to the C++ caller.
Objects not-created by QML have CppOwnership by default. The
exception to this is objects returned from a C++ method call. The
@@ -956,7 +957,7 @@ QObject *qmlAttachedPropertiesObjectById(int id, const QObject *object, bool cre
if (!data)
return 0; // Attached properties are only on objects created by QML
- QObject *rv = data->extendedData?data->attachedProperties()->value(id):0;
+ QObject *rv = data->hasExtendedData()?data->attachedProperties()->value(id):0;
if (rv || !create)
return rv;
@@ -984,6 +985,35 @@ QObject *qmlAttachedPropertiesObject(int *idCache, const QObject *object,
return qmlAttachedPropertiesObjectById(*idCache, object, create);
}
+class QDeclarativeDataExtended {
+public:
+ QDeclarativeDataExtended();
+ ~QDeclarativeDataExtended();
+
+ QHash<int, QObject *> attachedProperties;
+ QDeclarativeNotifier objectNameNotifier;
+};
+
+QDeclarativeDataExtended::QDeclarativeDataExtended()
+{
+}
+
+QDeclarativeDataExtended::~QDeclarativeDataExtended()
+{
+}
+
+QDeclarativeNotifier *QDeclarativeData::objectNameNotifier() const
+{
+ if (!extendedData) extendedData = new QDeclarativeDataExtended;
+ return &extendedData->objectNameNotifier;
+}
+
+QHash<int, QObject *> *QDeclarativeData::attachedProperties() const
+{
+ if (!extendedData) extendedData = new QDeclarativeDataExtended;
+ return &extendedData->attachedProperties;
+}
+
void QDeclarativeData::destroyed(QObject *object)
{
if (deferredComponent)
@@ -1074,28 +1104,6 @@ void QDeclarativeData::setBindingBit(QObject *obj, int bit)
bindingBits[bit / 32] |= (1 << (bit % 32));
}
-QDeclarativeData::ExtendedData::ExtendedData()
-: objectNameNotifier(0)
-{
-}
-
-QDeclarativeData::ExtendedData::~ExtendedData()
-{
- ((QDeclarativeNotifier *)&objectNameNotifier)->~QDeclarativeNotifier();
-}
-
-QDeclarativeNotifier *QDeclarativeData::objectNameNotifier() const
-{
- if (!extendedData) extendedData = new ExtendedData;
- return (QDeclarativeNotifier *)&extendedData->objectNameNotifier;
-}
-
-QHash<int, QObject *> *QDeclarativeData::attachedProperties() const
-{
- if (!extendedData) extendedData = new ExtendedData;
- return &extendedData->attachedProperties;
-}
-
/*!
Creates a QScriptValue allowing you to use \a object in QML script.
\a engine is the QDeclarativeEngine it is to be created in.
@@ -2224,6 +2232,8 @@ bool QDeclarative_isFileCaseCorrect(const QString &fileName)
if (a != c)
return false;
}
+#else
+ Q_UNUSED(fileName);
#endif
return true;
diff --git a/src/declarative/qml/qdeclarativeengine_p.h b/src/declarative/qml/qdeclarativeengine_p.h
index 8539fbf..deb4a77 100644
--- a/src/declarative/qml/qdeclarativeengine_p.h
+++ b/src/declarative/qml/qdeclarativeengine_p.h
@@ -321,6 +321,8 @@ public:
static QString urlToLocalFileOrQrc(const QUrl& url);
static void defineModule();
+
+ static bool qml_debugging_enabled;
};
/*!
diff --git a/src/declarative/qml/qdeclarativeenginedebug.cpp b/src/declarative/qml/qdeclarativeenginedebug.cpp
index ed28185..bffe681 100644
--- a/src/declarative/qml/qdeclarativeenginedebug.cpp
+++ b/src/declarative/qml/qdeclarativeenginedebug.cpp
@@ -502,7 +502,8 @@ void QDeclarativeEngineDebugServer::setBinding(int objectId,
property.write(expression);
} else if (hasValidSignal(object, propertyName)) {
QDeclarativeExpression *declarativeExpression = new QDeclarativeExpression(context, object, expression.toString());
- QDeclarativePropertyPrivate::setSignalExpression(property, declarativeExpression);
+ QDeclarativeExpression *oldExpression = QDeclarativePropertyPrivate::setSignalExpression(property, declarativeExpression);
+ declarativeExpression->setSourceLocation(oldExpression->sourceFile(), oldExpression->lineNumber());
} else if (property.isProperty()) {
QDeclarativeBinding *binding = new QDeclarativeBinding(expression.toString(), object, context);
binding->setTarget(property);
diff --git a/src/declarative/qml/qdeclarativeenginedebug_p.h b/src/declarative/qml/qdeclarativeenginedebug_p.h
index 613f1fe..97b8121 100644
--- a/src/declarative/qml/qdeclarativeenginedebug_p.h
+++ b/src/declarative/qml/qdeclarativeenginedebug_p.h
@@ -117,10 +117,10 @@ private:
QList<QDeclarativeEngine *> m_engines;
QDeclarativeWatcher *m_watch;
};
-Q_DECLARATIVE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugServer::QDeclarativeObjectData &);
-Q_DECLARATIVE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugServer::QDeclarativeObjectData &);
-Q_DECLARATIVE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &);
-Q_DECLARATIVE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugServer::QDeclarativeObjectData &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugServer::QDeclarativeObjectData &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &, const QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &);
+Q_DECLARATIVE_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &, QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &);
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeglobal_p.h b/src/declarative/qml/qdeclarativeglobal_p.h
index 65d9b24..31fbb1e 100644
--- a/src/declarative/qml/qdeclarativeglobal_p.h
+++ b/src/declarative/qml/qdeclarativeglobal_p.h
@@ -64,6 +64,12 @@ QT_MODULE(Declarative)
return status == Yes; \
}
+#ifdef Q_OS_SYMBIAN
+#define Q_DECLARATIVE_PRIVATE_EXPORT
+#else
+#define Q_DECLARATIVE_PRIVATE_EXPORT Q_DECLARATIVE_EXPORT
+#endif
+
struct QDeclarativeGraphics_DerivedObject : public QObject
{
void setParent_noEvent(QObject *parent) {
diff --git a/src/declarative/qml/qdeclarativeinfo.cpp b/src/declarative/qml/qdeclarativeinfo.cpp
index c6560dd..56c0599 100644
--- a/src/declarative/qml/qdeclarativeinfo.cpp
+++ b/src/declarative/qml/qdeclarativeinfo.cpp
@@ -55,7 +55,8 @@ QT_BEGIN_NAMESPACE
\fn QDeclarativeInfo qmlInfo(const QObject *object)
\relates QDeclarativeEngine
- \brief Prints warnings messages that include the file and line number for QML types.
+ Prints warning messages that include the file and line number for the
+ specified QML \a object.
When QML types display warning messages, it improves traceability
if they include the QML file and line number on which the
diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h
index 382abd2..9c486d3 100644
--- a/src/declarative/qml/qdeclarativemetatype_p.h
+++ b/src/declarative/qml/qdeclarativemetatype_p.h
@@ -58,6 +58,7 @@
#include <QtCore/qglobal.h>
#include <QtCore/qvariant.h>
#include <QtCore/qbitarray.h>
+#include <private/qdeclarativeglobal_p.h>
QT_BEGIN_NAMESPACE
@@ -65,7 +66,7 @@ class QDeclarativeType;
class QDeclarativeCustomParser;
class QDeclarativeTypePrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeMetaType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeMetaType
{
public:
static bool copy(int type, void *data, const void *copy = 0);
@@ -105,7 +106,7 @@ public:
static QList<QDeclarativePrivate::AutoParentFunction> parentFunctions();
};
-class Q_DECLARATIVE_EXPORT QDeclarativeType
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeType
{
public:
QByteArray typeName() const;
diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
index 61a1f55..eff59df 100644
--- a/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
+++ b/src/declarative/qml/qdeclarativeobjectscriptclass.cpp
@@ -421,7 +421,7 @@ QScriptValue QDeclarativeObjectScriptClass::tostring(QScriptContext *context, QS
ret += QString::fromUtf8(obj->metaObject()->className());
ret += QLatin1String("(0x");
- ret += QString::number((intptr_t)obj,16);
+ ret += QString::number((quintptr)obj,16);
if (!objectName.isEmpty()) {
ret += QLatin1String(", \"");
@@ -838,9 +838,19 @@ QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass::
{
MethodData *method = static_cast<MethodData *>(o);
- if (method->data.flags & QDeclarativePropertyCache::Data::HasArguments) {
+ if (method->data.relatedIndex == -1)
+ return callPrecise(method->object, method->data, ctxt);
+ else
+ return callOverloaded(method, ctxt);
+}
- QMetaMethod m = method->object->metaObject()->method(method->data.coreIndex);
+QDeclarativeObjectMethodScriptClass::Value
+QDeclarativeObjectMethodScriptClass::callPrecise(QObject *object, const QDeclarativePropertyCache::Data &data,
+ QScriptContext *ctxt)
+{
+ if (data.flags & QDeclarativePropertyCache::Data::HasArguments) {
+
+ QMetaMethod m = object->metaObject()->method(data.coreIndex);
QList<QByteArray> argTypeNames = m.parameterTypes();
QVarLengthArray<int, 9> argTypes(argTypeNames.count());
@@ -848,7 +858,7 @@ QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass::
for (int ii = 0; ii < argTypeNames.count(); ++ii) {
argTypes[ii] = QMetaType::type(argTypeNames.at(ii));
if (argTypes[ii] == QVariant::Invalid)
- argTypes[ii] = enumType(method->object->metaObject(), QString::fromLatin1(argTypeNames.at(ii)));
+ argTypes[ii] = enumType(object->metaObject(), QString::fromLatin1(argTypeNames.at(ii)));
if (argTypes[ii] == QVariant::Invalid)
return Value(ctxt, ctxt->throwError(QString::fromLatin1("Unknown method parameter type: %1").arg(QLatin1String(argTypeNames.at(ii)))));
}
@@ -856,39 +866,301 @@ QDeclarativeObjectMethodScriptClass::Value QDeclarativeObjectMethodScriptClass::
if (argTypes.count() > ctxt->argumentCount())
return Value(ctxt, ctxt->throwError(QLatin1String("Insufficient arguments")));
- QVarLengthArray<MetaCallArgument, 9> args(argTypes.count() + 1);
- args[0].initAsType(method->data.propType, engine);
+ return callMethod(object, data.coreIndex, data.propType, argTypes.count(), argTypes.data(), ctxt);
+
+ } else {
+
+ return callMethod(object, data.coreIndex, data.propType, 0, 0, ctxt);
+
+ }
+}
+
+QDeclarativeObjectMethodScriptClass::Value
+QDeclarativeObjectMethodScriptClass::callMethod(QObject *object, int index,
+ int returnType, int argCount, int *argTypes,
+ QScriptContext *ctxt)
+{
+ if (argCount > 0) {
- for (int ii = 0; ii < argTypes.count(); ++ii)
+ QVarLengthArray<MetaCallArgument, 9> args(argCount + 1);
+ args[0].initAsType(returnType, engine);
+
+ for (int ii = 0; ii < argCount; ++ii)
args[ii + 1].fromScriptValue(argTypes[ii], engine, ctxt->argument(ii));
QVarLengthArray<void *, 9> argData(args.count());
for (int ii = 0; ii < args.count(); ++ii)
argData[ii] = args[ii].dataPtr();
- QMetaObject::metacall(method->object, QMetaObject::InvokeMetaMethod, method->data.coreIndex, argData.data());
+ QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, index, argData.data());
return args[0].toValue(engine);
- } else if (method->data.propType != 0) {
-
+ } else if (returnType != 0) {
+
MetaCallArgument arg;
- arg.initAsType(method->data.propType, engine);
+ arg.initAsType(returnType, engine);
void *args[] = { arg.dataPtr() };
- QMetaObject::metacall(method->object, QMetaObject::InvokeMetaMethod, method->data.coreIndex, args);
+ QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, index, args);
return arg.toValue(engine);
} else {
void *args[] = { 0 };
- QMetaObject::metacall(method->object, QMetaObject::InvokeMetaMethod, method->data.coreIndex, args);
+ QMetaObject::metacall(object, QMetaObject::InvokeMetaMethod, index, args);
return Value();
}
- return Value();
+}
+
+/*!
+Resolve the overloaded method to call. The algorithm works conceptually like this:
+ 1. Resolve the set of overloads it is *possible* to call.
+ Impossible overloads include those that have too many parameters or have parameters
+ of unknown type.
+ 2. Filter the set of overloads to only contain those with the closest number of
+ parameters.
+ For example, if we are called with 3 parameters and there are 2 overloads that
+ take 2 parameters and one that takes 3, eliminate the 2 parameter overloads.
+ 3. Find the best remaining overload based on its match score.
+ If two or more overloads have the same match score, call the last one. The match
+ score is constructed by adding the matchScore() result for each of the parameters.
+*/
+QDeclarativeObjectMethodScriptClass::Value
+QDeclarativeObjectMethodScriptClass::callOverloaded(MethodData *method, QScriptContext *ctxt)
+{
+ int argumentCount = ctxt->argumentCount();
+
+ QDeclarativePropertyCache::Data *best = 0;
+ int bestParameterScore = INT_MAX;
+ int bestMatchScore = INT_MAX;
+
+ QDeclarativePropertyCache::Data dummy;
+ QDeclarativePropertyCache::Data *attempt = &method->data;
+
+ do {
+ QList<QByteArray> methodArgTypeNames;
+
+ if (attempt->flags & QDeclarativePropertyCache::Data::HasArguments)
+ methodArgTypeNames = method->object->metaObject()->method(attempt->coreIndex).parameterTypes();
+
+ int methodArgumentCount = methodArgTypeNames.count();
+
+ if (methodArgumentCount > argumentCount)
+ continue; // We don't have sufficient arguments to call this method
+
+ int methodParameterScore = argumentCount - methodArgumentCount;
+ if (methodParameterScore > bestParameterScore)
+ continue; // We already have a better option
+
+ int methodMatchScore = 0;
+ QVarLengthArray<int, 9> methodArgTypes(methodArgumentCount);
+
+ bool unknownArgument = false;
+ for (int ii = 0; ii < methodArgumentCount; ++ii) {
+ methodArgTypes[ii] = QMetaType::type(methodArgTypeNames.at(ii));
+ if (methodArgTypes[ii] == QVariant::Invalid)
+ methodArgTypes[ii] = enumType(method->object->metaObject(),
+ QString::fromLatin1(methodArgTypeNames.at(ii)));
+ if (methodArgTypes[ii] == QVariant::Invalid) {
+ unknownArgument = true;
+ break;
+ }
+ methodMatchScore += matchScore(ctxt->argument(ii), methodArgTypes[ii], methodArgTypeNames.at(ii));
+ }
+ if (unknownArgument)
+ continue; // We don't understand all the parameters
+
+ if (bestParameterScore > methodParameterScore || bestMatchScore > methodMatchScore) {
+ best = attempt;
+ bestParameterScore = methodParameterScore;
+ bestMatchScore = methodMatchScore;
+ }
+
+ if (bestParameterScore == 0 && bestMatchScore == 0)
+ break; // We can't get better than that
+
+ } while((attempt = relatedMethod(method->object, attempt, dummy)) != 0);
+
+ if (best) {
+ return callPrecise(method->object, *best, ctxt);
+ } else {
+ QString error = QLatin1String("Unable to determine callable overload. Candidates are:");
+ QDeclarativePropertyCache::Data *candidate = &method->data;
+ while (candidate) {
+ error += QLatin1String("\n ") + QString::fromUtf8(method->object->metaObject()->method(candidate->coreIndex).signature());
+ candidate = relatedMethod(method->object, candidate, dummy);
+ }
+ return Value(ctxt, ctxt->throwError(error));
+ }
+}
+
+/*!
+ Returns the match score for converting \a actual to be of type \a conversionType. A
+ zero score means "perfect match" whereas a higher score is worse.
+
+ The conversion table is copied out of the QtScript callQtMethod() function.
+*/
+int QDeclarativeObjectMethodScriptClass::matchScore(const QScriptValue &actual, int conversionType,
+ const QByteArray &conversionTypeName)
+{
+ if (actual.isNumber()) {
+ switch (conversionType) {
+ case QMetaType::Double:
+ return 0;
+ case QMetaType::Float:
+ return 1;
+ case QMetaType::LongLong:
+ case QMetaType::ULongLong:
+ return 2;
+ case QMetaType::Long:
+ case QMetaType::ULong:
+ return 3;
+ case QMetaType::Int:
+ case QMetaType::UInt:
+ return 4;
+ case QMetaType::Short:
+ case QMetaType::UShort:
+ return 5;
+ break;
+ case QMetaType::Char:
+ case QMetaType::UChar:
+ return 6;
+ default:
+ return 10;
+ }
+ } else if (actual.isString()) {
+ switch (conversionType) {
+ case QMetaType::QString:
+ return 0;
+ default:
+ return 10;
+ }
+ } else if (actual.isBoolean()) {
+ switch (conversionType) {
+ case QMetaType::Bool:
+ return 0;
+ default:
+ return 10;
+ }
+ } else if (actual.isDate()) {
+ switch (conversionType) {
+ case QMetaType::QDateTime:
+ return 0;
+ case QMetaType::QDate:
+ return 1;
+ case QMetaType::QTime:
+ return 2;
+ default:
+ return 10;
+ }
+ } else if (actual.isRegExp()) {
+ switch (conversionType) {
+ case QMetaType::QRegExp:
+ return 0;
+ default:
+ return 10;
+ }
+ } else if (actual.isVariant()) {
+ if (conversionType == qMetaTypeId<QVariant>())
+ return 0;
+ else if (actual.toVariant().userType() == conversionType)
+ return 0;
+ else
+ return 10;
+ } else if (actual.isArray()) {
+ switch (conversionType) {
+ case QMetaType::QStringList:
+ case QMetaType::QVariantList:
+ return 5;
+ default:
+ return 10;
+ }
+ } else if (actual.isQObject()) {
+ switch (conversionType) {
+ case QMetaType::QObjectStar:
+ return 0;
+ default:
+ return 10;
+ }
+ } else if (actual.isNull()) {
+ switch (conversionType) {
+ case QMetaType::VoidStar:
+ case QMetaType::QObjectStar:
+ return 0;
+ default:
+ if (!conversionTypeName.endsWith('*'))
+ return 10;
+ else
+ return 0;
+ }
+ } else {
+ return 10;
+ }
+}
+
+static inline int QMetaObject_methods(const QMetaObject *metaObject)
+{
+ struct Private
+ {
+ int revision;
+ int className;
+ int classInfoCount, classInfoData;
+ int methodCount, methodData;
+ };
+
+ return reinterpret_cast<const Private *>(metaObject->d.data)->methodCount;
+}
+
+static QByteArray QMetaMethod_name(const QMetaMethod &m)
+{
+ QByteArray sig = m.signature();
+ int paren = sig.indexOf('(');
+ if (paren == -1)
+ return sig;
+ else
+ return sig.left(paren);
+}
+
+/*!
+Returns the next related method, if one, or 0.
+*/
+QDeclarativePropertyCache::Data *
+QDeclarativeObjectMethodScriptClass::relatedMethod(QObject *object, QDeclarativePropertyCache::Data *current,
+ QDeclarativePropertyCache::Data &dummy)
+{
+ QDeclarativePropertyCache *cache = QDeclarativeData::get(object)->propertyCache;
+ if (current->relatedIndex == -1)
+ return 0;
+
+ if (cache) {
+ return cache->method(current->relatedIndex);
+ } else {
+ const QMetaObject *mo = object->metaObject();
+ int methodOffset = mo->methodCount() - QMetaObject_methods(mo);
+
+ while (methodOffset > current->relatedIndex) {
+ mo = mo->superClass();
+ methodOffset -= QMetaObject_methods(mo);
+ }
+
+ QMetaMethod method = mo->method(current->relatedIndex);
+ dummy.load(method);
+
+ // Look for overloaded methods
+ QByteArray methodName = QMetaMethod_name(method);
+ for (int ii = current->relatedIndex - 1; ii >= methodOffset; --ii) {
+ if (methodName == QMetaMethod_name(mo->method(ii))) {
+ dummy.relatedIndex = ii;
+ return &dummy;
+ }
+ }
+
+ return &dummy;
+ }
}
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativeobjectscriptclass_p.h b/src/declarative/qml/qdeclarativeobjectscriptclass_p.h
index 75e384c..7956c40 100644
--- a/src/declarative/qml/qdeclarativeobjectscriptclass_p.h
+++ b/src/declarative/qml/qdeclarativeobjectscriptclass_p.h
@@ -65,6 +65,7 @@ class QDeclarativeEngine;
class QScriptContext;
class QScriptEngine;
class QDeclarativeContextData;
+class MethodData;
class Q_AUTOTEST_EXPORT QDeclarativeObjectMethodScriptClass : public QScriptDeclarativeClass
{
@@ -82,6 +83,14 @@ protected:
private:
int enumType(const QMetaObject *, const QString &);
+ Value callPrecise(QObject *, const QDeclarativePropertyCache::Data &, QScriptContext *);
+ Value callOverloaded(MethodData *, QScriptContext *);
+ Value callMethod(QObject *, int index, int returnType, int argCount, int *argTypes, QScriptContext *ctxt);
+
+ int matchScore(const QScriptValue &, int, const QByteArray &);
+ QDeclarativePropertyCache::Data *relatedMethod(QObject *, QDeclarativePropertyCache::Data *current,
+ QDeclarativePropertyCache::Data &dummy);
+
PersistentIdentifier m_connectId;
PersistentIdentifier m_disconnectId;
QScriptValue m_connect;
diff --git a/src/declarative/qml/qdeclarativeparser_p.h b/src/declarative/qml/qdeclarativeparser_p.h
index c58aebc..77184c2 100644
--- a/src/declarative/qml/qdeclarativeparser_p.h
+++ b/src/declarative/qml/qdeclarativeparser_p.h
@@ -54,7 +54,6 @@
//
#include "qdeclarative.h"
-#include "private/qdeclarativerefcount_p.h"
#include <QtCore/qbytearray.h>
#include <QtCore/qlist.h>
@@ -63,6 +62,8 @@
#include <QtCore/qstringlist.h>
#include <private/qobject_p.h>
+#include <private/qdeclarativerefcount_p.h>
+#include <private/qdeclarativeglobal_p.h>
QT_BEGIN_HEADER
@@ -355,7 +356,7 @@ namespace QDeclarativeParser
// True if the setting of this property will be deferred. Set by the
// QDeclarativeCompiler
bool isDeferred;
- // True if this property is a value-type psuedo-property
+ // True if this property is a value-type pseudo-property
bool isValueTypeSubProperty;
LocationSpan location;
diff --git a/src/declarative/qml/qdeclarativeprivate.h b/src/declarative/qml/qdeclarativeprivate.h
index d45ddbc..388c92e 100644
--- a/src/declarative/qml/qdeclarativeprivate.h
+++ b/src/declarative/qml/qdeclarativeprivate.h
@@ -55,9 +55,6 @@
#include <QtCore/qglobal.h>
#include <QtCore/qvariant.h>
-#ifndef Q_OS_WIN
-#include <stdint.h>
-#endif
QT_BEGIN_HEADER
@@ -105,7 +102,7 @@ namespace QDeclarativePrivate
template<class From, class To>
struct StaticCastSelectorClass<From, To, sizeof(int)>
{
- static inline int cast() { return int(reinterpret_cast<intptr_t>(static_cast<To *>(reinterpret_cast<From *>(0x10000000)))) - 0x10000000; }
+ static inline int cast() { return int(reinterpret_cast<quintptr>(static_cast<To *>(reinterpret_cast<From *>(0x10000000)))) - 0x10000000; }
};
template<class From, class To>
diff --git a/src/declarative/qml/qdeclarativeproperty.cpp b/src/declarative/qml/qdeclarativeproperty.cpp
index b5fb619..1395e97 100644
--- a/src/declarative/qml/qdeclarativeproperty.cpp
+++ b/src/declarative/qml/qdeclarativeproperty.cpp
@@ -1408,8 +1408,8 @@ static inline void flush_vme_signal(const QObject *object, int index)
int methodOffset = metaObject->methodOffset();
while (methodOffset > index) {
- methodOffset -= QMetaObject_methods(metaObject);
metaObject = metaObject->d.superdata;
+ methodOffset -= QMetaObject_methods(metaObject);
}
QDeclarativeVMEMetaObject *vme =
diff --git a/src/declarative/qml/qdeclarativeproperty_p.h b/src/declarative/qml/qdeclarativeproperty_p.h
index a8438c8..a9d6979 100644
--- a/src/declarative/qml/qdeclarativeproperty_p.h
+++ b/src/declarative/qml/qdeclarativeproperty_p.h
@@ -55,17 +55,17 @@
#include "qdeclarativeproperty.h"
-#include "private/qdeclarativepropertycache_p.h"
-#include "private/qdeclarativeguard_p.h"
-
#include <private/qobject_p.h>
+#include <private/qdeclarativeglobal_p.h>
+#include <private/qdeclarativepropertycache_p.h>
+#include <private/qdeclarativeguard_p.h>
QT_BEGIN_NAMESPACE
class QDeclarativeContext;
class QDeclarativeEnginePrivate;
class QDeclarativeExpression;
-class Q_DECLARATIVE_EXPORT QDeclarativePropertyPrivate
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativePropertyPrivate
{
public:
enum WriteFlag { BypassInterceptor = 0x01, DontRemoveBinding = 0x02 };
diff --git a/src/declarative/qml/qdeclarativepropertycache.cpp b/src/declarative/qml/qdeclarativepropertycache.cpp
index 9e1ceb8..dd9a224 100644
--- a/src/declarative/qml/qdeclarativepropertycache.cpp
+++ b/src/declarative/qml/qdeclarativepropertycache.cpp
@@ -93,6 +93,7 @@ void QDeclarativePropertyCache::Data::load(const QMetaProperty &p, QDeclarativeE
void QDeclarativePropertyCache::Data::load(const QMetaMethod &m)
{
coreIndex = m.methodIndex();
+ relatedIndex = -1;
flags |= Data::IsFunction;
if (m.methodType() == QMetaMethod::Signal)
flags |= Data::IsSignal;
@@ -140,15 +141,25 @@ void QDeclarativePropertyCache::clear()
if (indexCache.at(ii)) indexCache.at(ii)->release();
}
+ for (int ii = 0; ii < methodIndexCache.count(); ++ii) {
+ RData *data = methodIndexCache.at(ii);
+ if (data) data->release();
+ }
+
for (StringCache::ConstIterator iter = stringCache.begin();
- iter != stringCache.end(); ++iter)
- (*iter)->release();
+ iter != stringCache.end(); ++iter) {
+ RData *data = (*iter);
+ data->release();
+ }
for (IdentifierCache::ConstIterator iter = identifierCache.begin();
- iter != identifierCache.end(); ++iter)
- (*iter)->release();
+ iter != identifierCache.end(); ++iter) {
+ RData *data = (*iter);
+ data->release();
+ }
indexCache.clear();
+ methodIndexCache.clear();
stringCache.clear();
identifierCache.clear();
}
@@ -202,12 +213,16 @@ QDeclarativePropertyCache *QDeclarativePropertyCache::copy() const
{
QDeclarativePropertyCache *cache = new QDeclarativePropertyCache(engine);
cache->indexCache = indexCache;
+ cache->methodIndexCache = methodIndexCache;
cache->stringCache = stringCache;
cache->identifierCache = identifierCache;
for (int ii = 0; ii < indexCache.count(); ++ii) {
if (indexCache.at(ii)) indexCache.at(ii)->addref();
}
+ for (int ii = 0; ii < methodIndexCache.count(); ++ii) {
+ if (methodIndexCache.at(ii)) methodIndexCache.at(ii)->addref();
+ }
for (StringCache::ConstIterator iter = stringCache.begin(); iter != stringCache.end(); ++iter)
(*iter)->addref();
for (IdentifierCache::ConstIterator iter = identifierCache.begin(); iter != identifierCache.end(); ++iter)
@@ -221,43 +236,14 @@ void QDeclarativePropertyCache::append(QDeclarativeEngine *engine, const QMetaOb
{
QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(engine);
- int propCount = metaObject->propertyCount();
- int propOffset = metaObject->propertyOffset();
-
- indexCache.resize(propCount);
- for (int ii = propOffset; ii < propCount; ++ii) {
- QMetaProperty p = metaObject->property(ii);
- if (!p.isScriptable())
- continue;
-
- QString propName = QString::fromUtf8(p.name());
-
- RData *data = new RData;
- data->identifier = enginePriv->objectClass->createPersistentIdentifier(propName);
-
- data->load(p, engine);
- data->flags |= propertyFlags;
-
- indexCache[ii] = data;
-
- if (stringCache.contains(propName)) {
- stringCache[propName]->release();
- identifierCache[data->identifier.identifier]->release();
- }
-
- stringCache.insert(propName, data);
- identifierCache.insert(data->identifier.identifier, data);
- data->addref();
- data->addref();
- }
-
int methodCount = metaObject->methodCount();
- int methodOffset = qMax(2, metaObject->methodOffset()); // 2 to block the destroyed signal
+ // 3 to block the destroyed signal and the deleteLater() slot
+ int methodOffset = qMax(3, metaObject->methodOffset());
methodIndexCache.resize(methodCount);
for (int ii = methodOffset; ii < methodCount; ++ii) {
QMetaMethod m = metaObject->method(ii);
- if (m.access() == QMetaMethod::Private)
+ if (m.access() == QMetaMethod::Private)
continue;
QString methodName = QString::fromUtf8(m.signature());
@@ -267,11 +253,7 @@ void QDeclarativePropertyCache::append(QDeclarativeEngine *engine, const QMetaOb
RData *data = new RData;
data->identifier = enginePriv->objectClass->createPersistentIdentifier(methodName);
-
- if (stringCache.contains(methodName)) {
- stringCache[methodName]->release();
- identifierCache[data->identifier.identifier]->release();
- }
+ methodIndexCache[ii] = data;
data->load(m);
if (m.methodType() == QMetaMethod::Slot || m.methodType() == QMetaMethod::Method)
@@ -279,73 +261,73 @@ void QDeclarativePropertyCache::append(QDeclarativeEngine *engine, const QMetaOb
else if (m.methodType() == QMetaMethod::Signal)
data->flags |= signalFlags;
- methodIndexCache[ii] = data;
+ if (stringCache.contains(methodName)) {
+ RData *old = stringCache[methodName];
+ // We only overload methods in the same class, exactly like C++
+ if (old->flags & Data::IsFunction && old->coreIndex >= methodOffset)
+ data->relatedIndex = old->coreIndex;
+ stringCache[methodName]->release();
+ identifierCache[data->identifier.identifier]->release();
+ }
stringCache.insert(methodName, data);
identifierCache.insert(data->identifier.identifier, data);
data->addref();
+ data->addref();
}
-}
-
-void QDeclarativePropertyCache::update(QDeclarativeEngine *engine, const QMetaObject *metaObject)
-{
- Q_ASSERT(engine);
- Q_ASSERT(metaObject);
- QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(engine);
-
- clear();
- // ### The properties/methods should probably be spliced on a per-metaobject basis
int propCount = metaObject->propertyCount();
+ int propOffset = metaObject->propertyOffset();
indexCache.resize(propCount);
- for (int ii = propCount - 1; ii >= 0; --ii) {
+ for (int ii = propOffset; ii < propCount; ++ii) {
QMetaProperty p = metaObject->property(ii);
- if (!p.isScriptable()) {
- indexCache[ii] = 0;
+ if (!p.isScriptable())
continue;
- }
+
QString propName = QString::fromUtf8(p.name());
RData *data = new RData;
data->identifier = enginePriv->objectClass->createPersistentIdentifier(propName);
+ indexCache[ii] = data;
data->load(p, engine);
+ data->flags |= propertyFlags;
- indexCache[ii] = data;
-
- if (stringCache.contains(propName))
- continue;
+ if (stringCache.contains(propName)) {
+ stringCache[propName]->release();
+ identifierCache[data->identifier.identifier]->release();
+ }
stringCache.insert(propName, data);
identifierCache.insert(data->identifier.identifier, data);
data->addref();
data->addref();
}
+}
- int methodCount = metaObject->methodCount();
- for (int ii = methodCount - 1; ii >= 3; --ii) { // >=3 to block the destroyed signal and deleteLater() slot
- QMetaMethod m = metaObject->method(ii);
- if (m.access() == QMetaMethod::Private)
- continue;
- QString methodName = QString::fromUtf8(m.signature());
+void QDeclarativePropertyCache::updateRecur(QDeclarativeEngine *engine, const QMetaObject *metaObject)
+{
+ if (!metaObject)
+ return;
- int parenIdx = methodName.indexOf(QLatin1Char('('));
- Q_ASSERT(parenIdx != -1);
- methodName = methodName.left(parenIdx);
+ updateRecur(engine, metaObject->superClass());
- if (stringCache.contains(methodName))
- continue;
+ append(engine, metaObject);
+}
- RData *data = new RData;
- data->identifier = enginePriv->objectClass->createPersistentIdentifier(methodName);
+void QDeclarativePropertyCache::update(QDeclarativeEngine *engine, const QMetaObject *metaObject)
+{
+ Q_ASSERT(engine);
+ Q_ASSERT(metaObject);
- data->load(m);
+ clear();
- stringCache.insert(methodName, data);
- identifierCache.insert(data->identifier.identifier, data);
- data->addref();
- }
+ // Optimization to prevent unnecessary reallocation of lists
+ indexCache.reserve(metaObject->propertyCount());
+ methodIndexCache.reserve(metaObject->methodCount());
+
+ updateRecur(engine,metaObject);
}
QDeclarativePropertyCache::Data *
diff --git a/src/declarative/qml/qdeclarativepropertycache_p.h b/src/declarative/qml/qdeclarativepropertycache_p.h
index 79b126d..922010d 100644
--- a/src/declarative/qml/qdeclarativepropertycache_p.h
+++ b/src/declarative/qml/qdeclarativepropertycache_p.h
@@ -96,7 +96,7 @@ public:
IsVMEFunction = 0x00000400,
HasArguments = 0x00000800,
IsSignal = 0x00001000,
- IsVMESignal = 0x00002000,
+ IsVMESignal = 0x00002000
};
Q_DECLARE_FLAGS(Flags, Flag)
@@ -105,7 +105,10 @@ public:
Flags flags;
int propType;
int coreIndex;
- int notifyIndex;
+ union {
+ int notifyIndex; // When !IsFunction
+ int relatedIndex; // When IsFunction
+ };
static Flags flagsForProperty(const QMetaProperty &, QDeclarativeEngine *engine = 0);
void load(const QMetaProperty &, QDeclarativeEngine *engine = 0);
@@ -152,6 +155,8 @@ private:
typedef QHash<QString, RData *> StringCache;
typedef QHash<QScriptDeclarativeClass::Identifier, RData *> IdentifierCache;
+ void updateRecur(QDeclarativeEngine *, const QMetaObject *);
+
QDeclarativeEngine *engine;
IndexCache indexCache;
IndexCache methodIndexCache;
diff --git a/src/declarative/qml/qdeclarativestringconverters_p.h b/src/declarative/qml/qdeclarativestringconverters_p.h
index e6b0abe..b632222 100644
--- a/src/declarative/qml/qdeclarativestringconverters_p.h
+++ b/src/declarative/qml/qdeclarativestringconverters_p.h
@@ -56,6 +56,8 @@
#include <QtCore/qglobal.h>
#include <QtCore/qvariant.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QColor;
@@ -69,19 +71,19 @@ class QVector3D;
// XXX - Bauhaus currently uses these methods which is why they're exported
namespace QDeclarativeStringConverters
{
- QVariant Q_DECLARATIVE_EXPORT variantFromString(const QString &);
- QVariant Q_DECLARATIVE_EXPORT variantFromString(const QString &, int preferredType, bool *ok = 0);
+ QVariant Q_DECLARATIVE_PRIVATE_EXPORT variantFromString(const QString &);
+ QVariant Q_DECLARATIVE_PRIVATE_EXPORT variantFromString(const QString &, int preferredType, bool *ok = 0);
- QColor Q_DECLARATIVE_EXPORT colorFromString(const QString &, bool *ok = 0);
+ QColor Q_DECLARATIVE_PRIVATE_EXPORT colorFromString(const QString &, bool *ok = 0);
#ifndef QT_NO_DATESTRING
- QDate Q_DECLARATIVE_EXPORT dateFromString(const QString &, bool *ok = 0);
- QTime Q_DECLARATIVE_EXPORT timeFromString(const QString &, bool *ok = 0);
- QDateTime Q_DECLARATIVE_EXPORT dateTimeFromString(const QString &, bool *ok = 0);
+ QDate Q_DECLARATIVE_PRIVATE_EXPORT dateFromString(const QString &, bool *ok = 0);
+ QTime Q_DECLARATIVE_PRIVATE_EXPORT timeFromString(const QString &, bool *ok = 0);
+ QDateTime Q_DECLARATIVE_PRIVATE_EXPORT dateTimeFromString(const QString &, bool *ok = 0);
#endif
- QPointF Q_DECLARATIVE_EXPORT pointFFromString(const QString &, bool *ok = 0);
- QSizeF Q_DECLARATIVE_EXPORT sizeFFromString(const QString &, bool *ok = 0);
- QRectF Q_DECLARATIVE_EXPORT rectFFromString(const QString &, bool *ok = 0);
- QVector3D Q_DECLARATIVE_EXPORT vector3DFromString(const QString &, bool *ok = 0);
+ QPointF Q_DECLARATIVE_PRIVATE_EXPORT pointFFromString(const QString &, bool *ok = 0);
+ QSizeF Q_DECLARATIVE_PRIVATE_EXPORT sizeFFromString(const QString &, bool *ok = 0);
+ QRectF Q_DECLARATIVE_PRIVATE_EXPORT rectFFromString(const QString &, bool *ok = 0);
+ QVector3D Q_DECLARATIVE_PRIVATE_EXPORT vector3DFromString(const QString &, bool *ok = 0);
}
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qdeclarativetypeloader.cpp b/src/declarative/qml/qdeclarativetypeloader.cpp
index c8e1a07..c015519 100644
--- a/src/declarative/qml/qdeclarativetypeloader.cpp
+++ b/src/declarative/qml/qdeclarativetypeloader.cpp
@@ -719,7 +719,7 @@ void QDeclarativeTypeLoader::clearCache()
QDeclarativeTypeData::QDeclarativeTypeData(const QUrl &url, QDeclarativeTypeLoader::Options options,
QDeclarativeTypeLoader *manager)
: QDeclarativeDataBlob(url, QmlFile), m_options(options), m_typesResolved(false),
- m_compiledData(0), m_component(0), m_typeLoader(manager)
+ m_compiledData(0), m_typeLoader(manager)
{
}
@@ -768,23 +768,6 @@ QDeclarativeCompiledData *QDeclarativeTypeData::compiledData() const
return m_compiledData;
}
-QDeclarativeComponent *QDeclarativeTypeData::component() const
-{
- if (!m_component) {
-
- if (m_compiledData) {
- m_component = new QDeclarativeComponent(typeLoader()->engine(), m_compiledData, -1, -1, 0);
- } else {
- m_component = new QDeclarativeComponent(typeLoader()->engine());
- QDeclarativeComponentPrivate::get(m_component)->url = finalUrl();
- QDeclarativeComponentPrivate::get(m_component)->state.errors = errors();
- }
-
- }
-
- return m_component;
-}
-
void QDeclarativeTypeData::registerCallback(TypeDataCallback *callback)
{
Q_ASSERT(!m_callbacks.contains(callback));
diff --git a/src/declarative/qml/qdeclarativetypeloader_p.h b/src/declarative/qml/qdeclarativetypeloader_p.h
index 7381f28..718537a 100644
--- a/src/declarative/qml/qdeclarativetypeloader_p.h
+++ b/src/declarative/qml/qdeclarativetypeloader_p.h
@@ -243,7 +243,6 @@ public:
const QList<ScriptReference> &resolvedScripts() const;
QDeclarativeCompiledData *compiledData() const;
- QDeclarativeComponent *component() const;
// Used by QDeclarativeComponent to get notifications
struct TypeDataCallback {
@@ -278,7 +277,6 @@ private:
bool m_typesResolved:1;
QDeclarativeCompiledData *m_compiledData;
- mutable QDeclarativeComponent *m_component;
QList<TypeDataCallback *> m_callbacks;
diff --git a/src/declarative/qml/qdeclarativevaluetype_p.h b/src/declarative/qml/qdeclarativevaluetype_p.h
index 4b1bbd6..06c8669 100644
--- a/src/declarative/qml/qdeclarativevaluetype_p.h
+++ b/src/declarative/qml/qdeclarativevaluetype_p.h
@@ -70,7 +70,7 @@
QT_BEGIN_NAMESPACE
-class Q_DECLARATIVE_EXPORT QDeclarativeValueType : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeValueType : public QObject
{
Q_OBJECT
public:
@@ -81,7 +81,7 @@ public:
virtual void setValue(QVariant) = 0;
};
-class Q_DECLARATIVE_EXPORT QDeclarativeValueTypeFactory
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeValueTypeFactory
{
public:
QDeclarativeValueTypeFactory();
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp
index 360186c..db90aff 100644
--- a/src/declarative/qml/qdeclarativevme.cpp
+++ b/src/declarative/qml/qdeclarativevme.cpp
@@ -185,12 +185,9 @@ QObject *QDeclarativeVME::run(QDeclarativeVMEStack<QObject *> &stack,
bindings = bindings.united(bindingSkipList);
QObject *o =
- types.at(instr.create.type).createInstance(ctxt, bindings);
+ types.at(instr.create.type).createInstance(ctxt, bindings, &vmeErrors);
if (!o) {
- if(types.at(instr.create.type).component)
- vmeErrors << types.at(instr.create.type).component->errors();
-
VME_EXCEPTION(QCoreApplication::translate("QDeclarativeVME","Unable to create object of type %1").arg(QString::fromLatin1(types.at(instr.create.type).className)));
}
@@ -933,8 +930,9 @@ QList<QDeclarativeError> QDeclarativeVME::errors() const
}
QObject *
-QDeclarativeCompiledData::TypeReference::createInstance(QDeclarativeContextData *ctxt,
- const QBitField &bindings) const
+QDeclarativeCompiledData::TypeReference::createInstance(QDeclarativeContextData *ctxt,
+ const QBitField &bindings,
+ QList<QDeclarativeError> *errors) const
{
if (type) {
QObject *rv = 0;
@@ -948,7 +946,7 @@ QDeclarativeCompiledData::TypeReference::createInstance(QDeclarativeContextData
return rv;
} else {
Q_ASSERT(component);
- return QDeclarativeComponentPrivate::get(component)->create(ctxt, bindings);
+ return QDeclarativeComponentPrivate::begin(ctxt, 0, component, -1, -1, 0, errors, bindings);
}
}
diff --git a/src/declarative/qml/qdeclarativeworkerscript.cpp b/src/declarative/qml/qdeclarativeworkerscript.cpp
index 789116e..4b78020 100644
--- a/src/declarative/qml/qdeclarativeworkerscript.cpp
+++ b/src/declarative/qml/qdeclarativeworkerscript.cpp
@@ -52,6 +52,7 @@
#include <QtCore/qwaitcondition.h>
#include <QtScript/qscriptvalueiterator.h>
#include <QtCore/qfile.h>
+#include <QtCore/qdatetime.h>
#include <QtNetwork/qnetworkaccessmanager.h>
#include <QtDeclarative/qdeclarativeinfo.h>
#include "qdeclarativenetworkaccessmanagerfactory.h"
@@ -314,6 +315,12 @@ QVariant QDeclarativeWorkerScriptEnginePrivate::scriptValueToVariant(const QScri
return QVariant(value.toString());
} else if (value.isNumber()) {
return QVariant((qreal)value.toNumber());
+ } else if (value.isDate()) {
+ return QVariant(value.toDateTime());
+#ifndef QT_NO_REGEXP
+ } else if (value.isRegExp()) {
+ return QVariant(value.toRegExp());
+#endif
} else if (value.isArray()) {
QVariantList list;
@@ -364,6 +371,12 @@ QScriptValue QDeclarativeWorkerScriptEnginePrivate::variantToScriptValue(const Q
return QScriptValue(value.toString());
} else if (value.userType() == QMetaType::QReal) {
return QScriptValue(value.toReal());
+ } else if (value.userType() == QVariant::DateTime) {
+ return engine->newDate(value.toDateTime());
+#ifndef QT_NO_REGEXP
+ } else if (value.userType() == QVariant::RegExp) {
+ return engine->newRegExp(value.toRegExp());
+#endif
} else if (value.userType() == qMetaTypeId<QDeclarativeListModelWorkerAgent::VariantRef>()) {
QDeclarativeListModelWorkerAgent::VariantRef vr = qvariant_cast<QDeclarativeListModelWorkerAgent::VariantRef>(value);
if (vr.a->scriptEngine() == 0)
@@ -514,7 +527,7 @@ void QDeclarativeWorkerScriptEngine::run()
/*!
\qmlclass WorkerScript QDeclarativeWorkerScript
- \ingroup qml-utility-elements
+ \ingroup qml-utility-elements
\brief The WorkerScript element enables the use of threads in QML.
Use WorkerScript to run operations in a new thread.
@@ -528,7 +541,7 @@ void QDeclarativeWorkerScriptEngine::run()
\snippet doc/src/snippets/declarative/workerscript.qml 0
- The above worker script specifies a javascript file, "script.js", that handles
+ The above worker script specifies a JavaScript file, "script.js", that handles
the operations to be performed in the new thread. Here is \c script.js:
\qml
@@ -543,6 +556,19 @@ void QDeclarativeWorkerScriptEngine::run()
\tt script.js. This in turn sends a reply message that is then received
by the \tt onMessage() handler of \tt myWorker.
+
+ \section3 Restrictions
+
+ Since the \c WorkerScript.onMessage() function is run in a separate thread, the
+ JavaScript file is evaluated in a context separate from the main QML engine. This means
+ that unlike an ordinary JavaScript file that is imported into QML, the \c script.js
+ in the above example cannot access the properties, methods or other attributes
+ of the QML item, nor can it access any context properties set on the QML object
+ through QDeclarativeContext.
+
+ Additionally, there are restrictions on the types of values that can be passed to and
+ from the worker script. See the sendMessage() documentation for details.
+
\sa {declarative/threading/workerscript}{WorkerScript example},
{declarative/threading/threadedlistmodel}{Threaded ListModel example}
*/
@@ -586,6 +612,19 @@ void QDeclarativeWorkerScript::setSource(const QUrl &source)
Sends the given \a message to a worker script handler in another
thread. The other worker script handler can receive this message
through the onMessage() handler.
+
+ The \c message object may only contain values of the following
+ types:
+
+ \list
+ \o boolean, number, string
+ \o JavaScript objects and arrays
+ \o ListModel objects (any other type of QObject* is not allowed)
+ \endlist
+
+ All objects and arrays are copied to the \c message. With the exception
+ of ListModel objects, any modifications by the other thread to an object
+ passed in \c message will not be reflected in the original object.
*/
void QDeclarativeWorkerScript::sendMessage(const QScriptValue &message)
{
diff --git a/src/declarative/qml/qmetaobjectbuilder.cpp b/src/declarative/qml/qmetaobjectbuilder.cpp
index 58f8811..dfe89f8 100644
--- a/src/declarative/qml/qmetaobjectbuilder.cpp
+++ b/src/declarative/qml/qmetaobjectbuilder.cpp
@@ -41,10 +41,6 @@
#include "private/qmetaobjectbuilder_p.h"
-#ifndef Q_OS_WIN
-#include <stdint.h>
-#endif
-
QT_BEGIN_NAMESPACE
/*!
@@ -1264,8 +1260,8 @@ static int buildMetaObject(QMetaObjectBuilderPrivate *d, char *buf,
char *str = reinterpret_cast<char *>(buf + size);
if (buf) {
if (relocatable) {
- meta->d.stringdata = reinterpret_cast<const char *>((intptr_t)size);
- meta->d.data = reinterpret_cast<uint *>((intptr_t)pmetaSize);
+ meta->d.stringdata = reinterpret_cast<const char *>((quintptr)size);
+ meta->d.data = reinterpret_cast<uint *>((quintptr)pmetaSize);
} else {
meta->d.stringdata = str;
meta->d.data = reinterpret_cast<uint *>(data);
@@ -1502,8 +1498,8 @@ void QMetaObjectBuilder::fromRelocatableData(QMetaObject *output,
const char *buf = data.constData();
const QMetaObject *dataMo = reinterpret_cast<const QMetaObject *>(buf);
- intptr_t stringdataOffset = (intptr_t)dataMo->d.stringdata;
- intptr_t dataOffset = (intptr_t)dataMo->d.data;
+ quintptr stringdataOffset = (quintptr)dataMo->d.stringdata;
+ quintptr dataOffset = (quintptr)dataMo->d.data;
output->d.superdata = superclass;
output->d.stringdata = buf + stringdataOffset;
diff --git a/src/declarative/qml/qmetaobjectbuilder_p.h b/src/declarative/qml/qmetaobjectbuilder_p.h
index dbaf9e6..a90ba63 100644
--- a/src/declarative/qml/qmetaobjectbuilder_p.h
+++ b/src/declarative/qml/qmetaobjectbuilder_p.h
@@ -58,6 +58,8 @@
#include <QtCore/qdatastream.h>
#include <QtCore/qmap.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QMetaObjectBuilderPrivate;
@@ -68,7 +70,7 @@ class QMetaPropertyBuilderPrivate;
class QMetaEnumBuilder;
class QMetaEnumBuilderPrivate;
-class Q_DECLARATIVE_EXPORT QMetaObjectBuilder
+class Q_DECLARATIVE_PRIVATE_EXPORT QMetaObjectBuilder
{
public:
enum AddMember
@@ -193,7 +195,7 @@ private:
friend class QMetaEnumBuilder;
};
-class Q_DECLARATIVE_EXPORT QMetaMethodBuilder
+class Q_DECLARATIVE_PRIVATE_EXPORT QMetaMethodBuilder
{
public:
QMetaMethodBuilder() : _mobj(0), _index(0) {}
@@ -231,7 +233,7 @@ private:
QMetaMethodBuilderPrivate *d_func() const;
};
-class Q_DECLARATIVE_EXPORT QMetaPropertyBuilder
+class Q_DECLARATIVE_PRIVATE_EXPORT QMetaPropertyBuilder
{
public:
QMetaPropertyBuilder() : _mobj(0), _index(0) {}
@@ -282,7 +284,7 @@ private:
QMetaPropertyBuilderPrivate *d_func() const;
};
-class Q_DECLARATIVE_EXPORT QMetaEnumBuilder
+class Q_DECLARATIVE_PRIVATE_EXPORT QMetaEnumBuilder
{
public:
QMetaEnumBuilder() : _mobj(0), _index(0) {}
diff --git a/src/declarative/util/qdeclarativeanimation_p.h b/src/declarative/util/qdeclarativeanimation_p.h
index 8cb17e4..cd90417 100644
--- a/src/declarative/util/qdeclarativeanimation_p.h
+++ b/src/declarative/util/qdeclarativeanimation_p.h
@@ -63,7 +63,7 @@ QT_MODULE(Declarative)
class QDeclarativeAbstractAnimationPrivate;
class QDeclarativeAnimationGroup;
-class Q_DECLARATIVE_EXPORT QDeclarativeAbstractAnimation : public QObject, public QDeclarativePropertyValueSource, public QDeclarativeParserStatus
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeAbstractAnimation : public QObject, public QDeclarativePropertyValueSource, public QDeclarativeParserStatus
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeAbstractAnimation)
@@ -165,7 +165,7 @@ protected:
};
class QDeclarativeScriptActionPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeScriptAction : public QDeclarativeAbstractAnimation
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeScriptAction : public QDeclarativeAbstractAnimation
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeScriptAction)
diff --git a/src/declarative/util/qdeclarativeanimation_p_p.h b/src/declarative/util/qdeclarativeanimation_p_p.h
index e38580c..6305fbd 100644
--- a/src/declarative/util/qdeclarativeanimation_p_p.h
+++ b/src/declarative/util/qdeclarativeanimation_p_p.h
@@ -328,7 +328,7 @@ public:
QDeclarativeBulkValueAnimator *va;
- // for animations that dont use the QDeclarativeBulkValueAnimator
+ // for animations that don't use the QDeclarativeBulkValueAnimator
QDeclarativeStateActions *actions;
static QVariant interpolateVariant(const QVariant &from, const QVariant &to, qreal progress);
diff --git a/src/declarative/util/qdeclarativebehavior_p.h b/src/declarative/util/qdeclarativebehavior_p.h
index 9801fb2..80ed984 100644
--- a/src/declarative/util/qdeclarativebehavior_p.h
+++ b/src/declarative/util/qdeclarativebehavior_p.h
@@ -57,7 +57,7 @@ QT_MODULE(Declarative)
class QDeclarativeAbstractAnimation;
class QDeclarativeBehaviorPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeBehavior : public QObject, public QDeclarativePropertyValueInterceptor
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeBehavior : public QObject, public QDeclarativePropertyValueInterceptor
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeBehavior)
diff --git a/src/declarative/util/qdeclarativefontloader.cpp b/src/declarative/util/qdeclarativefontloader.cpp
index d2f65ef..03a0561 100644
--- a/src/declarative/util/qdeclarativefontloader.cpp
+++ b/src/declarative/util/qdeclarativefontloader.cpp
@@ -220,15 +220,15 @@ void QDeclarativeFontLoader::setSource(const QUrl &url)
fo->download(d->url, qmlEngine(this)->networkAccessManager());
d->status = Loading;
emit statusChanged();
- QObject::connect(fo, SIGNAL(fontDownloaded(QString, QDeclarativeFontLoader::Status)),
- this, SLOT(updateFontInfo(QString, QDeclarativeFontLoader::Status)));
+ QObject::connect(fo, SIGNAL(fontDownloaded(QString,QDeclarativeFontLoader::Status)),
+ this, SLOT(updateFontInfo(QString,QDeclarativeFontLoader::Status)));
} else {
QDeclarativeFontObject *fo = d->fonts[d->url];
if (fo->id == -1) {
d->status = Loading;
emit statusChanged();
- QObject::connect(fo, SIGNAL(fontDownloaded(QString, QDeclarativeFontLoader::Status)),
- this, SLOT(updateFontInfo(QString, QDeclarativeFontLoader::Status)));
+ QObject::connect(fo, SIGNAL(fontDownloaded(QString,QDeclarativeFontLoader::Status)),
+ this, SLOT(updateFontInfo(QString,QDeclarativeFontLoader::Status)));
}
else
updateFontInfo(QFontDatabase::applicationFontFamilies(fo->id).at(0), Ready);
@@ -297,23 +297,25 @@ void QDeclarativeFontLoader::setName(const QString &name)
Use this status to provide an update or respond to the status change in some way.
For example, you could:
- \e {Trigger a state change:}
- \qml
- State { name: 'loaded'; when: loader.status = FontLoader.Ready }
+ \list
+ \o Trigger a state change:
+ \qml
+ State { name: 'loaded'; when: loader.status == FontLoader.Ready }
\endqml
- \e {Implement an \c onStatusChanged signal handler:}
- \qml
+ \o Implement an \c onStatusChanged signal handler:
+ \qml
FontLoader {
id: loader
onStatusChanged: if (loader.status == FontLoader.Ready) console.log('Loaded')
}
\endqml
- \e {Bind to the status value:}
+ \o Bind to the status value:
\qml
- Text { text: loader.status != FontLoader.Ready ? 'Not Loaded' : 'Loaded' }
+ Text { text: loader.status == FontLoader.Ready ? 'Loaded' : 'Not loaded' }
\endqml
+ \endlist
*/
QDeclarativeFontLoader::Status QDeclarativeFontLoader::status() const
{
diff --git a/src/declarative/util/qdeclarativelistmodel_p.h b/src/declarative/util/qdeclarativelistmodel_p.h
index e9673c8..90036f9 100644
--- a/src/declarative/util/qdeclarativelistmodel_p.h
+++ b/src/declarative/util/qdeclarativelistmodel_p.h
@@ -64,7 +64,7 @@ class NestedListModel;
class QDeclarativeListModelWorkerAgent;
struct ModelNode;
class FlatListScriptClass;
-class Q_DECLARATIVE_EXPORT QDeclarativeListModel : public QListModelInterface
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeListModel : public QListModelInterface
{
Q_OBJECT
Q_PROPERTY(int count READ count NOTIFY countChanged)
diff --git a/src/declarative/util/qdeclarativeopenmetaobject.cpp b/src/declarative/util/qdeclarativeopenmetaobject.cpp
index 40485bd..c611435 100644
--- a/src/declarative/util/qdeclarativeopenmetaobject.cpp
+++ b/src/declarative/util/qdeclarativeopenmetaobject.cpp
@@ -186,6 +186,7 @@ QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(QObject *obj, bool automa
d->type->d->referers.insert(this);
QObjectPrivate *op = QObjectPrivate::get(obj);
+ d->parent = static_cast<QAbstractDynamicMetaObject *>(op->metaObject);
*static_cast<QMetaObject *>(this) = *d->type->d->mem;
op->metaObject = this;
}
@@ -201,6 +202,7 @@ QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(QObject *obj, QDeclarativ
d->type->d->referers.insert(this);
QObjectPrivate *op = QObjectPrivate::get(obj);
+ d->parent = static_cast<QAbstractDynamicMetaObject *>(op->metaObject);
*static_cast<QMetaObject *>(this) = *d->type->d->mem;
op->metaObject = this;
}
diff --git a/src/declarative/util/qdeclarativeopenmetaobject_p.h b/src/declarative/util/qdeclarativeopenmetaobject_p.h
index c18fa3d..dff6776 100644
--- a/src/declarative/util/qdeclarativeopenmetaobject_p.h
+++ b/src/declarative/util/qdeclarativeopenmetaobject_p.h
@@ -42,10 +42,11 @@
#ifndef QDECLARATIVEOPENMETAOBJECT_H
#define QDECLARATIVEOPENMETAOBJECT_H
-#include <private/qdeclarativerefcount_p.h>
#include <QtCore/QMetaObject>
#include <QtCore/QObject>
+#include <private/qdeclarativerefcount_p.h>
+#include <private/qdeclarativeglobal_p.h>
#include <private/qobject_p.h>
QT_BEGIN_HEADER
@@ -57,7 +58,7 @@ QT_MODULE(Declarative)
class QDeclarativeEngine;
class QMetaPropertyBuilder;
class QDeclarativeOpenMetaObjectTypePrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeOpenMetaObjectType : public QDeclarativeRefCount
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeOpenMetaObjectType : public QDeclarativeRefCount
{
public:
QDeclarativeOpenMetaObjectType(const QMetaObject *base, QDeclarativeEngine *engine);
@@ -78,7 +79,7 @@ private:
};
class QDeclarativeOpenMetaObjectPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeOpenMetaObject : public QAbstractDynamicMetaObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeOpenMetaObject : public QAbstractDynamicMetaObject
{
public:
QDeclarativeOpenMetaObject(QObject *, bool = true);
diff --git a/src/declarative/util/qdeclarativepixmapcache.cpp b/src/declarative/util/qdeclarativepixmapcache.cpp
index 4fc52f5..380d9bc 100644
--- a/src/declarative/util/qdeclarativepixmapcache.cpp
+++ b/src/declarative/util/qdeclarativepixmapcache.cpp
@@ -93,6 +93,7 @@ public:
QDeclarativePixmapData *data;
QDeclarativePixmapReader *reader;
+ QSize requestSize;
bool loading;
int redirectCount;
@@ -366,7 +367,7 @@ void QDeclarativePixmapReader::networkRequestDone(QNetworkReply *reply)
QByteArray all = reply->readAll();
QBuffer buff(&all);
buff.open(QIODevice::ReadOnly);
- if (!readImage(reply->url(), &buff, &image, &errorString, &readSize, job->data->requestSize)) {
+ if (!readImage(reply->url(), &buff, &image, &errorString, &readSize, job->requestSize)) {
error = QDeclarativePixmapReply::Decoding;
}
}
@@ -683,7 +684,7 @@ void QDeclarativePixmapStore::timerEvent(QTimerEvent *)
}
QDeclarativePixmapReply::QDeclarativePixmapReply(QDeclarativePixmapData *d)
-: data(d), reader(0), loading(false), redirectCount(0)
+: data(d), reader(0), requestSize(d->requestSize), loading(false), redirectCount(0)
{
if (finishedIndex == -1) {
finishedIndex = QDeclarativePixmapReply::staticMetaObject.indexOfSignal("finished()");
diff --git a/src/declarative/util/qdeclarativepropertychanges_p.h b/src/declarative/util/qdeclarativepropertychanges_p.h
index 199928f..449574c 100644
--- a/src/declarative/util/qdeclarativepropertychanges_p.h
+++ b/src/declarative/util/qdeclarativepropertychanges_p.h
@@ -52,7 +52,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativePropertyChangesPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativePropertyChanges : public QDeclarativeStateOperation
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativePropertyChanges : public QDeclarativeStateOperation
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativePropertyChanges)
diff --git a/src/declarative/util/qdeclarativestate.cpp b/src/declarative/util/qdeclarativestate.cpp
index 0f5413e..3915485 100644
--- a/src/declarative/util/qdeclarativestate.cpp
+++ b/src/declarative/util/qdeclarativestate.cpp
@@ -58,7 +58,7 @@ QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(stateChangeDebug, STATECHANGE_DEBUG);
QDeclarativeAction::QDeclarativeAction()
-: restore(true), actionDone(false), reverseEvent(false), deletableToBinding(false), fromBinding(0), toBinding(0), event(0),
+: restore(true), actionDone(false), reverseEvent(false), deletableToBinding(false), fromBinding(0), event(0),
specifiedObject(0)
{
}
@@ -67,7 +67,7 @@ QDeclarativeAction::QDeclarativeAction(QObject *target, const QString &propertyN
const QVariant &value)
: restore(true), actionDone(false), reverseEvent(false), deletableToBinding(false),
property(target, propertyName), toValue(value),
- fromBinding(0), toBinding(0), event(0),
+ fromBinding(0), event(0),
specifiedObject(target), specifiedProperty(propertyName)
{
if (property.isValid())
@@ -78,7 +78,7 @@ QDeclarativeAction::QDeclarativeAction(QObject *target, const QString &propertyN
QDeclarativeContext *context, const QVariant &value)
: restore(true), actionDone(false), reverseEvent(false), deletableToBinding(false),
property(target, propertyName, context), toValue(value),
- fromBinding(0), toBinding(0), event(0),
+ fromBinding(0), event(0),
specifiedObject(target), specifiedProperty(propertyName)
{
if (property.isValid())
@@ -503,11 +503,11 @@ void QDeclarativeState::addEntriesToRevertList(const QList<QDeclarativeAction> &
const QDeclarativeAction &action = actionListIterator.next();
QDeclarativeSimpleAction simpleAction(action);
action.property.write(action.toValue);
- if (action.toBinding) {
+ if (!action.toBinding.isNull()) {
QDeclarativeAbstractBinding *oldBinding = QDeclarativePropertyPrivate::binding(simpleAction.property());
if (oldBinding)
QDeclarativePropertyPrivate::setBinding(simpleAction.property(), 0);
- QDeclarativePropertyPrivate::setBinding(simpleAction.property(), action.toBinding, QDeclarativePropertyPrivate::DontRemoveBinding);
+ QDeclarativePropertyPrivate::setBinding(simpleAction.property(), action.toBinding.data(), QDeclarativePropertyPrivate::DontRemoveBinding);
}
simpleActionList.append(simpleAction);
@@ -675,7 +675,7 @@ void QDeclarativeState::apply(QDeclarativeStateGroup *group, QDeclarativeTransit
a.property = d->revertList.at(ii).property();
a.fromValue = cur;
a.toValue = d->revertList.at(ii).value();
- a.toBinding = d->revertList.at(ii).binding();
+ a.toBinding = QDeclarativeAbstractBinding::getPointer(d->revertList.at(ii).binding());
a.specifiedObject = d->revertList.at(ii).specifiedObject();
a.specifiedProperty = d->revertList.at(ii).specifiedProperty();
a.event = d->revertList.at(ii).event();
diff --git a/src/declarative/util/qdeclarativestate_p.h b/src/declarative/util/qdeclarativestate_p.h
index a0ab11b..7b9c18a 100644
--- a/src/declarative/util/qdeclarativestate_p.h
+++ b/src/declarative/util/qdeclarativestate_p.h
@@ -45,6 +45,8 @@
#include <qdeclarative.h>
#include <qdeclarativeproperty.h>
#include <QtCore/qobject.h>
+#include <private/qdeclarativebinding_p.h>
+#include <private/qdeclarativeglobal_p.h>
QT_BEGIN_HEADER
@@ -56,7 +58,7 @@ class QDeclarativeActionEvent;
class QDeclarativeAbstractBinding;
class QDeclarativeBinding;
class QDeclarativeExpression;
-class Q_DECLARATIVE_EXPORT QDeclarativeAction
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeAction
{
public:
QDeclarativeAction();
@@ -74,7 +76,7 @@ public:
QVariant toValue;
QDeclarativeAbstractBinding *fromBinding;
- QDeclarativeAbstractBinding *toBinding;
+ QDeclarativeAbstractBinding::Pointer toBinding;
QDeclarativeActionEvent *event;
//strictly for matching
diff --git a/src/declarative/util/qdeclarativestate_p_p.h b/src/declarative/util/qdeclarativestate_p_p.h
index 4fd8f21..98c3f7b 100644
--- a/src/declarative/util/qdeclarativestate_p_p.h
+++ b/src/declarative/util/qdeclarativestate_p_p.h
@@ -85,7 +85,7 @@ public:
m_reverseEvent = true;
} else {
m_value = a.toValue;
- m_binding = QDeclarativeAbstractBinding::getPointer(a.toBinding);
+ m_binding = a.toBinding;
m_reverseEvent = false;
}
}
diff --git a/src/declarative/util/qdeclarativestateoperations.cpp b/src/declarative/util/qdeclarativestateoperations.cpp
index 8cb813c..d1d7822 100644
--- a/src/declarative/util/qdeclarativestateoperations.cpp
+++ b/src/declarative/util/qdeclarativestateoperations.cpp
@@ -648,7 +648,7 @@ void QDeclarativeStateChangeScript::setScript(const QDeclarativeScriptString &s)
}
/*!
- \qmlproperty script StateChangeScript::script
+ \qmlproperty string StateChangeScript::name
This property holds the name of the script. This name can be used by a
ScriptAction to target a specific script.
diff --git a/src/declarative/util/qdeclarativetimer_p.h b/src/declarative/util/qdeclarativetimer_p.h
index 08c3d4e..ee3d038 100644
--- a/src/declarative/util/qdeclarativetimer_p.h
+++ b/src/declarative/util/qdeclarativetimer_p.h
@@ -47,6 +47,8 @@
#include <QtCore/qobject.h>
#include <QtCore/qabstractanimation.h>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
@@ -54,7 +56,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
class QDeclarativeTimerPrivate;
-class Q_DECLARATIVE_EXPORT QDeclarativeTimer : public QObject, public QDeclarativeParserStatus
+class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeTimer : public QObject, public QDeclarativeParserStatus
{
Q_OBJECT
Q_DECLARE_PRIVATE(QDeclarativeTimer)
diff --git a/src/declarative/util/qdeclarativetransition.cpp b/src/declarative/util/qdeclarativetransition.cpp
index 478c7f4..c8bc7b3 100644
--- a/src/declarative/util/qdeclarativetransition.cpp
+++ b/src/declarative/util/qdeclarativetransition.cpp
@@ -86,12 +86,16 @@ QT_BEGIN_NAMESPACE
Item {
...
transitions: [
- Transition { ... },
+ Transition { to: "state1" ... },
Transition { ... }
]
}
\endqml
+ If multiple Transitions are specified, only a single (best-matching) Transition will be applied for any particular
+ state change. In the example above, when changing to \c state1, the first transition will be used, rather
+ than the more generic second transition.
+
If a state change has a Transition that matches the same property as a
\l Behavior, the Transition animation overrides the \l Behavior for that
state change.
diff --git a/src/declarative/util/qdeclarativetransitionmanager.cpp b/src/declarative/util/qdeclarativetransitionmanager.cpp
index 89b0044..d19e6f2 100644
--- a/src/declarative/util/qdeclarativetransitionmanager.cpp
+++ b/src/declarative/util/qdeclarativetransitionmanager.cpp
@@ -99,8 +99,8 @@ void QDeclarativeTransitionManager::complete()
void QDeclarativeTransitionManagerPrivate::applyBindings()
{
foreach(const QDeclarativeAction &action, bindingsList) {
- if (action.toBinding) {
- QDeclarativePropertyPrivate::setBinding(action.property, action.toBinding);
+ if (!action.toBinding.isNull()) {
+ QDeclarativePropertyPrivate::setBinding(action.property, action.toBinding.data());
} else if (action.event) {
if (action.reverseEvent)
action.event->reverse();
@@ -145,8 +145,8 @@ void QDeclarativeTransitionManager::transition(const QList<QDeclarativeAction> &
// Apply all the property and binding changes
for (int ii = 0; ii < applyList.size(); ++ii) {
const QDeclarativeAction &action = applyList.at(ii);
- if (action.toBinding) {
- QDeclarativePropertyPrivate::setBinding(action.property, action.toBinding, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
+ if (!action.toBinding.isNull()) {
+ QDeclarativePropertyPrivate::setBinding(action.property, action.toBinding.data(), QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
} else if (!action.event) {
QDeclarativePropertyPrivate::write(action.property, action.toValue, QDeclarativePropertyPrivate::BypassInterceptor | QDeclarativePropertyPrivate::DontRemoveBinding);
} else if (action.event->isReversable()) {
@@ -165,7 +165,7 @@ void QDeclarativeTransitionManager::transition(const QList<QDeclarativeAction> &
continue;
}
const QDeclarativeProperty &prop = action->property;
- if (action->toBinding || !action->toValue.isValid()) {
+ if (!action->toBinding.isNull() || !action->toValue.isValid()) {
action->toValue = prop.read();
}
}
@@ -259,10 +259,10 @@ void QDeclarativeTransitionManager::cancel()
for(int i = 0; i < d->bindingsList.count(); ++i) {
QDeclarativeAction action = d->bindingsList[i];
- if (action.toBinding && action.deletableToBinding) {
+ if (!action.toBinding.isNull() && action.deletableToBinding) {
QDeclarativePropertyPrivate::setBinding(action.property, 0);
- action.toBinding->destroy();
- action.toBinding = 0;
+ action.toBinding.data()->destroy();
+ action.toBinding.clear();
action.deletableToBinding = false;
} else if (action.event) {
//### what do we do here?
diff --git a/src/declarative/util/qdeclarativeview.cpp b/src/declarative/util/qdeclarativeview.cpp
index 2381172..c22f200 100644
--- a/src/declarative/util/qdeclarativeview.cpp
+++ b/src/declarative/util/qdeclarativeview.cpp
@@ -72,6 +72,7 @@
QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(frameRateDebug, QML_SHOW_FRAMERATE)
+extern Q_GUI_EXPORT bool qt_applefontsmoothing_enabled;
class QDeclarativeScene : public QGraphicsScene
{
@@ -191,7 +192,7 @@ void QDeclarativeViewPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem,
/*!
\class QDeclarativeView
- \since 4.7
+ \since 4.7
\brief The QDeclarativeView class provides a widget for displaying a Qt Declarative user interface.
QDeclarativeItem objects can be placed on a standard QGraphicsScene and
@@ -359,13 +360,14 @@ QDeclarativeContext* QDeclarativeView::rootContext() const
}
/*!
- \enum QDeclarativeView::Status
+ \enum QDeclarativeView::Status
Specifies the loading status of the QDeclarativeView.
\value Null This QDeclarativeView has no source set.
\value Ready This QDeclarativeView has loaded and created the QML component.
\value Loading This QDeclarativeView is loading network data.
- \value Error An error has occurred. Call errorDescription() to retrieve a description.
+ \value Error One or more errors has occurred. Call errors() to retrieve a list
+ of errors.
*/
/*! \enum QDeclarativeView::ResizeMode
@@ -696,7 +698,14 @@ void QDeclarativeView::paintEvent(QPaintEvent *event)
if (frameRateDebug())
time = d->frameTimer.restart();
+#ifdef Q_WS_MAC
+ bool oldSmooth = qt_applefontsmoothing_enabled;
+ qt_applefontsmoothing_enabled = false;
+#endif
QGraphicsView::paintEvent(event);
+#ifdef Q_WS_MAC
+ qt_applefontsmoothing_enabled = oldSmooth;
+#endif
QDeclarativeDebugTrace::endRange(QDeclarativeDebugTrace::Painting);
diff --git a/src/declarative/util/qlistmodelinterface.cpp b/src/declarative/util/qlistmodelinterface.cpp
index acf4dd6..1e2dfb7 100644
--- a/src/declarative/util/qlistmodelinterface.cpp
+++ b/src/declarative/util/qlistmodelinterface.cpp
@@ -46,6 +46,7 @@ QT_BEGIN_NAMESPACE
/*!
\internal
\class QListModelInterface
+ \since 4.7
\brief The QListModelInterface class can be subclassed to provide C++ models to QDeclarativeGraphics Views
This class is comprised primarily of pure virtual functions which
@@ -70,15 +71,10 @@ QT_BEGIN_NAMESPACE
Returns the number of data entries in the model.
*/
-/*! \fn QHash<int,QVariant> QListModelInterface::data(int index, const QList<int>& roles) const
+/*! \fn QVariant QListModelInterface::data(int index, int role) const
Returns the data at the given \a index for the specified \a roles.
*/
-/*! \fn bool QListModelInterface::setData(int index, const QHash<int,QVariant>& values)
- Sets the data at the given \a index. \a values is a mapping of
- QVariant values to roles. Returns false.
-*/
-
/*! \fn QList<int> QListModelInterface::roles() const
Returns the list of roles for which the list model interface
provides data.
diff --git a/src/declarative/util/qlistmodelinterface_p.h b/src/declarative/util/qlistmodelinterface_p.h
index 8c8ebb3..8b62fc4 100644
--- a/src/declarative/util/qlistmodelinterface_p.h
+++ b/src/declarative/util/qlistmodelinterface_p.h
@@ -45,13 +45,15 @@
#include <QtCore/QHash>
#include <QtCore/QVariant>
+#include <private/qdeclarativeglobal_p.h>
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
-class Q_DECLARATIVE_EXPORT QListModelInterface : public QObject
+class Q_DECLARATIVE_PRIVATE_EXPORT QListModelInterface : public QObject
{
Q_OBJECT
public:
diff --git a/src/gui/accessible/qaccessible_mac_p.h b/src/gui/accessible/qaccessible_mac_p.h
index 4ee3a2d..e417cb6 100644
--- a/src/gui/accessible/qaccessible_mac_p.h
+++ b/src/gui/accessible/qaccessible_mac_p.h
@@ -122,7 +122,7 @@ private:
QAccessibleInterfaceWrapper wrapper class.
It has the same API as QAccessibleInterface, minus the child parameter
- in the funcitons.
+ in the functions.
*/
class Q_AUTOTEST_EXPORT QAInterface : public QAccessible
{
@@ -432,7 +432,7 @@ public:
/*
QAccessibleHierarchyManager bridges the Mac and Qt accessibility hierarchies.
There is a one-to-one relationship between QAElements on the Mac side
- and QAInterfaces on the Qt side, and this class provies lookup funcitons
+ and QAInterfaces on the Qt side, and this class provides lookup functions
that translates between these to items.
The identity of a QAInterface is determined by its QAccessibleInterface and
diff --git a/src/gui/dialogs/dialogs.pri b/src/gui/dialogs/dialogs.pri
index 4e1b9a7..c25b6d5 100644
--- a/src/gui/dialogs/dialogs.pri
+++ b/src/gui/dialogs/dialogs.pri
@@ -108,6 +108,15 @@ SOURCES += \
dialogs/qwizard.cpp \
dialogs/qprintpreviewdialog.cpp
+symbian:contains(QT_CONFIG, s60) {
+ LIBS += -lcommondialogs
+ SOURCES += dialogs/qfiledialog_symbian.cpp \
+ dialogs/qcolordialog_symbian.cpp
+}
+
FORMS += dialogs/qpagesetupwidget.ui
RESOURCES += dialogs/qprintdialog.qrc
RESOURCES += dialogs/qmessagebox.qrc
+
+# Compensate for lack of platform defines in Symbian3
+symbian: DEFINES += SYMBIAN_VERSION_$$upper($$replace(SYMBIAN_VERSION,\\.,_))
diff --git a/src/gui/dialogs/qabstractprintdialog.cpp b/src/gui/dialogs/qabstractprintdialog.cpp
index 25d9ebb..641419f 100644
--- a/src/gui/dialogs/qabstractprintdialog.cpp
+++ b/src/gui/dialogs/qabstractprintdialog.cpp
@@ -65,6 +65,9 @@ class QPrintDialogPrivate : public QAbstractPrintDialogPrivate
customize settings shown in print dialogs, but it is not used directly.
Use QPrintDialog to display a print dialog in your application.
+ In Symbian, there is no support for printing. Hence, this dialog should not
+ be used in Symbian.
+
\sa QPrintDialog, QPrinter, {Printing with Qt}
*/
diff --git a/src/gui/dialogs/qcolordialog.cpp b/src/gui/dialogs/qcolordialog.cpp
index e9b5720..a66a979 100644
--- a/src/gui/dialogs/qcolordialog.cpp
+++ b/src/gui/dialogs/qcolordialog.cpp
@@ -1952,6 +1952,12 @@ void QColorDialog::open(QObject *receiver, const char *member)
\sa QDialog::open()
*/
+/*
+ For Symbian color dialogs
+*/
+#ifdef Q_WS_S60
+extern QColor qtSymbianGetColor(const QColor &initial);
+#endif
/*!
\since 4.5
@@ -1961,10 +1967,19 @@ void QColorDialog::open(QObject *receiver, const char *member)
QColor::isValid()) color if the user cancels the dialog.
The \a options argument allows you to customize the dialog.
+
+ On Symbian, this static function will use the native color dialog and not a QColorDialog.
+ On Symbian the parameters \a title and \a parent has no relevance and the
+ \a options parameter is only used to define if the native color dialog is
+ used or not.
*/
QColor QColorDialog::getColor(const QColor &initial, QWidget *parent, const QString &title,
ColorDialogOptions options)
{
+#ifdef Q_WS_S60
+ if (!(options & DontUseNativeDialog))
+ return qtSymbianGetColor(initial);
+#endif
QColorDialog dlg(parent);
if (!title.isEmpty())
dlg.setWindowTitle(title);
@@ -1979,10 +1994,16 @@ QColor QColorDialog::getColor(const QColor &initial, QWidget *parent, const QStr
returns that color. The color is initially set to \a initial. The
dialog is a child of \a parent. It returns an invalid (see
QColor::isValid()) color if the user cancels the dialog.
+
+ On Symbian, this static function will use the native
+ color dialog and not a QColorDialog.
*/
QColor QColorDialog::getColor(const QColor &initial, QWidget *parent)
{
+#ifdef Q_WS_S60
+ return qtSymbianGetColor(initial);
+#endif
return getColor(initial, parent, QString(), ColorDialogOptions(0));
}
diff --git a/src/gui/dialogs/qcolordialog_symbian.cpp b/src/gui/dialogs/qcolordialog_symbian.cpp
new file mode 100644
index 0000000..8f73f7c
--- /dev/null
+++ b/src/gui/dialogs/qcolordialog_symbian.cpp
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** 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 "qcolordialog_p.h"
+
+#ifndef QT_NO_COLORDIALOG
+
+
+#include "qcolor.h"
+#include "private/qguiplatformplugin_p.h"
+
+#ifdef Q_WS_S60
+#include <AknColourSelectionGrid.h>
+#endif
+
+#include "private/qt_s60_p.h"
+
+QT_BEGIN_NAMESPACE
+
+QColor launchSymbianColorDialog(QColor initial)
+{
+ QColor currentColor = QColor::Invalid;
+#ifdef Q_WS_S60
+ QT_TRAP_THROWING(
+ CArrayFixFlat<TRgb>* array = new( ELeave ) CArrayFixFlat<TRgb>(17);
+ CleanupStack::PushL(array);
+ array->AppendL(KRgbBlack);
+ array->AppendL(KRgbDarkGray);
+ array->AppendL(KRgbDarkRed);
+ array->AppendL(KRgbDarkGreen);
+ array->AppendL(KRgbDarkYellow);
+ array->AppendL(KRgbDarkBlue);
+ array->AppendL(KRgbDarkMagenta);
+ array->AppendL(KRgbDarkCyan);
+ array->AppendL(KRgbRed);
+ array->AppendL(KRgbGreen);
+ array->AppendL(KRgbYellow);
+ array->AppendL(KRgbBlue);
+ array->AppendL(KRgbMagenta);
+ array->AppendL(KRgbCyan);
+ array->AppendL(KRgbGray);
+ array->AppendL(KRgbWhite);
+
+ TRgb initialColour(initial.red(), initial.green(), initial.blue(), initial.alpha());
+
+ TBool noneChosen = EFalse; // If true shows the default colour button
+ CAknColourSelectionGrid* colourSelectionGrid =
+ CAknColourSelectionGrid::NewL(array, EFalse, noneChosen, initialColour);
+ CleanupStack::PushL(colourSelectionGrid);
+
+ if (colourSelectionGrid->ExecuteLD()) {
+ currentColor.setRgb(initialColour.Red(), initialColour.Green(),
+ initialColour.Blue(), initialColour.Alpha());
+ }
+ CleanupStack::Pop(colourSelectionGrid);
+ CleanupStack::PopAndDestroy(array);
+ );
+#endif
+ return currentColor;
+}
+
+QColor qtSymbianGetColor(const QColor &initial)
+{
+ return launchSymbianColorDialog(initial);
+}
+
+QT_END_NAMESPACE
+
+#endif // QT_NO_COLORDIALOG
diff --git a/src/gui/dialogs/qdialog.cpp b/src/gui/dialogs/qdialog.cpp
index 9e0437c..fbdc522 100644
--- a/src/gui/dialogs/qdialog.cpp
+++ b/src/gui/dialogs/qdialog.cpp
@@ -282,8 +282,8 @@ QDialog::QDialog(QWidget *parent, Qt::WindowFlags f)
QDialog::QDialog(QWidget *parent, const char *name, bool modal, Qt::WindowFlags f)
: QWidget(*new QDialogPrivate, parent,
f
- | QFlag(modal ? Qt::WShowModal : 0)
- | QFlag((f & Qt::WindowType_Mask) == 0 ? Qt::Dialog : 0)
+ | QFlag(modal ? Qt::WShowModal : Qt::WindowType(0))
+ | QFlag((f & Qt::WindowType_Mask) == 0 ? Qt::Dialog : Qt::WindowType(0))
)
{
setObjectName(QString::fromAscii(name));
@@ -1111,7 +1111,7 @@ QSize QDialog::sizeHint() const
// if size is not fixed, try to adjust it according to S60 layoutting
if (minimumSize() != maximumSize()) {
// In S60, dialogs are always the width of screen (in portrait, regardless of current layout)
- return QSize(qMax(S60->screenHeightInPixels, S60->screenWidthInPixels), QWidget::sizeHint().height());
+ return QSize(qMin(S60->screenHeightInPixels, S60->screenWidthInPixels), QWidget::sizeHint().height());
} else {
return QWidget::sizeHint();
}
diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp
index fc3c186..f3f7469 100644
--- a/src/gui/dialogs/qfiledialog.cpp
+++ b/src/gui/dialogs/qfiledialog.cpp
@@ -1616,6 +1616,25 @@ extern QStringList qt_win_get_open_file_names(const QFileDialogArgs &args,
extern QString qt_win_get_existing_directory(const QFileDialogArgs &args);
#endif
+/*
+ For Symbian file dialogs
+*/
+#if defined(Q_WS_S60)
+extern QString qtSymbianGetOpenFileName(const QString &caption,
+ const QString &dir,
+ const QString &filter);
+
+extern QStringList qtSymbianGetOpenFileNames(const QString &caption,
+ const QString &dir,
+ const QString &filter);
+
+extern QString qtSymbianGetSaveFileName(const QString &caption,
+ const QString &dir);
+
+extern QString qtSymbianGetExistingDirectory(const QString &caption,
+ const QString &dir);
+#endif
+
/*!
This is a convenience static function that returns an existing file
selected by the user. If the user presses Cancel, it returns a null string.
@@ -1644,8 +1663,8 @@ extern QString qt_win_get_existing_directory(const QFileDialogArgs &args);
The dialog's caption is set to \a caption. If \a caption is not specified
then a default caption will be used.
- On Windows and Mac OS X, this static function will use the native file
- dialog and not a QFileDialog.
+ On Windows, Mac OS X and Symbian^3, this static function will use the
+ native file dialog and not a QFileDialog.
On Windows the dialog will spin a blocking modal event loop that will not
dispatch any QTimers, and if \a parent is not 0 then it will position the
@@ -1657,6 +1676,10 @@ extern QString qt_win_get_existing_directory(const QFileDialogArgs &args);
\a options includes DontResolveSymlinks, the file dialog will treat
symlinks as regular directories.
+ On Symbian^3 the parameter \a selectedFilter has no meaning and the
+ \a options parameter is only used to define if the native file dialog is
+ used.
+
\warning Do not delete \a parent during the execution of the dialog. If you
want to do this, you should create the dialog yourself using one of the
QFileDialog constructors.
@@ -1672,6 +1695,10 @@ QString QFileDialog::getOpenFileName(QWidget *parent,
{
if (qt_filedialog_open_filename_hook && !(options & DontUseNativeDialog))
return qt_filedialog_open_filename_hook(parent, caption, dir, filter, selectedFilter, options);
+#if defined(Q_WS_S60)
+ if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 && !(options & DontUseNativeDialog))
+ return qtSymbianGetOpenFileName(caption, dir, filter);
+#endif
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
@@ -1722,8 +1749,8 @@ QString QFileDialog::getOpenFileName(QWidget *parent,
The dialog's caption is set to \a caption. If \a caption is not specified
then a default caption will be used.
- On Windows and Mac OS X, this static function will use the native file
- dialog and not a QFileDialog.
+ On Windows, Mac OS X and Symbian^3, this static function will use the
+ native file dialog and not a QFileDialog.
On Windows the dialog will spin a blocking modal event loop that will not
dispatch any QTimers, and if \a parent is not 0 then it will position the
@@ -1741,6 +1768,10 @@ QString QFileDialog::getOpenFileName(QWidget *parent,
\snippet doc/src/snippets/code/src_gui_dialogs_qfiledialog.cpp 10
+ On Symbian^3 the parameter \a selectedFilter has no meaning and the
+ \a options parameter is only used to define if the native file dialog is
+ used.
+
\warning Do not delete \a parent during the execution of the dialog. If you
want to do this, you should create the dialog yourself using one of the
QFileDialog constructors.
@@ -1756,6 +1787,10 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
{
if (qt_filedialog_open_filenames_hook && !(options & DontUseNativeDialog))
return qt_filedialog_open_filenames_hook(parent, caption, dir, filter, selectedFilter, options);
+#if defined(Q_WS_S60)
+ if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 && !(options & DontUseNativeDialog))
+ return qtSymbianGetOpenFileNames(caption, dir, filter);
+#endif
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
@@ -1813,8 +1848,8 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
The dialog's caption is set to \a caption. If \a caption is not specified,
a default caption will be used.
- On Windows and Mac OS X, this static function will use the native file
- dialog and not a QFileDialog.
+ On Windows, Mac OS X and Symbian^3, this static function will use the
+ native file dialog and not a QFileDialog.
On Windows the dialog will spin a blocking modal event loop that will not
dispatch any QTimers, and if \a parent is not 0 then it will position the
@@ -1827,6 +1862,10 @@ QStringList QFileDialog::getOpenFileNames(QWidget *parent,
\a options includes DontResolveSymlinks the file dialog will treat symlinks
as regular directories.
+ On Symbian^3 the parameters \a filter and \a selectedFilter have no
+ meaning. The \a options parameter is only used to define if the native file
+ dialog is used.
+
\warning Do not delete \a parent during the execution of the dialog. If you
want to do this, you should create the dialog yourself using one of the
QFileDialog constructors.
@@ -1842,6 +1881,10 @@ QString QFileDialog::getSaveFileName(QWidget *parent,
{
if (qt_filedialog_save_filename_hook && !(options & DontUseNativeDialog))
return qt_filedialog_save_filename_hook(parent, caption, dir, filter, selectedFilter, options);
+#if defined(Q_WS_S60)
+ if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 && !(options & DontUseNativeDialog))
+ return qtSymbianGetSaveFileName(caption, dir);
+#endif
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
@@ -1890,9 +1933,9 @@ QString QFileDialog::getSaveFileName(QWidget *parent,
pass. To ensure a native file dialog, \l{QFileDialog::}{ShowDirsOnly} must
be set.
- On Windows and Mac OS X, this static function will use the native file
- dialog and not a QFileDialog. On Windows CE, if the device has no native
- file dialog, a QFileDialog will be used.
+ On Windows, Mac OS X and Symbian^3, this static function will use the
+ native file dialog and not a QFileDialog. On Windows CE, if the device has
+ no native file dialog, a QFileDialog will be used.
On Unix/X11, the normal behavior of the file dialog is to resolve and
follow symlinks. For example, if \c{/usr/tmp} is a symlink to \c{/var/tmp},
@@ -1904,6 +1947,9 @@ QString QFileDialog::getSaveFileName(QWidget *parent,
dispatch any QTimers, and if \a parent is not 0 then it will position the
dialog just below the parent's title bar.
+ On Symbian^3 the \a options parameter is only used to define if the native
+ file dialog is used.
+
\warning Do not delete \a parent during the execution of the dialog. If you
want to do this, you should create the dialog yourself using one of the
QFileDialog constructors.
@@ -1917,6 +1963,10 @@ QString QFileDialog::getExistingDirectory(QWidget *parent,
{
if (qt_filedialog_existing_directory_hook && !(options & DontUseNativeDialog))
return qt_filedialog_existing_directory_hook(parent, caption, dir, options);
+#if defined(Q_WS_S60)
+ if (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0 && !(options & DontUseNativeDialog))
+ return qtSymbianGetExistingDirectory(caption, dir);
+#endif
QFileDialogArgs args;
args.parent = parent;
args.caption = caption;
diff --git a/src/gui/dialogs/qfiledialog_symbian.cpp b/src/gui/dialogs/qfiledialog_symbian.cpp
new file mode 100644
index 0000000..1f70305
--- /dev/null
+++ b/src/gui/dialogs/qfiledialog_symbian.cpp
@@ -0,0 +1,196 @@
+/****************************************************************************
+**
+** 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 "qfiledialog.h"
+
+#ifndef QT_NO_FILEDIALOG
+
+#include <private/qfiledialog_p.h>
+#if defined(Q_WS_S60) && defined(SYMBIAN_VERSION_SYMBIAN3)
+#include <driveinfo.h>
+#include <AknCommonDialogsDynMem.h>
+#include <CAknMemorySelectionDialogMultiDrive.h>
+#include <MAknFileFilter.h>
+#endif
+#include "private/qcore_symbian_p.h"
+
+QT_BEGIN_NAMESPACE
+
+enum DialogMode { DialogOpen, DialogSave, DialogFolder };
+#if defined(Q_WS_S60) && defined(SYMBIAN_VERSION_SYMBIAN3)
+class CExtensionFilter : public MAknFileFilter
+{
+public:
+ void setFilter(const QString filter)
+ {
+ filterList.clear();
+ if (filter.left(2) == QLatin1String("*.")) {
+ //Filter has only extensions
+ filterList << filter.split(" ");
+ return;
+ } else {
+ //Extensions are in parenthesis and there may be several filters
+ QStringList separatedFilters(filter.split(QLatin1String(";;")));
+ for (int i = 0; i < separatedFilters.size(); i++) {
+ if (separatedFilters.at(i).contains(QLatin1String("(*)"))) {
+ filterList << QLatin1String("(*)");
+ return;
+ }
+ }
+ QRegExp rx("\\(([^\\)]*)\\)");
+ int pos = 0;
+ while ((pos = rx.indexIn(filter, pos)) != -1) {
+ filterList << rx.cap(1).split(QLatin1String(" "));
+ pos += rx.matchedLength();
+ }
+ }
+ }
+
+ TBool Accept(const TDesC &/*aDriveAndPath*/, const TEntry &aEntry) const
+ {
+ if (aEntry.IsDir())
+ return ETrue;
+
+ //If no filter for files, all can be accepted
+ if (filterList.isEmpty())
+ return ETrue;
+
+ if (filterList == QStringList(QLatin1String("(*)")))
+ return ETrue;
+
+ for (int i = 0; i < filterList.size(); ++i) {
+ QString extension = filterList.at(i);
+ //remove '*' from the beginning of the extension
+ if (extension.at(0) == QLatin1Char('*'))
+ extension = extension.mid(1);
+
+ QString fileName = qt_TDesC2QString(aEntry.iName);
+ if (fileName.endsWith(extension))
+ return ETrue;
+ }
+ return EFalse;
+ }
+
+private:
+ QStringList filterList;
+};
+#endif
+
+static QString launchSymbianDialog(const QString dialogCaption, const QString startDirectory,
+ const QString filter, DialogMode dialogMode)
+{
+ QString selection;
+#if defined(Q_WS_S60) && defined(SYMBIAN_VERSION_SYMBIAN3)
+ QT_TRAP_THROWING(
+ TFileName startFolder;
+ if (!startDirectory.isEmpty()) {
+ QString dir = QDir::toNativeSeparators(startDirectory);
+ startFolder = qt_QString2TPtrC(dir);
+ }
+ TInt types = AknCommonDialogsDynMem::EMemoryTypeMMCExternal|
+ AknCommonDialogsDynMem::EMemoryTypeInternalMassStorage|
+ AknCommonDialogsDynMem::EMemoryTypePhone;
+
+ TPtrC titlePtr(qt_QString2TPtrC(dialogCaption));
+ TFileName target;
+ bool select = false;
+ if (dialogMode == DialogOpen) {
+ CExtensionFilter* extensionFilter = new (ELeave) CExtensionFilter;
+ CleanupStack::PushL(extensionFilter);
+ extensionFilter->setFilter(filter);
+ select = AknCommonDialogsDynMem::RunSelectDlgLD(types, target,
+ startFolder, NULL, NULL, titlePtr, extensionFilter);
+ CleanupStack::Pop(extensionFilter);
+ } else if (dialogMode == DialogSave) {
+ select = AknCommonDialogsDynMem::RunSaveDlgLD(types, target,
+ startFolder, NULL, NULL, titlePtr);
+ } else if (dialogMode == DialogFolder) {
+ select = AknCommonDialogsDynMem::RunFolderSelectDlgLD(types, target, startFolder,
+ 0, 0, titlePtr, NULL, NULL);
+ }
+ if (select)
+ selection.append(qt_TDesC2QString(target));
+ );
+#endif
+ return selection;
+}
+
+QString qtSymbianGetOpenFileName(const QString &caption,
+ const QString &dir,
+ const QString &filter)
+{
+ return launchSymbianDialog(caption, dir, filter, DialogOpen);
+}
+
+QStringList qtSymbianGetOpenFileNames(const QString &caption,
+ const QString &dir,
+ const QString &filter)
+{
+ QString fileName;
+ fileName.append(launchSymbianDialog(caption, dir, filter, DialogOpen));
+ QStringList fileList;
+ fileList << fileName;
+
+ return fileList;
+}
+
+QString qtSymbianGetSaveFileName(const QString &caption,
+ const QString &dir)
+{
+ return launchSymbianDialog(caption, dir, QString(), DialogSave);
+}
+
+QString qtSymbianGetExistingDirectory(const QString &caption,
+ const QString &dir)
+{
+ QString folderCaption;
+ if (!caption.isEmpty()) {
+ folderCaption.append(caption);
+ } else {
+ // Title for folder selection dialog is mandatory
+ folderCaption.append(QFileDialog::tr("Find Directory"));
+ }
+ return launchSymbianDialog(folderCaption, dir, QString(), DialogFolder);
+}
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/gui/dialogs/qfilesystemmodel.cpp b/src/gui/dialogs/qfilesystemmodel.cpp
index 8a6190f..8a9f8ae 100644
--- a/src/gui/dialogs/qfilesystemmodel.cpp
+++ b/src/gui/dialogs/qfilesystemmodel.cpp
@@ -80,11 +80,43 @@ QT_BEGIN_NAMESPACE
directories. In the simplest case, it can be used with a suitable display
widget as part of a browser or filter.
- QFileSystemModel will not fetch any files or directories until setRootPath
+ QFileSystemModel can be accessed using the standard interface provided by
+ QAbstractItemModel, but it also provides some convenience functions that are
+ specific to a directory model.
+ The fileInfo(), isDir(), name(), and path() functions provide information
+ about the underlying files and directories related to items in the model.
+ Directories can be created and removed using mkdir(), rmdir().
+
+ \note QFileSystemModel requires an instance of a GUI application.
+
+ \section1 Example Usage
+
+ A directory model that displays the contents of a default directory
+ is usually constructed with a parent object:
+
+ \snippet doc/src/snippets/shareddirmodel/main.cpp 2
+
+ A tree view can be used to display the contents of the model
+
+ \snippet doc/src/snippets/shareddirmodel/main.cpp 4
+
+ and the contents of a particular directory can be displayed by
+ setting the tree view's root index:
+
+ \snippet doc/src/snippets/shareddirmodel/main.cpp 7
+
+ The view's root index can be used to control how much of a
+ hierarchical model is displayed. QDirModel provides a convenience
+ function that returns a suitable model index for a path to a
+ directory within the model.
+
+ \section1 Caching and Performance
+
+ QFileSystemModel will not fetch any files or directories until setRootPath()
is called. This will prevent any unnecessary querying on the file system
until that point such as listing the drives on Windows.
- Unlike the QDirModel, QFileSystemModel uses a separate thread to populate
+ Unlike QDirModel, QFileSystemModel uses a separate thread to populate
itself so it will not cause the main thread to hang as the file system
is being queried. Calls to rowCount() will return 0 until the model
populates a directory.
@@ -92,15 +124,6 @@ QT_BEGIN_NAMESPACE
QFileSystemModel keeps a cache with file information. The cache is
automatically kept up to date using the QFileSystemWatcher.
- QFileSystemModel can be accessed using the standard interface provided by
- QAbstractItemModel, but it also provides some convenience functions that are
- specific to a directory model.
- The fileInfo(), isDir(), name(), and path() functions provide information
- about the underlying files and directories related to items in the model.
- Directories can be created and removed using mkdir(), rmdir().
-
- \note QFileSystemModel requires an instance of a GUI application.
-
\sa {Model Classes}
*/
diff --git a/src/gui/dialogs/qinputdialog.cpp b/src/gui/dialogs/qinputdialog.cpp
index 700b234..ce27bd3 100644
--- a/src/gui/dialogs/qinputdialog.cpp
+++ b/src/gui/dialogs/qinputdialog.cpp
@@ -231,7 +231,10 @@ void QInputDialogPrivate::ensureLayout()
QObject::connect(buttonBox, SIGNAL(rejected()), q, SLOT(reject()));
mainLayout = new QVBoxLayout(q);
+ //we want to let the input dialog grow to available size on Symbian.
+#ifndef Q_OS_SYMBIAN
mainLayout->setSizeConstraint(QLayout::SetMinAndMaxSize);
+#endif
mainLayout->addWidget(label);
mainLayout->addWidget(inputWidget);
mainLayout->addWidget(buttonBox);
@@ -558,6 +561,9 @@ void QInputDialog::setLabelText(const QString &text)
} else {
d->label->setText(text);
}
+#ifdef Q_OS_SYMBIAN
+ d->label->setWordWrap(true);
+#endif
}
QString QInputDialog::labelText() const
diff --git a/src/gui/dialogs/qmessagebox.cpp b/src/gui/dialogs/qmessagebox.cpp
index fe25b0f..2f8b9e2 100644
--- a/src/gui/dialogs/qmessagebox.cpp
+++ b/src/gui/dialogs/qmessagebox.cpp
@@ -776,10 +776,8 @@ QMessageBox::QMessageBox(QWidget *parent)
added at any time using addButton(). The \a parent and \a f
arguments are passed to the QDialog constructor.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
On Mac OS X, if \a parent is not 0 and you want your message box
to appear as a Qt::Sheet of that parent, set the message box's
@@ -1549,10 +1547,8 @@ static QMessageBox::StandardButton showNewMessageBox(QWidget *parent,
\key Esc was pressed instead, the \l{Default and Escape Keys}
{escape button} is returned.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\sa question(), warning(), critical()
*/
@@ -1579,10 +1575,8 @@ QMessageBox::StandardButton QMessageBox::information(QWidget *parent, const QStr
\key Esc was pressed instead, the \l{Default and Escape Keys}
{escape button} is returned.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\sa information(), warning(), critical()
*/
@@ -1607,10 +1601,8 @@ QMessageBox::StandardButton QMessageBox::question(QWidget *parent, const QString
\key Esc was pressed instead, the \l{Default and Escape Keys}
{escape button} is returned.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\sa question(), information(), critical()
*/
@@ -1635,10 +1627,8 @@ QMessageBox::StandardButton QMessageBox::warning(QWidget *parent, const QString
\key Esc was pressed instead, the \l{Default and Escape Keys}
{escape button} is returned.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -1670,7 +1660,7 @@ QMessageBox::StandardButton QMessageBox::critical(QWidget *parent, const QString
The about box has a single button labelled "OK". On Mac OS X, the
about box is popped up as a modeless window; on other platforms,
- it is currently a window modal.
+ it is currently application modal.
\sa QWidget::windowIcon(), QApplication::activeWindow()
*/
@@ -1723,7 +1713,7 @@ void QMessageBox::about(QWidget *parent, const QString &title, const QString &te
QApplication provides this functionality as a slot.
On Mac OS X, the about box is popped up as a modeless window; on
- other platforms, it is currently window modal.
+ other platforms, it is currently application modal.
\sa QApplication::aboutQt()
*/
@@ -1983,10 +1973,8 @@ void QMessageBoxPrivate::retranslateStrings()
\snippet doc/src/snippets/dialogs/dialogs.cpp 2
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
The \a parent and \a f arguments are passed to
the QDialog constructor.
@@ -2035,10 +2023,8 @@ QMessageBox::QMessageBox(const QString &title, const QString &text, Icon icon,
Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.)
of the button that was clicked.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2073,10 +2059,8 @@ int QMessageBox::information(QWidget *parent, const QString &title, const QStrin
supply 0, 1 or 2 to make pressing \key Esc equivalent to clicking
the relevant button.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2125,10 +2109,8 @@ int QMessageBox::information(QWidget *parent, const QString &title, const QStrin
Returns the identity (QMessageBox::Yes, or QMessageBox::No, etc.)
of the button that was clicked.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2163,10 +2145,8 @@ int QMessageBox::question(QWidget *parent, const QString &title, const QString&
supply 0, 1 or 2 to make pressing Escape equivalent to clicking
the relevant button.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2215,10 +2195,8 @@ int QMessageBox::question(QWidget *parent, const QString &title, const QString&
Returns the identity (QMessageBox::Ok or QMessageBox::No or ...)
of the button that was clicked.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2253,10 +2231,8 @@ int QMessageBox::warning(QWidget *parent, const QString &title, const QString& t
supply 0, 1, or 2 to make pressing Escape equivalent to clicking
the relevant button.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2304,10 +2280,8 @@ int QMessageBox::warning(QWidget *parent, const QString &title, const QString& t
Returns the identity (QMessageBox::Ok, or QMessageBox::No, etc.)
of the button that was clicked.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
@@ -2343,10 +2317,8 @@ int QMessageBox::critical(QWidget *parent, const QString &title, const QString&
supply 0, 1, or 2 to make pressing Escape equivalent to clicking
the relevant button.
- If \a parent is 0, the message box is an \l{Qt::ApplicationModal}
- {application modal} dialog box. If \a parent is a widget, the
- message box is \l{Qt::WindowModal} {window modal} relative to \a
- parent.
+ The message box is an \l{Qt::ApplicationModal} {application modal}
+ dialog box.
\warning Do not delete \a parent during the execution of the dialog.
If you want to do this, you should create the dialog
diff --git a/src/gui/dialogs/qpagesetupdialog.cpp b/src/gui/dialogs/qpagesetupdialog.cpp
index 141a687..4f8c258 100644
--- a/src/gui/dialogs/qpagesetupdialog.cpp
+++ b/src/gui/dialogs/qpagesetupdialog.cpp
@@ -62,6 +62,9 @@ QT_BEGIN_NAMESPACE
page margins set on a QPrinter won't show in the native Mac OS X
page setup dialog.
+ In Symbian, there is no support for printing. Hence, this dialog should not
+ be used in Symbian.
+
\sa QPrinter, QPrintDialog
*/
diff --git a/src/gui/dialogs/qprintpreviewdialog.cpp b/src/gui/dialogs/qprintpreviewdialog.cpp
index f21343e..d74742a 100644
--- a/src/gui/dialogs/qprintpreviewdialog.cpp
+++ b/src/gui/dialogs/qprintpreviewdialog.cpp
@@ -676,6 +676,8 @@ void QPrintPreviewDialogPrivate::_q_zoomFactorChanged()
Call QPrintPreviewDialog::exec() to show the preview dialog.
\endlist
+ In Symbian, there is no support for printing. Hence, this dialog should not
+ be used in Symbian.
\sa QPrinter, QPrintDialog, QPageSetupDialog, QPrintPreviewWidget
*/
diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp
index af3b79a..9b41909 100644
--- a/src/gui/egl/qegl.cpp
+++ b/src/gui/egl/qegl.cpp
@@ -210,7 +210,7 @@ EGLConfig QEgl::defaultConfig(int devType, API api, ConfigOptions options)
else
configId = qgetenv("QT_GL_EGL_CONFIG");
if (!configId.isEmpty()) {
- // Overriden, so get the EGLConfig for the specified config ID:
+ // Overridden, so get the EGLConfig for the specified config ID:
EGLint properties[] = {
EGL_CONFIG_ID, (EGLint)configId.toInt(),
EGL_NONE
@@ -267,7 +267,7 @@ EGLConfig QEgl::defaultConfig(int devType, API api, ConfigOptions options)
configAttribs.setValue(EGL_STENCIL_SIZE, 1);
configAttribs.setValue(EGL_SAMPLE_BUFFERS, 1);
#ifndef QT_OPENGL_ES_2
- // Aditionally, the GL1 engine likes to have a depth buffer for clipping
+ // Additionally, the GL1 engine likes to have a depth buffer for clipping
configAttribs.setValue(EGL_DEPTH_SIZE, 1);
#endif
}
diff --git a/src/gui/embedded/qcopchannel_qws.cpp b/src/gui/embedded/qcopchannel_qws.cpp
index 5786866..0d9d9d3 100644
--- a/src/gui/embedded/qcopchannel_qws.cpp
+++ b/src/gui/embedded/qcopchannel_qws.cpp
@@ -502,7 +502,7 @@ void QCopChannel::answer(QWSClient *cl, const QString& ch,
bool known = qcopServerMap && qcopServerMap->contains(c)
&& !((*qcopServerMap)[c]).isEmpty();
// Yes, it's a typo, it's not user-visible, and we choose not to fix it for compatibility
- QLatin1String ans = QLatin1String(known ? "known" : "unkown");
+ QLatin1String ans = QLatin1String(known ? "known" : "unknown");
QWSServerPrivate::sendQCopEvent(cl, QLatin1String(""),
ans, data, true);
return;
diff --git a/src/gui/embedded/qtransportauth_qws.cpp b/src/gui/embedded/qtransportauth_qws.cpp
index 9a50702..90e90d1 100644
--- a/src/gui/embedded/qtransportauth_qws.cpp
+++ b/src/gui/embedded/qtransportauth_qws.cpp
@@ -445,7 +445,7 @@ QIODevice *QTransportAuth::passThroughByClient( QWSClient *client ) const
/*!
\internal
Return a QIODevice pointer (to an internal QBuffer) which can be used
- to receive data after authorisation on transport \a d.
+ to receive data after authorization on transport \a d.
The return QIODevice will act as a pass-through.
@@ -468,7 +468,7 @@ QAuthDevice *QTransportAuth::recvBuf( QTransportAuth::Data *data, QIODevice *iod
/*!
Return a QIODevice pointer (to an internal QBuffer) which can be used
- to write data onto, for authorisation on transport \a d.
+ to write data onto, for authorization on transport \a d.
The return QIODevice will act as a pass-through.
diff --git a/src/gui/graphicsview/qgraphicsgridlayout.cpp b/src/gui/graphicsview/qgraphicsgridlayout.cpp
index 3fc7f10..20ebab6 100644
--- a/src/gui/graphicsview/qgraphicsgridlayout.cpp
+++ b/src/gui/graphicsview/qgraphicsgridlayout.cpp
@@ -64,6 +64,17 @@
removeAt() will remove an item from the layout, without
destroying it.
+ \section1 Size Hints and Size Policies in QGraphicsGridLayout
+
+ QGraphicsGridLayout respects each item's size hints and size policies,
+ and when a cell in the grid has more space than the items can fill, each item
+ is arranged according to the layout's alignment for that item. You can set
+ an alignment for each item by calling setAlignment(), and check the
+ alignment for any item by calling alignment(). You can also set the alignment
+ for an entire row or column by calling setRowAlignment() and setColumnAlignment()
+ respectively. By default, items are aligned to the top left.
+
+
\sa QGraphicsLinearLayout, QGraphicsWidget
*/
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index e63acac..7ab49cb 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -3322,8 +3322,7 @@ void QGraphicsItemPrivate::setFocusHelper(Qt::FocusReason focusReason, bool clim
*/
void QGraphicsItem::clearFocus()
{
- if (hasFocus())
- d_ptr->clearFocusHelper(/* giveFocusToParent = */ true);
+ d_ptr->clearFocusHelper(/* giveFocusToParent = */ true);
}
/*!
@@ -3337,8 +3336,14 @@ void QGraphicsItemPrivate::clearFocusHelper(bool giveFocusToParent)
QGraphicsItem *p = parent;
while (p) {
if (p->flags() & QGraphicsItem::ItemIsFocusScope) {
- p->d_ptr->setFocusHelper(Qt::OtherFocusReason, /* climb = */ false,
- /* focusFromHide = */ false);
+ if (p->d_ptr->focusScopeItem == q_ptr) {
+ p->d_ptr->focusScopeItem = 0;
+ if (!q_ptr->hasFocus()) //if it has focus, focusScopeItemChange is called elsewhere
+ focusScopeItemChange(false);
+ }
+ if (q_ptr->hasFocus())
+ p->d_ptr->setFocusHelper(Qt::OtherFocusReason, /* climb = */ false,
+ /* focusFromHide = */ false);
return;
}
p = p->d_ptr->parent;
@@ -3346,10 +3351,10 @@ void QGraphicsItemPrivate::clearFocusHelper(bool giveFocusToParent)
}
}
- // Invisible items with focus must explicitly clear subfocus.
- clearSubFocus(q_ptr);
-
if (q_ptr->hasFocus()) {
+ // Invisible items with focus must explicitly clear subfocus.
+ clearSubFocus(q_ptr);
+
// If this item has the scene's input focus, clear it.
scene->setFocusItem(0);
}
@@ -3706,6 +3711,8 @@ void QGraphicsItem::setPos(const QPointF &pos)
d_ptr->setPosHelper(pos);
if (d_ptr->isWidget)
static_cast<QGraphicsWidget *>(this)->d_func()->setGeometryFromSetPos();
+ if (d_ptr->scenePosDescendants)
+ d_ptr->sendScenePosChange();
return;
}
@@ -4388,8 +4395,10 @@ void QGraphicsItem::setTransform(const QTransform &matrix, bool combine)
return;
// Update and set the new transformation.
- if (!(d_ptr->flags & ItemSendsGeometryChanges)) {
+ if (!(d_ptr->flags & (ItemSendsGeometryChanges | ItemSendsScenePositionChanges))) {
d_ptr->setTransformHelper(newTransform);
+ if (d_ptr->scenePosDescendants)
+ d_ptr->sendScenePosChange();
return;
}
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 8480c19..1b7aa97 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -722,7 +722,7 @@ public:
/*!
Returns true if \a item1 is on top of \a item2.
- The items dont need to be siblings.
+ The items don't need to be siblings.
\internal
*/
@@ -776,7 +776,7 @@ inline bool qt_closestItemFirst(const QGraphicsItem *item1, const QGraphicsItem
/*!
Returns true if \a item2 is on top of \a item1.
- The items dont need to be siblings.
+ The items don't need to be siblings.
\internal
*/
diff --git a/src/gui/graphicsview/qgraphicslayoutitem.cpp b/src/gui/graphicsview/qgraphicslayoutitem.cpp
index ad4b2b5..016cfbf 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem.cpp
+++ b/src/gui/graphicsview/qgraphicslayoutitem.cpp
@@ -48,6 +48,7 @@
#include "qgraphicslayoutitem.h"
#include "qgraphicslayoutitem_p.h"
#include "qwidget.h"
+#include "qgraphicswidget.h"
#include <QtDebug>
@@ -136,19 +137,28 @@ void QGraphicsLayoutItemPrivate::init()
QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint) const
{
Q_Q(const QGraphicsLayoutItem);
- if (!sizeHintCacheDirty && cachedConstraint == constraint)
- return cachedSizeHints;
+ QSizeF *sizeHintCache;
+ const bool hasConstraint = constraint.width() >= 0 || constraint.height() >= 0;
+ if (hasConstraint) {
+ if (!sizeHintWithConstraintCacheDirty && constraint == cachedConstraint)
+ return cachedSizeHintsWithConstraints;
+ sizeHintCache = cachedSizeHintsWithConstraints;
+ } else {
+ if (!sizeHintCacheDirty)
+ return cachedSizeHints;
+ sizeHintCache = cachedSizeHints;
+ }
for (int i = 0; i < Qt::NSizeHints; ++i) {
- cachedSizeHints[i] = constraint;
+ sizeHintCache[i] = constraint;
if (userSizeHints)
- combineSize(cachedSizeHints[i], userSizeHints[i]);
+ combineSize(sizeHintCache[i], userSizeHints[i]);
}
- QSizeF &minS = cachedSizeHints[Qt::MinimumSize];
- QSizeF &prefS = cachedSizeHints[Qt::PreferredSize];
- QSizeF &maxS = cachedSizeHints[Qt::MaximumSize];
- QSizeF &descentS = cachedSizeHints[Qt::MinimumDescent];
+ QSizeF &minS = sizeHintCache[Qt::MinimumSize];
+ QSizeF &prefS = sizeHintCache[Qt::PreferredSize];
+ QSizeF &maxS = sizeHintCache[Qt::MaximumSize];
+ QSizeF &descentS = sizeHintCache[Qt::MinimumDescent];
normalizeHints(minS.rwidth(), prefS.rwidth(), maxS.rwidth(), descentS.rwidth());
normalizeHints(minS.rheight(), prefS.rheight(), maxS.rheight(), descentS.rheight());
@@ -174,9 +184,13 @@ QSizeF *QGraphicsLayoutItemPrivate::effectiveSizeHints(const QSizeF &constraint)
// Not supported yet
// COMBINE_SIZE(descentS, q->sizeHint(Qt::MinimumDescent, constraint));
- cachedConstraint = constraint;
- sizeHintCacheDirty = false;
- return cachedSizeHints;
+ if (hasConstraint) {
+ cachedConstraint = constraint;
+ sizeHintWithConstraintCacheDirty = false;
+ } else {
+ sizeHintCacheDirty = false;
+ }
+ return sizeHintCache;
}
@@ -259,6 +273,52 @@ void QGraphicsLayoutItemPrivate::setSizeComponent(
q->updateGeometry();
}
+
+bool QGraphicsLayoutItemPrivate::hasHeightForWidth() const
+{
+ Q_Q(const QGraphicsLayoutItem);
+ if (isLayout) {
+ const QGraphicsLayout *l = static_cast<const QGraphicsLayout *>(q);
+ for (int i = l->count() - 1; i >= 0; --i) {
+ if (QGraphicsLayoutItemPrivate::get(l->itemAt(i))->hasHeightForWidth())
+ return true;
+ }
+ } else if (QGraphicsItem *item = q->graphicsItem()) {
+ if (item->isWidget()) {
+ QGraphicsWidget *w = static_cast<QGraphicsWidget *>(item);
+ if (w->layout()) {
+ return QGraphicsLayoutItemPrivate::get(w->layout())->hasHeightForWidth();
+ }
+ }
+ }
+ return q->sizePolicy().hasHeightForWidth();
+}
+
+bool QGraphicsLayoutItemPrivate::hasWidthForHeight() const
+{
+ // enable this code when we add QSizePolicy::hasWidthForHeight() (For 4.8)
+#if 1
+ return false;
+#else
+ Q_Q(const QGraphicsLayoutItem);
+ if (isLayout) {
+ const QGraphicsLayout *l = static_cast<const QGraphicsLayout *>(q);
+ for (int i = l->count() - 1; i >= 0; --i) {
+ if (QGraphicsLayoutItemPrivate::get(l->itemAt(i))->hasWidthForHeight())
+ return true;
+ }
+ } else if (QGraphicsItem *item = q->graphicsItem()) {
+ if (item->isWidget()) {
+ QGraphicsWidget *w = static_cast<QGraphicsWidget *>(item);
+ if (w->layout()) {
+ return QGraphicsLayoutItemPrivate::get(w->layout())->hasWidthForHeight();
+ }
+ }
+ }
+ return q->sizePolicy().hasWidthForHeight();
+#endif
+}
+
/*!
\class QGraphicsLayoutItem
\brief The QGraphicsLayoutItem class can be inherited to allow your custom
diff --git a/src/gui/graphicsview/qgraphicslayoutitem_p.h b/src/gui/graphicsview/qgraphicslayoutitem_p.h
index 15cc7a5..d72ee9f 100644
--- a/src/gui/graphicsview/qgraphicslayoutitem_p.h
+++ b/src/gui/graphicsview/qgraphicslayoutitem_p.h
@@ -65,6 +65,9 @@ class Q_AUTOTEST_EXPORT QGraphicsLayoutItemPrivate
public:
virtual ~QGraphicsLayoutItemPrivate();
QGraphicsLayoutItemPrivate(QGraphicsLayoutItem *parent, bool isLayout);
+ static QGraphicsLayoutItemPrivate *get(QGraphicsLayoutItem *q) { return q->d_func();}
+ static const QGraphicsLayoutItemPrivate *get(const QGraphicsLayoutItem *q) { return q->d_func();}
+
void init();
QSizeF *effectiveSizeHints(const QSizeF &constraint) const;
QGraphicsItem *parentItem() const;
@@ -73,14 +76,19 @@ public:
enum SizeComponent { Width, Height };
void setSizeComponent(Qt::SizeHint which, SizeComponent component, qreal value);
+ bool hasHeightForWidth() const;
+ bool hasWidthForHeight() const;
+
QSizePolicy sizePolicy;
QGraphicsLayoutItem *parent;
QSizeF *userSizeHints;
mutable QSizeF cachedSizeHints[Qt::NSizeHints];
mutable QSizeF cachedConstraint;
+ mutable QSizeF cachedSizeHintsWithConstraints[Qt::NSizeHints];
mutable quint32 sizeHintCacheDirty : 1;
+ mutable quint32 sizeHintWithConstraintCacheDirty : 1;
quint32 isLayout : 1;
quint32 ownedByLayout : 1;
diff --git a/src/gui/graphicsview/qgraphicslinearlayout.cpp b/src/gui/graphicsview/qgraphicslinearlayout.cpp
index 7e8d19f..244a728 100644
--- a/src/gui/graphicsview/qgraphicslinearlayout.cpp
+++ b/src/gui/graphicsview/qgraphicslinearlayout.cpp
@@ -75,7 +75,7 @@
is arranged according to the layout's alignment for that item. You can set
an alignment for each item by calling setAlignment(), and check the
alignment for any item by calling alignment(). By default, items are
- centered both vertically and horizontally.
+ aligned to the top left.
\section1 Spacing within QGraphicsLinearLayout
@@ -446,7 +446,7 @@ void QGraphicsLinearLayout::setAlignment(QGraphicsLayoutItem *item, Qt::Alignmen
/*!
Returns the alignment for \a item. The default alignment is
- Qt::AlignCenter.
+ Qt::AlignTop | Qt::AlignLeft.
The alignment decides how the item is positioned within its assigned space
in the case where there's more space available in the layout than the
diff --git a/src/gui/graphicsview/qgraphicsproxywidget.cpp b/src/gui/graphicsview/qgraphicsproxywidget.cpp
index 320395e..e0eb3bb 100644
--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp
+++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp
@@ -1508,7 +1508,7 @@ int QGraphicsProxyWidget::type() const
Creates a proxy widget for the given \a child of the widget
contained in this proxy.
- This function makes it possible to aquire proxies for
+ This function makes it possible to acquire proxies for
non top-level widgets. For instance, you can embed a dialog,
and then transform only one of its widgets.
diff --git a/src/gui/graphicsview/qgraphicssceneevent.cpp b/src/gui/graphicsview/qgraphicssceneevent.cpp
index a0ecd4c..d9ff655 100644
--- a/src/gui/graphicsview/qgraphicssceneevent.cpp
+++ b/src/gui/graphicsview/qgraphicssceneevent.cpp
@@ -1629,7 +1629,7 @@ QGraphicsSceneMoveEvent::~QGraphicsSceneMoveEvent()
}
/*!
- Returns the old position (i.e., the position immediatly before the widget
+ Returns the old position (i.e., the position immediately before the widget
was moved).
\sa newPos(), QGraphicsItem::setPos()
diff --git a/src/gui/graphicsview/qgraphicstransform.cpp b/src/gui/graphicsview/qgraphicstransform.cpp
index 1f155c6..d495da2 100644
--- a/src/gui/graphicsview/qgraphicstransform.cpp
+++ b/src/gui/graphicsview/qgraphicstransform.cpp
@@ -54,7 +54,7 @@
instances to one QGraphicsItem. Each QGraphicsTransform is applied in
order, one at a time, to the QGraphicsItem it's assigned to.
- QGraphicsTransform is particularily useful for animations. Whereas
+ QGraphicsTransform is particularly useful for animations. Whereas
QGraphicsItem::setTransform() lets you assign any transform directly to an
item, there is no direct way to interpolate between two different
transformations (e.g., when transitioning between two states, each for
diff --git a/src/gui/graphicsview/qgraphicswidget.cpp b/src/gui/graphicsview/qgraphicswidget.cpp
index 4a733be..e48f9a7 100644
--- a/src/gui/graphicsview/qgraphicswidget.cpp
+++ b/src/gui/graphicsview/qgraphicswidget.cpp
@@ -450,7 +450,7 @@ void QGraphicsWidget::setGeometry(const QRectF &rect)
bottom.
Contents margins are used by the assigned layout to define the placement
- of subwidgets and layouts. Margins are particularily useful for widgets
+ of subwidgets and layouts. Margins are particularly useful for widgets
that constrain subwidgets to only a section of its own geometry. For
example, a group box with a layout will place subwidgets inside its frame,
but below the title.
diff --git a/src/gui/graphicsview/qgridlayoutengine.cpp b/src/gui/graphicsview/qgridlayoutengine.cpp
index ae5bf90..f1055ba 100644
--- a/src/gui/graphicsview/qgridlayoutengine.cpp
+++ b/src/gui/graphicsview/qgridlayoutengine.cpp
@@ -166,7 +166,7 @@ void QGridLayoutRowData::reset(int count)
hasIgnoreFlag = false;
}
-void QGridLayoutRowData::distributeMultiCells()
+void QGridLayoutRowData::distributeMultiCells(const QGridLayoutRowInfo &rowInfo)
{
MultiCellMap::const_iterator i = multiCellMap.constBegin();
for (; i != multiCellMap.constEnd(); ++i) {
@@ -185,7 +185,7 @@ void QGridLayoutRowData::distributeMultiCells()
qreal extra = compare(box, totalBox, j);
if (extra > 0.0) {
calculateGeometries(start, end, box.q_sizes(j), dummy.data(), newSizes.data(),
- 0, totalBox);
+ 0, totalBox, rowInfo);
for (int k = 0; k < span; ++k)
extras[k].q_sizes(j) = newSizes[k];
@@ -202,11 +202,12 @@ void QGridLayoutRowData::distributeMultiCells()
void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSize, qreal *positions,
qreal *sizes, qreal *descents,
- const QGridLayoutBox &totalBox)
+ const QGridLayoutBox &totalBox,
+ const QGridLayoutRowInfo &rowInfo)
{
Q_ASSERT(end > start);
- targetSize = qBound(totalBox.q_minimumSize, targetSize, totalBox.q_maximumSize);
+ targetSize = qMax(totalBox.q_minimumSize, targetSize);
int n = end - start;
QVarLengthArray<qreal> newSizes(n);
@@ -246,16 +247,22 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
}
}
} else {
- stealBox(start, end, PreferredSize, positions, sizes);
+ bool isLargerThanMaximum = (targetSize > totalBox.q_maximumSize);
+ if (isLargerThanMaximum) {
+ stealBox(start, end, MaximumSize, positions, sizes);
+ sumAvailable = targetSize - totalBox.q_maximumSize;
+ } else {
+ stealBox(start, end, PreferredSize, positions, sizes);
+ sumAvailable = targetSize - totalBox.q_preferredSize;
+ }
- sumAvailable = targetSize - totalBox.q_preferredSize;
if (sumAvailable > 0.0) {
qreal sumCurrentAvailable = sumAvailable;
bool somethingHasAMaximumSize = false;
- qreal sumPreferredSizes = 0.0;
+ qreal sumSizes = 0.0;
for (int i = 0; i < n; ++i)
- sumPreferredSizes += sizes[i];
+ sumSizes += sizes[i];
for (int i = 0; i < n; ++i) {
if (ignore.testBit(start + i)) {
@@ -265,7 +272,16 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
}
const QGridLayoutBox &box = boxes.at(start + i);
- qreal desired = box.q_maximumSize - box.q_preferredSize;
+ qreal boxSize;
+
+ qreal desired;
+ if (isLargerThanMaximum) {
+ boxSize = box.q_maximumSize;
+ desired = rowInfo.boxes.value(start + i).q_maximumSize - boxSize;
+ } else {
+ boxSize = box.q_preferredSize;
+ desired = box.q_maximumSize - boxSize;
+ }
if (desired == 0.0) {
newSizes[i] = sizes[i];
factors[i] = 0.0;
@@ -284,17 +300,17 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
} else if (stretch <= 0) {
factors[i] = 0.0;
} else {
- qreal ultimatePreferredSize;
- qreal ultimateSumPreferredSizes;
- qreal x = ((stretch * sumPreferredSizes)
- - (sumStretches * box.q_preferredSize))
+ qreal ultimateSize;
+ qreal ultimateSumSizes;
+ qreal x = ((stretch * sumSizes)
+ - (sumStretches * boxSize))
/ (sumStretches - stretch);
if (x >= 0.0) {
- ultimatePreferredSize = box.q_preferredSize + x;
- ultimateSumPreferredSizes = sumPreferredSizes + x;
+ ultimateSize = boxSize + x;
+ ultimateSumSizes = sumSizes + x;
} else {
- ultimatePreferredSize = box.q_preferredSize;
- ultimateSumPreferredSizes = (sumStretches * box.q_preferredSize)
+ ultimateSize = boxSize;
+ ultimateSumSizes = (sumStretches * boxSize)
/ stretch;
}
@@ -303,17 +319,17 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
(at the expense of the stretch factors, which are not fully respected
during the transition).
*/
- ultimatePreferredSize = ultimatePreferredSize * 3 / 2;
- ultimateSumPreferredSizes = ultimateSumPreferredSizes * 3 / 2;
+ ultimateSize = ultimateSize * 3 / 2;
+ ultimateSumSizes = ultimateSumSizes * 3 / 2;
- qreal beta = ultimateSumPreferredSizes - sumPreferredSizes;
+ qreal beta = ultimateSumSizes - sumSizes;
if (!beta) {
factors[i] = 1;
} else {
qreal alpha = qMin(sumCurrentAvailable, beta);
- qreal ultimateFactor = (stretch * ultimateSumPreferredSizes / sumStretches)
- - (box.q_preferredSize);
- qreal transitionalFactor = sumCurrentAvailable * (ultimatePreferredSize - box.q_preferredSize) / beta;
+ qreal ultimateFactor = (stretch * ultimateSumSizes / sumStretches)
+ - (boxSize);
+ qreal transitionalFactor = sumCurrentAvailable * (ultimateSize - boxSize) / beta;
factors[i] = ((alpha * ultimateFactor)
+ ((beta - alpha) * transitionalFactor)) / beta;
@@ -336,11 +352,16 @@ void QGridLayoutRowData::calculateGeometries(int start, int end, qreal targetSiz
if (newSizes[i] >= 0.0)
continue;
- const QGridLayoutBox &box = boxes.at(start + i);
+ qreal maxBoxSize;
+ if (isLargerThanMaximum)
+ maxBoxSize = rowInfo.boxes.value(start + i).q_maximumSize;
+ else
+ maxBoxSize = boxes.at(start + i).q_maximumSize;
+
qreal avail = sumCurrentAvailable * factors[i] / sumFactors;
- if (sizes[i] + avail >= box.q_maximumSize) {
- newSizes[i] = box.q_maximumSize;
- sumCurrentAvailable -= box.q_maximumSize - sizes[i];
+ if (sizes[i] + avail >= maxBoxSize) {
+ newSizes[i] = maxBoxSize;
+ sumCurrentAvailable -= maxBoxSize - sizes[i];
sumFactors -= factors[i];
keepGoing = (sumCurrentAvailable > 0.0);
if (!keepGoing)
@@ -545,6 +566,24 @@ QSizePolicy::Policy QGridLayoutItem::sizePolicy(Qt::Orientation orientation) con
: sizePolicy.verticalPolicy();
}
+/*
+ returns true if the size policy returns true for either hasHeightForWidth()
+ or hasWidthForHeight()
+ */
+bool QGridLayoutItem::hasDynamicConstraint() const
+{
+ return QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasHeightForWidth()
+ || QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasWidthForHeight();
+}
+
+Qt::Orientation QGridLayoutItem::dynamicConstraintOrientation() const
+{
+ if (QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasHeightForWidth())
+ return Qt::Vertical;
+ else //if (QGraphicsLayoutItemPrivate::get(q_layoutItem)->hasWidthForHeight())
+ return Qt::Horizontal;
+}
+
QSizePolicy::ControlTypes QGridLayoutItem::controlTypes(LayoutSide /* side */) const
{
return q_layoutItem->sizePolicy().controlType();
@@ -613,7 +652,17 @@ QRectF QGridLayoutItem::geometryWithin(qreal x, qreal y, qreal width, qreal heig
qreal cellWidth = width;
qreal cellHeight = height;
- QSizeF size = effectiveMaxSize().boundedTo(QSizeF(cellWidth, cellHeight));
+
+ QSizeF size = effectiveMaxSize(QSizeF(-1,-1));
+ if (hasDynamicConstraint()) {
+ if (dynamicConstraintOrientation() == Qt::Vertical) {
+ if (size.width() > cellWidth)
+ size = effectiveMaxSize(QSizeF(cellWidth, -1));
+ } else if (size.height() > cellHeight) {
+ size = effectiveMaxSize(QSizeF(-1, cellHeight));
+ }
+ }
+ size = size.boundedTo(QSizeF(cellWidth, cellHeight));
width = size.width();
height = size.height();
@@ -675,13 +724,13 @@ void QGridLayoutItem::insertOrRemoveRows(int row, int delta, Qt::Orientation ori
Note that effectiveSizeHint does not take sizePolicy into consideration,
(since it only evaluates the hints, as the name implies)
*/
-QSizeF QGridLayoutItem::effectiveMaxSize() const
+QSizeF QGridLayoutItem::effectiveMaxSize(const QSizeF &constraint) const
{
- QSizeF size;
+ QSizeF size = constraint;
bool vGrow = (sizePolicy(Qt::Vertical) & QSizePolicy::GrowFlag) == QSizePolicy::GrowFlag;
bool hGrow = (sizePolicy(Qt::Horizontal) & QSizePolicy::GrowFlag) == QSizePolicy::GrowFlag;
if (!vGrow || !hGrow) {
- QSizeF pref = layoutItem()->effectiveSizeHint(Qt::PreferredSize);
+ QSizeF pref = layoutItem()->effectiveSizeHint(Qt::PreferredSize, constraint);
if (!vGrow)
size.setHeight(pref.height());
if (!hGrow)
@@ -689,7 +738,7 @@ QSizeF QGridLayoutItem::effectiveMaxSize() const
}
if (!size.isValid()) {
- QSizeF maxSize = layoutItem()->effectiveSizeHint(Qt::MaximumSize);
+ QSizeF maxSize = layoutItem()->effectiveSizeHint(Qt::MaximumSize, size);
if (size.width() == -1)
size.setWidth(maxSize.width());
if (size.height() == -1)
@@ -1010,6 +1059,7 @@ void QGridLayoutEngine::invalidate()
q_cachedEffectiveLastRows[Ver] = -1;
q_cachedDataForStyleInfo.invalidate();
q_cachedSize = QSizeF();
+ q_cachedConstraintOrientation = UnknownConstraint;
}
static void visualRect(QRectF *geom, Qt::LayoutDirection dir, const QRectF &contentsRect)
@@ -1074,19 +1124,73 @@ QRectF QGridLayoutEngine::cellRect(const QLayoutStyleInfo &styleInfo,
}
QSizeF QGridLayoutEngine::sizeHint(const QLayoutStyleInfo &styleInfo, Qt::SizeHint which,
- const QSizeF & /* constraint */) const
-{
- ensureColumnAndRowData(styleInfo);
+ const QSizeF &constraint) const
+{
+ QGridLayoutBox sizehint_totalBoxes[NOrientations];
+
+ bool sizeHintCalculated = false;
+
+ if (hasDynamicConstraint() && rowCount() > 0 && columnCount() > 0) {
+ if (constraintOrientation() == Qt::Vertical) {
+ //We have items whose height depends on their width
+ if (constraint.width() >= 0) {
+ if (q_cachedDataForStyleInfo != styleInfo)
+ ensureColumnAndRowData(&q_columnData, &sizehint_totalBoxes[Hor], styleInfo, NULL, NULL, Qt::Horizontal);
+ else
+ sizehint_totalBoxes[Hor] = q_totalBoxes[Hor];
+ QVector<qreal> sizehint_xx;
+ QVector<qreal> sizehint_widths;
+
+ sizehint_xx.resize(columnCount());
+ sizehint_widths.resize(columnCount());
+ qreal width = constraint.width();
+ //Calculate column widths and positions, and put results in q_xx.data() and q_widths.data() so that we can use this information as
+ //constraints to find the row heights
+ q_columnData.calculateGeometries(0, columnCount(), width, sizehint_xx.data(), sizehint_widths.data(),
+ 0, sizehint_totalBoxes[Hor], q_infos[Hor]);
+ ensureColumnAndRowData(&q_rowData, &sizehint_totalBoxes[Ver], styleInfo, sizehint_xx.data(), sizehint_widths.data(), Qt::Vertical);
+ sizeHintCalculated = true;
+ }
+ } else {
+ if (constraint.height() >= 0) {
+ //We have items whose width depends on their height
+ ensureColumnAndRowData(&q_rowData, &sizehint_totalBoxes[Ver], styleInfo, NULL, NULL, Qt::Vertical);
+ QVector<qreal> sizehint_yy;
+ QVector<qreal> sizehint_heights;
+
+ sizehint_yy.resize(rowCount());
+ sizehint_heights.resize(rowCount());
+ qreal height = constraint.height();
+ //Calculate row heights and positions, and put results in q_yy.data() and q_heights.data() so that we can use this information as
+ //constraints to find the column widths
+ q_rowData.calculateGeometries(0, rowCount(), height, sizehint_yy.data(), sizehint_heights.data(),
+ 0, sizehint_totalBoxes[Ver], q_infos[Ver]);
+ ensureColumnAndRowData(&q_columnData, &sizehint_totalBoxes[Hor], styleInfo, sizehint_yy.data(), sizehint_heights.data(), Qt::Vertical);
+ sizeHintCalculated = true;
+ }
+ }
+ }
+
+ if (!sizeHintCalculated) {
+ //No items with height for width, so it doesn't matter which order we do these in
+ if (q_cachedDataForStyleInfo != styleInfo) {
+ ensureColumnAndRowData(&q_columnData, &sizehint_totalBoxes[Hor], styleInfo, NULL, NULL, Qt::Horizontal);
+ ensureColumnAndRowData(&q_rowData, &sizehint_totalBoxes[Ver], styleInfo, NULL, NULL, Qt::Vertical);
+ } else {
+ sizehint_totalBoxes[Hor] = q_totalBoxes[Hor];
+ sizehint_totalBoxes[Ver] = q_totalBoxes[Ver];
+ }
+ }
switch (which) {
case Qt::MinimumSize:
- return QSizeF(q_totalBoxes[Hor].q_minimumSize, q_totalBoxes[Ver].q_minimumSize);
+ return QSizeF(sizehint_totalBoxes[Hor].q_minimumSize, sizehint_totalBoxes[Ver].q_minimumSize);
case Qt::PreferredSize:
- return QSizeF(q_totalBoxes[Hor].q_preferredSize, q_totalBoxes[Ver].q_preferredSize);
+ return QSizeF(sizehint_totalBoxes[Hor].q_preferredSize, sizehint_totalBoxes[Ver].q_preferredSize);
case Qt::MaximumSize:
- return QSizeF(q_totalBoxes[Hor].q_maximumSize, q_totalBoxes[Ver].q_maximumSize);
+ return QSizeF(sizehint_totalBoxes[Hor].q_maximumSize, sizehint_totalBoxes[Ver].q_maximumSize);
case Qt::MinimumDescent:
- return QSizeF(-1.0, q_totalBoxes[Hor].q_minimumDescent); // ### doesn't work
+ return QSizeF(-1.0, sizehint_totalBoxes[Hor].q_minimumDescent); // ### doesn't work
default:
break;
}
@@ -1262,6 +1366,7 @@ void QGridLayoutEngine::insertOrRemoveRows(int row, int delta, Qt::Orientation o
}
void QGridLayoutEngine::fillRowData(QGridLayoutRowData *rowData, const QLayoutStyleInfo &styleInfo,
+ qreal *colPositions, qreal *colSizes,
Qt::Orientation orientation) const
{
const int ButtonMask = QSizePolicy::ButtonBox | QSizePolicy::PushButton;
@@ -1375,7 +1480,21 @@ void QGridLayoutEngine::fillRowData(QGridLayoutRowData *rowData, const QLayoutSt
box = &multiCell.q_box;
multiCell.q_stretch = itemStretch;
}
- box->combine(item->box(orientation));
+ // Items with constraints need to be passed the constraint
+ if (colSizes && colPositions && item->hasDynamicConstraint() && orientation == item->dynamicConstraintOrientation()) {
+ /* Get the width of the item by summing up the widths of the columns that it spans.
+ * We need to have already calculated the widths of the columns by calling
+ * q_columns->calculateGeometries() before hand and passing the value in the colSizes
+ * and colPositions parameters.
+ * The variable name is still colSizes even when it actually has the row sizes
+ */
+ qreal length = colSizes[item->lastColumn(orientation)];
+ if (item->columnSpan(orientation) != 1)
+ length += colPositions[item->lastColumn(orientation)] - colPositions[item->firstColumn(orientation)];
+ box->combine(item->box(orientation, length));
+ } else {
+ box->combine(item->box(orientation));
+ }
if (effectiveRowSpan == 1) {
QSizePolicy::ControlTypes controls = item->controlTypes(top);
@@ -1512,44 +1631,100 @@ void QGridLayoutEngine::ensureEffectiveFirstAndLastRows() const
}
}
-void QGridLayoutEngine::ensureColumnAndRowData(const QLayoutStyleInfo &styleInfo) const
+void QGridLayoutEngine::ensureColumnAndRowData(QGridLayoutRowData *rowData, QGridLayoutBox *totalBox,
+ const QLayoutStyleInfo &styleInfo,
+ qreal *colPositions, qreal *colSizes,
+ Qt::Orientation orientation) const
{
- if (q_cachedDataForStyleInfo == styleInfo)
- return;
-
- q_columnData.reset(columnCount());
- q_rowData.reset(rowCount());
-
- fillRowData(&q_columnData, styleInfo, Qt::Horizontal);
- fillRowData(&q_rowData, styleInfo, Qt::Vertical);
+ rowData->reset(rowCount(orientation));
+ fillRowData(rowData, styleInfo, colPositions, colSizes, orientation);
+ const QGridLayoutRowInfo &rowInfo = q_infos[orientation == Qt::Vertical];
+ rowData->distributeMultiCells(rowInfo);
+ *totalBox = rowData->totalBox(0, rowCount(orientation));
+ //We have items whose width depends on their height
+}
- q_columnData.distributeMultiCells();
- q_rowData.distributeMultiCells();
+/**
+ returns false if the layout has contradicting constraints (i.e. some items with a horizontal
+ constraint and other items with a vertical constraint)
+ */
+bool QGridLayoutEngine::ensureDynamicConstraint() const
+{
+ if (q_cachedConstraintOrientation == UnknownConstraint) {
+ for (int i = q_items.count() - 1; i >= 0; --i) {
+ QGridLayoutItem *item = q_items.at(i);
+ if (item->hasDynamicConstraint()) {
+ Qt::Orientation itemConstraintOrientation = item->dynamicConstraintOrientation();
+ if (q_cachedConstraintOrientation == UnknownConstraint) {
+ q_cachedConstraintOrientation = itemConstraintOrientation;
+ } else if (q_cachedConstraintOrientation != itemConstraintOrientation) {
+ q_cachedConstraintOrientation = UnfeasibleConstraint;
+ qWarning("QGridLayoutEngine: Unfeasible, cannot mix horizontal and"
+ " vertical constraint in the same layout");
+ return false;
+ }
+ }
+ }
+ if (q_cachedConstraintOrientation == UnknownConstraint)
+ q_cachedConstraintOrientation = NoConstraint;
+ }
+ return true;
+}
- q_totalBoxes[Hor] = q_columnData.totalBox(0, columnCount());
- q_totalBoxes[Ver] = q_rowData.totalBox(0, rowCount());
+bool QGridLayoutEngine::hasDynamicConstraint() const
+{
+ if (!ensureDynamicConstraint())
+ return false;
+ return q_cachedConstraintOrientation != NoConstraint;
+}
- q_cachedDataForStyleInfo = styleInfo;
+/*
+ * return value is only valid if hasConstraint() returns true
+ */
+Qt::Orientation QGridLayoutEngine::constraintOrientation() const
+{
+ (void)ensureDynamicConstraint();
+ return (Qt::Orientation)q_cachedConstraintOrientation;
}
void QGridLayoutEngine::ensureGeometries(const QLayoutStyleInfo &styleInfo,
const QSizeF &size) const
{
- ensureColumnAndRowData(styleInfo);
- if (q_cachedSize == size)
+ if (q_cachedDataForStyleInfo == styleInfo && q_cachedSize == size)
return;
+ q_cachedDataForStyleInfo = styleInfo;
+ q_cachedSize = size;
+
q_xx.resize(columnCount());
- q_yy.resize(rowCount());
q_widths.resize(columnCount());
+ q_yy.resize(rowCount());
q_heights.resize(rowCount());
q_descents.resize(rowCount());
- q_columnData.calculateGeometries(0, columnCount(), size.width(), q_xx.data(), q_widths.data(),
- 0, q_totalBoxes[Hor]);
- q_rowData.calculateGeometries(0, rowCount(), size.height(), q_yy.data(), q_heights.data(),
- q_descents.data(), q_totalBoxes[Ver]);
- q_cachedSize = size;
+ if (constraintOrientation() != Qt::Horizontal) {
+ //We might have items whose width depends on their height
+ ensureColumnAndRowData(&q_columnData, &q_totalBoxes[Hor], styleInfo, NULL, NULL, Qt::Horizontal);
+ //Calculate column widths and positions, and put results in q_xx.data() and q_widths.data() so that we can use this information as
+ //constraints to find the row heights
+ q_columnData.calculateGeometries(0, columnCount(), size.width(), q_xx.data(), q_widths.data(),
+ 0, q_totalBoxes[Hor], q_infos[Hor] );
+ ensureColumnAndRowData(&q_rowData, &q_totalBoxes[Ver], styleInfo, q_xx.data(), q_widths.data(), Qt::Vertical);
+ //Calculate row heights and positions, and put results in q_yy.data() and q_heights.data()
+ q_rowData.calculateGeometries(0, rowCount(), size.height(), q_yy.data(), q_heights.data(),
+ q_descents.data(), q_totalBoxes[Ver], q_infos[Ver]);
+ } else {
+ //We have items whose height depends on their width
+ ensureColumnAndRowData(&q_rowData, &q_totalBoxes[Ver], styleInfo, NULL, NULL, Qt::Vertical);
+ //Calculate row heights and positions, and put results in q_yy.data() and q_heights.data() so that we can use this information as
+ //constraints to find the column widths
+ q_rowData.calculateGeometries(0, rowCount(), size.height(), q_yy.data(), q_heights.data(),
+ q_descents.data(), q_totalBoxes[Ver], q_infos[Ver]);
+ ensureColumnAndRowData(&q_columnData, &q_totalBoxes[Hor], styleInfo, q_yy.data(), q_heights.data(), Qt::Horizontal);
+ //Calculate row heights and positions, and put results in q_yy.data() and q_heights.data()
+ q_columnData.calculateGeometries(0, columnCount(), size.width(), q_xx.data(), q_widths.data(),
+ 0, q_totalBoxes[Hor], q_infos[Hor]);
+ }
}
QT_END_NAMESPACE
diff --git a/src/gui/graphicsview/qgridlayoutengine_p.h b/src/gui/graphicsview/qgridlayoutengine_p.h
index 9ac9a8e..44efbba 100644
--- a/src/gui/graphicsview/qgridlayoutengine_p.h
+++ b/src/gui/graphicsview/qgridlayoutengine_p.h
@@ -91,6 +91,14 @@ enum LayoutSide {
Bottom
};
+enum {
+ NoConstraint,
+ HorizontalConstraint, // Width depends on the height
+ VerticalConstraint, // Height depends on the width
+ UnknownConstraint, // need to update cache
+ UnfeasibleConstraint // not feasible, it be has some items with Vertical and others with Horizontal constraints
+};
+
template <typename T>
class QLayoutParameter
{
@@ -216,13 +224,16 @@ public:
typedef QMap<QPair<int, int>, QGridLayoutMultiCellData> MultiCellMap;
+class QGridLayoutRowInfo;
+
class QGridLayoutRowData
{
public:
void reset(int count);
- void distributeMultiCells();
+ void distributeMultiCells(const QGridLayoutRowInfo &rowInfo);
void calculateGeometries(int start, int end, qreal targetSize, qreal *positions, qreal *sizes,
- qreal *descents, const QGridLayoutBox &totalBox);
+ qreal *descents, const QGridLayoutBox &totalBox,
+ const QGridLayoutRowInfo &rowInfo);
QGridLayoutBox totalBox(int start, int end) const;
void stealBox(int start, int end, int which, qreal *positions, qreal *sizes);
@@ -270,6 +281,10 @@ public:
inline void setAlignment(Qt::Alignment alignment) { q_alignment = alignment; }
QSizePolicy::Policy sizePolicy(Qt::Orientation orientation) const;
+
+ bool hasDynamicConstraint() const;
+ Qt::Orientation dynamicConstraintOrientation() const;
+
QSizePolicy::ControlTypes controlTypes(LayoutSide side) const;
QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
QGridLayoutBox box(Qt::Orientation orientation, qreal constraint = -1.0) const;
@@ -280,7 +295,7 @@ public:
void setGeometry(const QRectF &rect);
void transpose();
void insertOrRemoveRows(int row, int delta, Qt::Orientation orientation = Qt::Vertical);
- QSizeF effectiveMaxSize() const;
+ QSizeF effectiveMaxSize(const QSizeF &constraint) const;
#ifdef QT_DEBUG
void dump(int indent = 0) const;
@@ -372,6 +387,14 @@ public:
int column, int rowSpan, int columnSpan) const;
QSizeF sizeHint(const QLayoutStyleInfo &styleInfo, Qt::SizeHint which,
const QSizeF &constraint) const;
+
+ // heightForWidth / widthForHeight support
+ QSizeF dynamicallyConstrainedSizeHint(Qt::SizeHint which, const QSizeF &constraint) const;
+ bool ensureDynamicConstraint() const;
+ bool hasDynamicConstraint() const;
+ Qt::Orientation constraintOrientation() const;
+
+
QSizePolicy::ControlTypes controlTypes(LayoutSide side) const;
void transpose();
void setVisualDirection(Qt::LayoutDirection direction);
@@ -390,9 +413,14 @@ private:
void setItemAt(int row, int column, QGridLayoutItem *item);
void insertOrRemoveRows(int row, int delta, Qt::Orientation orientation = Qt::Vertical);
void fillRowData(QGridLayoutRowData *rowData, const QLayoutStyleInfo &styleInfo,
- Qt::Orientation orientation = Qt::Vertical) const;
+ qreal *colPositions, qreal *colSizes,
+ Qt::Orientation orientation = Qt::Vertical) const;
void ensureEffectiveFirstAndLastRows() const;
- void ensureColumnAndRowData(const QLayoutStyleInfo &styleInfo) const;
+ void ensureColumnAndRowData(QGridLayoutRowData *rowData, QGridLayoutBox *totalBox,
+ const QLayoutStyleInfo &styleInfo,
+ qreal *colPositions, qreal *colSizes,
+ Qt::Orientation orientation) const;
+
void ensureGeometries(const QLayoutStyleInfo &styleInfo, const QSizeF &size) const;
// User input
@@ -405,6 +433,7 @@ private:
// Lazily computed from the above user input
mutable int q_cachedEffectiveFirstRows[NOrientations];
mutable int q_cachedEffectiveLastRows[NOrientations];
+ mutable quint8 q_cachedConstraintOrientation : 2;
// Layout item input
mutable QLayoutStyleInfo q_cachedDataForStyleInfo;
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index 90b5de5..4d51fa8 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -64,13 +64,12 @@ symbian {
neon:*-g++* {
DEFINES += QT_HAVE_NEON
- QMAKE_CXXFLAGS *= -mfpu=neon
HEADERS += $$NEON_HEADERS
SOURCES += $$NEON_SOURCES
DRAWHELPER_NEON_ASM_FILES = $$NEON_ASM
- neon_compiler.commands = $$QMAKE_CXX -c
+ neon_compiler.commands = $$QMAKE_CXX -c -mfpu=neon
neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
neon_compiler.dependency_type = TYPE_C
neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)}
diff --git a/src/gui/image/qimage_ssse3.cpp b/src/gui/image/qimage_ssse3.cpp
index 9aed011..836d7b0 100644
--- a/src/gui/image/qimage_ssse3.cpp
+++ b/src/gui/image/qimage_ssse3.cpp
@@ -54,7 +54,7 @@ Q_GUI_EXPORT void QT_FASTCALL qt_convert_rgb888_to_rgb32_ssse3(quint32 *dst, con
{
quint32 *const end = dst + len;
- // Prologue, align dst to 16 bytes. The alignement is done on dst because it has 4 store()
+ // Prologue, align dst to 16 bytes. The alignment is done on dst because it has 4 store()
// for each 3 load() of src.
const int offsetToAlignOn16Bytes = (4 - ((reinterpret_cast<quintptr>(dst) >> 2) & 0x3)) & 0x3;
const int prologLength = qMin(len, offsetToAlignOn16Bytes);
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index 64d8ed2..c5d9a7e 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -1102,6 +1102,9 @@ QPixmap QPixmap::grabWidget(QWidget * widget, const QRect &rect)
return QPixmap();
QPixmap res(r.size());
+ if (!qt_widget_private(widget)->isOpaque)
+ res.fill(Qt::transparent);
+
widget->d_func()->render(&res, QPoint(), r, QWidget::DrawWindowBackground
| QWidget::DrawChildren | QWidget::IgnoreMask, true);
return res;
diff --git a/src/gui/image/qpixmap_x11_p.h b/src/gui/image/qpixmap_x11_p.h
index f171281..7eab64c 100644
--- a/src/gui/image/qpixmap_x11_p.h
+++ b/src/gui/image/qpixmap_x11_p.h
@@ -115,7 +115,7 @@ private:
friend class QEglContext; // Needs gl_surface
friend class QGLContext; // Needs gl_surface
friend class QX11GLPixmapData; // Needs gl_surface
- friend class QMeeGoGraphicsSystem; // Needs gl_surface and flags
+ friend class QMeeGoLivePixmapData; // Needs gl_surface and flags
friend bool qt_createEGLSurfaceForPixmap(QPixmapData*, bool); // Needs gl_surface
void release();
diff --git a/src/gui/image/qtiffhandler.cpp b/src/gui/image/qtiffhandler.cpp
index de4f680..1627917 100644
--- a/src/gui/image/qtiffhandler.cpp
+++ b/src/gui/image/qtiffhandler.cpp
@@ -608,6 +608,7 @@ QVariant QTiffHandler::option(ImageOption option) const
TIFFGetField(tiff, TIFFTAG_IMAGEWIDTH, &width);
TIFFGetField(tiff, TIFFTAG_IMAGELENGTH, &height);
imageSize = QSize(width, height);
+ TIFFClose(tiff);
}
device()->seek(pos);
if (imageSize.isValid())
diff --git a/src/gui/image/qxbmhandler.cpp b/src/gui/image/qxbmhandler.cpp
index 0dd4e99..f9c2e0c 100644
--- a/src/gui/image/qxbmhandler.cpp
+++ b/src/gui/image/qxbmhandler.cpp
@@ -66,27 +66,36 @@ static inline int hex2byte(register char *p)
static bool read_xbm_header(QIODevice *device, int& w, int& h)
{
const int buflen = 300;
+ const int maxlen = 4096;
char buf[buflen + 1];
QRegExp r1(QLatin1String("^#define[ \t]+[a-zA-Z0-9._]+[ \t]+"));
QRegExp r2(QLatin1String("[0-9]+"));
qint64 readBytes = 0;
+ qint64 totalReadBytes = 0;
- // "#define .._width <num>"
- readBytes = device->readLine(buf, buflen);
- if (readBytes <= 0)
- return false;
- buf[readBytes - 1] = '\0';
+ buf[0] = '\0';
// skip initial comment, if any
- while (buf[0] != '#' && (readBytes = device->readLine( buf, buflen )) > 0) {}
+ while (buf[0] != '#') {
+ readBytes = device->readLine(buf, buflen);
+
+ // if readBytes >= buflen, it's very probably not a C file
+ if (readBytes <= 0 || readBytes >= buflen -1)
+ return false;
+
+ // limit xbm headers to the first 4k in the file to prevent
+ // excessive reads on non-xbm files
+ totalReadBytes += readBytes;
+ if (totalReadBytes >= maxlen)
+ return false;
+ }
- if (readBytes <= 0)
- return false;
buf[readBytes - 1] = '\0';
QString sbuf;
sbuf = QString::fromLatin1(buf);
+ // "#define .._width <num>"
if (r1.indexIn(sbuf) == 0 &&
r2.indexIn(sbuf, r1.matchedLength()) == r1.matchedLength())
w = QByteArray(&buf[r1.matchedLength()]).trimmed().toInt();
diff --git a/src/gui/image/qxpmhandler.cpp b/src/gui/image/qxpmhandler.cpp
index b97afd3..453100c 100644
--- a/src/gui/image/qxpmhandler.cpp
+++ b/src/gui/image/qxpmhandler.cpp
@@ -766,7 +766,7 @@ static bool qt_get_named_xpm_rgb(const char *name_no_space, QRgb *rgb)
{
XPMRGBData x;
x.name = name_no_space;
- // Funtion bsearch() is supposed to be
+ // Function bsearch() is supposed to be
// void *bsearch(const void *key, const void *base, ...
// So why (char*)? Are there broken bsearch() declarations out there?
XPMRGBData *r = (XPMRGBData *)bsearch((char *)&x, (char *)xpmRgbTbl, xpmRgbTblSize,
diff --git a/src/gui/inputmethod/qinputcontextfactory.cpp b/src/gui/inputmethod/qinputcontextfactory.cpp
index 865c1b2..afe5095 100644
--- a/src/gui/inputmethod/qinputcontextfactory.cpp
+++ b/src/gui/inputmethod/qinputcontextfactory.cpp
@@ -205,7 +205,7 @@ QStringList QInputContextFactory::keys()
This function contains pure Symbian exception handling code for
getting S60 language list.
- Returned object ownership is transfered to caller.
+ Returned object ownership is transferred to caller.
*/
static CAknInputLanguageList* s60LangListL()
{
@@ -224,7 +224,7 @@ static CAknInputLanguageList* s60LangListL()
\internal
This function utility function return S60 language list.
- Returned object ownership is transfered to caller.
+ Returned object ownership is transferred to caller.
*/
static CAknInputLanguageList* s60LangList()
{
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index 4ffd284..acc8deb 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -827,7 +827,7 @@ QVariant QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery query) const
deleted. QAbstractItemView does not take ownership of \a delegate.
\note If a delegate has been assigned to both a row and a column, the row
- delegate (i.e., this delegate) will take presedence and manage the
+ delegate (i.e., this delegate) will take precedence and manage the
intersecting cell index.
\warning You should not share the same instance of a delegate between views.
@@ -885,7 +885,7 @@ QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const
deleted. QAbstractItemView does not take ownership of \a delegate.
\note If a delegate has been assigned to both a row and a column, the row
- delegate will take presedence and manage the intersecting cell index.
+ delegate will take precedence and manage the intersecting cell index.
\warning You should not share the same instance of a delegate between views.
Doing so can cause incorrect or unintuitive editing behavior since each
@@ -1166,7 +1166,7 @@ QAbstractItemView::EditTriggers QAbstractItemView::editTriggers() const
\property QAbstractItemView::verticalScrollMode
\brief how the view scrolls its contents in the vertical direction
- This property controlls how the view scroll its contents vertically.
+ This property controls how the view scroll its contents vertically.
Scrolling can be done either per pixel or per item.
*/
@@ -1192,7 +1192,7 @@ QAbstractItemView::ScrollMode QAbstractItemView::verticalScrollMode() const
\property QAbstractItemView::horizontalScrollMode
\brief how the view scrolls its contents in the horizontal direction
- This property controlls how the view scroll its contents horizontally.
+ This property controls how the view scroll its contents horizontally.
Scrolling can be done either per pixel or per item.
*/
@@ -1275,7 +1275,7 @@ bool QAbstractItemView::hasAutoScroll() const
\property QAbstractItemView::autoScrollMargin
\brief the size of the area when auto scrolling is triggered
- This property controlls the size of the area at the edge of the viewport that
+ This property controls the size of the area at the edge of the viewport that
triggers autoscrolling. The default value is 16 pixels.
*/
void QAbstractItemView::setAutoScrollMargin(int margin)
@@ -1363,7 +1363,7 @@ bool QAbstractItemView::dragEnabled() const
Note that the model used needs to provide support for drag and drop operations.
- \sa setDragDropMode() {Using drag & drop with item views}
+ \sa setDragDropMode() {Using drag and drop with item views}
*/
/*!
diff --git a/src/gui/itemviews/qdirmodel.cpp b/src/gui/itemviews/qdirmodel.cpp
index 48599bc..cb6f81e 100644
--- a/src/gui/itemviews/qdirmodel.cpp
+++ b/src/gui/itemviews/qdirmodel.cpp
@@ -201,25 +201,6 @@ void QDirModelPrivate::invalidate()
QDirModel keeps a cache with file information. The cache needs to be
updated with refresh().
- A directory model that displays the contents of a default directory
- is usually constructed with a parent object:
-
- \snippet doc/src/snippets/shareddirmodel/main.cpp 2
-
- A tree view can be used to display the contents of the model
-
- \snippet doc/src/snippets/shareddirmodel/main.cpp 4
-
- and the contents of a particular directory can be displayed by
- setting the tree view's root index:
-
- \snippet doc/src/snippets/shareddirmodel/main.cpp 7
-
- The view's root index can be used to control how much of a
- hierarchical model is displayed. QDirModel provides a convenience
- function that returns a suitable model index for a path to a
- directory within the model.
-
QDirModel can be accessed using the standard interface provided by
QAbstractItemModel, but it also provides some convenience functions
that are specific to a directory model. The fileInfo() and isDir()
diff --git a/src/gui/itemviews/qitemselectionmodel.cpp b/src/gui/itemviews/qitemselectionmodel.cpp
index f848321..e2a16b1 100644
--- a/src/gui/itemviews/qitemselectionmodel.cpp
+++ b/src/gui/itemviews/qitemselectionmodel.cpp
@@ -772,7 +772,7 @@ void QItemSelectionModelPrivate::_q_layoutAboutToBeChanged()
savedPersistentIndexes.clear();
savedPersistentCurrentIndexes.clear();
- // optimisation for when all indexes are selected
+ // optimization for when all indexes are selected
// (only if there is lots of items (1000) because this is not entirely correct)
if (ranges.isEmpty() && currentSelection.count() == 1) {
QItemSelectionRange range = currentSelection.first();
@@ -1059,6 +1059,19 @@ void QItemSelectionModel::select(const QItemSelection &selection, QItemSelection
// store old selection
QItemSelection sel = selection;
+ // If d->ranges is non-empty when the source model is reset the persistent indexes
+ // it contains will be invalid. We can't clear them in a modelReset slot because that might already
+ // be too late if another model observer is connected to the same modelReset slot and is invoked first
+ // it might call select() on this selection model before any such QItemSelectionModelPrivate::_q_modelReset() slot
+ // is invoked, so it would not be cleared yet. We clear it invalid ranges in it here.
+ QItemSelection::iterator it = d->ranges.begin();
+ while (it != d->ranges.end()) {
+ if (!it->isValid())
+ it = d->ranges.erase(it);
+ else
+ ++it;
+ }
+
QItemSelection old = d->ranges;
old.merge(d->currentSelection, d->currentCommand);
diff --git a/src/gui/itemviews/qstandarditemmodel.cpp b/src/gui/itemviews/qstandarditemmodel.cpp
index 767b5a9..7d20bbb 100644
--- a/src/gui/itemviews/qstandarditemmodel.cpp
+++ b/src/gui/itemviews/qstandarditemmodel.cpp
@@ -1130,7 +1130,7 @@ Qt::ItemFlags QStandardItem::flags() const
meaning that the user can interact with the item; if \a enabled is false, the
user cannot interact with the item.
- This flag takes presedence over the other item flags; e.g. if an item is not
+ This flag takes precedence over the other item flags; e.g. if an item is not
enabled, it cannot be selected by the user, even if the Qt::ItemIsSelectable
flag has been set.
diff --git a/src/gui/itemviews/qtableview.cpp b/src/gui/itemviews/qtableview.cpp
index 4492e53..dc45854 100644
--- a/src/gui/itemviews/qtableview.cpp
+++ b/src/gui/itemviews/qtableview.cpp
@@ -114,7 +114,7 @@ void QSpanCollection::updateSpan(QSpanCollection::Span *span, int old_height)
}
} else if (old_height > span->height()) {
//remove the span from all the subspans lists that intersect the columns not covered anymore
- Index::iterator it_y = index.lowerBound(-qMax(span->bottom(), span->top())); //qMax usefull if height is 0
+ Index::iterator it_y = index.lowerBound(-qMax(span->bottom(), span->top())); //qMax useful if height is 0
Q_ASSERT(it_y != index.end()); //it_y must exist since the span is in the list
while (-it_y.key() <= span->top() + old_height -1) {
if (-it_y.key() > span->bottom()) {
@@ -1411,7 +1411,7 @@ void QTableView::paintEvent(QPaintEvent *event)
}
if (showGrid) {
- // Find the bottom right (the last rows/coloumns might be hidden)
+ // Find the bottom right (the last rows/columns might be hidden)
while (verticalHeader->isSectionHidden(verticalHeader->logicalIndex(bottom))) --bottom;
QPen old = painter.pen();
painter.setPen(gridPen);
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 3323fbc..a4ae46b 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -497,7 +497,7 @@ bool QApplicationPrivate::fade_tooltip = false;
bool QApplicationPrivate::animate_toolbox = false;
bool QApplicationPrivate::widgetCount = false;
bool QApplicationPrivate::load_testability = false;
-QString QApplicationPrivate::qmljsDebugArguments;
+QString QApplicationPrivate::qmljs_debug_arguments;
#ifdef QT_KEYPAD_NAVIGATION
# ifdef Q_OS_SYMBIAN
Qt::NavigationMode QApplicationPrivate::navigationMode = Qt::NavigationModeKeypadDirectional;
@@ -570,7 +570,7 @@ void QApplicationPrivate::process_cmdline()
if (arg == "-qdevel" || arg == "-qdebug") {
// obsolete argument
} else if (arg.indexOf("-qmljsdebugger=", 0) != -1) {
- qmljsDebugArguments = QString::fromLocal8Bit(arg.right(arg.length() - 15));
+ qmljs_debug_arguments = QString::fromLocal8Bit(arg.right(arg.length() - 15));
} else if (arg.indexOf("-style=", 0) != -1) {
s = QString::fromLocal8Bit(arg.right(arg.length() - 7).toLower());
} else if (arg == "-style" && i < argc-1) {
@@ -1430,10 +1430,18 @@ QStyle *QApplication::style()
// Compile-time search for default style
//
QString style;
- if (!QApplicationPrivate::styleOverride.isEmpty())
+#ifdef QT_BUILD_INTERNAL
+ QString envStyle = QString::fromLocal8Bit(qgetenv("QT_STYLE_OVERRIDE"));
+#else
+ QString envStyle;
+#endif
+ if (!QApplicationPrivate::styleOverride.isEmpty()) {
style = QApplicationPrivate::styleOverride;
- else
+ } else if (!envStyle.isEmpty()) {
+ style = envStyle;
+ } else {
style = QApplicationPrivate::desktopStyleKey();
+ }
QStyle *&app_style = QApplicationPrivate::app_style;
app_style = QStyleFactory::create(style);
@@ -6086,6 +6094,11 @@ QPixmap QApplicationPrivate::getPixmapCursor(Qt::CursorShape cshape)
return QPixmap();
}
+QString QApplicationPrivate::qmljsDebugArgumentsString()
+{
+ return qmljs_debug_arguments;
+}
+
QT_END_NAMESPACE
#include "moc_qapplication.cpp"
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index 9c5095d..a0e1452 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -446,7 +446,8 @@ public:
static bool animate_toolbox;
static bool widgetCount; // Coupled with -widgetcount switch
static bool load_testability; // Coupled with -testability switch
- static QString qmljsDebugArguments; // a string containing arguments for js/qml debugging.
+ static QString qmljs_debug_arguments; // a string containing arguments for js/qml debugging.
+ static QString qmljsDebugArgumentsString(); // access string from other libraries
#ifdef Q_WS_MAC
static bool native_modal_dialog_active;
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 5ff2fd4..8596563 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -1425,7 +1425,7 @@ void qt_init(QApplicationPrivate * /* priv */, int)
TInt err = CApaCommandLine::GetCommandLineFromProcessEnvironment(commandLine);
// After this construction, CEikonEnv will be available from CEikonEnv::Static().
// (much like our qApp).
- CEikonEnv* coe = new CEikonEnv;
+ QtEikonEnv* coe = new QtEikonEnv;
//not using QT_TRAP_THROWING, because coe owns the cleanupstack so it can't be pushed there.
if(err == KErrNone)
TRAP(err, coe->ConstructAppFromCommandLineL(factory,*commandLine));
@@ -2055,6 +2055,17 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
}
#endif
break;
+#ifdef Q_SYMBIAN_SUPPORTS_SURFACES
+ case EEventUser:
+ {
+ // GOOM is looking for candidates to kill so indicate that we are
+ // capable of cleaning up by handling this event
+ TInt32 *data = reinterpret_cast<TInt32 *>(event->EventData());
+ if (data[0] == EApaSystemEventShutdown && data[1] == KGoomMemoryLowEvent)
+ return 1;
+ }
+ break;
+#endif
default:
break;
}
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index 78028eb..10c4ed6 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -3269,7 +3269,7 @@ bool QETWidget::translateMouseEvent(const MSG &msg)
if (type == QEvent::MouseButtonPress
&& QApplication::activePopupWidget() != activePopupWidget
&& replayPopupMouseEvent) {
- // the popup dissappeared. Replay the event
+ // the popup disappeared. Replay the event
QWidget* w = QApplication::widgetAt(gpos.x, gpos.y);
if (w && !QApplicationPrivate::isBlockedByModal(w)) {
Q_ASSERT(w->testAttribute(Qt::WA_WState_Created));
@@ -3506,7 +3506,7 @@ static void tabletInit(const quint64 uniqueId, const UINT csr_type, HCTX hTab)
}
#endif // QT_NO_TABLETEVENT
-// Update the "dynamic" informations of a cursor device (pen, airbrush, etc).
+// Update the "dynamic" information of a cursor device (pen, airbrush, etc).
// The dynamic information is the information of QTabletDeviceData that can change
// in time (eraser or pen if a device is turned around).
#ifndef QT_NO_TABLETEVENT
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index d8fb74c..7c68170 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -2334,6 +2334,30 @@ void qt_init(QApplicationPrivate *priv, int,
X11->desktopEnvironment = DE_4DWM;
break;
}
+
+ if (XGetWindowProperty(X11->display, QX11Info::appRootWindow(),
+ ATOM(_NET_SUPPORTING_WM_CHECK),
+ 0, 1024, False, XA_WINDOW, &type,
+ &format, &length, &after, &data) == Success) {
+ if (type == XA_WINDOW && format == 32) {
+ Window windowManagerWindow = *((Window*) data);
+ XFree(data);
+ data = 0;
+
+ if (windowManagerWindow != XNone) {
+ Atom utf8atom = ATOM(UTF8_STRING);
+ if (XGetWindowProperty(QX11Info::display(), windowManagerWindow, ATOM(_NET_WM_NAME),
+ 0, 1024, False, utf8atom, &type,
+ &format, &length, &after, &data) == Success) {
+ if (type == utf8atom && format == 8) {
+ if (qstrcmp((const char *)data, "MCompositor") == 0)
+ X11->desktopEnvironment = DE_MEEGO_COMPOSITOR;
+ }
+ }
+ }
+ }
+ }
+
} while(0);
if (data)
@@ -3742,7 +3766,7 @@ int QApplication::x11ProcessEvent(XEvent* event)
// toplevel reparented...
QWidget *newparent = QWidget::find(event->xreparent.parent);
if (! newparent || (newparent->windowType() == Qt::Desktop)) {
- // we dont' know about the new parent (or we've been
+ // we don't know about the new parent (or we've been
// reparented to root), perhaps a window manager
// has been (re)started? reset the focus model to unknown
X11->focus_model = QX11Data::FM_Unknown;
diff --git a/src/gui/kernel/qclipboard_mac.cpp b/src/gui/kernel/qclipboard_mac.cpp
index 49a6cc8..482a3a3 100644
--- a/src/gui/kernel/qclipboard_mac.cpp
+++ b/src/gui/kernel/qclipboard_mac.cpp
@@ -623,7 +623,7 @@ QMacPasteboard::sync() const
#ifdef DEBUG_PASTEBOARD
if(fromGlobal)
- qDebug("Pasteboard: Syncronize!");
+ qDebug("Pasteboard: Synchronize!");
#endif
return fromGlobal;
}
diff --git a/src/gui/kernel/qclipboard_s60.cpp b/src/gui/kernel/qclipboard_s60.cpp
index f07e066..73280b2 100644
--- a/src/gui/kernel/qclipboard_s60.cpp
+++ b/src/gui/kernel/qclipboard_s60.cpp
@@ -50,16 +50,18 @@
#include "qwidget.h"
#include "qevent.h"
#include "private/qcore_symbian_p.h"
+#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include "txtclipboard.h"
+#endif
+#include "txtetext.h"
#include <QtDebug>
// Symbian's clipboard
#include <baclipb.h>
QT_BEGIN_NAMESPACE
-//### Mime Type mapping to UIDs
-
const TUid KQtCbDataStream = {0x2001B2DD};
-
+const TInt KPlainTextBegin = 0;
class QClipboardData
{
@@ -141,7 +143,6 @@ void writeToStreamLX(const QMimeData* aData, RWriteStream& aStream)
{
HBufC* stringData = TPtrC(reinterpret_cast<const TUint16*>((*iter).utf16())).AllocLC();
QByteArray ba = aData->data((*iter));
- qDebug() << "copy to clipboard mime: " << *iter << " data: " << ba;
// mime type
aStream << TCardinality(stringData->Size());
aStream << *(stringData);
@@ -152,6 +153,43 @@ void writeToStreamLX(const QMimeData* aData, RWriteStream& aStream)
}
}
+void writeToSymbianStoreLX(const QMimeData* aData, CClipboard* clipboard)
+{
+ // This function both leaves and throws exceptions. There must be no destructor
+ // dependencies between cleanup styles, and no cleanup stack dependencies on stacked objects.
+ if (aData->hasText()) {
+ CPlainText* text = CPlainText::NewL();
+ CleanupStack::PushL(text);
+
+ TPtrC textPtr(qt_QString2TPtrC(aData->text()));
+ text->InsertL(KPlainTextBegin, textPtr);
+ text->CopyToStoreL(clipboard->Store(), clipboard->StreamDictionary(),
+ KPlainTextBegin, textPtr.Length());
+ CleanupStack::PopAndDestroy(text);
+ }
+}
+
+void readSymbianStoreLX(QMimeData* aData, CClipboard* clipboard)
+{
+ // This function both leaves and throws exceptions. There must be no destructor
+ // dependencies between cleanup styles, and no cleanup stack dependencies on stacked objects.
+ CPlainText* text = CPlainText::NewL();
+ CleanupStack::PushL(text);
+ TInt dataLength = text->PasteFromStoreL(clipboard->Store(), clipboard->StreamDictionary(),
+ KPlainTextBegin);
+ if (dataLength == 0) {
+ User::Leave(KErrNotFound);
+ }
+ HBufC* hBuf = HBufC::NewL(dataLength);
+ TPtr buf = hBuf->Des();
+ text->Extract(buf, KPlainTextBegin, dataLength);
+
+ QString string = qt_TDesC2QString(buf);
+ CleanupStack::PopAndDestroy(text);
+
+ aData->setText(string);
+}
+
void readFromStreamLX(QMimeData* aData,RReadStream& aStream)
{
// This function both leaves and throws exceptions. There must be no destructor
@@ -174,7 +212,6 @@ void readFromStreamLX(QMimeData* aData,RReadStream& aStream)
ba.reserve(dataSize);
aStream.ReadL(reinterpret_cast<uchar*>(ba.data_ptr()->data),dataSize);
ba.data_ptr()->size = dataSize;
- qDebug() << "paste from clipboard mime: " << mimeType << " data: " << ba;
aData->setData(mimeType,ba);
}
}
@@ -192,23 +229,42 @@ const QMimeData* QClipboard::mimeData(Mode mode) const
{
if (mode != Clipboard) return 0;
QClipboardData *d = clipboardData();
+ bool dataExists(false);
if (d)
{
TRAPD(err,{
RFs fs = qt_s60GetRFs();
CClipboard* cb = CClipboard::NewForReadingLC(fs);
Q_ASSERT(cb);
+ //stream for qt
RStoreReadStream stream;
TStreamId stid = (cb->StreamDictionary()).At(KQtCbDataStream);
- stream.OpenLC(cb->Store(),stid);
- QT_TRYCATCH_LEAVING(readFromStreamLX(d->source(),stream));
- CleanupStack::PopAndDestroy(2,cb);
- return d->source();
+ if (stid != 0) {
+ stream.OpenLC(cb->Store(),stid);
+ QT_TRYCATCH_LEAVING(readFromStreamLX(d->source(),stream));
+ CleanupStack::PopAndDestroy(&stream);
+ dataExists = true;
+ }
+ else {
+ //symbian clipboard
+ RStoreReadStream symbianStream;
+ TStreamId symbianStId = (cb->StreamDictionary()).At(KClipboardUidTypePlainText);
+ if (symbianStId != 0) {
+ symbianStream.OpenLC(cb->Store(), symbianStId);
+ QT_TRYCATCH_LEAVING(readSymbianStoreLX(d->source(), cb));
+ CleanupStack::PopAndDestroy(&symbianStream);
+ dataExists = true;
+ }
+ }
+ CleanupStack::PopAndDestroy(cb);
});
if (err != KErrNone){
qDebug()<< "clipboard is empty/err: " << err;
}
+ if (dataExists) {
+ return d->source();
+ }
}
return 0;
}
@@ -223,6 +279,7 @@ void QClipboard::setMimeData(QMimeData* src, Mode mode)
TRAPD(err,{
RFs fs = qt_s60GetRFs();
CClipboard* cb = CClipboard::NewForWritingLC(fs);
+ //stream for qt
RStoreWriteStream stream;
TStreamId stid = stream.CreateLC(cb->Store());
QT_TRYCATCH_LEAVING(writeToStreamLX(src,stream));
@@ -230,7 +287,14 @@ void QClipboard::setMimeData(QMimeData* src, Mode mode)
stream.CommitL();
(cb->StreamDictionary()).AssignL(KQtCbDataStream,stid);
cb->CommitL();
- CleanupStack::PopAndDestroy(2,cb);
+
+ //stream for symbian
+ RStoreWriteStream symbianStream;
+ TStreamId symbianStId = symbianStream.CreateLC(cb->Store());
+ QT_TRYCATCH_LEAVING(writeToSymbianStoreLX(src, cb));
+ (cb->StreamDictionary()).AssignL(KClipboardUidTypePlainText, symbianStId);
+ cb->CommitL();
+ CleanupStack::PopAndDestroy(3,cb);
});
if (err != KErrNone){
qDebug()<< "clipboard write err :" << err;
diff --git a/src/gui/kernel/qclipboard_win.cpp b/src/gui/kernel/qclipboard_win.cpp
index 63ca9e5..c2e29fd 100644
--- a/src/gui/kernel/qclipboard_win.cpp
+++ b/src/gui/kernel/qclipboard_win.cpp
@@ -141,7 +141,7 @@ public:
clipBoardViewer = new QWidget();
clipBoardViewer->createWinId();
clipBoardViewer->setObjectName(QLatin1String("internal clipboard owner"));
- // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ // We don't need this internal widget to appear in QApplication::topLevelWidgets()
if (QWidgetPrivate::allWidgets)
QWidgetPrivate::allWidgets->remove(clipBoardViewer);
}
diff --git a/src/gui/kernel/qclipboard_x11.cpp b/src/gui/kernel/qclipboard_x11.cpp
index 55548ef..62c861d 100644
--- a/src/gui/kernel/qclipboard_x11.cpp
+++ b/src/gui/kernel/qclipboard_x11.cpp
@@ -132,7 +132,7 @@ void setupOwner()
requestor = new QWidget(0);
requestor->createWinId();
requestor->setObjectName(QLatin1String("internal clipboard requestor"));
- // We dont need this internal widgets to appear in QApplication::topLevelWidgets()
+ // We don't need this internal widgets to appear in QApplication::topLevelWidgets()
if (QWidgetPrivate::allWidgets) {
QWidgetPrivate::allWidgets->remove(owner);
QWidgetPrivate::allWidgets->remove(requestor);
@@ -769,7 +769,7 @@ QByteArray QX11Data::clipboardReadIncrementalProperty(Window win, Atom property,
delete requestor;
requestor = new QWidget(0);
requestor->setObjectName(QLatin1String("internal clipboard requestor"));
- // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ // We don't need this internal widget to appear in QApplication::topLevelWidgets()
if (QWidgetPrivate::allWidgets)
QWidgetPrivate::allWidgets->remove(requestor);
diff --git a/src/gui/kernel/qcocoamenuloader_mac.mm b/src/gui/kernel/qcocoamenuloader_mac.mm
index 8d38f45..4bf6ed9 100644
--- a/src/gui/kernel/qcocoamenuloader_mac.mm
+++ b/src/gui/kernel/qcocoamenuloader_mac.mm
@@ -89,7 +89,7 @@ QT_USE_NAMESPACE
- (void)ensureAppMenuInMenu:(NSMenu *)menu
{
// The application menu is the menu in the menu bar that contains the
- // 'Quit' item. When changing menu bar (e.g when swithing between
+ // 'Quit' item. When changing menu bar (e.g when switching between
// windows with different menu bars), we never recreate this menu, but
// instead pull it out the current menu bar and place into the new one:
NSMenu *mainMenu = [NSApp mainMenu];
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index a552ce7..f759fe0 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -939,10 +939,6 @@ static int qCocoaViewCount = 0;
}
}
#endif //QT_NO_WHEELEVENT
-
- if (!wheelOK) {
- return [super scrollWheel:theEvent];
- }
}
- (void)tabletProximity:(NSEvent *)tabletEvent
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index eade02e..7fdb926 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -1970,7 +1970,7 @@ void QInputMethodEvent::setCommitString(const QString &commitString, int replace
is usually given by a wheel on 4D mouse. If the device does not support a
Z-axis, pass zero here.
- The \a tangentialPressure paramater contins the tangential pressure of an air
+ The \a tangentialPressure parameter contins the tangential pressure of an air
brush. If the device does not support tangential pressure, pass 0 here.
\a rotation contains the device's rotation in degrees. 4D mice support
diff --git a/src/gui/kernel/qeventdispatcher_s60.cpp b/src/gui/kernel/qeventdispatcher_s60.cpp
index bc787b8..77ebd0d 100644
--- a/src/gui/kernel/qeventdispatcher_s60.cpp
+++ b/src/gui/kernel/qeventdispatcher_s60.cpp
@@ -45,6 +45,62 @@
QT_BEGIN_NAMESPACE
+QtEikonEnv::QtEikonEnv()
+ : m_lastIterationCount(0)
+ , m_savedStatusCode(KRequestPending)
+ , m_hasAlreadyRun(false)
+{
+}
+
+QtEikonEnv::~QtEikonEnv()
+{
+}
+
+void QtEikonEnv::RunL()
+{
+ QEventDispatcherS60 *dispatcher = qobject_cast<QEventDispatcherS60 *>(QAbstractEventDispatcher::instance());
+ if (!dispatcher) {
+ CEikonEnv::RunL();
+ return;
+ }
+
+ if (m_lastIterationCount != dispatcher->iterationCount()) {
+ m_hasAlreadyRun = false;
+ m_lastIterationCount = dispatcher->iterationCount();
+ }
+
+ if (m_hasAlreadyRun) {
+ // Fool the active scheduler into believing we are still waiting for events.
+ // The window server thinks we are not, however.
+ m_savedStatusCode = iStatus.Int();
+ iStatus = KRequestPending;
+ SetActive();
+ dispatcher->queueDeferredActiveObjectsCompletion();
+ } else {
+ m_hasAlreadyRun = true;
+ CEikonEnv::RunL();
+ }
+}
+
+void QtEikonEnv::DoCancel()
+{
+ complete();
+
+ CEikonEnv::DoCancel();
+}
+
+void QtEikonEnv::complete()
+{
+ if (m_hasAlreadyRun) {
+ if (m_savedStatusCode != KRequestPending) {
+ TRequestStatus *status = &iStatus;
+ QEventDispatcherSymbian::RequestComplete(status, m_savedStatusCode);
+ m_savedStatusCode = KRequestPending;
+ }
+ m_hasAlreadyRun = false;
+ }
+}
+
QEventDispatcherS60::QEventDispatcherS60(QObject *parent)
: QEventDispatcherSymbian(parent),
m_noInputEvents(false)
@@ -127,4 +183,14 @@ void QEventDispatcherS60::removeInputEventsForWidget(QObject *object)
}
}
+// reimpl
+void QEventDispatcherS60::reactivateDeferredActiveObjects()
+{
+ if (S60->qtOwnsS60Environment) {
+ static_cast<QtEikonEnv *>(CCoeEnv::Static())->complete();
+ }
+
+ QEventDispatcherSymbian::reactivateDeferredActiveObjects();
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qeventdispatcher_s60_p.h b/src/gui/kernel/qeventdispatcher_s60_p.h
index d2f327c..c14fef0 100644
--- a/src/gui/kernel/qeventdispatcher_s60_p.h
+++ b/src/gui/kernel/qeventdispatcher_s60_p.h
@@ -56,8 +56,30 @@
#include <private/qeventdispatcher_symbian_p.h>
#include "qt_s60_p.h"
+#include <eikenv.h>
+
QT_BEGIN_NAMESPACE
+class QEventDispatcherS60;
+
+class QtEikonEnv : public CEikonEnv
+{
+public:
+ QtEikonEnv();
+ ~QtEikonEnv();
+
+ // from CActive.
+ void RunL();
+ void DoCancel();
+
+ void complete();
+
+private:
+ int m_lastIterationCount;
+ TInt m_savedStatusCode;
+ bool m_hasAlreadyRun;
+};
+
class Q_GUI_EXPORT QEventDispatcherS60 : public QEventDispatcherSymbian
{
Q_OBJECT
@@ -73,6 +95,8 @@ public:
void saveInputEvent(QSymbianControl *control, QWidget *widget, QInputEvent *event);
+ void reactivateDeferredActiveObjects();
+
private:
bool sendDeferredInputEvents();
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index 5725a22..e3339c4 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -260,6 +260,27 @@ QGesture::GestureCancelPolicy QGesture::gestureCancelPolicy() const
/*!
\property QPanGesture::acceleration
+ \brief the acceleration in the motion of the touch point for this gesture
+*/
+
+/*!
+ \property QPanGesture::horizontalVelocity
+ \brief the horizontal component of the motion of the touch point for this
+ gesture
+ \since 4.7.1
+ \internal
+
+ \sa verticalVelocity, acceleration
+*/
+
+/*!
+ \property QPanGesture::verticalVelocity
+ \brief the vertical component of the motion of the touch point for this
+ gesture
+ \since 4.7.1
+ \internal
+
+ \sa horizontalVelocity, acceleration
*/
/*!
@@ -633,6 +654,12 @@ void QPinchGesture::setRotationAngle(qreal value)
*/
/*!
+ \property QSwipeGesture::velocity
+ \since 4.7.1
+ \internal
+*/
+
+/*!
\internal
*/
QSwipeGesture::QSwipeGesture(QObject *parent)
diff --git a/src/gui/kernel/qgesturemanager.cpp b/src/gui/kernel/qgesturemanager.cpp
index 6dd8127..46450b1 100644
--- a/src/gui/kernel/qgesturemanager.cpp
+++ b/src/gui/kernel/qgesturemanager.cpp
@@ -171,9 +171,13 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ
foreach (QGesture *g, gestures) {
m_deletedRecognizers.remove(g);
m_gestureToRecognizer.remove(g);
+ m_maybeGestures.remove(g);
+ m_activeGestures.remove(g);
+ m_gestureOwners.remove(g);
+ m_gestureTargets.remove(g);
+ m_gesturesToDelete.insert(g);
}
- qDeleteAll(gestures);
iter = m_objectGestures.erase(iter);
} else {
++iter;
@@ -185,7 +189,7 @@ void QGestureManager::cleanupCachedGestures(QObject *target, Qt::GestureType typ
QGesture *QGestureManager::getState(QObject *object, QGestureRecognizer *recognizer, Qt::GestureType type)
{
// if the widget is being deleted we should be careful not to
- // create a new state, as it will create QWeakPointer which doesnt work
+ // create a new state, as it will create QWeakPointer which doesn't work
// from the destructor.
if (object->isWidgetType()) {
if (static_cast<QWidget *>(object)->d_func()->data.in_destructor)
@@ -381,6 +385,11 @@ bool QGestureManager::filterEventThroughContexts(const QMultiMap<QObject *,
recycle(gesture);
m_gestureTargets.remove(gesture);
}
+
+ //Clean up the Gestures
+ qDeleteAll(m_gesturesToDelete);
+ m_gesturesToDelete.clear();
+
return ret;
}
@@ -443,7 +452,8 @@ void QGestureManager::cancelGesturesForChildren(QGesture *original)
void QGestureManager::cleanupGesturesForRemovedRecognizer(QGesture *gesture)
{
QGestureRecognizer *recognizer = m_deletedRecognizers.value(gesture);
- Q_ASSERT(recognizer);
+ if(!recognizer) //The Gesture is removed while in the even loop, so the recognizers for this gestures was removed
+ return;
m_deletedRecognizers.remove(gesture);
if (m_deletedRecognizers.keys(recognizer).isEmpty()) {
// no more active gestures, cleanup!
diff --git a/src/gui/kernel/qgesturemanager_p.h b/src/gui/kernel/qgesturemanager_p.h
index 0d84b67..92310f5 100644
--- a/src/gui/kernel/qgesturemanager_p.h
+++ b/src/gui/kernel/qgesturemanager_p.h
@@ -101,7 +101,7 @@ private:
NotGesture,
MaybeGesture // this means timers are up and waiting for some
// more events, and input events are handled by
- // gesture recognizer explicitely
+ // gesture recognizer explicitly
} state;
struct ObjectGesture
@@ -130,6 +130,7 @@ private:
QHash<QGestureRecognizer *, QSet<QGesture *> > m_obsoleteGestures;
QHash<QGesture *, QGestureRecognizer *> m_deletedRecognizers;
+ QSet<QGesture *> m_gesturesToDelete;
void cleanupGesturesForRemovedRecognizer(QGesture *gesture);
QGesture *getState(QObject *widget, QGestureRecognizer *recognizer,
diff --git a/src/gui/kernel/qguiplatformplugin.cpp b/src/gui/kernel/qguiplatformplugin.cpp
index 2dd251b..c80c6d3 100644
--- a/src/gui/kernel/qguiplatformplugin.cpp
+++ b/src/gui/kernel/qguiplatformplugin.cpp
@@ -187,7 +187,7 @@ QString QGuiPlatformPlugin::styleName()
#endif
}
-/* return an aditional default palette (only work on X11) */
+/* return an additional default palette (only work on X11) */
QPalette QGuiPlatformPlugin::palette()
{
#ifdef Q_WS_X11
diff --git a/src/gui/kernel/qkeymapper_mac.cpp b/src/gui/kernel/qkeymapper_mac.cpp
index 3dc6afc..b8f08bf 100644
--- a/src/gui/kernel/qkeymapper_mac.cpp
+++ b/src/gui/kernel/qkeymapper_mac.cpp
@@ -749,7 +749,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e
}
return false;
}
- // Once we process the key down , we dont need to send the saved event again from
+ // Once we process the key down , we don't need to send the saved event again from
// kEventTextInputUnicodeForKeyEvent, so clear it.
if (currentContext && ekind == kEventRawKeyDown) {
QMacInputContext *context = qobject_cast<QMacInputContext*>(currentContext);
@@ -765,7 +765,7 @@ bool QKeyMapperPrivate::translateKeyEvent(QWidget *widget, EventHandlerCallRef e
&handled_event) == false)
return handled_event;
QString text(ourChar);
- /* This is actually wrong - but unfortunatly it is the best that can be
+ /* This is actually wrong - but unfortunately it is the best that can be
done for now because of the Control/Meta mapping problems */
if (modifiers & (Qt::ControlModifier | Qt::MetaModifier)
&& !qApp->testAttribute(Qt::AA_MacDontSwapCtrlAndMeta)) {
diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 50b2354..bf3eddd 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -1105,7 +1105,7 @@ QKeySequence QKeySequence::mnemonic(const QString &text)
#else
found = true;
} else {
- qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurences of '&'", qPrintable(text));
+ qWarning("QKeySequence::mnemonic: \"%s\" contains multiple occurrences of '&'", qPrintable(text));
#endif
}
}
diff --git a/src/gui/kernel/qmotifdnd_x11.cpp b/src/gui/kernel/qmotifdnd_x11.cpp
index 3334455..3b79129 100644
--- a/src/gui/kernel/qmotifdnd_x11.cpp
+++ b/src/gui/kernel/qmotifdnd_x11.cpp
@@ -385,7 +385,10 @@ static void DndReadSourceProperty(Display * dpy,
static void DndWriteReceiverProperty(Display * dpy, Window window,
unsigned char protocol_style)
{
- DndReceiverProp receiver_prop ;
+ DndReceiverProp receiver_prop;
+
+ // squelch potential valgrind errors about uninitialized reads
+ memset(&receiver_prop, 0, sizeof(receiver_prop));
receiver_prop.byte_order = DndByteOrder() ;
receiver_prop.protocol_version = DND_PROTOCOL_VERSION;
diff --git a/src/gui/kernel/qsoftkeymanager_s60.cpp b/src/gui/kernel/qsoftkeymanager_s60.cpp
index fee1580..c81d75f 100644
--- a/src/gui/kernel/qsoftkeymanager_s60.cpp
+++ b/src/gui/kernel/qsoftkeymanager_s60.cpp
@@ -265,7 +265,7 @@ bool QSoftKeyManagerPrivateS60::setSoftkeyImage(CEikButtonGroupContainer *cba,
CFbsBitmap* nMask = softkeyAlpha.toSymbianCFbsBitmap();
CEikImage* myimage = new (ELeave) CEikImage;
- myimage->SetPicture( nBitmap, nMask ); // nBitmap and nMask ownership transfered
+ myimage->SetPicture( nBitmap, nMask ); // nBitmap and nMask ownership transferred
EikSoftkeyImage::SetImage(cba, *myimage, left); // Takes myimage ownership
cbaHasImage[position] = true;
diff --git a/src/gui/kernel/qsound_s60.cpp b/src/gui/kernel/qsound_s60.cpp
index df2830b..accfce2 100644
--- a/src/gui/kernel/qsound_s60.cpp
+++ b/src/gui/kernel/qsound_s60.cpp
@@ -150,7 +150,7 @@ void QAuServerS60::playCompleted(QAuBucketS60 *bucket, int error)
} else {
// We don't have a way to inform about errors -> just decrement loops
// in order that QSound::isFinished will return true;
- while (decLoop(sound)) {}
+ while (decLoop(sound) > 0) {}
if (staticPlayingSounds.removeAll(sound))
delete sound;
}
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index 893ba2b..48b7ac1 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -194,29 +194,28 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state,
d->hotSpot = p1.screenPos();
d->isHotSpotSet = true;
+ QPointF centerPoint = (p1.screenPos() + p2.screenPos()) / 2.0;
if (d->isNewSequence) {
d->startPosition[0] = p1.screenPos();
d->startPosition[1] = p2.screenPos();
+ d->lastCenterPoint = centerPoint;
+ } else {
+ d->lastCenterPoint = d->centerPoint;
}
- QLineF line(p1.screenPos(), p2.screenPos());
- QLineF lastLine(p1.lastScreenPos(), p2.lastScreenPos());
- QLineF tmp(line);
- tmp.setLength(line.length() / 2.);
- QPointF centerPoint = tmp.p2();
-
- d->lastCenterPoint = d->centerPoint;
d->centerPoint = centerPoint;
- d->changeFlags |= QPinchGesture::CenterPointChanged;
- const qreal scaleFactor = line.length() / lastLine.length();
+ d->changeFlags |= QPinchGesture::CenterPointChanged;
if (d->isNewSequence) {
- d->lastScaleFactor = scaleFactor;
+ d->scaleFactor = 1.0;
+ d->lastScaleFactor = 1.0;
} else {
d->lastScaleFactor = d->scaleFactor;
+ QLineF line(p1.screenPos(), p2.screenPos());
+ QLineF lastLine(p1.lastScreenPos(), p2.lastScreenPos());
+ d->scaleFactor = line.length() / lastLine.length();
}
- d->scaleFactor = scaleFactor;
- d->totalScaleFactor = d->totalScaleFactor * scaleFactor;
+ d->totalScaleFactor = d->totalScaleFactor * d->scaleFactor;
d->changeFlags |= QPinchGesture::ScaleFactorChanged;
qreal angle = QLineF(p1.screenPos(), p2.screenPos()).angle();
@@ -227,7 +226,7 @@ QGestureRecognizer::Result QPinchGestureRecognizer::recognize(QGesture *state,
startAngle -= 360;
const qreal rotationAngle = startAngle - angle;
if (d->isNewSequence)
- d->lastRotationAngle = rotationAngle;
+ d->lastRotationAngle = 0.0;
else
d->lastRotationAngle = d->rotationAngle;
d->rotationAngle = rotationAngle;
diff --git a/src/gui/kernel/qt_x11_p.h b/src/gui/kernel/qt_x11_p.h
index d62d9c3..56c8094 100644
--- a/src/gui/kernel/qt_x11_p.h
+++ b/src/gui/kernel/qt_x11_p.h
@@ -338,6 +338,7 @@ enum DesktopEnvironment {
DE_KDE,
DE_GNOME,
DE_CDE,
+ DE_MEEGO_COMPOSITOR,
DE_4DWM
};
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index f7c795e..c5f64e5 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -68,6 +68,7 @@
# include "qt_cocoa_helpers_mac_p.h"
# include "qmainwindow.h"
# include "qtoolbar.h"
+# include <private/qmainwindowlayout_p.h>
#endif
#if defined(Q_WS_QWS)
# include "qwsdisplay_qws.h"
@@ -235,6 +236,17 @@ void QWidgetBackingStoreTracker::unregisterWidget(QWidget *w)
}
}
+/*!
+ \internal
+ Recursively remove widget and all of its descendents.
+ */
+void QWidgetBackingStoreTracker::unregisterWidgetSubtree(QWidget *widget)
+{
+ unregisterWidget(widget);
+ foreach (QObject *child, widget->children())
+ if (QWidget *childWidget = qobject_cast<QWidget *>(child))
+ unregisterWidgetSubtree(childWidget);
+}
QWidgetPrivate::QWidgetPrivate(int version)
: QObjectPrivate(version)
@@ -325,15 +337,27 @@ QWidgetPrivate::~QWidgetPrivate()
#endif //QT_NO_GRAPHICSEFFECT
}
+class QDummyWindowSurface : public QWindowSurface
+{
+public:
+ QDummyWindowSurface(QWidget *window) : QWindowSurface(window) {}
+ QPaintDevice *paintDevice() { return window(); }
+ void flush(QWidget *, const QRegion &, const QPoint &) {}
+};
+
QWindowSurface *QWidgetPrivate::createDefaultWindowSurface()
{
Q_Q(QWidget);
QWindowSurface *surface;
- if (QApplicationPrivate::graphicsSystem())
- surface = QApplicationPrivate::graphicsSystem()->createWindowSurface(q);
- else
- surface = createDefaultWindowSurface_sys();
+ if (q->property("_q_DummyWindowSurface").toBool()) {
+ surface = new QDummyWindowSurface(q);
+ } else {
+ if (QApplicationPrivate::graphicsSystem())
+ surface = QApplicationPrivate::graphicsSystem()->createWindowSurface(q);
+ else
+ surface = createDefaultWindowSurface_sys();
+ }
return surface;
}
@@ -1649,13 +1673,8 @@ void QWidgetPrivate::setWinId(WId id) // set widget identifier
}
if(oldWinId != id) {
- // Do not emit an event when the old winId is destroyed. This only
- // happens (a) during widget destruction, and (b) immediately prior
- // to creation of a new winId, for example as a result of re-parenting.
- if(id != 0) {
- QEvent e(QEvent::WinIdChange);
- QCoreApplication::sendEvent(q, &e);
- }
+ QEvent e(QEvent::WinIdChange);
+ QCoreApplication::sendEvent(q, &e);
}
}
@@ -3002,6 +3021,15 @@ bool QWidget::isFullScreen() const
*/
void QWidget::showFullScreen()
{
+#ifdef Q_WS_MAC
+ // If the unified toolbar is enabled, we have to disable it before going fullscreen.
+ QMainWindow *mainWindow = qobject_cast<QMainWindow*>(this);
+ if (mainWindow && mainWindow->unifiedTitleAndToolBarOnMac()) {
+ mainWindow->setUnifiedTitleAndToolBarOnMac(false);
+ QMainWindowLayout *mainLayout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
+ mainLayout->activateUnifiedToolbarAfterFullScreen = true;
+ }
+#endif // Q_WS_MAC
ensurePolished();
#ifdef QT3_SUPPORT
if (parent())
@@ -3034,6 +3062,18 @@ void QWidget::showMaximized()
setWindowState((windowState() & ~(Qt::WindowMinimized | Qt::WindowFullScreen))
| Qt::WindowMaximized);
+#ifdef Q_WS_MAC
+ // If the unified toolbar was enabled before going fullscreen, we have to enable it back.
+ QMainWindow *mainWindow = qobject_cast<QMainWindow*>(this);
+ if (mainWindow)
+ {
+ QMainWindowLayout *mainLayout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
+ if (mainLayout->activateUnifiedToolbarAfterFullScreen) {
+ mainWindow->setUnifiedTitleAndToolBarOnMac(true);
+ mainLayout->activateUnifiedToolbarAfterFullScreen = false;
+ }
+ }
+#endif // Q_WS_MAC
show();
}
@@ -3055,6 +3095,18 @@ void QWidget::showNormal()
setWindowState(windowState() & ~(Qt::WindowMinimized
| Qt::WindowMaximized
| Qt::WindowFullScreen));
+#ifdef Q_WS_MAC
+ // If the unified toolbar was enabled before going fullscreen, we have to enable it back.
+ QMainWindow *mainWindow = qobject_cast<QMainWindow*>(this);
+ if (mainWindow)
+ {
+ QMainWindowLayout *mainLayout = qobject_cast<QMainWindowLayout*>(mainWindow->layout());
+ if (mainLayout->activateUnifiedToolbarAfterFullScreen) {
+ mainWindow->setUnifiedTitleAndToolBarOnMac(true);
+ mainLayout->activateUnifiedToolbarAfterFullScreen = false;
+ }
+ }
+#endif // Q_WS_MAC
show();
}
@@ -8779,7 +8831,7 @@ void QWidget::mousePressEvent(QMouseEvent *event)
QWidget* w;
while ((w = QApplication::activePopupWidget()) && w != this){
w->close();
- if (QApplication::activePopupWidget() == w) // widget does not want to dissappear
+ if (QApplication::activePopupWidget() == w) // widget does not want to disappear
w->hide(); // hide at least
}
if (!rect().contains(event->pos())){
@@ -9248,7 +9300,7 @@ void QWidget::setInputMethodHints(Qt::InputMethodHints hints)
#ifndef QT_NO_IM
Q_D(QWidget);
d->imHints = hints;
- // Optimisation to update input context only it has already been created.
+ // Optimization to update input context only it has already been created.
if (d->ic || qApp->d_func()->inputContext) {
QInputContext *ic = inputContext();
if (ic)
@@ -9997,7 +10049,16 @@ void QWidget::setParent(QWidget *parent, Qt::WindowFlags f)
if (newParent && isAncestorOf(focusWidget()))
focusWidget()->clearFocus();
+ QTLWExtra *oldTopExtra = window()->d_func()->maybeTopData();
+ QWidgetBackingStoreTracker *oldBsTracker = oldTopExtra ? &oldTopExtra->backingStore : 0;
+
d->setParent_sys(parent, f);
+
+ QTLWExtra *topExtra = window()->d_func()->maybeTopData();
+ QWidgetBackingStoreTracker *bsTracker = topExtra ? &topExtra->backingStore : 0;
+ if (oldBsTracker && oldBsTracker != bsTracker)
+ oldBsTracker->unregisterWidgetSubtree(this);
+
if (desktopWidget)
parent = 0;
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index 1e2aa9f..997419b 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -2794,19 +2794,38 @@ void QWidgetPrivate::transferChildren()
#ifdef QT_MAC_USE_COCOA
void QWidgetPrivate::setSubWindowStacking(bool set)
{
+ // This will set/remove a visual relationship between parent and child on screen.
+ // The reason for doing this is to ensure that a child always stacks infront of
+ // its parent. Unfortunatly is turns out that [NSWindow addChildWindow] has
+ // several unwanted side-effects, one of them being the moving of a child when
+ // moving the parent, which we choose to accept. A way tougher side-effect is
+ // that Cocoa will hide the parent if you hide the child. And in the case of
+ // a tool window, since it will normally hide when you deactivate the
+ // application, Cocoa will hide the parent upon deactivate as well. The result often
+ // being no more visible windows on screen. So, to make a long story short, we only
+ // allow parent-child relationships between windows that both are either a plain window
+ // or a dialog.
+
Q_Q(QWidget);
- if (!q->isWindow() || !q->testAttribute(Qt::WA_WState_Created))
+ if (!q->isWindow())
+ return;
+ NSWindow *qwin = [qt_mac_nativeview_for(q) window];
+ if (!qwin)
+ return;
+ Qt::WindowType qtype = q->windowType();
+ if (set && !(qtype == Qt::Window || qtype == Qt::Dialog))
+ return;
+ if (set && ![qwin isVisible])
return;
if (QWidget *parent = q->parentWidget()) {
- if (parent->testAttribute(Qt::WA_WState_Created)) {
+ if (NSWindow *pwin = [qt_mac_nativeview_for(parent) window]) {
if (set) {
- if (parent->isVisible()) {
- NSWindow *childwin = qt_mac_window_for(q);
- [qt_mac_window_for(parent) addChildWindow:childwin ordered:NSWindowAbove];
- }
+ Qt::WindowType ptype = parent->window()->windowType();
+ if ([pwin isVisible] && (ptype == Qt::Window || ptype == Qt::Dialog) && ![qwin parentWindow])
+ [pwin addChildWindow:qwin ordered:NSWindowAbove];
} else {
- [qt_mac_window_for(parent) removeChildWindow:qt_mac_window_for(q)];
+ [pwin removeChildWindow:qwin];
}
}
}
@@ -2814,12 +2833,15 @@ void QWidgetPrivate::setSubWindowStacking(bool set)
QList<QWidget *> widgets = q->findChildren<QWidget *>();
for (int i=0; i<widgets.size(); ++i) {
QWidget *child = widgets.at(i);
- if (child->isWindow() && child->testAttribute(Qt::WA_WState_Created) && child->isVisibleTo(q)) {
- if (set) {
- NSWindow *childwin = qt_mac_window_for(child);
- [qt_mac_window_for(q) addChildWindow:childwin ordered:NSWindowAbove];
- } else {
- [qt_mac_window_for(q) removeChildWindow:qt_mac_window_for(child)];
+ if (child && child->isWindow()) {
+ if (NSWindow *cwin = [qt_mac_nativeview_for(child) window]) {
+ if (set) {
+ Qt::WindowType ctype = child->window()->windowType();
+ if ([cwin isVisible] && (ctype == Qt::Window || ctype == Qt::Dialog) && ![cwin parentWindow])
+ [qwin addChildWindow:cwin ordered:NSWindowAbove];
+ } else {
+ [qwin removeChildWindow:qt_mac_window_for(child)];
+ }
}
}
}
@@ -3442,7 +3464,6 @@ void QWidgetPrivate::show_sys()
#else
// sync the opacity value back (in case of a fade).
[window setAlphaValue:q->windowOpacity()];
- setSubWindowStacking(true);
QWidget *top = 0;
if (QApplicationPrivate::tryModalHelper(q, &top)) {
@@ -3461,6 +3482,7 @@ void QWidgetPrivate::show_sys()
[modalWin orderFront:window];
}
}
+ setSubWindowStacking(true);
#endif
if (q->windowType() == Qt::Popup) {
if (q->focusWidget())
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index 6c89659..6a27469 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -122,6 +122,7 @@ public:
void registerWidget(QWidget *w);
void unregisterWidget(QWidget *w);
+ void unregisterWidgetSubtree(QWidget *w);
inline QWidgetBackingStore* data()
{
@@ -225,6 +226,7 @@ struct QTLWExtra {
#endif
#elif defined(Q_OS_SYMBIAN)
uint inExpose : 1; // Prevents drawing recursion
+ uint nativeWindowTransparencyEnabled : 1; // Tracks native window transparency
#endif
};
diff --git a/src/gui/kernel/qwidget_qws.cpp b/src/gui/kernel/qwidget_qws.cpp
index 3145136..c6cbbd0 100644
--- a/src/gui/kernel/qwidget_qws.cpp
+++ b/src/gui/kernel/qwidget_qws.cpp
@@ -1017,6 +1017,30 @@ int QWidget::metric(PaintDeviceMetric m) const
return static_cast<QWidget *>(d->parent)->metric(m);
const QScreen *screen = d->getScreen();
return qRound(screen->height() / double(screen->physicalHeight() / 25.4));
+ } else if (m == PdmNumColors) {
+ QScreen *screen = d->getScreen();
+ int ret = screen->colorCount();
+ if (!ret) {
+ const int depth = qwsDisplay()->depth();
+ switch (depth) {
+ case 1:
+ ret = 2;
+ break;
+ case 8:
+ ret = 256;
+ break;
+ case 16:
+ ret = 65536;
+ break;
+ case 24:
+ ret = 16777216;
+ break;
+ case 32:
+ ret = 2147483647;
+ break;
+ }
+ }
+ return ret;
} else {
val = QPaintDevice::metric(m);// XXX
}
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index 9a451ce..609307c 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -57,7 +57,7 @@
#include <eikbtgpc.h>
#endif
-// This is necessary in order to be able to perform delayed invokation on slots
+// 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.
@@ -544,7 +544,7 @@ void QWidgetPrivate::show_sys()
id->MakeVisible(true);
- if(q->isWindow())
+ if(q->isWindow()&&!q->testAttribute(Qt::WA_ShowWithoutActivating))
id->setFocusSafely(true);
}
@@ -577,7 +577,7 @@ void QWidgetPrivate::hide_sys()
QSymbianControl *id = static_cast<QSymbianControl *>(q->internalWinId());
if (id) {
- //Incorrect optimisation - for popup windows, Qt's focus is moved before
+ //Incorrect optimization - for popup windows, Qt's focus is moved before
//hide_sys is called, resulting in the popup window keeping its elevated
//position in the CONE control stack.
//This can result in keyboard focus being in an invisible widget in some
@@ -709,7 +709,8 @@ void QWidgetPrivate::setParent_sys(QWidget *parent, Qt::WindowFlags f)
// old_winid may not have received a 'not visible' visibility
// changed event before being destroyed; make sure that it is
// removed from the backing store's list of visible windows.
- S60->controlVisibilityChanged(old_winid, false);
+ if (old_winid)
+ S60->controlVisibilityChanged(old_winid, false);
setWinId(0);
@@ -766,17 +767,24 @@ void QWidgetPrivate::s60UpdateIsOpaque()
if (!q->testAttribute(Qt::WA_WState_Created) || !q->testAttribute(Qt::WA_TranslucentBackground))
return;
+ createTLExtra();
+
RWindow *const window = static_cast<RWindow *>(q->effectiveWinId()->DrawableWindow());
#ifdef Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
window->SetSurfaceTransparency(!isOpaque);
+ extra->topextra->nativeWindowTransparencyEnabled = !isOpaque;
#else
if (!isOpaque) {
const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA));
- if (window->SetTransparencyAlphaChannel() == KErrNone)
+ if (window->SetTransparencyAlphaChannel() == KErrNone) {
window->SetBackgroundColor(TRgb(255, 255, 255, 0));
- } else
+ extra->topextra->nativeWindowTransparencyEnabled = 1;
+ }
+ } else if (extra->topextra->nativeWindowTransparencyEnabled) {
window->SetTransparentRegion(TRegionFix<1>());
+ extra->topextra->nativeWindowTransparencyEnabled = 0;
+ }
#endif
}
@@ -935,6 +943,7 @@ void QWidgetPrivate::registerDropSite(bool /* on */)
void QWidgetPrivate::createTLSysExtra()
{
extra->topextra->inExpose = 0;
+ extra->topextra->nativeWindowTransparencyEnabled = 0;
}
void QWidgetPrivate::deleteTLSysExtra()
diff --git a/src/gui/kernel/qx11embed_x11.cpp b/src/gui/kernel/qx11embed_x11.cpp
index 9f1b1f8..e6e3bfb 100644
--- a/src/gui/kernel/qx11embed_x11.cpp
+++ b/src/gui/kernel/qx11embed_x11.cpp
@@ -1136,7 +1136,7 @@ void QX11EmbedContainer::paintEvent(QPaintEvent *)
/*! \internal
- Returns wether or not the windows' embedded flag is set.
+ Returns whether or not the windows' embedded flag is set.
*/
bool QX11EmbedContainerPrivate::isEmbedded() const
{
diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri
index 793d380..bd37d9f 100644
--- a/src/gui/painting/painting.pri
+++ b/src/gui/painting/painting.pri
@@ -234,13 +234,14 @@ embedded {
symbian {
- HEADERS += painting/qwindowsurface_s60_p.h
+ HEADERS += painting/qwindowsurface_s60_p.h \
+ painting/qdrawhelper_arm_simd_p.h
SOURCES += painting/qwindowsurface_s60.cpp
armccIfdefBlock = \
"$${LITERAL_HASH}if defined(ARMV6)" \
+ "MACRO QT_HAVE_ARM_SIMD" \
"SOURCEPATH painting" \
- "SOURCE qblendfunctions_armv6_rvct.s" \
- "SOURCE qdrawhelper_armv6_rvct.s" \
+ "SOURCE qdrawhelper_arm_simd.cpp" \
"$${LITERAL_HASH}endif"
MMP_RULES += armccIfdefBlock
diff --git a/src/gui/painting/qbackingstore.cpp b/src/gui/painting/qbackingstore.cpp
index ac9b994..8a1c154 100644
--- a/src/gui/painting/qbackingstore.cpp
+++ b/src/gui/painting/qbackingstore.cpp
@@ -446,7 +446,7 @@ QRegion QWidgetBackingStore::dirtyRegion(QWidget *widget) const
/*!
Returns the static content inside the \a parent if non-zero; otherwise the static content
- for the entire backing store is returned. The content will be clipped to \a withingClipRect
+ for the entire backing store is returned. The content will be clipped to \a withinClipRect
if non-empty.
*/
QRegion QWidgetBackingStore::staticContents(QWidget *parent, const QRect &withinClipRect) const
diff --git a/src/gui/painting/qblendfunctions_armv6_rvct.s b/src/gui/painting/qblendfunctions_armv6_rvct.s
deleted file mode 100644
index 1e3faa9..0000000
--- a/src/gui/painting/qblendfunctions_armv6_rvct.s
+++ /dev/null
@@ -1,222 +0,0 @@
-;****************************************************************************
-;**
-;** 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$
-;**
-;****************************************************************************
-
-;
-; W A R N I N G
-; -------------
-;
-; This file is not part of the Qt API. It exists purely as an
-; implementation detail. This header file may change from version to
-; version without notice, or even be removed.
-;
-; We mean it.
-;
-
-
- ARM
- PRESERVE8
-
- INCLUDE qdrawhelper_armv6_rvct.inc
-
-
-;-----------------------------------------------------------------------------
-; qt_blend_rgb32_on_rgb32_arm
-;
-; @brief
-;
-; @param dest Destination pixels (r0)
-; @param dbpl Destination bytes per line (r1)
-; @param src Source pixels (r2)
-; @param sbpl Source bytes per line (r3)
-; @param w Width (s0 -> r4)
-; @param h Height (s1 -> r5)
-; @param const_alpha Constant alpha (s2 -> r6)
-;
-;---------------------------------------------------------------------------
-qt_blend_rgb32_on_rgb32_armv6 Function
- stmfd sp!, {r4-r12, r14}
-
- ; read arguments off the stack
- add r8, sp, #10 * 4
- ldmia r8, {r9-r11}
-
- ; Reorganize registers
-
- mov r4, r10
- mov r5, r1
- mov r6, r3
-
- mov r1, r2
- mov r2, r9
- mov r3, r11
-
- ; Now we have registers
- ; @param dest Destination pixels (r0)
- ; @param src Source pixels (r1)
- ; @param w Width (r2)
- ; @param const_alpha Constant alpha (r3)
- ; @param h Height (r4)
- ; @param dbpl Destination bytes per line (r5)
- ; @param sbpl Source bytes per line (r6)
-
- cmp r3, #256 ; test if we have fully opaque constant alpha value
- bne rgb32_blend_const_alpha ; branch if not
-
-rgb32_blend_loop
-
- subs r4, r4, #1
- bmi rgb32_blend_exit ; while(h--)
-
-rgb321 PixCpySafe r0, r1, r2
-
- add r0, r0, r5 ; dest = dest + dbpl
- add r1, r1, r6 ; src = src + sbpl
-
- b rgb32_blend_loop
-
-
-rgb32_blend_const_alpha
-
- ;ldr r14, =ComponentHalf ; load 0x800080 to r14
- mov r14, #0x800000
- add r14, r14, #0x80
-
- sub r3, r3, #1 ; const_alpha -= 1;
-
-rgb32_blend_loop_const_alpha
-
- subs r4, r4, #1
- bmi rgb32_blend_exit ; while(h--)
-
-rgb322 BlendRowSafe PixelSourceOverConstAlpha
-
- add r0, r0, r5 ; dest = dest + dbpl
- add r1, r1, r6 ; src = src + sbpl
-
- b rgb32_blend_loop_const_alpha
-
-rgb32_blend_exit
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-
-
-;-----------------------------------------------------------------------------
-; qt_blend_argb32_on_argb32_arm
-;
-; @brief
-;
-; @param dest Destination pixels (r0)
-; @param dbpl Destination bytes per line (r1)
-; @param src Source pixels (r2)
-; @param sbpl Source bytes per line (r3)
-; @param w Width (s0 -> r4)
-; @param h Height (s1 -> r5)
-; @param const_alpha Constant alpha (s2 -> r6)
-;
-;---------------------------------------------------------------------------
-qt_blend_argb32_on_argb32_armv6 Function
- stmfd sp!, {r4-r12, r14}
-
- ; read arguments off the stack
- add r8, sp, #10 * 4
- ldmia r8, {r9-r11}
-
- ; Reorganize registers
-
- mov r4, r10
- mov r5, r1
- mov r6, r3
-
- mov r1, r2
- mov r2, r9
- mov r3, r11
-
- ; Now we have registers
- ; @param dest Destination pixels (r0)
- ; @param src Source pixels (r1)
- ; @param w Width (r2)
- ; @param const_alpha Constant alpha (r3)
- ; @param h Height (r4)
- ; @param dbpl Destination bytes per line (r5)
- ; @param sbpl Source bytes per line (r6)
-
- ;ldr r14, =ComponentHalf ; load 0x800080 to r14
- mov r14, #0x800000
- add r14, r14, #0x80
-
- cmp r3, #256 ; test if we have fully opaque constant alpha value
- bne argb32_blend_const_alpha ; branch if not
-
-argb32_blend_loop
-
- subs r4, r4, #1
- bmi argb32_blend_exit ; while(h--)
-
-argb321 BlendRowSafe PixelSourceOver
-
- add r0, r0, r5 ; dest = dest + dbpl
- add r1, r1, r6 ; src = src + sbpl
-
- b argb32_blend_loop
-
-argb32_blend_const_alpha
-
- sub r3, r3, #1 ; const_alpha -= 1;
-
-argb32_blend_loop_const_alpha
-
- subs r4, r4, #1
- bmi argb32_blend_exit ; while(h--)
-
-argb322 BlendRowSafe PixelSourceOverConstAlpha
-
- add r0, r0, r5 ; dest = dest + dbpl
- add r1, r1, r6 ; src = src + sbpl
-
- b argb32_blend_loop_const_alpha
-
-argb32_blend_exit
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-
- END ; File end
diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp
index 5f190ba..a4ab278 100644
--- a/src/gui/painting/qdrawhelper.cpp
+++ b/src/gui/painting/qdrawhelper.cpp
@@ -43,7 +43,7 @@
#include <private/qpaintengine_raster_p.h>
#include <private/qpainter_p.h>
#include <private/qdrawhelper_x86_p.h>
-#include <private/qdrawhelper_armv6_p.h>
+#include <private/qdrawhelper_arm_simd_p.h>
#include <private/qdrawhelper_neon_p.h>
#include <private/qmath_p.h>
#include <qmath.h>
@@ -7678,96 +7678,6 @@ static void qt_memfill16_setup(quint16 *dest, quint16 value, int count);
qt_memfill32_func qt_memfill32 = qt_memfill32_setup;
qt_memfill16_func qt_memfill16 = qt_memfill16_setup;
-#if defined(Q_CC_RVCT) && defined(QT_HAVE_ARMV6)
-// Move these to qdrawhelper_arm.c when all
-// functions are implemented using arm assembly.
-static CompositionFunctionSolid qt_functionForModeSolid_ARMv6[numCompositionFunctions] = {
- comp_func_solid_SourceOver,
- comp_func_solid_DestinationOver,
- comp_func_solid_Clear,
- comp_func_solid_Source,
- comp_func_solid_Destination,
- comp_func_solid_SourceIn,
- comp_func_solid_DestinationIn,
- comp_func_solid_SourceOut,
- comp_func_solid_DestinationOut,
- comp_func_solid_SourceAtop,
- comp_func_solid_DestinationAtop,
- comp_func_solid_XOR,
- comp_func_solid_Plus,
- comp_func_solid_Multiply,
- comp_func_solid_Screen,
- comp_func_solid_Overlay,
- comp_func_solid_Darken,
- comp_func_solid_Lighten,
- comp_func_solid_ColorDodge,
- comp_func_solid_ColorBurn,
- comp_func_solid_HardLight,
- comp_func_solid_SoftLight,
- comp_func_solid_Difference,
- comp_func_solid_Exclusion,
- rasterop_solid_SourceOrDestination,
- rasterop_solid_SourceAndDestination,
- rasterop_solid_SourceXorDestination,
- rasterop_solid_NotSourceAndNotDestination,
- rasterop_solid_NotSourceOrNotDestination,
- rasterop_solid_NotSourceXorDestination,
- rasterop_solid_NotSource,
- rasterop_solid_NotSourceAndDestination,
- rasterop_solid_SourceAndNotDestination
-};
-
-static CompositionFunction qt_functionForMode_ARMv6[numCompositionFunctions] = {
- comp_func_SourceOver_armv6,
- comp_func_DestinationOver,
- comp_func_Clear,
- comp_func_Source_armv6,
- comp_func_Destination,
- comp_func_SourceIn,
- comp_func_DestinationIn,
- comp_func_SourceOut,
- comp_func_DestinationOut,
- comp_func_SourceAtop,
- comp_func_DestinationAtop,
- comp_func_XOR,
- comp_func_Plus,
- comp_func_Multiply,
- comp_func_Screen,
- comp_func_Overlay,
- comp_func_Darken,
- comp_func_Lighten,
- comp_func_ColorDodge,
- comp_func_ColorBurn,
- comp_func_HardLight,
- comp_func_SoftLight,
- comp_func_Difference,
- comp_func_Exclusion,
- rasterop_SourceOrDestination,
- rasterop_SourceAndDestination,
- rasterop_SourceXorDestination,
- rasterop_NotSourceAndNotDestination,
- rasterop_NotSourceOrNotDestination,
- rasterop_NotSourceXorDestination,
- rasterop_NotSource,
- rasterop_NotSourceAndDestination,
- rasterop_SourceAndNotDestination
-};
-
-static void qt_blend_color_argb_armv6(int count, const QSpan *spans, void *userData)
-{
- QSpanData *data = reinterpret_cast<QSpanData *>(userData);
-
- CompositionFunctionSolid func = qt_functionForModeSolid_ARMv6[data->rasterBuffer->compositionMode];
- while (count--) {
- uint *target = ((uint *)data->rasterBuffer->scanLine(spans->y)) + spans->x;
- func(target, spans->len, data->solid.color, spans->coverage);
- ++spans;
- }
-}
-
-#endif // Q_CC_RVCT && QT_HAVE_ARMV6
-
-
void qInitDrawhelperAsm()
{
@@ -7938,46 +7848,39 @@ void qInitDrawhelperAsm()
}
#endif // IWMMXT
-#if defined(Q_CC_RVCT) && defined(QT_HAVE_ARMV6)
- functionForModeAsm = qt_functionForMode_ARMv6;
- functionForModeSolidAsm = qt_functionForModeSolid_ARMv6;
+#if defined(QT_HAVE_ARM_SIMD)
+ qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_arm_simd;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_arm_simd;
+ qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_arm_simd;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_arm_simd;
+#elif defined(QT_HAVE_NEON)
+ if (features & NEON) {
+ qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon;
+ qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon;
+ qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16_neon;
+ qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB16] = qt_blend_rgb16_on_argb32_neon;
+ qBlendFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_blend_rgb16_on_rgb16_neon;
+
+ qScaleFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_rgb16_neon;
+ qScaleFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_scale_image_rgb16_on_rgb16_neon;
- qt_memfill32 = qt_memfill32_armv6;
+ qTransformFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_transform_image_argb32_on_rgb16_neon;
+ qTransformFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_transform_image_rgb16_on_rgb16_neon;
- qDrawHelper[QImage::Format_ARGB32_Premultiplied].blendColor = qt_blend_color_argb_armv6;
+ qDrawHelper[QImage::Format_RGB16].alphamapBlit = qt_alphamapblit_quint16_neon;
- qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_armv6;
- qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_armv6;
- qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_armv6;
- qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_armv6;
-#elif defined(QT_HAVE_NEON)
- if (features & NEON) {
- qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon;
- qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon;
- qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon;
- qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon;
- qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16_neon;
- qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB16] = qt_blend_rgb16_on_argb32_neon;
- qBlendFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_blend_rgb16_on_rgb16_neon;
-
- qScaleFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_rgb16_neon;
- qScaleFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_scale_image_rgb16_on_rgb16_neon;
-
- qTransformFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_transform_image_argb32_on_rgb16_neon;
- qTransformFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_transform_image_rgb16_on_rgb16_neon;
-
- qDrawHelper[QImage::Format_RGB16].alphamapBlit = qt_alphamapblit_quint16_neon;
-
- functionForMode_C[QPainter::CompositionMode_SourceOver] = qt_blend_argb32_on_argb32_scanline_neon;
- functionForModeSolid_C[QPainter::CompositionMode_SourceOver] = comp_func_solid_SourceOver_neon;
- functionForMode_C[QPainter::CompositionMode_Plus] = comp_func_Plus_neon;
- destFetchProc[QImage::Format_RGB16] = qt_destFetchRGB16_neon;
- destStoreProc[QImage::Format_RGB16] = qt_destStoreRGB16_neon;
-
- qMemRotateFunctions[QImage::Format_RGB16][0] = qt_memrotate90_16_neon;
- qMemRotateFunctions[QImage::Format_RGB16][2] = qt_memrotate270_16_neon;
- qt_memfill32 = qt_memfill32_neon;
- }
+ functionForMode_C[QPainter::CompositionMode_SourceOver] = qt_blend_argb32_on_argb32_scanline_neon;
+ functionForModeSolid_C[QPainter::CompositionMode_SourceOver] = comp_func_solid_SourceOver_neon;
+ functionForMode_C[QPainter::CompositionMode_Plus] = comp_func_Plus_neon;
+ destFetchProc[QImage::Format_RGB16] = qt_destFetchRGB16_neon;
+ destStoreProc[QImage::Format_RGB16] = qt_destStoreRGB16_neon;
+
+ qMemRotateFunctions[QImage::Format_RGB16][0] = qt_memrotate90_16_neon;
+ qMemRotateFunctions[QImage::Format_RGB16][2] = qt_memrotate270_16_neon;
+ qt_memfill32 = qt_memfill32_neon;
+ }
#endif
if (functionForModeSolidAsm) {
diff --git a/src/gui/painting/qdrawhelper_arm_simd.cpp b/src/gui/painting/qdrawhelper_arm_simd.cpp
new file mode 100644
index 0000000..2a5f5e4
--- /dev/null
+++ b/src/gui/painting/qdrawhelper_arm_simd.cpp
@@ -0,0 +1,332 @@
+/****************************************************************************
+**
+** 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 "qdrawhelper_arm_simd_p.h"
+
+#include <private/qpaintengine_raster_p.h>
+#include <private/qblendfunctions_p.h>
+
+#ifdef QT_HAVE_ARM_SIMD
+
+#if defined(Q_OS_SYMBIAN)
+#if !defined(__SWITCH_TO_ARM)
+#ifdef __MARM_THUMB__
+#ifndef __ARMCC__
+#define __SWITCH_TO_ARM asm("push {r0} ");\
+ asm("add r0, pc, #4 ");\
+ asm("bx r0 ");\
+ asm("nop ");\
+ asm(".align 2 ");\
+ asm(".code 32 ");\
+ asm("ldr r0, [sp], #4 ")
+#define __END_ARM asm(".code 16 ")
+#else
+#define __SWITCH_TO_ARM asm(".code 32 ");
+#define __END_ARM
+#endif // __ARMCC__
+#else
+#define __SWITCH_TO_ARM
+#define __END_ARM
+#endif //__MARM_THUMB__
+#endif
+#endif
+
+#if defined(Q_OS_SYMBIAN) && defined(Q_CC_RVCT)
+__asm void qt_blend_argb32_on_argb32_arm_simd(uchar *destPixels, int dbpl,
+ const uchar *srcPixels, int sbpl,
+ int w, int h,
+ int const_alpha)
+{
+#ifndef __ARMCC__
+ __SWITCH_TO_ARM;
+#else
+ CODE32
+#endif // __ARMCC__
+
+ stmfd sp!, {r4-r12, r14}
+
+ // read arguments off the stack
+ add r8, sp, #10 * 4
+ ldmia r8, {r4-r6}
+
+ // adjust dbpl and sbpl
+ mov r14, #4
+ mul r14, r4, r14
+ sub r1, r1, r14
+ sub r3, r3, r14
+
+ // load 0xFF00FF00 to r12
+ mov r12, #0xFF000000
+ add r12, r12, #0xFF00
+
+ // load 0x800080 to r14
+ mov r14, #0x800000
+ add r14, r14, #0x80
+
+ /*
+ Registers:
+ r0 dst
+ r1 dbpl
+ r2 src
+ r3 sbpl
+ r4 w
+ r5 h
+ r6 const_alpha
+ r12 0xFF0000
+ r14 0x800080
+ */
+
+ cmp r6, #256 //test if we have fully opaque constant alpha value
+ bne argb32constalpha // branch if not
+
+argb32_next_row
+
+ mov r7, r4
+
+argb32_next_pixel
+
+ ldr r8, [r2], #4 // load src pixel
+
+ // Negate r8 and extract src alpha
+ mvn r11, r8 // bitwise not
+ uxtb r11, r11, ror #24
+
+ cmp r11, #0 // test for full src opacity (negated)
+ beq argb32_no_blend
+
+ cmp r11, #255 // test for full src transparency (negated)
+ addeq r0, #4
+ beq argb32_nop
+
+ ldr r9, [r0] // load dst pixel
+
+ // blend
+ uxtb16 r10, r9
+ uxtb16 r6, r9, ror #8
+ mla r10, r11, r10, r14
+ mla r9, r6, r11, r14
+ uxtab16 r10, r10, r10, ror #8
+ uxtab16 r9, r9, r9, ror #8
+ and r9, r9, r12
+ uxtab16 r10, r9, r10, ror #8
+
+ uqadd8 r8, r10, r8
+
+argb32_no_blend
+
+ str r8, [r0], #4
+
+argb32_nop
+
+ subs r7, r7, #1
+ bgt argb32_next_pixel
+
+ add r0, r0, r1 // dest = dest + dbpl
+ add r2, r2, r3 // src = src + sbpl
+
+ subs r5, r5, #1
+ bgt argb32_next_row
+
+ b argb32_blend_exit
+
+argb32constalpha
+
+ cmp r6, #0
+ beq argb32_blend_exit
+
+ ; const_alpha = (const_alpha * 255) >> 8;
+ mov r11, #255
+ mul r6, r6, r11
+ mov r11, r6, lsr #8
+
+argb32constalpha_next_row
+
+ mov r7, r4
+
+argb32constalpha_next_pixel
+
+ ldr r9, [r2], #4 // load src pixel
+
+ // blend
+ uxtb16 r10, r9
+ uxtb16 r6, r9, ror #8
+ mla r10, r11, r10, r14
+ mla r9, r6, r11, r14
+ uxtab16 r10, r10, r10, ror #8
+ uxtab16 r9, r9, r9, ror #8
+ and r9, r9, r12
+ uxtab16 r8, r9, r10, ror #8
+
+ ldr r9, [r0] // load dst pixel
+
+ // blend
+ uxtb16 r10, r9
+ uxtb16 r6, r9, ror #8
+
+ // Negate r11 and extract src alpha
+ mvn r9, r11 // bitwise not
+ uxtb r9, r9, ror #24
+
+ mla r10, r9, r10, r14
+ mla r9, r6, r9, r14
+ uxtab16 r10, r10, r10, ror #8
+ uxtab16 r9, r9, r9, ror #8
+ and r9, r9, r12
+ uxtab16 r10, r9, r10, ror #8
+
+ uqadd8 r8, r10, r8
+
+ str r8, [r0], #4
+
+ subs r7, r7, #1
+ bgt argb32constalpha_next_pixel
+
+ add r0, r0, r1 // dest = dest + dbpl
+ add r2, r2, r3 // src = src + sbpl
+
+ subs r5, r5, #1
+ bgt argb32constalpha_next_row
+
+argb32_blend_exit
+
+ // Restore registers
+ ldmfd sp!, {r4-r12, lr}
+ bx lr
+
+ __END_ARM
+}
+
+void qt_blend_rgb32_on_rgb32_arm_simd(uchar *destPixels, int dbpl,
+ const uchar *srcPixels, int sbpl,
+ int w, int h,
+ int const_alpha)
+{
+ if (const_alpha != 256) {
+ qt_blend_argb32_on_argb32_arm_simd(destPixels, dbpl, srcPixels, sbpl, w, h, const_alpha);
+ return;
+ }
+
+ const uint *src = (const uint *) srcPixels;
+ uint *dst = (uint *) destPixels;
+ if (w <= 64) {
+ for (int y=0; y<h; ++y) {
+ qt_memconvert(dst, src, w);
+ dst = (quint32 *)(((uchar *) dst) + dbpl);
+ src = (const quint32 *)(((const uchar *) src) + sbpl);
+ }
+ } else {
+ int len = w * 4;
+ for (int y=0; y<h; ++y) {
+ memcpy(dst, src, len);
+ dst = (quint32 *)(((uchar *) dst) + dbpl);
+ src = (const quint32 *)(((const uchar *) src) + sbpl);
+ }
+ }
+}
+
+#else // defined(Q_OS_SYMBIAN) && defined(Q_CC_RVCT)
+
+// TODO: add GNU assembler instructions and support for other platforms.
+// Default to C code for now
+
+void qt_blend_argb32_on_argb32_arm_simd(uchar *destPixels, int dbpl,
+ const uchar *srcPixels, int sbpl,
+ int w, int h,
+ int const_alpha)
+{
+ const uint *src = (const uint *) srcPixels;
+ uint *dst = (uint *) destPixels;
+ if (const_alpha == 256) {
+ for (int y=0; y<h; ++y) {
+ for (int x=0; x<w; ++x) {
+ uint s = src[x];
+ if (s >= 0xff000000)
+ dst[x] = s;
+ else if (s != 0)
+ dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s));
+ }
+ dst = (quint32 *)(((uchar *) dst) + dbpl);
+ src = (const quint32 *)(((const uchar *) src) + sbpl);
+ }
+ } else if (const_alpha != 0) {
+ const_alpha = (const_alpha * 255) >> 8;
+ for (int y=0; y<h; ++y) {
+ for (int x=0; x<w; ++x) {
+ uint s = BYTE_MUL(src[x], const_alpha);
+ dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s));
+ }
+ dst = (quint32 *)(((uchar *) dst) + dbpl);
+ src = (const quint32 *)(((const uchar *) src) + sbpl);
+ }
+ }
+}
+
+void qt_blend_rgb32_on_rgb32_arm_simd(uchar *destPixels, int dbpl,
+ const uchar *srcPixels, int sbpl,
+ int w, int h,
+ int const_alpha)
+{
+ if (const_alpha != 256) {
+ qt_blend_argb32_on_argb32_arm_simd(destPixels, dbpl, srcPixels, sbpl, w, h, const_alpha);
+ return;
+ }
+
+ const uint *src = (const uint *) srcPixels;
+ uint *dst = (uint *) destPixels;
+ if (w <= 64) {
+ for (int y=0; y<h; ++y) {
+ qt_memconvert(dst, src, w);
+ dst = (quint32 *)(((uchar *) dst) + dbpl);
+ src = (const quint32 *)(((const uchar *) src) + sbpl);
+ }
+ } else {
+ int len = w * 4;
+ for (int y=0; y<h; ++y) {
+ memcpy(dst, src, len);
+ dst = (quint32 *)(((uchar *) dst) + dbpl);
+ src = (const quint32 *)(((const uchar *) src) + sbpl);
+ }
+ }
+}
+
+#endif
+
+#endif // QT_HAVE_ARMV_SIMD
diff --git a/src/gui/painting/qdrawhelper_armv6_p.h b/src/gui/painting/qdrawhelper_arm_simd_p.h
index e58f8bb..6c96a84 100644
--- a/src/gui/painting/qdrawhelper_armv6_p.h
+++ b/src/gui/painting/qdrawhelper_arm_simd_p.h
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#ifndef QDRAWHELPER_ARMV6_P_H
-#define QDRAWHELPER_ARMV6_P_H
+#ifndef QDRAWHELPER_ARM_SIMD_P_H
+#define QDRAWHELPER_ARM_SIMD_P_H
//
// W A R N I N G
@@ -57,25 +57,20 @@
QT_BEGIN_NAMESPACE
-#if defined(Q_CC_RVCT) && defined(QT_HAVE_ARMV6)
+#if defined(QT_HAVE_ARM_SIMD)
-extern "C" void qt_blend_rgb32_on_rgb32_armv6(uchar *destPixels, int dbpl,
+void qt_blend_argb32_on_argb32_arm_simd(uchar *destPixels, int dbpl,
const uchar *srcPixels, int sbpl,
int w, int h,
int const_alpha);
-extern "C" void qt_blend_argb32_on_argb32_armv6(uchar *destPixels, int dbpl,
+void qt_blend_rgb32_on_rgb32_arm_simd(uchar *destPixels, int dbpl,
const uchar *srcPixels, int sbpl,
int w, int h,
int const_alpha);
-extern "C" void qt_memfill32_armv6(quint32 *dest, quint32 value, int count);
-
-extern "C" void comp_func_Source_armv6(uint *dest, const uint *src, int length, uint const_alpha);
-extern "C" void comp_func_SourceOver_armv6(uint *dest, const uint *src, int length, uint const_alpha);
-
-#endif // QT_HAVE_ARMV6
+#endif // QT_HAVE_ARM_SIMD
QT_END_NAMESPACE
-#endif // QDRAWHELPER_ARMV6_P_H
+#endif // QDRAWHELPER_ARM_SIMD_P_H
diff --git a/src/gui/painting/qdrawhelper_armv6_rvct.inc b/src/gui/painting/qdrawhelper_armv6_rvct.inc
deleted file mode 100644
index 8c6d803..0000000
--- a/src/gui/painting/qdrawhelper_armv6_rvct.inc
+++ /dev/null
@@ -1,496 +0,0 @@
-;****************************************************************************
-;**
-;** 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$
-;**
-;****************************************************************************
-
-;
-; W A R N I N G
-; -------------
-;
-; This file is not part of the Qt API. It exists purely as an
-; implementation detail. This header file may change from version to
-; version without notice, or even be removed.
-;
-; We mean it.
-;
-
-;-----------------------------------------------------------------------------
-; Globals.
-; Earch marcro expects that caller has loaded 0x800080 to r14.
-;-----------------------------------------------------------------------------
-
-ComponentHalf EQU 0x800080
-
-;-----------------------------------------------------------------------------
-; ARM assembly implementations of accelerated graphics operations.
-;
-; Conventions:
-;
-; - r0 = Target buffer pointer
-; - r1 = Source buffer pointer
-; - r2 = Length of the buffer to blend
-; - r3 = Constant alpha for source buffer
-;
-;-----------------------------------------------------------------------------
-
-; A macro for transparently defining ARM functions
- MACRO
-$func Function
- AREA Function_$func, CODE
- GLOBAL $func
- ALIGN 4
- CODE32
-$func
- MEND
-
-
-;-----------------------------------------------------------------------------
-; Armv6 boosted implementation of BYTE_MUL(...) function found in qdrawhelper_p.h.
-;
-; @param dst Destination register where to store the result
-; @param x Value to multiply
-; @param a Multiplicator byte
-; @param r14 Component half 0x800080
-;
-; @note Trashes x, r8
-;-----------------------------------------------------------------------------
- MACRO
- ByteMul $dst, $x, $a
-
- ; static inline uint BYTE_MUL(uint x, uint a)
-
- ; uint r8 = (x & 0xff00ff) * a + 0x800080
- uxtb16 r8, $x ; r8 = r8 & 0x00FF00FF
- mla r8, r8, $a, r14
-
- ; x = ((r >> 8) & 0xff00ff) * a + 0x800080
- uxtb16 $x, $x, ror #8
- mla $x, $x, $a, r14
-
-
- ; r8 = (r8 + ((r8 >> 8) & 0xff00ff) ) >> 8
- ; r8 &= 0xff00ff
- uxtab16 r8, r8, r8, ror #8
- uxtb16 r8, r8, ror #8
-
- ; x = x + ((x >>8) & 0xff00ff)
- uxtab16 $x, $x, $x, ror #8
-
- ; x &= 0xff00ff00
- ; x |= r8
- uxtb16 $x, $x, ror #8
- orr $dst, r8, $x, lsl #8
-
- MEND
-
-;-----------------------------------------------------------------------------
-; Armv6 boosted implementation of INTERPOLATE_PIXEL_255(...) function found in
-; qdrawhelper_p.h.
-;
-; @param dst Destination register where to store the result
-; @param x First value to multiply
-; @param a Multiplicator byte for first value
-; @param y Second value to multiply
-; @param b Multiplicator byte for second value
-; @param r14 Component half 0x800080
-;
-;
-; @note Trashes x, r8, r14
-;-----------------------------------------------------------------------------
- MACRO
- InterpolatePixel255 $dst, $x, $a, $y, $b
-
- ; static inline uint INTERPOLATE_PIXEL_255(uint x, uint a, uint y, uint b)
-
- ; First calculate the parts where we need 0x800080
-
- ; uint r8 = (((x & 0xff00ff) * a) + 0x800080)
- uxtb16 r8, $x ; r8 = r8 & 0x00FF00FF
- mla r8, r8, $a, r14
-
- ; x = ((((x >> 8) & 0xff00ff) * a) + 0x800080)
- uxtb16 $x, $x, ror #8
- mla $x, $x, $a, r14
-
- ; Now we are trashing r14 to free it for other purposes
-
- ; uint r14 = (y & 0xff00ff) * b
- uxtb16 r14, $y ; r14 = y & 0x00FF00FF
- mul r14, r14, $b
-
- ; r8 = r8 + r14
- add r8, r8, r14
-
- ; r8 = (r8 + ((r8 >> 8) & 0xff00ff) ) >> 8
- ; r8 &= 0xff00ff
- uxtab16 r8, r8, r8, ror #8
- uxtb16 r8, r8, ror #8
-
- ; r14 = ((y >> 8) & 0xff00ff) * b
- uxtb16 r14, $y, ror #8 ; r14 = ((y >> 8) & 0xFF00FF)
- mul r14, r14, $b
-
- ; x = x + r14
- add $x, $x, r14
-
- ; x = x + ((x >>8) & 0xff00ff)
- uxtab16 $x, $x, $x, ror #8
-
- ; x &= 0xff00ff00
- ; x |= r8
- uxtb16 $x, $x, ror #8
- orr $dst, r8, $x, lsl #8
-
- MEND
-
-;-----------------------------------------------------------------------------
-;
-;-----------------------------------------------------------------------------
- MACRO
-$label Blend4Pixels $BlendPixel
-
- ; Blend first 4 pixels
-
- ldmia r1!, {r4-r7}
- ldm r0, {r9-r12}
-
-b4p1_$label $BlendPixel r9, r4, r3
-b4p2_$label $BlendPixel r10, r5, r3
-b4p3_$label $BlendPixel r11, r6, r3
-b4p4_$label $BlendPixel r12, r7, r3
-
- stmia r0!, {r9-r12}
-
- MEND
-
-;-----------------------------------------------------------------------------
-;
-;-----------------------------------------------------------------------------
- MACRO
-$label Blend8Pixels $BlendPixel
-
-b8p1_$label Blend4Pixels $BlendPixel
-b8p2_$label Blend4Pixels $BlendPixel
-
- MEND
-
-;-----------------------------------------------------------------------------
-;
-;-----------------------------------------------------------------------------
- MACRO
-$label Blend16Pixels $BlendPixel
-
-b16p1_$label Blend8Pixels $BlendPixel
-b16p2_$label Blend8Pixels $BlendPixel
-
- MEND
-
-;-----------------------------------------------------------------------------
-;
-;-----------------------------------------------------------------------------
- MACRO
-$label Blend32Pixels $BlendPixel
-
-b32p1_$label Blend16Pixels $BlendPixel
-b32p2_$label Blend16Pixels $BlendPixel
-
- MEND
-
-;-----------------------------------------------------------------------------
-; A macro for source over compositing one row of pixels and saving the results
-; to destination buffer.
-;
-; @param dest Destination buffer (r0)
-; @param src Source buffer (r1)
-; @param length Length (r2)
-; @param const_alpha Constant alpha (r3)
-; @param r14 Component Half (0x800080) (r14)
-;
-; @note Advances r0, r1
-; @note Trashes r2, r4-r12
-;-----------------------------------------------------------------------------
- MACRO
-$label BlendRow $BlendPixel
-
- pld [r1]
-
-bloop_$label
- ; Blend 32 pixels per loop iteration
- subs r2, r2, #32
- bmi b_remaining_$label
-
-brp1_$label Blend32Pixels $BlendPixel
-
- b bloop_$label
-
-b_remaining_$label
-
- ; Remaining 31 pixels
-
- addmi r2, r2, #32
-
- ; Blend 16 pixels
- tst r2, #16
- beq b_remaining8_$label
-
-brp2_$label Blend16Pixels $BlendPixel
-
-b_remaining8_$label
-
- ; Blend 8 pixels
- tst r2, #8
- beq b_remaining4_$label
-
-brp3_$label Blend8Pixels $BlendPixel
-
-b_remaining4_$label
-
- ; Blend 4 pixels
- tst r2, #4
- beq b_remaining3_$label
-
-brp4_$label Blend4Pixels $BlendPixel
-
-b_remaining3_$label
-
- ; Remaining 3 pixels
-
- tst r2, #2
- beq b_last_$label
-
- ldmia r1!, {r4-r5}
- ldm r0, {r9-r10}
-
-brp5_$label $BlendPixel r9, r4, r3
-brp6_$label $BlendPixel r10, r5, r3
-
- stmia r0!, {r9-r10}
-
-b_last_$label
-
- tst r2, #1
- beq bexit_$label
-
- ldr r4, [r1]
- ldr r9, [r0]
-
-bpl_$label $BlendPixel r9, r4, r3
-
- str r9, [r0]
-
-bexit_$label
-
- MEND
-
-;-----------------------------------------------------------------------------
-; A macro for source over compositing one row of pixels and saving the results
-; to destination buffer. Restores all registers.
-;
-; @param dest Destination buffer (r0)
-; @param src Source buffer (r1)
-; @param length Length (r2)
-; @param const_alpha Constant alpha (r3)
-; @param r14 Component Half (0x800080) (r14)
-;
-; @note Advances r0, r1
-; @note Trashes r2, r4-r12
-;-----------------------------------------------------------------------------
- MACRO
-$label BlendRowSafe $BlendPixel
-
- stmfd sp!, {r0-r6} ; Preserves registers only up to r6
-
-brs_$label BlendRow $BlendPixel
-
- ldmfd sp!, {r0-r6}
-
- MEND
-
-
-;-----------------------------------------------------------------------------
-; Pix Copy.
-; NOTE! Cache line size of ARM1136JF-S and ARM1136J-S is 32 bytes (8 pixels).
-;
-; @param dst Destination pixels (r0)
-; @param src Source pixels (r1)
-; @param len Length (r2)
-;
-; @note Trashes r3-r10
-;-----------------------------------------------------------------------------
- MACRO
-$label PixCpy $dst, $src, $len
-
- pld [$src]
-
-pcpy_loop_$label
- ; Copy 8 pixels per loop iteration
- pld [$src, #96]
- subs $len, $len, #8
- ldmgeia $src!, {r3-r10}
- stmgeia $dst!, {r3-r10}
- bgt pcpy_loop_$label
-
-pcpy_remaining_$label
-
- ; Copy up to 7 remaining pixels
-
- ; Copy 4 pixels
- tst $len, #4
- ldmneia $src!, {r3-r6}
- stmneia $dst!, {r3-r6}
-
- tst $len, #2
- ldmneia $src!, {r3-r4}
- stmneia $dst!, {r3-r4}
-
- tst $len, #1
- ldrne r3, [$src]
- strne r3, [$dst]
-
- MEND
-
-;-----------------------------------------------------------------------------
-; General Pix Copy. Maximum 8 pixels at time. Restores all registers.
-;
-; @param dst Destination pixels (r0)
-; @param src Source pixels (r1)
-; @param len Length (r2)
-;
-; @note Trashes r3-r10
-;-----------------------------------------------------------------------------
- MACRO
-$label PixCpySafe $dst, $src, $len
-
- stmfd sp!, {r0-r6} ; Preserves registers only up to r6
-
-pcs_$label PixCpy $dst, $src, $len
-
- ldmfd sp!, {r0-r6} ; pop
-
- MEND
-
-
-;-----------------------------------------------------------------------------
-; A macro for source over compositing one pixel and saving the result to
-; dst register.
-;
-; @param dst Destination register, must contain destination pixel upon entry
-; @param src Source register, must contain source pixel upon entry
-; @param const_alpha Constant source alpha
-; @param r14 Component half 0x800080
-;
-; @note Trashes const_alpha, r8
-;-----------------------------------------------------------------------------
- MACRO
-$label PixelSourceOver $dst, $src, $const_alpha
-
- ; Negate src and extract alpha
- mvn $const_alpha, $src ; bitwise not
- uxtb $const_alpha, $const_alpha, ror #24 ; r3 = ((r3 & 0xFF000000) >> 24);
-
- ;cmp $const_alpha, #255 ; test for full transparency ( negated )
- ;beq exit_$label
- cmp $const_alpha, #0 ; test for full opacity ( negated )
- moveq $dst, $src
- beq exit_$label
-
- ByteMul $dst, $dst, $const_alpha
- add $dst, $src, $dst
-
-exit_$label
- MEND
-
-;-----------------------------------------------------------------------------
-; A macro for source over compositing one pixel and saving the result to
-; dst register.
-;
-; @param dst Destination register, must contain destination pixel upon entry
-; @param src Source register, must contain source pixel upon entry
-; @param const_alpha Constant source alpha
-; @param r14 Component half 0x800080
-;
-; @note Trashes src, const_alpha, r8
-;-----------------------------------------------------------------------------
- MACRO
-$label PixelSourceOverConstAlpha $dst, $src, $const_alpha
-
- ; store alpha because we are going to trash it
- stmfd sp!, {$const_alpha}
-
- ByteMul $src, $src, $const_alpha
-
- ; Negate src and extract alpha
- mvn $const_alpha, $src ; bitwise not
- uxtb $const_alpha, $const_alpha, ror #24 ; r3 = ((r3 & 0xFF000000) >> 24);
-
- ByteMul $dst, $dst, $const_alpha
-
- add $dst, $src, $dst
-
- ; recover alpha
- ldmfd sp!, {$const_alpha}
-
- MEND
-
-;-----------------------------------------------------------------------------
-; A macro for source over compositing one pixel and saving the result to
-; a register.
-;
-; @param dst Destination register, must contain destination pixel upon entry
-; @param src Source register, must contain source pixel upon entry
-; @param const_alpha Constant source alpha
-; @param r14 Component half 0x800080
-;
-; @note Trashes src, r8
-;-----------------------------------------------------------------------------
- MACRO
-$label PixelSourceConstAlpha $dst, $src, $const_alpha
-
- ; store r2 and r14 because we are going to trash them
- stmfd sp!, {r2, r14}
-
- rsb r2, $const_alpha, #255
- InterpolatePixel255 $dst, $src, $const_alpha, $dst, r2
-
- ; recover r2 and r14
- ldmfd sp!, {r2, r14}
-
- MEND
-
- END ; File end
diff --git a/src/gui/painting/qdrawhelper_armv6_rvct.s b/src/gui/painting/qdrawhelper_armv6_rvct.s
deleted file mode 100644
index 180980a..0000000
--- a/src/gui/painting/qdrawhelper_armv6_rvct.s
+++ /dev/null
@@ -1,177 +0,0 @@
-;****************************************************************************
-;**
-;** 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$
-;**
-;****************************************************************************
-
-;
-; W A R N I N G
-; -------------
-;
-; This file is not part of the Qt API. It exists purely as an
-; implementation detail. This header file may change from version to
-; version without notice, or even be removed.
-;
-; We mean it.
-;
-
- ARM
- PRESERVE8
-
- INCLUDE qdrawhelper_armv6_rvct.inc
-
-;-----------------------------------------------------------------------------
-; qt_memfill32_armv6
-;
-; @brief Not yet in use!
-;
-; @param dest Destination buffer (r0)
-; @param value Value (r1)
-; @param count Count (r2)
-;
-;---------------------------------------------------------------------------
-qt_memfill32_armv6 Function
- stmfd sp!, {r4-r12, r14}
-
- mov r3, r1
- mov r4, r1
- mov r5, r1
- mov r6, r1
- mov r7, r1
- mov r8, r1
- mov r9, r1
-
-mfill_loop
- ; Fill 32 pixels per loop iteration
- subs r2, r2, #32
- stmgeia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
- stmgeia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
- stmgeia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
- stmgeia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
- bgt mfill_loop
-
-mfill_remaining
-
- ; Fill up to 31 remaining pixels
-
- ; Fill 16 pixels
- tst r2, #16
- stmneia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
- stmneia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
-
- ; Fill 8 pixels
- tst r2, #8
- stmneia r0!, {r1, r3, r4, r5, r6, r7, r8, r9}
-
- ; Fill 4 pixels
- tst r2, #4
- stmneia r0!, {r1, r3, r4, r5}
-
- ; Fill 2 pixels
- tst r2, #2
- stmneia r0!, {r1, r3}
-
- ; Fill last one
- tst r2, #1
- strne r1, [r0]
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-;-----------------------------------------------------------------------------
-; comp_func_Source_arm
-;
-; @brief
-;
-; @param dest Destination buffer (r0)
-; @param src Source buffer (r1)
-; @param length Length (r2)
-; @param const_alpha Constant alpha (r3)
-;
-;---------------------------------------------------------------------------
-comp_func_Source_armv6 Function
- stmfd sp!, {r4-r12, r14}
-
- cmp r3, #255 ; if(r3 == 255)
- bne src2 ; branch if not
-
-src1 PixCpy r0, r1, r2
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-src2
- ;ldr r14, =ComponentHalf ; load 0x800080 to r14
- mov r14, #0x800000
- add r14, r14, #0x80
-
-src22 BlendRow PixelSourceConstAlpha
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-;-----------------------------------------------------------------------------
-; comp_func_SourceOver_arm
-;
-; @brief
-;
-; @param dest Destination buffer (r0)
-; @param src Source buffer (r1)
-; @param length Length (r2)
-; @param const_alpha Constant alpha (r3)
-;
-;---------------------------------------------------------------------------
-comp_func_SourceOver_armv6 Function
- stmfd sp!, {r4-r12, r14}
-
- ;ldr r14, =ComponentHalf ; load 0x800080 to r14
- mov r14, #0x800000
- add r14, r14, #0x80
-
- cmp r3, #255 ; if(r3 == 255)
- bne srcovr2 ; branch if not
-
-srcovr1 BlendRow PixelSourceOver
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-srcovr2
-
-srcovr22 BlendRow PixelSourceOverConstAlpha
-
- ldmfd sp!, {r4-r12, pc} ; pop and return
-
-
- END ; File end
diff --git a/src/gui/painting/qgraphicssystem_qws.cpp b/src/gui/painting/qgraphicssystem_qws.cpp
index f5dab4b..03a0d11 100644
--- a/src/gui/painting/qgraphicssystem_qws.cpp
+++ b/src/gui/painting/qgraphicssystem_qws.cpp
@@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE
QPixmapData *QWSGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
{
if (screen->pixmapDataFactory())
- return screen->pixmapDataFactory()->create(type); //### For 4.4 compatability
+ return screen->pixmapDataFactory()->create(type); //### For 4.4 compatibility
else
return new QRasterPixmapData(type);
}
diff --git a/src/gui/painting/qimagescale.cpp b/src/gui/painting/qimagescale.cpp
index 8580775..7383308 100644
--- a/src/gui/painting/qimagescale.cpp
+++ b/src/gui/painting/qimagescale.cpp
@@ -304,7 +304,7 @@ QImageScaleInfo* QImageScale::qimageCalcScaleInfo(const QImage &img,
return(isi);
}
-/* FIXME: NEED to optimise ScaleAARGBA - currently its "ok" but needs work*/
+/* FIXME: NEED to optimize ScaleAARGBA - currently its "ok" but needs work*/
/* scale by area sampling */
static void qt_qimageScaleAARGBA(QImageScaleInfo *isi, unsigned int *dest,
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index c92d291..89202ac 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -40,6 +40,7 @@
****************************************************************************/
#include <QtCore/qglobal.h>
+#include <QtCore/qmutex.h>
#define QT_FT_BEGIN_HEADER
#define QT_FT_END_HEADER
@@ -874,9 +875,10 @@ void QRasterPaintEngine::updateState()
if (s->dirty & DirtyTransform)
updateMatrix(s->matrix);
- if (s->dirty & (DirtyPen|DirtyCompositionMode)) {
+ if (s->dirty & (DirtyPen|DirtyCompositionMode|DirtyOpacity)) {
const QPainter::CompositionMode mode = s->composition_mode;
s->flags.fast_text = (s->penData.type == QSpanData::Solid)
+ && s->intOpacity == 256
&& (mode == QPainter::CompositionMode_Source
|| (mode == QPainter::CompositionMode_SourceOver
&& qAlpha(s->penData.solid.color) == 255));
@@ -900,6 +902,7 @@ void QRasterPaintEngine::opacityChanged()
s->fillFlags |= DirtyOpacity;
s->strokeFlags |= DirtyOpacity;
s->pixmapFlags |= DirtyOpacity;
+ s->dirty |= DirtyOpacity;
s->intOpacity = (int) (s->opacity * 256);
}
@@ -1102,7 +1105,7 @@ void QRasterPaintEnginePrivate::updateMatrixData(QSpanData *spanData, const QBru
Q_Q(QRasterPaintEngine);
bool bilinear = q->state()->flags.bilinear;
- if (b.d->transform.type() > QTransform::TxNone) { // FALCON: optimise
+ if (b.d->transform.type() > QTransform::TxNone) { // FALCON: optimize
spanData->setupMatrix(b.transform() * m, bilinear);
} else {
if (m.type() <= QTransform::TxTranslate) {
@@ -3300,7 +3303,7 @@ void QRasterPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)
ensureState();
drawCachedGlyphs(textItem->numGlyphs, textItem->glyphs, textItem->glyphPositions,
- textItem->fontEngine);
+ textItem->fontEngine());
}
/*!
@@ -4946,6 +4949,7 @@ public:
for (int i = 0; i < stops.size() && i <= 2; i++)
hash_val += stops[i].second.rgba();
+ QMutexLocker lock(&mutex);
QGradientColorTableHash::const_iterator it = cache.constFind(hash_val);
if (it == cache.constEnd())
@@ -4979,6 +4983,7 @@ protected:
}
QGradientColorTableHash cache;
+ QMutex mutex;
};
void QGradientCache::generateGradientColorTable(const QGradient& gradient, uint *colorTable, int size, int opacity) const
diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp
index 9afb62f..3601c8e 100644
--- a/src/gui/painting/qpainter.cpp
+++ b/src/gui/painting/qpainter.cpp
@@ -5746,7 +5746,7 @@ void QPainterPrivate::drawGlyphs(const quint32 *glyphArray, const QPointF *posit
QStaticTextItem staticTextItem;
staticTextItem.color = state->pen.color();
staticTextItem.font = state->font;
- staticTextItem.fontEngine = fontEngine;
+ staticTextItem.setFontEngine(fontEngine);
staticTextItem.numGlyphs = glyphCount;
staticTextItem.glyphs = reinterpret_cast<glyph_t *>(const_cast<glyph_t *>(glyphArray));
staticTextItem.glyphPositions = positions.data();
@@ -5938,7 +5938,7 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText
d->extended->drawStaticTextItem(item);
drawDecorationForGlyphs(this, item->glyphs, item->glyphPositions,
- item->numGlyphs, item->fontEngine, staticText_d->font,
+ item->numGlyphs, item->fontEngine(), staticText_d->font,
QTextCharFormat());
}
if (currentColor != oldPen.color())
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index ba5d164..bd68d2a 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -1390,7 +1390,7 @@ int QPdfBaseEngine::metric(QPaintDevice::PaintDeviceMetric metricType) const
void QPdfBaseEngine::setProperty(PrintEnginePropertyKey key, const QVariant &value)
{
Q_D(QPdfBaseEngine);
- switch (key) {
+ switch (int(key)) {
case PPK_CollateCopies:
d->collate = value.toBool();
break;
@@ -1480,7 +1480,7 @@ QVariant QPdfBaseEngine::property(PrintEnginePropertyKey key) const
Q_D(const QPdfBaseEngine);
QVariant ret;
- switch (key) {
+ switch (int(key)) {
case PPK_CollateCopies:
ret = d->collate;
break;
diff --git a/src/gui/painting/qregion.h b/src/gui/painting/qregion.h
index bc4da28..acb20c1 100644
--- a/src/gui/painting/qregion.h
+++ b/src/gui/painting/qregion.h
@@ -201,7 +201,7 @@ private:
Region rgn;
void *xrectangles;
#elif defined(Q_WS_MAC) && !defined(QT_MAC_USE_COCOA)
- mutable RgnHandle unused; // Here for binary compatability reasons. ### Qt 5 remove.
+ mutable RgnHandle unused; // Here for binary compatibility reasons. ### Qt 5 remove.
#endif
#if defined(Q_WS_QWS) || defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_WS_WIN) || defined(Q_OS_SYMBIAN)
QRegionPrivate *qt_rgn;
diff --git a/src/gui/painting/qtextureglyphcache.cpp b/src/gui/painting/qtextureglyphcache.cpp
index b609f7b..eab9cf6 100644
--- a/src/gui/painting/qtextureglyphcache.cpp
+++ b/src/gui/painting/qtextureglyphcache.cpp
@@ -65,7 +65,7 @@ static inline int qt_next_power_of_two(int v)
return v;
}
-void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
+bool QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
const QFixedPoint *)
{
#ifdef CACHE_DEBUG
@@ -119,7 +119,7 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
rowHeight = qMax(rowHeight, glyph_height);
}
if (listItemCoordinates.isEmpty())
- return;
+ return true;
rowHeight += margin * 2 + paddingDoubled;
if (isNull())
@@ -143,13 +143,20 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
// no room on the current line, start new glyph strip
m_cx = 0;
m_cy += m_currentRowHeight + paddingDoubled;
- m_currentRowHeight = 0; // New row
+ m_currentRowHeight = c.h + margin * 2; // New row
}
}
if (m_cy + c.h > m_h) {
int new_height = m_h*2;
while (new_height < m_cy + c.h)
new_height *= 2;
+
+ if (maxTextureHeight() > 0 && new_height > maxTextureHeight()) {
+ // We can't make a new texture of the required size, so
+ // bail out
+ return false;
+ }
+
// if no room in the current texture - realloc a larger texture
resizeTextureData(m_w, new_height);
m_h = new_height;
@@ -165,7 +172,7 @@ void QTextureGlyphCache::populate(QFontEngine *fontEngine, int numGlyphs, const
++iter;
}
-
+ return true;
}
QImage QTextureGlyphCache::textureMapForGlyph(glyph_t g) const
@@ -259,11 +266,14 @@ void QImageTextureGlyphCache::fillTexture(const Coord &c, glyph_t g)
}
#endif
- if (m_type == QFontEngineGlyphCache::Raster_RGBMask) {
- QPainter p(&m_image);
+ if (m_type == QFontEngineGlyphCache::Raster_RGBMask) {
+ QImage ref(m_image.bits() + (c.x * 4 + c.y * m_image.bytesPerLine()),
+ qMax(mask.width(), c.w), qMax(mask.height(), c.h), m_image.bytesPerLine(),
+ m_image.format());
+ QPainter p(&ref);
p.setCompositionMode(QPainter::CompositionMode_Source);
- p.fillRect(c.x, c.y, c.w, c.h, QColor(0,0,0,0)); // TODO optimize this
- p.drawImage(c.x, c.y, mask);
+ p.fillRect(0, 0, c.w, c.h, QColor(0,0,0,0)); // TODO optimize this
+ p.drawImage(0, 0, mask);
p.end();
} else if (m_type == QFontEngineGlyphCache::Raster_Mono) {
if (mask.depth() > 1) {
diff --git a/src/gui/painting/qtextureglyphcache_p.h b/src/gui/painting/qtextureglyphcache_p.h
index e6d2b22..94cb555 100644
--- a/src/gui/painting/qtextureglyphcache_p.h
+++ b/src/gui/painting/qtextureglyphcache_p.h
@@ -96,7 +96,7 @@ public:
int baseLineY;
};
- void populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
+ bool populate(QFontEngine *fontEngine, int numGlyphs, const glyph_t *glyphs,
const QFixedPoint *positions);
virtual void createTextureData(int width, int height) = 0;
@@ -118,7 +118,7 @@ public:
QImage textureMapForGlyph(glyph_t g) const;
virtual int maxTextureWidth() const { return QT_DEFAULT_TEXTURE_GLYPH_CACHE_WIDTH; }
- virtual int maxTextureHeight() const { return 32768; }
+ virtual int maxTextureHeight() const { return -1; }
protected:
QFontEngine *m_current_fontengine;
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 1e32bd8..2f09529 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -405,13 +405,14 @@ void QS60StylePrivate::clearCaches(CacheClearReason reason)
QPixmapCache::clear();
break;
case CC_ThemeChange:
- m_colorCache.clear();
QPixmapCache::clear();
+#ifdef Q_WS_S60
+ deleteStoredSettings();
+#endif
deleteBackground();
break;
case CC_UndefinedChange:
default:
- m_colorCache.clear();
m_mappedFontsCache.clear();
QPixmapCache::clear();
deleteBackground();
@@ -419,64 +420,53 @@ void QS60StylePrivate::clearCaches(CacheClearReason reason)
}
}
-// Since S60Style has 'button' and 'tooltip' as a graphic, we don't have any native color which to use
-// for QPalette::Button and QPalette::ToolTipBase. Therefore S60Style needs to guesstimate
-// palette colors by calculating average rgb values for button pixels.
-// Returns Qt::black if there is an issue with the graphics (image is NULL, or no bits() found).
-QColor QS60StylePrivate::colorFromFrameGraphics(SkinFrameElements frame) const
+QColor QS60StylePrivate::calculatedColor(SkinFrameElements frame) const
{
- const bool cachedColorExists = m_colorCache.contains(frame);
- if (!cachedColorExists) {
- const int frameCornerWidth = pixelMetric(PM_FrameCornerWidth);
- const int frameCornerHeight = pixelMetric(PM_FrameCornerHeight);
- Q_ASSERT(2 * frameCornerWidth < 32);
- Q_ASSERT(2 * frameCornerHeight < 32);
-
- const QImage frameImage = QS60StylePrivate::frame(frame, QSize(32, 32)).toImage();
- Q_ASSERT(frameImage.bytesPerLine() > 0);
- if (frameImage.isNull())
- return Qt::black;
-
- const QRgb *pixelRgb = (const QRgb*)frameImage.bits();
- const int pixels = frameImage.byteCount()/sizeof(QRgb);
-
- int estimatedRed = 0;
- int estimatedGreen = 0;
- int estimatedBlue = 0;
-
- int skips = 0;
- int estimations = 0;
-
- const int topBorderLastPixel = frameCornerHeight*frameImage.width() - 1;
- const int bottomBorderFirstPixel = frameImage.width() * frameImage.height() - frameCornerHeight*frameImage.width() - 1;
- const int rightBorderFirstPixel = frameImage.width() - frameCornerWidth;
- const int leftBorderLastPixel = frameCornerWidth;
-
- while ((skips + estimations) < pixels) {
- if ((skips + estimations) > topBorderLastPixel &&
- (skips + estimations) < bottomBorderFirstPixel) {
- for (int rowIndex = 0; rowIndex < frameImage.width(); rowIndex++) {
- if (rowIndex > leftBorderLastPixel &&
- rowIndex < rightBorderFirstPixel) {
- estimatedRed += qRed(*pixelRgb);
- estimatedGreen += qGreen(*pixelRgb);
- estimatedBlue += qBlue(*pixelRgb);
- }
- pixelRgb++;
- estimations++;
+ const int frameCornerWidth = pixelMetric(PM_FrameCornerWidth);
+ const int frameCornerHeight = pixelMetric(PM_FrameCornerHeight);
+ Q_ASSERT(2 * frameCornerWidth < 32);
+ Q_ASSERT(2 * frameCornerHeight < 32);
+
+ const QImage frameImage = QS60StylePrivate::frame(frame, QSize(32, 32)).toImage();
+ Q_ASSERT(frameImage.bytesPerLine() > 0);
+ if (frameImage.isNull())
+ return Qt::black;
+
+ const QRgb *pixelRgb = (const QRgb*)frameImage.constBits();
+ const int pixels = frameImage.byteCount() / sizeof(QRgb);
+
+ int estimatedRed = 0;
+ int estimatedGreen = 0;
+ int estimatedBlue = 0;
+
+ int skips = 0;
+ int estimations = 0;
+
+ const int topBorderLastPixel = frameCornerHeight * frameImage.width() - 1;
+ const int bottomBorderFirstPixel = frameImage.width() * frameImage.height() - topBorderLastPixel;
+ const int rightBorderFirstPixel = frameImage.width() - frameCornerWidth;
+ const int leftBorderLastPixel = frameCornerWidth;
+
+ while ((skips + estimations) < pixels) {
+ if ((skips + estimations) > topBorderLastPixel &&
+ (skips + estimations) < bottomBorderFirstPixel) {
+ for (int rowIndex = 0; rowIndex < frameImage.width(); rowIndex++) {
+ if (rowIndex > leftBorderLastPixel &&
+ rowIndex < rightBorderFirstPixel) {
+ estimatedRed += qRed(*pixelRgb);
+ estimatedGreen += qGreen(*pixelRgb);
+ estimatedBlue += qBlue(*pixelRgb);
}
- } else {
pixelRgb++;
- skips++;
+ estimations++;
}
+ } else {
+ pixelRgb++;
+ skips++;
}
- QColor frameColor(estimatedRed/estimations, estimatedGreen/estimations, estimatedBlue/estimations);
- m_colorCache.insert(frame, frameColor);
- return !estimations ? Qt::black : frameColor;
- } else {
- return m_colorCache.value(frame);
}
-
+ QColor frameColor(estimatedRed/estimations, estimatedGreen/estimations, estimatedBlue/estimations);
+ return !estimations ? Qt::black : frameColor;
}
void QS60StylePrivate::setThemePalette(QApplication *app) const
@@ -731,11 +721,14 @@ void QS60StylePrivate::setThemePalette(QPalette *palette) const
palette->setBrush(QPalette::Window, backgroundTexture());
// set as transparent so that styled full screen theme background is visible
palette->setBrush(QPalette::Base, Qt::transparent);
- // set button and tooltipbase based on pixel colors
+ // set button color based on pixel colors
+#ifndef Q_WS_S60
+ //For emulated style, just calculate the color every time
+ const QColor buttonColor = calculatedColor(SF_ButtonNormal);
+#else
const QColor buttonColor = colorFromFrameGraphics(SF_ButtonNormal);
+#endif
palette->setColor(QPalette::Button, buttonColor);
- const QColor toolTipColor = colorFromFrameGraphics(SF_ToolTip);
- palette->setColor(QPalette::ToolTipBase, toolTipColor);
palette->setColor(QPalette::Light, palette->color(QPalette::Button).lighter());
palette->setColor(QPalette::Dark, palette->color(QPalette::Button).darker());
palette->setColor(QPalette::Midlight, palette->color(QPalette::Button).lighter(125));
@@ -837,11 +830,8 @@ void QS60StylePrivate::setThemePaletteHash(QPalette *palette) const
s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QLineEdit");
QApplication::setPalette(widgetPalette, "QTextEdit");
- widgetPalette = *palette;
-
- widgetPalette.setColor(QPalette::HighlightedText,
- s60Color(QS60StyleEnums::CL_QsnTextColors, 24, 0));
QApplication::setPalette(widgetPalette, "QComboBox");
+ QApplication::setPalette(widgetPalette, "QSpinBox");
widgetPalette = *palette;
widgetPalette.setColor(QPalette::WindowText, s60Color(QS60StyleEnums::CL_QsnTextColors, 7, 0));
@@ -1448,10 +1438,11 @@ void QS60Style::drawControl(ControlElement element, const QStyleOption *option,
const QRect iconRect = subElementRect(SE_ItemViewItemDecoration, &voptAdj, widget);
QRect textRect = subElementRect(SE_ItemViewItemText, &voptAdj, widget);
const QAbstractItemView *itemView = qobject_cast<const QAbstractItemView *>(widget);
- const bool singleSelection =
- (itemView->selectionMode() == QAbstractItemView::SingleSelection ||
- itemView->selectionMode() == QAbstractItemView::NoSelection);
- const bool selectItems = (itemView->selectionBehavior() == QAbstractItemView::SelectItems);
+
+ const bool singleSelection = itemView &&
+ ((itemView->selectionMode() == QAbstractItemView::SingleSelection ||
+ itemView->selectionMode() == QAbstractItemView::NoSelection));
+ const bool selectItems = itemView && (itemView->selectionBehavior() == QAbstractItemView::SelectItems);
// draw themed background for itemview unless background brush has been defined.
if (vopt->backgroundBrush == Qt::NoBrush) {
@@ -2524,9 +2515,9 @@ int QS60Style::pixelMetric(PixelMetric metric, const QStyleOption *option, const
metricValue = QS60StylePrivate::pixelMetric(PM_LayoutLeftMargin);
}
- if (widget && (metric == PM_LayoutTopMargin))
+ if (widget && (metric == PM_LayoutTopMargin || metric == PM_LayoutLeftMargin || metric == PM_LayoutRightMargin))
if (widget->windowType() == Qt::Dialog)
- //double the top layout margin for dialogs, it is very close to real value
+ //double the layout margins (except bottom) for dialogs, it is very close to real value
//without having to define custom pixel metric
metricValue *= 2;
@@ -2546,6 +2537,56 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
if (const QStyleOptionToolButton *toolBtn = qstyleoption_cast<const QStyleOptionToolButton *>(opt))
if (toolBtn->subControls & SC_ToolButtonMenu)
sz += QSize(pixelMetric(PM_MenuButtonIndicator), 0);
+
+ //Make toolbuttons in toolbar stretch the whole screen area
+ if (widget && qobject_cast<const QToolBar *>(widget->parentWidget())) {
+ const QToolBar *tb = qobject_cast<const QToolBar *>(widget->parentWidget());
+ const bool parentCanGrowHorizontally = !(tb->sizePolicy().horizontalPolicy() == QSizePolicy::Fixed ||
+ tb->sizePolicy().horizontalPolicy() == QSizePolicy::Maximum) && tb->orientation() == Qt::Horizontal;
+
+ if (parentCanGrowHorizontally) {
+ int visibleButtons = 0;
+ //Make the auto-stretch to happen only for horizontal orientation
+ if (tb && tb->orientation() == Qt::Horizontal) {
+ QList<QAction*> actionList = tb->actions();
+ for (int i = 0; i < actionList.count(); i++) {
+ if (actionList.at(i)->isVisible())
+ visibleButtons++;
+ }
+ }
+
+ if (widget->parentWidget() && visibleButtons > 0) {
+ QWidget *w = const_cast<QWidget *>(widget);
+ int toolBarMaxWidth = 0;
+ int totalMargin = 0;
+ while (w) {
+ //honor fixed width parents
+ if (w->maximumWidth() == w->minimumWidth())
+ toolBarMaxWidth = qMax(toolBarMaxWidth, w->maximumWidth());
+ if (w->layout() && w->windowType() == Qt::Widget) {
+ totalMargin += w->layout()->contentsMargins().left() +
+ w->layout()->contentsMargins().right();
+ }
+ w = w->parentWidget();
+ }
+ totalMargin += 2 * pixelMetric(QStyle::PM_ToolBarFrameWidth);
+
+ if (toolBarMaxWidth == 0)
+ toolBarMaxWidth =
+ QApplication::desktop()->availableGeometry(widget->parentWidget()).width();
+ //Reduce the margins, toolbar frame, item spacing and internal margin from available area
+ toolBarMaxWidth -= totalMargin;
+
+ //ensure that buttons are side-by-side and not on top of each other
+ const int toolButtonWidth = (toolBarMaxWidth / visibleButtons)
+ - pixelMetric(QStyle::PM_ToolBarItemSpacing)
+ - pixelMetric(QStyle::PM_ToolBarItemMargin)
+ //toolbar frame needs to be reduced again, since QToolBarLayout adds it for each toolbar action
+ - 2 * pixelMetric(QStyle::PM_ToolBarFrameWidth) - 1;
+ sz.setWidth(qMax(toolButtonWidth, sz.width()));
+ }
+ }
+ }
break;
case CT_PushButton:
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
@@ -2620,6 +2661,8 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
break;
}
+ if (!sz.isValid())
+ sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget);
return sz;
}
@@ -3425,8 +3468,11 @@ bool QS60Style::eventFilter(QObject *object, QEvent *event)
qobject_cast<QCheckBox *>(w))
d->m_pressedWidget = w;
- if ( d->m_pressedWidget)
+ if (d->m_pressedWidget)
d->m_pressedWidget->update();
+#ifdef Q_WS_S60
+ d->touchFeedback(event, w);
+#endif
}
break;
}
diff --git a/src/gui/styles/qs60style_feedbackinterface_p.h b/src/gui/styles/qs60style_feedbackinterface_p.h
new file mode 100644
index 0000000..81fcdc3
--- /dev/null
+++ b/src/gui/styles/qs60style_feedbackinterface_p.h
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** 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 <QObject>
+
+class TactileFeedbackInterface : public QObject
+{
+ public:
+ virtual void touchFeedback(QEvent *event, const QWidget *widget) = 0;
+};
+
+Q_DECLARE_INTERFACE(TactileFeedbackInterface, "com.trolltech.Qt.TactileFeedbackInterface/1.0")
diff --git a/src/gui/styles/qs60style_p.h b/src/gui/styles/qs60style_p.h
index b3f4160..db4285d 100644
--- a/src/gui/styles/qs60style_p.h
+++ b/src/gui/styles/qs60style_p.h
@@ -387,6 +387,7 @@ private: //data members
class QFocusFrame;
class QProgressBar;
class QS60StyleAnimation;
+class TactileFeedbackInterface;
// Private class
#ifdef Q_OS_SYMBIAN
@@ -522,8 +523,12 @@ public:
static bool isSingleClickUi();
static bool isWidgetPressed(const QWidget *widget);
- // calculates average color based on button skin graphics (minus borders).
+#ifdef Q_WS_S60
+ static void deleteStoredSettings();
+ // calculates average color based on theme graphics (minus borders).
QColor colorFromFrameGraphics(SkinFrameElements frame) const;
+#endif
+ QColor calculatedColor(SkinFrameElements frame) const;
//set theme palette for application
void setThemePalette(QApplication *application) const;
@@ -541,7 +546,6 @@ public:
static const int m_numberOfLayouts;
mutable QHash<QPair<QS60StyleEnums::FontCategories , int>, QFont> m_mappedFontsCache;
- mutable QHash<SkinFrameElements, QColor> m_colorCache;
// Has one entry per SkinFrameElements
static const struct frameElementCenter {
@@ -572,6 +576,8 @@ public:
void stopAnimation(QS60StyleEnums::SkinParts animation);
static QS60StyleAnimation* animationDefinition(QS60StyleEnums::SkinParts part);
static void removeAnimations();
+ //No support for tactile feedback in emulated style
+ void touchFeedback(QEvent *event, const QWidget *widget);
#endif
@@ -626,6 +632,7 @@ private:
#ifdef Q_WS_S60
//list of progress bars having animation running
QList<QProgressBar *> m_bars;
+ TactileFeedbackInterface *m_feedbackPlugin;
#endif
};
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 5dda42e..92f53ff 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -48,6 +48,11 @@
#include "private/qpixmap_s60_p.h"
#include "private/qcore_symbian_p.h"
#include "qapplication.h"
+#include "qsettings.h"
+
+#include "qpluginloader.h"
+#include "qlibraryinfo.h"
+#include "private/qs60style_feedbackinterface_p.h"
#include <w32std.h>
#include <AknsConstants.h>
@@ -65,6 +70,8 @@
#include <gulicon.h>
#include <AknBitmapAnimation.h>
+#include <centralrepository.h>
+
#if !defined(QT_NO_STYLE_S60) || defined(QT_PLUGIN)
QT_BEGIN_NAMESPACE
@@ -77,6 +84,8 @@ enum TDrawType {
ENoDraw
};
+const TUid personalisationUID = { 0x101F876F };
+
enum TSupportRelease {
ES60_None = 0x0000, //indicates that the commonstyle should draw the graphics
ES60_3_1 = 0x0001,
@@ -685,6 +694,75 @@ bool QS60StylePrivate::isSingleClickUi()
return (QSysInfo::s60Version() > QSysInfo::SV_S60_5_0);
}
+void QS60StylePrivate::deleteStoredSettings()
+{
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QS60Style"));
+ settings.remove(QString());
+ settings.endGroup();
+}
+
+// Since S60Style has 'button' as a graphic, we don't have any native color which to use
+// for QPalette::Button. Therefore S60Style needs to guesstimate palette color by calculating
+// average rgb values for button pixels.
+// Returns Qt::black if there is an issue with the graphics (image is NULL, or no constBits() found).
+QColor QS60StylePrivate::colorFromFrameGraphics(SkinFrameElements frame) const
+{
+#ifndef QT_NO_SETTINGS
+ TInt themeID = 0;
+ //First we need to fetch active theme ID. We need to store the themeID at the same time
+ //as color, so that we can later check if the stored color is still from the same theme.
+ //Native side stores active theme UID/Timestamp into central repository.
+ int error = 0;
+ QT_TRAP_THROWING(
+ CRepository *themeRepository = CRepository::NewLC(personalisationUID);
+ if (themeRepository) {
+ TBuf<32> value; //themeID is currently max of 8 + 1 + 8 characters, but lets have some extra space
+ const TUint32 key = 0x00000002; //active theme key in the repository
+ error = themeRepository->Get(key, value);
+ if (error == KErrNone) {
+ TLex lex(value);
+ TPtrC numberToken(lex.NextToken());
+ if (numberToken.Length())
+ error = TLex(numberToken).Val(themeID);
+ else
+ error = KErrArgument;
+ }
+ }
+ CleanupStack::PopAndDestroy(themeRepository);
+ );
+
+ QSettings settings(QSettings::UserScope, QLatin1String("Trolltech"));
+ settings.beginGroup(QLatin1String("QS60Style"));
+ if (themeID != 0) {
+ QVariant buttonColor = settings.value(QLatin1String("ButtonColor"));
+ if (!buttonColor.isNull()) {
+ //there is a stored color value, lets see if the theme ID matches
+ if (error == KErrNone) {
+ QVariant themeUID = settings.value(QLatin1String("ThemeUID"));
+ if (!themeUID.isNull() && themeUID.toInt() == themeID) {
+ QColor storedColor(buttonColor.value<QColor>());
+ if (storedColor.isValid())
+ return storedColor;
+ }
+ }
+ settings.remove(QString()); //if color was invalid, or theme has been changed, just delete all stored settings
+ }
+ }
+#endif
+
+ QColor color = calculatedColor(frame);
+
+#ifndef QT_NO_SETTINGS
+ settings.setValue(QLatin1String("ThemeUID"), QVariant(themeID));
+ if (frame == SF_ButtonNormal) //other colors are not currently calculated from graphics
+ settings.setValue(QLatin1String("ButtonColor"), QVariant(color));
+ settings.endGroup();
+#endif
+
+ return color;
+}
+
QPoint qt_s60_fill_background_offset(const QWidget *targetWidget)
{
CCoeControl *control = targetWidget->effectiveWinId();
@@ -1143,13 +1221,25 @@ void QS60StylePrivate::setActiveLayout()
Q_GLOBAL_STATIC(QList<QS60StyleAnimation *>, m_animations)
-QS60StylePrivate::QS60StylePrivate()
+QS60StylePrivate::QS60StylePrivate() : m_feedbackPlugin(0)
{
//Animation defaults need to be created when style is instantiated
QS60StyleAnimation* progressBarAnimation = new QS60StyleAnimation(QS60StyleEnums::SP_QgnGrafBarWaitAnim, 7, 100);
m_animations()->append(progressBarAnimation);
// No need to set active layout, if dynamic metrics API is available
setActiveLayout();
+
+ //Tactile feedback plugin is only available for touch devices.
+ if (isTouchSupported()) {
+ QString pluginsPath = QLibraryInfo::location(QLibraryInfo::PluginsPath);
+ pluginsPath += QLatin1String("/feedback/qtactilefeedback.dll");
+
+ // Create plugin loader
+ QPluginLoader pluginLoader(pluginsPath);
+ // Load plugin and store pointer to the plugin implementation
+ if (pluginLoader.load())
+ m_feedbackPlugin = qobject_cast<TactileFeedbackInterface*>(pluginLoader.instance());
+ }
}
void QS60StylePrivate::removeAnimations()
@@ -1439,6 +1529,12 @@ void QS60StylePrivate::stopAnimation(QS60StyleEnums::SkinParts animationPart)
}
}
+void QS60StylePrivate::touchFeedback(QEvent *event, const QWidget *widget)
+{
+ if (m_feedbackPlugin)
+ m_feedbackPlugin->touchFeedback(event, widget);
+}
+
QVariant QS60StyleModeSpecifics::themeDefinition(
QS60StyleEnums::ThemeDefinitions definition, QS60StyleEnums::SkinParts part)
{
diff --git a/src/gui/styles/qstyle.cpp b/src/gui/styles/qstyle.cpp
index 0a75492..be8f794 100644
--- a/src/gui/styles/qstyle.cpp
+++ b/src/gui/styles/qstyle.cpp
@@ -367,10 +367,10 @@ QStyle::~QStyle()
Note that the default implementation does nothing. Reasonable
actions in this function might be to call the
QWidget::setBackgroundMode() function for the widget. Do not use
- the function to set, for example, the geometry; reimplementing
- this function do provide a back-door through which the appearance
- of a widget can be changed, but with Qt 4.0's style engine there
- is rarely necessary to implement this function; reimplement the
+ the function to set, for example, the geometry. Reimplementing
+ this function provides a back-door through which the appearance
+ of a widget can be changed, but with Qt's style engine it is
+ rarely necessary to implement this function; reimplement
drawItemPixmap(), drawItemText(), drawPrimitive(), etc. instead.
The QWidget::inherits() function may provide enough information to
@@ -2456,6 +2456,8 @@ QDebug operator<<(QDebug debug, QStyle::State state)
qSort(states);
debug << states.join(QLatin1String(" | "));
debug << ')';
+#else
+ Q_UNUSED(state);
#endif
return debug;
}
diff --git a/src/gui/styles/qstyleoption.cpp b/src/gui/styles/qstyleoption.cpp
index 4780edf..05ca793 100644
--- a/src/gui/styles/qstyleoption.cpp
+++ b/src/gui/styles/qstyleoption.cpp
@@ -5483,6 +5483,8 @@ QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType)
case QStyleOption::SO_GraphicsItem:
debug << "SO_GraphicsItem"; break;
}
+#else
+ Q_UNUSED(optionType);
#endif
return debug;
}
@@ -5496,6 +5498,8 @@ QDebug operator<<(QDebug debug, const QStyleOption &option)
debug << ',' << option.state;
debug << ',' << option.rect;
debug << ')';
+#else
+ Q_UNUSED(option);
#endif
return debug;
}
diff --git a/src/gui/styles/qwindowsxpstyle.cpp b/src/gui/styles/qwindowsxpstyle.cpp
index a5e9c19..da29440 100644
--- a/src/gui/styles/qwindowsxpstyle.cpp
+++ b/src/gui/styles/qwindowsxpstyle.cpp
@@ -302,7 +302,7 @@ HWND QWindowsXPStylePrivate::winId(const QWidget *widget)
limboWidget = new QWidget(0);
limboWidget->createWinId();
limboWidget->setObjectName(QLatin1String("xp_limbo_widget"));
- // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ // We don't need this internal widget to appear in QApplication::topLevelWidgets()
if (QWidgetPrivate::allWidgets)
QWidgetPrivate::allWidgets->remove(limboWidget);
}
diff --git a/src/gui/text/qfontdatabase_x11.cpp b/src/gui/text/qfontdatabase_x11.cpp
index a7aa2ce..ecc4690 100644
--- a/src/gui/text/qfontdatabase_x11.cpp
+++ b/src/gui/text/qfontdatabase_x11.cpp
@@ -1891,6 +1891,18 @@ QFontEngine *QFontDatabase::loadXlfd(int screen, int script, const QFontDef &req
return fe;
}
+#if (defined(QT_ARCH_ARM) || defined(QT_ARCH_ARMV6)) && defined(Q_CC_GNU) && (__GNUC__ == 4) && (__GNUC_MINOR__ == 3)
+#define NEEDS_GCC_BUG_WORKAROUND
+#endif
+
+#ifdef NEEDS_GCC_BUG_WORKAROUND
+static inline void gccBugWorkaround(const QFontDef &req)
+{
+ char buffer[8];
+ snprintf(buffer, 8, "%f", req.pixelSize);
+}
+#endif
+
/*! \internal
Loads a QFontEngine for the specified \a script that matches the
QFontDef \e request member variable.
@@ -1902,9 +1914,15 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
// normalize the request to get better caching
QFontDef req = d->request;
if (req.pixelSize <= 0)
- req.pixelSize = floor(qt_pixelSize(req.pointSize, d->dpi) * 100 + 0.5) / 100;
+ req.pixelSize = qFloor(qt_pixelSize(req.pointSize, d->dpi) * 100.0 + 0.5) * 0.01;
if (req.pixelSize < 1)
req.pixelSize = 1;
+
+#ifdef NEEDS_GCC_BUG_WORKAROUND
+ // req.pixelSize ends up with a bogus value unless this workaround is called
+ gccBugWorkaround(req);
+#endif
+
if (req.weight == 0)
req.weight = QFont::Normal;
if (req.stretch == 0)
@@ -1940,7 +1958,6 @@ void QFontDatabase::load(const QFontPrivate *d, int script)
#ifndef QT_NO_FONTCONFIG
} else if (X11->has_fontconfig) {
fe = loadFc(d, script, req);
-
if (fe != 0 && fe->fontDef.pixelSize != req.pixelSize && mainThread && qt_is_gui_used) {
QFontEngine *xlfdFontEngine = loadXlfd(d->screen, script, req);
if (xlfdFontEngine->fontDef.family == fe->fontDef.family) {
@@ -1989,7 +2006,7 @@ static void registerFont(QFontDatabasePrivate::ApplicationFont *fnt)
FcFontSet *set = FcConfigGetFonts(config, FcSetApplication);
if (!set) {
- FcConfigAppFontAddFile(config, (const FcChar8 *)":/non-existant");
+ FcConfigAppFontAddFile(config, (const FcChar8 *)":/non-existent");
set = FcConfigGetFonts(config, FcSetApplication); // try again
if (!set)
return;
diff --git a/src/gui/text/qfontengine_p.h b/src/gui/text/qfontengine_p.h
index 571cf98..fc26eef 100644
--- a/src/gui/text/qfontengine_p.h
+++ b/src/gui/text/qfontengine_p.h
@@ -158,7 +158,7 @@ public:
virtual QFixed emSquareSize() const { return ascent(); }
- /* returns 0 as glyph index for non existant glyphs */
+ /* returns 0 as glyph index for non existent glyphs */
virtual bool stringToCMap(const QChar *str, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const = 0;
/**
diff --git a/src/gui/text/qfontengine_win.cpp b/src/gui/text/qfontengine_win.cpp
index 7609ee5..5f25752 100644
--- a/src/gui/text/qfontengine_win.cpp
+++ b/src/gui/text/qfontengine_win.cpp
@@ -1209,7 +1209,7 @@ QImage QFontEngineWin::alphaMapForGlyph(glyph_t glyph, const QTransform &xform)
QImage indexed(mask->width(), mask->height(), QImage::Format_Indexed8);
- // ### This part is kinda pointless, but we'll crash later if we dont because some
+ // ### This part is kinda pointless, but we'll crash later if we don't because some
// code paths expects there to be colortables for index8-bit...
QVector<QRgb> colors(256);
for (int i=0; i<256; ++i)
diff --git a/src/gui/text/qfontengine_x11.cpp b/src/gui/text/qfontengine_x11.cpp
index b7e4be2..c06be3b 100644
--- a/src/gui/text/qfontengine_x11.cpp
+++ b/src/gui/text/qfontengine_x11.cpp
@@ -429,7 +429,7 @@ void QFontEngineXLFD::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFl
{
int i = glyphs->numGlyphs;
XCharStruct *xcs;
- // inlined for better perfomance
+ // inlined for better performance
if (!_fs->per_char) {
xcs = &_fs->min_bounds;
while (i != 0) {
diff --git a/src/gui/text/qfontsubset.cpp b/src/gui/text/qfontsubset.cpp
index e49f5b4..2283358 100644
--- a/src/gui/text/qfontsubset.cpp
+++ b/src/gui/text/qfontsubset.cpp
@@ -697,7 +697,7 @@ static QTtfTable generateHead(const qttf_head_table &head)
// Bits 5-10: These should be set according to Apple's specification . However, they are not implemented in OpenType.
// Bit 11: Font data is 'lossless,' as a result of having been compressed and decompressed with the Agfa MicroType Express engine.
// Bit 12: Font converted (produce compatible metrics)
-// Bit 13: Font optimised for ClearType
+// Bit 13: Font optimized for ClearType
// Bit 14: Reserved, set to 0
// Bit 15: Reserved, set to 0
<< quint16(0)
@@ -1008,7 +1008,7 @@ static void convertPath(const QPainterPath &path, QList<TTF_POINT> *points, QLis
np.x = (i1_x + i2_x) >> 1;
np.y = (i1_y + i2_y) >> 1;
if (try_reduce) {
- // see if we can optimise out the last onCurve point
+ // see if we can optimize out the last onCurve point
int mx = (points->at(points->size() - 2).x + base[2].x) >> 1;
int my = (points->at(points->size() - 2).y + base[2].y) >> 1;
if (qAbs(mx - base[3].x) <= split_limit && qAbs(my = base[3].y) <= split_limit)
diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp
index 9506006..edf248a 100644
--- a/src/gui/text/qstatictext.cpp
+++ b/src/gui/text/qstatictext.cpp
@@ -445,7 +445,7 @@ namespace {
const QTextItemInt &ti = static_cast<const QTextItemInt &>(textItem);
QStaticTextItem currentItem;
- currentItem.fontEngine = ti.fontEngine;
+ currentItem.setFontEngine(ti.fontEngine);
currentItem.font = ti.font();
currentItem.charOffset = m_chars.size();
currentItem.numChars = ti.num_chars;
@@ -713,4 +713,24 @@ void QStaticTextPrivate::init()
needsRelayout = false;
}
+QStaticTextItem::~QStaticTextItem()
+{
+ if (m_userData != 0 && !m_userData->ref.deref())
+ delete m_userData;
+ if (!m_fontEngine->ref.deref())
+ delete m_fontEngine;
+}
+
+void QStaticTextItem::setFontEngine(QFontEngine *fe)
+{
+ if (m_fontEngine != 0) {
+ if (!m_fontEngine->ref.deref())
+ delete m_fontEngine;
+ }
+
+ m_fontEngine = fe;
+ if (m_fontEngine != 0)
+ m_fontEngine->ref.ref();
+}
+
QT_END_NAMESPACE
diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h
index cb60626..87ef0d5 100644
--- a/src/gui/text/qstatictext_p.h
+++ b/src/gui/text/qstatictext_p.h
@@ -68,27 +68,60 @@ public:
OpenGLUserData
};
- QStaticTextUserData(Type t) : type(t) {}
+ QStaticTextUserData(Type t) : type(t) { ref = 0; }
virtual ~QStaticTextUserData() {}
+ QAtomicInt ref;
Type type;
};
class Q_GUI_EXPORT QStaticTextItem
{
public:
- QStaticTextItem() : chars(0), numChars(0), fontEngine(0), userData(0),
- useBackendOptimizations(false), userDataNeedsUpdate(0) {}
- ~QStaticTextItem() { delete userData; }
+ QStaticTextItem() : chars(0), numChars(0), useBackendOptimizations(false),
+ userDataNeedsUpdate(0), m_fontEngine(0), m_userData(0) {}
+
+ QStaticTextItem(const QStaticTextItem &other)
+ {
+ operator=(other);
+ }
+
+ void operator=(const QStaticTextItem &other)
+ {
+ glyphPositions = other.glyphPositions;
+ glyphs = other.glyphs;
+ chars = other.chars;
+ numGlyphs = other.numGlyphs;
+ numChars = other.numChars;
+ font = other.font;
+ color = other.color;
+ useBackendOptimizations = other.useBackendOptimizations;
+ userDataNeedsUpdate = other.userDataNeedsUpdate;
+
+ m_fontEngine = 0;
+ m_userData = 0;
+ setUserData(other.userData());
+ setFontEngine(other.fontEngine());
+ }
+
+ ~QStaticTextItem();
void setUserData(QStaticTextUserData *newUserData)
{
- if (userData == newUserData)
+ if (m_userData == newUserData)
return;
- delete userData;
- userData = newUserData;
+ if (m_userData != 0 && !m_userData->ref.deref())
+ delete m_userData;
+
+ m_userData = newUserData;
+ if (m_userData != 0)
+ m_userData->ref.ref();
}
+ QStaticTextUserData *userData() const { return m_userData; }
+
+ void setFontEngine(QFontEngine *fe);
+ QFontEngine *fontEngine() const { return m_fontEngine; }
union {
QFixedPoint *glyphPositions; // 8 bytes per glyph
@@ -108,14 +141,17 @@ public:
// 12 bytes for pointers
int numGlyphs; // 4 bytes per item
int numChars; // 4 bytes per item
- QFontEngine *fontEngine; // 4 bytes per item
QFont font; // 8 bytes per item
QColor color; // 10 bytes per item
- QStaticTextUserData *userData; // 8 bytes per item
char useBackendOptimizations : 1; // 1 byte per item
char userDataNeedsUpdate : 1; //
// ================
// 51 bytes per item
+
+private: // Needs special handling in setters, so private to avoid abuse
+ QFontEngine *m_fontEngine; // 4 bytes per item
+ QStaticTextUserData *m_userData; // 8 bytes per item
+
};
class QStaticText;
diff --git a/src/gui/text/qtextdocument_p.cpp b/src/gui/text/qtextdocument_p.cpp
index 213db7e..0bdd20d 100644
--- a/src/gui/text/qtextdocument_p.cpp
+++ b/src/gui/text/qtextdocument_p.cpp
@@ -320,7 +320,7 @@ void QTextDocumentPrivate::setLayout(QAbstractTextDocumentLayout *layout)
void QTextDocumentPrivate::insert_string(int pos, uint strPos, uint length, int format, QTextUndoCommand::Operation op)
{
- // ##### optimise when only appending to the fragment!
+ // ##### optimize when only appending to the fragment!
Q_ASSERT(noBlockInString(text.mid(strPos, length)));
split(pos);
@@ -1446,7 +1446,7 @@ void QTextDocumentPrivate::clearFrame(QTextFrame *f)
void QTextDocumentPrivate::scan_frames(int pos, int charsRemoved, int charsAdded)
{
- // ###### optimise
+ // ###### optimize
Q_UNUSED(pos);
Q_UNUSED(charsRemoved);
Q_UNUSED(charsAdded);
diff --git a/src/gui/text/qtextformat.cpp b/src/gui/text/qtextformat.cpp
index 46db253..fdbb680 100644
--- a/src/gui/text/qtextformat.cpp
+++ b/src/gui/text/qtextformat.cpp
@@ -265,10 +265,18 @@ private:
friend QDataStream &operator>>(QDataStream &, QTextFormat &);
};
-// this is only safe if sizeof(int) == sizeof(float)
+// this is only safe because sizeof(int) == sizeof(float)
static inline uint hash(float d)
{
+#ifdef Q_CC_GNU
+ // this is a GCC extension and isn't guaranteed to work in other compilers
+ // the reinterpret_cast below generates a strict-aliasing warning with GCC
+ union { float f; uint u; } cvt;
+ cvt.f = d;
+ return cvt.u;
+#else
return reinterpret_cast<uint&>(d);
+#endif
}
static inline uint hash(const QColor &color)
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index f432b7e..f1278b9 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -1615,7 +1615,7 @@ void QTextLine::setLineWidth(qreal width)
if (line.length
&& line.textWidth <= line.width
&& line.from + line.length == eng->layoutData->string.length())
- // no need to do anything if the line is already layouted and the last one. This optimisation helps
+ // no need to do anything if the line is already layouted and the last one. This optimization helps
// when using things in a single line layout.
return;
line.length = 0;
diff --git a/src/gui/util/qcompleter.cpp b/src/gui/util/qcompleter.cpp
index e718212..bcd601b 100644
--- a/src/gui/util/qcompleter.cpp
+++ b/src/gui/util/qcompleter.cpp
@@ -782,7 +782,8 @@ QMatchData QUnsortedModelEngine::filter(const QString& part, const QModelIndex&
///////////////////////////////////////////////////////////////////////////////
QCompleterPrivate::QCompleterPrivate()
: widget(0), proxy(0), popup(0), cs(Qt::CaseSensitive), role(Qt::EditRole), column(0),
- maxVisibleItems(7), sorting(QCompleter::UnsortedModel), wrap(true), eatFocusOut(true)
+ maxVisibleItems(7), sorting(QCompleter::UnsortedModel), wrap(true), eatFocusOut(true),
+ hiddenBecauseNoMatch(false)
{
}
@@ -921,12 +922,14 @@ void QCompleterPrivate::showPopup(const QRect& rect)
void QCompleterPrivate::_q_fileSystemModelDirectoryLoaded(const QString &path)
{
Q_Q(QCompleter);
-#ifndef QT_NO_LINEEDIT
- QLineEdit *lineEdit = qobject_cast<QLineEdit *>(widget);
- //the path given by QFileSystemModel does not end with /
- if (lineEdit && !lineEdit->text().isEmpty() && !q->completionPrefix().isEmpty() && q->completionPrefix() != path + QLatin1Char('/'))
+ // Slot called when QFileSystemModel has finished loading.
+ // If we hide the popup because there was no match because the model was not loaded yet,
+ // we re-start the completion when we get the results
+ if (hiddenBecauseNoMatch
+ && prefix.startsWith(path) && prefix != (path + '/')
+ && widget) {
q->complete();
-#endif
+ }
}
/*!
@@ -1200,6 +1203,7 @@ bool QCompleter::eventFilter(QObject *o, QEvent *e)
Q_D(QCompleter);
if (d->eatFocusOut && o == d->widget && e->type() == QEvent::FocusOut) {
+ d->hiddenBecauseNoMatch = false;
if (d->popup && d->popup->isVisible())
return true;
}
@@ -1378,6 +1382,7 @@ void QCompleter::complete(const QRect& rect)
{
Q_D(QCompleter);
QModelIndex idx = d->proxy->currentIndex(false);
+ d->hiddenBecauseNoMatch = false;
if (d->mode == QCompleter::InlineCompletion) {
if (idx.isValid())
d->_q_complete(idx, true);
@@ -1389,6 +1394,7 @@ void QCompleter::complete(const QRect& rect)
|| (d->mode == QCompleter::UnfilteredPopupCompletion && d->proxy->rowCount() == 0)) {
if (d->popup)
d->popup->hide(); // no suggestion, hide
+ d->hiddenBecauseNoMatch = true;
return;
}
diff --git a/src/gui/util/qcompleter_p.h b/src/gui/util/qcompleter_p.h
index 8f00793..19b76e5 100644
--- a/src/gui/util/qcompleter_p.h
+++ b/src/gui/util/qcompleter_p.h
@@ -93,6 +93,7 @@ public:
bool eatFocusOut;
QRect popupRect;
+ bool hiddenBecauseNoMatch;
void showPopup(const QRect&);
void _q_complete(QModelIndex, bool = false);
diff --git a/src/gui/util/qdesktopservices_s60.cpp b/src/gui/util/qdesktopservices_s60.cpp
index cd023cb..56c2b98 100644
--- a/src/gui/util/qdesktopservices_s60.cpp
+++ b/src/gui/util/qdesktopservices_s60.cpp
@@ -45,32 +45,29 @@
#include <qurl.h>
#include <private/qcore_symbian_p.h>
-#include <txtrich.h> // CRichText
#include <f32file.h> // TDriveUnit etc
+#include <pathinfo.h> // PathInfo
+
+#ifndef USE_SCHEMEHANDLER
+#ifdef Q_WS_S60
+// This flag changes the implementation to use S60 CDcoumentHandler
+// instead of apparc when opening the files
+#define USE_DOCUMENTHANDLER
+#endif
+
+#include <txtrich.h> // CRichText
#include <eikenv.h> // CEikonEnv
#include <apgcli.h> // RApaLsSession
#include <apgtask.h> // TApaTaskList, TApaTask
#include <rsendas.h> // RSendAs
#include <rsendasmessage.h> // RSendAsMessage
-#ifdef Q_WS_S60
-// This flag changes the implementation to use S60 CDcoumentHandler
-// instead of apparch when opening the files
-#define USE_DOCUMENTHANDLER
+#ifdef USE_DOCUMENTHANDLER
+#include <DocumentHandler.h> // CDocumentHandler
+#include <AknServerApp.h>
#endif
-
-// copied from miutset.h, so we don't get a dependency into the app layer
-const TUid KUidMsgTypeSMTP = {0x10001028}; // 268439592
-
-#ifdef Q_OS_SYMBIAN
-# include <pathinfo.h> // PathInfo
-# ifdef USE_DOCUMENTHANDLER
-# include <DocumentHandler.h> // CDocumentHandler
-# include <AknServerApp.h>
-# endif
-#else
-# warning CDocumentHandler requires support for S60
-# undef USE_DOCUMENTHANDLER // Fallback to RApaLsSession based implementation
+#else // USE_SCHEMEHANDLER
+#include <schemehandler.h>
#endif
QT_BEGIN_NAMESPACE
@@ -79,6 +76,10 @@ _LIT(KCacheSubDir, "Cache\\");
_LIT(KSysBin, "\\Sys\\Bin\\");
_LIT(KBrowserPrefix, "4 " );
_LIT(KFontsDir, "z:\\resource\\Fonts\\");
+
+#ifndef USE_SCHEMEHANDLER
+// copied from miutset.h, so we don't get a dependency into the app layer
+const TUid KUidMsgTypeSMTP = {0x10001028}; // 268439592
const TUid KUidBrowser = { 0x10008D39 };
template<class R>
@@ -137,7 +138,6 @@ private:
Q_GLOBAL_STATIC(QS60DocumentHandler, qt_s60_documenthandler);
#endif
-
static void handleMailtoSchemeLX(const QUrl &url)
{
// this function has many intermingled leaves and throws. Qt and Symbian objects do not have
@@ -155,12 +155,10 @@ static void handleMailtoSchemeLX(const QUrl &url)
QStringList ccs = cc.split(QLatin1String(","), QString::SkipEmptyParts);
QStringList bccs = bcc.split(QLatin1String(","), QString::SkipEmptyParts);
-
RSendAs sendAs;
User::LeaveIfError(sendAs.Connect());
QAutoClose<RSendAs> sendAsCleanup(sendAs);
-
CSendAsAccounts* accounts = CSendAsAccounts::NewL();
CleanupStack::PushL(accounts);
sendAs.AvailableAccountsL(KUidMsgTypeSMTP, *accounts);
@@ -249,47 +247,6 @@ static bool handleOtherSchemes(const QUrl &url)
return err ? false : true;
}
-static TDriveUnit exeDrive()
-{
- RProcess me;
- TFileName processFileName = me.FileName();
- TDriveUnit drive(processFileName);
- return drive;
-}
-
-static TDriveUnit writableExeDrive()
-{
- TDriveUnit drive = exeDrive();
- if(drive.operator TInt() == EDriveZ)
- return TDriveUnit(EDriveC);
- return drive;
-}
-
-static TPtrC writableDataRoot()
-{
- TDriveUnit drive = exeDrive();
-#ifdef Q_OS_SYMBIAN
- switch(drive.operator TInt()){
- case EDriveC:
- return PathInfo::PhoneMemoryRootPath();
- break;
- case EDriveE:
- return PathInfo::MemoryCardRootPath();
- break;
- case EDriveZ:
- // It is not possible to write on ROM drive ->
- // return phone mem root path instead
- return PathInfo::PhoneMemoryRootPath();
- break;
- default:
- return PathInfo::PhoneMemoryRootPath();
- break;
- }
-#else
-#warning No fallback implementation of writableDataRoot()
- return 0;
-#endif
-}
static void openDocumentL(const TDesC& aUrl)
{
@@ -314,13 +271,44 @@ static void openDocumentL(const TDesC& aUrl)
#endif
}
-#ifdef USE_SCHEMEHANDLER
+static bool launchWebBrowser(const QUrl &url)
+{
+ if (!url.isValid())
+ return false;
+
+ if (url.scheme() == QLatin1String("mailto")) {
+ return handleMailtoScheme(url);
+ }
+ return handleOtherSchemes( url );
+}
+
+static bool openDocument(const QUrl &file)
+{
+ if (!file.isValid())
+ return false;
+
+ QString filePath = file.toLocalFile();
+ filePath = QDir::toNativeSeparators(filePath);
+ TPtrC filePathPtr(qt_QString2TPtrC(filePath));
+ TRAPD(err, openDocumentL(filePathPtr));
+ return err ? false : true;
+}
+
+#else //USE_SCHEMEHANDLER
// The schemehandler component only exist in private SDK. This implementation
// exist here just for convenience in case that we need to use it later on
// The schemehandle based implementation is not yet tested.
// The biggest advantage of schemehandler is that it can handle
// wide range of schemes and is extensible by plugins
+static void handleUrlL(const TDesC& aUrl)
+{
+ CSchemeHandler* schemeHandler = CSchemeHandler::NewL(aUrl);
+ CleanupStack::PushL(schemeHandler);
+ schemeHandler->HandleUrlStandaloneL(); // Process the Url in standalone mode
+ CleanupStack::PopAndDestroy();
+}
+
static bool handleUrl(const QUrl &url)
{
if (!url.isValid())
@@ -332,13 +320,6 @@ static bool handleUrl(const QUrl &url)
return err ? false : true;
}
-static void handleUrlL(const TDesC& aUrl)
-{
- CSchemeHandler* schemeHandler = CSchemeHandler::NewL(aUrl);
- CleanupStack::PushL(schemeHandler);
- schemeHandler->HandleUrlStandaloneL(); // Process the Url in standalone mode
- CleanupStack::PopAndDestroy();
-}
static bool launchWebBrowser(const QUrl &url)
{
return handleUrl(url);
@@ -346,31 +327,48 @@ static bool launchWebBrowser(const QUrl &url)
static bool openDocument(const QUrl &file)
{
- return handleUrl(url);
+ return handleUrl(file);
}
-#endif
-static bool launchWebBrowser(const QUrl &url)
-{
- if (!url.isValid())
- return false;
+#endif //USE_SCHEMEHANDLER
- if (url.scheme() == QLatin1String("mailto")) {
- return handleMailtoScheme(url);
- }
- return handleOtherSchemes( url );
+// Common functions to all implementations
+
+static TDriveUnit exeDrive()
+{
+ RProcess me;
+ TFileName processFileName = me.FileName();
+ TDriveUnit drive(processFileName);
+ return drive;
}
-static bool openDocument(const QUrl &file)
+static TDriveUnit writableExeDrive()
{
- if (!file.isValid())
- return false;
+ TDriveUnit drive = exeDrive();
+ if (drive.operator TInt() == EDriveZ)
+ return TDriveUnit(EDriveC);
+ return drive;
+}
- QString filePath = file.toLocalFile();
- filePath = QDir::toNativeSeparators(filePath);
- TPtrC filePathPtr(qt_QString2TPtrC(filePath));
- TRAPD(err, openDocumentL(filePathPtr));
- return err ? false : true;
+static TPtrC writableDataRoot()
+{
+ TDriveUnit drive = exeDrive();
+ switch (drive.operator TInt()){
+ case EDriveC:
+ return PathInfo::PhoneMemoryRootPath();
+ break;
+ case EDriveE:
+ return PathInfo::MemoryCardRootPath();
+ break;
+ case EDriveZ:
+ // It is not possible to write on ROM drive ->
+ // return phone mem root path instead
+ return PathInfo::PhoneMemoryRootPath();
+ break;
+ default:
+ return PathInfo::PhoneMemoryRootPath();
+ break;
+ }
}
QString QDesktopServices::storageLocation(StandardLocation type)
@@ -395,21 +393,15 @@ QString QDesktopServices::storageLocation(StandardLocation type)
break;
case MusicLocation:
path.Append(writableDataRoot());
-#ifdef Q_OS_SYMBIAN
path.Append(PathInfo::SoundsPath());
-#endif
break;
case MoviesLocation:
path.Append(writableDataRoot());
-#ifdef Q_OS_SYMBIAN
path.Append(PathInfo::VideosPath());
-#endif
break;
case PicturesLocation:
path.Append(writableDataRoot());
-#ifdef Q_OS_SYMBIAN
path.Append(PathInfo::ImagesPath());
-#endif
break;
case TempLocation:
return QDir::tempPath();
diff --git a/src/gui/util/qundostack.cpp b/src/gui/util/qundostack.cpp
index 919ac3c..04cfca9 100644
--- a/src/gui/util/qundostack.cpp
+++ b/src/gui/util/qundostack.cpp
@@ -441,7 +441,7 @@ bool QUndoStackPrivate::checkUndoLimit()
/*!
Constructs an empty undo stack with the parent \a parent. The
- stack will initally be in the clean state. If \a parent is a
+ stack will initially be in the clean state. If \a parent is a
QUndoGroup object, the stack is automatically added to the group.
\sa push()
diff --git a/src/gui/util/util.pri b/src/gui/util/util.pri
index bea520e..d1c4ff8 100644
--- a/src/gui/util/util.pri
+++ b/src/gui/util/util.pri
@@ -43,12 +43,17 @@ embedded {
}
symbian {
- LIBS += -lsendas2 -letext -lapmime -lplatformenv
- contains(QT_CONFIG, s60) {
- contains(CONFIG, is_using_gnupoc) {
- LIBS += -lcommonui
- } else {
- LIBS += -lCommonUI
+ LIBS += -letext -lplatformenv
+ contains(S60_VERSION, 3.1)|contains(S60_VERSION, 3.2)|contains(S60_VERSION, 5.0) {
+ LIBS += -lsendas2 -lapmime
+ contains(QT_CONFIG, s60) {
+ contains(CONFIG, is_using_gnupoc) {
+ LIBS += -lcommonui
+ } else {
+ LIBS += -lCommonUI
+ }
}
+ } else {
+ DEFINES += USE_SCHEMEHANDLER
}
-}
+} \ No newline at end of file
diff --git a/src/gui/widgets/qabstractslider.cpp b/src/gui/widgets/qabstractslider.cpp
index f38bae7..a8b39f4 100644
--- a/src/gui/widgets/qabstractslider.cpp
+++ b/src/gui/widgets/qabstractslider.cpp
@@ -722,7 +722,7 @@ bool QAbstractSliderPrivate::scrollByDelta(Qt::Orientation orientation, Qt::Keyb
#else
// Native UI-elements on Mac can scroll hundreds of lines at a time as
// a result of acceleration. So keep the same behaviour in Qt, and
- // dont restrict stepsToScroll to certain maximum (pageStep):
+ // don't restrict stepsToScroll to certain maximum (pageStep):
stepsToScroll = int(offset_accumulated);
#endif
offset_accumulated -= int(offset_accumulated);
diff --git a/src/gui/widgets/qcombobox.cpp b/src/gui/widgets/qcombobox.cpp
index 96d2acd..7859bdc 100644
--- a/src/gui/widgets/qcombobox.cpp
+++ b/src/gui/widgets/qcombobox.cpp
@@ -2476,7 +2476,7 @@ void QComboBox::showPopup()
listRect.setWidth(listRect.height());
//by default popup is centered on screen in landscape
listRect.moveCenter(screen.center());
- if (staConTopRect.IsEmpty()) {
+ if (staConTopRect.IsEmpty() && AknLayoutUtils::CbaLocation() != AknLayoutUtils::EAknCbaLocationBottom) {
// landscape without stacon, menu should be at the right
(opt.direction == Qt::LeftToRight) ? listRect.setRight(screen.right()) :
listRect.setLeft(screen.left());
diff --git a/src/gui/widgets/qdatetimeedit.cpp b/src/gui/widgets/qdatetimeedit.cpp
index bd6c577..8043747 100644
--- a/src/gui/widgets/qdatetimeedit.cpp
+++ b/src/gui/widgets/qdatetimeedit.cpp
@@ -832,11 +832,11 @@ QString QDateTimeEdit::sectionText(Section section) const
This format is the same as the one used described in QDateTime::toString()
and QDateTime::fromString()
- Example format strings(assuming that the date is 2nd of July 1969):
+ Example format strings (assuming that the date is 2nd of July 1969):
\table
\header \i Format \i Result
- \row \i dd.MM.yyyy \i 02.07.1969
+ \row \i dd.MM.yyyy \i 02.07.1969
\row \i MMM d yy \i Jul 2 69
\row \i MMMM d yy \i July 2 69
\endtable
diff --git a/src/gui/widgets/qmainwindow.cpp b/src/gui/widgets/qmainwindow.cpp
index 1183be6..2731182 100644
--- a/src/gui/widgets/qmainwindow.cpp
+++ b/src/gui/widgets/qmainwindow.cpp
@@ -78,6 +78,7 @@ public:
: layout(0), explicitIconSize(false), toolButtonStyle(Qt::ToolButtonIconOnly)
#ifdef Q_WS_MAC
, useHIToolBar(false)
+ , activateUnifiedToolbarAfterFullScreen(false)
#endif
#if !defined(QT_NO_DOCKWIDGET) && !defined(QT_NO_CURSOR)
, hasOldCursor(false) , cursorAdjusted(false)
@@ -89,6 +90,7 @@ public:
Qt::ToolButtonStyle toolButtonStyle;
#ifdef Q_WS_MAC
bool useHIToolBar;
+ bool activateUnifiedToolbarAfterFullScreen;
#endif
void init();
QList<int> hoverSeparator;
@@ -502,7 +504,7 @@ void QMainWindow::setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)
*/
QMenuBar *QMainWindow::menuBar() const
{
- QMenuBar *menuBar = qobject_cast<QMenuBar *>(d_func()->layout->menuBar());
+ QMenuBar *menuBar = qobject_cast<QMenuBar *>(layout()->menuBar());
if (!menuBar) {
QMainWindow *self = const_cast<QMainWindow *>(this);
menuBar = new QMenuBar(self);
@@ -1501,8 +1503,6 @@ bool QMainWindow::event(QEvent *event)
\i Before Qt 4.5, if you called showFullScreen() on the main window, the QToolbar would
disappear since it is considered to be part of the title bar. Qt 4.5 and up will now work around this by pulling
the toolbars out and back into the regular toolbar and vice versa when you swap out.
- However, a good practice would be that turning off the unified toolbar before you call
- showFullScreen() and restoring it after you call showNormal().
\endlist
Setting this back to false will remove these restrictions.
diff --git a/src/gui/widgets/qmainwindowlayout_p.h b/src/gui/widgets/qmainwindowlayout_p.h
index e1b981c..3e1a95d 100644
--- a/src/gui/widgets/qmainwindowlayout_p.h
+++ b/src/gui/widgets/qmainwindowlayout_p.h
@@ -335,6 +335,7 @@ public:
void cleanUpMacToolbarItems();
void fixSizeInUnifiedToolbar(QToolBar *tb) const;
bool useHIToolBar;
+ bool activateUnifiedToolbarAfterFullScreen;
void syncUnifiedToolbarVisibility();
bool blockVisiblityCheck;
#endif
diff --git a/src/gui/widgets/qtextedit.cpp b/src/gui/widgets/qtextedit.cpp
index 4541730..6b3f444 100644
--- a/src/gui/widgets/qtextedit.cpp
+++ b/src/gui/widgets/qtextedit.cpp
@@ -773,7 +773,7 @@ Qt::Alignment QTextEdit::alignment() const
is the document's parent object. The parent object of the provided document
remains the owner of the object.
- If the current document is a child of the text editor, then it is deleted.
+ The editor does not delete the current document, even if it is a child of the editor.
\sa document()
*/
diff --git a/src/gui/widgets/qvalidator.cpp b/src/gui/widgets/qvalidator.cpp
index b75db45..130d091 100644
--- a/src/gui/widgets/qvalidator.cpp
+++ b/src/gui/widgets/qvalidator.cpp
@@ -499,6 +499,8 @@ public:
}
QDoubleValidator::Notation notation;
+
+ QValidator::State validateWithLocale(QString & input, QLocalePrivate::NumberMode numMode, const QLocale &locale) const;
};
@@ -654,42 +656,49 @@ QValidator::State QDoubleValidator::validate(QString & input, int &) const
break;
}
+ State currentLocaleValidation = d->validateWithLocale(input, numMode, locale());
+ if (currentLocaleValidation == Acceptable || locale().language() == QLocale::C)
+ return currentLocaleValidation;
+ State cLocaleValidation = d->validateWithLocale(input, numMode, QLocale(QLocale::C));
+ return qMax(currentLocaleValidation, cLocaleValidation);
+}
+
+QValidator::State QDoubleValidatorPrivate::validateWithLocale(QString &input, QLocalePrivate::NumberMode numMode, const QLocale &locale) const
+{
+ Q_Q(const QDoubleValidator);
QByteArray buff;
- if (!locale().d()->validateChars(input, numMode, &buff, dec)) {
- QLocale cl(QLocale::C);
- if (!cl.d()->validateChars(input, numMode, &buff, dec))
- return Invalid;
- }
+ if (!locale.d()->validateChars(input, numMode, &buff, q->dec))
+ return QValidator::Invalid;
if (buff.isEmpty())
- return Intermediate;
+ return QValidator::Intermediate;
- if (b >= 0 && buff.startsWith('-'))
- return Invalid;
+ if (q->b >= 0 && buff.startsWith('-'))
+ return QValidator::Invalid;
- if (t < 0 && buff.startsWith('+'))
- return Invalid;
+ if (q->t < 0 && buff.startsWith('+'))
+ return QValidator::Invalid;
bool ok, overflow;
double i = QLocalePrivate::bytearrayToDouble(buff.constData(), &ok, &overflow);
if (overflow)
- return Invalid;
+ return QValidator::Invalid;
if (!ok)
- return Intermediate;
+ return QValidator::Intermediate;
- if (i >= b && i <= t)
- return Acceptable;
+ if (i >= q->b && i <= q->t)
+ return QValidator::Acceptable;
- if (d->notation == StandardNotation) {
- double max = qMax(qAbs(b), qAbs(t));
+ if (notation == QDoubleValidator::StandardNotation) {
+ double max = qMax(qAbs(q->b), qAbs(q->t));
if (max < LLONG_MAX) {
qlonglong n = pow10(numDigits(qlonglong(max))) - 1;
if (qAbs(i) > n)
- return Invalid;
+ return QValidator::Invalid;
}
}
- return Intermediate;
+ return QValidator::Intermediate;
}
diff --git a/src/imports/folderlistmodel/folderlistmodel.pro b/src/imports/folderlistmodel/folderlistmodel.pro
index b2e5360..8964ab0 100644
--- a/src/imports/folderlistmodel/folderlistmodel.pro
+++ b/src/imports/folderlistmodel/folderlistmodel.pro
@@ -15,7 +15,6 @@ qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
symbian:{
TARGET.UID3 = 0x20021320
- include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
isEmpty(DESTDIR):importFiles.sources = qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll qmldir
else:importFiles.sources = $$DESTDIR/qmlfolderlistmodelplugin$${QT_LIBINFIX}.dll qmldir
diff --git a/src/imports/gestures/gestures.pro b/src/imports/gestures/gestures.pro
index 18ffcb9..a4c914d 100644
--- a/src/imports/gestures/gestures.pro
+++ b/src/imports/gestures/gestures.pro
@@ -15,7 +15,6 @@ qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
symbian:{
TARGET.UID3 = 0x2002131F
- include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
isEmpty(DESTDIR):importFiles.sources = qmlgesturesplugin$${QT_LIBINFIX}.dll qmldir
else:importFiles.sources = $$DESTDIR/qmlgesturesplugin$${QT_LIBINFIX}.dll qmldir
diff --git a/src/imports/particles/particles.pro b/src/imports/particles/particles.pro
index a3eb0d1..bb9da01 100644
--- a/src/imports/particles/particles.pro
+++ b/src/imports/particles/particles.pro
@@ -19,7 +19,6 @@ qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
symbian:{
TARGET.UID3 = 0x2002131E
- include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
isEmpty(DESTDIR):importFiles.sources = qmlparticlesplugin$${QT_LIBINFIX}.dll qmldir
else:importFiles.sources = $$DESTDIR/qmlparticlesplugin$${QT_LIBINFIX}.dll qmldir
diff --git a/src/multimedia/audio/audio.pri b/src/multimedia/audio/audio.pri
index ae28a26..7b2f9ad 100644
--- a/src/multimedia/audio/audio.pri
+++ b/src/multimedia/audio/audio.pri
@@ -42,8 +42,8 @@ mac {
wince*:LIBS += -lcoredll
} else:symbian {
- INCLUDEPATH += /epoc32/include/mmf/common
- INCLUDEPATH += /epoc32/include/mmf/server
+ INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/common
+ INCLUDEPATH += $${EPOCROOT}epoc32/include/mmf/server
HEADERS += $$PWD/qaudio_symbian_p.h \
$$PWD/qaudiodeviceinfo_symbian_p.h \
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
index 25622a4..3617d24 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.cpp
@@ -63,7 +63,9 @@ QAudioDeviceInfoInternal::QAudioDeviceInfoInternal(QByteArray dev, QAudio::Mode
device = QLatin1String(dev);
this->mode = mode;
+#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
checkSurround();
+#endif
}
QAudioDeviceInfoInternal::~QAudioDeviceInfoInternal()
@@ -394,9 +396,11 @@ void QAudioDeviceInfoInternal::updateLists()
}
channelz.append(1);
channelz.append(2);
+#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
if (surround40) channelz.append(4);
if (surround51) channelz.append(6);
if (surround71) channelz.append(8);
+#endif
sizez.append(8);
sizez.append(16);
sizez.append(32);
@@ -494,6 +498,7 @@ QByteArray QAudioDeviceInfoInternal::defaultOutputDevice()
return devices.first();
}
+#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
void QAudioDeviceInfoInternal::checkSurround()
{
QList<QByteArray> devices;
@@ -534,5 +539,6 @@ void QAudioDeviceInfoInternal::checkSurround()
}
snd_device_name_free_hint(hints);
}
+#endif
QT_END_NAMESPACE
diff --git a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
index 8525980..5f7e5e8 100644
--- a/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
+++ b/src/multimedia/audio/qaudiodeviceinfo_alsa_p.h
@@ -98,10 +98,12 @@ private:
bool open();
void close();
+#if (SND_LIB_MAJOR == 1 && SND_LIB_MINOR == 0 && SND_LIB_SUBMINOR >= 14)
void checkSurround();
bool surround40;
bool surround51;
bool surround71;
+#endif
QString device;
QAudio::Mode mode;
diff --git a/src/multimedia/audio/qaudioengine.cpp b/src/multimedia/audio/qaudioengine.cpp
index 7f1f5d3..c379aff 100644
--- a/src/multimedia/audio/qaudioengine.cpp
+++ b/src/multimedia/audio/qaudioengine.cpp
@@ -133,7 +133,7 @@ QT_BEGIN_NAMESPACE
Uses the \a device as the QIODevice to transfer data. If \a device is null then the class
creates an internal QIODevice. Returns a pointer to the QIODevice being used to handle
the data transfer. This QIODevice can be used to write() audio data directly. Passing a
- QIODevice allows the data to be transfered without any extra code.
+ QIODevice allows the data to be transferred without any extra code.
*/
/*!
@@ -247,7 +247,7 @@ QT_BEGIN_NAMESPACE
Uses the \a device as the QIODevice to transfer data. If \a device is null
then the class creates an internal QIODevice. Returns a pointer to the
QIODevice being used to handle the data transfer. This QIODevice can be used to
- read() audio data directly. Passing a QIODevice allows the data to be transfered
+ read() audio data directly. Passing a QIODevice allows the data to be transferred
without any extra code.
*/
diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp
index 3676f64..6660c3f 100644
--- a/src/multimedia/audio/qaudioinput.cpp
+++ b/src/multimedia/audio/qaudioinput.cpp
@@ -201,7 +201,7 @@ QAudioInput::~QAudioInput()
/*!
Uses the \a device as the QIODevice to transfer data.
- Passing a QIODevice allows the data to be transfered without any extra code.
+ Passing a QIODevice allows the data to be transferred without any extra code.
All that is required is to open the QIODevice.
If able to successfully get audio data from the systems audio device the
diff --git a/src/multimedia/audio/qaudioinput_alsa_p.cpp b/src/multimedia/audio/qaudioinput_alsa_p.cpp
index ddafa3d..5265915 100644
--- a/src/multimedia/audio/qaudioinput_alsa_p.cpp
+++ b/src/multimedia/audio/qaudioinput_alsa_p.cpp
@@ -482,19 +482,18 @@ int QAudioInputPrivate::bytesReady() const
qint64 QAudioInputPrivate::read(char* data, qint64 len)
{
- Q_UNUSED(len)
-
// Read in some audio data and write it to QIODevice, pull mode
if ( !handle )
return 0;
- bytesAvailable = checkBytesReady();
+ // bytesAvaiable is saved as a side effect of checkBytesReady().
+ int bytesToRead = checkBytesReady();
- if (bytesAvailable < 0) {
+ if (bytesToRead < 0) {
// bytesAvailable as negative is error code, try to recover from it.
- xrun_recovery(bytesAvailable);
- bytesAvailable = checkBytesReady();
- if (bytesAvailable < 0) {
+ xrun_recovery(bytesToRead);
+ bytesToRead = checkBytesReady();
+ if (bytesToRead < 0) {
// recovery failed must stop and set error.
close();
errorState = QAudio::IOError;
@@ -504,9 +503,11 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len)
}
}
+ bytesToRead = qMin<qint64>(len, bytesToRead);
+ bytesToRead -= bytesToRead % period_size;
int count=0, err = 0;
while(count < 5) {
- int chunks = bytesAvailable/period_size;
+ int chunks = bytesToRead/period_size;
int frames = chunks*period_frames;
if(frames > (int)buffer_frames)
frames = buffer_frames;
@@ -554,6 +555,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len)
emit stateChanged(deviceState);
}
} else {
+ bytesAvailable -= err;
totalTimeValue += err;
resuming = false;
if (deviceState != QAudio::ActiveState) {
@@ -566,6 +568,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len)
} else {
memcpy(data,audioBuffer,err);
+ bytesAvailable -= err;
totalTimeValue += err;
resuming = false;
if (deviceState != QAudio::ActiveState) {
@@ -661,7 +664,7 @@ bool QAudioInputPrivate::deviceReady()
{
if(pullMode) {
// reads some audio data and writes it to QIODevice
- read(0,0);
+ read(0, buffer_size);
} else {
// emits readyRead() so user will call read() on QIODevice to get some audio data
InputPrivate* a = qobject_cast<InputPrivate*>(audioSource);
diff --git a/src/multimedia/audio/qaudioinput_win32_p.cpp b/src/multimedia/audio/qaudioinput_win32_p.cpp
index 1cde159..0ec2492 100644
--- a/src/multimedia/audio/qaudioinput_win32_p.cpp
+++ b/src/multimedia/audio/qaudioinput_win32_p.cpp
@@ -400,9 +400,12 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len)
resuming = false;
}
} else {
+ l = qMin<qint64>(len, waveBlocks[header].dwBytesRecorded);
// push mode
- memcpy(p,waveBlocks[header].lpData,waveBlocks[header].dwBytesRecorded);
- l = waveBlocks[header].dwBytesRecorded;
+ memcpy(p, waveBlocks[header].lpData, l);
+
+ len -= l;
+
#ifdef DEBUG_AUDIO
qDebug()<<"IN: "<<waveBlocks[header].dwBytesRecorded<<", OUT: "<<l;
#endif
@@ -457,7 +460,7 @@ qint64 QAudioInputPrivate::read(char* data, qint64 len)
mutex.lock();
if(!pullMode) {
- if(l+period_size > len && waveFreeBlockCount == buffer_size/period_size)
+ if(len < period_size || waveFreeBlockCount == buffer_size/period_size)
done = true;
} else {
if(waveFreeBlockCount == buffer_size/period_size)
@@ -568,7 +571,7 @@ bool QAudioInputPrivate::deviceReady()
if(pullMode) {
// reads some audio data and writes it to QIODevice
- read(0,0);
+ read(0, buffer_size);
} else {
// emits readyRead() so user will call read() on QIODevice to get some audio data
InputPrivate* a = qobject_cast<InputPrivate*>(audioSource);
diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp
index cf3b79c..b71d48c 100644
--- a/src/multimedia/audio/qaudiooutput.cpp
+++ b/src/multimedia/audio/qaudiooutput.cpp
@@ -199,7 +199,7 @@ QAudioFormat QAudioOutput::format() const
/*!
Uses the \a device as the QIODevice to transfer data.
- Passing a QIODevice allows the data to be transfered without any extra code.
+ Passing a QIODevice allows the data to be transferred without any extra code.
All that is required is to open the QIODevice.
If able to successfully output audio data to the systems audio device the
diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp
index 1f304e3..1b054e5 100644
--- a/src/multimedia/audio/qaudiooutput_win32_p.cpp
+++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp
@@ -586,7 +586,7 @@ bool QAudioOutputPrivate::deviceReady()
}
}
if ( out < l) {
- // Didnt write all data
+ // Didn't write all data
audioSource->seek(audioSource->pos()-(l-out));
}
if(startup)
diff --git a/src/network/access/qhttp.cpp b/src/network/access/qhttp.cpp
index 13375f8..9c2f79a 100644
--- a/src/network/access/qhttp.cpp
+++ b/src/network/access/qhttp.cpp
@@ -2442,7 +2442,7 @@ void QHttpPrivate::_q_slotSendRequest()
if (proxy.hostName().isEmpty()) {
proxy.setType(QNetworkProxy::NoProxy);
} else if (sslInUse) {
- // Disallow use of cacheing proxy with HTTPS; instead fall back to
+ // Disallow use of caching proxy with HTTPS; instead fall back to
// transparent HTTP CONNECT proxying.
transparentProxyInUse = true;
} else {
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index ccdbb20..0531595 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -39,6 +39,7 @@
**
****************************************************************************/
+#include <private/qabstractsocket_p.h>
#include "qhttpnetworkconnection_p.h"
#include "qhttpnetworkconnectionchannel_p.h"
#include "private/qnoncontiguousbytedevice_p.h"
@@ -56,6 +57,7 @@
#ifndef QT_NO_HTTP
#ifndef QT_NO_OPENSSL
+# include <private/qsslsocket_p.h>
# include <QtNetwork/qsslkey.h>
# include <QtNetwork/qsslcipher.h>
# include <QtNetwork/qsslconfiguration.h>
@@ -79,9 +81,9 @@ const int QHttpNetworkConnectionPrivate::defaultRePipelineLength = 2;
QHttpNetworkConnectionPrivate::QHttpNetworkConnectionPrivate(const QString &hostName, quint16 port, bool encrypt)
-: hostName(hostName), port(port), encrypt(encrypt),
- channelCount(defaultChannelCount),
- pendingAuthSignal(false), pendingProxyAuthSignal(false)
+: state(RunningState),
+ hostName(hostName), port(port), encrypt(encrypt),
+ channelCount(defaultChannelCount)
#ifndef QT_NO_NETWORKPROXY
, networkProxy(QNetworkProxy::NoProxy)
#endif
@@ -90,9 +92,9 @@ QHttpNetworkConnectionPrivate::QHttpNetworkConnectionPrivate(const QString &host
}
QHttpNetworkConnectionPrivate::QHttpNetworkConnectionPrivate(quint16 channelCount, const QString &hostName, quint16 port, bool encrypt)
-: hostName(hostName), port(port), encrypt(encrypt),
- channelCount(channelCount),
- pendingAuthSignal(false), pendingProxyAuthSignal(false)
+: state(RunningState),
+ hostName(hostName), port(port), encrypt(encrypt),
+ channelCount(channelCount)
#ifndef QT_NO_NETWORKPROXY
, networkProxy(QNetworkProxy::NoProxy)
#endif
@@ -121,6 +123,42 @@ void QHttpNetworkConnectionPrivate::init()
}
}
+void QHttpNetworkConnectionPrivate::pauseConnection()
+{
+ state = PausedState;
+
+ // Disable all socket notifiers
+ for (int i = 0; i < channelCount; i++) {
+#ifndef QT_NO_OPENSSL
+ if (encrypt)
+ QSslSocketPrivate::pauseSocketNotifiers(static_cast<QSslSocket*>(channels[i].socket));
+ else
+#endif
+ QAbstractSocketPrivate::pauseSocketNotifiers(channels[i].socket);
+ }
+}
+
+void QHttpNetworkConnectionPrivate::resumeConnection()
+{
+ state = RunningState;
+ // Enable all socket notifiers
+ for (int i = 0; i < channelCount; i++) {
+#ifndef QT_NO_OPENSSL
+ if (encrypt)
+ QSslSocketPrivate::resumeSocketNotifiers(static_cast<QSslSocket*>(channels[i].socket));
+ else
+#endif
+ QAbstractSocketPrivate::resumeSocketNotifiers(channels[i].socket);
+
+ // Resume pending upload if needed
+ if (channels[i].state == QHttpNetworkConnectionChannel::WritingState)
+ QMetaObject::invokeMethod(&channels[i], "_q_uploadDataReadyRead", Qt::QueuedConnection);
+ }
+
+ // queue _q_startNextRequest
+ QMetaObject::invokeMethod(this->q_func(), "_q_startNextRequest", Qt::QueuedConnection);
+}
+
int QHttpNetworkConnectionPrivate::indexOf(QAbstractSocket *socket) const
{
for (int i = 0; i < channelCount; ++i)
@@ -257,6 +295,13 @@ void QHttpNetworkConnectionPrivate::copyCredentials(int fromChannel, QAuthentica
{
Q_ASSERT(auth);
+ // NTLM is a multi phase authentication. Copying credentials between authenticators would mess things up.
+ if (!isProxy && channels[fromChannel].authMethod == QAuthenticatorPrivate::Ntlm)
+ return;
+ if (isProxy && channels[fromChannel].proxyAuthMethod == QAuthenticatorPrivate::Ntlm)
+ return;
+
+
// select another channel
QAuthenticator* otherAuth = 0;
for (int i = 0; i < channelCount; ++i) {
@@ -282,8 +327,6 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
Q_ASSERT(socket);
Q_ASSERT(reply);
- Q_Q(QHttpNetworkConnection);
-
resend = false;
//create the response header to be used with QAuthenticatorPrivate.
QList<QPair<QByteArray, QByteArray> > fields = reply->header();
@@ -296,10 +339,10 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
QAuthenticator* auth = 0;
if (isProxy) {
auth = &channels[i].proxyAuthenticator;
- channels[i].proxyAuthMehtod = authMethod;
+ channels[i].proxyAuthMethod = authMethod;
} else {
auth = &channels[i].authenticator;
- channels[i].authMehtod = authMethod;
+ channels[i].authMethod = authMethod;
}
//proceed with the authentication.
if (auth->isNull())
@@ -308,46 +351,33 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
priv->parseHttpResponse(fields, isProxy);
if (priv->phase == QAuthenticatorPrivate::Done) {
- if ((isProxy && pendingProxyAuthSignal) ||(!isProxy && pendingAuthSignal)) {
- // drop the request
- reply->d_func()->eraseData();
- channels[i].close();
- channels[i].lastStatus = 0;
- channels[i].state = QHttpNetworkConnectionChannel::Wait4AuthState;
- return false;
- }
- // cannot use this socket until the slot returns
- channels[i].state = QHttpNetworkConnectionChannel::WaitingState;
- socket->blockSignals(true);
+ pauseConnection();
if (!isProxy) {
- pendingAuthSignal = true;
- emit q->authenticationRequired(reply->request(), auth, q);
- pendingAuthSignal = false;
+ emit reply->authenticationRequired(reply->request(), auth);
#ifndef QT_NO_NETWORKPROXY
} else {
- pendingProxyAuthSignal = true;
- emit q->proxyAuthenticationRequired(networkProxy, auth, q);
- pendingProxyAuthSignal = false;
+ emit reply->proxyAuthenticationRequired(networkProxy, auth);
#endif
}
- socket->blockSignals(false);
- // socket free to use
- channels[i].state = QHttpNetworkConnectionChannel::IdleState;
+ resumeConnection();
+
if (priv->phase != QAuthenticatorPrivate::Done) {
// send any pending requests
copyCredentials(i, auth, isProxy);
- QMetaObject::invokeMethod(q, "_q_restartAuthPendingRequests", Qt::QueuedConnection);
}
- } else if (priv->phase == QAuthenticatorPrivate::Start) {
- // If the url's authenticator has a 'user' set we will end up here (phase is only set to 'Done' by
- // parseHttpResponse above if 'user' is empty). So if credentials were supplied with the request,
- // such as in the case of an XMLHttpRequest, this is our only opportunity to cache them.
- emit q->cacheCredentials(reply->request(), auth, q);
}
- // - Changing values in QAuthenticator will reset the 'phase'.
+ // - Changing values in QAuthenticator will reset the 'phase'. Therefore if it is still "Done"
+ // then nothing was filled in by the user or the cache
// - If withCredentials has been set to false (e.g. by QtWebKit for a cross-origin XMLHttpRequest) then
// we need to bail out if authentication is required.
if (priv->phase == QAuthenticatorPrivate::Done || !reply->request().withCredentials()) {
+ // Reset authenticator so the next request on that channel does not get messed up
+ auth = 0;
+ if (isProxy)
+ channels[i].proxyAuthenticator = QAuthenticator();
+ else
+ channels[i].authenticator = QAuthenticator();
+
// authentication is cancelled, send the current contents to the user.
emit channels[i].reply->headerChanged();
emit channels[i].reply->readyRead();
@@ -356,15 +386,9 @@ bool QHttpNetworkConnectionPrivate::handleAuthenticateChallenge(QAbstractSocket
? QNetworkReply::ProxyAuthenticationRequiredError
: QNetworkReply::AuthenticationRequiredError;
reply->d_func()->errorString = errorDetail(errorCode, socket);
- emit q->error(errorCode, reply->d_func()->errorString);
- emit channels[i].reply->finished();
+ emit reply->finishedWithError(errorCode, reply->d_func()->errorString);
// ### at this point the reply could be deleted
socket->close();
- // remove pending request on the other channels
- for (int j = 0; j < channelCount; ++j) {
- if (j != i && channels[j].state == QHttpNetworkConnectionChannel::Wait4AuthState)
- channels[j].state = QHttpNetworkConnectionChannel::IdleState;
- }
return true;
}
//resend the request
@@ -380,8 +404,9 @@ void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket,
int i = indexOf(socket);
- if (channels[i].authMehtod != QAuthenticatorPrivate::None) {
- if (!(channels[i].authMehtod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 401)) {
+ // Send "Authorization" header, but not if it's NTLM and the socket is already authenticated.
+ if (channels[i].authMethod != QAuthenticatorPrivate::None) {
+ if (!(channels[i].authMethod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 401)) {
QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(channels[i].authenticator);
if (priv && priv->method != QAuthenticatorPrivate::None) {
QByteArray response = priv->calculateResponse(request.d->methodName(), request.d->uri(false));
@@ -389,8 +414,10 @@ void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket,
}
}
}
- if (channels[i].proxyAuthMehtod != QAuthenticatorPrivate::None) {
- if (!(channels[i].proxyAuthMehtod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 407)) {
+
+ // Send "Proxy-Authorization" header, but not if it's NTLM and the socket is already authenticated.
+ if (channels[i].proxyAuthMethod != QAuthenticatorPrivate::None) {
+ if (!(channels[i].proxyAuthMethod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 407)) {
QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(channels[i].proxyAuthenticator);
if (priv && priv->method != QAuthenticatorPrivate::None) {
QByteArray response = priv->calculateResponse(request.d->methodName(), request.d->uri(false));
@@ -723,6 +750,10 @@ void QHttpNetworkConnectionPrivate::removeReply(QHttpNetworkReply *reply)
// although it is called _q_startNextRequest, it will actually start multiple requests when possible
void QHttpNetworkConnectionPrivate::_q_startNextRequest()
{
+ // If the QHttpNetworkConnection is currently paused then bail out immediately
+ if (state == PausedState)
+ return;
+
//resend the necessary ones.
for (int i = 0; i < channelCount; ++i) {
if (channels[i].resendCurrent) {
@@ -773,17 +804,6 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest()
fillPipeline(channels[i].socket);
}
-void QHttpNetworkConnectionPrivate::_q_restartAuthPendingRequests()
-{
- // send the request using the idle socket
- for (int i = 0 ; i < channelCount; ++i) {
- if (channels[i].state == QHttpNetworkConnectionChannel::Wait4AuthState) {
- channels[i].state = QHttpNetworkConnectionChannel::IdleState;
- if (channels[i].reply)
- channels[i].sendRequest();
- }
- }
-}
void QHttpNetworkConnectionPrivate::readMoreLater(QHttpNetworkReply *reply)
{
@@ -832,31 +852,15 @@ QHttpNetworkReply* QHttpNetworkConnection::sendRequest(const QHttpNetworkRequest
return d->queueRequest(request);
}
-void QHttpNetworkConnection::enableEncryption()
-{
- Q_D(QHttpNetworkConnection);
- d->encrypt = true;
-}
-
-bool QHttpNetworkConnection::isEncrypted() const
+bool QHttpNetworkConnection::isSsl() const
{
Q_D(const QHttpNetworkConnection);
return d->encrypt;
}
-void QHttpNetworkConnection::setProxyAuthentication(QAuthenticator *authenticator)
+QHttpNetworkConnectionChannel *QHttpNetworkConnection::channels() const
{
- Q_D(QHttpNetworkConnection);
- for (int i = 0; i < d->channelCount; ++i)
- d->channels[i].proxyAuthenticator = *authenticator;
-}
-
-void QHttpNetworkConnection::setAuthentication(const QString &domain, QAuthenticator *authenticator)
-{
- Q_UNUSED(domain); // ### domain ?
- Q_D(QHttpNetworkConnection);
- for (int i = 0; i < d->channelCount; ++i)
- d->channels[i].authenticator = *authenticator;
+ return d_func()->channels;
}
#ifndef QT_NO_NETWORKPROXY
@@ -951,8 +955,11 @@ void QHttpNetworkConnection::ignoreSslErrors(const QList<QSslError> &errors, int
// e.g. it is for SOCKS proxies which require authentication.
void QHttpNetworkConnectionPrivate::emitProxyAuthenticationRequired(const QHttpNetworkConnectionChannel *chan, const QNetworkProxy &proxy, QAuthenticator* auth)
{
- Q_Q(QHttpNetworkConnection);
- emit q->proxyAuthenticationRequired(proxy, auth, q);
+ // Also pause the connection because socket notifiers may fire while an user
+ // dialog is displaying
+ pauseConnection();
+ emit chan->reply->proxyAuthenticationRequired(proxy, auth);
+ resumeConnection();
int i = indexOf(chan->socket);
copyCredentials(i, auth, true);
}
diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h
index 51666d6..9f23cbf 100644
--- a/src/network/access/qhttpnetworkconnection_p.h
+++ b/src/network/access/qhttpnetworkconnection_p.h
@@ -108,43 +108,24 @@ public:
QNetworkProxy transparentProxy() const;
#endif
- //enable encryption
- void enableEncryption();
- bool isEncrypted() const;
+ bool isSsl() const;
- //authentication parameters
- void setProxyAuthentication(QAuthenticator *authenticator);
- void setAuthentication(const QString &domain, QAuthenticator *authenticator);
+ QHttpNetworkConnectionChannel *channels() const;
#ifndef QT_NO_OPENSSL
void setSslConfiguration(const QSslConfiguration &config);
void ignoreSslErrors(int channel = -1);
void ignoreSslErrors(const QList<QSslError> &errors, int channel = -1);
-
-Q_SIGNALS:
- void sslErrors(const QList<QSslError> &errors);
-#endif
-
-Q_SIGNALS:
-#ifndef QT_NO_NETWORKPROXY
- //cannot be used with queued connection.
- void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator,
- const QHttpNetworkConnection *connection = 0);
#endif
- void authenticationRequired(const QHttpNetworkRequest &request, QAuthenticator *authenticator,
- const QHttpNetworkConnection *connection = 0);
- void cacheCredentials(const QHttpNetworkRequest &request, QAuthenticator *authenticator,
- const QHttpNetworkConnection *connection = 0);
- void error(QNetworkReply::NetworkError errorCode, const QString &detail = QString());
private:
Q_DECLARE_PRIVATE(QHttpNetworkConnection)
Q_DISABLE_COPY(QHttpNetworkConnection)
friend class QHttpNetworkReply;
+ friend class QHttpNetworkReplyPrivate;
friend class QHttpNetworkConnectionChannel;
Q_PRIVATE_SLOT(d_func(), void _q_startNextRequest())
- Q_PRIVATE_SLOT(d_func(), void _q_restartAuthPendingRequests())
};
@@ -160,11 +141,20 @@ public:
static const int defaultPipelineLength;
static const int defaultRePipelineLength;
+ enum ConnectionState {
+ RunningState = 0,
+ PausedState = 1,
+ };
+
QHttpNetworkConnectionPrivate(const QString &hostName, quint16 port, bool encrypt);
QHttpNetworkConnectionPrivate(quint16 channelCount, const QString &hostName, quint16 port, bool encrypt);
~QHttpNetworkConnectionPrivate();
void init();
+ void pauseConnection();
+ void resumeConnection();
+ ConnectionState state;
+
enum { ChunkSize = 4096 };
int indexOf(QAbstractSocket *socket) const;
@@ -184,7 +174,6 @@ public:
// private slots
void _q_startNextRequest(); // send the next request from the queue
- void _q_restartAuthPendingRequests(); // send the currently blocked request
void createAuthorization(QAbstractSocket *socket, QHttpNetworkRequest &request);
@@ -203,9 +192,6 @@ public:
const int channelCount;
QHttpNetworkConnectionChannel *channels; // parallel connections to the server
- bool pendingAuthSignal; // there is an incomplete authentication signal
- bool pendingProxyAuthSignal; // there is an incomplete proxy authentication signal
-
qint64 uncompressedBytesAvailable(const QHttpNetworkReply &reply) const;
qint64 uncompressedBytesAvailableNextBlock(const QHttpNetworkReply &reply) const;
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index 6437f6f..c8caad4 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -68,8 +68,8 @@ QHttpNetworkConnectionChannel::QHttpNetworkConnectionChannel()
, lastStatus(0)
, pendingEncrypt(false)
, reconnectAttempts(2)
- , authMehtod(QAuthenticatorPrivate::None)
- , proxyAuthMehtod(QAuthenticatorPrivate::None)
+ , authMethod(QAuthenticatorPrivate::None)
+ , proxyAuthMethod(QAuthenticatorPrivate::None)
#ifndef QT_NO_OPENSSL
, ignoreAllSslErrors(false)
#endif
@@ -105,12 +105,22 @@ void QHttpNetworkConnectionChannel::init()
QObject::connect(socket, SIGNAL(readyRead()),
this, SLOT(_q_readyRead()),
Qt::DirectConnection);
+
+ // The disconnected() and error() signals may already come
+ // while calling connectToHost().
+ // In case of a cached hostname or an IP this
+ // will then emit a signal to the user of QNetworkReply
+ // but cannot be caught because the user did not have a chance yet
+ // to connect to QNetworkReply's signals.
+ qRegisterMetaType<QAbstractSocket::SocketError>("QAbstractSocket::SocketError");
QObject::connect(socket, SIGNAL(disconnected()),
this, SLOT(_q_disconnected()),
- Qt::DirectConnection);
+ Qt::QueuedConnection);
QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)),
this, SLOT(_q_error(QAbstractSocket::SocketError)),
- Qt::DirectConnection);
+ Qt::QueuedConnection);
+
+
#ifndef QT_NO_NETWORKPROXY
QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
this, SLOT(_q_proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
@@ -170,7 +180,6 @@ bool QHttpNetworkConnectionChannel::sendRequest()
reply->d_func()->autoDecompress = request.d->autoDecompress;
reply->d_func()->pipeliningUsed = false;
- pendingEncrypt = false;
// if the url contains authentication parameters, use the new ones
// both channels will use the new authentication parameters
if (!request.url().userInfo().isEmpty() && request.withCredentials()) {
@@ -180,6 +189,7 @@ bool QHttpNetworkConnectionChannel::sendRequest()
|| (!url.password().isEmpty() && url.password() != auth.password())) {
auth.setUser(url.userName());
auth.setPassword(url.password());
+ emit reply->cacheCredentials(request, &auth);
connection->d_func()->copyCredentials(connection->d_func()->indexOf(socket), &auth, false);
}
// clear the userinfo, since we use the same request for resending
@@ -299,7 +309,6 @@ bool QHttpNetworkConnectionChannel::sendRequest()
break;
}
case QHttpNetworkConnectionChannel::ReadingState:
- case QHttpNetworkConnectionChannel::Wait4AuthState:
// ignore _q_bytesWritten in these states
// fall through
default:
@@ -402,7 +411,9 @@ void QHttpNetworkConnectionChannel::_q_receiveReply()
}
case QHttpNetworkReplyPrivate::ReadingDataState: {
QHttpNetworkReplyPrivate *replyPrivate = reply->d_func();
- if (replyPrivate->downstreamLimited && !replyPrivate->responseData.isEmpty() && replyPrivate->shouldEmitSignals()) {
+ if (socket->state() == QAbstractSocket::ConnectedState &&
+ replyPrivate->downstreamLimited && !replyPrivate->responseData.isEmpty() && replyPrivate->shouldEmitSignals()) {
+ // (only do the following when still connected, not when we have already been disconnected and there is still data)
// We already have some HTTP body data. We don't read more from the socket until
// this is fetched by QHttpNetworkAccessHttpBackend. If we would read more,
// we could not limit our read buffer usage.
@@ -411,7 +422,6 @@ void QHttpNetworkConnectionChannel::_q_receiveReply()
// to the read buffer maximum size, but we don't care since they should be small.
return;
}
-
if (!replyPrivate->isChunked() && !replyPrivate->autoDecompress
&& replyPrivate->bodyLength > 0) {
// bulk files like images should fulfill these properties and
@@ -787,8 +797,7 @@ void QHttpNetworkConnectionChannel::handleStatus()
? QNetworkReply::ProxyAuthenticationRequiredError
: QNetworkReply::AuthenticationRequiredError;
reply->d_func()->errorString = connection->d_func()->errorDetail(errorCode, socket);
- emit connection->error(errorCode, reply->d_func()->errorString);
- emit reply->finished();
+ emit reply->finishedWithError(errorCode, reply->d_func()->errorString);
}
break;
default:
@@ -935,7 +944,6 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
{
if (!socket)
return;
- bool send2Reply = false;
QNetworkReply::NetworkError errorCode = QNetworkReply::UnknownNetworkError;
switch (socketError) {
@@ -953,7 +961,6 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
closeAndResendCurrentRequest();
return;
} else {
- send2Reply = true;
errorCode = QNetworkReply::RemoteHostClosedError;
}
} else {
@@ -966,7 +973,6 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
closeAndResendCurrentRequest();
return;
}
- send2Reply = true;
errorCode = QNetworkReply::TimeoutError;
break;
case QAbstractSocket::ProxyAuthenticationRequiredError:
@@ -982,18 +988,14 @@ void QHttpNetworkConnectionChannel::_q_error(QAbstractSocket::SocketError socket
}
QPointer<QHttpNetworkConnection> that = connection;
QString errorString = connection->d_func()->errorDetail(errorCode, socket, socket->errorString());
- if (send2Reply) {
- if (reply) {
- reply->d_func()->errorString = errorString;
- // this error matters only to this reply
- emit reply->finishedWithError(errorCode, errorString);
- }
- // send the next request
- QMetaObject::invokeMethod(that, "_q_startNextRequest", Qt::QueuedConnection);
- } else {
- // the failure affects all requests.
- emit connection->error(errorCode, errorString);
+
+ if (reply) {
+ reply->d_func()->errorString = errorString;
+ emit reply->finishedWithError(errorCode, errorString);
}
+ // send the next request
+ QMetaObject::invokeMethod(that, "_q_startNextRequest", Qt::QueuedConnection);
+
if (that) //signal emission triggered event loop
close();
}
@@ -1016,6 +1018,7 @@ void QHttpNetworkConnectionChannel::_q_encrypted()
if (!socket)
return; // ### error
state = QHttpNetworkConnectionChannel::IdleState;
+ pendingEncrypt = false;
sendRequest();
}
@@ -1024,7 +1027,11 @@ void QHttpNetworkConnectionChannel::_q_sslErrors(const QList<QSslError> &errors)
if (!socket)
return;
//QNetworkReply::NetworkError errorCode = QNetworkReply::ProtocolFailure;
- emit connection->sslErrors(errors);
+ // Also pause the connection because socket notifiers may fire while an user
+ // dialog is displaying
+ connection->d_func()->pauseConnection();
+ emit reply->sslErrors(errors);
+ connection->d_func()->resumeConnection();
}
void QHttpNetworkConnectionChannel::_q_encryptedBytesWritten(qint64 bytes)
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
index 41a896d..fd18042 100644
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
@@ -95,8 +95,7 @@ public:
WritingState = 2, // writing the data
WaitingState = 4, // waiting for reply
ReadingState = 8, // reading the reply
- Wait4AuthState = 0x10, // blocked for send till the current authentication slot is done
- BusyState = (ConnectingState|WritingState|WaitingState|ReadingState|Wait4AuthState)
+ BusyState = (ConnectingState|WritingState|WaitingState|ReadingState)
};
QAbstractSocket *socket;
ChannelState state;
@@ -108,8 +107,8 @@ public:
int lastStatus; // last status received on this channel
bool pendingEncrypt; // for https (send after encrypted)
int reconnectAttempts; // maximum 2 reconnection attempts
- QAuthenticatorPrivate::Method authMehtod;
- QAuthenticatorPrivate::Method proxyAuthMehtod;
+ QAuthenticatorPrivate::Method authMethod;
+ QAuthenticatorPrivate::Method proxyAuthMethod;
QAuthenticator authenticator;
QAuthenticator proxyAuthenticator;
#ifndef QT_NO_OPENSSL
@@ -159,6 +158,8 @@ public:
bool isSocketWaiting() const;
bool isSocketReading() const;
+ friend class QNetworkAccessHttpBackend;
+
protected slots:
void _q_receiveReply();
void _q_bytesWritten(qint64 bytes); // proceed sending
diff --git a/src/network/access/qhttpnetworkheader.cpp b/src/network/access/qhttpnetworkheader.cpp
index 669f9cf..3eb2f3b 100644
--- a/src/network/access/qhttpnetworkheader.cpp
+++ b/src/network/access/qhttpnetworkheader.cpp
@@ -60,7 +60,17 @@ QHttpNetworkHeaderPrivate::QHttpNetworkHeaderPrivate(const QHttpNetworkHeaderPri
qint64 QHttpNetworkHeaderPrivate::contentLength() const
{
bool ok = false;
- QByteArray value = headerField("content-length");
+ // We are not using the headerField() method here because servers might send us multiple content-length
+ // headers which is crap (see QTBUG-15311). Therefore just take the first content-length header field.
+ QByteArray value;
+ QList<QPair<QByteArray, QByteArray> >::ConstIterator it = fields.constBegin(),
+ end = fields.constEnd();
+ for ( ; it != end; ++it)
+ if (qstricmp("content-length", it->first) == 0) {
+ value = it->second;
+ break;
+ }
+
qint64 length = value.toULongLong(&ok);
if (ok)
return length;
diff --git a/src/network/access/qhttpnetworkreply.cpp b/src/network/access/qhttpnetworkreply.cpp
index 108ba8a..21bc427 100644
--- a/src/network/access/qhttpnetworkreply.cpp
+++ b/src/network/access/qhttpnetworkreply.cpp
@@ -188,6 +188,12 @@ QByteArray QHttpNetworkReply::readAny()
return d->responseData.read();
}
+QByteArray QHttpNetworkReply::readAll()
+{
+ Q_D(QHttpNetworkReply);
+ return d->responseData.readAll();
+}
+
void QHttpNetworkReply::setDownstreamLimited(bool dsl)
{
Q_D(QHttpNetworkReply);
@@ -205,6 +211,11 @@ bool QHttpNetworkReply::isPipeliningUsed() const
return d_func()->pipeliningUsed;
}
+QHttpNetworkConnection* QHttpNetworkReply::connection()
+{
+ return d_func()->connection;
+}
+
QHttpNetworkReplyPrivate::QHttpNetworkReplyPrivate(const QUrl &newUrl)
: QHttpNetworkHeaderPrivate(newUrl), state(NothingDoneState), statusCode(100),
diff --git a/src/network/access/qhttpnetworkreply_p.h b/src/network/access/qhttpnetworkreply_p.h
index 4011c78..9cf805c 100644
--- a/src/network/access/qhttpnetworkreply_p.h
+++ b/src/network/access/qhttpnetworkreply_p.h
@@ -126,12 +126,15 @@ public:
qint64 bytesAvailable() const;
qint64 bytesAvailableNextBlock() const;
QByteArray readAny();
+ QByteArray readAll();
void setDownstreamLimited(bool t);
bool isFinished() const;
bool isPipeliningUsed() const;
+ QHttpNetworkConnection* connection();
+
#ifndef QT_NO_OPENSSL
QSslConfiguration sslConfiguration() const;
void setSslConfiguration(const QSslConfiguration &config);
@@ -149,7 +152,11 @@ Q_SIGNALS:
void headerChanged();
void dataReadProgress(int done, int total);
void dataSendProgress(qint64 done, qint64 total);
-
+ void cacheCredentials(const QHttpNetworkRequest &request, QAuthenticator *authenticator);
+#ifndef QT_NO_NETWORKPROXY
+ void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *authenticator);
+#endif
+ void authenticationRequired(const QHttpNetworkRequest &request, QAuthenticator *authenticator);
private:
Q_DECLARE_PRIVATE(QHttpNetworkReply)
friend class QHttpNetworkConnection;
diff --git a/src/network/access/qnetworkaccessbackend.cpp b/src/network/access/qnetworkaccessbackend.cpp
index 60f7dc6..12b6400 100644
--- a/src/network/access/qnetworkaccessbackend.cpp
+++ b/src/network/access/qnetworkaccessbackend.cpp
@@ -88,18 +88,6 @@ QNetworkAccessBackendFactory::~QNetworkAccessBackendFactory()
QNetworkAccessBackend *QNetworkAccessManagerPrivate::findBackend(QNetworkAccessManager::Operation op,
const QNetworkRequest &request)
{
- QNetworkRequest::CacheLoadControl mode =
- static_cast<QNetworkRequest::CacheLoadControl>(
- request.attribute(QNetworkRequest::CacheLoadControlAttribute,
- QNetworkRequest::PreferNetwork).toInt());
- if (mode == QNetworkRequest::AlwaysCache
- && (op == QNetworkAccessManager::GetOperation
- || op == QNetworkAccessManager::HeadOperation)) {
- QNetworkAccessBackend *backend = new QNetworkAccessCacheBackend;
- backend->manager = this;
- return backend;
- }
-
if (!factoryDataShutdown) {
QMutexLocker locker(&factoryData()->mutex);
QNetworkAccessBackendFactoryData::ConstIterator it = factoryData()->constBegin(),
@@ -154,6 +142,7 @@ void QNetworkAccessBackend::emitReplyUploadProgress(qint64 bytesSent, qint64 byt
QNetworkAccessBackend::QNetworkAccessBackend()
: manager(0)
, reply(0)
+ , synchronous(false)
{
}
@@ -329,7 +318,7 @@ void QNetworkAccessBackend::authenticationRequired(QAuthenticator *authenticator
void QNetworkAccessBackend::cacheCredentials(QAuthenticator *authenticator)
{
- manager->addCredentials(this->reply->url, authenticator);
+ manager->cacheCredentials(this->reply->url, authenticator);
}
void QNetworkAccessBackend::metaDataChanged()
diff --git a/src/network/access/qnetworkaccessbackend_p.h b/src/network/access/qnetworkaccessbackend_p.h
index 4fe6de6..c9ec37e 100644
--- a/src/network/access/qnetworkaccessbackend_p.h
+++ b/src/network/access/qnetworkaccessbackend_p.h
@@ -115,7 +115,6 @@ public:
virtual bool start();
#endif
virtual void closeDownstreamChannel() = 0;
- virtual bool waitForDownstreamReadyRead(int msecs) = 0;
// slot-like:
virtual void downstreamReadyWrite();
@@ -158,6 +157,9 @@ public:
QVariant attribute(QNetworkRequest::Attribute code) const;
void setAttribute(QNetworkRequest::Attribute code, const QVariant &value);
+ bool isSynchronous() { return synchronous; }
+ void setSynchronous(bool sync) { synchronous = sync; }
+
// return true if the QNonContiguousByteDevice of the upload
// data needs to support reset(). Currently needed for HTTP.
// This will possibly enable buffering of the upload data.
@@ -167,6 +169,8 @@ public:
virtual bool canResume() const { return false; }
virtual void setResumeOffset(quint64 offset) { Q_UNUSED(offset); }
+ virtual bool processRequestSynchronously() { return false; }
+
protected:
// Create the device used for reading the upload data
QNonContiguousByteDevice* createUploadByteDevice();
@@ -201,6 +205,7 @@ private:
friend class QNetworkReplyImplPrivate;
QNetworkAccessManagerPrivate *manager;
QNetworkReplyImplPrivate *reply;
+ bool synchronous;
};
class QNetworkAccessBackendFactory
diff --git a/src/network/access/qnetworkaccesscachebackend.cpp b/src/network/access/qnetworkaccesscachebackend.cpp
index 73491a9..e78694e 100644
--- a/src/network/access/qnetworkaccesscachebackend.cpp
+++ b/src/network/access/qnetworkaccesscachebackend.cpp
@@ -132,18 +132,6 @@ void QNetworkAccessCacheBackend::closeUpstreamChannel()
Q_ASSERT_X(false, Q_FUNC_INFO, "This function show not have been called!");
}
-bool QNetworkAccessCacheBackend::waitForDownstreamReadyRead(int)
-{
- Q_ASSERT_X(false, Q_FUNC_INFO , "This function show not have been called!");
- return false;
-}
-
-bool QNetworkAccessCacheBackend::waitForUpstreamBytesWritten(int)
-{
- Q_ASSERT_X(false, Q_FUNC_INFO, "This function show not have been called!");
- return false;
-}
-
void QNetworkAccessCacheBackend::upstreamReadyRead()
{
Q_ASSERT_X(false, Q_FUNC_INFO, "This function show not have been called!");
diff --git a/src/network/access/qnetworkaccesscachebackend_p.h b/src/network/access/qnetworkaccesscachebackend_p.h
index df001ab..32581d5 100644
--- a/src/network/access/qnetworkaccesscachebackend_p.h
+++ b/src/network/access/qnetworkaccesscachebackend_p.h
@@ -69,8 +69,6 @@ public:
void open();
void closeDownstreamChannel();
void closeUpstreamChannel();
- bool waitForDownstreamReadyRead(int msecs);
- bool waitForUpstreamBytesWritten(int msecs);
void upstreamReadyRead();
void downstreamReadyWrite();
diff --git a/src/network/access/qnetworkaccessdatabackend.cpp b/src/network/access/qnetworkaccessdatabackend.cpp
index efb6e3e..74aebdb 100644
--- a/src/network/access/qnetworkaccessdatabackend.cpp
+++ b/src/network/access/qnetworkaccessdatabackend.cpp
@@ -122,4 +122,10 @@ bool QNetworkAccessDataBackend::waitForUpstreamBytesWritten(int)
return false;
}
+bool QNetworkAccessDataBackend::processRequestSynchronously()
+{
+ start();
+ return true;
+}
+
QT_END_NAMESPACE
diff --git a/src/network/access/qnetworkaccessdatabackend_p.h b/src/network/access/qnetworkaccessdatabackend_p.h
index a7c63d5..0e5a494 100644
--- a/src/network/access/qnetworkaccessdatabackend_p.h
+++ b/src/network/access/qnetworkaccessdatabackend_p.h
@@ -68,6 +68,8 @@ public:
virtual void closeUpstreamChannel();
virtual bool waitForDownstreamReadyRead(int msecs);
virtual bool waitForUpstreamBytesWritten(int msecs);
+
+ virtual bool processRequestSynchronously();
};
class QNetworkAccessDataBackendFactory: public QNetworkAccessBackendFactory
diff --git a/src/network/access/qnetworkaccessdebugpipebackend.cpp b/src/network/access/qnetworkaccessdebugpipebackend.cpp
index cd077e7..5f99f84 100644
--- a/src/network/access/qnetworkaccessdebugpipebackend.cpp
+++ b/src/network/access/qnetworkaccessdebugpipebackend.cpp
@@ -278,12 +278,6 @@ void QNetworkAccessDebugPipeBackend::socketConnected()
{
}
-bool QNetworkAccessDebugPipeBackend::waitForDownstreamReadyRead(int ms)
-{
- Q_UNUSED(ms);
- qCritical("QNetworkAccess: Debug pipe backend does not support waitForReadyRead()");
- return false;
-}
#endif
diff --git a/src/network/access/qnetworkaccessdebugpipebackend_p.h b/src/network/access/qnetworkaccessdebugpipebackend_p.h
index 58a4fd0..918a813 100644
--- a/src/network/access/qnetworkaccessdebugpipebackend_p.h
+++ b/src/network/access/qnetworkaccessdebugpipebackend_p.h
@@ -71,7 +71,6 @@ public:
virtual void open();
virtual void closeDownstreamChannel();
- virtual bool waitForDownstreamReadyRead(int msecs);
virtual void downstreamReadyWrite();
diff --git a/src/network/access/qnetworkaccessfilebackend.cpp b/src/network/access/qnetworkaccessfilebackend.cpp
index 4560153..65f19ca 100644
--- a/src/network/access/qnetworkaccessfilebackend.cpp
+++ b/src/network/access/qnetworkaccessfilebackend.cpp
@@ -203,12 +203,6 @@ void QNetworkAccessFileBackend::closeDownstreamChannel()
}
}
-bool QNetworkAccessFileBackend::waitForDownstreamReadyRead(int)
-{
- Q_ASSERT(operation() == QNetworkAccessManager::GetOperation);
- return readMoreFromFile();
-}
-
void QNetworkAccessFileBackend::downstreamReadyWrite()
{
Q_ASSERT_X(operation() == QNetworkAccessManager::GetOperation, "QNetworkAccessFileBackend",
diff --git a/src/network/access/qnetworkaccessfilebackend_p.h b/src/network/access/qnetworkaccessfilebackend_p.h
index 6df8710..d1dbe8d 100644
--- a/src/network/access/qnetworkaccessfilebackend_p.h
+++ b/src/network/access/qnetworkaccessfilebackend_p.h
@@ -69,7 +69,6 @@ public:
virtual void open();
virtual void closeDownstreamChannel();
- virtual bool waitForDownstreamReadyRead(int msecs);
virtual void downstreamReadyWrite();
diff --git a/src/network/access/qnetworkaccessftpbackend.cpp b/src/network/access/qnetworkaccessftpbackend.cpp
index 1a59011..d1a18d3 100644
--- a/src/network/access/qnetworkaccessftpbackend.cpp
+++ b/src/network/access/qnetworkaccessftpbackend.cpp
@@ -182,23 +182,6 @@ void QNetworkAccessFtpBackend::closeDownstreamChannel()
#endif
}
-bool QNetworkAccessFtpBackend::waitForDownstreamReadyRead(int ms)
-{
- if (!ftp)
- return false;
-
- if (ftp->bytesAvailable()) {
- ftpReadyRead();
- return true;
- }
-
- if (ms == 0)
- return false;
-
- qCritical("QNetworkAccess: FTP backend does not support waitForReadyRead()");
- return false;
-}
-
void QNetworkAccessFtpBackend::downstreamReadyWrite()
{
if (state == Transferring && ftp && ftp->bytesAvailable())
diff --git a/src/network/access/qnetworkaccessftpbackend_p.h b/src/network/access/qnetworkaccessftpbackend_p.h
index 737fa72..8a2bfc3 100644
--- a/src/network/access/qnetworkaccessftpbackend_p.h
+++ b/src/network/access/qnetworkaccessftpbackend_p.h
@@ -87,7 +87,6 @@ public:
virtual void open();
virtual void closeDownstreamChannel();
- virtual bool waitForDownstreamReadyRead(int msecs);
virtual void downstreamReadyWrite();
diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp
index f617244..9df5d7b 100644
--- a/src/network/access/qnetworkaccesshttpbackend.cpp
+++ b/src/network/access/qnetworkaccesshttpbackend.cpp
@@ -50,6 +50,7 @@
#include "qnetworkrequest_p.h"
#include "qnetworkcookie_p.h"
#include "QtCore/qdatetime.h"
+#include "QtCore/qelapsedtimer.h"
#include "QtNetwork/qsslconfiguration.h"
#ifndef QT_NO_HTTP
@@ -318,7 +319,10 @@ void QNetworkAccessHttpBackend::disconnectFromHttp()
// Get the object cache that stores our QHttpNetworkConnection objects
QNetworkAccessCache *cache = QNetworkAccessManagerPrivate::getObjectCache(this);
- cache->releaseEntry(cacheKey);
+
+ // synchronous calls are not put into the cache, so for them the key is empty
+ if (!cacheKey.isEmpty())
+ cache->releaseEntry(cacheKey);
}
// This is abut disconnecting signals, not about disconnecting TCP connections
@@ -338,24 +342,6 @@ void QNetworkAccessHttpBackend::finished()
QNetworkAccessBackend::finished();
}
-void QNetworkAccessHttpBackend::setupConnection()
-{
-#ifndef QT_NO_NETWORKPROXY
- connect(http, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
- SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
-#endif
- connect(http, SIGNAL(authenticationRequired(QHttpNetworkRequest,QAuthenticator*)),
- SLOT(httpAuthenticationRequired(QHttpNetworkRequest,QAuthenticator*)));
- connect(http, SIGNAL(cacheCredentials(QHttpNetworkRequest,QAuthenticator*)),
- SLOT(httpCacheCredentials(QHttpNetworkRequest,QAuthenticator*)));
- connect(http, SIGNAL(error(QNetworkReply::NetworkError,QString)),
- SLOT(httpError(QNetworkReply::NetworkError,QString)));
-#ifndef QT_NO_OPENSSL
- connect(http, SIGNAL(sslErrors(QList<QSslError>)),
- SLOT(sslErrors(QList<QSslError>)));
-#endif
-}
-
/*
For a given httpRequest
1) If AlwaysNetwork, return
@@ -593,6 +579,8 @@ void QNetworkAccessHttpBackend::postRequest()
if (pendingIgnoreAllSslErrors)
httpReply->ignoreSslErrors();
httpReply->ignoreSslErrors(pendingIgnoreSslErrorsList);
+ connect(httpReply, SIGNAL(sslErrors(QList<QSslError>)),
+ SLOT(sslErrors(QList<QSslError>)));
#endif
connect(httpReply, SIGNAL(readyRead()), SLOT(replyReadyRead()));
@@ -600,6 +588,14 @@ void QNetworkAccessHttpBackend::postRequest()
connect(httpReply, SIGNAL(finishedWithError(QNetworkReply::NetworkError,QString)),
SLOT(httpError(QNetworkReply::NetworkError,QString)));
connect(httpReply, SIGNAL(headerChanged()), SLOT(replyHeaderChanged()));
+ connect(httpReply, SIGNAL(cacheCredentials(QHttpNetworkRequest,QAuthenticator*)),
+ SLOT(httpCacheCredentials(QHttpNetworkRequest,QAuthenticator*)));
+#ifndef QT_NO_NETWORKPROXY
+ connect(httpReply, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)),
+ SLOT(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)));
+#endif
+ connect(httpReply, SIGNAL(authenticationRequired(const QHttpNetworkRequest,QAuthenticator*)),
+ SLOT(httpAuthenticationRequired(const QHttpNetworkRequest,QAuthenticator*)));
}
void QNetworkAccessHttpBackend::invalidateCache()
@@ -647,35 +643,49 @@ void QNetworkAccessHttpBackend::open()
if (transparentProxy.type() == QNetworkProxy::DefaultProxy &&
cacheProxy.type() == QNetworkProxy::DefaultProxy) {
// unsuitable proxies
- QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,
- Q_ARG(QNetworkReply::NetworkError, QNetworkReply::ProxyNotFoundError),
- Q_ARG(QString, tr("No suitable proxy found")));
- QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);
- return;
+ if (isSynchronous()) {
+ error(QNetworkReply::ProxyNotFoundError, tr("No suitable proxy found"));
+ finished();
+ } else {
+ QMetaObject::invokeMethod(this, "error", Qt::QueuedConnection,
+ Q_ARG(QNetworkReply::NetworkError, QNetworkReply::ProxyNotFoundError),
+ Q_ARG(QString, tr("No suitable proxy found")));
+ QMetaObject::invokeMethod(this, "finished", Qt::QueuedConnection);
+ }
+ return;
}
#endif
- // check if we have an open connection to this host
- cacheKey = makeCacheKey(this, theProxy);
- QNetworkAccessCache *cache = QNetworkAccessManagerPrivate::getObjectCache(this);
- // the http object is actually a QHttpNetworkConnection
- http = static_cast<QNetworkAccessCachedHttpConnection *>(cache->requestEntryNow(cacheKey));
- if (http == 0) {
- // no entry in cache; create an object
- // the http object is actually a QHttpNetworkConnection
- http = new QNetworkAccessCachedHttpConnection(url.host(), url.port(), encrypt);
-
+ if (isSynchronous()) {
+ // for synchronous requests, we just create a new connection
+ http = new QHttpNetworkConnection(1, url.host(), url.port(), encrypt, this);
#ifndef QT_NO_NETWORKPROXY
http->setTransparentProxy(transparentProxy);
http->setCacheProxy(cacheProxy);
#endif
+ postRequest();
+ processRequestSynchronously();
+ } else {
+ // check if we have an open connection to this host
+ cacheKey = makeCacheKey(this, theProxy);
+ QNetworkAccessCache *cache = QNetworkAccessManagerPrivate::getObjectCache(this);
+ // the http object is actually a QHttpNetworkConnection
+ http = static_cast<QNetworkAccessCachedHttpConnection *>(cache->requestEntryNow(cacheKey));
+ if (http == 0) {
+ // no entry in cache; create an object
+ // the http object is actually a QHttpNetworkConnection
+ http = new QNetworkAccessCachedHttpConnection(url.host(), url.port(), encrypt);
- // cache the QHttpNetworkConnection corresponding to this cache key
- cache->addEntry(cacheKey, http);
- }
+#ifndef QT_NO_NETWORKPROXY
+ http->setTransparentProxy(transparentProxy);
+ http->setCacheProxy(cacheProxy);
+#endif
- setupConnection();
- postRequest();
+ // cache the QHttpNetworkConnection corresponding to this cache key
+ cache->addEntry(cacheKey, static_cast<QNetworkAccessCachedHttpConnection *>(http.data()));
+ }
+ postRequest();
+ }
}
void QNetworkAccessHttpBackend::closeDownstreamChannel()
@@ -683,26 +693,6 @@ void QNetworkAccessHttpBackend::closeDownstreamChannel()
// this indicates that the user closed the stream while the reply isn't finished yet
}
-bool QNetworkAccessHttpBackend::waitForDownstreamReadyRead(int msecs)
-{
- Q_ASSERT(http);
-
- if (httpReply->bytesAvailable()) {
- readFromHttp();
- return true;
- }
-
- if (msecs == 0) {
- // no bytes available in the socket and no waiting
- return false;
- }
-
- // ### FIXME
- qCritical("QNetworkAccess: HTTP backend does not support waitForReadyRead()");
- return false;
-}
-
-
void QNetworkAccessHttpBackend::downstreamReadyWrite()
{
readFromHttp();
@@ -880,29 +870,6 @@ void QNetworkAccessHttpBackend::httpError(QNetworkReply::NetworkError errorCode,
#if defined(QNETWORKACCESSHTTPBACKEND_DEBUG)
qDebug() << "http error!" << errorCode << errorString;
#endif
-#if 0
- static const QNetworkReply::NetworkError conversionTable[] = {
- QNetworkReply::ConnectionRefusedError,
- QNetworkReply::RemoteHostClosedError,
- QNetworkReply::HostNotFoundError,
- QNetworkReply::UnknownNetworkError, // SocketAccessError
- QNetworkReply::UnknownNetworkError, // SocketResourceError
- QNetworkReply::TimeoutError, // SocketTimeoutError
- QNetworkReply::UnknownNetworkError, // DatagramTooLargeError
- QNetworkReply::UnknownNetworkError, // NetworkError
- QNetworkReply::UnknownNetworkError, // AddressInUseError
- QNetworkReply::UnknownNetworkError, // SocketAddressNotAvailableError
- QNetworkReply::UnknownNetworkError, // UnsupportedSocketOperationError
- QNetworkReply::UnknownNetworkError, // UnfinishedSocketOperationError
- QNetworkReply::ProxyAuthenticationRequiredError
- };
- QNetworkReply::NetworkError code;
- if (int(errorCode) >= 0 &&
- uint(errorCode) < (sizeof conversionTable / sizeof conversionTable[0]))
- code = conversionTable[errorCode];
- else
- code = QNetworkReply::UnknownNetworkError;
-#endif
error(errorCode, errorString);
finished();
}
@@ -1177,6 +1144,87 @@ void QNetworkAccessHttpBackend::setResumeOffset(quint64 offset)
resumeOffset = offset;
}
+bool QNetworkAccessHttpBackend::processRequestSynchronously()
+{
+ QHttpNetworkConnectionChannel *channel = &http->channels()[0];
+
+ // Disconnect all socket signals. They will only confuse us when using waitFor*
+ QObject::disconnect(channel->socket, 0, 0, 0);
+
+ qint64 timeout = 20*1000; // 20 sec
+ QElapsedTimer timeoutTimer;
+
+ bool waitResult = channel->socket->waitForConnected(timeout);
+ timeoutTimer.start();
+
+ if (!waitResult || channel->socket->state() != QAbstractSocket::ConnectedState) {
+ error(QNetworkReply::UnknownNetworkError, QLatin1String("could not connect"));
+ return false;
+ }
+ channel->_q_connected(); // this will send the request (via sendRequest())
+
+#ifndef QT_NO_OPENSSL
+ if (http->isSsl()) {
+ qint64 remainingTimeEncrypted = timeout - timeoutTimer.elapsed();
+ if (!static_cast<QSslSocket *>(channel->socket)->waitForEncrypted(remainingTimeEncrypted)) {
+ error(QNetworkReply::SslHandshakeFailedError,
+ QLatin1String("could not encrypt or timeout while encrypting"));
+ return false;
+ }
+ channel->_q_encrypted();
+ }
+#endif
+
+ // if we get a 401 or 407, we might need to send the request twice, see below
+ bool authenticating = false;
+
+ do {
+ channel->sendRequest();
+
+ qint64 remainingTimeBytesWritten;
+ while(channel->socket->bytesToWrite() > 0 ||
+ channel->state == QHttpNetworkConnectionChannel::WritingState) {
+ remainingTimeBytesWritten = timeout - timeoutTimer.elapsed();
+ channel->sendRequest(); // triggers channel->socket->write()
+ if (!channel->socket->waitForBytesWritten(remainingTimeBytesWritten)) {
+ error(QNetworkReply::TimeoutError,
+ QLatin1String("could not write bytes to socket or timeout while writing"));
+ return false;
+ }
+ }
+
+ qint64 remainingTimeBytesRead = timeout - timeoutTimer.elapsed();
+ // Loop for at most remainingTime until either the socket disconnects
+ // or the reply is finished
+ do {
+ waitResult = channel->socket->waitForReadyRead(remainingTimeBytesRead);
+ remainingTimeBytesRead = timeout - timeoutTimer.elapsed();
+ if (!waitResult || remainingTimeBytesRead <= 0
+ || channel->socket->state() != QAbstractSocket::ConnectedState) {
+ error(QNetworkReply::TimeoutError,
+ QLatin1String("could not read from socket or timeout while reading"));
+ return false;
+ }
+
+ if (channel->socket->bytesAvailable())
+ channel->_q_readyRead();
+
+ if (!httpReply)
+ return false; // we got a 401 or 407 and cannot handle it (it might happen that
+ // disconnectFromHttp() was called, in that case the reply is zero)
+ // ### I am quite sure this does not work for NTLM
+ // ### how about uploading to an auth / proxyAuth site?
+
+ authenticating = (httpReply->statusCode() == 401 || httpReply->statusCode() == 407);
+
+ if (httpReply->isFinished())
+ break;
+ } while (remainingTimeBytesRead > 0);
+ } while (authenticating);
+
+ return true;
+}
+
QT_END_NAMESPACE
#endif // QT_NO_HTTP
diff --git a/src/network/access/qnetworkaccesshttpbackend_p.h b/src/network/access/qnetworkaccesshttpbackend_p.h
index c4c88ae..cc2f9ac 100644
--- a/src/network/access/qnetworkaccesshttpbackend_p.h
+++ b/src/network/access/qnetworkaccesshttpbackend_p.h
@@ -79,7 +79,6 @@ public:
virtual void open();
virtual void closeDownstreamChannel();
- virtual bool waitForDownstreamReadyRead(int msecs);
virtual void downstreamReadyWrite();
virtual void setDownstreamLimited(bool b);
@@ -100,6 +99,8 @@ public:
bool canResume() const;
void setResumeOffset(quint64 offset);
+ virtual bool processRequestSynchronously();
+
private slots:
void replyReadyRead();
void replyFinished();
@@ -112,7 +113,7 @@ private slots:
private:
QHttpNetworkReply *httpReply;
- QPointer<QNetworkAccessCachedHttpConnection> http;
+ QPointer<QHttpNetworkConnection> http;
QByteArray cacheKey;
QNetworkAccessBackendUploadIODevice *uploadDevice;
@@ -125,7 +126,6 @@ private:
quint64 resumeOffset;
void disconnectFromHttp();
- void setupConnection();
void validateCache(QHttpNetworkRequest &httpRequest, bool &loadedFromCache);
void invalidateCache();
void postRequest();
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index a637474..4bc036e 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -54,6 +54,7 @@
#include "qnetworkaccessfilebackend_p.h"
#include "qnetworkaccessdatabackend_p.h"
#include "qnetworkaccessdebugpipebackend_p.h"
+#include "qnetworkaccesscachebackend_p.h"
#include "qfilenetworkreply_p.h"
#include "QtCore/qbuffer.h"
@@ -944,6 +945,22 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
{
Q_D(QNetworkAccessManager);
+ // 4.7 only hotfix fast path for data:// URLs
+ // In 4.8 this is solved with QNetworkReplyDataImpl and will work there
+ // This hotfix is done for not needing a QNetworkSession for data://
+ if ((op == QNetworkAccessManager::GetOperation || op == QNetworkAccessManager::HeadOperation)
+ && (req.url().scheme() == QLatin1String("data"))) {
+ QNetworkReplyImpl *reply = new QNetworkReplyImpl(this);
+ QNetworkReplyImplPrivate *priv = reply->d_func();
+ priv->manager = this;
+ priv->backend = new QNetworkAccessDataBackend();
+ priv->backend->manager = this->d_func();
+ priv->backend->setParent(reply);
+ priv->backend->reply = priv;
+ priv->setup(op, req, outgoingData);
+ return reply;
+ }
+
// fast path for GET on file:// URLs
// Also if the scheme is empty we consider it a file.
// The QNetworkAccessFileBackend will right now only be used for PUT
@@ -954,6 +971,26 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
return new QFileNetworkReply(this, req, op);
}
+ // A request with QNetworkRequest::AlwaysCache does not need any bearer management
+ QNetworkRequest::CacheLoadControl mode =
+ static_cast<QNetworkRequest::CacheLoadControl>(
+ req.attribute(QNetworkRequest::CacheLoadControlAttribute,
+ QNetworkRequest::PreferNetwork).toInt());
+ if (mode == QNetworkRequest::AlwaysCache
+ && (op == QNetworkAccessManager::GetOperation
+ || op == QNetworkAccessManager::HeadOperation)) {
+ // FIXME Implement a QNetworkReplyCacheImpl instead, see QTBUG-15106
+ QNetworkReplyImpl *reply = new QNetworkReplyImpl(this);
+ QNetworkReplyImplPrivate *priv = reply->d_func();
+ priv->manager = this;
+ priv->backend = new QNetworkAccessCacheBackend();
+ priv->backend->manager = this->d_func();
+ priv->backend->setParent(reply);
+ priv->backend->reply = priv;
+ priv->setup(op, req, outgoingData);
+ return reply;
+ }
+
#ifndef QT_NO_BEARERMANAGEMENT
// Return a disabled network reply if network access is disabled.
// Except if the scheme is empty or file://.
@@ -1009,16 +1046,8 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
priv->manager = this;
// second step: fetch cached credentials
- if (static_cast<QNetworkRequest::LoadControl>
- (request.attribute(QNetworkRequest::AuthenticationReuseAttribute,
- QNetworkRequest::Automatic).toInt()) == QNetworkRequest::Automatic) {
- QNetworkAuthenticationCredential *cred = d->fetchCachedCredentials(url);
- if (cred) {
- url.setUserName(cred->user);
- url.setPassword(cred->password);
- priv->urlForLastAuthentication = url;
- }
- }
+ // This is not done for the time being, we should use signal emissions to request
+ // the credentials from cache.
// third step: find a backend
priv->backend = d->findBackend(op, request);
@@ -1031,12 +1060,14 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
priv->backend->setParent(reply);
priv->backend->reply = priv;
}
- // fourth step: setup the reply
- priv->setup(op, request, outgoingData);
#ifndef QT_NO_OPENSSL
reply->setSslConfiguration(request.sslConfiguration());
#endif
+
+ // fourth step: setup the reply
+ priv->setup(op, request, outgoingData);
+
return reply;
}
@@ -1100,7 +1131,9 @@ void QNetworkAccessManagerPrivate::authenticationRequired(QNetworkAccessBackend
// don't try the cache for the same URL twice in a row
// being called twice for the same URL means the authentication failed
- if (url != backend->reply->urlForLastAuthentication) {
+ // also called when last URL is empty, e.g. on first call
+ if (backend->reply->urlForLastAuthentication.isEmpty()
+ || url != backend->reply->urlForLastAuthentication) {
QNetworkAuthenticationCredential *cred = fetchCachedCredentials(url, authenticator);
if (cred) {
authenticator->setUser(cred->user);
@@ -1110,9 +1143,14 @@ void QNetworkAccessManagerPrivate::authenticationRequired(QNetworkAccessBackend
}
}
+ // if we emit a signal here in synchronous mode, the user might spin
+ // an event loop, which might recurse and lead to problems
+ if (backend->isSynchronous())
+ return;
+
backend->reply->urlForLastAuthentication = url;
emit q->authenticationRequired(backend->reply->q_func(), authenticator);
- addCredentials(url, authenticator);
+ cacheCredentials(url, authenticator);
}
#ifndef QT_NO_NETWORKPROXY
@@ -1129,7 +1167,7 @@ void QNetworkAccessManagerPrivate::proxyAuthenticationRequired(QNetworkAccessBac
// possible solution: some tracking inside the authenticator
// or a new function proxyAuthenticationSucceeded(true|false)
if (proxy != backend->reply->lastProxyAuthentication) {
- QNetworkAuthenticationCredential *cred = fetchCachedCredentials(proxy);
+ QNetworkAuthenticationCredential *cred = fetchCachedProxyCredentials(proxy);
if (cred) {
authenticator->setUser(cred->user);
authenticator->setPassword(cred->password);
@@ -1137,12 +1175,17 @@ void QNetworkAccessManagerPrivate::proxyAuthenticationRequired(QNetworkAccessBac
}
}
+ // if we emit a signal here in synchronous mode, the user might spin
+ // an event loop, which might recurse and lead to problems
+ if (backend->isSynchronous())
+ return;
+
backend->reply->lastProxyAuthentication = proxy;
emit q->proxyAuthenticationRequired(proxy, authenticator);
- addCredentials(proxy, authenticator);
+ cacheProxyCredentials(proxy, authenticator);
}
-void QNetworkAccessManagerPrivate::addCredentials(const QNetworkProxy &p,
+void QNetworkAccessManagerPrivate::cacheProxyCredentials(const QNetworkProxy &p,
const QAuthenticator *authenticator)
{
Q_ASSERT(authenticator);
@@ -1179,7 +1222,7 @@ void QNetworkAccessManagerPrivate::addCredentials(const QNetworkProxy &p,
}
QNetworkAuthenticationCredential *
-QNetworkAccessManagerPrivate::fetchCachedCredentials(const QNetworkProxy &p,
+QNetworkAccessManagerPrivate::fetchCachedProxyCredentials(const QNetworkProxy &p,
const QAuthenticator *authenticator)
{
QNetworkProxy proxy = p;
@@ -1231,7 +1274,7 @@ QList<QNetworkProxy> QNetworkAccessManagerPrivate::queryProxy(const QNetworkProx
}
#endif
-void QNetworkAccessManagerPrivate::addCredentials(const QUrl &url,
+void QNetworkAccessManagerPrivate::cacheCredentials(const QUrl &url,
const QAuthenticator *authenticator)
{
Q_ASSERT(authenticator);
diff --git a/src/network/access/qnetworkaccessmanager_p.h b/src/network/access/qnetworkaccessmanager_p.h
index 695842c..2c6ee10 100644
--- a/src/network/access/qnetworkaccessmanager_p.h
+++ b/src/network/access/qnetworkaccessmanager_p.h
@@ -91,15 +91,15 @@ public:
void createCookieJar() const;
void authenticationRequired(QNetworkAccessBackend *backend, QAuthenticator *authenticator);
- void addCredentials(const QUrl &url, const QAuthenticator *auth);
+ void cacheCredentials(const QUrl &url, const QAuthenticator *auth);
QNetworkAuthenticationCredential *fetchCachedCredentials(const QUrl &url,
const QAuthenticator *auth = 0);
#ifndef QT_NO_NETWORKPROXY
void proxyAuthenticationRequired(QNetworkAccessBackend *backend, const QNetworkProxy &proxy,
QAuthenticator *authenticator);
- void addCredentials(const QNetworkProxy &proxy, const QAuthenticator *auth);
- QNetworkAuthenticationCredential *fetchCachedCredentials(const QNetworkProxy &proxy,
+ void cacheProxyCredentials(const QNetworkProxy &proxy, const QAuthenticator *auth);
+ QNetworkAuthenticationCredential *fetchCachedProxyCredentials(const QNetworkProxy &proxy,
const QAuthenticator *auth = 0);
QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query);
#endif
diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp
index 5850494..cf6e674 100644
--- a/src/network/access/qnetworkreplyimpl.cpp
+++ b/src/network/access/qnetworkreplyimpl.cpp
@@ -85,7 +85,7 @@ void QNetworkReplyImplPrivate::_q_startOperation()
}
#ifndef QT_NO_BEARERMANAGEMENT
- if (!backend->start()) {
+ if (!backend->start()) { // ### we should call that method even if bearer is not used
// backend failed to start because the session state is not Connected.
// QNetworkAccessManager will call reply->backend->start() again for us when the session
// state changes.
@@ -109,11 +109,15 @@ void QNetworkReplyImplPrivate::_q_startOperation()
}
#endif
- if (state != Finished) {
- if (operation == QNetworkAccessManager::GetOperation)
- pendingNotifications.append(NotifyDownstreamReadyWrite);
+ if (backend->isSynchronous()) {
+ state = Finished;
+ } else {
+ if (state != Finished) {
+ if (operation == QNetworkAccessManager::GetOperation)
+ pendingNotifications.append(NotifyDownstreamReadyWrite);
- handleNotifications();
+ handleNotifications();
+ }
}
}
@@ -287,7 +291,25 @@ void QNetworkReplyImplPrivate::setup(QNetworkAccessManager::Operation op, const
url = request.url();
operation = op;
- if (outgoingData && backend) {
+ q->QIODevice::open(QIODevice::ReadOnly);
+ // Internal code that does a HTTP reply for the synchronous Ajax
+ // in QtWebKit.
+ QVariant synchronousHttpAttribute = req.attribute(
+ static_cast<QNetworkRequest::Attribute>(QNetworkRequest::DownloadBufferAttribute + 1));
+ if (synchronousHttpAttribute.toBool()) {
+ backend->setSynchronous(true);
+ if (outgoingData && outgoingData->isSequential()) {
+ outgoingDataBuffer = new QRingBuffer();
+ QByteArray data;
+ do {
+ data = outgoingData->readAll();
+ if (data.isEmpty())
+ break;
+ outgoingDataBuffer->append(data);
+ } while (1);
+ }
+ }
+ if (outgoingData && backend && !backend->isSynchronous()) {
// there is data to be uploaded, e.g. HTTP POST.
if (!backend->needsResetableUploadData() || !outgoingData->isSequential()) {
@@ -298,7 +320,7 @@ void QNetworkReplyImplPrivate::setup(QNetworkAccessManager::Operation op, const
} else {
bool bufferingDisallowed =
req.attribute(QNetworkRequest::DoNotBufferUploadDataAttribute,
- false).toBool();
+ false).toBool();
if (bufferingDisallowed) {
// if a valid content-length header for the request was supplied, we can disable buffering
@@ -323,17 +345,18 @@ void QNetworkReplyImplPrivate::setup(QNetworkAccessManager::Operation op, const
// for HTTP, we want to send out the request as fast as possible to the network, without
// invoking methods in a QueuedConnection
#ifndef QT_NO_HTTP
- if (qobject_cast<QNetworkAccessHttpBackend *>(backend)) {
+ if (qobject_cast<QNetworkAccessHttpBackend *>(backend) || (backend && backend->isSynchronous())) {
_q_startOperation();
} else {
QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection);
}
#else
- QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection);
+ if (backend->isSynchronous())
+ _q_startOperation();
+ else
+ QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection);
#endif // QT_NO_HTTP
- }
-
- q->QIODevice::open(QIODevice::ReadOnly);
+ }
}
void QNetworkReplyImplPrivate::backendNotify(InternalNotifications notification)
diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp
index d3084cf..162392d 100644
--- a/src/network/access/qnetworkrequest.cpp
+++ b/src/network/access/qnetworkrequest.cpp
@@ -194,16 +194,12 @@ QT_BEGIN_NAMESPACE
\value CookieLoadControlAttribute
Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic)
Indicates whether to send 'Cookie' headers in the request.
-
This attribute is set to false by QtWebKit when creating a cross-origin
XMLHttpRequest where withCredentials has not been set explicitly to true by the
Javascript that created the request.
-
See \l{http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag}{here} for more information.
-
(This value was introduced in 4.7.)
-
\value CookieSaveControlAttribute
Requests only, type: QVariant::Int (default: QNetworkRequest::Automatic)
Indicates whether to save 'Cookie' headers received from the server in reply
@@ -211,9 +207,7 @@ QT_BEGIN_NAMESPACE
This attribute is set to false by QtWebKit when creating a cross-origin
XMLHttpRequest where withCredentials has not been set explicitly to true by the
Javascript that created the request.
-
See \l{http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag} {here} for more information.
-
(This value was introduced in 4.7.)
\value AuthenticationReuseAttribute
@@ -225,16 +219,12 @@ QT_BEGIN_NAMESPACE
This attribute is set to QNetworkRequest::Manual by QtWebKit when creating a cross-origin
XMLHttpRequest where withCredentials has not been set explicitly to true by the
Javascript that created the request.
-
See \l{http://www.w3.org/TR/XMLHttpRequest2/#credentials-flag} {here} for more information.
-
(This value was introduced in 4.7.)
\omitvalue MaximumDownloadBufferSizeAttribute
- (This value was introduced in 4.7.)
\omitvalue DownloadBufferAttribute
- (This value was introduced in 4.7.)
\value User
Special type. Additional information can be passed in
@@ -909,10 +899,16 @@ void QNetworkHeadersPrivate::parseAndSetHeader(const QByteArray &key, const QByt
// is it a known header?
QNetworkRequest::KnownHeaders parsedKey = parseHeaderName(key);
if (parsedKey != QNetworkRequest::KnownHeaders(-1)) {
- if (value.isNull())
+ if (value.isNull()) {
cookedHeaders.remove(parsedKey);
- else
+ } else if (parsedKey == QNetworkRequest::ContentLengthHeader
+ && cookedHeaders.contains(QNetworkRequest::ContentLengthHeader)) {
+ // Only set the cooked header "Content-Length" once.
+ // See bug QTBUG-15311
+ } else {
cookedHeaders.insert(parsedKey, parseHeaderValue(parsedKey, value));
+ }
+
}
}
diff --git a/src/network/access/qnetworkrequest.h b/src/network/access/qnetworkrequest.h
index cdadf0f..9bcc900 100644
--- a/src/network/access/qnetworkrequest.h
+++ b/src/network/access/qnetworkrequest.h
@@ -85,6 +85,9 @@ public:
MaximumDownloadBufferSizeAttribute, // internal
DownloadBufferAttribute, // internal
+ // (DownloadBufferAttribute + 1) is reserved internal for QSynchronousHttpNetworkReply
+ // add the enum in 4.8
+
User = 1000,
UserMax = 32767
};
diff --git a/src/network/bearer/qnetworkconfigmanager.cpp b/src/network/bearer/qnetworkconfigmanager.cpp
index 23d7800..4c149a2 100644
--- a/src/network/bearer/qnetworkconfigmanager.cpp
+++ b/src/network/bearer/qnetworkconfigmanager.cpp
@@ -229,8 +229,8 @@ QNetworkConfigurationManager::QNetworkConfigurationManager( QObject* parent )
QNetworkConfigurationManager::~QNetworkConfigurationManager()
{
QNetworkConfigurationManagerPrivate *priv = connManager();
-
- priv->disablePolling();
+ if (priv)
+ priv->disablePolling();
}
@@ -245,7 +245,11 @@ QNetworkConfigurationManager::~QNetworkConfigurationManager()
*/
QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const
{
- return connManager()->defaultConfiguration();
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+ if (priv)
+ return priv->defaultConfiguration();
+
+ return QNetworkConfiguration();
}
/*!
@@ -275,7 +279,11 @@ QNetworkConfiguration QNetworkConfigurationManager::defaultConfiguration() const
*/
QList<QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(QNetworkConfiguration::StateFlags filter) const
{
- return connManager()->allConfigurations(filter);
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+ if (priv)
+ return priv->allConfigurations(filter);
+
+ return QList<QNetworkConfiguration>();
}
/*!
@@ -286,7 +294,11 @@ QList<QNetworkConfiguration> QNetworkConfigurationManager::allConfigurations(QNe
*/
QNetworkConfiguration QNetworkConfigurationManager::configurationFromIdentifier(const QString &identifier) const
{
- return connManager()->configurationFromIdentifier(identifier);
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+ if (priv)
+ return priv->configurationFromIdentifier(identifier);
+
+ return QNetworkConfiguration();
}
/*!
@@ -301,7 +313,11 @@ QNetworkConfiguration QNetworkConfigurationManager::configurationFromIdentifier(
*/
bool QNetworkConfigurationManager::isOnline() const
{
- return connManager()->isOnline();
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+ if (priv)
+ return priv->isOnline();
+
+ return false;
}
/*!
@@ -309,7 +325,11 @@ bool QNetworkConfigurationManager::isOnline() const
*/
QNetworkConfigurationManager::Capabilities QNetworkConfigurationManager::capabilities() const
{
- return connManager()->capabilities();
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+ if (priv)
+ return priv->capabilities();
+
+ return QNetworkConfigurationManager::Capabilities(0);
}
/*!
@@ -328,7 +348,9 @@ QNetworkConfigurationManager::Capabilities QNetworkConfigurationManager::capabil
*/
void QNetworkConfigurationManager::updateConfigurations()
{
- connManager()->performAsyncConfigurationUpdate();
+ QNetworkConfigurationManagerPrivate *priv = connManager();
+ if (priv)
+ priv->performAsyncConfigurationUpdate();
}
#include "moc_qnetworkconfigmanager.cpp"
diff --git a/src/network/kernel/qauthenticator.cpp b/src/network/kernel/qauthenticator.cpp
index f97d833..73f6b94 100644
--- a/src/network/kernel/qauthenticator.cpp
+++ b/src/network/kernel/qauthenticator.cpp
@@ -164,9 +164,13 @@ QAuthenticator &QAuthenticator::operator=(const QAuthenticator &other)
{
if (d == other.d)
return *this;
- detach();
- d->user = other.d->user;
- d->password = other.d->password;
+
+ if (d && !d->ref.deref())
+ delete d;
+
+ d = other.d;
+ if (d)
+ d->ref.ref();
return *this;
}
@@ -232,19 +236,21 @@ void QAuthenticator::setUser(const QString &user)
//domain name is present
d->realm.clear();
d->userDomain = user.left(separatorPosn);
- d->user = user.mid(separatorPosn + 1);
+ d->extractedUser = user.mid(separatorPosn + 1);
+ d->user = user;
} else if((separatorPosn = user.indexOf(QLatin1String("@"))) != -1) {
//domain name is present
d->realm.clear();
d->userDomain = user.left(separatorPosn);
- d->user = user.left(separatorPosn);
+ d->extractedUser = user.left(separatorPosn);
+ d->user = user;
} else {
+ d->extractedUser = user;
d->user = user;
d->realm.clear();
d->userDomain.clear();
}
break;
- // For other auth mechanisms, domain name will be part of username
default:
d->user = user;
break;
@@ -1196,7 +1202,7 @@ static QByteArray qCreatev2Hash(const QAuthenticatorPrivate *ctx,
Q_ASSERT(hashKey.size() == 16);
// Assuming the user and domain is always unicode in challenge
QByteArray message =
- qStringAsUcs2Le(ctx->user.toUpper()) +
+ qStringAsUcs2Le(ctx->extractedUser.toUpper()) +
qStringAsUcs2Le(phase3->domainStr);
phase3->v2Hash = qEncodeHmacMd5(hashKey, message);
@@ -1401,8 +1407,8 @@ static QByteArray qNtlmPhase3(QAuthenticatorPrivate *ctx, const QByteArray& phas
pb.domainStr = ctx->userDomain;
}
- offset = qEncodeNtlmString(pb.user, offset, ctx->user, unicode);
- pb.userStr = ctx->user;
+ offset = qEncodeNtlmString(pb.user, offset, ctx->extractedUser, unicode);
+ pb.userStr = ctx->extractedUser;
offset = qEncodeNtlmString(pb.workstation, offset, ctx->workstation, unicode);
pb.workstationStr = ctx->workstation;
diff --git a/src/network/kernel/qauthenticator_p.h b/src/network/kernel/qauthenticator_p.h
index 4e09360..9f2e607 100644
--- a/src/network/kernel/qauthenticator_p.h
+++ b/src/network/kernel/qauthenticator_p.h
@@ -71,6 +71,7 @@ public:
QAtomicInt ref;
QString user;
+ QString extractedUser;
QString password;
QVariantHash options;
Method method;
diff --git a/src/network/kernel/qnetworkproxy.cpp b/src/network/kernel/qnetworkproxy.cpp
index bc5a025..84f9517 100644
--- a/src/network/kernel/qnetworkproxy.cpp
+++ b/src/network/kernel/qnetworkproxy.cpp
@@ -426,7 +426,8 @@ template<> void QSharedDataPointer<QNetworkProxyPrivate>::detach()
QNetworkProxy::QNetworkProxy()
: d(0)
{
- globalNetworkProxy()->init();
+ if (QGlobalNetworkProxy *globalProxy = globalNetworkProxy())
+ globalProxy->init();
}
/*!
@@ -441,7 +442,8 @@ QNetworkProxy::QNetworkProxy(ProxyType type, const QString &hostName, quint16 po
const QString &user, const QString &password)
: d(new QNetworkProxyPrivate(type, hostName, port, user, password))
{
- globalNetworkProxy()->init();
+ if (QGlobalNetworkProxy *globalProxy = globalNetworkProxy())
+ globalProxy->init();
}
/*!
diff --git a/src/network/socket/qabstractsocket.cpp b/src/network/socket/qabstractsocket.cpp
index 505db71..f03d102 100644
--- a/src/network/socket/qabstractsocket.cpp
+++ b/src/network/socket/qabstractsocket.cpp
@@ -1212,6 +1212,36 @@ void QAbstractSocketPrivate::fetchConnectionParameters()
#endif
}
+
+void QAbstractSocketPrivate::pauseSocketNotifiers(QAbstractSocket *socket)
+{
+ QAbstractSocketEngine *socketEngine = socket->d_func()->socketEngine;
+ if (!socketEngine)
+ return;
+ socket->d_func()->prePauseReadSocketNotifierState = socketEngine->isReadNotificationEnabled();
+ socket->d_func()->prePauseWriteSocketNotifierState = socketEngine->isWriteNotificationEnabled();
+ socket->d_func()->prePauseExceptionSocketNotifierState = socketEngine->isExceptionNotificationEnabled();
+ socketEngine->setReadNotificationEnabled(false);
+ socketEngine->setWriteNotificationEnabled(false);
+ socketEngine->setExceptionNotificationEnabled(false);
+}
+
+void QAbstractSocketPrivate::resumeSocketNotifiers(QAbstractSocket *socket)
+{
+ QAbstractSocketEngine *socketEngine = socket->d_func()->socketEngine;
+ if (!socketEngine)
+ return;
+ socketEngine->setReadNotificationEnabled(socket->d_func()->prePauseReadSocketNotifierState);
+ socketEngine->setWriteNotificationEnabled(socket->d_func()->prePauseWriteSocketNotifierState);
+ socketEngine->setExceptionNotificationEnabled(socket->d_func()->prePauseExceptionSocketNotifierState);
+}
+
+QAbstractSocketEngine* QAbstractSocketPrivate::getSocketEngine(QAbstractSocket *socket)
+{
+ return socket->d_func()->socketEngine;
+}
+
+
/*! \internal
Constructs a new abstract socket of type \a socketType. The \a
diff --git a/src/network/socket/qabstractsocket_p.h b/src/network/socket/qabstractsocket_p.h
index b51c301..7fba0fe 100644
--- a/src/network/socket/qabstractsocket_p.h
+++ b/src/network/socket/qabstractsocket_p.h
@@ -158,6 +158,13 @@ public:
QAbstractSocket::SocketState state;
QAbstractSocket::SocketError socketError;
+
+ bool prePauseReadSocketNotifierState;
+ bool prePauseWriteSocketNotifierState;
+ bool prePauseExceptionSocketNotifierState;
+ static void pauseSocketNotifiers(QAbstractSocket*);
+ static void resumeSocketNotifiers(QAbstractSocket*);
+ static QAbstractSocketEngine* getSocketEngine(QAbstractSocket*);
};
QT_END_NAMESPACE
diff --git a/src/network/socket/qlocalserver_unix.cpp b/src/network/socket/qlocalserver_unix.cpp
index 560f5f6..c218d89 100644
--- a/src/network/socket/qlocalserver_unix.cpp
+++ b/src/network/socket/qlocalserver_unix.cpp
@@ -119,7 +119,7 @@ bool QLocalServerPrivate::listen(const QString &requestedServerName)
// subsequent call to accept will not block in any case
//
// This change can be removed once more generic fix to select thread
- // syncronization problem is implemented.
+ // synchronization problem is implemented.
int flags = fcntl(listenSocket, F_GETFL, 0);
if (-1 == flags
|| -1 == (fcntl(listenSocket, F_SETFL, flags | O_NONBLOCK))) {
diff --git a/src/network/socket/qlocalsocket_win.cpp b/src/network/socket/qlocalsocket_win.cpp
index 1e0bced..5b42578 100644
--- a/src/network/socket/qlocalsocket_win.cpp
+++ b/src/network/socket/qlocalsocket_win.cpp
@@ -322,9 +322,9 @@ bool QLocalSocketPrivate::completeAsyncRead()
// buffer. We will read the remaining data in the next call.
break;
case ERROR_PIPE_NOT_CONNECTED:
- setErrorString(QLatin1String("QLocalSocketPrivate::completeAsyncRead"));
- // fall through
+ return false;
default:
+ setErrorString(QLatin1String("QLocalSocketPrivate::completeAsyncRead"));
return false;
}
}
diff --git a/src/network/socket/qnativesocketengine_win.cpp b/src/network/socket/qnativesocketengine_win.cpp
index 477ef45..c1a4cfc 100644
--- a/src/network/socket/qnativesocketengine_win.cpp
+++ b/src/network/socket/qnativesocketengine_win.cpp
@@ -733,7 +733,7 @@ int QNativeSocketEnginePrivate::nativeAccept()
{
int acceptedDescriptor = WSAAccept(socketDescriptor, 0,0,0,0);
if (acceptedDescriptor != -1 && QAbstractEventDispatcher::instance()) {
- // Becuase of WSAAsyncSelect() WSAAccept returns a non blocking socket
+ // Because of WSAAsyncSelect() WSAAccept returns a non blocking socket
// with the same attributes as the listening socket including the current
// WSAAsyncSelect(). To be able to change the socket to blocking mode the
// WSAAsyncSelect() call must be cancled.
diff --git a/src/network/ssl/qsslcertificate.cpp b/src/network/ssl/qsslcertificate.cpp
index a3ea555..275c7be 100644
--- a/src/network/ssl/qsslcertificate.cpp
+++ b/src/network/ssl/qsslcertificate.cpp
@@ -716,7 +716,7 @@ QSslCertificate QSslCertificatePrivate::QSslCertificate_from_X509(X509 *x509)
static bool matchLineFeed(const QByteArray &pem, int *offset)
{
- char ch;
+ char ch = 0;
// ignore extra whitespace at the end of the line
while (*offset < pem.size() && (ch = pem.at(*offset)) == ' ')
diff --git a/src/network/ssl/qsslsocket.cpp b/src/network/ssl/qsslsocket.cpp
index c9f421f..a752720 100644
--- a/src/network/ssl/qsslsocket.cpp
+++ b/src/network/ssl/qsslsocket.cpp
@@ -2035,6 +2035,20 @@ void QSslSocketPrivate::createPlainSocket(QIODevice::OpenMode openMode)
q->setReadBufferSize(readBufferMaxSize);
}
+void QSslSocketPrivate::pauseSocketNotifiers(QSslSocket *socket)
+{
+ if (!socket->d_func()->plainSocket)
+ return;
+ QAbstractSocketPrivate::pauseSocketNotifiers(socket->d_func()->plainSocket);
+}
+
+void QSslSocketPrivate::resumeSocketNotifiers(QSslSocket *socket)
+{
+ if (!socket->d_func()->plainSocket)
+ return;
+ QAbstractSocketPrivate::resumeSocketNotifiers(socket->d_func()->plainSocket);
+}
+
/*!
\internal
*/
diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp
index cd224df..99b5a95 100644
--- a/src/network/ssl/qsslsocket_openssl.cpp
+++ b/src/network/ssl/qsslsocket_openssl.cpp
@@ -51,6 +51,7 @@
#include <QtCore/qdebug.h>
#include <QtCore/qdir.h>
#include <QtCore/qdiriterator.h>
+#include <QtCore/qelapsedtimer.h>
#include <QtCore/qfile.h>
#include <QtCore/qfileinfo.h>
#include <QtCore/qmutex.h>
@@ -80,9 +81,6 @@ QT_BEGIN_NAMESPACE
bool QSslSocketPrivate::s_libraryLoaded = false;
bool QSslSocketPrivate::s_loadedCiphersAndCerts = false;
-// Useful defines
-#define SSL_ERRORSTR() QString::fromLocal8Bit(q_ERR_error_string(q_ERR_get_error(), NULL))
-
/* \internal
From OpenSSL's thread(3) manual page:
@@ -272,7 +270,7 @@ init_context:
}
// ### Bad error code
- q->setErrorString(QSslSocket::tr("Error creating SSL context (%1)").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error creating SSL context (%1)").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
@@ -297,7 +295,7 @@ init_context:
if (!q_SSL_CTX_set_cipher_list(ctx, cipherString.data())) {
// ### Bad error code
- q->setErrorString(QSslSocket::tr("Invalid or empty cipher list (%1)").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Invalid or empty cipher list (%1)").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
@@ -325,14 +323,14 @@ init_context:
if (!configuration.localCertificate.isNull()) {
// Require a private key as well.
if (configuration.privateKey.isNull()) {
- q->setErrorString(QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Cannot provide a certificate with no key, %1").arg(getErrorsFromOpenSsl()));
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
}
// Load certificate
if (!q_SSL_CTX_use_certificate(ctx, (X509 *)configuration.localCertificate.handle())) {
- q->setErrorString(QSslSocket::tr("Error loading local certificate, %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error loading local certificate, %1").arg(getErrorsFromOpenSsl()));
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
}
@@ -347,14 +345,14 @@ init_context:
else
q_EVP_PKEY_set1_DSA(pkey, (DSA *)configuration.privateKey.handle());
if (!q_SSL_CTX_use_PrivateKey(ctx, pkey)) {
- q->setErrorString(QSslSocket::tr("Error loading private key, %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error loading private key, %1").arg(getErrorsFromOpenSsl()));
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
}
// Check if the certificate matches the private key.
if (!q_SSL_CTX_check_private_key(ctx)) {
- q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Private key does not certify public key, %1").arg(getErrorsFromOpenSsl()));
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
}
@@ -374,7 +372,7 @@ init_context:
// Create and initialize SSL session
if (!(ssl = q_SSL_new(ctx))) {
// ### Bad error code
- q->setErrorString(QSslSocket::tr("Error creating SSL session, %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error creating SSL session, %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
@@ -389,7 +387,7 @@ init_context:
writeBio = q_BIO_new(q_BIO_s_mem());
if (!readBio || !writeBio) {
// ### Bad error code
- q->setErrorString(QSslSocket::tr("Error creating SSL session: %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error creating SSL session: %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return false;
@@ -574,7 +572,7 @@ void QSslSocketPrivate::resetDefaultCiphers()
#if defined(Q_OS_SYMBIAN)
CSymbianCertificateRetriever::CSymbianCertificateRetriever() : CActive(CActive::EPriorityStandard),
- iSequenceError(KErrNone)
+ iCertificatePtr(0,0,0), iSequenceError(KErrNone)
{
}
@@ -618,6 +616,11 @@ void CSymbianCertificateRetriever::doThreadEntryL()
iCertStore = CUnifiedCertStore::NewLC(qt_s60GetRFs(), EFalse);
iCertFilter = CCertAttributeFilter::NewLC();
+ // only interested in CA certs
+ iCertFilter->SetOwnerType(ECACertificate);
+ // only interested in X.509 format (we don't support WAP formats)
+ iCertFilter->SetFormat(EX509Certificate);
+
// Kick off the sequence by initializing the cert store
iState = Initializing;
iCertStore->Initialize(iStatus);
@@ -637,6 +640,7 @@ void CSymbianCertificateRetriever::doThreadEntryL()
TInt CSymbianCertificateRetriever::ThreadEntryPoint(TAny* aParams)
{
+ User::SetCritical(User::EProcessCritical);
CTrapCleanup* cleanupStack = CTrapCleanup::New();
CSymbianCertificateRetriever* self = (CSymbianCertificateRetriever*) aParams;
@@ -647,18 +651,36 @@ TInt CSymbianCertificateRetriever::ThreadEntryPoint(TAny* aParams)
if (err)
return err;
else
- return self->iSequenceError; // return any error that occured during the retrieval
+ return self->iSequenceError; // return any error that occurred during the retrieval
}
void CSymbianCertificateRetriever::ConstructL()
{
- User::LeaveIfError(iThread.Create(_L("CertWorkerThread"),
- CSymbianCertificateRetriever::ThreadEntryPoint, 16384, NULL, this));
+ TInt err;
+ int i=0;
+ QString name(QLatin1String("CertWorkerThread-%1"));
+ //recently closed thread names remain in use for a while until all handles have been closed
+ //including users of RUndertaker
+ do {
+ err = iThread.Create(qt_QString2TPtrC(name.arg(i++)),
+ CSymbianCertificateRetriever::ThreadEntryPoint, 16384, NULL, this);
+ } while (err == KErrAlreadyExists);
+ User::LeaveIfError(err);
}
void CSymbianCertificateRetriever::DoCancel()
{
- // We never cancel the sequence
+ switch(iState) {
+ case Initializing:
+ iCertStore->CancelInitialize();
+ break;
+ case Listing:
+ iCertStore->CancelList();
+ break;
+ case RetrievingCertificates:
+ iCertStore->CancelGetCert();
+ break;
+ }
}
TInt CSymbianCertificateRetriever::RunError(TInt aError)
@@ -671,37 +693,51 @@ TInt CSymbianCertificateRetriever::RunError(TInt aError)
void CSymbianCertificateRetriever::GetCertificateL()
{
- CCTCertInfo* certInfo = iCertInfos[iCurrentCertIndex];
- iCertificateData.resize(certInfo->Size());
- TPtr8 des((TUint8*)iCertificateData.data(), 0, iCertificateData.size());
- iCertStore->Retrieve(*certInfo, des, iStatus);
- iState = RetrievingCertificates;
- SetActive();
+ if (iCurrentCertIndex < iCertInfos.Count()) {
+ CCTCertInfo* certInfo = iCertInfos[iCurrentCertIndex++];
+ iCertificateData = QByteArray();
+ QT_TRYCATCH_LEAVING(iCertificateData.resize(certInfo->Size()));
+ iCertificatePtr.Set((TUint8*)iCertificateData.data(), 0, iCertificateData.size());
+#ifdef QSSLSOCKET_DEBUG
+ qDebug() << "getting " << qt_TDesC2QString(certInfo->Label()) << " size=" << certInfo->Size();
+ qDebug() << "format=" << certInfo->CertificateFormat();
+ qDebug() << "ownertype=" << certInfo->CertificateOwnerType();
+ qDebug() << "type=" << hex << certInfo->Type().iUid;
+#endif
+ iCertStore->Retrieve(*certInfo, iCertificatePtr, iStatus);
+ iState = RetrievingCertificates;
+ SetActive();
+ } else {
+ //reached end of list
+ CActiveScheduler::Stop();
+ }
}
void CSymbianCertificateRetriever::RunL()
{
+#ifdef QSSLSOCKET_DEBUG
+ qDebug() << "CSymbianCertificateRetriever::RunL status " << iStatus.Int() << " count " << iCertInfos.Count() << " index " << iCurrentCertIndex;
+#endif
switch (iState) {
case Initializing:
+ User::LeaveIfError(iStatus.Int()); // initialise fail means pointless to continue
iState = Listing;
iCertStore->List(iCertInfos, *iCertFilter, iStatus);
SetActive();
break;
case Listing:
+ User::LeaveIfError(iStatus.Int()); // listing fail means pointless to continue
iCurrentCertIndex = 0;
GetCertificateL();
break;
case RetrievingCertificates:
- iCertificates->append(iCertificateData);
- iCertificateData = QByteArray();
- iCurrentCertIndex++;
- if (iCurrentCertIndex < iCertInfos.Count())
- GetCertificateL();
+ if (iStatus.Int() == KErrNone)
+ iCertificates->append(iCertificateData);
else
- // Stop the scheduler to return to the thread entry function
- CActiveScheduler::Stop();
+ qWarning() << "CSymbianCertificateRetriever: failed to retrieve a certificate, error " << iStatus.Int();
+ GetCertificateL();
break;
}
}
@@ -710,6 +746,10 @@ void CSymbianCertificateRetriever::RunL()
QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
{
ensureInitialized();
+#ifdef QSSLSOCKET_DEBUG
+ QElapsedTimer timer;
+ timer.start();
+#endif
QList<QSslCertificate> systemCerts;
#if defined(Q_OS_MAC)
CFArrayRef cfCerts;
@@ -800,6 +840,7 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
systemCerts.append(QSslCertificate::fromPath(it.next()));
}
systemCerts.append(QSslCertificate::fromPath(QLatin1String("/etc/pki/tls/certs/ca-bundle.crt"), QSsl::Pem)); // Fedora, Mandriva
+ systemCerts.append(QSslCertificate::fromPath(QLatin1String("/usr/local/share/certs/ca-root-nss.crt"), QSsl::Pem)); // FreeBSD's ca_root_nss
#elif defined(Q_OS_SYMBIAN)
QList<QByteArray> certs;
@@ -808,10 +849,18 @@ QList<QSslCertificate> QSslSocketPrivate::systemCaCertificates()
retriever->GetCertificates(certs);
foreach (const QByteArray &encodedCert, certs) {
QSslCertificate cert(encodedCert, QSsl::Der);
- if (!cert.isNull())
+ if (!cert.isNull()) {
+#ifdef QSSLSOCKET_DEBUG
+ qDebug() << "imported certificate: " << cert.issuerInfo(QSslCertificate::CommonName);
+#endif
systemCerts.append(cert);
+ }
}
#endif
+#ifdef QSSLSOCKET_DEBUG
+ qDebug() << "systemCaCertificates retrieval time " << timer.elapsed() << "ms";
+ qDebug() << "imported " << systemCerts.count() << " certificates";
+#endif
return systemCerts;
}
@@ -868,7 +917,7 @@ void QSslSocketBackendPrivate::transmit()
int writtenBytes = q_SSL_write(ssl, writeBuffer.readPointer(), nextDataBlockSize);
if (writtenBytes <= 0) {
// ### Better error handling.
- q->setErrorString(QSslSocket::tr("Unable to write data: %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Unable to write data: %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return;
@@ -931,7 +980,7 @@ void QSslSocketBackendPrivate::transmit()
plainSocket->read(data.data(), writtenToBio);
} else {
// ### Better error handling.
- q->setErrorString(QSslSocket::tr("Unable to decrypt data: %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Unable to decrypt data: %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return;
@@ -1009,7 +1058,7 @@ void QSslSocketBackendPrivate::transmit()
case SSL_ERROR_SSL: // error in the SSL library
// we do not know exactly what the error is, nor whether we can recover from it,
// so just return to prevent an endless loop in the outer "while" statement
- q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
return;
@@ -1019,7 +1068,7 @@ void QSslSocketBackendPrivate::transmit()
// SSL_ERROR_WANT_X509_LOOKUP: can only happen with a
// SSL_CTX_set_client_cert_cb(), which we do not call.
// So this default case should never be triggered.
- q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error while reading: %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::UnknownSocketError);
emit q->error(QAbstractSocket::UnknownSocketError);
break;
@@ -1114,8 +1163,7 @@ bool QSslSocketBackendPrivate::startHandshake()
// The handshake is not yet complete.
break;
default:
- // ### Handle errors better
- q->setErrorString(QSslSocket::tr("Error during SSL handshake: %1").arg(SSL_ERRORSTR()));
+ q->setErrorString(QSslSocket::tr("Error during SSL handshake: %1").arg(getErrorsFromOpenSsl()));
q->setSocketError(QAbstractSocket::SslHandshakeFailedError);
#ifdef QSSLSOCKET_DEBUG
qDebug() << "QSslSocketBackendPrivate::startHandshake: error!" << q->errorString();
@@ -1291,6 +1339,19 @@ QList<QSslCertificate> QSslSocketBackendPrivate::STACKOFX509_to_QSslCertificates
return certificates;
}
+QString QSslSocketBackendPrivate::getErrorsFromOpenSsl()
+{
+ QString errorString;
+ unsigned long errNum;
+ while((errNum = q_ERR_get_error())) {
+ if (! errorString.isEmpty())
+ errorString.append(QLatin1String(", "));
+ const char *error = q_ERR_error_string(errNum, NULL);
+ errorString.append(QString::fromAscii(error)); // error is ascii according to man ERR_error_string
+ }
+ return errorString;
+}
+
bool QSslSocketBackendPrivate::isMatchingHostname(const QString &cn, const QString &hostname)
{
int wildcard = cn.indexOf(QLatin1Char('*'));
diff --git a/src/network/ssl/qsslsocket_openssl_p.h b/src/network/ssl/qsslsocket_openssl_p.h
index dec98ae..878c654 100644
--- a/src/network/ssl/qsslsocket_openssl_p.h
+++ b/src/network/ssl/qsslsocket_openssl_p.h
@@ -117,6 +117,7 @@ public:
static QSslCipher QSslCipher_from_SSL_CIPHER(SSL_CIPHER *cipher);
static QList<QSslCertificate> STACKOFX509_to_QSslCertificates(STACK_OF(X509) *x509);
Q_AUTOTEST_EXPORT static bool isMatchingHostname(const QString &cn, const QString &hostname);
+ static QString getErrorsFromOpenSsl();
};
#if defined(Q_OS_SYMBIAN)
@@ -165,6 +166,7 @@ private:
CCertAttributeFilter* iCertFilter;
TInt iCurrentCertIndex;
QByteArray iCertificateData;
+ TPtr8 iCertificatePtr;
QList<QByteArray>* iCertificates;
TInt iSequenceError;
};
diff --git a/src/network/ssl/qsslsocket_p.h b/src/network/ssl/qsslsocket_p.h
index 72b3ef7..94f5f39 100644
--- a/src/network/ssl/qsslsocket_p.h
+++ b/src/network/ssl/qsslsocket_p.h
@@ -142,6 +142,8 @@ public:
// The socket itself, including private slots.
QTcpSocket *plainSocket;
void createPlainSocket(QIODevice::OpenMode openMode);
+ static void pauseSocketNotifiers(QSslSocket*);
+ static void resumeSocketNotifiers(QSslSocket*);
void _q_connectedSlot();
void _q_hostFoundSlot();
void _q_disconnectedSlot();
diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp
index 559a6fd..167a7d2 100644
--- a/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp
+++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray.cpp
@@ -63,8 +63,9 @@ QGLRect QGL2PEXVertexArray::boundingRect() const
void QGL2PEXVertexArray::addClosingLine(int index)
{
- if (QPointF(vertexArray.at(index)) != QPointF(vertexArray.last()))
- vertexArray.add(vertexArray.at(index));
+ QPointF point(vertexArray.at(index));
+ if (point != QPointF(vertexArray.last()))
+ vertexArray.add(point);
}
void QGL2PEXVertexArray::addCentroid(const QVectorPath &path, int subPathIndex)
diff --git a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h
index 46029b9..b8c1018 100644
--- a/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h
+++ b/src/opengl/gl2paintengineex/qgl2pexvertexarray_p.h
@@ -93,7 +93,7 @@ struct QGLRect
GLfloat right;
GLfloat bottom;
- operator QRectF() {return QRectF(left, top, right-left, bottom-top);}
+ operator QRectF() const {return QRectF(left, top, right-left, bottom-top);}
};
class QGL2PEXVertexArray
diff --git a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
index 06b96ae..536b44a 100644
--- a/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
+++ b/src/opengl/gl2paintengineex/qglengineshadermanager_p.h
@@ -72,7 +72,7 @@
The position shaders for brushes look scary. This is because many of the
calculations which logically belong in the fragment shader have been moved
into the vertex shader to improve performance. This is why the position
- calculation is in a seperate shader. Not only does it calculate the
+ calculation is in a separate shader. Not only does it calculate the
position, but it also calculates some data to be passed to the fragment
shader as a varying. It is optimal to move as much of the calculation as
possible into the vertex shader as this is executed less often.
@@ -457,7 +457,7 @@ public:
AttributeOpacity
};
- // There are optimisations we can do, depending on the brush transform:
+ // There are optimizations we can do, depending on the brush transform:
// 1) May not have to apply perspective-correction
// 2) Can use lower precision for matrix
void optimiseForBrushTransform(QTransform::TransformationType transformType);
diff --git a/src/opengl/gl2paintengineex/qglengineshadersource_p.h b/src/opengl/gl2paintengineex/qglengineshadersource_p.h
index a7ece0f..0d30f9a 100644
--- a/src/opengl/gl2paintengineex/qglengineshadersource_p.h
+++ b/src/opengl/gl2paintengineex/qglengineshadersource_p.h
@@ -340,12 +340,7 @@ static const char* const qglslImageSrcFragmentShader = "\n\
uniform lowp sampler2D imageTexture; \n\
lowp vec4 srcPixel() \n\
{ \n"
-#ifdef QT_OPENGL_ES_2
- // work-around for driver bug
- "return 1.0 * texture2D(imageTexture, textureCoords); \n"
-#else
"return texture2D(imageTexture, textureCoords); \n"
-#endif
"}\n";
static const char* const qglslCustomSrcFragmentShader = "\n\
diff --git a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
index a98d7cc..3ddc15a 100644
--- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
@@ -102,7 +102,7 @@ extern Q_GUI_EXPORT bool qt_cleartype_enabled;
extern bool qt_applefontsmoothing_enabled;
#endif
-extern QImage qt_imageForBrush(int brushStyle, bool invert);
+Q_DECL_IMPORT extern QImage qt_imageForBrush(int brushStyle, bool invert);
////////////////////////////////// Private Methods //////////////////////////////////////////
@@ -825,7 +825,7 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path)
glBindBuffer(GL_ARRAY_BUFFER, cache->vbo);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cache->ibo);
- if (glSupportsElementIndexUint)
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint)
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(quint32) * polys.indices.size(), polys.indices.data(), GL_STATIC_DRAW);
else
glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(quint16) * polys.indices.size(), polys.indices.data(), GL_STATIC_DRAW);
@@ -836,7 +836,7 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path)
glBufferData(GL_ARRAY_BUFFER, sizeof(float) * vertices.size(), vertices.data(), GL_STATIC_DRAW);
#else
cache->vertices = (float *) qMalloc(sizeof(float) * polys.vertices.size());
- if (glSupportsElementIndexUint) {
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint) {
cache->indices = (quint32 *) qMalloc(sizeof(quint32) * polys.indices.size());
memcpy(cache->indices, polys.indices.data(), sizeof(quint32) * polys.indices.size());
} else {
@@ -853,7 +853,7 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path)
glBindBuffer(GL_ARRAY_BUFFER, cache->vbo);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, cache->ibo);
setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, 0);
- if (glSupportsElementIndexUint)
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint)
glDrawElements(cache->primitiveType, cache->indexCount, GL_UNSIGNED_INT, 0);
else
glDrawElements(cache->primitiveType, cache->indexCount, GL_UNSIGNED_SHORT, 0);
@@ -861,7 +861,7 @@ void QGL2PaintEngineExPrivate::fill(const QVectorPath& path)
glBindBuffer(GL_ARRAY_BUFFER, 0);
#else
setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, cache->vertices);
- if (glSupportsElementIndexUint)
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint)
glDrawElements(cache->primitiveType, cache->indexCount, GL_UNSIGNED_INT, (qint32 *)cache->indices);
else
glDrawElements(cache->primitiveType, cache->indexCount, GL_UNSIGNED_SHORT, (qint16 *)cache->indices);
@@ -1212,6 +1212,9 @@ void QGL2PaintEngineExPrivate::stroke(const QVectorPath &path, const QPen &pen)
stroker.process(dashStroke, pen, clip);
}
+ if (!stroker.vertexCount())
+ return;
+
if (opaque) {
prepareForDraw(opaque);
setVertexAttributePointer(QT_VERTEX_COORDS_ATTR, stroker.vertices());
@@ -1350,8 +1353,8 @@ void QGL2PaintEngineEx::drawStaticTextItem(QStaticTextItem *textItem)
ensureActive();
- QFontEngineGlyphCache::Type glyphType = textItem->fontEngine->glyphFormat >= 0
- ? QFontEngineGlyphCache::Type(textItem->fontEngine->glyphFormat)
+ QFontEngineGlyphCache::Type glyphType = textItem->fontEngine()->glyphFormat >= 0
+ ? QFontEngineGlyphCache::Type(textItem->fontEngine()->glyphFormat)
: d->glyphCacheType;
if (glyphType == QFontEngineGlyphCache::Raster_RGBMask) {
if (d->device->alphaRequested() || state()->matrix.type() > QTransform::TxTranslate
@@ -1430,7 +1433,7 @@ void QGL2PaintEngineEx::drawTextItem(const QPointF &p, const QTextItem &textItem
{
QStaticTextItem staticTextItem;
staticTextItem.chars = const_cast<QChar *>(ti.chars);
- staticTextItem.fontEngine = ti.fontEngine;
+ staticTextItem.setFontEngine(ti.fontEngine);
staticTextItem.glyphs = glyphs.data();
staticTextItem.numChars = ti.num_chars;
staticTextItem.numGlyphs = glyphs.size();
@@ -1475,18 +1478,20 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
QOpenGL2PaintEngineState *s = q->state();
QGLTextureGlyphCache *cache =
- (QGLTextureGlyphCache *) staticTextItem->fontEngine->glyphCache(ctx, glyphType, QTransform());
+ (QGLTextureGlyphCache *) staticTextItem->fontEngine()->glyphCache(ctx, glyphType, QTransform());
if (!cache || cache->cacheType() != glyphType) {
cache = new QGLTextureGlyphCache(ctx, glyphType, QTransform());
- staticTextItem->fontEngine->setGlyphCache(ctx, cache);
+ staticTextItem->fontEngine()->setGlyphCache(ctx, cache);
+ } else if (cache->context() == 0) { // Old context has been destroyed, new context has same ptr value
+ cache->setContext(ctx);
}
bool recreateVertexArrays = false;
if (staticTextItem->userDataNeedsUpdate)
recreateVertexArrays = true;
- else if (staticTextItem->userData == 0)
+ else if (staticTextItem->userData() == 0)
recreateVertexArrays = true;
- else if (staticTextItem->userData->type != QStaticTextUserData::OpenGLUserData)
+ else if (staticTextItem->userData()->type != QStaticTextUserData::OpenGLUserData)
recreateVertexArrays = true;
// We only need to update the cache with new glyphs if we are actually going to recreate the vertex arrays.
@@ -1494,8 +1499,13 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
// cache so this text is performed before we test if the cache size has changed.
if (recreateVertexArrays) {
cache->setPaintEnginePrivate(this);
- cache->populate(staticTextItem->fontEngine, staticTextItem->numGlyphs, staticTextItem->glyphs,
- staticTextItem->glyphPositions);
+ if (!cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs,
+ staticTextItem->glyphs, staticTextItem->glyphPositions)) {
+ // No space in cache. We need to clear the cache and try again
+ cache->clear();
+ cache->populate(staticTextItem->fontEngine(), staticTextItem->numGlyphs,
+ staticTextItem->glyphs, staticTextItem->glyphPositions);
+ }
}
if (cache->width() == 0 || cache->height() == 0)
@@ -1515,14 +1525,14 @@ void QGL2PaintEngineExPrivate::drawCachedGlyphs(QFontEngineGlyphCache::Type glyp
if (staticTextItem->useBackendOptimizations) {
QOpenGLStaticTextUserData *userData = 0;
- if (staticTextItem->userData == 0
- || staticTextItem->userData->type != QStaticTextUserData::OpenGLUserData) {
+ if (staticTextItem->userData() == 0
+ || staticTextItem->userData()->type != QStaticTextUserData::OpenGLUserData) {
userData = new QOpenGLStaticTextUserData();
staticTextItem->setUserData(userData);
} else {
- userData = static_cast<QOpenGLStaticTextUserData*>(staticTextItem->userData);
+ userData = static_cast<QOpenGLStaticTextUserData*>(staticTextItem->userData());
}
// Use cache if backend optimizations is turned on
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
index 919c542..705ad09 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
@@ -54,11 +54,18 @@ extern Q_GUI_EXPORT bool qt_cleartype_enabled;
QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyphCache::Type type, const QTransform &matrix)
: QImageTextureGlyphCache(type, matrix)
- , ctx(context)
+ , ctx(0)
, m_width(0)
, m_height(0)
, m_filterMode(Nearest)
{
+ setContext(context);
+}
+
+void QGLTextureGlyphCache::setContext(QGLContext *context)
+{
+ ctx = context;
+
// broken FBO readback is a bug in the SGX 1.3 and 1.4 drivers for the N900 where
// copying between FBO's is broken if the texture is either GL_ALPHA or POT. The
// workaround is to use a system-memory copy of the glyph cache for this device.
@@ -71,7 +78,7 @@ QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyph
SLOT(contextDestroyed(const QGLContext*)));
}
-QGLTextureGlyphCache::~QGLTextureGlyphCache()
+void QGLTextureGlyphCache::clear()
{
if (ctx) {
QGLShareContextScope scope(ctx);
@@ -81,7 +88,24 @@ QGLTextureGlyphCache::~QGLTextureGlyphCache()
if (m_width || m_height)
glDeleteTextures(1, &m_texture);
+
+ m_fbo = 0;
+ m_texture = 0;
+ m_width = 0;
+ m_height = 0;
+ m_w = 0;
+ m_h = 0;
+ m_cx = 0;
+ m_cy = 0;
+ m_currentRowHeight = 0;
+ coords.clear();
}
+
+}
+
+QGLTextureGlyphCache::~QGLTextureGlyphCache()
+{
+ clear();
}
void QGLTextureGlyphCache::createTextureData(int width, int height)
diff --git a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
index e22146d..aaef350 100644
--- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
@@ -90,6 +90,9 @@ public:
FilterMode filterMode() const { return m_filterMode; }
void setFilterMode(FilterMode m) { m_filterMode = m; }
+ void setContext(QGLContext *context);
+ QGLContext *context() const { return ctx; }
+
public Q_SLOTS:
void contextDestroyed(const QGLContext *context) {
if (context == ctx) {
@@ -98,10 +101,20 @@ public Q_SLOTS:
// the context may not be current, so we cannot directly
// destroy the fbo and texture here, but since the context
// is about to be destroyed, the GL server will do the
- // clean up for us anyway
+ // clean up for us anyway. We reset everything, so that the
+ // glyph cache object can be reused later by setting a new
+ // context on it.
m_fbo = 0;
m_texture = 0;
ctx = 0;
+ m_width = 0;
+ m_height = 0;
+ m_w = 0;
+ m_h = 0;
+ m_cx = 0;
+ m_cy = 0;
+ m_currentRowHeight = 0;
+ coords.clear();
} else {
// since the context holding the texture is shared, and
// about to be destroyed, we have to transfer ownership
@@ -111,6 +124,8 @@ public Q_SLOTS:
}
}
+ void clear();
+
private:
QGLContext *ctx;
diff --git a/src/opengl/gl2paintengineex/qtriangulator.cpp b/src/opengl/gl2paintengineex/qtriangulator.cpp
index b839b00..75d5ce2 100644
--- a/src/opengl/gl2paintengineex/qtriangulator.cpp
+++ b/src/opengl/gl2paintengineex/qtriangulator.cpp
@@ -58,7 +58,6 @@
#include <math.h>
#include <private/qgl_p.h>
-#include <private/qglextensions_p.h>
QT_BEGIN_NAMESPACE
@@ -340,7 +339,7 @@ static inline qint64 qPointDistanceFromLine(const QPodPoint &p, const QPodPoint
static inline bool qPointIsLeftOfLine(const QPodPoint &p, const QPodPoint &v1, const QPodPoint &v2)
{
- return qPointDistanceFromLine(p, v1, v2) < 0;
+ return QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(p, v1, v2) < 0;
}
// Return:
@@ -1742,7 +1741,7 @@ bool QTriangulator<T>::ComplexToSimple::calculateIntersection(int left, int righ
Intersection intersection;
intersection.leftEdge = left;
intersection.rightEdge = right;
- intersection.intersectionPoint = qIntersectionPoint(u1, u2, v1, v2);
+ intersection.intersectionPoint = QT_PREPEND_NAMESPACE(qIntersectionPoint)(u1, u2, v1, v2);
if (!intersection.intersectionPoint.isValid())
return false;
@@ -1768,10 +1767,10 @@ bool QTriangulator<T>::ComplexToSimple::edgeIsLeftOfEdge(int leftEdgeIndex, int
return true;
if (upper.x > qMax(l.x, u.x))
return false;
- qint64 d = qPointDistanceFromLine(upper, l, u);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(upper, l, u);
// d < 0: left, d > 0: right, d == 0: on top
if (d == 0)
- d = qPointDistanceFromLine(m_parent->m_vertices.at(leftEdge.lower()), l, u);
+ d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(m_parent->m_vertices.at(leftEdge.lower()), l, u);
return d < 0;
}
@@ -1815,7 +1814,7 @@ QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> QTriangulator<T>::ComplexToSim
while (current) {
const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(point, v1, v2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(point, v1, v2);
if (d == 0) {
result.first = result.second = current;
break;
@@ -1829,7 +1828,7 @@ QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> QTriangulator<T>::ComplexToSim
while (current) {
const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(point, v1, v2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(point, v1, v2);
Q_ASSERT(d >= 0);
if (d == 0) {
result.first = current;
@@ -1843,7 +1842,7 @@ QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> QTriangulator<T>::ComplexToSim
while (current) {
const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(point, v1, v2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(point, v1, v2);
Q_ASSERT(d <= 0);
if (d == 0) {
result.second = current;
@@ -1865,7 +1864,7 @@ QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> QTriangulator<T>::ComplexToSim
while (current) {
const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(point, v1, v2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(point, v1, v2);
if (d == 0)
break;
if (d < 0) {
@@ -1886,7 +1885,7 @@ QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> QTriangulator<T>::ComplexToSim
while (current) {
const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(point, v1, v2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(point, v1, v2);
Q_ASSERT(d >= 0);
if (d == 0) {
current = current->left;
@@ -1900,7 +1899,7 @@ QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> QTriangulator<T>::ComplexToSim
while (current) {
const QPodPoint &v1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &v2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(point, v1, v2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(point, v1, v2);
Q_ASSERT(d <= 0);
if (d == 0) {
current = current->right;
@@ -1963,7 +1962,7 @@ void QTriangulator<T>::ComplexToSimple::reorderEdgeListRange(QRBTree<int>::Node
template <typename T>
void QTriangulator<T>::ComplexToSimple::sortEdgeList(const QPodPoint eventPoint)
{
- QIntersectionPoint eventPoint2 = qIntersectionPoint(eventPoint);
+ QIntersectionPoint eventPoint2 = QT_PREPEND_NAMESPACE(qIntersectionPoint)(eventPoint);
while (!m_topIntersection.isEmpty() && m_topIntersection.top().intersectionPoint < eventPoint2) {
Intersection intersection = m_topIntersection.pop();
@@ -2057,7 +2056,7 @@ void QTriangulator<T>::ComplexToSimple::calculateIntersections()
QPair<QRBTree<int>::Node *, QRBTree<int>::Node *> range = bounds(event.point);
QRBTree<int>::Node *leftNode = range.first ? m_edgeList.previous(range.first) : 0;
int vertex = (event.type == Event::Upper ? m_edges.at(event.edge).upper() : m_edges.at(event.edge).lower());
- QIntersectionPoint eventPoint = qIntersectionPoint(event.point);
+ QIntersectionPoint eventPoint = QT_PREPEND_NAMESPACE(qIntersectionPoint)(event.point);
if (range.first != 0) {
splitEdgeListRange(range.first, range.second, vertex, eventPoint);
@@ -2214,7 +2213,7 @@ void QTriangulator<T>::ComplexToSimple::removeUnwantedEdgesAndConnect()
while (current != b.second) {
Q_ASSERT(current);
Q_ASSERT(m_edges.at(current->data).node == current);
- Q_ASSERT(qIntersectionPoint(event.point).isOnLine(m_parent->m_vertices.at(m_edges.at(current->data).from), m_parent->m_vertices.at(m_edges.at(current->data).to)));
+ Q_ASSERT(QT_PREPEND_NAMESPACE(qIntersectionPoint)(event.point).isOnLine(m_parent->m_vertices.at(m_edges.at(current->data).from), m_parent->m_vertices.at(m_edges.at(current->data).to)));
Q_ASSERT(m_parent->m_vertices.at(m_edges.at(current->data).from) == event.point || m_parent->m_vertices.at(m_edges.at(current->data).to) == event.point);
insertEdgeIntoVectorIfWanted(orderedEdges, current->data);
current = m_edgeList.next(current);
@@ -2613,10 +2612,10 @@ bool QTriangulator<T>::SimpleToMonotone::edgeIsLeftOfEdge(int leftEdgeIndex, int
const Edge &rightEdge = m_edges.at(rightEdgeIndex);
const QPodPoint &u = m_parent->m_vertices.at(rightEdge.upper());
const QPodPoint &l = m_parent->m_vertices.at(rightEdge.lower());
- qint64 d = qPointDistanceFromLine(m_parent->m_vertices.at(leftEdge.upper()), l, u);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(m_parent->m_vertices.at(leftEdge.upper()), l, u);
// d < 0: left, d > 0: right, d == 0: on top
if (d == 0)
- d = qPointDistanceFromLine(m_parent->m_vertices.at(leftEdge.lower()), l, u);
+ d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(m_parent->m_vertices.at(leftEdge.lower()), l, u);
return d < 0;
}
@@ -2646,7 +2645,7 @@ QRBTree<int>::Node *QTriangulator<T>::SimpleToMonotone::searchEdgeLeftOfPoint(in
while (current) {
const QPodPoint &p1 = m_parent->m_vertices.at(m_edges.at(current->data).lower());
const QPodPoint &p2 = m_parent->m_vertices.at(m_edges.at(current->data).upper());
- qint64 d = qPointDistanceFromLine(m_parent->m_vertices.at(pointIndex), p1, p2);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(m_parent->m_vertices.at(pointIndex), p1, p2);
if (d <= 0) {
current = current->left;
} else {
@@ -2669,7 +2668,7 @@ void QTriangulator<T>::SimpleToMonotone::classifyVertex(int i)
const QPodPoint &p1 = m_parent->m_vertices.at(e1.from);
const QPodPoint &p2 = m_parent->m_vertices.at(e2.from);
const QPodPoint &p3 = m_parent->m_vertices.at(e2.to);
- qint64 d = qPointDistanceFromLine(p1, p2, p3);
+ qint64 d = QT_PREPEND_NAMESPACE(qPointDistanceFromLine)(p1, p2, p3);
Q_ASSERT(d != 0 || (!startOrSplit && !endOrMerge));
e2.type = RegularVertex;
@@ -3014,10 +3013,8 @@ void QTriangulator<T>::MonotoneToTriangles::decompose()
QTriangleSet qTriangulate(const qreal *polygon,
int count, uint hint, const QTransform &matrix)
{
- QGLContext *ctx = 0; // Not really used but needs to be introduced for glSupportsElementIndexUint
-
QTriangleSet triangleSet;
- if (glSupportsElementIndexUint) {
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint) {
QTriangulator<quint32> triangulator;
triangulator.initialize(polygon, count, hint, matrix);
QVertexSet<quint32> vertexSet = triangulator.triangulate();
@@ -3037,10 +3034,8 @@ QTriangleSet qTriangulate(const qreal *polygon,
QTriangleSet qTriangulate(const QVectorPath &path,
const QTransform &matrix, qreal lod)
{
- QGLContext *ctx = 0; // Not really used but needs to be introduced for glSupportsElementIndexUint
-
QTriangleSet triangleSet;
- if (glSupportsElementIndexUint) {
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint) {
QTriangulator<quint32> triangulator;
triangulator.initialize(path, matrix, lod);
QVertexSet<quint32> vertexSet = triangulator.triangulate();
@@ -3059,10 +3054,8 @@ QTriangleSet qTriangulate(const QVectorPath &path,
QTriangleSet qTriangulate(const QPainterPath &path,
const QTransform &matrix, qreal lod)
{
- QGLContext *ctx = 0; // Not really used but needs to be introduced for glSupportsElementIndexUint
-
QTriangleSet triangleSet;
- if (glSupportsElementIndexUint) {
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint) {
QTriangulator<quint32> triangulator;
triangulator.initialize(path, matrix, lod);
QVertexSet<quint32> vertexSet = triangulator.triangulate();
@@ -3081,10 +3074,8 @@ QTriangleSet qTriangulate(const QPainterPath &path,
QPolylineSet qPolyline(const QVectorPath &path,
const QTransform &matrix, qreal lod)
{
- QGLContext *ctx = 0; // Not really used but needs to be introduced for glSupportsElementIndexUint
-
QPolylineSet polyLineSet;
- if (glSupportsElementIndexUint) {
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint) {
QTriangulator<quint32> triangulator;
triangulator.initialize(path, matrix, lod);
QVertexSet<quint32> vertexSet = triangulator.polyline();
@@ -3103,10 +3094,8 @@ QPolylineSet qPolyline(const QVectorPath &path,
QPolylineSet qPolyline(const QPainterPath &path,
const QTransform &matrix, qreal lod)
{
- QGLContext *ctx = 0; // Not really used but needs to be introduced for glSupportsElementIndexUint
-
QPolylineSet polyLineSet;
- if (glSupportsElementIndexUint) {
+ if (QGLExtensions::glExtensions() & QGLExtensions::ElementIndexUint) {
QTriangulator<quint32> triangulator;
triangulator.initialize(path, matrix, lod);
QVertexSet<quint32> vertexSet = triangulator.polyline();
diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp
index 7f25887..18f1203 100644
--- a/src/opengl/qgl.cpp
+++ b/src/opengl/qgl.cpp
@@ -127,7 +127,12 @@ Q_GLOBAL_STATIC(QGLDefaultOverlayFormat, defaultOverlayFormatInstance)
Q_GLOBAL_STATIC(QGLSignalProxy, theSignalProxy)
QGLSignalProxy *QGLSignalProxy::instance()
{
- return theSignalProxy();
+ QGLSignalProxy *proxy = theSignalProxy();
+ if (proxy && proxy->thread() != qApp->thread()) {
+ if (proxy->thread() == QThread::currentThread())
+ proxy->moveToThread(qApp->thread());
+ }
+ return proxy;
}
@@ -1637,12 +1642,23 @@ const QGLContext *qt_gl_transfer_context(const QGLContext *ctx)
return 0;
}
+QGLContextPrivate::QGLContextPrivate(QGLContext *context)
+ : internal_context(false)
+ , q_ptr(context)
+{
+ group = new QGLContextGroup(context);
+ texture_destroyer = new QGLTextureDestroyer;
+ texture_destroyer->moveToThread(qApp->thread());
+}
+
QGLContextPrivate::~QGLContextPrivate()
{
if (!group->m_refs.deref()) {
Q_ASSERT(group->context() == q_ptr);
delete group;
}
+
+ delete texture_destroyer;
}
void QGLContextPrivate::init(QPaintDevice *dev, const QGLFormat &format)
@@ -2079,7 +2095,9 @@ void QGLContextPrivate::cleanup()
void QGLContextPrivate::setVertexAttribArrayEnabled(int arrayIndex, bool enabled)
{
Q_ASSERT(arrayIndex < QT_GL_VERTEX_ARRAY_TRACKED_COUNT);
+#ifdef glEnableVertexAttribArray
Q_ASSERT(glEnableVertexAttribArray);
+#endif
if (vertexAttributeArraysEnabledState[arrayIndex] && !enabled)
glDisableVertexAttribArray(arrayIndex);
@@ -2092,7 +2110,9 @@ void QGLContextPrivate::setVertexAttribArrayEnabled(int arrayIndex, bool enabled
void QGLContextPrivate::syncGlState()
{
+#ifdef glEnableVertexAttribArray
Q_ASSERT(glEnableVertexAttribArray);
+#endif
for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i) {
if (vertexAttributeArraysEnabledState[i])
glEnableVertexAttribArray(i);
@@ -2104,7 +2124,7 @@ void QGLContextPrivate::syncGlState()
#undef ctx
#ifdef QT_NO_EGL
-void QGLContextPrivate::swapRegion(const QRegion *)
+void QGLContextPrivate::swapRegion(const QRegion &)
{
Q_Q(QGLContext);
q->swapBuffers();
@@ -5292,6 +5312,12 @@ QGLExtensions::Extensions QGLExtensions::currentContextExtensions()
#if defined(QT_OPENGL_ES)
if (extensions.match("GL_OES_packed_depth_stencil"))
glExtensions |= PackedDepthStencil;
+ if (extensions.match("GL_OES_element_index_uint"))
+ glExtensions |= ElementIndexUint;
+ if (extensions.match("GL_OES_depth24"))
+ glExtensions |= Depth24;
+#else
+ glExtensions |= ElementIndexUint;
#endif
if (extensions.match("GL_ARB_framebuffer_object")) {
// ARB_framebuffer_object also includes EXT_framebuffer_blit.
diff --git a/src/opengl/qgl.h b/src/opengl/qgl.h
index f85cad5..9ae619d 100644
--- a/src/opengl/qgl.h
+++ b/src/opengl/qgl.h
@@ -428,6 +428,7 @@ private:
friend class QGLSharedResourceGuard;
friend class QGLPixmapBlurFilter;
friend class QGLExtensions;
+ friend class QGLTexture;
friend QGLFormat::OpenGLVersionFlags QGLFormat::openGLVersionFlags();
#ifdef Q_WS_MAC
public:
diff --git a/src/opengl/qgl_egl.cpp b/src/opengl/qgl_egl.cpp
index c79c4cd..8902099 100644
--- a/src/opengl/qgl_egl.cpp
+++ b/src/opengl/qgl_egl.cpp
@@ -88,7 +88,7 @@ void qt_eglproperties_set_glformat(QEglProperties& eglProperties, const QGLForma
// put in the list before 32-bit configs. So, to make sure 16-bit is preffered over 32-bit,
// we must set the red/green/blue sizes to zero. This has an unfortunate consequence that
// if the application sets the red/green/blue size to 5/6/5 on the QGLFormat, they will
- // probably get a 32-bit config, even when there's an RGB565 config avaliable. Oh well.
+ // probably get a 32-bit config, even when there's an RGB565 config available. Oh well.
// Now normalize the values so -1 becomes 0
redSize = redSize > 0 ? redSize : 0;
@@ -276,12 +276,12 @@ EGLSurface QGLContextPrivate::eglSurfaceForDevice() const
return eglSurface;
}
-void QGLContextPrivate::swapRegion(const QRegion *region)
+void QGLContextPrivate::swapRegion(const QRegion &region)
{
if (!valid || !eglContext)
return;
- eglContext->swapBuffersRegion2NOK(eglSurfaceForDevice(), region);
+ eglContext->swapBuffersRegion2NOK(eglSurfaceForDevice(), &region);
}
void QGLWidget::setMouseTracking(bool enable)
diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h
index 387c8f7..b46d428 100644
--- a/src/opengl/qgl_p.h
+++ b/src/opengl/qgl_p.h
@@ -284,7 +284,9 @@ public:
DDSTextureCompression = 0x00008000,
ETC1TextureCompression = 0x00010000,
PVRTCTextureCompression = 0x00020000,
- FragmentShader = 0x00040000
+ FragmentShader = 0x00040000,
+ ElementIndexUint = 0x00080000,
+ Depth24 = 0x00100000
};
Q_DECLARE_FLAGS(Extensions, Extension)
@@ -315,6 +317,7 @@ private:
};
class QGLTexture;
+class QGLTextureDestroyer;
// This probably needs to grow to GL_MAX_VERTEX_ATTRIBS, but 3 is ok for now as that's
// all the GL2 engine uses:
@@ -324,7 +327,7 @@ class QGLContextPrivate
{
Q_DECLARE_PUBLIC(QGLContext)
public:
- explicit QGLContextPrivate(QGLContext *context) : internal_context(false), q_ptr(context) {group = new QGLContextGroup(context);}
+ explicit QGLContextPrivate(QGLContext *context);
~QGLContextPrivate();
QGLTexture *bindTexture(const QImage &image, GLenum target, GLint format,
QGLContext::BindOptions options);
@@ -341,7 +344,7 @@ public:
void setVertexAttribArrayEnabled(int arrayIndex, bool enabled = true);
void syncGlState(); // Makes sure the GL context's state is what we think it is
- void swapRegion(const QRegion *region);
+ void swapRegion(const QRegion &region);
#if defined(Q_WS_WIN)
void updateFormatVersion();
@@ -415,6 +418,7 @@ public:
GLuint current_fbo;
GLuint default_fbo;
QPaintEngine *active_engine;
+ QGLTextureDestroyer *texture_destroyer;
bool vertexAttributeArraysEnabledState[QT_GL_VERTEX_ARRAY_TRACKED_COUNT];
@@ -432,20 +436,6 @@ public:
static void setCurrentContext(QGLContext *context);
};
-// ### make QGLContext a QObject in 5.0 and remove the proxy stuff
-class Q_OPENGL_EXPORT QGLSignalProxy : public QObject
-{
- Q_OBJECT
-public:
- QGLSignalProxy() : QObject() {}
- void emitAboutToDestroyContext(const QGLContext *context) {
- emit aboutToDestroyContext(context);
- }
- static QGLSignalProxy *instance();
-Q_SIGNALS:
- void aboutToDestroyContext(const QGLContext *context);
-};
-
Q_DECLARE_OPERATORS_FOR_FLAGS(QGLExtensions::Extensions)
// Temporarily make a context current if not already current or
@@ -488,6 +478,57 @@ private:
QGLContext *m_ctx;
};
+class QGLTextureDestroyer : public QObject
+{
+ Q_OBJECT
+public:
+ QGLTextureDestroyer() : QObject() {
+ qRegisterMetaType<GLuint>("GLuint");
+ connect(this, SIGNAL(freeTexture(QGLContext *, QPixmapData *, GLuint)),
+ this, SLOT(freeTexture_slot(QGLContext *, QPixmapData *, GLuint)));
+ }
+ void emitFreeTexture(QGLContext *context, QPixmapData *boundPixmap, GLuint id) {
+ emit freeTexture(context, boundPixmap, id);
+ }
+
+Q_SIGNALS:
+ void freeTexture(QGLContext *context, QPixmapData *boundPixmap, GLuint id);
+
+private slots:
+ void freeTexture_slot(QGLContext *context, QPixmapData *boundPixmap, GLuint id) {
+#if defined(Q_WS_X11)
+ if (boundPixmap) {
+ QGLContext *oldContext = const_cast<QGLContext *>(QGLContext::currentContext());
+ context->makeCurrent();
+ // Although glXReleaseTexImage is a glX call, it must be called while there
+ // is a current context - the context the pixmap was bound to a texture in.
+ // Otherwise the release doesn't do anything and you get BadDrawable errors
+ // when you come to delete the context.
+ QGLContextPrivate::unbindPixmapFromTexture(boundPixmap);
+ glDeleteTextures(1, &id);
+ if (oldContext)
+ oldContext->makeCurrent();
+ return;
+ }
+#endif
+ QGLShareContextScope scope(context);
+ glDeleteTextures(1, &id);
+ }
+};
+
+// ### make QGLContext a QObject in 5.0 and remove the proxy stuff
+class Q_OPENGL_EXPORT QGLSignalProxy : public QObject
+{
+ Q_OBJECT
+public:
+ void emitAboutToDestroyContext(const QGLContext *context) {
+ emit aboutToDestroyContext(context);
+ }
+ static QGLSignalProxy *instance();
+Q_SIGNALS:
+ void aboutToDestroyContext(const QGLContext *context);
+};
+
class QGLTexture {
public:
QGLTexture(QGLContext *ctx = 0, GLuint tx_id = 0, GLenum tx_target = GL_TEXTURE_2D,
@@ -504,16 +545,10 @@ public:
~QGLTexture() {
if (options & QGLContext::MemoryManagedBindOption) {
Q_ASSERT(context);
- QGLShareContextScope scope(context);
-#if defined(Q_WS_X11)
- // Although glXReleaseTexImage is a glX call, it must be called while there
- // is a current context - the context the pixmap was bound to a texture in.
- // Otherwise the release doesn't do anything and you get BadDrawable errors
- // when you come to delete the context.
- if (boundPixmap)
- QGLContextPrivate::unbindPixmapFromTexture(boundPixmap);
+#if !defined(Q_WS_X11)
+ QPixmapData *boundPixmap = 0;
#endif
- glDeleteTextures(1, &id);
+ context->d_ptr->texture_destroyer->emitFreeTexture(context, boundPixmap, id);
}
}
diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp
index 9d28de0..75dd1b6 100644
--- a/src/opengl/qgl_x11egl.cpp
+++ b/src/opengl/qgl_x11egl.cpp
@@ -97,7 +97,6 @@ QGLTemporaryContext::QGLTemporaryContext(bool, QWidget *)
XVisualInfo visualInfo;
XVisualInfo *vi;
int numVisuals;
- EGLint id = 0;
visualInfo.visualid = QEgl::getCompatibleVisualId(config);
vi = XGetVisualInfo(X11->display, VisualIDMask, &visualInfo, &numVisuals);
@@ -346,7 +345,7 @@ void QGLWidgetPrivate::recreateEglSurface()
// old surface before re-creating a new one. Note: This should not be the case as the
// surface should be deleted before the old window id.
if (glcx->d_func()->eglSurface != EGL_NO_SURFACE && (currentId != eglSurfaceWindowId)) {
- qWarning("EGL surface for deleted window %x was not destroyed", eglSurfaceWindowId);
+ qWarning("EGL surface for deleted window %x was not destroyed", uint(eglSurfaceWindowId));
glcx->d_func()->destroyEglSurfaceForDevice();
}
@@ -377,7 +376,7 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmap *pixmap, cons
checkedForEglImageTFP = true;
// We need to be able to create an EGLImage from a native pixmap, which was split
- // into a seperate EGL extension, EGL_KHR_image_pixmap. It is possible to have
+ // into a separate EGL extension, EGL_KHR_image_pixmap. It is possible to have
// eglCreateImageKHR & eglDestroyImageKHR without support for pixmaps, so we must
// check we have the EGLImage from pixmap functionality.
if (QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_pixmap")) {
diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h
index e81e849..a35ad87 100644
--- a/src/opengl/qglextensions_p.h
+++ b/src/opengl/qglextensions_p.h
@@ -346,17 +346,6 @@ struct QGLExtensionFuncs
qt_glEGLImageTargetTexture2DOES = 0;
qt_glEGLImageTargetRenderbufferStorageOES = 0;
#endif
-
- // OES_element_index_uint
-#if !defined(QT_OPENGL_ES)
- qt_glSupportsElementIndexUint = true;
-#else
- QString extensions = reinterpret_cast<const char *>(glGetString(GL_EXTENSIONS));
- if (extensions.contains("GL_OES_element_index_uint"))
- qt_glSupportsElementIndexUint = true;
- else
- qt_glSupportsElementIndexUint = false;
-#endif
}
@@ -483,8 +472,6 @@ struct QGLExtensionFuncs
_glEGLImageTargetTexture2DOES qt_glEGLImageTargetTexture2DOES;
_glEGLImageTargetRenderbufferStorageOES qt_glEGLImageTargetRenderbufferStorageOES;
#endif
-
- bool qt_glSupportsElementIndexUint;
};
@@ -576,6 +563,14 @@ struct QGLExtensionFuncs
#define GL_TEXTURE1 0x84C1
#endif
+#ifndef GL_DEPTH_COMPONENT16
+#define GL_DEPTH_COMPONENT16 0x81A5
+#endif
+
+#ifndef GL_DEPTH_COMPONENT24_OES
+#define GL_DEPTH_COMPONENT24_OES 0x81A6
+#endif
+
#ifndef GL_EXT_framebuffer_object
#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
#define GL_MAX_RENDERBUFFER_SIZE_EXT 0x84E8
@@ -883,8 +878,6 @@ struct QGLExtensionFuncs
#define glEGLImageTargetRenderbufferStorageOES QGLContextPrivate::extensionFuncs(ctx).qt_glEGLImageTargetRenderbufferStorageOES
#endif
-#define glSupportsElementIndexUint QGLContextPrivate::extensionFuncs(ctx).qt_glSupportsElementIndexUint
-
extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx);
bool qt_resolve_buffer_extensions(QGLContext *ctx);
diff --git a/src/opengl/qglframebufferobject.cpp b/src/opengl/qglframebufferobject.cpp
index 6c9b288..3ccefbf 100644
--- a/src/opengl/qglframebufferobject.cpp
+++ b/src/opengl/qglframebufferobject.cpp
@@ -508,17 +508,26 @@ void QGLFramebufferObjectPrivate::init(QGLFramebufferObject *q, const QSize &sz,
Q_ASSERT(glIsRenderbuffer(depth_buffer));
if (samples != 0 && glRenderbufferStorageMultisampleEXT) {
#ifdef QT_OPENGL_ES
-#define GL_DEPTH_COMPONENT16 0x81A5
- glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples,
- GL_DEPTH_COMPONENT16, size.width(), size.height());
+ if (QGLExtensions::glExtensions() & QGLExtensions::Depth24) {
+ glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples,
+ GL_DEPTH_COMPONENT24_OES, size.width(), size.height());
+ } else {
+ glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples,
+ GL_DEPTH_COMPONENT16, size.width(), size.height());
+ }
#else
glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples,
GL_DEPTH_COMPONENT, size.width(), size.height());
#endif
} else {
#ifdef QT_OPENGL_ES
-#define GL_DEPTH_COMPONENT16 0x81A5
- glRenderbufferStorage(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16, size.width(), size.height());
+ if (QGLExtensions::glExtensions() & QGLExtensions::Depth24) {
+ glRenderbufferStorage(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT24_OES,
+ size.width(), size.height());
+ } else {
+ glRenderbufferStorage(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT16,
+ size.width(), size.height());
+ }
#else
glRenderbufferStorage(GL_RENDERBUFFER_EXT, GL_DEPTH_COMPONENT, size.width(), size.height());
#endif
@@ -1162,8 +1171,8 @@ void QGLFramebufferObject::drawTexture(const QPointF &point, QMacCompatGLuint te
}
#endif
-extern int qt_defaultDpiX();
-extern int qt_defaultDpiY();
+Q_DECL_IMPORT extern int qt_defaultDpiX();
+Q_DECL_IMPORT extern int qt_defaultDpiY();
/*! \reimp */
int QGLFramebufferObject::metric(PaintDeviceMetric metric) const
diff --git a/src/opengl/qglpixelbuffer.cpp b/src/opengl/qglpixelbuffer.cpp
index 994947b..3992f34 100644
--- a/src/opengl/qglpixelbuffer.cpp
+++ b/src/opengl/qglpixelbuffer.cpp
@@ -416,8 +416,8 @@ QPaintEngine *QGLPixelBuffer::paintEngine() const
#endif
}
-extern int qt_defaultDpiX();
-extern int qt_defaultDpiY();
+Q_DECL_IMPORT extern int qt_defaultDpiX();
+Q_DECL_IMPORT extern int qt_defaultDpiY();
/*! \reimp */
int QGLPixelBuffer::metric(PaintDeviceMetric metric) const
diff --git a/src/opengl/qglpixelbuffer_egl.cpp b/src/opengl/qglpixelbuffer_egl.cpp
index 0b94f5a..2d9f6f1 100644
--- a/src/opengl/qglpixelbuffer_egl.cpp
+++ b/src/opengl/qglpixelbuffer_egl.cpp
@@ -74,7 +74,6 @@ bool QGLPixelBufferPrivate::init(const QSize &size, const QGLFormat &f, QGLWidge
// Use the same configuration as the widget we are sharing with.
ctx->setConfig(shareContext->config());
#if QGL_RENDER_TEXTURE
- EGLint value = EGL_FALSE;
if (ctx->configAttrib(EGL_BIND_TO_TEXTURE_RGBA) == EGL_TRUE)
textureFormat = EGL_TEXTURE_RGBA;
else if (ctx->configAttrib(EGL_BIND_TO_TEXTURE_RGB) == EGL_TRUE)
diff --git a/src/opengl/qglpixmapfilter.cpp b/src/opengl/qglpixmapfilter.cpp
index bfa5ef1..74018cd 100644
--- a/src/opengl/qglpixmapfilter.cpp
+++ b/src/opengl/qglpixmapfilter.cpp
@@ -63,8 +63,8 @@
QT_BEGIN_NAMESPACE
// qpixmapfilter.cpp
-void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed = 0);
-QImage qt_halfScaled(const QImage &source);
+Q_DECL_IMPORT void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed = 0);
+Q_DECL_IMPORT QImage qt_halfScaled(const QImage &source);
void QGLPixmapFilterBase::bindTexture(const QPixmap &src) const
{
@@ -436,7 +436,7 @@ static inline uint nextMultiple(uint x, uint multiplier)
return x + multiplier - mod;
}
-void qt_memrotate90_gl(const quint32 *src, int srcWidth, int srcHeight, int srcStride,
+Q_DECL_IMPORT void qt_memrotate90_gl(const quint32 *src, int srcWidth, int srcHeight, int srcStride,
quint32 *dest, int dstStride);
bool QGLPixmapBlurFilter::processGL(QPainter *painter, const QPointF &pos, const QPixmap &src, const QRectF &) const
diff --git a/src/opengl/qpaintengine_opengl.cpp b/src/opengl/qpaintengine_opengl.cpp
index 2f17aa6..a04d930 100644
--- a/src/opengl/qpaintengine_opengl.cpp
+++ b/src/opengl/qpaintengine_opengl.cpp
@@ -79,7 +79,7 @@
QT_BEGIN_NAMESPACE
-extern QImage qt_imageForBrush(int brushStyle, bool invert); //in qbrush.cpp
+Q_DECL_IMPORT extern QImage qt_imageForBrush(int brushStyle, bool invert); //in qbrush.cpp
#ifdef QT_MAC_USE_COCOA
extern void *qt_current_nsopengl_context(); // qgl_mac.mm
#endif
@@ -4918,7 +4918,7 @@ void QOpenGLPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)
d->flushDrawQueue();
// make sure the glyphs we want to draw are in the cache
- qt_glyph_cache()->cacheGlyphs(d->device->context(), textItem->fontEngine, textItem->glyphs,
+ qt_glyph_cache()->cacheGlyphs(d->device->context(), textItem->fontEngine(), textItem->glyphs,
textItem->numGlyphs);
d->setGradientOps(Qt::SolidPattern, QRectF()); // turns off gradient ops
@@ -4941,13 +4941,13 @@ void QOpenGLPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
- bool antialias = !(textItem->fontEngine->fontDef.styleStrategy & QFont::NoAntialias)
+ bool antialias = !(textItem->fontEngine()->fontDef.styleStrategy & QFont::NoAntialias)
&& (d->matrix.type() > QTransform::TxTranslate);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, antialias ? GL_LINEAR : GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, antialias ? GL_LINEAR : GL_NEAREST);
for (int i=0; i< textItem->numGlyphs; ++i) {
- QGLGlyphCoord *g = qt_glyph_cache()->lookup(textItem->fontEngine, textItem->glyphs[i]);
+ QGLGlyphCoord *g = qt_glyph_cache()->lookup(textItem->fontEngine(), textItem->glyphs[i]);
// we don't cache glyphs with no width/height
if (!g)
@@ -5003,7 +5003,7 @@ void QOpenGLPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte
{
QStaticTextItem staticTextItem;
staticTextItem.chars = const_cast<QChar *>(ti.chars);
- staticTextItem.fontEngine = ti.fontEngine;
+ staticTextItem.setFontEngine(ti.fontEngine);
staticTextItem.glyphs = glyphs.data();
staticTextItem.numChars = ti.num_chars;
staticTextItem.numGlyphs = glyphs.size();
diff --git a/src/opengl/qpixmapdata_gl.cpp b/src/opengl/qpixmapdata_gl.cpp
index 89000bb..cd7f0c2 100644
--- a/src/opengl/qpixmapdata_gl.cpp
+++ b/src/opengl/qpixmapdata_gl.cpp
@@ -739,8 +739,8 @@ QGLTexture* QGLPixmapData::texture() const
return &m_texture;
}
-extern int qt_defaultDpiX();
-extern int qt_defaultDpiY();
+Q_DECL_IMPORT extern int qt_defaultDpiX();
+Q_DECL_IMPORT extern int qt_defaultDpiY();
int QGLPixmapData::metric(QPaintDevice::PaintDeviceMetric metric) const
{
diff --git a/src/opengl/qpixmapdata_gl_p.h b/src/opengl/qpixmapdata_gl_p.h
index f000993..c0b223f 100644
--- a/src/opengl/qpixmapdata_gl_p.h
+++ b/src/opengl/qpixmapdata_gl_p.h
@@ -169,6 +169,7 @@ private:
friend class QGLPixmapGLPaintDevice;
friend class QMeeGoPixmapData;
+ friend class QMeeGoLivePixmapData;
};
QT_END_NAMESPACE
diff --git a/src/opengl/qpixmapdata_x11gl_egl.cpp b/src/opengl/qpixmapdata_x11gl_egl.cpp
index 2c11a0b..5cbc836 100644
--- a/src/opengl/qpixmapdata_x11gl_egl.cpp
+++ b/src/opengl/qpixmapdata_x11gl_egl.cpp
@@ -93,7 +93,7 @@ public:
if (rgbConfig == argbConfig)
argbContext = rgbContext;
- // Otherwise, create a seperate context to be used for ARGB pixmaps:
+ // Otherwise, create a separate context to be used for ARGB pixmaps:
if (!argbContext) {
argbContext = new QEglContext;
argbContext->setConfig(argbConfig);
@@ -314,7 +314,7 @@ QPaintEngine* QX11GLPixmapData::paintEngine() const
Q_ASSERT(ctx->d_func()->eglContext == 0);
ctx->d_func()->eglContext = hasAlphaChannel() ? sharedContexts()->argbContext : sharedContexts()->rgbContext;
- // While we use a seperate QGLContext for each pixmap, the underlying QEglContext is
+ // While we use a separate QGLContext for each pixmap, the underlying QEglContext is
// the same. So we must use a "fake" QGLContext and fool the texture cache into thinking
// each pixmap's QGLContext is sharing with this central one. The only place this is
// going to fail is where we the underlying EGL RGB and ARGB contexts aren't sharing.
diff --git a/src/opengl/qwindowsurface_gl.cpp b/src/opengl/qwindowsurface_gl.cpp
index 8157b2a..bbb98d0 100644
--- a/src/opengl/qwindowsurface_gl.cpp
+++ b/src/opengl/qwindowsurface_gl.cpp
@@ -194,7 +194,7 @@ public:
widget = new QGLWidget(QGLFormat(QGL::SingleBuffer | QGL::NoDepthBuffer | QGL::NoStencilBuffer));
widget->resize(1, 1);
- // We dont need this internal widget to appear in QApplication::topLevelWidgets()
+ // We don't need this internal widget to appear in QApplication::topLevelWidgets()
if (QWidgetPrivate::allWidgets)
QWidgetPrivate::allWidgets->remove(widget);
initializing = false;
@@ -275,6 +275,8 @@ struct QGLWindowSurfacePrivate
QRegion paintedRegion;
QSize size;
+ QSize textureSize;
+
QList<QImage> buffers;
QGLWindowSurfaceGLPaintDevice glDevice;
QGLWindowSurface* q_ptr;
@@ -316,6 +318,7 @@ QGLWindowSurface::QGLWindowSurface(QWidget *window)
d_ptr->pb = 0;
d_ptr->fbo = 0;
d_ptr->ctx = 0;
+ d_ptr->tex_id = 0;
#if defined (QT_OPENGL_ES_2)
d_ptr->tried_fbo = true;
d_ptr->tried_pb = true;
@@ -433,7 +436,7 @@ static void drawTexture(const QRectF &rect, GLuint tex_id, const QSize &texSize,
void QGLWindowSurface::beginPaint(const QRegion &)
{
- if (! context())
+ if (!context())
return;
int clearFlags = 0;
@@ -457,13 +460,42 @@ void QGLWindowSurface::endPaint(const QRegion &rgn)
d_ptr->buffers.clear();
}
-void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &offset)
+static void blitTexture(QGLContext *ctx, GLuint texture, const QSize &viewport, const QSize &texSize, const QRect &targetRect, const QRect &sourceRect)
{
- if (context() && widget != window()) {
- qWarning("No native child widget support in GL window surface without FBOs or pixel buffers");
- return;
- }
+ glDisable(GL_DEPTH_TEST);
+ glDisable(GL_SCISSOR_TEST);
+ glDisable(GL_BLEND);
+
+ glViewport(0, 0, viewport.width(), viewport.height());
+
+ QGLShaderProgram *blitProgram =
+ QGLEngineSharedShaders::shadersForContext(ctx)->blitProgram();
+ blitProgram->bind();
+ blitProgram->setUniformValue("imageTexture", 0 /*QT_IMAGE_TEXTURE_UNIT*/);
+
+ // The shader manager's blit program does not multiply the
+ // vertices by the pmv matrix, so we need to do the effect
+ // of the orthographic projection here ourselves.
+ QRectF r;
+ qreal w = viewport.width();
+ qreal h = viewport.height();
+ r.setLeft((targetRect.left() / w) * 2.0f - 1.0f);
+ if (targetRect.right() == (viewport.width() - 1))
+ r.setRight(1.0f);
+ else
+ r.setRight((targetRect.right() / w) * 2.0f - 1.0f);
+ r.setBottom((targetRect.top() / h) * 2.0f - 1.0f);
+ if (targetRect.bottom() == (viewport.height() - 1))
+ r.setTop(1.0f);
+ else
+ r.setTop((targetRect.bottom() / w) * 2.0f - 1.0f);
+
+ drawTexture(r, texture, texSize, sourceRect);
+}
+
+void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &offset)
+{
//### Find out why d_ptr->geometry_updated isn't always false.
// flush() should not be called when d_ptr->geometry_updated is true. It assumes that either
// d_ptr->fbo or d_ptr->pb is allocated and has the correct size.
@@ -534,12 +566,29 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &
}
}
#endif
- if (hasPartialUpdateSupport() &&
- d_ptr->paintedRegion.boundingRect().width() * d_ptr->paintedRegion.boundingRect().height() <
- geometry().width() * geometry().height() * 0.2) {
- context()->d_func()->swapRegion(&d_ptr->paintedRegion);
- } else
- context()->swapBuffers();
+ bool doingPartialUpdate = hasPartialUpdateSupport() && br.width() * br.height() < parent->geometry().width() * parent->geometry().height() * 0.2;
+ QGLContext *ctx = reinterpret_cast<QGLContext *>(parent->d_func()->extraData()->glContext);
+ if (widget != window()) {
+ if (initializeOffscreenTexture(window()->size()))
+ qWarning() << "QGLWindowSurface: Flushing to native child widget, may lead to significant performance loss";
+ glBindTexture(target, d_ptr->tex_id);
+
+ const uint bottom = window()->height() - (br.y() + br.height());
+ glCopyTexSubImage2D(target, 0, br.x(), bottom, br.x(), bottom, br.width(), br.height());
+
+ glBindTexture(target, 0);
+
+ ctx->makeCurrent();
+ if (doingPartialUpdate)
+ blitTexture(ctx, d_ptr->tex_id, parent->size(), window()->size(), rect, br);
+ else
+ blitTexture(ctx, d_ptr->tex_id, parent->size(), window()->size(), parent->rect(), parent->rect().translated(offset + wOffset));
+ }
+
+ if (doingPartialUpdate)
+ ctx->d_func()->swapRegion(br);
+ else
+ ctx->swapBuffers();
d_ptr->paintedRegion = QRegion();
} else {
@@ -665,38 +714,10 @@ void QGLWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoint &
else if (d_ptr->fbo) {
Q_UNUSED(target);
- GLuint texture = d_ptr->fbo->texture();
-
- glDisable(GL_DEPTH_TEST);
-
if (d_ptr->fbo->isBound())
d_ptr->fbo->release();
- glViewport(0, 0, size.width(), size.height());
-
- QGLShaderProgram *blitProgram =
- QGLEngineSharedShaders::shadersForContext(ctx)->blitProgram();
- blitProgram->bind();
- blitProgram->setUniformValue("imageTexture", 0 /*QT_IMAGE_TEXTURE_UNIT*/);
-
- // The shader manager's blit program does not multiply the
- // vertices by the pmv matrix, so we need to do the effect
- // of the orthographic projection here ourselves.
- QRectF r;
- qreal w = size.width() ? size.width() : 1.0f;
- qreal h = size.height() ? size.height() : 1.0f;
- r.setLeft((rect.left() / w) * 2.0f - 1.0f);
- if (rect.right() == (size.width() - 1))
- r.setRight(1.0f);
- else
- r.setRight((rect.right() / w) * 2.0f - 1.0f);
- r.setBottom((rect.top() / h) * 2.0f - 1.0f);
- if (rect.bottom() == (size.height() - 1))
- r.setTop(1.0f);
- else
- r.setTop((rect.bottom() / w) * 2.0f - 1.0f);
-
- drawTexture(r, texture, window()->size(), br);
+ blitTexture(ctx, d_ptr->fbo->texture(), size, window()->size(), rect, br);
}
#endif
@@ -719,7 +740,6 @@ void QGLWindowSurface::updateGeometry() {
return;
d_ptr->geometry_updated = false;
-
QRect rect = geometry();
hijackWindow(window());
QGLContext *ctx = reinterpret_cast<QGLContext *>(window()->d_func()->extraData()->glContext);
@@ -740,11 +760,8 @@ void QGLWindowSurface::updateGeometry() {
if (d_ptr->ctx) {
#ifndef QT_OPENGL_ES_2
- if (d_ptr->destructive_swap_buffers) {
- glBindTexture(target, d_ptr->tex_id);
- glTexImage2D(target, 0, GL_RGBA, rect.width(), rect.height(), 0, GL_RGB, GL_UNSIGNED_BYTE, 0);
- glBindTexture(target, 0);
- }
+ if (d_ptr->destructive_swap_buffers)
+ initializeOffscreenTexture(rect.size());
#endif
return;
}
@@ -824,15 +841,8 @@ void QGLWindowSurface::updateGeometry() {
ctx->makeCurrent();
#ifndef QT_OPENGL_ES_2
- if (d_ptr->destructive_swap_buffers) {
- glGenTextures(1, &d_ptr->tex_id);
- glBindTexture(target, d_ptr->tex_id);
- glTexImage2D(target, 0, GL_RGBA, rect.width(), rect.height(), 0, GL_RGB, GL_UNSIGNED_BYTE, 0);
-
- glTexParameterf(target, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(target, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glBindTexture(target, 0);
- }
+ if (d_ptr->destructive_swap_buffers)
+ initializeOffscreenTexture(rect.size());
#endif
qDebug() << "QGLWindowSurface: Using plain widget as window surface" << this;;
@@ -840,6 +850,23 @@ void QGLWindowSurface::updateGeometry() {
d_ptr->ctx->d_ptr->internal_context = true;
}
+bool QGLWindowSurface::initializeOffscreenTexture(const QSize &size)
+{
+ if (size == d_ptr->textureSize)
+ return false;
+
+ glGenTextures(1, &d_ptr->tex_id);
+ glBindTexture(GL_TEXTURE_2D, d_ptr->tex_id);
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, size.width(), size.height(), 0, GL_RGB, GL_UNSIGNED_BYTE, 0);
+
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+ glBindTexture(GL_TEXTURE_2D, 0);
+
+ d_ptr->textureSize = size;
+ return true;
+}
+
bool QGLWindowSurface::scroll(const QRegion &area, int dx, int dy)
{
// this code randomly fails currently for unknown reasons
diff --git a/src/opengl/qwindowsurface_gl_p.h b/src/opengl/qwindowsurface_gl_p.h
index ffc2e86..6906f35 100644
--- a/src/opengl/qwindowsurface_gl_p.h
+++ b/src/opengl/qwindowsurface_gl_p.h
@@ -107,6 +107,7 @@ private slots:
private:
void hijackWindow(QWidget *widget);
+ bool initializeOffscreenTexture(const QSize &size);
QGLWindowSurfacePrivate *d_ptr;
};
diff --git a/src/openvg/qpaintengine_vg.cpp b/src/openvg/qpaintengine_vg.cpp
index ce9d11a..b8e8bad 100644
--- a/src/openvg/qpaintengine_vg.cpp
+++ b/src/openvg/qpaintengine_vg.cpp
@@ -55,6 +55,8 @@
#include <QtGui/private/qfontengine_p.h>
#include <QtGui/private/qpainterpath_p.h>
#include <QtGui/private/qstatictext_p.h>
+#include <QtGui/QApplication>
+#include <QtGui/QDesktopWidget>
#include <QtCore/qmath.h>
#include <QDebug>
#include <QSet>
@@ -1500,7 +1502,10 @@ void QVGPaintEnginePrivate::fill(VGPath path, const QBrush& brush, VGint rule)
return;
ensureBrush(brush);
setFillRule(rule);
+ QPen savedPen = currentPen;
+ currentPen = Qt::NoPen;
ensurePathTransform();
+ currentPen = savedPen;
vgDrawPath(path, VG_FILL_PATH);
}
@@ -3060,6 +3065,21 @@ void qt_vg_drawVGImageStencil
vgDrawImage(vgImg);
}
+bool QVGPaintEngine::canVgWritePixels(const QImage &image) const
+{
+ Q_D(const QVGPaintEngine);
+ // vgWritePixels ignores masking, blending and xforms so we can only use it if
+ // ALL of the following conditions are true:
+ // - It is a simple translate, or a scale of -1 on the y-axis (inverted)
+ // - The opacity is totally opaque
+ // - The composition mode is "source" OR "source over" provided the image is opaque
+ return ( d->imageTransform.type() <= QTransform::TxScale
+ && d->imageTransform.m11() == 1.0 && qAbs(d->imageTransform.m22()) == 1.0)
+ && d->opacity == 1.0f
+ && (d->blendMode == VG_BLEND_SRC || (d->blendMode == VG_BLEND_SRC_OVER &&
+ !image.hasAlphaChannel()));
+}
+
void QVGPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr)
{
QPixmapData *pd = pm.pixmapData();
@@ -3074,9 +3094,18 @@ void QVGPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF
drawVGImage(d, r, vgpd->toVGImage(), vgpd->size(), sr);
else
drawVGImage(d, r, vgpd->toVGImage(d->opacity), vgpd->size(), sr);
- } else {
- drawImage(r, *(pd->buffer()), sr, Qt::AutoColor);
+
+ if(!vgpd->failedToAlloc)
+ return;
+
+ // try to reallocate next time if reasonable small pixmap
+ QSize screenSize = QApplication::desktop()->screenGeometry().size();
+ if (pm.size().width() <= screenSize.width()
+ && pm.size().height() <= screenSize.height())
+ vgpd->failedToAlloc = false;
}
+
+ drawImage(r, *(pd->buffer()), sr, Qt::AutoColor);
}
void QVGPaintEngine::drawPixmap(const QPointF &pos, const QPixmap &pm)
@@ -3093,9 +3122,18 @@ void QVGPaintEngine::drawPixmap(const QPointF &pos, const QPixmap &pm)
drawVGImage(d, pos, vgpd->toVGImage());
else
drawVGImage(d, pos, vgpd->toVGImage(d->opacity));
- } else {
- drawImage(pos, *(pd->buffer()));
+
+ if (!vgpd->failedToAlloc)
+ return;
+
+ // try to reallocate next time if reasonable small pixmap
+ QSize screenSize = QApplication::desktop()->screenGeometry().size();
+ if (pm.size().width() <= screenSize.width()
+ && pm.size().height() <= screenSize.height())
+ vgpd->failedToAlloc = false;
}
+
+ drawImage(pos, *(pd->buffer()));
}
void QVGPaintEngine::drawImage
@@ -3116,9 +3154,31 @@ void QVGPaintEngine::drawImage
QRectF(QPointF(0, 0), sr.size()));
}
} else {
- // Monochrome images need to use the vgChildImage() path.
- vgImg = toVGImage(image, flags);
- drawVGImage(d, r, vgImg, image.size(), sr);
+ if (canVgWritePixels(image) && (r.size() == sr.size()) && !flags) {
+ // Optimization for straight blits, no blending
+ int x = sr.x();
+ int y = sr.y();
+ int bpp = image.depth() >> 3; // bytes
+ int offset = 0;
+ int bpl = image.bytesPerLine();
+ if (d->imageTransform.m22() < 0) {
+ // inverted
+ offset = ((y + sr.height()) * bpl) - ((image.width() - x) * bpp);
+ bpl = -bpl;
+ } else {
+ offset = (y * bpl) + (x * bpp);
+ }
+ const uchar *bits = image.constBits() + offset;
+
+ QPointF mapped = d->imageTransform.map(r.topLeft());
+ vgWritePixels(bits, bpl, qt_vg_image_to_vg_format(image.format()),
+ mapped.x(), mapped.y() - sr.height(), r.width(), r.height());
+ return;
+ } else {
+ // Monochrome images need to use the vgChildImage() path.
+ vgImg = toVGImage(image, flags);
+ drawVGImage(d, r, vgImg, image.size(), sr);
+ }
}
vgDestroyImage(vgImg);
}
@@ -3127,10 +3187,21 @@ void QVGPaintEngine::drawImage(const QPointF &pos, const QImage &image)
{
Q_D(QVGPaintEngine);
VGImage vgImg;
- if (d->simpleTransform || d->opacity == 1.0f)
+ if (canVgWritePixels(image)) {
+ // Optimization for straight blits, no blending
+ bool inverted = (d->imageTransform.m22() < 0);
+ const uchar *bits = inverted ? image.constBits() + image.byteCount() : image.constBits();
+ int bpl = inverted ? -image.bytesPerLine() : image.bytesPerLine();
+
+ QPointF mapped = d->imageTransform.map(pos);
+ vgWritePixels(bits, bpl, qt_vg_image_to_vg_format(image.format()),
+ mapped.x(), mapped.y() - image.height(), image.width(), image.height());
+ return;
+ } else if (d->simpleTransform || d->opacity == 1.0f) {
vgImg = toVGImage(image);
- else
+ } else {
vgImg = toVGImageWithOpacity(image, d->opacity);
+ }
drawVGImage(d, pos, vgImg);
vgDestroyImage(vgImg);
}
@@ -3407,7 +3478,7 @@ void QVGPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textItem)
void QVGPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)
{
- drawCachedGlyphs(textItem->numGlyphs, textItem->glyphs, textItem->font, textItem->fontEngine,
+ drawCachedGlyphs(textItem->numGlyphs, textItem->glyphs, textItem->font, textItem->fontEngine(),
QPointF(0, 0), textItem->glyphPositions);
}
@@ -3475,8 +3546,8 @@ void QVGPaintEngine::drawStaticTextItem(QStaticTextItem *textItem)
// Set the glyph drawing origin.
VGfloat origin[2];
- origin[0] = positions[0].x.toReal();
- origin[1] = positions[0].y.toReal();
+ origin[0] = positions[0].x.round().toReal();
+ origin[1] = positions[0].y.round().toReal();
vgSetfv(VG_GLYPH_ORIGIN, 2, origin);
// Fast anti-aliasing for paths, better for images.
@@ -3610,6 +3681,7 @@ void QVGPaintEngine::restoreState(QPaintEngine::DirtyFlags dirty)
d->maskIsSet = false;
d->scissorMask = false;
d->maskRect = QRect();
+ d->scissorDirty = true;
clipEnabledChanged();
}
diff --git a/src/openvg/qpaintengine_vg_p.h b/src/openvg/qpaintengine_vg_p.h
index 75cf053..dc98137 100644
--- a/src/openvg/qpaintengine_vg_p.h
+++ b/src/openvg/qpaintengine_vg_p.h
@@ -170,6 +170,7 @@ private:
bool isDefaultClipRegion(const QRegion& region);
bool isDefaultClipRect(const QRect& rect);
bool clearRect(const QRectF &rect, const QColor &color);
+ bool canVgWritePixels(const QImage &image) const;
};
QT_END_NAMESPACE
diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp
index e8ec333..c3c7def 100644
--- a/src/openvg/qpixmapdata_vg.cpp
+++ b/src/openvg/qpixmapdata_vg.cpp
@@ -65,6 +65,7 @@ QVGPixmapData::QVGPixmapData(PixelType type)
recreate = true;
inImagePool = false;
inLRU = false;
+ failedToAlloc = false;
#if !defined(QT_NO_EGL)
context = 0;
qt_vg_register_pixmap(this);
@@ -155,6 +156,9 @@ void QVGPixmapData::resize(int wid, int ht)
void QVGPixmapData::fromImage
(const QImage &image, Qt::ImageConversionFlags flags)
{
+ if(image.isNull())
+ return;
+
QImage img = image;
createPixmapForImage(img, flags, false);
}
@@ -203,10 +207,19 @@ void QVGPixmapData::createPixmapForImage(QImage &image, Qt::ImageConversionFlags
else
resize(image.width(), image.height());
- if (inPlace && image.data_ptr()->convertInPlace(sourceFormat(), flags))
+ QImage::Format format = sourceFormat();
+ int d = image.depth();
+ if (d == 1 || d == 16 || d == 24 || (d == 32 && !image.hasAlphaChannel()))
+ format = QImage::Format_RGB32;
+ else if (!(flags & Qt::NoOpaqueDetection) && const_cast<QImage &>(image).data_ptr()->checkForAlphaPixels())
+ format = sourceFormat();
+ else
+ format = image.hasAlphaChannel() ? sourceFormat() : QImage::Format_RGB32;
+
+ if (inPlace && image.data_ptr()->convertInPlace(format, flags))
source = image;
else
- source = image.convertToFormat(sourceFormat());
+ source = image.convertToFormat(format);
recreate = true;
}
@@ -278,7 +291,7 @@ QPaintEngine* QVGPixmapData::paintEngine() const
VGImage QVGPixmapData::toVGImage()
{
- if (!isValid())
+ if (!isValid() || failedToAlloc)
return VG_INVALID_HANDLE;
#if !defined(QT_NO_EGL)
@@ -294,11 +307,13 @@ VGImage QVGPixmapData::toVGImage()
if (vgImage == VG_INVALID_HANDLE) {
vgImage = QVGImagePool::instance()->createImageForPixmap
- (VG_sARGB_8888_PRE, w, h, VG_IMAGE_QUALITY_FASTER, this);
+ (qt_vg_image_to_vg_format(source.format()), w, h, VG_IMAGE_QUALITY_FASTER, this);
// Bail out if we run out of GPU memory - try again next time.
- if (vgImage == VG_INVALID_HANDLE)
+ if (vgImage == VG_INVALID_HANDLE) {
+ failedToAlloc = true;
return VG_INVALID_HANDLE;
+ }
inImagePool = true;
} else if (inImagePool) {
@@ -309,7 +324,7 @@ VGImage QVGPixmapData::toVGImage()
vgImageSubData
(vgImage,
source.constBits(), source.bytesPerLine(),
- VG_sARGB_8888_PRE, 0, 0, w, h);
+ qt_vg_image_to_vg_format(source.format()), 0, 0, w, h);
}
recreate = false;
diff --git a/src/openvg/qpixmapdata_vg_p.h b/src/openvg/qpixmapdata_vg_p.h
index 114d545..7ffdc85 100644
--- a/src/openvg/qpixmapdata_vg_p.h
+++ b/src/openvg/qpixmapdata_vg_p.h
@@ -143,7 +143,9 @@ private:
QVGPixmapData *nextLRU;
QVGPixmapData *prevLRU;
bool inLRU;
+ bool failedToAlloc;
friend class QVGImagePool;
+ friend class QVGPaintEngine;
#if !defined(QT_NO_EGL)
QVGPixmapData *next;
diff --git a/src/openvg/qvg_symbian.cpp b/src/openvg/qvg_symbian.cpp
index 41b35fc..c608c81 100644
--- a/src/openvg/qvg_symbian.cpp
+++ b/src/openvg/qvg_symbian.cpp
@@ -164,7 +164,6 @@ void QVGPixmapData::fromNativeType(void* pixmap, NativeType type)
CFbsBitmap *bitmap = reinterpret_cast<CFbsBitmap*>(pixmap);
bool deleteSourceBitmap = false;
-
#ifdef Q_SYMBIAN_HAS_EXTENDED_BITMAP_TYPE
// Rasterize extended bitmaps
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp
index f39d538..4a3acbb 100644
--- a/src/plugins/accessible/widgets/simplewidgets.cpp
+++ b/src/plugins/accessible/widgets/simplewidgets.cpp
@@ -602,7 +602,7 @@ int QAccessibleDisplay::navigate(RelationFlag rel, int entry, QAccessibleInterfa
return QAccessibleWidgetEx::navigate(rel, entry, target);
}
-/*! \reimp */
+/*! \internal */
QString QAccessibleDisplay::imageDescription()
{
#ifndef QT_NO_TOOLTIP
@@ -612,7 +612,7 @@ QString QAccessibleDisplay::imageDescription()
#endif
}
-/*! \reimp */
+/*! \internal */
QSize QAccessibleDisplay::imageSize()
{
QLabel *label = qobject_cast<QLabel *>(widget());
@@ -624,7 +624,7 @@ QSize QAccessibleDisplay::imageSize()
return pixmap->size();
}
-/*! \reimp */
+/*! \internal */
QRect QAccessibleDisplay::imagePosition(QAccessible2::CoordinateType coordType)
{
QLabel *label = qobject_cast<QLabel *>(widget());
diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp
index a8b8911..7f3501e 100644
--- a/src/plugins/bearer/connman/qconnmanengine.cpp
+++ b/src/plugins/bearer/connman/qconnmanengine.cpp
@@ -170,13 +170,26 @@ bool QConnmanEngine::hasIdentifier(const QString &id)
void QConnmanEngine::connectToId(const QString &id)
{
QMutexLocker locker(&mutex);
- QConnmanConnectThread *thread;
- thread = new QConnmanConnectThread(this);
- thread->setServicePath(serviceFromId(id));
- thread->setIdentifier(id);
- connect(thread,SIGNAL(connectionError(QString,QBearerEngineImpl::ConnectionError)),
- this,SIGNAL(connectionError(QString,QBearerEngineImpl::ConnectionError)));
- thread->start();
+ QString servicePath = serviceFromId(id);
+ QConnmanServiceInterface serv(servicePath);
+ if(!serv.isValid()) {
+ emit connectionError(id, QBearerEngineImpl::InterfaceLookupError);
+ } else {
+ if(serv.getType() != "cellular") {
+
+ serv.connect();
+ } else {
+ QOfonoManagerInterface ofonoManager(0);
+ QString modemPath = ofonoManager.currentModem().path();
+ QOfonoDataConnectionManagerInterface dc(modemPath,0);
+ foreach(const QDBusObjectPath dcPath,dc.getPrimaryContexts()) {
+ if(dcPath.path().contains(servicePath.section("_",-1))) {
+ QOfonoPrimaryDataContextInterface primaryContext(dcPath.path(),0);
+ primaryContext.setActive(true);
+ }
+ }
+ }
+ }
}
void QConnmanEngine::disconnectFromId(const QString &id)
@@ -713,6 +726,7 @@ void QConnmanEngine::addNetworkConfiguration(const QString &networkPath)
if(servicePath.isEmpty()) {
id = QString::number(qHash(networkPath));
+ serv = 0;
} else {
id = QString::number(qHash(servicePath));
serv = new QConnmanServiceInterface(servicePath,this);
@@ -791,62 +805,6 @@ bool QConnmanEngine::requiresPolling() const
return false;
}
-
-QConnmanConnectThread::QConnmanConnectThread(QObject *parent)
- :QThread(parent),
- servicePath(), identifier()
-{
-}
-
-QConnmanConnectThread::~QConnmanConnectThread()
-{
-}
-
-void QConnmanConnectThread::stop()
-{
- if(currentThread() != this) {
- QMetaObject::invokeMethod(this, "quit",
- Qt::QueuedConnection);
- } else {
- quit();
- }
- wait();
-}
-
-void QConnmanConnectThread::run()
-{
- QConnmanServiceInterface serv(servicePath);
- if(!serv.isValid()) {
- emit connectionError(identifier, QBearerEngineImpl::InterfaceLookupError);
- } else {
- if(serv.getType() != "cellular") {
- serv.connect();
- } else {
- QOfonoManagerInterface ofonoManager(0);
- QString modemPath = ofonoManager.currentModem().path();
- QOfonoDataConnectionManagerInterface dc(modemPath,0);
- foreach(const QDBusObjectPath dcPath,dc.getPrimaryContexts()) {
- if(dcPath.path().contains(servicePath.section("_",-1))) {
- QOfonoPrimaryDataContextInterface primaryContext(dcPath.path(),0);
- primaryContext.setActive(true);
- }
- }
- }
- }
-}
-
-void QConnmanConnectThread::setServicePath(const QString &path)
-{
- QMutexLocker locker(&mutex);
- servicePath = path;
-}
-
-void QConnmanConnectThread::setIdentifier(const QString &id)
-{
- QMutexLocker locker(&mutex);
- identifier = id;
-}
-
QT_END_NAMESPACE
#endif // QT_NO_DBUS
diff --git a/src/plugins/bearer/connman/qconnmanengine.h b/src/plugins/bearer/connman/qconnmanengine.h
index 569bbc7..2a2308f 100644
--- a/src/plugins/bearer/connman/qconnmanengine.h
+++ b/src/plugins/bearer/connman/qconnmanengine.h
@@ -59,14 +59,12 @@
#include <QMap>
#include <QVariant>
-#include <QtCore/qthread.h>
#ifndef QT_NO_BEARERMANAGEMENT
#ifndef QT_NO_DBUS
QT_BEGIN_NAMESPACE
-class QConnmanConnectThread;
class QConnmanEngine : public QBearerEngineImpl
{
Q_OBJECT
@@ -141,33 +139,8 @@ private:
bool isRoamingAllowed(const QString &context);
protected:
bool requiresPolling() const;
- QConnmanConnectThread *connThread;
};
-class QConnmanConnectThread : public QThread
-{
- Q_OBJECT
-
-public:
- QConnmanConnectThread(QObject *parent = 0);
- ~QConnmanConnectThread();
- bool keepRunning;
- void stop();
- void setServicePath(const QString &path);
- void setIdentifier(const QString &id);
-
-Q_SIGNALS:
- void connectionError(const QString &id, QBearerEngineImpl::ConnectionError error);
-
-protected:
- void run();
- QString servicePath;
- QString identifier;
-
-private:
- QMutex mutex;
-
-};
QT_END_NAMESPACE
diff --git a/src/plugins/bearer/connman/qconnmanservice_linux.cpp b/src/plugins/bearer/connman/qconnmanservice_linux.cpp
index 549a07a..0545422 100644
--- a/src/plugins/bearer/connman/qconnmanservice_linux.cpp
+++ b/src/plugins/bearer/connman/qconnmanservice_linux.cpp
@@ -106,7 +106,7 @@ if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -216,7 +216,6 @@ void QConnmanManagerInterface::registerCounter(const QString &path, quint32 inte
{ QDBusReply<QList<QDBusObjectPath> > reply = this->call(QLatin1String("RegisterCounter"),
QVariant::fromValue(path),
QVariant::fromValue(interval));
- bool ok = true;
if(reply.error().type() == QDBusError::InvalidArgs) {
qWarning() << reply.error().message();
}
@@ -225,7 +224,6 @@ void QConnmanManagerInterface::registerCounter(const QString &path, quint32 inte
void QConnmanManagerInterface::unregisterCounter(const QString &path)
{ QDBusReply<QList<QDBusObjectPath> > reply = this->call(QLatin1String("UnregisterCounter"),
QVariant::fromValue(path));
- bool ok = true;
if(reply.error().type() == QDBusError::InvalidArgs) {
qWarning() << reply.error().message();
}
@@ -338,7 +336,7 @@ void QConnmanNetworkInterface::connectNotify(const char *signal)
this->path(),
QLatin1String(CONNMAN_NETWORK_INTERFACE),
QLatin1String("PropertyChanged"),
- this,SIGNAL(propertyChanged(QString,QDBusVariant))) ) {
+ this,SIGNAL(propertyChanged(QString,QDBusVariant)))) {
qWarning() << "network properties not connected";
}
}
@@ -353,7 +351,7 @@ void QConnmanNetworkInterface::connectNotify(const char *signal)
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -538,7 +536,7 @@ void QConnmanServiceInterface::connectNotify(const char *signal)
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -569,10 +567,9 @@ QVariant QConnmanServiceInterface::getProperty(const QString &property)
return var;
}
-// clearProperty
void QConnmanServiceInterface::connect()
{
- QDBusReply<QVariantMap> reply = this->call(QLatin1String("Connect"));
+ this->asyncCall(QLatin1String("Connect"));
}
void QConnmanServiceInterface::disconnect()
@@ -866,7 +863,7 @@ void QConnmanTechnologyInterface::connectNotify(const char *signal)
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -1031,7 +1028,7 @@ void QConnmanDeviceInterface::connectNotify(const char *signal)
helper,SLOT(propertyChanged(QString,QDBusVariant)));
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
diff --git a/src/plugins/bearer/connman/qofonoservice_linux.cpp b/src/plugins/bearer/connman/qofonoservice_linux.cpp
index 955f4b1..52f596b 100644
--- a/src/plugins/bearer/connman/qofonoservice_linux.cpp
+++ b/src/plugins/bearer/connman/qofonoservice_linux.cpp
@@ -262,7 +262,7 @@ void QOfonoModemInterface::connectNotify(const char *signal)
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}}
void QOfonoModemInterface::disconnectNotify(const char *signal)
@@ -385,7 +385,7 @@ if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -483,7 +483,7 @@ if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -586,7 +586,7 @@ if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -675,7 +675,7 @@ if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
@@ -794,7 +794,7 @@ if (QLatin1String(signal) == SIGNAL(propertyChanged(QString,QDBusVariant))) {
QObject::connect(helper,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)),
- this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)));
+ this,SIGNAL(propertyChangedContext(const QString &,const QString &,const QDBusVariant &)), Qt::UniqueConnection);
}
}
diff --git a/src/plugins/bearer/corewlan/corewlan.pro b/src/plugins/bearer/corewlan/corewlan.pro
index 922a501..9cb3955 100644
--- a/src/plugins/bearer/corewlan/corewlan.pro
+++ b/src/plugins/bearer/corewlan/corewlan.pro
@@ -1,7 +1,7 @@
TARGET = qcorewlanbearer
include(../../qpluginbase.pri)
-QT = core gui network
+QT = core network
LIBS += -framework Foundation -framework SystemConfiguration
contains(QT_CONFIG, corewlan) {
diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
index 844e38b..9946b17 100644
--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -64,12 +64,17 @@
#include <Foundation/NSLock.h>
#include <SystemConfiguration/SCNetworkConfiguration.h>
-#include <private/qt_cocoa_helpers_mac_p.h>
#include "private/qcore_mac_p.h"
#include <net/if.h>
#include <ifaddrs.h>
+inline QString qt_NSStringToQString(const NSString *nsstr)
+{ return QCFString::toQString(reinterpret_cast<const CFStringRef>(nsstr)); }
+
+inline NSString *qt_QStringToNSString(const QString &qstr)
+{ return [reinterpret_cast<const NSString *>(QCFString::toCFStringRef(qstr)) autorelease]; }
+
@interface QT_MANGLE_NAMESPACE(QNSListener) : NSObject
{
@@ -93,11 +98,12 @@
- (id) init
{
[locker lock];
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
notificationCenter = [NSNotificationCenter defaultCenter];
currentInterface = [CWInterface interfaceWithName:nil];
[notificationCenter addObserver:self selector:@selector(notificationHandler:) name:kCWPowerDidChangeNotification object:nil];
[locker unlock];
+ [autoreleasepool release];
return self;
}
@@ -161,10 +167,10 @@ void QScanThread::quit()
void QScanThread::run()
{
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
QStringList found;
mutex.lock();
- CWInterface *currentInterface = [CWInterface interfaceWithName:qt_mac_QStringToNSString(interfaceName)];
+ CWInterface *currentInterface = [CWInterface interfaceWithName:qt_QStringToNSString(interfaceName)];
mutex.unlock();
if([currentInterface power]) {
@@ -182,14 +188,14 @@ void QScanThread::run()
for(uint row=0; row < [apArray count]; row++ ) {
apNetwork = [apArray objectAtIndex:row];
- const QString networkSsid = qt_mac_NSStringToQString([apNetwork ssid]);
+ const QString networkSsid = qt_NSStringToQString([apNetwork ssid]);
const QString id = QString::number(qHash(QLatin1String("corewlan:") + networkSsid));
found.append(id);
QNetworkConfiguration::StateFlags state = QNetworkConfiguration::Undefined;
bool known = isKnownSsid(networkSsid);
if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
- if( networkSsid == qt_mac_NSStringToQString( [currentInterface ssid])) {
+ if( networkSsid == qt_NSStringToQString( [currentInterface ssid])) {
state = QNetworkConfiguration::Active;
}
}
@@ -232,7 +238,7 @@ void QScanThread::run()
}
if( [currentInterface.interfaceState intValue] == kCWInterfaceStateRunning) {
- if( networkSsid == qt_mac_NSStringToQString([currentInterface ssid])) {
+ if( networkSsid == qt_NSStringToQString([currentInterface ssid])) {
state = QNetworkConfiguration::Active;
}
}
@@ -251,6 +257,7 @@ void QScanThread::run()
}
}
emit networksChanged();
+ [autoreleasepool release];
}
QStringList QScanThread::foundNetwork(const QString &id, const QString &name, const QNetworkConfiguration::StateFlags state, const QString &interfaceName, const QNetworkConfiguration::Purpose purpose)
@@ -290,7 +297,7 @@ void QScanThread::getUserConfigurations()
{
QMutexLocker locker(&mutex);
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
userProfiles.clear();
NSArray *wifiInterfaces = [CWInterface supportedInterfaces];
@@ -310,10 +317,10 @@ void QScanThread::getUserConfigurations()
NSArray *thisSsidarray = [prefNetDict valueForKey:@"SSID_STR"];
for(NSString *ssidkey in thisSsidarray) {
- QString thisSsid = qt_mac_NSStringToQString(ssidkey);
+ QString thisSsid = qt_NSStringToQString(ssidkey);
if(!userProfiles.contains(thisSsid)) {
QMap <QString,QString> map;
- map.insert(thisSsid, qt_mac_NSStringToQString(nsInterfaceName));
+ map.insert(thisSsid, qt_NSStringToQString(nsInterfaceName));
userProfiles.insert(thisSsid, map);
}
}
@@ -322,7 +329,7 @@ void QScanThread::getUserConfigurations()
// 802.1X user profiles
QString userProfilePath = QDir::homePath() + "/Library/Preferences/com.apple.eap.profiles.plist";
- NSDictionary* eapDict = [[[NSDictionary alloc] initWithContentsOfFile:qt_mac_QStringToNSString(userProfilePath)] autorelease];
+ NSDictionary* eapDict = [[[NSDictionary alloc] initWithContentsOfFile:qt_QStringToNSString(userProfilePath)] autorelease];
if(eapDict != nil) {
NSString *profileStr= @"Profiles";
NSString *nameStr = @"UserDefinedName";
@@ -341,15 +348,15 @@ void QScanThread::getUserConfigurations()
QString ssid;
for(int i = 0; i < dictSize; i++) {
if([nameStr isEqualToString:keys[i]]) {
- networkName = qt_mac_NSStringToQString(objects[i]);
+ networkName = qt_NSStringToQString(objects[i]);
}
if([networkSsidStr isEqualToString:keys[i]]) {
- ssid = qt_mac_NSStringToQString(objects[i]);
+ ssid = qt_NSStringToQString(objects[i]);
}
if(!userProfiles.contains(networkName)
&& !ssid.isEmpty()) {
QMap<QString,QString> map;
- map.insert(ssid, qt_mac_NSStringToQString(nsInterfaceName));
+ map.insert(ssid, qt_NSStringToQString(nsInterfaceName));
userProfiles.insert(networkName, map);
}
}
@@ -358,6 +365,7 @@ void QScanThread::getUserConfigurations()
}
}
}
+ [autoreleasepool release];
}
QString QScanThread::getSsidFromNetworkName(const QString &name)
@@ -434,7 +442,7 @@ QCoreWlanEngine::~QCoreWlanEngine()
void QCoreWlanEngine::initialize()
{
QMutexLocker locker(&mutex);
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
if([[CWInterface supportedInterfaces] count] > 0 && !listener) {
listener = [[QT_MANGLE_NAMESPACE(QNSListener) alloc] init];
@@ -446,6 +454,7 @@ void QCoreWlanEngine::initialize()
storeSession = NULL;
startNetworkChangeLoop();
+ [autoreleasepool release];
}
@@ -466,11 +475,11 @@ bool QCoreWlanEngine::hasIdentifier(const QString &id)
void QCoreWlanEngine::connectToId(const QString &id)
{
QMutexLocker locker(&mutex);
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
QString interfaceString = getInterfaceFromId(id);
CWInterface *wifiInterface =
- [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)];
+ [CWInterface interfaceWithName: qt_QStringToNSString(interfaceString)];
if ([wifiInterface power]) {
NSError *err = nil;
@@ -488,9 +497,9 @@ void QCoreWlanEngine::connectToId(const QString &id)
NSArray *array = [CW8021XProfile allUser8021XProfiles];
for (NSUInteger i = 0; i < [array count]; ++i) {
- const QString networkNameHashCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] userDefinedName])));
+ const QString networkNameHashCheck = QString::number(qHash(QLatin1String("corewlan:") + qt_NSStringToQString([[array objectAtIndex:i] userDefinedName])));
- const QString ssidHash = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString([[array objectAtIndex:i] ssid])));
+ const QString ssidHash = QString::number(qHash(QLatin1String("corewlan:") + qt_NSStringToQString([[array objectAtIndex:i] ssid])));
if (id == networkNameHashCheck || id == ssidHash) {
const QString thisName = scanThread->getSsidFromNetworkName(id);
@@ -523,7 +532,7 @@ void QCoreWlanEngine::connectToId(const QString &id)
[NSNumber numberWithBool:YES], kCWScanKeyMerge,
[NSNumber numberWithInt:kCWScanTypeFast], kCWScanKeyScanType,
[NSNumber numberWithInteger:100], kCWScanKeyRestTime,
- qt_mac_QStringToNSString(wantedSsid), kCWScanKeySSID,
+ qt_QStringToNSString(wantedSsid), kCWScanKeySSID,
nil];
NSArray *scanArray = [wifiInterface scanForNetworksWithParameters:scanParameters error:&err];
@@ -532,7 +541,7 @@ void QCoreWlanEngine::connectToId(const QString &id)
for(uint row=0; row < [scanArray count]; row++ ) {
CWNetwork *apNetwork = [scanArray objectAtIndex:row];
- if(wantedSsid == qt_mac_NSStringToQString([apNetwork ssid])) {
+ if(wantedSsid == qt_NSStringToQString([apNetwork ssid])) {
if(!using8021X) {
SecKeychainAttribute attributes[3];
@@ -599,18 +608,19 @@ void QCoreWlanEngine::connectToId(const QString &id)
return;
}
} else {
- qDebug() <<"associate ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]);
+ qDebug() <<"associate ERROR"<< qt_NSStringToQString([err localizedDescription ]);
}
}
} //end scan network
} else {
- qDebug() <<"scan ERROR"<< qt_mac_NSStringToQString([err localizedDescription ]);
+ qDebug() <<"scan ERROR"<< qt_NSStringToQString([err localizedDescription ]);
}
emit connectionError(id, InterfaceLookupError);
}
locker.unlock();
emit connectionError(id, InterfaceLookupError);
+ [autoreleasepool release];
}
void QCoreWlanEngine::disconnectFromId(const QString &id)
@@ -618,10 +628,10 @@ void QCoreWlanEngine::disconnectFromId(const QString &id)
QMutexLocker locker(&mutex);
QString interfaceString = getInterfaceFromId(id);
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
CWInterface *wifiInterface =
- [CWInterface interfaceWithName: qt_mac_QStringToNSString(interfaceString)];
+ [CWInterface interfaceWithName: qt_QStringToNSString(interfaceString)];
[wifiInterface disassociate];
if ([[wifiInterface interfaceState]intValue] != kCWInterfaceStateInactive) {
@@ -629,6 +639,7 @@ void QCoreWlanEngine::disconnectFromId(const QString &id)
emit connectionError(id, DisconnectionError);
locker.relock();
}
+ [autoreleasepool release];
}
void QCoreWlanEngine::requestUpdate()
@@ -641,27 +652,30 @@ void QCoreWlanEngine::doRequestUpdate()
{
QMutexLocker locker(&mutex);
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
NSArray *wifiInterfaces = [CWInterface supportedInterfaces];
for (uint row = 0; row < [wifiInterfaces count]; ++row) {
- scanThread->interfaceName = qt_mac_NSStringToQString([wifiInterfaces objectAtIndex:row]);
+ scanThread->interfaceName = qt_NSStringToQString([wifiInterfaces objectAtIndex:row]);
scanThread->start();
}
locker.unlock();
+ [autoreleasepool release];
}
bool QCoreWlanEngine::isWifiReady(const QString &wifiDeviceName)
{
QMutexLocker locker(&mutex);
-
+ bool haswifi = false;
if(hasWifi) {
- QMacCocoaAutoReleasePool pool;
- CWInterface *defaultInterface = [CWInterface interfaceWithName: qt_mac_QStringToNSString(wifiDeviceName)];
- if([defaultInterface power])
- return true;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
+ CWInterface *defaultInterface = [CWInterface interfaceWithName: qt_QStringToNSString(wifiDeviceName)];
+ if([defaultInterface power]) {
+ haswifi = true;
+ }
+ [autoreleasepool release];
}
- return false;
+ return haswifi;
}
@@ -853,7 +867,7 @@ quint64 QCoreWlanEngine::bytesReceived(const QString &id)
quint64 QCoreWlanEngine::startTime(const QString &id)
{
QMutexLocker locker(&mutex);
- QMacCocoaAutoReleasePool pool;
+ NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
quint64 timestamp = 0;
NSString *filePath = @"/Library/Preferences/SystemConfiguration/com.apple.airport.preferences.plist";
@@ -884,7 +898,7 @@ quint64 QCoreWlanEngine::startTime(const QString &id)
bool ok = false;
for(int i = 0; i < dictSize; i++) {
if([ssidStr isEqualToString:keys[i]]) {
- const QString ident = QString::number(qHash(QLatin1String("corewlan:") + qt_mac_NSStringToQString(objects[i])));
+ const QString ident = QString::number(qHash(QLatin1String("corewlan:") + qt_NSStringToQString(objects[i])));
if(ident == id) {
ok = true;
}
@@ -900,6 +914,7 @@ quint64 QCoreWlanEngine::startTime(const QString &id)
}
}
}
+ [autoreleasepool release];
return timestamp;
}
diff --git a/src/plugins/bearer/icd/icd.pro b/src/plugins/bearer/icd/icd.pro
index 464cc1c..6700cda 100644
--- a/src/plugins/bearer/icd/icd.pro
+++ b/src/plugins/bearer/icd/icd.pro
@@ -1,7 +1,7 @@
TARGET = qicdbearer
include(../../qpluginbase.pri)
-QT += network dbus
+QT = core network dbus
QMAKE_CXXFLAGS *= $$QT_CFLAGS_DBUS $$QT_CFLAGS_CONNSETTINGS
LIBS += $$QT_LIBS_CONNSETTINGS
diff --git a/src/plugins/bearer/icd/maemo_icd.cpp b/src/plugins/bearer/icd/maemo_icd.cpp
index 4f879e3..57ab0a8 100644
--- a/src/plugins/bearer/icd/maemo_icd.cpp
+++ b/src/plugins/bearer/icd/maemo_icd.cpp
@@ -508,6 +508,7 @@ uint IcdPrivate::state(QList<IcdStateResult>& state_results)
mInterface.clear();
while ((time(0)<=(started+timeout_secs)) && mInterface.isEmpty()) {
mDBus->synchronousDispatch(1000);
+ QCoreApplication::sendPostedEvents(icd, QEvent::MetaCall);
}
if (time(0)>(started+timeout_secs)) {
@@ -685,6 +686,7 @@ uint IcdPrivate::addrinfo(QList<IcdAddressInfoResult>& addr_results)
mInterface.clear();
while ((time(0)<=(started+timeout_secs)) && mInterface.isEmpty()) {
mDBus->synchronousDispatch(1000);
+ QCoreApplication::sendPostedEvents(icd, QEvent::MetaCall);
}
if (time(0)>(started+timeout_secs)) {
diff --git a/src/plugins/bearer/icd/qnetworksession_impl.cpp b/src/plugins/bearer/icd/qnetworksession_impl.cpp
index 37434e3..8d0f587 100644
--- a/src/plugins/bearer/icd/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/icd/qnetworksession_impl.cpp
@@ -679,7 +679,7 @@ void QNetworkSessionPrivateImpl::open()
if (serviceConfig.isValid()) {
lastError = QNetworkSession::OperationNotSupportedError;
emit QNetworkSessionPrivate::error(lastError);
- } else if (!isOpen) {
+ } else if (!opened) {
if (publicConfig.type() == QNetworkConfiguration::UserChoice) {
/* Caller is trying to connect to default IAP.
* At this time we will not know the IAP details so we just
diff --git a/src/plugins/bearer/symbian/qnetworksession_impl.cpp b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
index 7f81397..53a5b4d 100644
--- a/src/plugins/bearer/symbian/qnetworksession_impl.cpp
+++ b/src/plugins/bearer/symbian/qnetworksession_impl.cpp
@@ -760,7 +760,7 @@ void QNetworkSessionPrivateImpl::Error(TInt /*aError*/)
{
#ifdef QT_BEARERMGMT_SYMBIAN_DEBUG
qDebug() << "QNS this : " << QString::number((uint)this) << " - "
- << "roaming Error() occured, isOpen is: " << isOpen;
+ << "roaming Error() occurred, isOpen is: " << isOpen;
#endif
if (isOpen) {
isOpen = false;
@@ -1078,7 +1078,7 @@ void QNetworkSessionPrivateImpl::RunL()
TInt error = KErrNone;
QNetworkConfiguration newActiveConfig = activeConfiguration();
if (!newActiveConfig.isValid()) {
- // RConnection startup was successfull but no configuration
+ // RConnection startup was successful but no configuration
// was found. That indicates that user has chosen to create a
// new WLAN configuration (from scan results), but that new
// configuration does not have access to Internet (Internet
@@ -1151,10 +1151,10 @@ void QNetworkSessionPrivateImpl::RunL()
serviceConfig = QNetworkConfiguration();
iError = QNetworkSession::InvalidConfigurationError;
QT_TRYCATCH_LEAVING(emit QNetworkSessionPrivate::error(iError));
- Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
+ Cancel();
QT_TRYCATCH_LEAVING(syncStateWithInterface());
break;
case KErrCancel: // Connection attempt cancelled
@@ -1173,10 +1173,10 @@ void QNetworkSessionPrivateImpl::RunL()
iError = QNetworkSession::UnknownSessionError;
}
QT_TRYCATCH_LEAVING(emit QNetworkSessionPrivate::error(iError));
- Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
+ Cancel();
QT_TRYCATCH_LEAVING(syncStateWithInterface());
break;
}
@@ -1268,10 +1268,10 @@ bool QNetworkSessionPrivateImpl::newState(QNetworkSession::State newState, TUint
serviceConfig = QNetworkConfiguration();
iError = QNetworkSession::SessionAbortedError;
emit QNetworkSessionPrivate::error(iError);
- Cancel();
if (ipConnectionNotifier) {
ipConnectionNotifier->StopNotifications();
}
+ Cancel();
// Start handling IAP state change signals from QNetworkConfigurationManagerPrivate
iHandleStateNotificationsFromManager = true;
emitSessionClosed = true; // Emit SessionClosed after state change has been reported
diff --git a/src/plugins/bearer/symbian/symbian.pri b/src/plugins/bearer/symbian/symbian.pri
index e874945..8d92f57 100644
--- a/src/plugins/bearer/symbian/symbian.pri
+++ b/src/plugins/bearer/symbian/symbian.pri
@@ -1,7 +1,7 @@
TARGET = qsymbianbearer
include(../../qpluginbase.pri)
-QT += network
+QT = core network
HEADERS += ../symbianengine.h \
../qnetworksession_impl.h
diff --git a/src/plugins/bearer/symbian/symbianengine.cpp b/src/plugins/bearer/symbian/symbianengine.cpp
index f759a95..f025d86 100644
--- a/src/plugins/bearer/symbian/symbianengine.cpp
+++ b/src/plugins/bearer/symbian/symbianengine.cpp
@@ -135,10 +135,9 @@ void SymbianEngine::initialize()
updateConfigurations();
updateStatesToSnaps();
- updateAvailableAccessPoints(); // On first time updates synchronously (without WLAN scans)
+ updateAvailableAccessPoints(); // On first time updates (without WLAN scans)
// Start monitoring IAP and/or SNAP changes in Symbian CommsDB
startCommsDatabaseNotifications();
- iFirstUpdate = false;
}
SymbianEngine::~SymbianEngine()
@@ -790,6 +789,12 @@ void SymbianEngine::accessPointScanningReady(TBool scanSuccessful, TConnMonIapIn
mutex.unlock();
emit updateCompleted();
mutex.lock();
+ } else {
+ iFirstUpdate = false;
+ if (iScanInQueue) {
+ iScanInQueue = EFalse;
+ updateAvailableAccessPoints();
+ }
}
}
@@ -976,7 +981,7 @@ void SymbianEngine::RunL()
QMutexLocker locker(&mutex);
if (iStatus != KErrCancel) {
- // By default, start relistening notifications. Stop only if interesting event occured.
+ // By default, start relistening notifications. Stop only if interesting event occurred.
iWaitingCommsDatabaseNotifications = true;
RDbNotifier::TEvent event = STATIC_CAST(RDbNotifier::TEvent, iStatus.Int());
switch (event) {
@@ -1356,24 +1361,31 @@ AccessPointsAvailabilityScanner::~AccessPointsAvailabilityScanner()
void AccessPointsAvailabilityScanner::DoCancel()
{
iConnectionMonitor.CancelAsyncRequest(EConnMonGetPckgAttribute);
+ iScanActive = EFalse;
+ iOwner.iScanInQueue = EFalse;
}
void AccessPointsAvailabilityScanner::StartScanning()
{
- if (iOwner.iFirstUpdate) {
- // On first update (the mgr is being instantiated) update only those bearers who
- // don't need time-consuming scans (WLAN).
- // Note: EBearerIdWCDMA covers also GPRS bearer
- iConnectionMonitor.GetPckgAttribute(EBearerIdWCDMA, 0, KIapAvailability, iIapBuf, iStatus);
- User::WaitForRequest(iStatus);
- if (iStatus.Int() == KErrNone) {
- iOwner.accessPointScanningReady(true,iIapBuf());
+ if (!iScanActive) {
+ iScanActive = ETrue;
+ if (iOwner.iFirstUpdate) {
+ // On first update (the mgr is being instantiated) update only those bearers who
+ // don't need time-consuming scans (WLAN).
+ // Note: EBearerIdWCDMA covers also GPRS bearer
+ iConnectionMonitor.GetPckgAttribute(EBearerIdWCDMA, 0, KIapAvailability, iIapBuf, iStatus);
+ } else {
+ iConnectionMonitor.GetPckgAttribute(EBearerIdAll, 0, KIapAvailability, iIapBuf, iStatus);
}
- } else {
- iConnectionMonitor.GetPckgAttribute(EBearerIdAll, 0, KIapAvailability, iIapBuf, iStatus);
+
if (!IsActive()) {
SetActive();
}
+ } else {
+ // Queue scan for getting WLAN info after first request returns
+ if (iOwner.iFirstUpdate) {
+ iOwner.iScanInQueue = ETrue;
+ }
}
}
@@ -1381,6 +1393,7 @@ void AccessPointsAvailabilityScanner::RunL()
{
QMutexLocker locker(&iOwner.mutex);
+ iScanActive = EFalse;
if (iStatus.Int() != KErrNone) {
iIapBuf().iCount = 0;
QT_TRYCATCH_LEAVING(iOwner.accessPointScanningReady(false,iIapBuf()));
diff --git a/src/plugins/bearer/symbian/symbianengine.h b/src/plugins/bearer/symbian/symbianengine.h
index 7c1076e..337d4d1 100644
--- a/src/plugins/bearer/symbian/symbianengine.h
+++ b/src/plugins/bearer/symbian/symbianengine.h
@@ -207,6 +207,7 @@ private: // Data
TBool iInitOk;
TBool iUpdateGoingOn;
TBool iUpdatePending;
+ TBool iScanInQueue;
AccessPointsAvailabilityScanner* ipAccessPointsAvailabilityScanner;
@@ -234,9 +235,10 @@ protected: // From CActive
void DoCancel();
private: // Data
- SymbianEngine& iOwner;
+ SymbianEngine& iOwner;
RConnectionMonitor& iConnectionMonitor;
- TConnMonIapInfoBuf iIapBuf;
+ TConnMonIapInfoBuf iIapBuf;
+ TBool iScanActive;
};
QT_END_NAMESPACE
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index 4869eba..ceed7ae 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -55,6 +55,7 @@
#include <private/qpixmap_raster_p.h>
#include <private/qimagepixmapcleanuphooks_p.h>
+
QT_BEGIN_NAMESPACE
class SurfaceCache;
@@ -67,6 +68,15 @@ public:
Matrix_BlitsUnsupported = (Matrix_NegativeScale|Matrix_RectsUnsupported)
};
+ inline static uint getTransformationType(const QTransform &transform)
+ {
+ int ret = transform.type();
+ if (qMin(transform.m11(), transform.m22()) < 0) {
+ ret |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale;
+ }
+ return ret;
+ }
+
enum CompositionModeStatus {
PorterDuff_None = 0x0,
PorterDuff_Supported = 0x1,
@@ -98,7 +108,7 @@ public:
inline bool isSimpleBrush(const QBrush &brush) const;
- void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos);
+ void drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &pos, const QTransform &pixmapTransform);
void blit(const QRectF &dest, IDirectFBSurface *surface, const QRectF &src);
inline bool supportsStretchBlit() const;
@@ -112,7 +122,11 @@ public:
static inline int cacheCost(const QImage &img) { return img.width() * img.height() * img.depth() / 8; }
#endif
- void prepareForBlit(bool alpha);
+ enum BlitFlag {
+ HasAlpha = 0x1,
+ Premultiplied = 0x2
+ };
+ void prepareForBlit(uint blitFlags);
IDirectFBSurface *surface;
@@ -616,7 +630,12 @@ void QDirectFBPaintEngine::drawImage(const QRectF &r, const QImage &image,
#if !defined QT_NO_DIRECTFB_PREALLOCATED || defined QT_DIRECTFB_IMAGECACHE
bool release;
IDirectFBSurface *imgSurface = d->getSurface(image, &release);
- d->prepareForBlit(QDirectFBScreen::hasAlphaChannel(imgSurface));
+ uint blitFlags = 0;
+ if (image.hasAlphaChannel())
+ blitFlags |= QDirectFBPaintEnginePrivate::HasAlpha;
+ if (QDirectFBScreen::isPremultiplied(image.format()))
+ blitFlags |= QDirectFBPaintEnginePrivate::Premultiplied;
+ d->prepareForBlit(blitFlags);
CLIPPED_PAINT(d->blit(r, imgSurface, sr));
if (release) {
#if (Q_DIRECTFB_VERSION >= 0x010000)
@@ -655,8 +674,14 @@ void QDirectFBPaintEngine::drawPixmap(const QRectF &r, const QPixmap &pixmap,
QRasterPaintEngine::drawImage(r, *img, sr);
} else {
QDirectFBPaintEnginePrivate::unlock(dfbData);
- d->prepareForBlit(pixmap.hasAlphaChannel());
IDirectFBSurface *s = dfbData->directFBSurface();
+ uint blitFlags = 0;
+ if (pixmap.hasAlphaChannel())
+ blitFlags |= QDirectFBPaintEnginePrivate::HasAlpha;
+ if (QDirectFBScreen::isPremultiplied(dfbData->pixelFormat()))
+ blitFlags |= QDirectFBPaintEnginePrivate::Premultiplied;
+
+ d->prepareForBlit(blitFlags);
CLIPPED_PAINT(d->blit(r, s, sr));
}
}
@@ -691,7 +716,8 @@ void QDirectFBPaintEngine::drawTiledPixmap(const QRectF &r,
const QPixmap pix(data);
QRasterPaintEngine::drawTiledPixmap(r, pix, offset);
} else {
- CLIPPED_PAINT(d->drawTiledPixmap(r, pixmap, offset));
+ QTransform transform(state()->matrix);
+ CLIPPED_PAINT(d->drawTiledPixmap(r, pixmap, offset, transform));
}
}
@@ -811,9 +837,14 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
return; }
case Qt::TexturePattern: {
+ const QPointF &brushOrigin = state()->brushOrigin;
+ const QTransform stateTransform = state()->matrix;
+ QTransform transform(stateTransform);
+ transform.translate(brushOrigin.x(), brushOrigin.y());
+ transform = brush.transform() * transform;
if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_Supported)
- || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
- || (!d->supportsStretchBlit() && state()->matrix.isScaling())) {
+ || (QDirectFBPaintEnginePrivate::getTransformationType(transform) & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported)
+ || (!d->supportsStretchBlit() && transform.isScaling())) {
break;
}
@@ -821,7 +852,7 @@ void QDirectFBPaintEngine::fillRect(const QRectF &rect, const QBrush &brush)
if (texture.pixmapData()->classId() != QPixmapData::DirectFBClass)
break;
- CLIPPED_PAINT(d->drawTiledPixmap(rect, texture, rect.topLeft() - state()->brushOrigin));
+ CLIPPED_PAINT(d->drawTiledPixmap(stateTransform.mapRect(rect), texture, rect.topLeft() - brushOrigin, transform));
return; }
default:
break;
@@ -932,10 +963,7 @@ void QDirectFBPaintEnginePrivate::unlock(QDirectFBPaintDevice *device)
void QDirectFBPaintEnginePrivate::setTransform(const QTransform &transform)
{
- transformationType = transform.type();
- if (qMin(transform.m11(), transform.m22()) < 0) {
- transformationType |= QDirectFBPaintEnginePrivate::Matrix_NegativeScale;
- }
+ transformationType = getTransformationType(transform);
setPen(q->state()->pen);
}
@@ -978,7 +1006,7 @@ void QDirectFBPaintEnginePrivate::setCompositionMode(QPainter::CompositionMode m
break;
case QPainter::CompositionMode_SourceOver:
compositionModeStatus &= ~PorterDuff_AlwaysBlend;
- surface->SetPorterDuff(surface, DSPD_NONE);
+ surface->SetPorterDuff(surface, DSPD_SRC_OVER);
break;
case QPainter::CompositionMode_DestinationOver:
surface->SetPorterDuff(surface, DSPD_DST_OVER);
@@ -1031,13 +1059,18 @@ void QDirectFBPaintEnginePrivate::setRenderHints(QPainter::RenderHints hints)
}
}
-void QDirectFBPaintEnginePrivate::prepareForBlit(bool alpha)
+void QDirectFBPaintEnginePrivate::prepareForBlit(uint flags)
{
- DFBSurfaceBlittingFlags blittingFlags = alpha ? DSBLIT_BLEND_ALPHACHANNEL : DSBLIT_NOFX;
+ DFBSurfaceBlittingFlags blittingFlags = DSBLIT_NOFX;
+ if (flags & Premultiplied)
+ blittingFlags |= DSBLIT_SRC_PREMULTIPLY;
+ if (flags & HasAlpha)
+ blittingFlags |= DSBLIT_BLEND_ALPHACHANNEL;
if (opacity != 255) {
blittingFlags |= DSBLIT_BLEND_COLORALPHA;
+ surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
}
- surface->SetColor(surface, 0xff, 0xff, 0xff, opacity);
+
surface->SetBlittingFlags(surface, blittingFlags);
}
@@ -1132,10 +1165,12 @@ static inline qreal fixCoord(qreal rect_pos, qreal pixmapSize, qreal offset)
return pos;
}
-void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap, const QPointF &off)
+void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPixmap &pixmap,
+ const QPointF &off, const QTransform &pixmapTransform)
{
- Q_ASSERT(!(transformationType & Matrix_BlitsUnsupported));
const QTransform &transform = q->state()->matrix;
+ Q_ASSERT(!(getTransformationType(transform) & Matrix_BlitsUnsupported) &&
+ !(getTransformationType(pixmapTransform) & Matrix_BlitsUnsupported));
const QRect destinationRect = transform.mapRect(dest).toRect().normalized();
QRect newClip = destinationRect;
if (!currentClip.isEmpty())
@@ -1152,22 +1187,27 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
};
surface->SetClip(surface, &clip);
- QPointF offset = off;
+ QPointF offset = pixmapTransform.inverted().map(off);
Q_ASSERT(transform.type() <= QTransform::TxScale);
- prepareForBlit(pixmap.hasAlphaChannel());
QPixmapData *data = pixmap.pixmapData();
Q_ASSERT(data->classId() == QPixmapData::DirectFBClass);
QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data);
+ IDirectFBSurface *sourceSurface = dfbData->directFBSurface();
+ uint blitFlags = 0;
+ if (dfbData->hasAlphaChannel())
+ blitFlags |= HasAlpha;
+ if (QDirectFBScreen::isPremultiplied(dfbData->pixelFormat()))
+ blitFlags |= Premultiplied;
+ prepareForBlit(blitFlags);
QDirectFBPaintEnginePrivate::unlock(dfbData);
const QSize pixmapSize = dfbData->size();
- IDirectFBSurface *sourceSurface = dfbData->directFBSurface();
- if (transform.isScaling()) {
+ if (transform.isScaling() || pixmapTransform.isScaling()) {
Q_ASSERT(supportsStretchBlit());
Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0);
offset.rx() *= transform.m11();
offset.ry() *= transform.m22();
- const QSizeF mappedSize(pixmapSize.width() * transform.m11(), pixmapSize.height() * transform.m22());
+ const QSizeF mappedSize(pixmapSize.width() * pixmapTransform.m11(), pixmapSize.height() * pixmapTransform.m22());
qreal y = fixCoord(destinationRect.y(), mappedSize.height(), offset.y());
const qreal startX = fixCoord(destinationRect.x(), mappedSize.width(), offset.x());
while (y <= destinationRect.bottom()) {
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index c0d96d7..ce3a05a 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -251,12 +251,6 @@ bool QDirectFBPixmapData::fromDataBufferDescription(const DFBDataBufferDescripti
}
QDirectFBPointer<IDirectFBImageProvider> provider(providerPtr);
- DFBSurfaceDescription surfaceDescription;
- if ((result = provider->GetSurfaceDescription(provider.data(), &surfaceDescription)) != DFB_OK) {
- DirectFBError("QDirectFBPixmapData::fromDataBufferDescription(): Can't get surface description", result);
- return false;
- }
-
DFBImageDescription imageDescription;
result = provider->GetImageDescription(provider.data(), &imageDescription);
if (result != DFB_OK) {
@@ -264,7 +258,17 @@ bool QDirectFBPixmapData::fromDataBufferDescription(const DFBDataBufferDescripti
return false;
}
- alpha = imageDescription.caps & (DICAPS_ALPHACHANNEL|DICAPS_COLORKEY);
+ if (imageDescription.caps & DICAPS_COLORKEY) {
+ return false;
+ }
+
+ DFBSurfaceDescription surfaceDescription;
+ if ((result = provider->GetSurfaceDescription(provider.data(), &surfaceDescription)) != DFB_OK) {
+ DirectFBError("QDirectFBPixmapData::fromDataBufferDescription(): Can't get surface description", result);
+ return false;
+ }
+
+ alpha = imageDescription.caps & DICAPS_ALPHACHANNEL;
imageFormat = alpha ? screen->alphaPixmapFormat() : screen->pixelFormat();
dfbSurface = screen->createDFBSurface(QSize(surfaceDescription.width, surfaceDescription.height),
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
index bf6164d..f2ee6ae 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
@@ -1554,9 +1554,8 @@ void QDirectFBScreen::exposeRegion(QRegion r, int)
: (DSBLIT_BLEND_ALPHACHANNEL|DSBLIT_BLEND_COLORALPHA);
}
}
- if (!region.isEmpty()) {
- solidFill(d_ptr->backgroundColor, region);
- }
+
+ solidFill(d_ptr->backgroundColor, region);
while (idx > 0) {
const PaintCommand &cmd = commands[--idx];
@@ -1629,29 +1628,34 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
Q_UNUSED(color);
Q_UNUSED(region);
#else
+ QDirectFBScreen::solidFill(d_ptr->primarySurface, color, region);
+#endif
+}
+
+static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect)
+{
+ Q_ASSERT(surface);
+ const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() };
+ // could just reinterpret_cast this to a DFBRegion
+ surface->SetClip(surface, &region);
+ surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha());
+}
+
+void QDirectFBScreen::solidFill(IDirectFBSurface *surface, const QColor &color, const QRegion &region)
+{
if (region.isEmpty())
return;
- d_ptr->primarySurface->SetColor(d_ptr->primarySurface,
- color.red(), color.green(), color.blue(),
- color.alpha());
const int n = region.rectCount();
if (n == 1) {
- const QRect r = region.boundingRect();
- d_ptr->primarySurface->FillRectangle(d_ptr->primarySurface, r.x(), r.y(), r.width(), r.height());
+ clearRect(surface, color, region.boundingRect());
} else {
const QVector<QRect> rects = region.rects();
- QVarLengthArray<DFBRectangle, 32> rectArray(n);
for (int i=0; i<n; ++i) {
- const QRect &r = rects.at(i);
- rectArray[i].x = r.x();
- rectArray[i].y = r.y();
- rectArray[i].w = r.width();
- rectArray[i].h = r.height();
+ clearRect(surface, color, rects.at(i));
}
- d_ptr->primarySurface->FillRectangles(d_ptr->primarySurface, rectArray.constData(), n);
}
-#endif
+ surface->SetClip(surface, 0);
}
QImage::Format QDirectFBScreen::alphaPixmapFormat() const
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
index c483020..1085423 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
@@ -159,6 +159,7 @@ public:
void exposeRegion(QRegion r, int changing);
void solidFill(const QColor &color, const QRegion &region);
+ static void solidFill(IDirectFBSurface *surface, const QColor &color, const QRegion &region);
void setMode(int width, int height, int depth);
void blank(bool on);
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 51969fc..fbc539b 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -344,9 +344,11 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
if (!win)
return;
+#ifndef QT_NO_QWS_PROXYSCREEN
QWExtra *extra = qt_widget_private(widget)->extraData();
if (extra && extra->proxyWidget)
return;
+#endif
const quint8 windowOpacity = quint8(win->windowOpacity() * 0xff);
const QRect windowGeometry = geometry();
@@ -380,11 +382,18 @@ void QDirectFBWindowSurface::flush(QWidget *widget, const QRegion &region,
flushPending = false;
}
-void QDirectFBWindowSurface::beginPaint(const QRegion &)
+void QDirectFBWindowSurface::beginPaint(const QRegion &region)
{
if (!engine) {
engine = new QDirectFBPaintEngine(this);
}
+
+ if (dfbSurface) {
+ const QWidget *win = window();
+ if (win && win->testAttribute(Qt::WA_NoSystemBackground)) {
+ QDirectFBScreen::solidFill(dfbSurface, Qt::transparent, region);
+ }
+ }
flushPending = true;
}
diff --git a/src/plugins/graphicssystems/meego/dithering.cpp b/src/plugins/graphicssystems/meego/dithering.cpp
new file mode 100644
index 0000000..1a2e3fa
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/dithering.cpp
@@ -0,0 +1,306 @@
+/****************************************************************************
+**
+** 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 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$
+**
+****************************************************************************/
+
+// This is an implementation of the 32bit => 16bit Floyd-Steinberg dithering.
+// The alghorithm used here is not the fastest possible but it's prolly fast enough:
+// uses look-up tables, integer-only arthmetics and works in one pass on two lines
+// at a time. It's a high-quality dithering using 1/8 diffusion precission.
+// Two functions here to look at:
+//
+// * convertRGBA32_to_RGB565
+// * convertRGBA32_to_RGBA4444
+//
+// Each channel (RGBA) is diffused independently and alpha is dithered too.
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <QVarLengthArray>
+
+// Gets a component (red = 1, green = 2...) from a RGBA data structure.
+// data is unsigned char. stride is the number of bytes per line.
+#define GET_RGBA_COMPONENT(data, x, y, stride, c) (data[(y * stride) + (x << 2) + c])
+
+// Writes a new pixel with r, g, b to data in 565 16bit format. Data is a short.
+#define PUT_565(data, x, y, width, r, g, b) (data[(y * width) + x] = (r << 11) | (g << 5) | b)
+
+// Writes a new pixel with r, g, b, a to data in 4444 RGBA 16bit format. Data is a short.
+#define PUT_4444(data, x, y, width, r, g, b, a) (data[(y * width) + x] = (r << 12) | (g << 8) | (b << 4) | a)
+
+// Writes(ads) a new value to the diffusion accumulator. accumulator is a short.
+// x, y is a position in the accumulation buffer. y can be 0 or 1 -- we operate on two lines at time.
+#define ACCUMULATE(accumulator, x, y, width, v) if (x < width && x >= 0) accumulator[(y * width) + x] += v
+
+// Clamps a value to be in 0..255 range.
+#define CLAMP_256(v) if (v > 255) v = 255; if (v < 0) v = 0;
+
+// Converts incoming RGB32 (QImage::Format_RGB32) to RGB565. Returns the newly allocated data.
+unsigned short* convertRGB32_to_RGB565(const unsigned char *in, int width, int height, int stride)
+{
+ // Output line stride. Aligned to 4 bytes.
+ int alignedWidth = width;
+ if (alignedWidth % 2 > 0)
+ alignedWidth++;
+
+ // Will store output
+ unsigned short *out = (unsigned short *) malloc(alignedWidth * height * 2);
+
+ // Lookup tables for the 8bit => 6bit and 8bit => 5bit conversion
+ unsigned char lookup_8bit_to_5bit[256];
+ short lookup_8bit_to_5bit_diff[256];
+ unsigned char lookup_8bit_to_6bit[256];
+ short lookup_8bit_to_6bit_diff[256];
+
+ // Macros for the conversion using the lookup table.
+ #define CONVERT_8BIT_TO_5BIT(v) (lookup_8bit_to_5bit[v])
+ #define DIFF_8BIT_TO_5BIT(v) (lookup_8bit_to_5bit_diff[v])
+
+ #define CONVERT_8BIT_TO_6BIT(v) (lookup_8bit_to_6bit[v])
+ #define DIFF_8BIT_TO_6BIT(v) (lookup_8bit_to_6bit_diff[v])
+
+ int i;
+ int x, y, c; // Pixel we're processing. c is component number (0, 1, 2 for r, b, b)
+ short component[3]; // Stores the new components (r, g, b) for pixel produced during conversion
+ short diff; // The difference between the converted value and the original one. To be accumulated.
+ QVarLengthArray <short> accumulatorData(3 * width * 2); // Data for three acumulators for r, g, b. Each accumulator is two lines.
+ short *accumulator[3]; // Helper for accessing the accumulator on a per-channel basis more easily.
+ accumulator[0] = accumulatorData.data();
+ accumulator[1] = accumulatorData.data() + width;
+ accumulator[2] = accumulatorData.data() + (width * 2);
+
+ // Produce the conversion lookup tables.
+ for (i = 0; i < 256; i++) {
+ lookup_8bit_to_5bit[i] = round(i / 8.0);
+
+ // Before bitshifts: (i * 8) - (... * 8 * 8)
+ lookup_8bit_to_5bit_diff[i] = (i << 3) - (lookup_8bit_to_5bit[i] << 6);
+ if (lookup_8bit_to_5bit[i] > 31)
+ lookup_8bit_to_5bit[i] -= 1;
+
+ lookup_8bit_to_6bit[i] = round(i / 4.0);
+
+ // Before bitshifts: (i * 8) - (... * 4 * 8)
+ lookup_8bit_to_6bit_diff[i] = (i << 3) - (lookup_8bit_to_6bit[i] << 5);
+ if (lookup_8bit_to_6bit[i] > 63)
+ lookup_8bit_to_6bit[i] -= 1;
+ }
+
+ // Clear the accumulators
+ memset(accumulator[0], 0, width * 4);
+ memset(accumulator[1], 0, width * 4);
+ memset(accumulator[2], 0, width * 4);
+
+ // For each line...
+ for (y = 0; y < height; y++) {
+
+ // For each accumulator, move the second line (index 1) to replace the first line (index 0).
+ // Clear the second line (index 1)
+ memcpy(accumulator[0], accumulator[0] + width, width * 2);
+ memset(accumulator[0] + width, 0, width * 2);
+
+ memcpy(accumulator[1], accumulator[1] + width, width * 2);
+ memset(accumulator[1] + width, 0, width * 2);
+
+ memcpy(accumulator[2], accumulator[2] + width, width * 2);
+ memset(accumulator[2] + width, 0, width * 2);
+
+ // For each column....
+ for (x = 0; x < width; x++) {
+
+ // For each component (r, g, b)...
+ for (c = 0; c < 3; c++) {
+
+ // Get the 8bit value from the original image
+ component[c] = GET_RGBA_COMPONENT(in, x, y, stride, c);
+
+ // Add the diffusion for this pixel we stored in the accumulator.
+ // >> 7 because the values in accumulator are stored * 128
+ component[c] += accumulator[c][x] >> 7;
+
+ // Make sure we're not over the boundaries.
+ CLAMP_256(component[c]);
+
+ // For green component we use 6 bits. Otherwise 5 bits.
+ // Store the difference from converting 8bit => 6 bit and the orig pixel.
+ // Convert 8bit => 6(5) bit.
+ if (c == 1) {
+ diff = DIFF_8BIT_TO_6BIT(component[c]);
+ component[c] = CONVERT_8BIT_TO_6BIT(component[c]);
+ } else {
+ diff = DIFF_8BIT_TO_5BIT(component[c]);
+ component[c] = CONVERT_8BIT_TO_5BIT(component[c]);
+ }
+
+ // Distribute the difference according to the matrix in the
+ // accumulation bufffer.
+ ACCUMULATE(accumulator[c], x + 1, 0, width, diff * 7);
+ ACCUMULATE(accumulator[c], x - 1, 1, width, diff * 3);
+ ACCUMULATE(accumulator[c], x, 1, width, diff * 5);
+ ACCUMULATE(accumulator[c], x + 1, 1, width, diff * 1);
+ }
+
+ // Write the newly produced pixel
+ PUT_565(out, x, y, alignedWidth, component[2], component[1], component[0]);
+ }
+ }
+
+ return out;
+}
+
+// Converts incoming RGBA32 (QImage::Format_ARGB32_Premultiplied) to RGB565. Returns the newly allocated data.
+// This function is similar (yet different) to the _565 variant but it makes sense to duplicate it here for simplicity.
+// The output has each scan line aligned to 4 bytes (as expected by GL by default).
+unsigned short* convertARGB32_to_RGBA4444(const unsigned char *in, int width, int height, int stride)
+{
+ // Output line stride. Aligned to 4 bytes.
+ int alignedWidth = width;
+ if (alignedWidth % 2 > 0)
+ alignedWidth++;
+
+ // Will store output
+ unsigned short *out = (unsigned short *) malloc(alignedWidth * 2 * height);
+
+ // Lookup tables for the 8bit => 4bit conversion
+ unsigned char lookup_8bit_to_4bit[256];
+ short lookup_8bit_to_4bit_diff[256];
+
+ // Macros for the conversion using the lookup table.
+ #define CONVERT_8BIT_TO_4BIT(v) (lookup_8bit_to_4bit[v])
+ #define DIFF_8BIT_TO_4BIT(v) (lookup_8bit_to_4bit_diff[v])
+
+ int i;
+ int x, y, c; // Pixel we're processing. c is component number (0, 1, 2, 3 for r, b, b, a)
+ short component[4]; // Stores the new components (r, g, b, a) for pixel produced during conversion
+ short diff; // The difference between the converted value and the original one. To be accumulated.
+ QVarLengthArray <short> accumulatorData(4 * width * 2); // Data for three acumulators for r, g, b. Each accumulator is two lines.
+ short *accumulator[4]; // Helper for accessing the accumulator on a per-channel basis more easily.
+ accumulator[0] = accumulatorData.data();
+ accumulator[1] = accumulatorData.data() + width;
+ accumulator[2] = accumulatorData.data() + (width * 2);
+ accumulator[3] = accumulatorData.data() + (width * 3);
+
+ // Produce the conversion lookup tables.
+ for (i = 0; i < 256; i++) {
+ lookup_8bit_to_4bit[i] = round(i / 16.0);
+ // Before bitshifts: (i * 8) - (... * 16 * 8)
+ lookup_8bit_to_4bit_diff[i] = (i << 3) - (lookup_8bit_to_4bit[i] << 7);
+
+ if (lookup_8bit_to_4bit[i] > 15)
+ lookup_8bit_to_4bit[i] = 15;
+ }
+
+ // Clear the accumulators
+ memset(accumulator[0], 0, width * 4);
+ memset(accumulator[1], 0, width * 4);
+ memset(accumulator[2], 0, width * 4);
+ memset(accumulator[3], 0, width * 4);
+
+ // For each line...
+ for (y = 0; y < height; y++) {
+
+ // For each component (r, g, b, a)...
+ memcpy(accumulator[0], accumulator[0] + width, width * 2);
+ memset(accumulator[0] + width, 0, width * 2);
+
+ memcpy(accumulator[1], accumulator[1] + width, width * 2);
+ memset(accumulator[1] + width, 0, width * 2);
+
+ memcpy(accumulator[2], accumulator[2] + width, width * 2);
+ memset(accumulator[2] + width, 0, width * 2);
+
+ memcpy(accumulator[3], accumulator[3] + width, width * 2);
+ memset(accumulator[3] + width, 0, width * 2);
+
+ // For each column....
+ for (x = 0; x < width; x++) {
+
+ // For each component (r, g, b, a)...
+ for (c = 0; c < 4; c++) {
+
+ // Get the 8bit value from the original image
+ component[c] = GET_RGBA_COMPONENT(in, x, y, stride, c);
+
+ // Add the diffusion for this pixel we stored in the accumulator.
+ // >> 7 because the values in accumulator are stored * 128
+ component[c] += accumulator[c][x] >> 7;
+
+ // Make sure we're not over the boundaries.
+ CLAMP_256(component[c]);
+
+ // Store the difference from converting 8bit => 4bit and the orig pixel.
+ // Convert 8bit => 4bit.
+ diff = DIFF_8BIT_TO_4BIT(component[c]);
+ component[c] = CONVERT_8BIT_TO_4BIT(component[c]);
+
+ // Distribute the difference according to the matrix in the
+ // accumulation bufffer.
+ ACCUMULATE(accumulator[c], x + 1, 0, width, diff * 7);
+ ACCUMULATE(accumulator[c], x - 1, 1, width, diff * 3);
+ ACCUMULATE(accumulator[c], x, 1, width, diff * 5);
+ ACCUMULATE(accumulator[c], x + 1, 1, width, diff * 1);
+ }
+
+ // Write the newly produced pixel
+ PUT_4444(out, x, y, alignedWidth, component[0], component[1], component[2], component[3]);
+ }
+ }
+
+ return out;
+}
+
+unsigned char* convertBGRA32_to_RGBA32(const unsigned char *in, int width, int height, int stride)
+{
+ unsigned char *out = (unsigned char *) malloc(stride * height);
+
+ // For each line...
+ for (int y = 0; y < height; y++) {
+ // For each column
+ for (int x = 0; x < width; x++) {
+ out[(stride * y) + (x * 4) + 0] = in[(stride * y) + (x * 4) + 2];
+ out[(stride * y) + (x * 4) + 1] = in[(stride * y) + (x * 4) + 1];
+ out[(stride * y) + (x * 4) + 2] = in[(stride * y) + (x * 4) + 0];
+ out[(stride * y) + (x * 4) + 3] = in[(stride * y) + (x * 4) + 3];
+ }
+ }
+
+ return out;
+}
diff --git a/src/plugins/graphicssystems/meego/meego.pro b/src/plugins/graphicssystems/meego/meego.pro
index d750d34..0d3cce6 100644
--- a/src/plugins/graphicssystems/meego/meego.pro
+++ b/src/plugins/graphicssystems/meego/meego.pro
@@ -5,8 +5,8 @@ QT += gui opengl
QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/graphicssystems
-HEADERS = qmeegographicssystem.h qmeegopixmapdata.h qmeegoextensions.h
-SOURCES = qmeegographicssystem.cpp qmeegographicssystem.h qmeegographicssystemplugin.h qmeegographicssystemplugin.cpp qmeegopixmapdata.h qmeegopixmapdata.cpp qmeegoextensions.h qmeegoextensions.cpp
+HEADERS = qmeegographicssystem.h qmeegopixmapdata.h qmeegoextensions.h qmeegorasterpixmapdata.h qmeegolivepixmapdata.h
+SOURCES = qmeegographicssystem.cpp qmeegographicssystem.h qmeegographicssystemplugin.h qmeegographicssystemplugin.cpp qmeegopixmapdata.h qmeegopixmapdata.cpp qmeegoextensions.h qmeegoextensions.cpp qmeegorasterpixmapdata.h qmeegorasterpixmapdata.cpp qmeegolivepixmapdata.cpp qmeegolivepixmapdata.h dithering.cpp
target.path += $$[QT_INSTALL_PLUGINS]/graphicssystems
INSTALLS += target
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
index 611c962..dff80a4 100644
--- a/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.cpp
@@ -47,6 +47,7 @@ bool QMeeGoExtensions::initialized = false;
bool QMeeGoExtensions::hasImageShared = false;
bool QMeeGoExtensions::hasSurfaceScaling = false;
bool QMeeGoExtensions::hasLockSurface = false;
+bool QMeeGoExtensions::hasFenceSync = false;
/* Extension funcs */
@@ -54,8 +55,12 @@ typedef EGLBoolean (EGLAPIENTRY *eglQueryImageNOKFunc)(EGLDisplay, EGLImageKHR,
typedef EGLNativeSharedImageTypeNOK (EGLAPIENTRY *eglCreateSharedImageNOKFunc)(EGLDisplay, EGLImageKHR, EGLint*);
typedef EGLBoolean (EGLAPIENTRY *eglDestroySharedImageNOKFunc)(EGLDisplay, EGLNativeSharedImageTypeNOK);
typedef EGLBoolean (EGLAPIENTRY *eglSetSurfaceScalingNOKFunc)(EGLDisplay, EGLSurface, EGLint, EGLint, EGLint, EGLint);
-typedef EGLBoolean (EGLAPIENTRY *eglLockSurfaceKHRFunc)(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRY *eglUnlockSurfaceKHRFunc)(EGLDisplay display, EGLSurface surface);
+typedef EGLBoolean (EGLAPIENTRY *eglLockSurfaceKHRFunc)(EGLDisplay, EGLSurface, const EGLint*);
+typedef EGLBoolean (EGLAPIENTRY *eglUnlockSurfaceKHRFunc)(EGLDisplay, EGLSurface);
+typedef EGLSyncKHR (EGLAPIENTRY *eglCreateSyncKHRFunc)(EGLDisplay, EGLenum, const EGLint*);
+typedef EGLBoolean (EGLAPIENTRY *eglDestroySyncKHRFunc)(EGLDisplay, EGLSyncKHR);
+typedef EGLint (EGLAPIENTRY *eglClientWaitSyncKHRFunc)(EGLDisplay, EGLSyncKHR, EGLint, EGLTimeKHR);
+typedef EGLBoolean (EGLAPIENTRY *eglGetSyncAttribKHRFunc)(EGLDisplay, EGLSyncKHR, EGLint, EGLint*);
static eglQueryImageNOKFunc _eglQueryImageNOK = 0;
static eglCreateSharedImageNOKFunc _eglCreateSharedImageNOK = 0;
@@ -63,6 +68,10 @@ static eglDestroySharedImageNOKFunc _eglDestroySharedImageNOK = 0;
static eglSetSurfaceScalingNOKFunc _eglSetSurfaceScalingNOK = 0;
static eglLockSurfaceKHRFunc _eglLockSurfaceKHR = 0;
static eglUnlockSurfaceKHRFunc _eglUnlockSurfaceKHR = 0;
+static eglCreateSyncKHRFunc _eglCreateSyncKHR = 0;
+static eglDestroySyncKHRFunc _eglDestroySyncKHR = 0;
+static eglClientWaitSyncKHRFunc _eglClientWaitSyncKHR = 0;
+static eglGetSyncAttribKHRFunc _eglGetSyncAttribKHR = 0;
/* Public */
@@ -76,15 +85,15 @@ void QMeeGoExtensions::ensureInitialized()
EGLNativeSharedImageTypeNOK QMeeGoExtensions::eglCreateSharedImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint *props)
{
- if (! hasImageShared)
+ if (!hasImageShared)
qFatal("EGL_NOK_image_shared not found but trying to use capability!");
-
+
return _eglCreateSharedImageNOK(dpy, image, props);
}
bool QMeeGoExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLint prop, EGLint *v)
{
- if (! hasImageShared)
+ if (!hasImageShared)
qFatal("EGL_NOK_image_shared not found but trying to use capability!");
return _eglQueryImageNOK(dpy, image, prop, v);
@@ -92,7 +101,7 @@ bool QMeeGoExtensions::eglQueryImageNOK(EGLDisplay dpy, EGLImageKHR image, EGLin
bool QMeeGoExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedImageTypeNOK img)
{
- if (! hasImageShared)
+ if (!hasImageShared)
qFatal("EGL_NOK_image_shared not found but trying to use capability!");
return _eglDestroySharedImageNOK(dpy, img);
@@ -100,7 +109,7 @@ bool QMeeGoExtensions::eglDestroySharedImageNOK(EGLDisplay dpy, EGLNativeSharedI
bool QMeeGoExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height)
{
- if (! hasSurfaceScaling)
+ if (!hasSurfaceScaling)
qFatal("EGL_NOK_surface_scaling not found but trying to use capability!");
return _eglSetSurfaceScalingNOK(dpy, surface, x, y, width, height);
@@ -108,7 +117,7 @@ bool QMeeGoExtensions::eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surfac
bool QMeeGoExtensions::eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list)
{
- if (! hasLockSurface)
+ if (!hasLockSurface)
qFatal("EGL_KHR_lock_surface2 not found but trying to use capability!");
return _eglLockSurfaceKHR(display, surface, attrib_list);
@@ -116,19 +125,51 @@ bool QMeeGoExtensions::eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface,
bool QMeeGoExtensions::eglUnlockSurfaceKHR(EGLDisplay display, EGLSurface surface)
{
- if (! hasLockSurface)
+ if (!hasLockSurface)
qFatal("EGL_KHR_lock_surface2 not found but trying to use capability!");
return _eglUnlockSurfaceKHR(display, surface);
}
+EGLSyncKHR QMeeGoExtensions::eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list)
+{
+ if (!hasFenceSync)
+ qFatal("EGL_KHR_fence_sync not found but trying to use capability!");
+
+ return _eglCreateSyncKHR(dpy, type, attrib_list);
+}
+
+bool QMeeGoExtensions::eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync)
+{
+ if (!hasFenceSync)
+ qFatal("EGL_KHR_fence_sync not found but trying to use capability!");
+
+ return _eglDestroySyncKHR(dpy, sync);
+}
+
+EGLint QMeeGoExtensions::eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout)
+{
+ if (!hasFenceSync)
+ qFatal("EGL_KHR_fence_sync not found but trying to use capability!");
+
+ return _eglClientWaitSyncKHR(dpy, sync, flags, timeout);
+}
+
+EGLBoolean QMeeGoExtensions::eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value)
+{
+ if (!hasFenceSync)
+ qFatal("EGL_KHR_fence_sync not found but trying to use capability!");
+
+ return _eglGetSyncAttribKHR(dpy, sync, attribute, value);
+}
+
/* Private */
void QMeeGoExtensions::initialize()
{
QGLContext *ctx = (QGLContext *) QGLContext::currentContext();
qt_resolve_eglimage_gl_extensions(ctx);
-
+
if (QEgl::hasExtension("EGL_NOK_image_shared")) {
qDebug("MeegoGraphics: found EGL_NOK_image_shared");
_eglQueryImageNOK = (eglQueryImageNOKFunc) eglGetProcAddress("eglQueryImageNOK");
@@ -136,15 +177,15 @@ void QMeeGoExtensions::initialize()
_eglDestroySharedImageNOK = (eglDestroySharedImageNOKFunc) eglGetProcAddress("eglDestroySharedImageNOK");
_eglLockSurfaceKHR = (eglLockSurfaceKHRFunc) eglGetProcAddress("eglLockSurfaceKHR");
_eglUnlockSurfaceKHR = (eglUnlockSurfaceKHRFunc) eglGetProcAddress("eglUnlockSurfaceKHR");
-
+
Q_ASSERT(_eglQueryImageNOK && _eglCreateSharedImageNOK && _eglDestroySharedImageNOK);
hasImageShared = true;
}
-
+
if (QEgl::hasExtension("EGL_NOK_surface_scaling")) {
qDebug("MeegoGraphics: found EGL_NOK_surface_scaling");
_eglSetSurfaceScalingNOK = (eglSetSurfaceScalingNOKFunc) eglGetProcAddress("eglSetSurfaceScalingNOK");
-
+
Q_ASSERT(_eglSetSurfaceScalingNOK);
hasSurfaceScaling = true;
}
@@ -153,9 +194,20 @@ void QMeeGoExtensions::initialize()
qDebug("MeegoGraphics: found EGL_KHR_lock_surface2");
_eglLockSurfaceKHR = (eglLockSurfaceKHRFunc) eglGetProcAddress("eglLockSurfaceKHR");
_eglUnlockSurfaceKHR = (eglUnlockSurfaceKHRFunc) eglGetProcAddress("eglUnlockSurfaceKHR");
-
+
Q_ASSERT(_eglLockSurfaceKHR && _eglUnlockSurfaceKHR);
hasLockSurface = true;
}
+
+ if (QEgl::hasExtension("EGL_KHR_fence_sync")) {
+ qDebug("MeegoGraphics: found EGL_KHR_fence_sync");
+ _eglCreateSyncKHR = (eglCreateSyncKHRFunc) eglGetProcAddress("eglCreateSyncKHR");
+ _eglDestroySyncKHR = (eglDestroySyncKHRFunc) eglGetProcAddress("eglDestroySyncKHR");
+ _eglClientWaitSyncKHR = (eglClientWaitSyncKHRFunc) eglGetProcAddress("eglClientWaitSyncKHR");
+ _eglGetSyncAttribKHR = (eglGetSyncAttribKHRFunc) eglGetProcAddress("eglGetSyncAttribKHR");
+
+ Q_ASSERT(_eglCreateSyncKHR && _eglDestroySyncKHR && _eglClientWaitSyncKHR && _eglGetSyncAttribKHR);
+ hasFenceSync = true;
+ }
}
diff --git a/src/plugins/graphicssystems/meego/qmeegoextensions.h b/src/plugins/graphicssystems/meego/qmeegoextensions.h
index 9e78caf..49a1e30 100644
--- a/src/plugins/graphicssystems/meego/qmeegoextensions.h
+++ b/src/plugins/graphicssystems/meego/qmeegoextensions.h
@@ -77,6 +77,23 @@ typedef void* EGLNativeSharedImageTypeNOK;
#define EGL_WRITE_SURFACE_BIT_KHR 0x0002
#endif
+#ifndef EGL_SYNC_FENCE_KHR
+#define EGL_SYNC_FENCE_KHR 0x30F9
+#define EGL_SYNC_TYPE_KHR 0x30F7
+#define EGL_SYNC_STATUS_KHR 0x30F1
+#define EGL_SYNC_CONDITION_KHR 0x30F8
+#define EGL_SIGNALED_KHR 0x30F2
+#define EGL_UNSIGNALED_KHR 0x30F3
+#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0x30F0
+#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR 0x0001
+#define EGL_FOREVER_KHR 0xFFFFFFFFFFFFFFFFull
+#define EGL_TIMEOUT_EXPIRED_KHR 0x30F5
+#define EGL_CONDITION_SATISFIED_KHR 0x30F6
+#define EGL_NO_SYNC_KHR ((EGLSyncKHR)0)
+typedef void* EGLSyncKHR;
+typedef khronos_utime_nanoseconds_t EGLTimeKHR;
+#endif
+
/* Class */
class QMeeGoExtensions
@@ -90,6 +107,10 @@ public:
static bool eglSetSurfaceScalingNOK(EGLDisplay dpy, EGLSurface surface, int x, int y, int width, int height);
static bool eglLockSurfaceKHR(EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
static bool eglUnlockSurfaceKHR(EGLDisplay display, EGLSurface surface);
+ static EGLSyncKHR eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
+ static bool eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
+ static EGLint eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
+ static EGLBoolean eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
private:
static void initialize();
@@ -98,6 +119,7 @@ private:
static bool hasImageShared;
static bool hasSurfaceScaling;
static bool hasLockSurface;
+ static bool hasFenceSync;
};
#endif
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
index f8b228c..507f70b 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
@@ -54,6 +54,7 @@
#include <private/qpixmap_x11_p.h>
#include "qmeegopixmapdata.h"
+#include "qmeegolivepixmapdata.h"
#include "qmeegographicssystem.h"
#include "qmeegoextensions.h"
@@ -81,12 +82,12 @@ QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const
QPixmapData *QMeeGoGraphicsSystem::createPixmapData(QPixmapData::PixelType type) const
{
- // Long story short: without this it's possible to hit an
- // unitialized paintDevice due to a Qt bug too complex to even
- // explain here... not to mention fix without going crazy.
+ // Long story short: without this it's possible to hit an
+ // uninitialized paintDevice due to a Qt bug too complex to even
+ // explain here... not to mention fix without going crazy.
// MDK
QGLShareContextScope ctx(qt_gl_share_widget()->context());
-
+
return new QRasterPixmapData(type);
}
@@ -102,8 +103,8 @@ QPixmapData *QMeeGoGraphicsSystem::createPixmapData(QPixmapData *origin)
if (QMeeGoPixmapData::sharedImagesMap.contains(rawResource))
return new QMeeGoPixmapData();
- }
-
+ }
+
return new QRasterPixmapData(origin->pixelType());
}
@@ -150,11 +151,11 @@ void QMeeGoGraphicsSystem::setTranslucent(bool translucent)
QPixmapData *QMeeGoGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage)
{
if (softImage.format() != QImage::Format_ARGB32_Premultiplied &&
- softImage.format() != QImage::Format_ARGB32) {
- qFatal("For egl shared images, the soft image has to be ARGB32 or ARGB32_Premultiplied");
+ softImage.format() != QImage::Format_RGB32) {
+ qFatal("For egl shared images, the soft image has to be ARGB32_Premultiplied or RGB32");
return NULL;
}
-
+
if (QMeeGoGraphicsSystem::meeGoRunning()) {
QMeeGoPixmapData *pmd = new QMeeGoPixmapData;
pmd->fromEGLSharedImage(handle, softImage);
@@ -173,28 +174,12 @@ QPixmapData *QMeeGoGraphicsSystem::pixmapDataFromEGLSharedImage(Qt::HANDLE handl
}
}
-QPixmapData *QMeeGoGraphicsSystem::pixmapDataFromEGLImage(Qt::HANDLE handle)
-{
- if (QMeeGoGraphicsSystem::meeGoRunning()) {
- QMeeGoPixmapData *pmd = new QMeeGoPixmapData;
- pmd->fromEGLImage(handle);
-
- // FIXME Ok. This is a bit BAD BAD BAD. We're abusing here the fact that we KNOW
- // that this function is used for the live pixmap...
- pmd->texture()->options &= ~QGLContext::InvertedYBindOption;
- return QMeeGoGraphicsSystem::wrapPixmapData(pmd);
- } else {
- qFatal("Can't create from EGL image when not running meego graphics system!");
- return NULL;
- }
-}
-
void QMeeGoGraphicsSystem::updateEGLSharedImagePixmap(QPixmap *pixmap)
{
QMeeGoPixmapData *pmd = (QMeeGoPixmapData *) pixmap->pixmapData();
-
+
// Basic sanity check to make sure this is really a QMeeGoPixmapData...
- if (pmd->classId() != QPixmapData::OpenGLClass)
+ if (pmd->classId() != QPixmapData::OpenGLClass)
qFatal("Trying to updated EGLSharedImage pixmap but it's not really a shared image pixmap!");
pmd->updateFromSoftImage();
@@ -207,169 +192,62 @@ QPixmapData *QMeeGoGraphicsSystem::pixmapDataWithGLTexture(int w, int h)
return QMeeGoGraphicsSystem::wrapPixmapData(pmd);
}
-Qt::HANDLE QMeeGoGraphicsSystem::createLiveTexture(int w, int h, QImage::Format format)
-{
- // No need to wrap the QPixmapData here. This QPixmap(Data) is a
- // internal implementation and we don't migrate it between
- // graphics system switching.
-
- // We use a bit ugly way of enforcing a color format on the X pixmap -- we create
- // a local QImage and fromImage from there. This is quite redundant (extra overhead of creating
- // the useless image only to delete it) but shouldn't be too bad for now... you're not expected
- // to call createLiveTexture too often anyways. Would be great if QX11PixmapData had a way to
- // force the X format upon creation or resize.
-
- QImage image(w, h, format);
- QX11PixmapData *pmd = new QX11PixmapData(QPixmapData::PixmapType);
- pmd->fromImage(image, Qt::NoOpaqueDetection);
- QPixmap *p = new QPixmap(pmd);
-
- liveTexturePixmaps.insert(p->handle(), p);
- return p->handle();
-}
-
-void QMeeGoGraphicsSystem::destroyLiveTexture(Qt::HANDLE h)
-{
- if (liveTexturePixmaps.contains(h)) {
- QPixmap *p = liveTexturePixmaps.value(h);
- delete p;
- liveTexturePixmaps.remove(h);
- } else
- qWarning("Trying to destroy live texture %ld which was not found!", h);
-}
-
-bool QMeeGoGraphicsSystem::lockLiveTexture(Qt::HANDLE h)
+bool QMeeGoGraphicsSystem::meeGoRunning()
{
- if (! liveTexturePixmaps.contains(h)) {
- qWarning("Trying to lock live texture %ld which was not found!", h);
+ if (! QApplicationPrivate::instance()) {
+ qWarning("Application not running just yet... hard to know what system running!");
return false;
}
- EGLint attribs[] = {
- EGL_MAP_PRESERVE_PIXELS_KHR, EGL_TRUE,
- EGL_LOCK_USAGE_HINT_KHR, EGL_READ_SURFACE_BIT_KHR | EGL_WRITE_SURFACE_BIT_KHR,
- EGL_NONE
- };
+ QString name = QApplicationPrivate::instance()->graphics_system_name;
+ if (name == "runtime") {
+ QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
+ name = rsystem->graphicsSystemName();
+ }
- QGLShareContextScope ctx(qt_gl_share_widget()->context());
- EGLSurface surface = getSurfaceForLiveTexturePixmap(liveTexturePixmaps.value(h));
- return QMeeGoExtensions::eglLockSurfaceKHR(QEgl::display(), surface, attribs);
+ return (name == "meego");
}
-bool QMeeGoGraphicsSystem::unlockLiveTexture(Qt::HANDLE h)
+QPixmapData* QMeeGoGraphicsSystem::pixmapDataWithNewLiveTexture(int w, int h, QImage::Format format)
{
- if (! liveTexturePixmaps.contains(h)) {
- qWarning("Trying to lock live texture %ld which was not found!", h);
- return false;
- }
-
- QGLShareContextScope ctx(qt_gl_share_widget()->context());
- QMeeGoExtensions::ensureInitialized();
-
- EGLSurface surface = getSurfaceForLiveTexturePixmap(liveTexturePixmaps.value(h));
- if (QMeeGoExtensions::eglUnlockSurfaceKHR(QEgl::display(), surface)) {
- glFinish();
- return true;
- } else {
- return false;
- }
+ return new QMeeGoLivePixmapData(w, h, format);
}
-void QMeeGoGraphicsSystem::queryLiveTexture(Qt::HANDLE h, void **data, int *pitch)
+QPixmapData* QMeeGoGraphicsSystem::pixmapDataFromLiveTextureHandle(Qt::HANDLE handle)
{
- // FIXME Only allow this on locked surfaces
- if (! liveTexturePixmaps.contains(h)) {
- qWarning("Trying to query live texture %ld which was not found!", h);
- return;
- }
-
- QGLShareContextScope ctx(qt_gl_share_widget()->context());
- QMeeGoExtensions::ensureInitialized();
-
- EGLSurface surface = getSurfaceForLiveTexturePixmap(liveTexturePixmaps.value(h));
- eglQuerySurface(QEgl::display(), surface, EGL_BITMAP_POINTER_KHR, (EGLint*) data);
- eglQuerySurface(QEgl::display(), surface, EGL_BITMAP_PITCH_KHR, (EGLint*) pitch);
+ return new QMeeGoLivePixmapData(handle);
}
-Qt::HANDLE QMeeGoGraphicsSystem::liveTextureToEGLImage(Qt::HANDLE h)
+QImage* QMeeGoGraphicsSystem::lockLiveTexture(QPixmap* pixmap, void* fenceSync)
{
- QGLShareContextScope ctx(qt_gl_share_widget()->context());
- QMeeGoExtensions::ensureInitialized();
-
- EGLint attribs[] = {
- EGL_IMAGE_PRESERVED_KHR, EGL_TRUE,
- EGL_NONE
- };
-
- EGLImageKHR eglImage = QEgl::eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR,
- (EGLClientBuffer) h, attribs);
-
- if (eglImage == EGL_NO_IMAGE_KHR)
- qWarning("eglCreateImageKHR failed!");
-
- return (Qt::HANDLE) eglImage;
+ QMeeGoLivePixmapData *pixmapData = static_cast<QMeeGoLivePixmapData*>(pixmap->data_ptr().data());
+ return pixmapData->lock(fenceSync);
}
-bool QMeeGoGraphicsSystem::meeGoRunning()
+bool QMeeGoGraphicsSystem::releaseLiveTexture(QPixmap *pixmap, QImage *image)
{
- if (! QApplicationPrivate::instance()) {
- qWarning("Application not running just yet... hard to know what system running!");
- return false;
- }
-
- QString name = QApplicationPrivate::instance()->graphics_system_name;
- if (name == "runtime") {
- QRuntimeGraphicsSystem *rsystem = (QRuntimeGraphicsSystem *) QApplicationPrivate::instance()->graphics_system;
- name = rsystem->graphicsSystemName();
- }
-
- return (name == "meego");
+ QMeeGoLivePixmapData *pixmapData = static_cast<QMeeGoLivePixmapData*>(pixmap->data_ptr().data());
+ return pixmapData->release(image);
}
-void QMeeGoGraphicsSystem::destroySurfaceForLiveTexturePixmap(QPixmapData* pmd)
+Qt::HANDLE QMeeGoGraphicsSystem::getLiveTextureHandle(QPixmap *pixmap)
{
- Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
- QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
- if (pixmapData->gl_surface) {
- eglDestroySurface(QEgl::display(), (EGLSurface)pixmapData->gl_surface);
- pixmapData->gl_surface = 0;
- }
+ QMeeGoLivePixmapData *pixmapData = static_cast<QMeeGoLivePixmapData*>(pixmap->data_ptr().data());
+ return pixmapData->handle();
}
-EGLSurface QMeeGoGraphicsSystem::getSurfaceForLiveTexturePixmap(QPixmap *pixmap)
+void* QMeeGoGraphicsSystem::createFenceSync()
{
- // This code is a crative remix of the stuff that can be found in the
- // Qt's TFP implementation in /src/opengl/qgl_x11egl.cpp ::bindiTextureFromNativePixmap
- QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pixmap->data_ptr().data());
- Q_ASSERT(pixmapData->classId() == QPixmapData::X11Class);
- bool hasAlpha = pixmapData->hasAlphaChannel();
-
- if (pixmapData->gl_surface &&
- hasAlpha == (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha))
- return pixmapData->gl_surface;
-
- // Check to see if the surface is still valid
- if (pixmapData->gl_surface &&
- hasAlpha != ((pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha) > 0)) {
- // Surface is invalid!
- QMeeGoGraphicsSystem::destroySurfaceForLiveTexturePixmap(pixmapData);
- }
-
- if (pixmapData->gl_surface == 0) {
- EGLConfig config = QEgl::defaultConfig(QInternal::Pixmap,
- QEgl::OpenGL,
- hasAlpha ? QEgl::Translucent : QEgl::NoOptions);
-
- pixmapData->gl_surface = (void*)QEgl::createSurface(pixmap, config);
-
- if (hasAlpha)
- pixmapData->flags = pixmapData->flags | QX11PixmapData::GlSurfaceCreatedWithAlpha;
-
- if (pixmapData->gl_surface == (void*)EGL_NO_SURFACE)
- return NULL;
- }
+ QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ QMeeGoExtensions::ensureInitialized();
+ return QMeeGoExtensions::eglCreateSyncKHR(QEgl::display(), EGL_SYNC_FENCE_KHR, NULL);
+}
- return pixmapData->gl_surface;
+void QMeeGoGraphicsSystem::destroyFenceSync(void *fenceSync)
+{
+ QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ QMeeGoExtensions::ensureInitialized();
+ QMeeGoExtensions::eglDestroySyncKHR(QEgl::display(), fenceSync);
}
/* C API */
@@ -384,11 +262,6 @@ QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const
return QMeeGoGraphicsSystem::pixmapDataFromEGLSharedImage(handle, softImage);
}
-QPixmapData* qt_meego_pixmapdata_from_egl_image(Qt::HANDLE handle)
-{
- return QMeeGoGraphicsSystem::pixmapDataFromEGLImage(handle);
-}
-
QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h)
{
return QMeeGoGraphicsSystem::pixmapDataWithGLTexture(w, h);
@@ -419,32 +292,37 @@ void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap)
QMeeGoGraphicsSystem::updateEGLSharedImagePixmap(pixmap);
}
-Qt::HANDLE qt_meego_live_texture_create(int w, int h, QImage::Format format)
+QPixmapData* qt_meego_pixmapdata_with_new_live_texture(int w, int h, QImage::Format format)
+{
+ return QMeeGoGraphicsSystem::pixmapDataWithNewLiveTexture(w, h, format);
+}
+
+QPixmapData* qt_meego_pixmapdata_from_live_texture_handle(Qt::HANDLE handle)
{
- return QMeeGoGraphicsSystem::createLiveTexture(w, h, format);
+ return QMeeGoGraphicsSystem::pixmapDataFromLiveTextureHandle(handle);
}
-void qt_meego_live_texture_destroy(Qt::HANDLE h)
+QImage* qt_meego_live_texture_lock(QPixmap *pixmap, void *fenceSync)
{
- QMeeGoGraphicsSystem::destroyLiveTexture(h);
+ return QMeeGoGraphicsSystem::lockLiveTexture(pixmap, fenceSync);
}
-bool qt_meego_live_texture_lock(Qt::HANDLE h)
+bool qt_meego_live_texture_release(QPixmap *pixmap, QImage *image)
{
- return QMeeGoGraphicsSystem::lockLiveTexture(h);
+ return QMeeGoGraphicsSystem::releaseLiveTexture(pixmap, image);
}
-bool qt_meego_live_texture_unlock(Qt::HANDLE h)
+Qt::HANDLE qt_meego_live_texture_get_handle(QPixmap *pixmap)
{
- return QMeeGoGraphicsSystem::unlockLiveTexture(h);
+ return QMeeGoGraphicsSystem::getLiveTextureHandle(pixmap);
}
-void qt_meego_live_texture_query(Qt::HANDLE h, void **data, int *pitch)
+void* qt_meego_create_fence_sync(void)
{
- return QMeeGoGraphicsSystem::queryLiveTexture(h, data, pitch);
+ return QMeeGoGraphicsSystem::createFenceSync();
}
-Qt::HANDLE qt_meego_live_texture_to_egl_image(Qt::HANDLE h)
+void qt_meego_destroy_fence_sync(void* fs)
{
- return QMeeGoGraphicsSystem::liveTextureToEGLImage(h);
+ return QMeeGoGraphicsSystem::destroyFenceSync(fs);
}
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.h b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
index 934d32d..1e50f00 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
@@ -67,12 +67,14 @@ public:
static QPixmapData *pixmapDataWithGLTexture(int w, int h);
static void updateEGLSharedImagePixmap(QPixmap *pixmap);
- static Qt::HANDLE createLiveTexture(int w, int h, QImage::Format format);
- static void destroyLiveTexture(Qt::HANDLE h);
- static bool lockLiveTexture(Qt::HANDLE h);
- static bool unlockLiveTexture(Qt::HANDLE h);
- static void queryLiveTexture(Qt::HANDLE h, void **data, int *pitch);
- static Qt::HANDLE liveTextureToEGLImage(Qt::HANDLE h);
+ static QPixmapData *pixmapDataWithNewLiveTexture(int w, int h, QImage::Format format);
+ static QPixmapData *pixmapDataFromLiveTextureHandle(Qt::HANDLE handle);
+ static QImage *lockLiveTexture(QPixmap* pixmap, void* fenceSync);
+ static bool releaseLiveTexture(QPixmap *pixmap, QImage *image);
+ static Qt::HANDLE getLiveTextureHandle(QPixmap *pixmap);
+
+ static void* createFenceSync();
+ static void destroyFenceSync(void* fenceSync);
private:
static bool meeGoRunning();
@@ -88,19 +90,19 @@ private:
extern "C" {
Q_DECL_EXPORT int qt_meego_image_to_egl_shared_image(const QImage &image);
Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
- Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_from_egl_image(Qt::HANDLE handle);
Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h);
Q_DECL_EXPORT void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap);
Q_DECL_EXPORT bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle);
Q_DECL_EXPORT void qt_meego_set_surface_fixed_size(int width, int height);
Q_DECL_EXPORT void qt_meego_set_surface_scaling(int x, int y, int width, int height);
- Q_DECL_EXPORT void qt_meego_set_translucent(bool translucent);
- Q_DECL_EXPORT Qt::HANDLE m_live_texture_create(int w, int h, QImage::Format format);
- Q_DECL_EXPORT void m_live_texture_destroy(Qt::HANDLE h);
- Q_DECL_EXPORT bool m_live_texture_lock(Qt::HANDLE h);
- Q_DECL_EXPORT bool m_live_texture_unlock(Qt::HANDLE h);
- Q_DECL_EXPORT void m_live_texture_query(Qt::HANDLE h, void **data, int *pitch);
- Q_DECL_EXPORT Qt::HANDLE m_live_texture_to_egl_image(Qt::HANDLE h);
+ Q_DECL_EXPORT void qt_meego_set_translucent(bool translucent);
+ Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_with_new_live_texture(int w, int h, QImage::Format format);
+ Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_from_live_texture_handle(Qt::HANDLE handle);
+ Q_DECL_EXPORT QImage* qt_meego_live_texture_lock(QPixmap *pixmap, void *fenceSync);
+ Q_DECL_EXPORT bool qt_meego_live_texture_release(QPixmap *pixmap, QImage *image);
+ Q_DECL_EXPORT Qt::HANDLE qt_meego_live_texture_get_handle(QPixmap *pixmap);
+ Q_DECL_EXPORT void* qt_meego_create_fence_sync(void);
+ Q_DECL_EXPORT void qt_meego_destroy_fence_sync(void* fs);
}
#endif
diff --git a/src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp b/src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp
new file mode 100644
index 0000000..16096c9
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegolivepixmapdata.cpp
@@ -0,0 +1,292 @@
+/****************************************************************************
+**
+** 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 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 "qmeegolivepixmapdata.h"
+#include "qmeegorasterpixmapdata.h"
+#include <private/qimage_p.h>
+#include <private/qwindowsurface_gl_p.h>
+#include <private/qeglcontext_p.h>
+#include <private/qapplication_p.h>
+#include <private/qgraphicssystem_runtime_p.h>
+#include <private/qpixmap_x11_p.h>
+#include <stdio.h>
+
+static EGLint lock_attribs[] = {
+ EGL_MAP_PRESERVE_PIXELS_KHR, EGL_TRUE,
+ EGL_LOCK_USAGE_HINT_KHR, EGL_READ_SURFACE_BIT_KHR | EGL_WRITE_SURFACE_BIT_KHR,
+ EGL_NONE
+};
+
+static EGLint preserved_attribs[] = {
+ EGL_IMAGE_PRESERVED_KHR, EGL_TRUE,
+ EGL_NONE
+};
+
+// as copied from qwindowsurface.cpp
+void qt_scrollRectInImage(QImage &img, const QRect &rect, const QPoint &offset)
+{
+ // make sure we don't detach
+ uchar *mem = const_cast<uchar*>(const_cast<const QImage &>(img).bits());
+
+ int lineskip = img.bytesPerLine();
+ int depth = img.depth() >> 3;
+
+ const QRect imageRect(0, 0, img.width(), img.height());
+ const QRect r = rect & imageRect & imageRect.translated(-offset);
+ const QPoint p = rect.topLeft() + offset;
+
+ if (r.isEmpty())
+ return;
+
+ const uchar *src;
+ uchar *dest;
+
+ if (r.top() < p.y()) {
+ src = mem + r.bottom() * lineskip + r.left() * depth;
+ dest = mem + (p.y() + r.height() - 1) * lineskip + p.x() * depth;
+ lineskip = -lineskip;
+ } else {
+ src = mem + r.top() * lineskip + r.left() * depth;
+ dest = mem + p.y() * lineskip + p.x() * depth;
+ }
+
+ const int w = r.width();
+ int h = r.height();
+ const int bytes = w * depth;
+
+ // overlapping segments?
+ if (offset.y() == 0 && qAbs(offset.x()) < w) {
+ do {
+ ::memmove(dest, src, bytes);
+ dest += lineskip;
+ src += lineskip;
+ } while (--h);
+ } else {
+ do {
+ ::memcpy(dest, src, bytes);
+ dest += lineskip;
+ src += lineskip;
+ } while (--h);
+ }
+}
+
+/* Public */
+
+QMeeGoLivePixmapData::QMeeGoLivePixmapData(int w, int h, QImage::Format format) : QGLPixmapData(QPixmapData::PixmapType)
+{
+ QImage image(w, h, format);
+ QX11PixmapData *pmd = new QX11PixmapData(QPixmapData::PixmapType);
+ pmd->fromImage(image, Qt::NoOpaqueDetection);
+ backingX11Pixmap = new QPixmap(pmd);
+
+ initializeThroughEGLImage();
+}
+
+QMeeGoLivePixmapData::QMeeGoLivePixmapData(Qt::HANDLE h) : QGLPixmapData(QPixmapData::PixmapType)
+{
+ backingX11Pixmap = new QPixmap(QPixmap::fromX11Pixmap(h));
+ initializeThroughEGLImage();
+}
+
+QMeeGoLivePixmapData::~QMeeGoLivePixmapData()
+{
+ delete backingX11Pixmap;
+}
+
+void QMeeGoLivePixmapData::initializeThroughEGLImage()
+{
+ QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ QMeeGoExtensions::ensureInitialized();
+
+ EGLImageKHR eglImage = EGL_NO_IMAGE_KHR;
+ GLuint newTextureId = 0;
+
+ eglImage = QEgl::eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR,
+ (EGLClientBuffer) backingX11Pixmap->handle(), preserved_attribs);
+
+ if (eglImage == EGL_NO_IMAGE_KHR) {
+ qWarning("eglCreateImageKHR failed (live texture)!");
+ return;
+ }
+
+ glGenTextures(1, &newTextureId);
+ glBindTexture(GL_TEXTURE_2D, newTextureId);
+
+ glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, (EGLImageKHR) eglImage);
+ if (glGetError() == GL_NO_ERROR) {
+ resize(backingX11Pixmap->width(), backingX11Pixmap->height());
+ texture()->id = newTextureId;
+ texture()->options &= ~QGLContext::InvertedYBindOption;
+ m_hasAlpha = backingX11Pixmap->hasAlphaChannel();
+ } else {
+ qWarning("Failed to create a texture from an egl image (live texture)!");
+ glDeleteTextures(1, &newTextureId);
+ }
+
+ QEgl::eglDestroyImageKHR(QEgl::display(), eglImage);
+}
+
+QPixmapData *QMeeGoLivePixmapData::createCompatiblePixmapData() const
+{
+ qWarning("Create compatible called on live pixmap! Expect fail soon...");
+ return new QMeeGoRasterPixmapData(pixelType());
+}
+
+QImage* QMeeGoLivePixmapData::lock(EGLSyncKHR fenceSync)
+{
+ QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ QMeeGoExtensions::ensureInitialized();
+
+ if (fenceSync) {
+ QMeeGoExtensions::eglClientWaitSyncKHR(QEgl::display(),
+ fenceSync,
+ EGL_SYNC_FLUSH_COMMANDS_BIT_KHR,
+ EGL_FOREVER_KHR);
+ }
+
+ void *data = 0;
+ int pitch = 0;
+ EGLSurface surface = 0;
+ QImage::Format format;
+ lockedImage = QImage();
+
+ surface = getSurfaceForBackingPixmap();
+ if (! QMeeGoExtensions::eglLockSurfaceKHR(QEgl::display(), surface, lock_attribs)) {
+ qWarning("Failed to lock surface (live texture)!");
+ return &lockedImage;
+ }
+
+ eglQuerySurface(QEgl::display(), surface, EGL_BITMAP_POINTER_KHR, (EGLint*) &data);
+ eglQuerySurface(QEgl::display(), surface, EGL_BITMAP_PITCH_KHR, (EGLint*) &pitch);
+
+ // Ok, here we know we just support those two formats. Real solution would be:
+ // uqery also the format.
+ if (backingX11Pixmap->depth() > 16)
+ format = QImage::Format_ARGB32_Premultiplied;
+ else
+ format = QImage::Format_RGB16;
+
+ if (data == NULL || pitch == 0) {
+ qWarning("Failed to query the live texture!");
+ return &lockedImage;
+ }
+
+ lockedImage = QImage((uchar *) data, width(), height(), format);
+ return &lockedImage;
+}
+
+bool QMeeGoLivePixmapData::release(QImage* /*img*/)
+{
+ QGLShareContextScope ctx(qt_gl_share_widget()->context());
+ QMeeGoExtensions::ensureInitialized();
+
+ if (QMeeGoExtensions::eglUnlockSurfaceKHR(QEgl::display(), getSurfaceForBackingPixmap())) {
+ lockedImage = QImage();
+ return true;
+ } else {
+ lockedImage = QImage();
+ return false;
+ }
+}
+
+Qt::HANDLE QMeeGoLivePixmapData::handle()
+{
+ return backingX11Pixmap->handle();
+}
+
+bool QMeeGoLivePixmapData::scroll(int dx, int dy, const QRect &rect)
+{
+ lock(NULL);
+
+ if (!lockedImage.isNull())
+ qt_scrollRectInImage(lockedImage, rect, QPoint(dx, dy));
+
+ release(&lockedImage);
+ return true;
+}
+
+EGLSurface QMeeGoLivePixmapData::getSurfaceForBackingPixmap()
+{
+ // This code is a crative remix of the stuff that can be found in the
+ // Qt's TFP implementation in /src/opengl/qgl_x11egl.cpp ::bindiTextureFromNativePixmap
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(backingX11Pixmap->data_ptr().data());
+ Q_ASSERT(pixmapData->classId() == QPixmapData::X11Class);
+ bool hasAlpha = pixmapData->hasAlphaChannel();
+
+ if (pixmapData->gl_surface &&
+ hasAlpha == (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha))
+ return pixmapData->gl_surface;
+
+ // Check to see if the surface is still valid
+ if (pixmapData->gl_surface &&
+ hasAlpha != ((pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha) > 0)) {
+ // Surface is invalid!
+ destroySurfaceForPixmapData(pixmapData);
+ }
+
+ if (pixmapData->gl_surface == 0) {
+ EGLConfig config = QEgl::defaultConfig(QInternal::Pixmap,
+ QEgl::OpenGL,
+ hasAlpha ? QEgl::Translucent : QEgl::NoOptions);
+
+ pixmapData->gl_surface = (void*)QEgl::createSurface(backingX11Pixmap, config);
+
+ if (hasAlpha)
+ pixmapData->flags |= QX11PixmapData::GlSurfaceCreatedWithAlpha;
+ else
+ pixmapData->flags &= ~QX11PixmapData::GlSurfaceCreatedWithAlpha;
+
+ if (pixmapData->gl_surface == (void*)EGL_NO_SURFACE)
+ return NULL;
+ }
+
+ return pixmapData->gl_surface;
+}
+
+void QMeeGoLivePixmapData::destroySurfaceForPixmapData(QPixmapData* pmd)
+{
+ Q_ASSERT(pmd->classId() == QPixmapData::X11Class);
+ QX11PixmapData *pixmapData = static_cast<QX11PixmapData*>(pmd);
+ if (pixmapData->gl_surface) {
+ eglDestroySurface(QEgl::display(), (EGLSurface)pixmapData->gl_surface);
+ pixmapData->gl_surface = 0;
+ }
+}
diff --git a/src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h b/src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h
new file mode 100644
index 0000000..2c6854e
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegolivepixmapdata.h
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** 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 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 MLIVEPIXMAPDATA_H
+#define MLIVEPIXMAPDATA_H
+
+#include <private/qpixmapdata_gl_p.h>
+#include "qmeegoextensions.h"
+
+class QMeeGoLivePixmapData : public QGLPixmapData
+{
+public:
+ QMeeGoLivePixmapData(int w, int h, QImage::Format format);
+ QMeeGoLivePixmapData(Qt::HANDLE h);
+ ~QMeeGoLivePixmapData();
+
+ QPixmapData *createCompatiblePixmapData() const;
+ bool scroll(int dx, int dy, const QRect &rect);
+
+ void initializeThroughEGLImage();
+
+ QImage* lock(EGLSyncKHR fenceSync);
+ bool release(QImage *img);
+ Qt::HANDLE handle();
+
+ EGLSurface getSurfaceForBackingPixmap();
+ void destroySurfaceForPixmapData(QPixmapData* pmd);
+
+ QPixmap *backingX11Pixmap;
+ QImage lockedImage;
+};
+
+#endif
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
index 84fc593..eb63692 100644
--- a/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.cpp
@@ -41,12 +41,18 @@
#include "qmeegopixmapdata.h"
#include "qmeegoextensions.h"
+#include "qmeegorasterpixmapdata.h"
#include <private/qimage_p.h>
#include <private/qwindowsurface_gl_p.h>
#include <private/qeglcontext_p.h>
#include <private/qapplication_p.h>
#include <private/qgraphicssystem_runtime_p.h>
+// from dithering.cpp
+extern unsigned short* convertRGB32_to_RGB565(const unsigned char *in, int width, int height, int stride);
+extern unsigned short* convertARGB32_to_RGBA4444(const unsigned char *in, int width, int height, int stride);
+extern unsigned char* convertBGRA32_to_RGBA32(const unsigned char *in, int width, int height, int stride);
+
static EGLint preserved_image_attribs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE };
QHash <void*, QMeeGoImageInfo*> QMeeGoPixmapData::sharedImagesMap;
@@ -87,36 +93,6 @@ void QMeeGoPixmapData::fromImage(const QImage &image,
}
}
-void QMeeGoPixmapData::fromEGLImage(Qt::HANDLE handle)
-{
- QGLShareContextScope ctx(qt_gl_share_widget()->context());
- QMeeGoExtensions::ensureInitialized();
-
- bool textureIsBound = false;
- GLuint newTextureId;
- GLint newWidth, newHeight;
-
- glGenTextures(1, &newTextureId);
- glBindTexture(GL_TEXTURE_2D, newTextureId);
-
- glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, (EGLImageKHR) handle);
- GLint err = glGetError();
- if (err == GL_NO_ERROR)
- textureIsBound = true;
-
- QMeeGoExtensions::eglQueryImageNOK(QEgl::display(), (EGLImageKHR) handle, EGL_WIDTH, &newWidth);
- QMeeGoExtensions::eglQueryImageNOK(QEgl::display(), (EGLImageKHR) handle, EGL_HEIGHT, &newHeight);
-
- if (textureIsBound) {
- // FIXME Remove this ugly hasAlphaChannel check when Qt lands the NoOpaqueCheck flag fix
- // for QGLPixmapData.
- fromTexture(newTextureId, newWidth, newHeight, true);
- } else {
- qWarning("Failed to create a texture from an egl image!");
- glDeleteTextures(1, &newTextureId);
- }
-}
-
void QMeeGoPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
{
if (si.isNull())
@@ -133,12 +109,10 @@ void QMeeGoPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
glGenTextures(1, &newTextureId);
glBindTexture(GL_TEXTURE_2D, newTextureId);
- glFinish();
EGLImageKHR image = QEgl::eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_SHARED_IMAGE_NOK,
(EGLClientBuffer)handle, preserved_image_attribs);
if (image != EGL_NO_IMAGE_KHR) {
- glFinish();
glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, image);
GLint err = glGetError();
if (err == GL_NO_ERROR)
@@ -148,14 +122,12 @@ void QMeeGoPixmapData::fromEGLSharedImage(Qt::HANDLE handle, const QImage &si)
QMeeGoExtensions::eglQueryImageNOK(QEgl::display(), image, EGL_HEIGHT, &newHeight);
QEgl::eglDestroyImageKHR(QEgl::display(), image);
- glFinish();
}
if (textureIsBound) {
- // FIXME Remove this ugly hasAlphaChannel check when Qt lands the NoOpaqueCheck flag fix
- // for QGLPixmapData.
fromTexture(newTextureId, newWidth, newHeight,
(si.hasAlphaChannel() && const_cast<QImage &>(si).data_ptr()->checkForAlphaPixels()));
+ texture()->options &= ~QGLContext::InvertedYBindOption;
softImage = si;
QMeeGoPixmapData::registerSharedImage(handle, softImage);
} else {
@@ -170,22 +142,32 @@ Qt::HANDLE QMeeGoPixmapData::imageToEGLSharedImage(const QImage &image)
QMeeGoExtensions::ensureInitialized();
- glFinish();
- QGLPixmapData pixmapData(QPixmapData::PixmapType);
- pixmapData.fromImage(image, 0);
- GLuint textureId = pixmapData.bind();
+ GLuint textureId;
+
+ glGenTextures(1, &textureId);
+ glBindTexture(GL_TEXTURE_2D, textureId);
+ if (image.hasAlphaChannel() && const_cast<QImage &>(image).data_ptr()->checkForAlphaPixels()) {
+ void *converted = convertBGRA32_to_RGBA32(image.bits(), image.width(), image.height(), image.bytesPerLine());
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, image.width(), image.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, converted);
+ free(converted);
+ } else {
+ void *converted = convertRGB32_to_RGB565(image.bits(), image.width(), image.height(), image.bytesPerLine());
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, image.width(), image.height(), 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, converted);
+ free(converted);
+ }
- glFinish();
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+
+ glBindTexture(GL_TEXTURE_2D, textureId);
EGLImageKHR eglimage = QEgl::eglCreateImageKHR(QEgl::display(), QEglContext::currentContext(QEgl::OpenGL)->context(),
EGL_GL_TEXTURE_2D_KHR,
(EGLClientBuffer) textureId,
preserved_image_attribs);
- glFinish();
-
+ glDeleteTextures(1, &textureId);
if (eglimage) {
EGLNativeSharedImageTypeNOK handle = QMeeGoExtensions::eglCreateSharedImageNOK(QEgl::display(), eglimage, NULL);
QEgl::eglDestroyImageKHR(QEgl::display(), eglimage);
- glFinish();
return (Qt::HANDLE) handle;
} else {
qWarning("Failed to create shared image from pixmap/texture!");
@@ -195,6 +177,7 @@ Qt::HANDLE QMeeGoPixmapData::imageToEGLSharedImage(const QImage &image)
void QMeeGoPixmapData::updateFromSoftImage()
{
+ // FIXME That's broken with recent 16bit textures changes.
m_dirty = true;
m_source = softImage;
ensureCreated();
@@ -234,3 +217,8 @@ void QMeeGoPixmapData::registerSharedImage(Qt::HANDLE handle, const QImage &si)
qWarning("Inconsistency detected: overwriting entry in sharedImagesMap but handle/format different");
}
}
+
+QPixmapData *QMeeGoPixmapData::createCompatiblePixmapData() const
+{
+ return new QMeeGoRasterPixmapData(pixelType());
+}
diff --git a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
index 8b1ae14..c66e719 100644
--- a/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
+++ b/src/plugins/graphicssystems/meego/qmeegopixmapdata.h
@@ -55,8 +55,8 @@ class QMeeGoPixmapData : public QGLPixmapData
public:
QMeeGoPixmapData();
void fromTexture(GLuint textureId, int w, int h, bool alpha);
+ QPixmapData *createCompatiblePixmapData() const;
- virtual void fromEGLImage(Qt::HANDLE handle);
virtual void fromEGLSharedImage(Qt::HANDLE handle, const QImage &softImage);
virtual void fromImage (const QImage &image, Qt::ImageConversionFlags flags);
virtual QImage toImage() const;
diff --git a/src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp b/src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp
new file mode 100644
index 0000000..b6a3727
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.cpp
@@ -0,0 +1,60 @@
+/****************************************************************************
+**
+** 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 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 "qmeegorasterpixmapdata.h"
+
+/* Public */
+
+QMeeGoRasterPixmapData::QMeeGoRasterPixmapData() : QRasterPixmapData(QPixmapData::PixmapType)
+{
+}
+
+QMeeGoRasterPixmapData::QMeeGoRasterPixmapData(QPixmapData::PixelType t) : QRasterPixmapData(t)
+{
+}
+
+void QMeeGoRasterPixmapData::copy(const QPixmapData *data, const QRect &rect)
+{
+ if (data->classId() == QPixmapData::OpenGLClass)
+ fromImage(data->toImage(rect).copy(), Qt::NoOpaqueDetection);
+ else
+ QRasterPixmapData::copy(data, rect);
+}
diff --git a/src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.h b/src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.h
new file mode 100644
index 0000000..636b0e6
--- /dev/null
+++ b/src/plugins/graphicssystems/meego/qmeegorasterpixmapdata.h
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** 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 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 MRASTERPIXMAPDATA_H
+#define MRASTERPIXMAPDATA_H
+
+#include <private/qpixmap_raster_p.h>
+
+class QMeeGoRasterPixmapData : public QRasterPixmapData
+{
+public:
+ QMeeGoRasterPixmapData();
+ QMeeGoRasterPixmapData(QPixmapData::PixelType t);
+ void copy(const QPixmapData *data, const QRect &rect);
+};
+
+#endif
diff --git a/src/plugins/phonon/mmf/mmf.pro b/src/plugins/phonon/mmf/mmf.pro
index ac11188..691fc80 100644
--- a/src/plugins/phonon/mmf/mmf.pro
+++ b/src/plugins/phonon/mmf/mmf.pro
@@ -18,7 +18,7 @@ symbian {
# This is necessary because both epoc32/include and Phonon contain videoplayer.h.
# By making /epoc32/include the first SYSTEMINCLUDE, we ensure that
# '#include <videoplayer.h>' picks up the Symbian header, as intended.
- PREPEND_INCLUDEPATH = /epoc32/include
+ PREPEND_INCLUDEPATH = $${EPOCROOT}epoc32/include
PREPEND_INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty
diff --git a/src/plugins/qpluginbase.pri b/src/plugins/qpluginbase.pri
index 84009d8..7cbffe0 100644
--- a/src/plugins/qpluginbase.pri
+++ b/src/plugins/qpluginbase.pri
@@ -1,6 +1,6 @@
TEMPLATE = lib
isEmpty(QT_MAJOR_VERSION) {
- VERSION=4.7.1
+ VERSION=4.7.2
} else {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
}
diff --git a/src/plugins/s60/feedback/feedback.pro b/src/plugins/s60/feedback/feedback.pro
new file mode 100644
index 0000000..5e577ec
--- /dev/null
+++ b/src/plugins/s60/feedback/feedback.pro
@@ -0,0 +1,18 @@
+include(../../qpluginbase.pri)
+
+TARGET = qtactilefeedback$${QT_LIBINFIX}
+
+QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/s60/feedback
+
+INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+!contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
+ HEADERS += qtactileFeedback.h
+ SOURCES += qtactileFeedback_s60.cpp
+
+ LIBS += -ltouchfeedback
+}
+
+load(data_caging_paths)
+
+TARGET.UID3=0x200315B4
diff --git a/src/plugins/s60/feedback/qtactileFeedback.h b/src/plugins/s60/feedback/qtactileFeedback.h
new file mode 100644
index 0000000..7c4cc29
--- /dev/null
+++ b/src/plugins/s60/feedback/qtactileFeedback.h
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** 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 <QEvent>
+#include <QWidget>
+
+#include "private/qs60style_feedbackinterface_p.h"
+
+class QTactileFeedback : public TactileFeedbackInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(TactileFeedbackInterface)
+
+ public:
+ void touchFeedback(QEvent *event, const QWidget *widget);
+ };
diff --git a/src/plugins/s60/feedback/qtactileFeedback_s60.cpp b/src/plugins/s60/feedback/qtactileFeedback_s60.cpp
new file mode 100644
index 0000000..c2f1d34
--- /dev/null
+++ b/src/plugins/s60/feedback/qtactileFeedback_s60.cpp
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** 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 <QApplication>
+#include <QObject>
+#include <QSlider>
+#include <QScrollBar>
+
+#include <QtCore/qplugin.h>
+#include "qtactileFeedback.h"
+
+#include <touchfeedback.h>
+
+void QTactileFeedback::touchFeedback(QEvent *event, const QWidget *widget)
+{
+ //Lets share the global instance for touch feedback (you are NOT allowed to try and delete it!).
+ MTouchFeedback* feedback = MTouchFeedback::Instance();
+
+ //If the widget itself is not handling focus, try to use focusProxy widget.
+ const QWidget *w = ((widget->focusPolicy() == Qt::NoFocus) && (widget->focusProxy())) ? widget->focusProxy() : widget;
+
+ //Only give tactile feedback for enabled widgets that take focus.
+ if (feedback && w && w->isEnabled() && w->isWidgetType() && w->isVisible()) {
+ //Scrollbars are 'special' that they don't take focus (nor they have focusProxy), yet we'd like to have tactile feedback for them
+ if (w->focusPolicy() == Qt::NoFocus)
+ if (!qobject_cast<const QScrollBar *>(w))
+ return;
+
+ //Don't give tactile feedback for widgets that are outside topmost dialog.
+ QWidget *dialog = QApplication::activeModalWidget();
+ if (dialog) {
+ QList<const QWidget *> allChildren = dialog->findChildren<const QWidget *>();
+ if (!allChildren.contains(w))
+ return;
+ }
+
+ //Widget specific tactile feedback.
+ if (qobject_cast<const QSlider *>(w) || qobject_cast<const QScrollBar *>(w))
+ feedback->InstantFeedback(ETouchFeedbackSensitive);
+ else
+ feedback->InstantFeedback(ETouchFeedbackBasic);
+ }
+}
+
+Q_EXPORT_PLUGIN2("feedback", QTactileFeedback);
diff --git a/src/plugins/s60/s60.pro b/src/plugins/s60/s60.pro
index c999fff..1ddf326 100644
--- a/src/plugins/s60/s60.pro
+++ b/src/plugins/s60/s60.pro
@@ -6,6 +6,10 @@ symbian {
SUBDIRS += 3_1 3_2
}
+ !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
+ SUBDIRS += feedback
+ }
+
# 5.0 is used also for Symbian3 and later
SUBDIRS += 5_0
} \ No newline at end of file
diff --git a/src/qbase.pri b/src/qbase.pri
index e565e4a..3a40928 100644
--- a/src/qbase.pri
+++ b/src/qbase.pri
@@ -4,7 +4,7 @@ INCLUDEPATH *= $$QMAKE_INCDIR_QT/$$TARGET #just for today to have some compat
isEmpty(QT_ARCH):!isEmpty(ARCH):QT_ARCH=$$ARCH #another compat that will rot for change #215700
TEMPLATE = lib
isEmpty(QT_MAJOR_VERSION) {
- VERSION=4.7.1
+ VERSION=4.7.2
} else {
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
}
@@ -36,7 +36,7 @@ CONFIG += qt warn_on depend_includepath
CONFIG += qmake_cache target_qt
CONFIG -= fix_output_dirs
win32|mac:!macx-xcode:CONFIG += debug_and_release
-linux*-g++*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
+linux*:QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF
contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
@@ -185,8 +185,8 @@ include(qt_targets.pri)
win32:DEFINES+=_USE_MATH_DEFINES
symbian {
- # Make partial upgrade SIS file for all dll's except webkit
- !contains(TARGET.UID3, 0x200267C2):!contains(TARGET.UID3, 0xE00267C2) {
+ # Make partial upgrade SIS file for all dll's except webkit and s60main
+ !contains(TARGET.UID3, 0x200267C2):!contains(TARGET.UID3, 0xE00267C2):!contains(TARGET.UID3, 0x2001E61F):!contains(TARGET.UID3, 0xE001E61F) {
# Partial upgrade SIS file
vendorinfo = \
"; Localised Vendor name" \
@@ -195,8 +195,11 @@ symbian {
"; Unique Vendor name" \
":\"Nokia, Qt\"" \
" "
+ isEmpty(QT_LIBINFIX): PARTIAL_UPGRADE_UID = 0x2001E61C
+ else: PARTIAL_UPGRADE_UID = 0xE001E61C
+
pu_header = "; Partial upgrade package for testing $${TARGET} changes without reinstalling everything" \
- "$${LITERAL_HASH}{\"$${TARGET}\"}, (0x2001E61C), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU"
+ "$${LITERAL_HASH}{\"$${TARGET}\"}, ($$PARTIAL_UPGRADE_UID), $${QT_MAJOR_VERSION},$${QT_MINOR_VERSION},$${QT_PATCH_VERSION}, TYPE=PU"
partial_upgrade.pkg_prerules = pu_header vendorinfo
partial_upgrade.sources = $$QMAKE_LIBDIR_QT/$${TARGET}.dll
partial_upgrade.path = c:/sys/bin
diff --git a/src/qt3support/canvas/q3canvas.cpp b/src/qt3support/canvas/q3canvas.cpp
index 959c435..1b4706d 100644
--- a/src/qt3support/canvas/q3canvas.cpp
+++ b/src/qt3support/canvas/q3canvas.cpp
@@ -1030,7 +1030,7 @@ void Q3Canvas::setUpdatePeriod(int ms)
The advance takes place in two phases. In phase 0, the
Q3CanvasItem::advance() function of each Q3CanvasItem::animated()
- canvas item is called with paramater 0. Then all these canvas
+ canvas item is called with parameter 0. Then all these canvas
items are called again, with parameter 1. In phase 0, the canvas
items should not change position, merely examine other items on
the canvas for which special processing is required, such as
diff --git a/src/qt3support/text/q3richtext.cpp b/src/qt3support/text/q3richtext.cpp
index d82d0f0..e24eeb5 100644
--- a/src/qt3support/text/q3richtext.cpp
+++ b/src/qt3support/text/q3richtext.cpp
@@ -2914,7 +2914,7 @@ QString Q3TextDocument::selectedText(int id, bool asRichText) const
}
}
// ### workaround for plain text export until we get proper
- // mime types: turn unicode line seperators into the more
+ // mime types: turn unicode line separators into the more
// widely understood \n. Makes copy and pasting code snipplets
// from within Assistent possible
QChar* uc = (QChar*) s.unicode();
diff --git a/src/s60installs/bwins/QtCoreu.def b/src/s60installs/bwins/QtCoreu.def
index f4e3a28..6ecb403 100644
--- a/src/s60installs/bwins/QtCoreu.def
+++ b/src/s60installs/bwins/QtCoreu.def
@@ -2960,7 +2960,7 @@ EXPORTS
?qvsnprintf@@YAHPADIPBD0@Z @ 2959 NONAME ; int qvsnprintf(char *, unsigned int, char const *, char *)
?raiseError@QXmlStreamReader@@QAEXABVQString@@@Z @ 2960 NONAME ; void QXmlStreamReader::raiseError(class QString const &)
?rangeContains@QXmlUtils@@CA_NPBVQXmlCharRange@@0VQChar@@@Z @ 2961 NONAME ; bool QXmlUtils::rangeContains(class QXmlCharRange const *, class QXmlCharRange const *, class QChar)
- ?reactivateDeferredActiveObjects@QEventDispatcherSymbian@@QAEXXZ @ 2962 NONAME ; void QEventDispatcherSymbian::reactivateDeferredActiveObjects(void)
+ ?reactivateDeferredActiveObjects@QEventDispatcherSymbian@@QAEXXZ @ 2962 NONAME ABSENT ; void QEventDispatcherSymbian::reactivateDeferredActiveObjects(void)
?reactivateSocketNotifier@QEventDispatcherSymbian@@QAEXPAVQSocketNotifier@@@Z @ 2963 NONAME ; void QEventDispatcherSymbian::reactivateSocketNotifier(class QSocketNotifier *)
?read@QAbstractFileEngine@@UAE_JPAD_J@Z @ 2964 NONAME ; long long QAbstractFileEngine::read(char *, long long)
?read@QFSFileEngine@@UAE_JPAD_J@Z @ 2965 NONAME ; long long QFSFileEngine::read(char *, long long)
@@ -4484,4 +4484,6 @@ EXPORTS
?selectThread@QEventDispatcherSymbian@@AAEAAVQSelectThread@@XZ @ 4483 NONAME ; class QSelectThread & QEventDispatcherSymbian::selectThread(void)
?qt_symbian_SetupThreadHeap@@YAHHAAUSStdEpocThreadCreateInfo@@@Z @ 4484 NONAME ; int qt_symbian_SetupThreadHeap(int, struct SStdEpocThreadCreateInfo &)
?objectNameChanged@QAbstractDeclarativeData@@2P6AXPAV1@PAVQObject@@@ZA @ 4485 NONAME ; void (*QAbstractDeclarativeData::objectNameChanged)(class QAbstractDeclarativeData *, class QObject *)
+ ?queueDeferredActiveObjectsCompletion@QEventDispatcherSymbian@@QAEXXZ @ 4486 NONAME ; void QEventDispatcherSymbian::queueDeferredActiveObjectsCompletion(void)
+ ?reactivateDeferredActiveObjects@QEventDispatcherSymbian@@UAEXXZ @ 4487 NONAME ; void QEventDispatcherSymbian::reactivateDeferredActiveObjects(void)
diff --git a/src/s60installs/bwins/QtDeclarativeu.def b/src/s60installs/bwins/QtDeclarativeu.def
index b72147e..9e88df7 100644
--- a/src/s60installs/bwins/QtDeclarativeu.def
+++ b/src/s60installs/bwins/QtDeclarativeu.def
@@ -1,1842 +1,1843 @@
EXPORTS
?write@QDeclarativeProperty@@QBE_NABVQVariant@@@Z @ 1 NONAME ; bool QDeclarativeProperty::write(class QVariant const &) const
- ?setStored@QMetaPropertyBuilder@@QAEX_N@Z @ 2 NONAME ; void QMetaPropertyBuilder::setStored(bool)
+ ?setStored@QMetaPropertyBuilder@@QAEX_N@Z @ 2 NONAME ABSENT ; void QMetaPropertyBuilder::setStored(bool)
?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 3 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *, int)
?qt_metacast@QDeclarativeComponent@@UAEPAXPBD@Z @ 4 NONAME ; void * QDeclarativeComponent::qt_metacast(char const *)
- ?name@QDeclarativeDebugService@@QBE?AVQString@@XZ @ 5 NONAME ; class QString QDeclarativeDebugService::name(void) const
- ?debugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 6 NONAME ; int QDeclarativeDebugObjectReference::debugId(void) const
+ ?name@QDeclarativeDebugService@@QBE?AVQString@@XZ @ 5 NONAME ABSENT ; class QString QDeclarativeDebugService::name(void) const
+ ?debugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 6 NONAME ABSENT ; int QDeclarativeDebugObjectReference::debugId(void) const
?addPluginPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 7 NONAME ; void QDeclarativeEngine::addPluginPath(class QString const &)
- ?name@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 8 NONAME ; class QByteArray QMetaPropertyBuilder::name(void) const
+ ?name@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 8 NONAME ABSENT ; class QByteArray QMetaPropertyBuilder::name(void) const
??6QDeclarativeInfo@@QAEAAV0@_J@Z @ 9 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long long)
- ?propertyOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 10 NONAME ; int QDeclarativeOpenMetaObjectType::propertyOffset(void) const
- ??0QDeclarativeText@@QAE@PAVQDeclarativeItem@@@Z @ 11 NONAME ; QDeclarativeText::QDeclarativeText(class QDeclarativeItem *)
+ ?propertyOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 10 NONAME ABSENT ; int QDeclarativeOpenMetaObjectType::propertyOffset(void) const
+ ??0QDeclarativeText@@QAE@PAVQDeclarativeItem@@@Z @ 11 NONAME ABSENT ; QDeclarativeText::QDeclarativeText(class QDeclarativeItem *)
?propertyTypeName@QDeclarativeProperty@@QBEPBDXZ @ 12 NONAME ; char const * QDeclarativeProperty::propertyTypeName(void) const
- ?getStaticMetaObject@QDeclarativeDebugService@@SAABUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const & QDeclarativeDebugService::getStaticMetaObject(void)
- ?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 14 NONAME ; void QDeclarativeAnchors::setLeft(class QDeclarativeAnchorLine const &)
+ ?getStaticMetaObject@QDeclarativeDebugService@@SAABUQMetaObject@@XZ @ 13 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugService::getStaticMetaObject(void)
+ ?setLeft@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 14 NONAME ABSENT ; void QDeclarativeAnchors::setLeft(class QDeclarativeAnchorLine const &)
?qt_metacall@QDeclarativeExpression@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 15 NONAME ; int QDeclarativeExpression::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?staticMetaObject@QDeclarativePen@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const QDeclarativePen::staticMetaObject
+ ?staticMetaObject@QDeclarativePen@@2UQMetaObject@@B @ 16 NONAME ABSENT ; struct QMetaObject const QDeclarativePen::staticMetaObject
?transformOriginChanged@QDeclarativeItem@@IAEXW4TransformOrigin@1@@Z @ 17 NONAME ; void QDeclarativeItem::transformOriginChanged(enum QDeclarativeItem::TransformOrigin)
- ?isStored@QMetaPropertyBuilder@@QBE_NXZ @ 18 NONAME ; bool QMetaPropertyBuilder::isStored(void) const
+ ?isStored@QMetaPropertyBuilder@@QBE_NXZ @ 18 NONAME ABSENT ; bool QMetaPropertyBuilder::isStored(void) const
?elapsed@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 19 NONAME ; long long QDeclarativeItemPrivate::elapsed(class QElapsedTimer &)
?clearComponentCache@QDeclarativeEngine@@QAEXXZ @ 20 NONAME ; void QDeclarativeEngine::clearComponentCache(void)
?forceActiveFocus@QDeclarativeItem@@QAEXXZ @ 21 NONAME ; void QDeclarativeItem::forceActiveFocus(void)
- ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 22 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 22 NONAME ABSENT ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *, int)
??1QDeclarativeParserStatus@@UAE@XZ @ 23 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(void)
- ?gradient@QDeclarativeRectangle@@QBEPAVQDeclarativeGradient@@XZ @ 24 NONAME ; class QDeclarativeGradient * QDeclarativeRectangle::gradient(void) const
- ?setReadable@QMetaPropertyBuilder@@QAEX_N@Z @ 25 NONAME ; void QMetaPropertyBuilder::setReadable(bool)
+ ?gradient@QDeclarativeRectangle@@QBEPAVQDeclarativeGradient@@XZ @ 24 NONAME ABSENT ; class QDeclarativeGradient * QDeclarativeRectangle::gradient(void) const
+ ?setReadable@QMetaPropertyBuilder@@QAEX_N@Z @ 25 NONAME ABSENT ; void QMetaPropertyBuilder::setReadable(bool)
?d_func@QDeclarativeExpression@@AAEPAVQDeclarativeExpressionPrivate@@XZ @ 26 NONAME ; class QDeclarativeExpressionPrivate * QDeclarativeExpression::d_func(void)
- ??1QDeclarativeDomValueValueSource@@QAE@XZ @ 27 NONAME ; QDeclarativeDomValueValueSource::~QDeclarativeDomValueValueSource(void)
+ ??1QDeclarativeDomValueValueSource@@QAE@XZ @ 27 NONAME ABSENT ; QDeclarativeDomValueValueSource::~QDeclarativeDomValueValueSource(void)
??_EQDeclarativeStateGroup@@UAE@I@Z @ 28 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(unsigned int)
- ?property@QDeclarativeDomObject@@QBE?AVQDeclarativeDomProperty@@ABVQByteArray@@@Z @ 29 NONAME ; class QDeclarativeDomProperty QDeclarativeDomObject::property(class QByteArray const &) const
- ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 30 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *, int)
+ ?property@QDeclarativeDomObject@@QBE?AVQDeclarativeDomProperty@@ABVQByteArray@@@Z @ 29 NONAME ABSENT ; class QDeclarativeDomProperty QDeclarativeDomObject::property(class QByteArray const &) const
+ ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 30 NONAME ABSENT ; class QString QDeclarativeAnchors::tr(char const *, char const *, int)
?location@QDeclarativeCustomParserNode@@QBE?AULocation@QDeclarativeParser@@XZ @ 31 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserNode::location(void) const
??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQString@@PAVQObject@@@Z @ 32 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QString const &, class QObject *)
?d_func@QDeclarativeContext@@AAEPAVQDeclarativeContextPrivate@@XZ @ 33 NONAME ; class QDeclarativeContextPrivate * QDeclarativeContext::d_func(void)
- ?resetLeft@QDeclarativeAnchors@@QAEXXZ @ 34 NONAME ; void QDeclarativeAnchors::resetLeft(void)
+ ?resetLeft@QDeclarativeAnchors@@QAEXXZ @ 34 NONAME ABSENT ; void QDeclarativeAnchors::resetLeft(void)
?setOfflineStoragePath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 35 NONAME ; void QDeclarativeEngine::setOfflineStoragePath(class QString const &)
- ?getStaticMetaObject@QListModelInterface@@SAABUQMetaObject@@XZ @ 36 NONAME ; struct QMetaObject const & QListModelInterface::getStaticMetaObject(void)
+ ?getStaticMetaObject@QListModelInterface@@SAABUQMetaObject@@XZ @ 36 NONAME ABSENT ; struct QMetaObject const & QListModelInterface::getStaticMetaObject(void)
?tr@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 37 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *, int)
??0QDeclarativeEngine@@QAE@PAVQObject@@@Z @ 38 NONAME ; QDeclarativeEngine::QDeclarativeEngine(class QObject *)
- ??0QDeclarativeDebugObjectReference@@QAE@ABV0@@Z @ 39 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(class QDeclarativeDebugObjectReference const &)
- ?set@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 40 NONAME ; void QDeclarativeListModel::set(int, class QScriptValue const &)
+ ??0QDeclarativeDebugObjectReference@@QAE@ABV0@@Z @ 39 NONAME ABSENT ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(class QDeclarativeDebugObjectReference const &)
+ ?set@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 40 NONAME ABSENT ; void QDeclarativeListModel::set(int, class QScriptValue const &)
?tr@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 41 NONAME ; class QString QDeclarativeState::tr(char const *, char const *, int)
- ?metaObject@QDeclarativeBinding@@UBEPBUQMetaObject@@XZ @ 42 NONAME ; struct QMetaObject const * QDeclarativeBinding::metaObject(void) const
- ?setUser@QMetaPropertyBuilder@@QAEX_N@Z @ 43 NONAME ; void QMetaPropertyBuilder::setUser(bool)
- ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 44 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *)
- ?setHorizontalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 45 NONAME ; void QDeclarativeAnchors::setHorizontalCenterOffset(float)
+ ?metaObject@QDeclarativeBinding@@UBEPBUQMetaObject@@XZ @ 42 NONAME ABSENT ; struct QMetaObject const * QDeclarativeBinding::metaObject(void) const
+ ?setUser@QMetaPropertyBuilder@@QAEX_N@Z @ 43 NONAME ABSENT ; void QMetaPropertyBuilder::setUser(bool)
+ ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 44 NONAME ABSENT ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *)
+ ?setHorizontalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 45 NONAME ABSENT ; void QDeclarativeAnchors::setHorizontalCenterOffset(float)
?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 46 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, int)
??0QDeclarativeProperty@@QAE@XZ @ 47 NONAME ; QDeclarativeProperty::QDeclarativeProperty(void)
- ?valueType@QDeclarativeValueTypeFactory@@SAPAVQDeclarativeValueType@@H@Z @ 48 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::valueType(int)
- ??1QDeclarativeText@@UAE@XZ @ 49 NONAME ; QDeclarativeText::~QDeclarativeText(void)
- ?getStaticMetaObject@QDeclarativeText@@SAABUQMetaObject@@XZ @ 50 NONAME ; struct QMetaObject const & QDeclarativeText::getStaticMetaObject(void)
- ?isDesignable@QMetaPropertyBuilder@@QBE_NXZ @ 51 NONAME ; bool QMetaPropertyBuilder::isDesignable(void) const
+ ?valueType@QDeclarativeValueTypeFactory@@SAPAVQDeclarativeValueType@@H@Z @ 48 NONAME ABSENT ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::valueType(int)
+ ??1QDeclarativeText@@UAE@XZ @ 49 NONAME ABSENT ; QDeclarativeText::~QDeclarativeText(void)
+ ?getStaticMetaObject@QDeclarativeText@@SAABUQMetaObject@@XZ @ 50 NONAME ABSENT ; struct QMetaObject const & QDeclarativeText::getStaticMetaObject(void)
+ ?isDesignable@QMetaPropertyBuilder@@QBE_NXZ @ 51 NONAME ABSENT ; bool QMetaPropertyBuilder::isDesignable(void) const
?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 52 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *, int)
?errors@QDeclarativeView@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 53 NONAME ; class QList<class QDeclarativeError> QDeclarativeView::errors(void) const
- ??0QPacket@@QAE@ABV0@@Z @ 54 NONAME ; QPacket::QPacket(class QPacket const &)
- ??1QDeclarativeDebugObjectExpressionWatch@@UAE@XZ @ 55 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(void)
+ ??0QPacket@@QAE@ABV0@@Z @ 54 NONAME ABSENT ; QPacket::QPacket(class QPacket const &)
+ ??1QDeclarativeDebugObjectExpressionWatch@@UAE@XZ @ 55 NONAME ABSENT ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(void)
?status@QDeclarativePixmap@@QBE?AW4Status@1@XZ @ 56 NONAME ; enum QDeclarativePixmap::Status QDeclarativePixmap::status(void) const
- ?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 57 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const
- ??_EQDeclarativeDebugObjectQuery@@UAE@I@Z @ 58 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(unsigned int)
- ??0QDeclarativeDomObject@@QAE@XZ @ 59 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(void)
- ?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 60 NONAME ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const
+ ?bottom@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 57 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::bottom(void) const
+ ??_EQDeclarativeDebugObjectQuery@@UAE@I@Z @ 58 NONAME ABSENT ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(unsigned int)
+ ??0QDeclarativeDomObject@@QAE@XZ @ 59 NONAME ABSENT ; QDeclarativeDomObject::QDeclarativeDomObject(void)
+ ?errors@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 60 NONAME ABSENT ; class QList<class QDeclarativeError> QDeclarativeDomDocument::errors(void) const
?toChanged@QDeclarativeTransition@@IAEXXZ @ 61 NONAME ; void QDeclarativeTransition::toChanged(void)
?objectOwnership@QDeclarativeEngine@@SA?AW4ObjectOwnership@1@PAVQObject@@@Z @ 62 NONAME ; enum QDeclarativeEngine::ObjectOwnership QDeclarativeEngine::objectOwnership(class QObject *)
- ??0QDeclarativeDebugWatch@@QAE@PAVQObject@@@Z @ 63 NONAME ; QDeclarativeDebugWatch::QDeclarativeDebugWatch(class QObject *)
+ ??0QDeclarativeDebugWatch@@QAE@PAVQObject@@@Z @ 63 NONAME ABSENT ; QDeclarativeDebugWatch::QDeclarativeDebugWatch(class QObject *)
?value@QDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 64 NONAME ; class QVariant QDeclarativePropertyMap::value(class QString const &) const
?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 65 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *)
- ?isWaiting@QDeclarativeDebugQuery@@QBE_NXZ @ 66 NONAME ; bool QDeclarativeDebugQuery::isWaiting(void) const
+ ?isWaiting@QDeclarativeDebugQuery@@QBE_NXZ @ 66 NONAME ABSENT ; bool QDeclarativeDebugQuery::isWaiting(void) const
??1Variant@QDeclarativeParser@@QAE@XZ @ 67 NONAME ; QDeclarativeParser::Variant::~Variant(void)
??0Variant@QDeclarativeParser@@QAE@ABVQString@@@Z @ 68 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &)
- ?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 69 NONAME ; void QDeclarativeText::paintedSizeChanged(void)
- ??1QDeclarativeDebugClient@@UAE@XZ @ 70 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(void)
- ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 71 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *)
- ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 72 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *)
+ ?paintedSizeChanged@QDeclarativeText@@IAEXXZ @ 69 NONAME ABSENT ; void QDeclarativeText::paintedSizeChanged(void)
+ ??1QDeclarativeDebugClient@@UAE@XZ @ 70 NONAME ABSENT ; QDeclarativeDebugClient::~QDeclarativeDebugClient(void)
+ ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 71 NONAME ABSENT ; class QString QPacketProtocol::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 72 NONAME ABSENT ; class QString QDeclarativeListModel::trUtf8(char const *, char const *)
?qt_metacast@QDeclarativeState@@UAEPAXPBD@Z @ 73 NONAME ; void * QDeclarativeState::qt_metacast(char const *)
- ??1QDeclarativeDebugContextReference@@QAE@XZ @ 74 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(void)
+ ??1QDeclarativeDebugContextReference@@QAE@XZ @ 74 NONAME ABSENT ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(void)
?getStaticMetaObject@QDeclarativeStateOperation@@SAABUQMetaObject@@XZ @ 75 NONAME ; struct QMetaObject const & QDeclarativeStateOperation::getStaticMetaObject(void)
- ?isInvalid@QDeclarativeDomValue@@QBE_NXZ @ 76 NONAME ; bool QDeclarativeDomValue::isInvalid(void) const
- ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 77 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *, int)
+ ?isInvalid@QDeclarativeDomValue@@QBE_NXZ @ 76 NONAME ABSENT ; bool QDeclarativeDomValue::isInvalid(void) const
+ ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 77 NONAME ABSENT ; class QString QDeclarativeText::trUtf8(char const *, char const *, int)
??0QDeclarativeListReference@@QAE@ABV0@@Z @ 78 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QDeclarativeListReference const &)
?classBegin@QDeclarativeItem@@MAEXXZ @ 79 NONAME ; void QDeclarativeItem::classBegin(void)
?setTransformOrigin@QDeclarativeItem@@QAEXW4TransformOrigin@1@@Z @ 80 NONAME ; void QDeclarativeItem::setTransformOrigin(enum QDeclarativeItem::TransformOrigin)
?event@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 81 NONAME ; bool QDeclarativeItem::event(class QEvent *)
- ?setAttributes@QMetaMethodBuilder@@QAEXH@Z @ 82 NONAME ; void QMetaMethodBuilder::setAttributes(int)
+ ?setAttributes@QMetaMethodBuilder@@QAEXH@Z @ 82 NONAME ABSENT ; void QMetaMethodBuilder::setAttributes(int)
?imageType@QDeclarativeImageProvider@@QBE?AW4ImageType@1@XZ @ 83 NONAME ; enum QDeclarativeImageProvider::ImageType QDeclarativeImageProvider::imageType(void) const
- ??_EQDeclarativeDebugObjectReference@@QAE@I@Z @ 84 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(unsigned int)
- ?qt_metacall@QDeclarativeDebugQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ; int QDeclarativeDebugQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQDeclarativeDebugObjectReference@@QAE@I@Z @ 84 NONAME ABSENT ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(unsigned int)
+ ?qt_metacall@QDeclarativeDebugQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 85 NONAME ABSENT ; int QDeclarativeDebugQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
?findState@QDeclarativeStateGroup@@QBEPAVQDeclarativeState@@ABVQString@@@Z @ 86 NONAME ; class QDeclarativeState * QDeclarativeStateGroup::findState(class QString const &) const
?asScript@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 87 NONAME ; class QString QDeclarativeParser::Variant::asScript(void) const
?qt_metacast@QDeclarativeExtensionPlugin@@UAEPAXPBD@Z @ 88 NONAME ; void * QDeclarativeExtensionPlugin::qt_metacast(char const *)
- ?objectId@QDeclarativeDomObject@@QBE?AVQString@@XZ @ 89 NONAME ; class QString QDeclarativeDomObject::objectId(void) const
- ?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 90 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const
- ?removeFromObject@QDeclarativeAbstractBinding@@QAEXXZ @ 91 NONAME ; void QDeclarativeAbstractBinding::removeFromObject(void)
+ ?objectId@QDeclarativeDomObject@@QBE?AVQString@@XZ @ 89 NONAME ABSENT ; class QString QDeclarativeDomObject::objectId(void) const
+ ?right@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 90 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::right(void) const
+ ?removeFromObject@QDeclarativeAbstractBinding@@QAEXXZ @ 91 NONAME ABSENT ; void QDeclarativeAbstractBinding::removeFromObject(void)
?resizeMode@QDeclarativeView@@QBE?AW4ResizeMode@1@XZ @ 92 NONAME ; enum QDeclarativeView::ResizeMode QDeclarativeView::resizeMode(void) const
- ?object@QDeclarativeOpenMetaObject@@QBEPAVQObject@@XZ @ 93 NONAME ; class QObject * QDeclarativeOpenMetaObject::object(void) const
- ?staticMetaObject@QDeclarativeBehavior@@2UQMetaObject@@B @ 94 NONAME ; struct QMetaObject const QDeclarativeBehavior::staticMetaObject
- ?toObject@QDeclarativeDomValue@@QBE?AVQDeclarativeDomObject@@XZ @ 95 NONAME ; class QDeclarativeDomObject QDeclarativeDomValue::toObject(void) const
+ ?object@QDeclarativeOpenMetaObject@@QBEPAVQObject@@XZ @ 93 NONAME ABSENT ; class QObject * QDeclarativeOpenMetaObject::object(void) const
+ ?staticMetaObject@QDeclarativeBehavior@@2UQMetaObject@@B @ 94 NONAME ABSENT ; struct QMetaObject const QDeclarativeBehavior::staticMetaObject
+ ?toObject@QDeclarativeDomValue@@QBE?AVQDeclarativeDomObject@@XZ @ 95 NONAME ABSENT ; class QDeclarativeDomObject QDeclarativeDomValue::toObject(void) const
?setLine@QDeclarativeError@@QAEXH@Z @ 96 NONAME ; void QDeclarativeError::setLine(int)
??6QDeclarativeInfo@@QAEAAV0@K@Z @ 97 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long)
- ??0QDeclarativeDebugConnection@@QAE@PAVQObject@@@Z @ 98 NONAME ; QDeclarativeDebugConnection::QDeclarativeDebugConnection(class QObject *)
- ?qt_metacast@QDeclarativeDebugQuery@@UAEPAXPBD@Z @ 99 NONAME ; void * QDeclarativeDebugQuery::qt_metacast(char const *)
- ?isValid@QDeclarativeGridScaledImage@@QBE_NXZ @ 100 NONAME ; bool QDeclarativeGridScaledImage::isValid(void) const
+ ??0QDeclarativeDebugConnection@@QAE@PAVQObject@@@Z @ 98 NONAME ABSENT ; QDeclarativeDebugConnection::QDeclarativeDebugConnection(class QObject *)
+ ?qt_metacast@QDeclarativeDebugQuery@@UAEPAXPBD@Z @ 99 NONAME ABSENT ; void * QDeclarativeDebugQuery::qt_metacast(char const *)
+ ?isValid@QDeclarativeGridScaledImage@@QBE_NXZ @ 100 NONAME ABSENT ; bool QDeclarativeGridScaledImage::isValid(void) const
?qt_metacast@QDeclarativeContext@@UAEPAXPBD@Z @ 101 NONAME ; void * QDeclarativeContext::qt_metacast(char const *)
- ?metaObject@QDeclarativeDebugClient@@UBEPBUQMetaObject@@XZ @ 102 NONAME ; struct QMetaObject const * QDeclarativeDebugClient::metaObject(void) const
+ ?metaObject@QDeclarativeDebugClient@@UBEPBUQMetaObject@@XZ @ 102 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugClient::metaObject(void) const
?transitions@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 103 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeItemPrivate::transitions(void)
- ??0QDeclarativeDebugPropertyWatch@@QAE@PAVQObject@@@Z @ 104 NONAME ; QDeclarativeDebugPropertyWatch::QDeclarativeDebugPropertyWatch(class QObject *)
- ??_EQDeclarativeDebugPropertyReference@@QAE@I@Z @ 105 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(unsigned int)
- ?itemsChanged@QListModelInterface@@IAEXHHABV?$QList@H@@@Z @ 106 NONAME ; void QListModelInterface::itemsChanged(int, int, class QList<int> const &)
+ ??0QDeclarativeDebugPropertyWatch@@QAE@PAVQObject@@@Z @ 104 NONAME ABSENT ; QDeclarativeDebugPropertyWatch::QDeclarativeDebugPropertyWatch(class QObject *)
+ ??_EQDeclarativeDebugPropertyReference@@QAE@I@Z @ 105 NONAME ABSENT ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(unsigned int)
+ ?itemsChanged@QListModelInterface@@IAEXHHABV?$QList@H@@@Z @ 106 NONAME ABSENT ; void QListModelInterface::itemsChanged(int, int, class QList<int> const &)
??6@YA?AVQDebug@@V0@PAVQDeclarativeItem@@@Z @ 107 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeItem *)
- ?write@QDeclarativePropertyPrivate@@SA_NABVQDeclarativeProperty@@ABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 108 NONAME ; bool QDeclarativePropertyPrivate::write(class QDeclarativeProperty const &, class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
- ?verticalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 109 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::verticalTileRule(void) const
- ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 110 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *)
- ?isDynamic@QMetaPropertyBuilder@@QBE_NXZ @ 111 NONAME ; bool QMetaPropertyBuilder::isDynamic(void) const
- ?removeClassInfo@QMetaObjectBuilder@@QAEXH@Z @ 112 NONAME ; void QMetaObjectBuilder::removeClassInfo(int)
+ ?write@QDeclarativePropertyPrivate@@SA_NABVQDeclarativeProperty@@ABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 108 NONAME ABSENT ; bool QDeclarativePropertyPrivate::write(class QDeclarativeProperty const &, class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?verticalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 109 NONAME ABSENT ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::verticalTileRule(void) const
+ ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 110 NONAME ABSENT ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *)
+ ?isDynamic@QMetaPropertyBuilder@@QBE_NXZ @ 111 NONAME ABSENT ; bool QMetaPropertyBuilder::isDynamic(void) const
+ ?removeClassInfo@QMetaObjectBuilder@@QAEXH@Z @ 112 NONAME ABSENT ; void QMetaObjectBuilder::removeClassInfo(int)
?warnings@QDeclarativeEngine@@IAEXABV?$QList@VQDeclarativeError@@@@@Z @ 113 NONAME ; void QDeclarativeEngine::warnings(class QList<class QDeclarativeError> const &)
?description@QDeclarativeError@@QBE?AVQString@@XZ @ 114 NONAME ; class QString QDeclarativeError::description(void) const
- ?binding@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 115 NONAME ; class QString QDeclarativeDebugPropertyReference::binding(void) const
- ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 116 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *)
- ?readValueProperty@QDeclarativePropertyPrivate@@QAE?AVQVariant@@XZ @ 117 NONAME ; class QVariant QDeclarativePropertyPrivate::readValueProperty(void)
- ?propertyType@QDeclarativeDomDynamicProperty@@QBEHXZ @ 118 NONAME ; int QDeclarativeDomDynamicProperty::propertyType(void) const
- ?gridBottom@QDeclarativeGridScaledImage@@QBEHXZ @ 119 NONAME ; int QDeclarativeGridScaledImage::gridBottom(void) const
- ?setRadius@QDeclarativeRectangle@@QAEXM@Z @ 120 NONAME ; void QDeclarativeRectangle::setRadius(float)
- ?d_func@QDeclarativeBehavior@@AAEPAVQDeclarativeBehaviorPrivate@@XZ @ 121 NONAME ; class QDeclarativeBehaviorPrivate * QDeclarativeBehavior::d_func(void)
- ?isValid@QDeclarativePen@@QAE_NXZ @ 122 NONAME ; bool QDeclarativePen::isValid(void)
- ?result@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 123 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::result(void) const
- ?isEnumOrFlag@QMetaPropertyBuilder@@QBE_NXZ @ 124 NONAME ; bool QMetaPropertyBuilder::isEnumOrFlag(void) const
- ?addToObject@QDeclarativeAbstractBinding@@QAEXPAVQObject@@@Z @ 125 NONAME ; void QDeclarativeAbstractBinding::addToObject(class QObject *)
+ ?binding@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 115 NONAME ABSENT ; class QString QDeclarativeDebugPropertyReference::binding(void) const
+ ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 116 NONAME ABSENT ; class QString QDeclarativePen::trUtf8(char const *, char const *)
+ ?readValueProperty@QDeclarativePropertyPrivate@@QAE?AVQVariant@@XZ @ 117 NONAME ABSENT ; class QVariant QDeclarativePropertyPrivate::readValueProperty(void)
+ ?propertyType@QDeclarativeDomDynamicProperty@@QBEHXZ @ 118 NONAME ABSENT ; int QDeclarativeDomDynamicProperty::propertyType(void) const
+ ?gridBottom@QDeclarativeGridScaledImage@@QBEHXZ @ 119 NONAME ABSENT ; int QDeclarativeGridScaledImage::gridBottom(void) const
+ ?setRadius@QDeclarativeRectangle@@QAEXM@Z @ 120 NONAME ABSENT ; void QDeclarativeRectangle::setRadius(float)
+ ?d_func@QDeclarativeBehavior@@AAEPAVQDeclarativeBehaviorPrivate@@XZ @ 121 NONAME ABSENT ; class QDeclarativeBehaviorPrivate * QDeclarativeBehavior::d_func(void)
+ ?isValid@QDeclarativePen@@QAE_NXZ @ 122 NONAME ABSENT ; bool QDeclarativePen::isValid(void)
+ ?result@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 123 NONAME ABSENT ; class QVariant QDeclarativeDebugExpressionQuery::result(void) const
+ ?isEnumOrFlag@QMetaPropertyBuilder@@QBE_NXZ @ 124 NONAME ABSENT ; bool QMetaPropertyBuilder::isEnumOrFlag(void) const
+ ?addToObject@QDeclarativeAbstractBinding@@QAEXPAVQObject@@@Z @ 125 NONAME ABSENT ; void QDeclarativeAbstractBinding::addToObject(class QObject *)
?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 126 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *, int)
- ?d_func@QDeclarativeAnchors@@AAEPAVQDeclarativeAnchorsPrivate@@XZ @ 127 NONAME ; class QDeclarativeAnchorsPrivate * QDeclarativeAnchors::d_func(void)
- ??1QPacket@@UAE@XZ @ 128 NONAME ; QPacket::~QPacket(void)
- ?top@QDeclarativeScaleGrid@@QBEHXZ @ 129 NONAME ; int QDeclarativeScaleGrid::top(void) const
+ ?d_func@QDeclarativeAnchors@@AAEPAVQDeclarativeAnchorsPrivate@@XZ @ 127 NONAME ABSENT ; class QDeclarativeAnchorsPrivate * QDeclarativeAnchors::d_func(void)
+ ??1QPacket@@UAE@XZ @ 128 NONAME ABSENT ; QPacket::~QPacket(void)
+ ?top@QDeclarativeScaleGrid@@QBEHXZ @ 129 NONAME ABSENT ; int QDeclarativeScaleGrid::top(void) const
?setExpression@QDeclarativeExpression@@QAEXABVQString@@@Z @ 130 NONAME ; void QDeclarativeExpression::setExpression(class QString const &)
- ??1QDeclarativeDebugEngineReference@@QAE@XZ @ 131 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(void)
+ ??1QDeclarativeDebugEngineReference@@QAE@XZ @ 131 NONAME ABSENT ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(void)
??0QDeclarativeStateOperation@@QAE@PAVQObject@@@Z @ 132 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObject *)
?transform_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 133 NONAME ; void QDeclarativeItemPrivate::transform_clear(class QDeclarativeListProperty<class QGraphicsTransform> *)
- ?staticMetaObject@QDeclarativeValueType@@2UQMetaObject@@B @ 134 NONAME ; struct QMetaObject const QDeclarativeValueType::staticMetaObject
- ?propertyName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 135 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyName(void) const
+ ?staticMetaObject@QDeclarativeValueType@@2UQMetaObject@@B @ 134 NONAME ABSENT ; struct QMetaObject const QDeclarativeValueType::staticMetaObject
+ ?propertyName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 135 NONAME ABSENT ; class QByteArray QDeclarativeDomDynamicProperty::propertyName(void) const
?focusChanged@QDeclarativeItem@@IAEX_N@Z @ 136 NONAME ; void QDeclarativeItem::focusChanged(bool)
- ?getStaticMetaObject@QDeclarativeBinding@@SAABUQMetaObject@@XZ @ 137 NONAME ; struct QMetaObject const & QDeclarativeBinding::getStaticMetaObject(void)
- ?copy@QDeclarativeMetaType@@SA_NHPAXPBX@Z @ 138 NONAME ; bool QDeclarativeMetaType::copy(int, void *, void const *)
- ?qt_metacall@QDeclarativeDebugEnginesQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 139 NONAME ; int QDeclarativeDebugEnginesQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 140 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *)
- ?setEnumOrFlag@QMetaPropertyBuilder@@QAEX_N@Z @ 141 NONAME ; void QMetaPropertyBuilder::setEnumOrFlag(bool)
- ?getStaticMetaObject@QDeclarativeRectangle@@SAABUQMetaObject@@XZ @ 142 NONAME ; struct QMetaObject const & QDeclarativeRectangle::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeBinding@@SAABUQMetaObject@@XZ @ 137 NONAME ABSENT ; struct QMetaObject const & QDeclarativeBinding::getStaticMetaObject(void)
+ ?copy@QDeclarativeMetaType@@SA_NHPAXPBX@Z @ 138 NONAME ABSENT ; bool QDeclarativeMetaType::copy(int, void *, void const *)
+ ?qt_metacall@QDeclarativeDebugEnginesQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 139 NONAME ABSENT ; int QDeclarativeDebugEnginesQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 140 NONAME ABSENT ; class QString QDeclarativeDebugWatch::tr(char const *, char const *)
+ ?setEnumOrFlag@QMetaPropertyBuilder@@QAEX_N@Z @ 141 NONAME ABSENT ; void QMetaPropertyBuilder::setEnumOrFlag(bool)
+ ?getStaticMetaObject@QDeclarativeRectangle@@SAABUQMetaObject@@XZ @ 142 NONAME ABSENT ; struct QMetaObject const & QDeclarativeRectangle::getStaticMetaObject(void)
?isValid@QDeclarativeProperty@@QBE_NXZ @ 143 NONAME ; bool QDeclarativeProperty::isValid(void) const
?isConnected@QDeclarativeDebugClient@@QBE_NXZ @ 144 NONAME ABSENT ; bool QDeclarativeDebugClient::isConnected(void) const
- ?enabled@QDeclarativeBinding@@QBE_NXZ @ 145 NONAME ; bool QDeclarativeBinding::enabled(void) const
+ ?enabled@QDeclarativeBinding@@QBE_NXZ @ 145 NONAME ABSENT ; bool QDeclarativeBinding::enabled(void) const
?setSource@QDeclarativeView@@QAEXABVQUrl@@@Z @ 146 NONAME ; void QDeclarativeView::setSource(class QUrl const &)
- ??_EQDeclarativeDebugService@@UAE@I@Z @ 147 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(unsigned int)
- ??0QDeclarativeDomDynamicProperty@@QAE@ABV0@@Z @ 148 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(class QDeclarativeDomDynamicProperty const &)
- ?className@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 149 NONAME ; class QString QDeclarativeDebugObjectReference::className(void) const
- ?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 150 NONAME ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &)
- ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 151 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *, int)
+ ??_EQDeclarativeDebugService@@UAE@I@Z @ 147 NONAME ABSENT ; QDeclarativeDebugService::~QDeclarativeDebugService(unsigned int)
+ ??0QDeclarativeDomDynamicProperty@@QAE@ABV0@@Z @ 148 NONAME ABSENT ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(class QDeclarativeDomDynamicProperty const &)
+ ?className@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 149 NONAME ABSENT ; class QString QDeclarativeDebugObjectReference::className(void) const
+ ?indexOfSlot@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 150 NONAME ABSENT ; int QMetaObjectBuilder::indexOfSlot(class QByteArray const &)
+ ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 151 NONAME ABSENT ; class QString QDeclarativeDebugConnection::tr(char const *, char const *, int)
?progressChanged@QDeclarativeComponent@@IAEXM@Z @ 152 NONAME ; void QDeclarativeComponent::progressChanged(float)
?hasError@QDeclarativeExpression@@QBE_NXZ @ 153 NONAME ; bool QDeclarativeExpression::hasError(void) const
?error@QDeclarativePixmap@@QBE?AVQString@@XZ @ 154 NONAME ; class QString QDeclarativePixmap::error(void) const
- ?property@QMetaObjectBuilder@@QBE?AVQMetaPropertyBuilder@@H@Z @ 155 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::property(int) const
- ?index@QDeclarativeType@@QBEHXZ @ 156 NONAME ; int QDeclarativeType::index(void) const
- ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 157 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *)
- ??0QDeclarativeScaleGrid@@QAE@PAVQObject@@@Z @ 158 NONAME ; QDeclarativeScaleGrid::QDeclarativeScaleGrid(class QObject *)
- ?engines@QDeclarativeDebugEnginesQuery@@QBE?AV?$QList@VQDeclarativeDebugEngineReference@@@@XZ @ 159 NONAME ; class QList<class QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines(void) const
- ?qt_metacall@QDeclarativeDebugPropertyWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 160 NONAME ; int QDeclarativeDebugPropertyWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?metaObject@QDeclarativeAnchors@@UBEPBUQMetaObject@@XZ @ 161 NONAME ; struct QMetaObject const * QDeclarativeAnchors::metaObject(void) const
+ ?property@QMetaObjectBuilder@@QBE?AVQMetaPropertyBuilder@@H@Z @ 155 NONAME ABSENT ; class QMetaPropertyBuilder QMetaObjectBuilder::property(int) const
+ ?index@QDeclarativeType@@QBEHXZ @ 156 NONAME ABSENT ; int QDeclarativeType::index(void) const
+ ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 157 NONAME ABSENT ; class QString QDeclarativeRectangle::tr(char const *, char const *)
+ ??0QDeclarativeScaleGrid@@QAE@PAVQObject@@@Z @ 158 NONAME ABSENT ; QDeclarativeScaleGrid::QDeclarativeScaleGrid(class QObject *)
+ ?engines@QDeclarativeDebugEnginesQuery@@QBE?AV?$QList@VQDeclarativeDebugEngineReference@@@@XZ @ 159 NONAME ABSENT ; class QList<class QDeclarativeDebugEngineReference> QDeclarativeDebugEnginesQuery::engines(void) const
+ ?qt_metacall@QDeclarativeDebugPropertyWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 160 NONAME ABSENT ; int QDeclarativeDebugPropertyWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?metaObject@QDeclarativeAnchors@@UBEPBUQMetaObject@@XZ @ 161 NONAME ABSENT ; struct QMetaObject const * QDeclarativeAnchors::metaObject(void) const
??BQDeclarativePixmap@@QBEABVQPixmap@@XZ @ 162 NONAME ; QDeclarativePixmap::operator class QPixmap const &(void) const
?sceneResized@QDeclarativeView@@IAEXVQSize@@@Z @ 163 NONAME ; void QDeclarativeView::sceneResized(class QSize)
?subFocusItemChange@QDeclarativeItemPrivate@@UAEXXZ @ 164 NONAME ; void QDeclarativeItemPrivate::subFocusItemChange(void)
- ?hasNotifySignal@QDeclarativeDebugPropertyReference@@QBE_NXZ @ 165 NONAME ; bool QDeclarativeDebugPropertyReference::hasNotifySignal(void) const
- ?addSlot@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 166 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSlot(class QByteArray const &)
+ ?hasNotifySignal@QDeclarativeDebugPropertyReference@@QBE_NXZ @ 165 NONAME ABSENT ; bool QDeclarativeDebugPropertyReference::hasNotifySignal(void) const
+ ?addSlot@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 166 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addSlot(class QByteArray const &)
?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 167 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *)
- ?propertyCreated@QDeclarativeOpenMetaObjectType@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 168 NONAME ; void QDeclarativeOpenMetaObjectType::propertyCreated(int, class QMetaPropertyBuilder &)
+ ?propertyCreated@QDeclarativeOpenMetaObjectType@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 168 NONAME ABSENT ; void QDeclarativeOpenMetaObjectType::propertyCreated(int, class QMetaPropertyBuilder &)
??1QDeclarativeItemPrivate@@UAE@XZ @ 169 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(void)
?clear@QDeclarativePropertyMap@@QAEXABVQString@@@Z @ 170 NONAME ; void QDeclarativePropertyMap::clear(class QString const &)
- ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 171 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 171 NONAME ABSENT ; class QString QDeclarativeDebugClient::tr(char const *, char const *, int)
?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 172 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeEngine *)
?insert@QDeclarativePropertyMap@@QAEXABVQString@@ABVQVariant@@@Z @ 173 NONAME ; void QDeclarativePropertyMap::insert(class QString const &, class QVariant const &)
??1QDeclarativeContext@@UAE@XZ @ 174 NONAME ; QDeclarativeContext::~QDeclarativeContext(void)
?operationCount@QDeclarativeState@@QBEHXZ @ 175 NONAME ; int QDeclarativeState::operationCount(void) const
?getStaticMetaObject@QDeclarativeItem@@SAABUQMetaObject@@XZ @ 176 NONAME ; struct QMetaObject const & QDeclarativeItem::getStaticMetaObject(void)
- ?qtAnimationStateChanged@QDeclarativeBehavior@@AAEXW4State@QAbstractAnimation@@0@Z @ 177 NONAME ; void QDeclarativeBehavior::qtAnimationStateChanged(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
- ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 178 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *, int)
+ ?qtAnimationStateChanged@QDeclarativeBehavior@@AAEXW4State@QAbstractAnimation@@0@Z @ 177 NONAME ABSENT ; void QDeclarativeBehavior::qtAnimationStateChanged(enum QAbstractAnimation::State, enum QAbstractAnimation::State)
+ ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 178 NONAME ABSENT ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *, int)
?status@QDeclarativeComponent@@QBE?AW4Status@1@XZ @ 179 NONAME ; enum QDeclarativeComponent::Status QDeclarativeComponent::status(void) const
?boundingRect@QDeclarativeItem@@UBE?AVQRectF@@XZ @ 180 NONAME ; class QRectF QDeclarativeItem::boundingRect(void) const
- ?availableInVersion@QDeclarativeType@@QBE_NHH@Z @ 181 NONAME ; bool QDeclarativeType::availableInVersion(int, int) const
- ?getStaticMetaObject@QDeclarativeDebugWatch@@SAABUQMetaObject@@XZ @ 182 NONAME ; struct QMetaObject const & QDeclarativeDebugWatch::getStaticMetaObject(void)
- ??_EQDeclarativeRectangle@@UAE@I@Z @ 183 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(unsigned int)
- ?setTopMargin@QDeclarativeAnchors@@QAEXM@Z @ 184 NONAME ; void QDeclarativeAnchors::setTopMargin(float)
- ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 185 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &)
- ??1QDeclarativeValueTypeFactory@@QAE@XZ @ 186 NONAME ; QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory(void)
- ?metaObject@QDeclarativeDebugObjectExpressionWatch@@UBEPBUQMetaObject@@XZ @ 187 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectExpressionWatch::metaObject(void) const
+ ?availableInVersion@QDeclarativeType@@QBE_NHH@Z @ 181 NONAME ABSENT ; bool QDeclarativeType::availableInVersion(int, int) const
+ ?getStaticMetaObject@QDeclarativeDebugWatch@@SAABUQMetaObject@@XZ @ 182 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugWatch::getStaticMetaObject(void)
+ ??_EQDeclarativeRectangle@@UAE@I@Z @ 183 NONAME ABSENT ; QDeclarativeRectangle::~QDeclarativeRectangle(unsigned int)
+ ?setTopMargin@QDeclarativeAnchors@@QAEXM@Z @ 184 NONAME ABSENT ; void QDeclarativeAnchors::setTopMargin(float)
+ ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 185 NONAME ABSENT ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty &)
+ ??1QDeclarativeValueTypeFactory@@QAE@XZ @ 186 NONAME ABSENT ; QDeclarativeValueTypeFactory::~QDeclarativeValueTypeFactory(void)
+ ?metaObject@QDeclarativeDebugObjectExpressionWatch@@UBEPBUQMetaObject@@XZ @ 187 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugObjectExpressionWatch::metaObject(void) const
??0QDeclarativeComponent@@QAE@PAVQObject@@@Z @ 188 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QObject *)
?qt_metacast@QDeclarativeItem@@UAEPAXPBD@Z @ 189 NONAME ; void * QDeclarativeItem::qt_metacast(char const *)
?changes@QDeclarativeState@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeStateOperation@@@@XZ @ 190 NONAME ; class QDeclarativeListProperty<class QDeclarativeStateOperation> QDeclarativeState::changes(void)
?resizeEvent@QDeclarativeView@@MAEXPAVQResizeEvent@@@Z @ 191 NONAME ; void QDeclarativeView::resizeEvent(class QResizeEvent *)
- ?d_func@QDeclarativeBinding@@ABEPBVQDeclarativeBindingPrivate@@XZ @ 192 NONAME ; class QDeclarativeBindingPrivate const * QDeclarativeBinding::d_func(void) const
- ?wrapMode@QDeclarativeText@@QBE?AW4WrapMode@1@XZ @ 193 NONAME ; enum QDeclarativeText::WrapMode QDeclarativeText::wrapMode(void) const
- ?centerIn@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 194 NONAME ; class QGraphicsObject * QDeclarativeAnchors::centerIn(void) const
- ??0QDeclarativeType@@AAE@HABURegisterType@QDeclarativePrivate@@@Z @ 195 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterType const &)
+ ?d_func@QDeclarativeBinding@@ABEPBVQDeclarativeBindingPrivate@@XZ @ 192 NONAME ABSENT ; class QDeclarativeBindingPrivate const * QDeclarativeBinding::d_func(void) const
+ ?wrapMode@QDeclarativeText@@QBE?AW4WrapMode@1@XZ @ 193 NONAME ABSENT ; enum QDeclarativeText::WrapMode QDeclarativeText::wrapMode(void) const
+ ?centerIn@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 194 NONAME ABSENT ; class QGraphicsObject * QDeclarativeAnchors::centerIn(void) const
+ ??0QDeclarativeType@@AAE@HABURegisterType@QDeclarativePrivate@@@Z @ 195 NONAME ABSENT ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterType const &)
?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 196 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *, int)
- ??0QMetaObjectBuilder@@QAE@PBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 197 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
+ ??0QMetaObjectBuilder@@QAE@PBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 197 NONAME ABSENT ; QMetaObjectBuilder::QMetaObjectBuilder(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
?quit@QDeclarativeEngine@@IAEXXZ @ 198 NONAME ; void QDeclarativeEngine::quit(void)
?qmlregister@QDeclarativePrivate@@YAHW4RegistrationType@1@PAX@Z @ 199 NONAME ; int QDeclarativePrivate::qmlregister(enum QDeclarativePrivate::RegistrationType, void *)
- ??0QMetaEnumBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 200 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(class QMetaObjectBuilder const *, int)
- ?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 201 NONAME ; void QDeclarativeAnchors::setBottom(class QDeclarativeAnchorLine const &)
+ ??0QMetaEnumBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 200 NONAME ABSENT ; QMetaEnumBuilder::QMetaEnumBuilder(class QMetaObjectBuilder const *, int)
+ ?setBottom@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 201 NONAME ABSENT ; void QDeclarativeAnchors::setBottom(class QDeclarativeAnchorLine const &)
??0QDeclarativeCustomParser@@QAE@XZ @ 202 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(void)
- ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 203 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(class QByteArray const &) const
- ?styleColor@QDeclarativeText@@QBE?AVQColor@@XZ @ 204 NONAME ; class QColor QDeclarativeText::styleColor(void) const
- ?centerInChanged@QDeclarativeAnchors@@IAEXXZ @ 205 NONAME ; void QDeclarativeAnchors::centerInChanged(void)
- ?colorChanged@QDeclarativeRectangle@@IAEXXZ @ 206 NONAME ; void QDeclarativeRectangle::colorChanged(void)
- ??0QDeclarativePropertyPrivate@@QAE@ABV0@@Z @ 207 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(class QDeclarativePropertyPrivate const &)
+ ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 203 NONAME ABSENT ; class QVariant QDeclarativeOpenMetaObject::value(class QByteArray const &) const
+ ?styleColor@QDeclarativeText@@QBE?AVQColor@@XZ @ 204 NONAME ABSENT ; class QColor QDeclarativeText::styleColor(void) const
+ ?centerInChanged@QDeclarativeAnchors@@IAEXXZ @ 205 NONAME ABSENT ; void QDeclarativeAnchors::centerInChanged(void)
+ ?colorChanged@QDeclarativeRectangle@@IAEXXZ @ 206 NONAME ABSENT ; void QDeclarativeRectangle::colorChanged(void)
+ ??0QDeclarativePropertyPrivate@@QAE@ABV0@@Z @ 207 NONAME ABSENT ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(class QDeclarativePropertyPrivate const &)
?loadUrl@QDeclarativeComponent@@QAEXABVQUrl@@@Z @ 208 NONAME ; void QDeclarativeComponent::loadUrl(class QUrl const &)
?beginCreate@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 209 NONAME ; class QObject * QDeclarativeComponent::beginCreate(class QDeclarativeContext *)
- ?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 210 NONAME ; void QDeclarativeAnchors::setRight(class QDeclarativeAnchorLine const &)
+ ?setRight@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 210 NONAME ABSENT ; void QDeclarativeAnchors::setRight(class QDeclarativeAnchorLine const &)
?needsNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 211 NONAME ; bool QDeclarativeProperty::needsNotifySignal(void) const
- ?fill@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 212 NONAME ; class QGraphicsObject * QDeclarativeAnchors::fill(void) const
+ ?fill@QDeclarativeAnchors@@QBEPAVQGraphicsObject@@XZ @ 212 NONAME ABSENT ; class QGraphicsObject * QDeclarativeAnchors::fill(void) const
?top@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 213 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::top(void) const
?clear@QDeclarativeListReference@@QBE_NXZ @ 214 NONAME ; bool QDeclarativeListReference::clear(void) const
?parentChanged@QDeclarativeItem@@IAEXPAV1@@Z @ 215 NONAME ; void QDeclarativeItem::parentChanged(class QDeclarativeItem *)
- ?columnNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 216 NONAME ; int QDeclarativeDebugFileReference::columnNumber(void) const
+ ?columnNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 216 NONAME ABSENT ; int QDeclarativeDebugFileReference::columnNumber(void) const
??0QDeclarativeListModel@@AAE@_NPAVQObject@@@Z @ 217 NONAME ABSENT ; QDeclarativeListModel::QDeclarativeListModel(bool, class QObject *)
?apply@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@PAVQDeclarativeTransition@@PAV1@@Z @ 218 NONAME ; void QDeclarativeState::apply(class QDeclarativeStateGroup *, class QDeclarativeTransition *, class QDeclarativeState *)
- ?isValid@QDeclarativeDomProperty@@QBE_NXZ @ 219 NONAME ; bool QDeclarativeDomProperty::isValid(void) const
- ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 220 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *)
+ ?isValid@QDeclarativeDomProperty@@QBE_NXZ @ 219 NONAME ABSENT ; bool QDeclarativeDomProperty::isValid(void) const
+ ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 220 NONAME ABSENT ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *)
?statusChanged@QDeclarativeView@@IAEXW4Status@1@@Z @ 221 NONAME ; void QDeclarativeView::statusChanged(enum QDeclarativeView::Status)
- ?componentComplete@QDeclarativeText@@UAEXXZ @ 222 NONAME ; void QDeclarativeText::componentComplete(void)
+ ?componentComplete@QDeclarativeText@@UAEXXZ @ 222 NONAME ABSENT ; void QDeclarativeText::componentComplete(void)
?canCount@QDeclarativeListReference@@QBE_NXZ @ 223 NONAME ; bool QDeclarativeListReference::canCount(void) const
- ??1QListModelInterface@@UAE@XZ @ 224 NONAME ; QListModelInterface::~QListModelInterface(void)
- ??0QDeclarativeAnchors@@QAE@PAVQObject@@@Z @ 225 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QObject *)
+ ??1QListModelInterface@@UAE@XZ @ 224 NONAME ABSENT ; QListModelInterface::~QListModelInterface(void)
+ ??0QDeclarativeAnchors@@QAE@PAVQObject@@@Z @ 225 NONAME ABSENT ; QDeclarativeAnchors::QDeclarativeAnchors(class QObject *)
?resources_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 226 NONAME ; class QObject * QDeclarativeItemPrivate::resources_at(class QDeclarativeListProperty<class QObject> *, int)
- ?isExtendedType@QDeclarativeType@@QBE_NXZ @ 227 NONAME ; bool QDeclarativeType::isExtendedType(void) const
- ?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 228 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const
+ ?isExtendedType@QDeclarativeType@@QBE_NXZ @ 227 NONAME ABSENT ; bool QDeclarativeType::isExtendedType(void) const
+ ?top@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 228 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::top(void) const
??0QDeclarativePropertyMap@@QAE@PAVQObject@@@Z @ 229 NONAME ; QDeclarativePropertyMap::QDeclarativePropertyMap(class QObject *)
??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAXPAVQDeclarativeRefCount@@PAVQObject@@ABVQString@@HAAVQDeclarativeExpressionPrivate@@@Z @ 230 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, void *, class QDeclarativeRefCount *, class QObject *, class QString const &, int, class QDeclarativeExpressionPrivate &)
- ?setColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 231 NONAME ; void QDeclarativeText::setColor(class QColor const &)
- ?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 232 NONAME ; bool QMetaPropertyBuilder::hasStdCppSet(void) const
- ??0QDeclarativeDebugFileReference@@QAE@ABV0@@Z @ 233 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(class QDeclarativeDebugFileReference const &)
- ?toValueInterceptor@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueInterceptor@@XZ @ 234 NONAME ; class QDeclarativeDomValueValueInterceptor QDeclarativeDomValue::toValueInterceptor(void) const
- ??0QDeclarativeDebugEngineReference@@QAE@H@Z @ 235 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(int)
+ ?setColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 231 NONAME ABSENT ; void QDeclarativeText::setColor(class QColor const &)
+ ?hasStdCppSet@QMetaPropertyBuilder@@QBE_NXZ @ 232 NONAME ABSENT ; bool QMetaPropertyBuilder::hasStdCppSet(void) const
+ ??0QDeclarativeDebugFileReference@@QAE@ABV0@@Z @ 233 NONAME ABSENT ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(class QDeclarativeDebugFileReference const &)
+ ?toValueInterceptor@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueInterceptor@@XZ @ 234 NONAME ABSENT ; class QDeclarativeDomValueValueInterceptor QDeclarativeDomValue::toValueInterceptor(void) const
+ ??0QDeclarativeDebugEngineReference@@QAE@H@Z @ 235 NONAME ABSENT ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(int)
?tr@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 236 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *, int)
?state@QDeclarativeItemPrivate@@QBE?AVQString@@XZ @ 237 NONAME ; class QString QDeclarativeItemPrivate::state(void) const
??1QDeclarativePropertyValueInterceptor@@UAE@XZ @ 238 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(void)
?getStaticMetaObject@QDeclarativePropertyMap@@SAABUQMetaObject@@XZ @ 239 NONAME ; struct QMetaObject const & QDeclarativePropertyMap::getStaticMetaObject(void)
- ??1QDeclarativeScaleGrid@@UAE@XZ @ 240 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(void)
- ?idString@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 241 NONAME ; class QString QDeclarativeDebugObjectReference::idString(void) const
- ?customTypeData@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 242 NONAME ; class QByteArray QDeclarativeDomObject::customTypeData(void) const
+ ??1QDeclarativeScaleGrid@@UAE@XZ @ 240 NONAME ABSENT ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(void)
+ ?idString@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 241 NONAME ABSENT ; class QString QDeclarativeDebugObjectReference::idString(void) const
+ ?customTypeData@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 242 NONAME ABSENT ; class QByteArray QDeclarativeDomObject::customTypeData(void) const
?stop@QDeclarativeTransition@@QAEXXZ @ 243 NONAME ; void QDeclarativeTransition::stop(void)
?data@QDeclarativeListModel@@UBE?AV?$QHash@HVQVariant@@@@HABV?$QList@H@@@Z @ 244 NONAME ABSENT ; class QHash<int, class QVariant> QDeclarativeListModel::data(int, class QList<int> const &) const
- ?verticalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 245 NONAME ; float QDeclarativeAnchors::verticalCenterOffset(void) const
- ?metaObject@QDeclarativeText@@UBEPBUQMetaObject@@XZ @ 246 NONAME ; struct QMetaObject const * QDeclarativeText::metaObject(void) const
+ ?verticalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 245 NONAME ABSENT ; float QDeclarativeAnchors::verticalCenterOffset(void) const
+ ?metaObject@QDeclarativeText@@UBEPBUQMetaObject@@XZ @ 246 NONAME ABSENT ; struct QMetaObject const * QDeclarativeText::metaObject(void) const
??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 247 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QObject *)
- ?createProperty@QDeclarativeOpenMetaObjectType@@QAEHABVQByteArray@@@Z @ 248 NONAME ; int QDeclarativeOpenMetaObjectType::createProperty(class QByteArray const &)
+ ?createProperty@QDeclarativeOpenMetaObjectType@@QAEHABVQByteArray@@@Z @ 248 NONAME ABSENT ; int QDeclarativeOpenMetaObjectType::createProperty(class QByteArray const &)
??0QDeclarativeContext@@QAE@PAVQDeclarativeEngine@@PAVQObject@@@Z @ 249 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, class QObject *)
??6QDeclarativeInfo@@QAEAAV0@M@Z @ 250 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(float)
- ??4QDeclarativeDomValueLiteral@@QAEAAV0@ABV0@@Z @ 251 NONAME ; class QDeclarativeDomValueLiteral & QDeclarativeDomValueLiteral::operator=(class QDeclarativeDomValueLiteral const &)
+ ??4QDeclarativeDomValueLiteral@@QAEAAV0@ABV0@@Z @ 251 NONAME ABSENT ; class QDeclarativeDomValueLiteral & QDeclarativeDomValueLiteral::operator=(class QDeclarativeDomValueLiteral const &)
?setScript@QDeclarativeScriptString@@QAEXABVQString@@@Z @ 252 NONAME ; void QDeclarativeScriptString::setScript(class QString const &)
?requestImage@QDeclarativeImageProvider@@UAE?AVQImage@@ABVQString@@PAVQSize@@ABV4@@Z @ 253 NONAME ; class QImage QDeclarativeImageProvider::requestImage(class QString const &, class QSize *, class QSize const &)
- ?qt_metacast@QPacketProtocol@@UAEPAXPBD@Z @ 254 NONAME ; void * QPacketProtocol::qt_metacast(char const *)
- ?addMetaObject@QMetaObjectBuilder@@QAEXPBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 255 NONAME ; void QMetaObjectBuilder::addMetaObject(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
- ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 256 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *, int)
- ?qt_metacast@QDeclarativeText@@UAEPAXPBD@Z @ 257 NONAME ; void * QDeclarativeText::qt_metacast(char const *)
+ ?qt_metacast@QPacketProtocol@@UAEPAXPBD@Z @ 254 NONAME ABSENT ; void * QPacketProtocol::qt_metacast(char const *)
+ ?addMetaObject@QMetaObjectBuilder@@QAEXPBUQMetaObject@@V?$QFlags@W4AddMember@QMetaObjectBuilder@@@@@Z @ 255 NONAME ABSENT ; void QMetaObjectBuilder::addMetaObject(struct QMetaObject const *, class QFlags<enum QMetaObjectBuilder::AddMember>)
+ ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 256 NONAME ABSENT ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *, int)
+ ?qt_metacast@QDeclarativeText@@UAEPAXPBD@Z @ 257 NONAME ABSENT ; void * QDeclarativeText::qt_metacast(char const *)
?anchors@QDeclarativeItemPrivate@@QAEPAVQDeclarativeAnchors@@XZ @ 258 NONAME ; class QDeclarativeAnchors * QDeclarativeItemPrivate::anchors(void)
- ??0QListModelInterface@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 259 NONAME ; QListModelInterface::QListModelInterface(class QObjectPrivate &, class QObject *)
- ?valueTypeName@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 260 NONAME ; class QString QDeclarativeDebugPropertyReference::valueTypeName(void) const
- ?setStyleColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 261 NONAME ; void QDeclarativeText::setStyleColor(class QColor const &)
- ?create@QDeclarativeType@@QBEPAVQObject@@XZ @ 262 NONAME ; class QObject * QDeclarativeType::create(void) const
- ?metaObject@QDeclarativeDebugExpressionQuery@@UBEPBUQMetaObject@@XZ @ 263 NONAME ; struct QMetaObject const * QDeclarativeDebugExpressionQuery::metaObject(void) const
+ ??0QListModelInterface@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 259 NONAME ABSENT ; QListModelInterface::QListModelInterface(class QObjectPrivate &, class QObject *)
+ ?valueTypeName@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 260 NONAME ABSENT ; class QString QDeclarativeDebugPropertyReference::valueTypeName(void) const
+ ?setStyleColor@QDeclarativeText@@QAEXABVQColor@@@Z @ 261 NONAME ABSENT ; void QDeclarativeText::setStyleColor(class QColor const &)
+ ?create@QDeclarativeType@@QBEPAVQObject@@XZ @ 262 NONAME ABSENT ; class QObject * QDeclarativeType::create(void) const
+ ?metaObject@QDeclarativeDebugExpressionQuery@@UBEPBUQMetaObject@@XZ @ 263 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugExpressionQuery::metaObject(void) const
?engine@QDeclarativeView@@QBEPAVQDeclarativeEngine@@XZ @ 264 NONAME ; class QDeclarativeEngine * QDeclarativeView::engine(void) const
- ?readyRead@QPacketProtocol@@IAEXXZ @ 265 NONAME ; void QPacketProtocol::readyRead(void)
- ?qt_metacall@QDeclarativeValueType@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 266 NONAME ; int QDeclarativeValueType::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?propertyType@QDeclarativePropertyPrivate@@QBEHXZ @ 267 NONAME ; int QDeclarativePropertyPrivate::propertyType(void) const
+ ?readyRead@QPacketProtocol@@IAEXXZ @ 265 NONAME ABSENT ; void QPacketProtocol::readyRead(void)
+ ?qt_metacall@QDeclarativeValueType@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 266 NONAME ABSENT ; int QDeclarativeValueType::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?propertyType@QDeclarativePropertyPrivate@@QBEHXZ @ 267 NONAME ABSENT ; int QDeclarativePropertyPrivate::propertyType(void) const
?inputMethodQuery@QDeclarativeItem@@MBE?AVQVariant@@W4InputMethodQuery@Qt@@@Z @ 268 NONAME ; class QVariant QDeclarativeItem::inputMethodQuery(enum Qt::InputMethodQuery) const
?sizeHint@QDeclarativeView@@UBE?AVQSize@@XZ @ 269 NONAME ; class QSize QDeclarativeView::sizeHint(void) const
?flags@QDeclarativeCustomParser@@QBE?AV?$QFlags@W4Flag@QDeclarativeCustomParser@@@@XZ @ 270 NONAME ; class QFlags<enum QDeclarativeCustomParser::Flag> QDeclarativeCustomParser::flags(void) const
- ?staticMetaObject@QDeclarativeDebugObjectExpressionWatch@@2UQMetaObject@@B @ 271 NONAME ; struct QMetaObject const QDeclarativeDebugObjectExpressionWatch::staticMetaObject
- ??0QDeclarativeDebugPropertyReference@@QAE@ABV0@@Z @ 272 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(class QDeclarativeDebugPropertyReference const &)
+ ?staticMetaObject@QDeclarativeDebugObjectExpressionWatch@@2UQMetaObject@@B @ 271 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugObjectExpressionWatch::staticMetaObject
+ ??0QDeclarativeDebugPropertyReference@@QAE@ABV0@@Z @ 272 NONAME ABSENT ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(class QDeclarativeDebugPropertyReference const &)
??_EQDeclarativeCustomParser@@UAE@I@Z @ 273 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(unsigned int)
??6QDeclarativeInfo@@QAEAAV0@ABVQStringRef@@@Z @ 274 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QStringRef const &)
- ?values@QDeclarativeDomList@@QBE?AV?$QList@VQDeclarativeDomValue@@@@XZ @ 275 NONAME ; class QList<class QDeclarativeDomValue> QDeclarativeDomList::values(void) const
+ ?values@QDeclarativeDomList@@QBE?AV?$QList@VQDeclarativeDomValue@@@@XZ @ 275 NONAME ABSENT ; class QList<class QDeclarativeDomValue> QDeclarativeDomList::values(void) const
?errorString@QDeclarativeComponent@@QBE?AVQString@@XZ @ 276 NONAME ; class QString QDeclarativeComponent::errorString(void) const
- ?metaObject@QDeclarativeEngineDebug@@UBEPBUQMetaObject@@XZ @ 277 NONAME ; struct QMetaObject const * QDeclarativeEngineDebug::metaObject(void) const
- ??1QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 278 NONAME ; QDeclarativeDomValueValueInterceptor::~QDeclarativeDomValueValueInterceptor(void)
- ?flatten@QDeclarativeListModel@@AAE_NXZ @ 279 NONAME ; bool QDeclarativeListModel::flatten(void)
- ?propertyCount@QMetaObjectBuilder@@QBEHXZ @ 280 NONAME ; int QMetaObjectBuilder::propertyCount(void) const
- ?method@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 281 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::method(int) const
- ?textFormat@QDeclarativeText@@QBE?AW4TextFormat@1@XZ @ 282 NONAME ; enum QDeclarativeText::TextFormat QDeclarativeText::textFormat(void) const
- ?getStaticMetaObject@QDeclarativeDebugObjectExpressionWatch@@SAABUQMetaObject@@XZ @ 283 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectExpressionWatch::getStaticMetaObject(void)
- ?write@QDeclarativeBehavior@@UAEXABVQVariant@@@Z @ 284 NONAME ; void QDeclarativeBehavior::write(class QVariant const &)
+ ?metaObject@QDeclarativeEngineDebug@@UBEPBUQMetaObject@@XZ @ 277 NONAME ABSENT ; struct QMetaObject const * QDeclarativeEngineDebug::metaObject(void) const
+ ??1QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 278 NONAME ABSENT ; QDeclarativeDomValueValueInterceptor::~QDeclarativeDomValueValueInterceptor(void)
+ ?flatten@QDeclarativeListModel@@AAE_NXZ @ 279 NONAME ABSENT ; bool QDeclarativeListModel::flatten(void)
+ ?propertyCount@QMetaObjectBuilder@@QBEHXZ @ 280 NONAME ABSENT ; int QMetaObjectBuilder::propertyCount(void) const
+ ?method@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 281 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::method(int) const
+ ?textFormat@QDeclarativeText@@QBE?AW4TextFormat@1@XZ @ 282 NONAME ABSENT ; enum QDeclarativeText::TextFormat QDeclarativeText::textFormat(void) const
+ ?getStaticMetaObject@QDeclarativeDebugObjectExpressionWatch@@SAABUQMetaObject@@XZ @ 283 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugObjectExpressionWatch::getStaticMetaObject(void)
+ ?write@QDeclarativeBehavior@@UAEXABVQVariant@@@Z @ 284 NONAME ABSENT ; void QDeclarativeBehavior::write(class QVariant const &)
?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 285 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &)
- ?resetTop@QDeclarativeAnchors@@QAEXXZ @ 286 NONAME ; void QDeclarativeAnchors::resetTop(void)
- ?queryId@QDeclarativeDebugWatch@@QBEHXZ @ 287 NONAME ; int QDeclarativeDebugWatch::queryId(void) const
+ ?resetTop@QDeclarativeAnchors@@QAEXXZ @ 286 NONAME ABSENT ; void QDeclarativeAnchors::resetTop(void)
+ ?queryId@QDeclarativeDebugWatch@@QBEHXZ @ 287 NONAME ABSENT ; int QDeclarativeDebugWatch::queryId(void) const
?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 288 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *, int)
?staticMetaObject@QDeclarativeComponent@@2UQMetaObject@@B @ 289 NONAME ; struct QMetaObject const QDeclarativeComponent::staticMetaObject
?setStateGroup@QDeclarativeState@@QAEXPAVQDeclarativeStateGroup@@@Z @ 290 NONAME ; void QDeclarativeState::setStateGroup(class QDeclarativeStateGroup *)
- ?access@QMetaMethodBuilder@@QBE?AW4Access@QMetaMethod@@XZ @ 291 NONAME ; enum QMetaMethod::Access QMetaMethodBuilder::access(void) const
- ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 292 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *)
- ?attachedPropertiesType@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 293 NONAME ; struct QMetaObject const * QDeclarativeType::attachedPropertiesType(void) const
+ ?access@QMetaMethodBuilder@@QBE?AW4Access@QMetaMethod@@XZ @ 291 NONAME ABSENT ; enum QMetaMethod::Access QMetaMethodBuilder::access(void) const
+ ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 292 NONAME ABSENT ; class QString QDeclarativeDebugQuery::tr(char const *, char const *)
+ ?attachedPropertiesType@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 293 NONAME ABSENT ; struct QMetaObject const * QDeclarativeType::attachedPropertiesType(void) const
?setName@QDeclarativeState@@QAEXABVQString@@@Z @ 294 NONAME ; void QDeclarativeState::setName(class QString const &)
?setReversed@QDeclarativeTransition@@QAEX_N@Z @ 295 NONAME ; void QDeclarativeTransition::setReversed(bool)
- ?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 296 NONAME ; int QDeclarativeDebugService::idForObject(class QObject *)
- ?qt_metacall@QDeclarativeDebugWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 297 NONAME ; int QDeclarativeDebugWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?idForObject@QDeclarativeDebugService@@SAHPAVQObject@@@Z @ 296 NONAME ABSENT ; int QDeclarativeDebugService::idForObject(class QObject *)
+ ?qt_metacall@QDeclarativeDebugWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 297 NONAME ABSENT ; int QDeclarativeDebugWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
?fromState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 298 NONAME ; class QString QDeclarativeTransition::fromState(void) const
??1QDeclarativeExpression@@UAE@XZ @ 299 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(void)
- ?binding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@@Z @ 300 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::binding(class QDeclarativeProperty const &)
- ?removeMethod@QMetaObjectBuilder@@QAEXH@Z @ 301 NONAME ; void QMetaObjectBuilder::removeMethod(int)
+ ?binding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@@Z @ 300 NONAME ABSENT ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::binding(class QDeclarativeProperty const &)
+ ?removeMethod@QMetaObjectBuilder@@QAEXH@Z @ 301 NONAME ABSENT ; void QMetaObjectBuilder::removeMethod(int)
?operationAt@QDeclarativeState@@QBEPAVQDeclarativeStateOperation@@H@Z @ 302 NONAME ; class QDeclarativeStateOperation * QDeclarativeState::operationAt(int) const
- ?methodCount@QMetaObjectBuilder@@QBEHXZ @ 303 NONAME ; int QMetaObjectBuilder::methodCount(void) const
- ?font@QDeclarativeText@@QBE?AVQFont@@XZ @ 304 NONAME ; class QFont QDeclarativeText::font(void) const
+ ?methodCount@QMetaObjectBuilder@@QBEHXZ @ 303 NONAME ABSENT ; int QMetaObjectBuilder::methodCount(void) const
+ ?font@QDeclarativeText@@QBE?AVQFont@@XZ @ 304 NONAME ABSENT ; class QFont QDeclarativeText::font(void) const
?completeCreate@QDeclarativeComponent@@UAEXXZ @ 305 NONAME ; void QDeclarativeComponent::completeCreate(void)
- ??0QDeclarativeDomProperty@@QAE@XZ @ 306 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(void)
- ?initDefault@QDeclarativePropertyPrivate@@QAEXPAVQObject@@@Z @ 307 NONAME ; void QDeclarativePropertyPrivate::initDefault(class QObject *)
- ?count@QDeclarativeListModel@@UBEHXZ @ 308 NONAME ; int QDeclarativeListModel::count(void) const
+ ??0QDeclarativeDomProperty@@QAE@XZ @ 306 NONAME ABSENT ; QDeclarativeDomProperty::QDeclarativeDomProperty(void)
+ ?initDefault@QDeclarativePropertyPrivate@@QAEXPAVQObject@@@Z @ 307 NONAME ABSENT ; void QDeclarativePropertyPrivate::initDefault(class QObject *)
+ ?count@QDeclarativeListModel@@UBEHXZ @ 308 NONAME ABSENT ; int QDeclarativeListModel::count(void) const
?setSmooth@QDeclarativeItem@@QAEX_N@Z @ 309 NONAME ; void QDeclarativeItem::setSmooth(bool)
- ?value@QDeclarativeDebugPropertyReference@@QBE?AVQVariant@@XZ @ 310 NONAME ; class QVariant QDeclarativeDebugPropertyReference::value(void) const
+ ?value@QDeclarativeDebugPropertyReference@@QBE?AVQVariant@@XZ @ 310 NONAME ABSENT ; class QVariant QDeclarativeDebugPropertyReference::value(void) const
?resources@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 311 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::resources(void)
- ?clear@QPacketProtocol@@QAEXXZ @ 312 NONAME ; void QPacketProtocol::clear(void)
+ ?clear@QPacketProtocol@@QAEXXZ @ 312 NONAME ABSENT ; void QPacketProtocol::clear(void)
?setState@QDeclarativeItemPrivate@@QAEXABVQString@@@Z @ 313 NONAME ; void QDeclarativeItemPrivate::setState(class QString const &)
- ??4QDeclarativeDebugPropertyReference@@QAEAAV0@ABV0@@Z @ 314 NONAME ; class QDeclarativeDebugPropertyReference & QDeclarativeDebugPropertyReference::operator=(class QDeclarativeDebugPropertyReference const &)
+ ??4QDeclarativeDebugPropertyReference@@QAEAAV0@ABV0@@Z @ 314 NONAME ABSENT ; class QDeclarativeDebugPropertyReference & QDeclarativeDebugPropertyReference::operator=(class QDeclarativeDebugPropertyReference const &)
?metaObject@QDeclarativeView@@UBEPBUQMetaObject@@XZ @ 315 NONAME ; struct QMetaObject const * QDeclarativeView::metaObject(void) const
?listElementType@QDeclarativeListReference@@QBEPBUQMetaObject@@XZ @ 316 NONAME ; struct QMetaObject const * QDeclarativeListReference::listElementType(void) const
??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeContext@@@Z @ 317 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeContext *)
- ?setTarget@QDeclarativeBehavior@@UAEXABVQDeclarativeProperty@@@Z @ 318 NONAME ; void QDeclarativeBehavior::setTarget(class QDeclarativeProperty const &)
- ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 319 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *, int)
- ?parent@QDeclarativeOpenMetaObject@@IBEPAUQAbstractDynamicMetaObject@@XZ @ 320 NONAME ; struct QAbstractDynamicMetaObject * QDeclarativeOpenMetaObject::parent(void) const
- ??0QDeclarativeDebugClient@@QAE@ABVQString@@PAVQDeclarativeDebugConnection@@@Z @ 321 NONAME ; QDeclarativeDebugClient::QDeclarativeDebugClient(class QString const &, class QDeclarativeDebugConnection *)
+ ?setTarget@QDeclarativeBehavior@@UAEXABVQDeclarativeProperty@@@Z @ 318 NONAME ABSENT ; void QDeclarativeBehavior::setTarget(class QDeclarativeProperty const &)
+ ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 319 NONAME ABSENT ; class QString QDeclarativeValueType::tr(char const *, char const *, int)
+ ?parent@QDeclarativeOpenMetaObject@@IBEPAUQAbstractDynamicMetaObject@@XZ @ 320 NONAME ABSENT ; struct QAbstractDynamicMetaObject * QDeclarativeOpenMetaObject::parent(void) const
+ ??0QDeclarativeDebugClient@@QAE@ABVQString@@PAVQDeclarativeDebugConnection@@@Z @ 321 NONAME ABSENT ; QDeclarativeDebugClient::QDeclarativeDebugClient(class QString const &, class QDeclarativeDebugConnection *)
?qt_metacall@QDeclarativeStateOperation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 322 NONAME ; int QDeclarativeStateOperation::qt_metacall(enum QMetaObject::Call, int, void * *)
?type@Variant@QDeclarativeParser@@QBE?AW4Type@12@XZ @ 323 NONAME ; enum QDeclarativeParser::Variant::Type QDeclarativeParser::Variant::type(void) const
??6QDeclarativeInfo@@QAEAAV0@_N@Z @ 324 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(bool)
- ?value@QDeclarativeDomProperty@@QBE?AVQDeclarativeDomValue@@XZ @ 325 NONAME ; class QDeclarativeDomValue QDeclarativeDomProperty::value(void) const
- ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectExpressionWatch@@ABVQDeclarativeDebugObjectReference@@ABVQString@@PAVQObject@@@Z @ 326 NONAME ; class QDeclarativeDebugObjectExpressionWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QString const &, class QObject *)
- ??_EQDeclarativeDebugConnection@@UAE@I@Z @ 327 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(unsigned int)
- ?qt_metacall@QDeclarativeDebugConnection@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 328 NONAME ; int QDeclarativeDebugConnection::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 329 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *, int)
+ ?value@QDeclarativeDomProperty@@QBE?AVQDeclarativeDomValue@@XZ @ 325 NONAME ABSENT ; class QDeclarativeDomValue QDeclarativeDomProperty::value(void) const
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectExpressionWatch@@ABVQDeclarativeDebugObjectReference@@ABVQString@@PAVQObject@@@Z @ 326 NONAME ABSENT ; class QDeclarativeDebugObjectExpressionWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QString const &, class QObject *)
+ ??_EQDeclarativeDebugConnection@@UAE@I@Z @ 327 NONAME ABSENT ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(unsigned int)
+ ?qt_metacall@QDeclarativeDebugConnection@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 328 NONAME ABSENT ; int QDeclarativeDebugConnection::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 329 NONAME ABSENT ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *, int)
?errors@QDeclarativeComponent@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 330 NONAME ; class QList<class QDeclarativeError> QDeclarativeComponent::errors(void) const
??0QDeclarativeCustomParserNode@@QAE@ABV0@@Z @ 331 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(class QDeclarativeCustomParserNode const &)
??1QDeclarativeImageProvider@@UAE@XZ @ 332 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(void)
- ?sync@QDeclarativeListModel@@QAEXXZ @ 333 NONAME ; void QDeclarativeListModel::sync(void)
- ?objectForId@QDeclarativeDebugService@@SAPAVQObject@@H@Z @ 334 NONAME ; class QObject * QDeclarativeDebugService::objectForId(int)
+ ?sync@QDeclarativeListModel@@QAEXXZ @ 333 NONAME ABSENT ; void QDeclarativeListModel::sync(void)
+ ?objectForId@QDeclarativeDebugService@@SAPAVQObject@@H@Z @ 334 NONAME ABSENT ; class QObject * QDeclarativeDebugService::objectForId(int)
?hasFocus@QDeclarativeItem@@QBE_NXZ @ 335 NONAME ; bool QDeclarativeItem::hasFocus(void) const
??1QDeclarativeExtensionPlugin@@UAE@XZ @ 336 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(void)
- ?qt_metacall@QDeclarativeBehavior@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 337 NONAME ; int QDeclarativeBehavior::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?d_func@QDeclarativeBehavior@@ABEPBVQDeclarativeBehaviorPrivate@@XZ @ 338 NONAME ; class QDeclarativeBehaviorPrivate const * QDeclarativeBehavior::d_func(void) const
- ?wrapModeChanged@QDeclarativeText@@IAEXXZ @ 339 NONAME ; void QDeclarativeText::wrapModeChanged(void)
- ?elideModeChanged@QDeclarativeText@@IAEXW4TextElideMode@1@@Z @ 340 NONAME ; void QDeclarativeText::elideModeChanged(enum QDeclarativeText::TextElideMode)
+ ?qt_metacall@QDeclarativeBehavior@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 337 NONAME ABSENT ; int QDeclarativeBehavior::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QDeclarativeBehavior@@ABEPBVQDeclarativeBehaviorPrivate@@XZ @ 338 NONAME ABSENT ; class QDeclarativeBehaviorPrivate const * QDeclarativeBehavior::d_func(void) const
+ ?wrapModeChanged@QDeclarativeText@@IAEXXZ @ 339 NONAME ABSENT ; void QDeclarativeText::wrapModeChanged(void)
+ ?elideModeChanged@QDeclarativeText@@IAEXW4TextElideMode@1@@Z @ 340 NONAME ABSENT ; void QDeclarativeText::elideModeChanged(enum QDeclarativeText::TextElideMode)
??1QDeclarativeExtensionInterface@@UAE@XZ @ 341 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(void)
- ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQMetaEnum@@@Z @ 342 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QMetaEnum const &)
- ?interfaceIId@QDeclarativeType@@QBEPBDXZ @ 343 NONAME ; char const * QDeclarativeType::interfaceIId(void) const
- ?resetHorizontalCenter@QDeclarativeAnchors@@QAEXXZ @ 344 NONAME ; void QDeclarativeAnchors::resetHorizontalCenter(void)
+ ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQMetaEnum@@@Z @ 342 NONAME ABSENT ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QMetaEnum const &)
+ ?interfaceIId@QDeclarativeType@@QBEPBDXZ @ 343 NONAME ABSENT ; char const * QDeclarativeType::interfaceIId(void) const
+ ?resetHorizontalCenter@QDeclarativeAnchors@@QAEXXZ @ 344 NONAME ABSENT ; void QDeclarativeAnchors::resetHorizontalCenter(void)
?outputWarningsToStandardError@QDeclarativeEngine@@QBE_NXZ @ 345 NONAME ; bool QDeclarativeEngine::outputWarningsToStandardError(void) const
?height@QDeclarativePixmap@@QBEHXZ @ 346 NONAME ; int QDeclarativePixmap::height(void) const
- ?getStaticMetaObject@QDeclarativeBehavior@@SAABUQMetaObject@@XZ @ 347 NONAME ; struct QMetaObject const & QDeclarativeBehavior::getStaticMetaObject(void)
- ??0QMetaEnumBuilder@@QAE@XZ @ 348 NONAME ; QMetaEnumBuilder::QMetaEnumBuilder(void)
- ?isValueType@QDeclarativeValueTypeFactory@@SA_NH@Z @ 349 NONAME ; bool QDeclarativeValueTypeFactory::isValueType(int)
- ?setWidth@QDeclarativePen@@QAEXH@Z @ 350 NONAME ; void QDeclarativePen::setWidth(int)
- ?isReadable@QMetaPropertyBuilder@@QBE_NXZ @ 351 NONAME ; bool QMetaPropertyBuilder::isReadable(void) const
+ ?getStaticMetaObject@QDeclarativeBehavior@@SAABUQMetaObject@@XZ @ 347 NONAME ABSENT ; struct QMetaObject const & QDeclarativeBehavior::getStaticMetaObject(void)
+ ??0QMetaEnumBuilder@@QAE@XZ @ 348 NONAME ABSENT ; QMetaEnumBuilder::QMetaEnumBuilder(void)
+ ?isValueType@QDeclarativeValueTypeFactory@@SA_NH@Z @ 349 NONAME ABSENT ; bool QDeclarativeValueTypeFactory::isValueType(int)
+ ?setWidth@QDeclarativePen@@QAEXH@Z @ 350 NONAME ABSENT ; void QDeclarativePen::setWidth(int)
+ ?isReadable@QMetaPropertyBuilder@@QBE_NXZ @ 351 NONAME ABSENT ; bool QMetaPropertyBuilder::isReadable(void) const
?metaObject@QDeclarativeExpression@@UBEPBUQMetaObject@@XZ @ 352 NONAME ; struct QMetaObject const * QDeclarativeExpression::metaObject(void) const
- ??0QDeclarativeDomValueLiteral@@QAE@ABV0@@Z @ 353 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(class QDeclarativeDomValueLiteral const &)
- ?getStaticMetaObject@QDeclarativeDebugQuery@@SAABUQMetaObject@@XZ @ 354 NONAME ; struct QMetaObject const & QDeclarativeDebugQuery::getStaticMetaObject(void)
- ??0QDeclarativeDomComponent@@QAE@XZ @ 355 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(void)
- ??1QDeclarativePropertyPrivate@@QAE@XZ @ 356 NONAME ; QDeclarativePropertyPrivate::~QDeclarativePropertyPrivate(void)
+ ??0QDeclarativeDomValueLiteral@@QAE@ABV0@@Z @ 353 NONAME ABSENT ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(class QDeclarativeDomValueLiteral const &)
+ ?getStaticMetaObject@QDeclarativeDebugQuery@@SAABUQMetaObject@@XZ @ 354 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugQuery::getStaticMetaObject(void)
+ ??0QDeclarativeDomComponent@@QAE@XZ @ 355 NONAME ABSENT ; QDeclarativeDomComponent::QDeclarativeDomComponent(void)
+ ??1QDeclarativePropertyPrivate@@QAE@XZ @ 356 NONAME ABSENT ; QDeclarativePropertyPrivate::~QDeclarativePropertyPrivate(void)
?setBaselineOffset@QDeclarativeItem@@QAEXM@Z @ 357 NONAME ; void QDeclarativeItem::setBaselineOffset(float)
- ??0QDeclarativeDebugPropertyReference@@QAE@XZ @ 358 NONAME ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(void)
+ ??0QDeclarativeDebugPropertyReference@@QAE@XZ @ 358 NONAME ABSENT ; QDeclarativeDebugPropertyReference::QDeclarativeDebugPropertyReference(void)
?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 359 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *, int)
?setState@QDeclarativeStateGroup@@QAEXABVQString@@@Z @ 360 NONAME ; void QDeclarativeStateGroup::setState(class QString const &)
??_EQDeclarativeImageProvider@@UAE@I@Z @ 361 NONAME ; QDeclarativeImageProvider::~QDeclarativeImageProvider(unsigned int)
?trUtf8@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 362 NONAME ; class QString QDeclarativeComponent::trUtf8(char const *, char const *)
?isLoading@QDeclarativeComponent@@QBE_NXZ @ 363 NONAME ; bool QDeclarativeComponent::isLoading(void) const
- ?createFunction@QDeclarativeType@@QBEP6AXPAX@ZXZ @ 364 NONAME ; void (*)(void *) QDeclarativeType::createFunction(void) const
+ ?createFunction@QDeclarativeType@@QBEP6AXPAX@ZXZ @ 364 NONAME ABSENT ; void (*)(void *) QDeclarativeType::createFunction(void) const
?childrenRect@QDeclarativeItem@@QAE?AVQRectF@@XZ @ 365 NONAME ; class QRectF QDeclarativeItem::childrenRect(void)
- ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 366 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *)
- ?objectTypeMajorVersion@QDeclarativeDomObject@@QBEHXZ @ 367 NONAME ; int QDeclarativeDomObject::objectTypeMajorVersion(void) const
+ ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 366 NONAME ABSENT ; class QString QDeclarativeEngineDebug::tr(char const *, char const *)
+ ?objectTypeMajorVersion@QDeclarativeDomObject@@QBEHXZ @ 367 NONAME ABSENT ; int QDeclarativeDomObject::objectTypeMajorVersion(void) const
??6QDeclarativeInfo@@QAEAAV0@D@Z @ 368 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char)
- ??1QDeclarativeDomValueLiteral@@QAE@XZ @ 369 NONAME ; QDeclarativeDomValueLiteral::~QDeclarativeDomValueLiteral(void)
+ ??1QDeclarativeDomValueLiteral@@QAE@XZ @ 369 NONAME ABSENT ; QDeclarativeDomValueLiteral::~QDeclarativeDomValueLiteral(void)
?keepMouseGrab@QDeclarativeItem@@QBE_NXZ @ 370 NONAME ; bool QDeclarativeItem::keepMouseGrab(void) const
- ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 371 NONAME ; class QString QDeclarativeEngineDebug::tr(char const *, char const *, int)
- ?getStaticMetaObject@QDeclarativeDebugConnection@@SAABUQMetaObject@@XZ @ 372 NONAME ; struct QMetaObject const & QDeclarativeDebugConnection::getStaticMetaObject(void)
- ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 373 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *)
- ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@H@Z @ 374 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](int)
+ ?tr@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 371 NONAME ABSENT ; class QString QDeclarativeEngineDebug::tr(char const *, char const *, int)
+ ?getStaticMetaObject@QDeclarativeDebugConnection@@SAABUQMetaObject@@XZ @ 372 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugConnection::getStaticMetaObject(void)
+ ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0@Z @ 373 NONAME ABSENT ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *)
+ ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@H@Z @ 374 NONAME ABSENT ; class QVariant & QDeclarativeOpenMetaObject::operator[](int)
??0Variant@QDeclarativeParser@@QAE@XZ @ 375 NONAME ; QDeclarativeParser::Variant::Variant(void)
?status@QDeclarativeView@@QBE?AW4Status@1@XZ @ 376 NONAME ; enum QDeclarativeView::Status QDeclarativeView::status(void) const
- ??0QDeclarativeEngineDebug@@QAE@PAVQDeclarativeDebugConnection@@PAVQObject@@@Z @ 377 NONAME ; QDeclarativeEngineDebug::QDeclarativeEngineDebug(class QDeclarativeDebugConnection *, class QObject *)
+ ??0QDeclarativeEngineDebug@@QAE@PAVQDeclarativeDebugConnection@@PAVQObject@@@Z @ 377 NONAME ABSENT ; QDeclarativeEngineDebug::QDeclarativeEngineDebug(class QDeclarativeDebugConnection *, class QObject *)
?create@QDeclarativeComponent@@UAEPAVQObject@@PAVQDeclarativeContext@@@Z @ 378 NONAME ; class QObject * QDeclarativeComponent::create(class QDeclarativeContext *)
- ??_EQPacket@@UAE@I@Z @ 379 NONAME ; QPacket::~QPacket(unsigned int)
- ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 380 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *, int)
+ ??_EQPacket@@UAE@I@Z @ 379 NONAME ABSENT ; QPacket::~QPacket(unsigned int)
+ ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 380 NONAME ABSENT ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *, int)
?isResettable@QDeclarativeProperty@@QBE_NXZ @ 381 NONAME ; bool QDeclarativeProperty::isResettable(void) const
?isList@QDeclarativeCustomParserProperty@@QBE_NXZ @ 382 NONAME ; bool QDeclarativeCustomParserProperty::isList(void) const
- ?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 383 NONAME ; void QDeclarativeAnchors::resetVerticalCenter(void)
- ??0QDeclarativeValueType@@QAE@PAVQObject@@@Z @ 384 NONAME ; QDeclarativeValueType::QDeclarativeValueType(class QObject *)
- ?staticMetaObject@QDeclarativeDebugConnection@@2UQMetaObject@@B @ 385 NONAME ; struct QMetaObject const QDeclarativeDebugConnection::staticMetaObject
- ?isLiteral@QDeclarativeDomValue@@QBE_NXZ @ 386 NONAME ; bool QDeclarativeDomValue::isLiteral(void) const
+ ?resetVerticalCenter@QDeclarativeAnchors@@QAEXXZ @ 383 NONAME ABSENT ; void QDeclarativeAnchors::resetVerticalCenter(void)
+ ??0QDeclarativeValueType@@QAE@PAVQObject@@@Z @ 384 NONAME ABSENT ; QDeclarativeValueType::QDeclarativeValueType(class QObject *)
+ ?staticMetaObject@QDeclarativeDebugConnection@@2UQMetaObject@@B @ 385 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugConnection::staticMetaObject
+ ?isLiteral@QDeclarativeDomValue@@QBE_NXZ @ 386 NONAME ABSENT ; bool QDeclarativeDomValue::isLiteral(void) const
?qt_metacall@QDeclarativeItem@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 387 NONAME ; int QDeclarativeItem::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?qt_metacall@QListModelInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 388 NONAME ; int QListModelInterface::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?move@QDeclarativeListModel@@QAEXHHH@Z @ 389 NONAME ; void QDeclarativeListModel::move(int, int, int)
- ?metaObject@QDeclarativeBehavior@@UBEPBUQMetaObject@@XZ @ 390 NONAME ; struct QMetaObject const * QDeclarativeBehavior::metaObject(void) const
+ ?qt_metacall@QListModelInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 388 NONAME ABSENT ; int QListModelInterface::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?move@QDeclarativeListModel@@QAEXHHH@Z @ 389 NONAME ABSENT ; void QDeclarativeListModel::move(int, int, int)
+ ?metaObject@QDeclarativeBehavior@@UBEPBUQMetaObject@@XZ @ 390 NONAME ABSENT ; struct QMetaObject const * QDeclarativeBehavior::metaObject(void) const
?inputMethodPreHandler@QDeclarativeItem@@IAEXPAVQInputMethodEvent@@@Z @ 391 NONAME ; void QDeclarativeItem::inputMethodPreHandler(class QInputMethodEvent *)
- ?d_func@QDeclarativeText@@AAEPAVQDeclarativeTextPrivate@@XZ @ 392 NONAME ; class QDeclarativeTextPrivate * QDeclarativeText::d_func(void)
- ?signature@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 393 NONAME ; class QByteArray QMetaMethodBuilder::signature(void) const
+ ?d_func@QDeclarativeText@@AAEPAVQDeclarativeTextPrivate@@XZ @ 392 NONAME ABSENT ; class QDeclarativeTextPrivate * QDeclarativeText::d_func(void)
+ ?signature@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 393 NONAME ABSENT ; class QByteArray QMetaMethodBuilder::signature(void) const
??_EQDeclarativeParserStatus@@UAE@I@Z @ 394 NONAME ; QDeclarativeParserStatus::~QDeclarativeParserStatus(unsigned int)
- ?rightMargin@QDeclarativeAnchors@@QBEMXZ @ 395 NONAME ; float QDeclarativeAnchors::rightMargin(void) const
- ?itemsMoved@QListModelInterface@@IAEXHHH@Z @ 396 NONAME ; void QListModelInterface::itemsMoved(int, int, int)
- ?rectFFromString@QDeclarativeStringConverters@@YA?AVQRectF@@ABVQString@@PA_N@Z @ 397 NONAME ; class QRectF QDeclarativeStringConverters::rectFFromString(class QString const &, bool *)
+ ?rightMargin@QDeclarativeAnchors@@QBEMXZ @ 395 NONAME ABSENT ; float QDeclarativeAnchors::rightMargin(void) const
+ ?itemsMoved@QListModelInterface@@IAEXHHH@Z @ 396 NONAME ABSENT ; void QListModelInterface::itemsMoved(int, int, int)
+ ?rectFFromString@QDeclarativeStringConverters@@YA?AVQRectF@@ABVQString@@PA_N@Z @ 397 NONAME ABSENT ; class QRectF QDeclarativeStringConverters::rectFFromString(class QString const &, bool *)
?canAt@QDeclarativeListReference@@QBE_NXZ @ 398 NONAME ; bool QDeclarativeListReference::canAt(void) const
- ?children@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 399 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::children(void) const
- ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 400 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *)
- ?qt_metacall@QDeclarativeDebugExpressionQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 401 NONAME ; int QDeclarativeDebugExpressionQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?children@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 399 NONAME ABSENT ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugObjectReference::children(void) const
+ ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 400 NONAME ABSENT ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *)
+ ?qt_metacall@QDeclarativeDebugExpressionQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 401 NONAME ABSENT ; int QDeclarativeDebugExpressionQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
?getStaticMetaObject@QDeclarativeEngine@@SAABUQMetaObject@@XZ @ 402 NONAME ; struct QMetaObject const & QDeclarativeEngine::getStaticMetaObject(void)
?paintEvent@QDeclarativeView@@MAEXPAVQPaintEvent@@@Z @ 403 NONAME ; void QDeclarativeView::paintEvent(class QPaintEvent *)
- ?name@QDeclarativeDebugPropertyWatch@@QBE?AVQString@@XZ @ 404 NONAME ; class QString QDeclarativeDebugPropertyWatch::name(void) const
- ?bindingType@QDeclarativeAbstractBinding@@UBE?AW4Type@1@XZ @ 405 NONAME ; enum QDeclarativeAbstractBinding::Type QDeclarativeAbstractBinding::bindingType(void) const
- ?margins@QDeclarativeAnchors@@QBEMXZ @ 406 NONAME ; float QDeclarativeAnchors::margins(void) const
- ?length@QDeclarativeDomProperty@@QBEHXZ @ 407 NONAME ; int QDeclarativeDomProperty::length(void) const
- ??1QDeclarativeDomImport@@QAE@XZ @ 408 NONAME ; QDeclarativeDomImport::~QDeclarativeDomImport(void)
- ?mouseReleaseEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 409 NONAME ; void QDeclarativeText::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
- ?isCustomType@QDeclarativeDomObject@@QBE_NXZ @ 410 NONAME ; bool QDeclarativeDomObject::isCustomType(void) const
- ?radius@QDeclarativeRectangle@@QBEMXZ @ 411 NONAME ; float QDeclarativeRectangle::radius(void) const
+ ?name@QDeclarativeDebugPropertyWatch@@QBE?AVQString@@XZ @ 404 NONAME ABSENT ; class QString QDeclarativeDebugPropertyWatch::name(void) const
+ ?bindingType@QDeclarativeAbstractBinding@@UBE?AW4Type@1@XZ @ 405 NONAME ABSENT ; enum QDeclarativeAbstractBinding::Type QDeclarativeAbstractBinding::bindingType(void) const
+ ?margins@QDeclarativeAnchors@@QBEMXZ @ 406 NONAME ABSENT ; float QDeclarativeAnchors::margins(void) const
+ ?length@QDeclarativeDomProperty@@QBEHXZ @ 407 NONAME ABSENT ; int QDeclarativeDomProperty::length(void) const
+ ??1QDeclarativeDomImport@@QAE@XZ @ 408 NONAME ABSENT ; QDeclarativeDomImport::~QDeclarativeDomImport(void)
+ ?mouseReleaseEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 409 NONAME ABSENT ; void QDeclarativeText::mouseReleaseEvent(class QGraphicsSceneMouseEvent *)
+ ?isCustomType@QDeclarativeDomObject@@QBE_NXZ @ 410 NONAME ABSENT ; bool QDeclarativeDomObject::isCustomType(void) const
+ ?radius@QDeclarativeRectangle@@QBEMXZ @ 411 NONAME ABSENT ; float QDeclarativeRectangle::radius(void) const
??0QDeclarativeComponent@@AAE@PAVQDeclarativeEngine@@PAVQDeclarativeCompiledData@@HHPAVQObject@@@Z @ 412 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QDeclarativeCompiledData *, int, int, class QObject *)
?resources_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 413 NONAME ; int QDeclarativeItemPrivate::resources_count(class QDeclarativeListProperty<class QObject> *)
?timerEvent@QDeclarativeView@@MAEXPAVQTimerEvent@@@Z @ 414 NONAME ; void QDeclarativeView::timerEvent(class QTimerEvent *)
?setToState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 415 NONAME ; void QDeclarativeTransition::setToState(class QString const &)
?requestPixmap@QDeclarativeImageProvider@@UAE?AVQPixmap@@ABVQString@@PAVQSize@@ABV4@@Z @ 416 NONAME ; class QPixmap QDeclarativeImageProvider::requestPixmap(class QString const &, class QSize *, class QSize const &)
- ?methodType@QMetaMethodBuilder@@QBE?AW4MethodType@QMetaMethod@@XZ @ 417 NONAME ; enum QMetaMethod::MethodType QMetaMethodBuilder::methodType(void) const
+ ?methodType@QMetaMethodBuilder@@QBE?AW4MethodType@QMetaMethod@@XZ @ 417 NONAME ABSENT ; enum QMetaMethod::MethodType QMetaMethodBuilder::methodType(void) const
?getStaticMetaObject@QDeclarativeView@@SAABUQMetaObject@@XZ @ 418 NONAME ; struct QMetaObject const & QDeclarativeView::getStaticMetaObject(void)
?metaObject@QDeclarativeStateOperation@@UBEPBUQMetaObject@@XZ @ 419 NONAME ; struct QMetaObject const * QDeclarativeStateOperation::metaObject(void) const
?keyReleasePreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 420 NONAME ; void QDeclarativeItem::keyReleasePreHandler(class QKeyEvent *)
- ?append@QDeclarativeListModel@@QAEXABVQScriptValue@@@Z @ 421 NONAME ; void QDeclarativeListModel::append(class QScriptValue const &)
- ??1QDeclarativeDebugObjectReference@@QAE@XZ @ 422 NONAME ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(void)
- ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 423 NONAME ; class QString QDeclarativeDebugClient::tr(char const *, char const *)
+ ?append@QDeclarativeListModel@@QAEXABVQScriptValue@@@Z @ 421 NONAME ABSENT ; void QDeclarativeListModel::append(class QScriptValue const &)
+ ??1QDeclarativeDebugObjectReference@@QAE@XZ @ 422 NONAME ABSENT ; QDeclarativeDebugObjectReference::~QDeclarativeDebugObjectReference(void)
+ ?tr@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 423 NONAME ABSENT ; class QString QDeclarativeDebugClient::tr(char const *, char const *)
?resolvedUrl@QDeclarativeContext@@QAE?AVQUrl@@ABV2@@Z @ 424 NONAME ; class QUrl QDeclarativeContext::resolvedUrl(class QUrl const &)
?object@QDeclarativeListReference@@QBEPAVQObject@@XZ @ 425 NONAME ; class QObject * QDeclarativeListReference::object(void) const
- ?setEnabled@QDeclarativeBehavior@@QAEX_N@Z @ 426 NONAME ; void QDeclarativeBehavior::setEnabled(bool)
+ ?setEnabled@QDeclarativeBehavior@@QAEX_N@Z @ 426 NONAME ABSENT ; void QDeclarativeBehavior::setEnabled(bool)
?line@QDeclarativeError@@QBEHXZ @ 427 NONAME ; int QDeclarativeError::line(void) const
?heightValid@QDeclarativeItem@@IBE_NXZ @ 428 NONAME ; bool QDeclarativeItem::heightValid(void) const
- ??1QDeclarativeOpenMetaObject@@UAE@XZ @ 429 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(void)
- ??0QPacket@@QAE@XZ @ 430 NONAME ; QPacket::QPacket(void)
+ ??1QDeclarativeOpenMetaObject@@UAE@XZ @ 429 NONAME ABSENT ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(void)
+ ??0QPacket@@QAE@XZ @ 430 NONAME ABSENT ; QPacket::QPacket(void)
?trUtf8@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 431 NONAME ; class QString QDeclarativePropertyMap::trUtf8(char const *, char const *, int)
?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0H@Z @ 432 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *, int)
- ??0QDeclarativeDebugEngineReference@@QAE@XZ @ 433 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(void)
+ ??0QDeclarativeDebugEngineReference@@QAE@XZ @ 433 NONAME ABSENT ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(void)
?qmlEngine@@YAPAVQDeclarativeEngine@@PBVQObject@@@Z @ 434 NONAME ; class QDeclarativeEngine * qmlEngine(class QObject const *)
?error@QDeclarativeExpression@@QBE?AVQDeclarativeError@@XZ @ 435 NONAME ; class QDeclarativeError QDeclarativeExpression::error(void) const
- ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 436 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *)
- ?styleColorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 437 NONAME ; void QDeclarativeText::styleColorChanged(class QColor const &)
- ?getStaticMetaObject@QDeclarativeDebugExpressionQuery@@SAABUQMetaObject@@XZ @ 438 NONAME ; struct QMetaObject const & QDeclarativeDebugExpressionQuery::getStaticMetaObject(void)
+ ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0@Z @ 436 NONAME ABSENT ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *)
+ ?styleColorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 437 NONAME ABSENT ; void QDeclarativeText::styleColorChanged(class QColor const &)
+ ?getStaticMetaObject@QDeclarativeDebugExpressionQuery@@SAABUQMetaObject@@XZ @ 438 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugExpressionQuery::getStaticMetaObject(void)
?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 439 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *, int)
- ?writeValueProperty@QDeclarativePropertyPrivate@@QAE_NABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 440 NONAME ; bool QDeclarativePropertyPrivate::writeValueProperty(class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?writeValueProperty@QDeclarativePropertyPrivate@@QAE_NABVQVariant@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 440 NONAME ABSENT ; bool QDeclarativePropertyPrivate::writeValueProperty(class QVariant const &, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
?errors@QDeclarativeCustomParser@@QBE?AV?$QList@VQDeclarativeError@@@@XZ @ 441 NONAME ; class QList<class QDeclarativeError> QDeclarativeCustomParser::errors(void) const
?statesProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 442 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeStateGroup::statesProperty(void)
- ?roles@QDeclarativeListModel@@UBE?AV?$QList@H@@XZ @ 443 NONAME ; class QList<int> QDeclarativeListModel::roles(void) const
- ?name@QMetaEnumBuilder@@QBE?AVQByteArray@@XZ @ 444 NONAME ; class QByteArray QMetaEnumBuilder::name(void) const
- ??_EQDeclarativeDebugRootContextQuery@@UAE@I@Z @ 445 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(unsigned int)
- ?setColor@QDeclarativeRectangle@@QAEXABVQColor@@@Z @ 446 NONAME ; void QDeclarativeRectangle::setColor(class QColor const &)
+ ?roles@QDeclarativeListModel@@UBE?AV?$QList@H@@XZ @ 443 NONAME ABSENT ; class QList<int> QDeclarativeListModel::roles(void) const
+ ?name@QMetaEnumBuilder@@QBE?AVQByteArray@@XZ @ 444 NONAME ABSENT ; class QByteArray QMetaEnumBuilder::name(void) const
+ ??_EQDeclarativeDebugRootContextQuery@@UAE@I@Z @ 445 NONAME ABSENT ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(unsigned int)
+ ?setColor@QDeclarativeRectangle@@QAEXABVQColor@@@Z @ 446 NONAME ABSENT ; void QDeclarativeRectangle::setColor(class QColor const &)
?clipChanged@QDeclarativeItem@@IAEX_N@Z @ 447 NONAME ; void QDeclarativeItem::clipChanged(bool)
??0QDeclarativeCustomParser@@QAE@V?$QFlags@W4Flag@QDeclarativeCustomParser@@@@@Z @ 448 NONAME ; QDeclarativeCustomParser::QDeclarativeCustomParser(class QFlags<enum QDeclarativeCustomParser::Flag>)
- ?valueChanged@QDeclarativeDebugWatch@@IAEXABVQByteArray@@ABVQVariant@@@Z @ 449 NONAME ; void QDeclarativeDebugWatch::valueChanged(class QByteArray const &, class QVariant const &)
+ ?valueChanged@QDeclarativeDebugWatch@@IAEXABVQByteArray@@ABVQVariant@@@Z @ 449 NONAME ABSENT ; void QDeclarativeDebugWatch::valueChanged(class QByteArray const &, class QVariant const &)
?activeFocusChanged@QDeclarativeItem@@IAEX_N@Z @ 450 NONAME ; void QDeclarativeItem::activeFocusChanged(bool)
?smoothChanged@QDeclarativeItem@@IAEX_N@Z @ 451 NONAME ; void QDeclarativeItem::smoothChanged(bool)
- ?colorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 452 NONAME ; void QDeclarativeText::colorChanged(class QColor const &)
+ ?colorChanged@QDeclarativeText@@IAEXABVQColor@@@Z @ 452 NONAME ABSENT ; void QDeclarativeText::colorChanged(class QColor const &)
?continueExecute@QDeclarativeView@@AAEXXZ @ 453 NONAME ; void QDeclarativeView::continueExecute(void)
?initialSize@QDeclarativeView@@QBE?AVQSize@@XZ @ 454 NONAME ; class QSize QDeclarativeView::initialSize(void) const
- ?interfaceIId@QDeclarativeMetaType@@SAPBDH@Z @ 455 NONAME ; char const * QDeclarativeMetaType::interfaceIId(int)
- ?isValid@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 456 NONAME ; bool QDeclarativeDomDynamicProperty::isValid(void) const
- ?baselineChanged@QDeclarativeAnchors@@IAEXXZ @ 457 NONAME ; void QDeclarativeAnchors::baselineChanged(void)
+ ?interfaceIId@QDeclarativeMetaType@@SAPBDH@Z @ 455 NONAME ABSENT ; char const * QDeclarativeMetaType::interfaceIId(int)
+ ?isValid@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 456 NONAME ABSENT ; bool QDeclarativeDomDynamicProperty::isValid(void) const
+ ?baselineChanged@QDeclarativeAnchors@@IAEXXZ @ 457 NONAME ABSENT ; void QDeclarativeAnchors::baselineChanged(void)
?name@QDeclarativeState@@QBE?AVQString@@XZ @ 458 NONAME ; class QString QDeclarativeState::name(void) const
- ??4QDeclarativeDomObject@@QAEAAV0@ABV0@@Z @ 459 NONAME ; class QDeclarativeDomObject & QDeclarativeDomObject::operator=(class QDeclarativeDomObject const &)
+ ??4QDeclarativeDomObject@@QAEAAV0@ABV0@@Z @ 459 NONAME ABSENT ; class QDeclarativeDomObject & QDeclarativeDomObject::operator=(class QDeclarativeDomObject const &)
?qt_metacall@QDeclarativeContext@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 460 NONAME ; int QDeclarativeContext::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??_EQDeclarativeValueType@@UAE@I@Z @ 461 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(unsigned int)
+ ??_EQDeclarativeValueType@@UAE@I@Z @ 461 NONAME ABSENT ; QDeclarativeValueType::~QDeclarativeValueType(unsigned int)
?qt_metacall@QDeclarativeState@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 462 NONAME ; int QDeclarativeState::qt_metacall(enum QMetaObject::Call, int, void * *)
?isEnabled@QDeclarativeDebugService@@QBE_NXZ @ 463 NONAME ABSENT ; bool QDeclarativeDebugService::isEnabled(void) const
- ?stateChanged@QDeclarativeDebugWatch@@IAEXW4State@1@@Z @ 464 NONAME ; void QDeclarativeDebugWatch::stateChanged(enum QDeclarativeDebugWatch::State)
- ??0QMetaMethodBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 465 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(class QMetaObjectBuilder const *, int)
+ ?stateChanged@QDeclarativeDebugWatch@@IAEXW4State@1@@Z @ 464 NONAME ABSENT ; void QDeclarativeDebugWatch::stateChanged(enum QDeclarativeDebugWatch::State)
+ ??0QMetaMethodBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 465 NONAME ABSENT ; QMetaMethodBuilder::QMetaMethodBuilder(class QMetaObjectBuilder const *, int)
??4QDeclarativeListReference@@QAEAAV0@ABV0@@Z @ 466 NONAME ; class QDeclarativeListReference & QDeclarativeListReference::operator=(class QDeclarativeListReference const &)
- ?componentFinalized@QDeclarativeBehavior@@AAEXXZ @ 467 NONAME ; void QDeclarativeBehavior::componentFinalized(void)
- ?stateChanged@QDeclarativeDebugQuery@@IAEXW4State@1@@Z @ 468 NONAME ; void QDeclarativeDebugQuery::stateChanged(enum QDeclarativeDebugQuery::State)
- ?setVerticalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 469 NONAME ; void QDeclarativeAnchors::setVerticalCenter(class QDeclarativeAnchorLine const &)
+ ?componentFinalized@QDeclarativeBehavior@@AAEXXZ @ 467 NONAME ABSENT ; void QDeclarativeBehavior::componentFinalized(void)
+ ?stateChanged@QDeclarativeDebugQuery@@IAEXW4State@1@@Z @ 468 NONAME ABSENT ; void QDeclarativeDebugQuery::stateChanged(enum QDeclarativeDebugQuery::State)
+ ?setVerticalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 469 NONAME ABSENT ; void QDeclarativeAnchors::setVerticalCenter(class QDeclarativeAnchorLine const &)
?keyPressEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 470 NONAME ; void QDeclarativeItem::keyPressEvent(class QKeyEvent *)
- ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 471 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 471 NONAME ABSENT ; class QString QDeclarativeValueType::trUtf8(char const *, char const *)
?metaObject@QDeclarativeExtensionPlugin@@UBEPBUQMetaObject@@XZ @ 472 NONAME ; struct QMetaObject const * QDeclarativeExtensionPlugin::metaObject(void) const
- ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 473 NONAME ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *, int)
- ?setCenterIn@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 474 NONAME ; void QDeclarativeAnchors::setCenterIn(class QGraphicsObject *)
- ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@ABVQByteArray@@HH@Z @ 475 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(class QByteArray const &, int, int)
- ??0QDeclarativeDebugObjectQuery@@AAE@PAVQObject@@@Z @ 476 NONAME ; QDeclarativeDebugObjectQuery::QDeclarativeDebugObjectQuery(class QObject *)
- ?isComponent@QDeclarativeDomObject@@QBE_NXZ @ 477 NONAME ; bool QDeclarativeDomObject::isComponent(void) const
+ ?tr@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 473 NONAME ABSENT ; class QString QDeclarativeDebugObjectQuery::tr(char const *, char const *, int)
+ ?setCenterIn@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 474 NONAME ABSENT ; void QDeclarativeAnchors::setCenterIn(class QGraphicsObject *)
+ ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@ABVQByteArray@@HH@Z @ 475 NONAME ABSENT ; class QDeclarativeType * QDeclarativeMetaType::qmlType(class QByteArray const &, int, int)
+ ??0QDeclarativeDebugObjectQuery@@AAE@PAVQObject@@@Z @ 476 NONAME ABSENT ; QDeclarativeDebugObjectQuery::QDeclarativeDebugObjectQuery(class QObject *)
+ ?isComponent@QDeclarativeDomObject@@QBE_NXZ @ 477 NONAME ABSENT ; bool QDeclarativeDomObject::isComponent(void) const
?inputMethodEvent@QDeclarativeItem@@MAEXPAVQInputMethodEvent@@@Z @ 478 NONAME ; void QDeclarativeItem::inputMethodEvent(class QInputMethodEvent *)
- ?styleChanged@QDeclarativeText@@IAEXW4TextStyle@1@@Z @ 479 NONAME ; void QDeclarativeText::styleChanged(enum QDeclarativeText::TextStyle)
+ ?styleChanged@QDeclarativeText@@IAEXW4TextStyle@1@@Z @ 479 NONAME ABSENT ; void QDeclarativeText::styleChanged(enum QDeclarativeText::TextStyle)
?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeEngine@@@Z @ 480 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeEngine *)
?pluginPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 481 NONAME ; class QStringList QDeclarativeEngine::pluginPathList(void) const
?parentContext@QDeclarativeContext@@QBEPAV1@XZ @ 482 NONAME ; class QDeclarativeContext * QDeclarativeContext::parentContext(void) const
- ?leftMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 483 NONAME ; void QDeclarativeAnchors::leftMarginChanged(void)
- ?staticMetaObject@QDeclarativeDebugService@@2UQMetaObject@@B @ 484 NONAME ; struct QMetaObject const QDeclarativeDebugService::staticMetaObject
- ?topMargin@QDeclarativeAnchors@@QBEMXZ @ 485 NONAME ; float QDeclarativeAnchors::topMargin(void) const
- ??0QDeclarativeDebugExpressionQuery@@AAE@PAVQObject@@@Z @ 486 NONAME ; QDeclarativeDebugExpressionQuery::QDeclarativeDebugExpressionQuery(class QObject *)
- ??0QPacket@@IAE@ABVQByteArray@@@Z @ 487 NONAME ; QPacket::QPacket(class QByteArray const &)
+ ?leftMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 483 NONAME ABSENT ; void QDeclarativeAnchors::leftMarginChanged(void)
+ ?staticMetaObject@QDeclarativeDebugService@@2UQMetaObject@@B @ 484 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugService::staticMetaObject
+ ?topMargin@QDeclarativeAnchors@@QBEMXZ @ 485 NONAME ABSENT ; float QDeclarativeAnchors::topMargin(void) const
+ ??0QDeclarativeDebugExpressionQuery@@AAE@PAVQObject@@@Z @ 486 NONAME ABSENT ; QDeclarativeDebugExpressionQuery::QDeclarativeDebugExpressionQuery(class QObject *)
+ ??0QPacket@@IAE@ABVQByteArray@@@Z @ 487 NONAME ABSENT ; QPacket::QPacket(class QByteArray const &)
?implicitSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 488 NONAME ; class QSize const & QDeclarativePixmap::implicitSize(void) const
- ?setFlags@QMetaObjectBuilder@@QAEXV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@@Z @ 489 NONAME ; void QMetaObjectBuilder::setFlags(class QFlags<enum QMetaObjectBuilder::MetaObjectFlag>)
- ?horizontalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 490 NONAME ; void QDeclarativeAnchors::horizontalCenterChanged(void)
+ ?setFlags@QMetaObjectBuilder@@QAEXV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@@Z @ 489 NONAME ABSENT ; void QMetaObjectBuilder::setFlags(class QFlags<enum QMetaObjectBuilder::MetaObjectFlag>)
+ ?horizontalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 490 NONAME ABSENT ; void QDeclarativeAnchors::horizontalCenterChanged(void)
?right@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 491 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::right(void) const
- ?staticMetaObject@QDeclarativeDebugObjectQuery@@2UQMetaObject@@B @ 492 NONAME ; struct QMetaObject const QDeclarativeDebugObjectQuery::staticMetaObject
- ?propertyRead@QDeclarativeOpenMetaObject@@MAEXH@Z @ 493 NONAME ; void QDeclarativeOpenMetaObject::propertyRead(int)
+ ?staticMetaObject@QDeclarativeDebugObjectQuery@@2UQMetaObject@@B @ 492 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugObjectQuery::staticMetaObject
+ ?propertyRead@QDeclarativeOpenMetaObject@@MAEXH@Z @ 493 NONAME ABSENT ; void QDeclarativeOpenMetaObject::propertyRead(int)
?importPathList@QDeclarativeEngine@@QBE?AVQStringList@@XZ @ 494 NONAME ; class QStringList QDeclarativeEngine::importPathList(void) const
- ?border@QDeclarativeRectangle@@QAEPAVQDeclarativePen@@XZ @ 495 NONAME ; class QDeclarativePen * QDeclarativeRectangle::border(void)
+ ?border@QDeclarativeRectangle@@QAEPAVQDeclarativePen@@XZ @ 495 NONAME ABSENT ; class QDeclarativePen * QDeclarativeRectangle::border(void)
?baselineOffset@QDeclarativeItem@@QBEMXZ @ 496 NONAME ; float QDeclarativeItem::baselineOffset(void) const
- ?dateFromString@QDeclarativeStringConverters@@YA?AVQDate@@ABVQString@@PA_N@Z @ 497 NONAME ; class QDate QDeclarativeStringConverters::dateFromString(class QString const &, bool *)
- ?qt_metacast@QDeclarativeDebugObjectExpressionWatch@@UAEPAXPBD@Z @ 498 NONAME ; void * QDeclarativeDebugObjectExpressionWatch::qt_metacast(char const *)
- ??0QDeclarativeDomValue@@QAE@ABV0@@Z @ 499 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(class QDeclarativeDomValue const &)
- ??1QDeclarativeListModel@@UAE@XZ @ 500 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(void)
+ ?dateFromString@QDeclarativeStringConverters@@YA?AVQDate@@ABVQString@@PA_N@Z @ 497 NONAME ABSENT ; class QDate QDeclarativeStringConverters::dateFromString(class QString const &, bool *)
+ ?qt_metacast@QDeclarativeDebugObjectExpressionWatch@@UAEPAXPBD@Z @ 498 NONAME ABSENT ; void * QDeclarativeDebugObjectExpressionWatch::qt_metacast(char const *)
+ ??0QDeclarativeDomValue@@QAE@ABV0@@Z @ 499 NONAME ABSENT ; QDeclarativeDomValue::QDeclarativeDomValue(class QDeclarativeDomValue const &)
+ ??1QDeclarativeListModel@@UAE@XZ @ 500 NONAME ABSENT ; QDeclarativeListModel::~QDeclarativeListModel(void)
?qmlAttachedPropertiesObject@@YAPAVQObject@@PAHPBV1@PBUQMetaObject@@_N@Z @ 501 NONAME ; class QObject * qmlAttachedPropertiesObject(int *, class QObject const *, struct QMetaObject const *, bool)
- ??_EQDeclarativeDebugClient@@UAE@I@Z @ 502 NONAME ; QDeclarativeDebugClient::~QDeclarativeDebugClient(unsigned int)
- ??4QDeclarativeDomComponent@@QAEAAV0@ABV0@@Z @ 503 NONAME ; class QDeclarativeDomComponent & QDeclarativeDomComponent::operator=(class QDeclarativeDomComponent const &)
- ?tr@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 504 NONAME ; class QString QPacketProtocol::tr(char const *, char const *)
- ?setFont@QDeclarativeText@@QAEXABVQFont@@@Z @ 505 NONAME ; void QDeclarativeText::setFont(class QFont const &)
+ ??_EQDeclarativeDebugClient@@UAE@I@Z @ 502 NONAME ABSENT ; QDeclarativeDebugClient::~QDeclarativeDebugClient(unsigned int)
+ ??4QDeclarativeDomComponent@@QAEAAV0@ABV0@@Z @ 503 NONAME ABSENT ; class QDeclarativeDomComponent & QDeclarativeDomComponent::operator=(class QDeclarativeDomComponent const &)
+ ?tr@QPacketProtocol@@SA?AVQString@@PBD0@Z @ 504 NONAME ABSENT ; class QString QPacketProtocol::tr(char const *, char const *)
+ ?setFont@QDeclarativeText@@QAEXABVQFont@@@Z @ 505 NONAME ABSENT ; void QDeclarativeText::setFont(class QFont const &)
?fromChanged@QDeclarativeTransition@@IAEXXZ @ 506 NONAME ; void QDeclarativeTransition::fromChanged(void)
- ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 507 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QMetaMethod const &)
+ ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 507 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QMetaMethod const &)
?setHeight@QDeclarativeItemPrivate@@UAEXM@Z @ 508 NONAME ; void QDeclarativeItemPrivate::setHeight(float)
??0Variant@QDeclarativeParser@@QAE@ABV01@@Z @ 509 NONAME ; QDeclarativeParser::Variant::Variant(class QDeclarativeParser::Variant const &)
?getStaticMetaObject@QDeclarativeExtensionPlugin@@SAABUQMetaObject@@XZ @ 510 NONAME ; struct QMetaObject const & QDeclarativeExtensionPlugin::getStaticMetaObject(void)
- ??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 511 NONAME ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *)
- ?qt_metacast@QDeclarativeDebugClient@@UAEPAXPBD@Z @ 512 NONAME ; void * QDeclarativeDebugClient::qt_metacast(char const *)
- ?classInfoValue@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 513 NONAME ; class QByteArray QMetaObjectBuilder::classInfoValue(int) const
- ?right@QDeclarativeScaleGrid@@QBEHXZ @ 514 NONAME ; int QDeclarativeScaleGrid::right(void) const
- ?setClassName@QMetaObjectBuilder@@QAEXABVQByteArray@@@Z @ 515 NONAME ; void QMetaObjectBuilder::setClassName(class QByteArray const &)
- ??1QDeclarativeAnchors@@UAE@XZ @ 516 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(void)
- ?removeConstructor@QMetaObjectBuilder@@QAEXH@Z @ 517 NONAME ; void QMetaObjectBuilder::removeConstructor(int)
- ??4QDeclarativeDomValueValueInterceptor@@QAEAAV0@ABV0@@Z @ 518 NONAME ; class QDeclarativeDomValueValueInterceptor & QDeclarativeDomValueValueInterceptor::operator=(class QDeclarativeDomValueValueInterceptor const &)
+ ??0QDeclarativeBinding@@QAE@PAXPAVQDeclarativeRefCount@@PAVQObject@@PAVQDeclarativeContextData@@ABVQString@@H2@Z @ 511 NONAME ABSENT ; QDeclarativeBinding::QDeclarativeBinding(void *, class QDeclarativeRefCount *, class QObject *, class QDeclarativeContextData *, class QString const &, int, class QObject *)
+ ?qt_metacast@QDeclarativeDebugClient@@UAEPAXPBD@Z @ 512 NONAME ABSENT ; void * QDeclarativeDebugClient::qt_metacast(char const *)
+ ?classInfoValue@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 513 NONAME ABSENT ; class QByteArray QMetaObjectBuilder::classInfoValue(int) const
+ ?right@QDeclarativeScaleGrid@@QBEHXZ @ 514 NONAME ABSENT ; int QDeclarativeScaleGrid::right(void) const
+ ?setClassName@QMetaObjectBuilder@@QAEXABVQByteArray@@@Z @ 515 NONAME ABSENT ; void QMetaObjectBuilder::setClassName(class QByteArray const &)
+ ??1QDeclarativeAnchors@@UAE@XZ @ 516 NONAME ABSENT ; QDeclarativeAnchors::~QDeclarativeAnchors(void)
+ ?removeConstructor@QMetaObjectBuilder@@QAEXH@Z @ 517 NONAME ABSENT ; void QMetaObjectBuilder::removeConstructor(int)
+ ??4QDeclarativeDomValueValueInterceptor@@QAEAAV0@ABV0@@Z @ 518 NONAME ABSENT ; class QDeclarativeDomValueValueInterceptor & QDeclarativeDomValueValueInterceptor::operator=(class QDeclarativeDomValueValueInterceptor const &)
?resolveType@QDeclarativeCustomParser@@IBEPBUQMetaObject@@ABVQByteArray@@@Z @ 519 NONAME ; struct QMetaObject const * QDeclarativeCustomParser::resolveType(class QByteArray const &) const
??_EQDeclarativePropertyValueSource@@UAE@I@Z @ 520 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(unsigned int)
?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 521 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, char const *)
?staticMetaObject@QDeclarativeItem@@2UQMetaObject@@B @ 522 NONAME ; struct QMetaObject const QDeclarativeItem::staticMetaObject
- ?qt_metacast@QDeclarativeDebugRootContextQuery@@UAEPAXPBD@Z @ 523 NONAME ; void * QDeclarativeDebugRootContextQuery::qt_metacast(char const *)
- ?itemsRemoved@QListModelInterface@@IAEXHH@Z @ 524 NONAME ; void QListModelInterface::itemsRemoved(int, int)
+ ?qt_metacast@QDeclarativeDebugRootContextQuery@@UAEPAXPBD@Z @ 523 NONAME ABSENT ; void * QDeclarativeDebugRootContextQuery::qt_metacast(char const *)
+ ?itemsRemoved@QListModelInterface@@IAEXHH@Z @ 524 NONAME ABSENT ; void QListModelInterface::itemsRemoved(int, int)
?networkAccessManager@QDeclarativeEngine@@QBEPAVQNetworkAccessManager@@XZ @ 525 NONAME ; class QNetworkAccessManager * QDeclarativeEngine::networkAccessManager(void) const
- ??0QDeclarativeDomValue@@QAE@XZ @ 526 NONAME ; QDeclarativeDomValue::QDeclarativeDomValue(void)
+ ??0QDeclarativeDomValue@@QAE@XZ @ 526 NONAME ABSENT ; QDeclarativeDomValue::QDeclarativeDomValue(void)
?init@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItem@@@Z @ 527 NONAME ; void QDeclarativeItemPrivate::init(class QDeclarativeItem *)
- ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQByteArray@@0H@Z @ 528 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QByteArray const &, class QByteArray const &, int)
+ ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQByteArray@@0H@Z @ 528 NONAME ABSENT ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QByteArray const &, class QByteArray const &, int)
?getStaticMetaObject@QDeclarativeState@@SAABUQMetaObject@@XZ @ 529 NONAME ; struct QMetaObject const & QDeclarativeState::getStaticMetaObject(void)
- ?isResettable@QMetaPropertyBuilder@@QBE_NXZ @ 530 NONAME ; bool QMetaPropertyBuilder::isResettable(void) const
+ ?isResettable@QMetaPropertyBuilder@@QBE_NXZ @ 530 NONAME ABSENT ; bool QMetaPropertyBuilder::isResettable(void) const
?focusScopeItemChange@QDeclarativeItemPrivate@@UAEX_N@Z @ 531 NONAME ; void QDeclarativeItemPrivate::focusScopeItemChange(bool)
- ?bottomMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 532 NONAME ; void QDeclarativeAnchors::bottomMarginChanged(void)
+ ?bottomMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 532 NONAME ABSENT ; void QDeclarativeAnchors::bottomMarginChanged(void)
?offlineStoragePath@QDeclarativeEngine@@QBE?AVQString@@XZ @ 533 NONAME ; class QString QDeclarativeEngine::offlineStoragePath(void) const
?keys@QDeclarativePropertyMap@@QBE?AVQStringList@@XZ @ 534 NONAME ; class QStringList QDeclarativePropertyMap::keys(void) const
?addItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 535 NONAME ; void QDeclarativeItemPrivate::addItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>)
?clear@QDeclarativePixmap@@QAEXPAVQObject@@@Z @ 536 NONAME ; void QDeclarativePixmap::clear(class QObject *)
- ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 537 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QMetaMethod const &)
+ ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQMetaMethod@@@Z @ 537 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QMetaMethod const &)
??6QDeclarativeInfo@@QAEAAV0@F@Z @ 538 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(short)
- ?serialize@QMetaObjectBuilder@@QBEXAAVQDataStream@@@Z @ 539 NONAME ; void QMetaObjectBuilder::serialize(class QDataStream &) const
- ??0QDeclarativeDebugContextReference@@QAE@ABV0@@Z @ 540 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(class QDeclarativeDebugContextReference const &)
- ?saveProperty@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H@Z @ 541 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveProperty(struct QMetaObject const *, int)
+ ?serialize@QMetaObjectBuilder@@QBEXAAVQDataStream@@@Z @ 539 NONAME ABSENT ; void QMetaObjectBuilder::serialize(class QDataStream &) const
+ ??0QDeclarativeDebugContextReference@@QAE@ABV0@@Z @ 540 NONAME ABSENT ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(class QDeclarativeDebugContextReference const &)
+ ?saveProperty@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H@Z @ 541 NONAME ABSENT ; class QByteArray QDeclarativePropertyPrivate::saveProperty(struct QMetaObject const *, int)
?propertyType@QDeclarativeProperty@@QBEHXZ @ 542 NONAME ; int QDeclarativeProperty::propertyType(void) const
- ?isDefaultProperty@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 543 NONAME ; bool QDeclarativeDomDynamicProperty::isDefaultProperty(void) const
- ??_EQDeclarativeBehavior@@UAE@I@Z @ 544 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(unsigned int)
- ??_EQDeclarativeListModel@@UAE@I@Z @ 545 NONAME ; QDeclarativeListModel::~QDeclarativeListModel(unsigned int)
- ?isCreatable@QDeclarativeType@@QBE_NXZ @ 546 NONAME ; bool QDeclarativeType::isCreatable(void) const
+ ?isDefaultProperty@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 543 NONAME ABSENT ; bool QDeclarativeDomDynamicProperty::isDefaultProperty(void) const
+ ??_EQDeclarativeBehavior@@UAE@I@Z @ 544 NONAME ABSENT ; QDeclarativeBehavior::~QDeclarativeBehavior(unsigned int)
+ ??_EQDeclarativeListModel@@UAE@I@Z @ 545 NONAME ABSENT ; QDeclarativeListModel::~QDeclarativeListModel(unsigned int)
+ ?isCreatable@QDeclarativeType@@QBE_NXZ @ 546 NONAME ABSENT ; bool QDeclarativeType::isCreatable(void) const
??6QDeclarativeInfo@@QAEAAV0@ABVQString@@@Z @ 547 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QString const &)
- ?tr@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 548 NONAME ; class QString QDeclarativePen::tr(char const *, char const *)
+ ?tr@QDeclarativePen@@SA?AVQString@@PBD0@Z @ 548 NONAME ABSENT ; class QString QDeclarativePen::tr(char const *, char const *)
?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 549 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *, int)
- ??0QDeclarativeListModel@@QAE@PAVQObject@@@Z @ 550 NONAME ; QDeclarativeListModel::QDeclarativeListModel(class QObject *)
- ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugContextReference@@ABVQString@@PAVQObject@@@Z @ 551 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugContextReference const &, class QString const &, class QObject *)
+ ??0QDeclarativeListModel@@QAE@PAVQObject@@@Z @ 550 NONAME ABSENT ; QDeclarativeListModel::QDeclarativeListModel(class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugContextReference@@ABVQString@@PAVQObject@@@Z @ 551 NONAME ABSENT ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugContextReference const &, class QString const &, class QObject *)
?setColumn@QDeclarativeError@@QAEXH@Z @ 552 NONAME ; void QDeclarativeError::setColumn(int)
??1QDeclarativeTransition@@UAE@XZ @ 553 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(void)
??AQDeclarativePropertyMap@@QBE?AVQVariant@@ABVQString@@@Z @ 554 NONAME ; class QVariant QDeclarativePropertyMap::operator[](class QString const &) const
- ?qt_metacall@QDeclarativeListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 555 NONAME ; int QDeclarativeListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeListModel@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 555 NONAME ABSENT ; int QDeclarativeListModel::qt_metacall(enum QMetaObject::Call, int, void * *)
?qdeclarativeelement_destructor@QDeclarativePrivate@@YAXPAVQObject@@@Z @ 556 NONAME ; void QDeclarativePrivate::qdeclarativeelement_destructor(class QObject *)
- ?registerCustomStringConverter@QDeclarativeMetaType@@SAXHP6A?AVQVariant@@ABVQString@@@Z@Z @ 557 NONAME ; void QDeclarativeMetaType::registerCustomStringConverter(int, class QVariant (*)(class QString const &))
+ ?registerCustomStringConverter@QDeclarativeMetaType@@SAXHP6A?AVQVariant@@ABVQString@@@Z@Z @ 557 NONAME ABSENT ; void QDeclarativeMetaType::registerCustomStringConverter(int, class QVariant (*)(class QString const &))
?metaObject@QDeclarativeEngine@@UBEPBUQMetaObject@@XZ @ 558 NONAME ; struct QMetaObject const * QDeclarativeEngine::metaObject(void) const
- ??_EQDeclarativeDebugContextReference@@QAE@I@Z @ 559 NONAME ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(unsigned int)
- ?propertyWrite@QDeclarativeOpenMetaObject@@MAEXH@Z @ 560 NONAME ; void QDeclarativeOpenMetaObject::propertyWrite(int)
- ?qt_metacall@QDeclarativeDebugService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 561 NONAME ; int QDeclarativeDebugService::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setVerticalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 562 NONAME ; void QDeclarativeAnchors::setVerticalCenterOffset(float)
- ??1QDeclarativeDebugWatch@@UAE@XZ @ 563 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(void)
- ??1QPacketAutoSend@@UAE@XZ @ 564 NONAME ; QPacketAutoSend::~QPacketAutoSend(void)
- ?geometryChanged@QDeclarativeText@@MAEXABVQRectF@@0@Z @ 565 NONAME ; void QDeclarativeText::geometryChanged(class QRectF const &, class QRectF const &)
- ?d_func@QDeclarativeRectangle@@AAEPAVQDeclarativeRectanglePrivate@@XZ @ 566 NONAME ; class QDeclarativeRectanglePrivate * QDeclarativeRectangle::d_func(void)
- ?qt_metacast@QDeclarativeListModel@@UAEPAXPBD@Z @ 567 NONAME ; void * QDeclarativeListModel::qt_metacast(char const *)
+ ??_EQDeclarativeDebugContextReference@@QAE@I@Z @ 559 NONAME ABSENT ; QDeclarativeDebugContextReference::~QDeclarativeDebugContextReference(unsigned int)
+ ?propertyWrite@QDeclarativeOpenMetaObject@@MAEXH@Z @ 560 NONAME ABSENT ; void QDeclarativeOpenMetaObject::propertyWrite(int)
+ ?qt_metacall@QDeclarativeDebugService@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 561 NONAME ABSENT ; int QDeclarativeDebugService::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setVerticalCenterOffset@QDeclarativeAnchors@@QAEXM@Z @ 562 NONAME ABSENT ; void QDeclarativeAnchors::setVerticalCenterOffset(float)
+ ??1QDeclarativeDebugWatch@@UAE@XZ @ 563 NONAME ABSENT ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(void)
+ ??1QPacketAutoSend@@UAE@XZ @ 564 NONAME ABSENT ; QPacketAutoSend::~QPacketAutoSend(void)
+ ?geometryChanged@QDeclarativeText@@MAEXABVQRectF@@0@Z @ 565 NONAME ABSENT ; void QDeclarativeText::geometryChanged(class QRectF const &, class QRectF const &)
+ ?d_func@QDeclarativeRectangle@@AAEPAVQDeclarativeRectanglePrivate@@XZ @ 566 NONAME ABSENT ; class QDeclarativeRectanglePrivate * QDeclarativeRectangle::d_func(void)
+ ?qt_metacast@QDeclarativeListModel@@UAEPAXPBD@Z @ 567 NONAME ABSENT ; void * QDeclarativeListModel::qt_metacast(char const *)
?name@QDeclarativeCustomParserProperty@@QBE?AVQByteArray@@XZ @ 568 NONAME ; class QByteArray QDeclarativeCustomParserProperty::name(void) const
- ?update@QDeclarativeBinding@@QAEXXZ @ 569 NONAME ; void QDeclarativeBinding::update(void)
+ ?update@QDeclarativeBinding@@QAEXXZ @ 569 NONAME ABSENT ; void QDeclarativeBinding::update(void)
?trUtf8@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 570 NONAME ; class QString QDeclarativeEngine::trUtf8(char const *, char const *)
- ?qt_metacast@QDeclarativeDebugConnection@@UAEPAXPBD@Z @ 571 NONAME ; void * QDeclarativeDebugConnection::qt_metacast(char const *)
- ?removeWatch@QDeclarativeEngineDebug@@QAEXPAVQDeclarativeDebugWatch@@@Z @ 572 NONAME ; void QDeclarativeEngineDebug::removeWatch(class QDeclarativeDebugWatch *)
- ?qt_metacast@QDeclarativeBinding@@UAEPAXPBD@Z @ 573 NONAME ; void * QDeclarativeBinding::qt_metacast(char const *)
- ?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 574 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const
+ ?qt_metacast@QDeclarativeDebugConnection@@UAEPAXPBD@Z @ 571 NONAME ABSENT ; void * QDeclarativeDebugConnection::qt_metacast(char const *)
+ ?removeWatch@QDeclarativeEngineDebug@@QAEXPAVQDeclarativeDebugWatch@@@Z @ 572 NONAME ABSENT ; void QDeclarativeEngineDebug::removeWatch(class QDeclarativeDebugWatch *)
+ ?qt_metacast@QDeclarativeBinding@@UAEPAXPBD@Z @ 573 NONAME ABSENT ; void * QDeclarativeBinding::qt_metacast(char const *)
+ ?baseline@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 574 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::baseline(void) const
?connectDownloadProgress@QDeclarativePixmap@@QAE_NPAVQObject@@PBD@Z @ 575 NONAME ; bool QDeclarativePixmap::connectDownloadProgress(class QObject *, char const *)
- ?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 576 NONAME ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *)
+ ?restore@QDeclarativePropertyPrivate@@SA?AVQDeclarativeProperty@@ABVQByteArray@@PAVQObject@@PAVQDeclarativeContextData@@@Z @ 576 NONAME ABSENT ; class QDeclarativeProperty QDeclarativePropertyPrivate::restore(class QByteArray const &, class QObject *, class QDeclarativeContextData *)
??0QDeclarativeProperty@@QAE@PAVQObject@@@Z @ 577 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *)
- ?source@QDeclarativeDebugObjectReference@@QBE?AVQDeclarativeDebugFileReference@@XZ @ 578 NONAME ; class QDeclarativeDebugFileReference QDeclarativeDebugObjectReference::source(void) const
- ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 579 NONAME ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *, int)
- ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@H@Z @ 580 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(int)
+ ?source@QDeclarativeDebugObjectReference@@QBE?AVQDeclarativeDebugFileReference@@XZ @ 578 NONAME ABSENT ; class QDeclarativeDebugFileReference QDeclarativeDebugObjectReference::source(void) const
+ ?tr@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 579 NONAME ABSENT ; class QString QDeclarativeDebugExpressionQuery::tr(char const *, char const *, int)
+ ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@H@Z @ 580 NONAME ABSENT ; class QDeclarativeType * QDeclarativeMetaType::qmlType(int)
??1QDeclarativeCustomParser@@UAE@XZ @ 581 NONAME ; QDeclarativeCustomParser::~QDeclarativeCustomParser(void)
- ?toList@QDeclarativeDomValue@@QBE?AVQDeclarativeDomList@@XZ @ 582 NONAME ; class QDeclarativeDomList QDeclarativeDomValue::toList(void) const
- ?metaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 583 NONAME ; struct QMetaObject const * QDeclarativeType::metaObject(void) const
- ?animation@QDeclarativeBehavior@@QAEPAVQDeclarativeAbstractAnimation@@XZ @ 584 NONAME ; class QDeclarativeAbstractAnimation * QDeclarativeBehavior::animation(void)
- ?listType@QDeclarativeMetaType@@SAHH@Z @ 585 NONAME ; int QDeclarativeMetaType::listType(int)
+ ?toList@QDeclarativeDomValue@@QBE?AVQDeclarativeDomList@@XZ @ 582 NONAME ABSENT ; class QDeclarativeDomList QDeclarativeDomValue::toList(void) const
+ ?metaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 583 NONAME ABSENT ; struct QMetaObject const * QDeclarativeType::metaObject(void) const
+ ?animation@QDeclarativeBehavior@@QAEPAVQDeclarativeAbstractAnimation@@XZ @ 584 NONAME ABSENT ; class QDeclarativeAbstractAnimation * QDeclarativeBehavior::animation(void)
+ ?listType@QDeclarativeMetaType@@SAHH@Z @ 585 NONAME ABSENT ; int QDeclarativeMetaType::listType(int)
?transform_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@PAVQGraphicsTransform@@@Z @ 586 NONAME ; void QDeclarativeItemPrivate::transform_append(class QDeclarativeListProperty<class QGraphicsTransform> *, class QGraphicsTransform *)
?d_func@QDeclarativeComponent@@AAEPAVQDeclarativeComponentPrivate@@XZ @ 587 NONAME ; class QDeclarativeComponentPrivate * QDeclarativeComponent::d_func(void)
- ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@@Z @ 588 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &)
- ?qt_metacall@QDeclarativeScaleGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ; int QDeclarativeScaleGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@@Z @ 588 NONAME ABSENT ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &)
+ ?qt_metacall@QDeclarativeScaleGrid@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 589 NONAME ABSENT ; int QDeclarativeScaleGrid::qt_metacall(enum QMetaObject::Call, int, void * *)
?size@QDeclarativePropertyMap@@QBEHXZ @ 590 NONAME ; int QDeclarativePropertyMap::size(void) const
?cancel@QDeclarativeState@@QAEXXZ @ 591 NONAME ; void QDeclarativeState::cancel(void)
?qt_metacall@QDeclarativeStateGroup@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 592 NONAME ; int QDeclarativeStateGroup::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0QDeclarativePropertyPrivate@@QAE@XZ @ 593 NONAME ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(void)
- ?getStaticMetaObject@QDeclarativeDebugPropertyWatch@@SAABUQMetaObject@@XZ @ 594 NONAME ; struct QMetaObject const & QDeclarativeDebugPropertyWatch::getStaticMetaObject(void)
- ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 595 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *, int)
+ ??0QDeclarativePropertyPrivate@@QAE@XZ @ 593 NONAME ABSENT ; QDeclarativePropertyPrivate::QDeclarativePropertyPrivate(void)
+ ?getStaticMetaObject@QDeclarativeDebugPropertyWatch@@SAABUQMetaObject@@XZ @ 594 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugPropertyWatch::getStaticMetaObject(void)
+ ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 595 NONAME ABSENT ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *, int)
?transformOrigin@QDeclarativeItem@@QBE?AW4TransformOrigin@1@XZ @ 596 NONAME ; enum QDeclarativeItem::TransformOrigin QDeclarativeItem::transformOrigin(void) const
- ?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 597 NONAME ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State)
+ ?setState@QDeclarativeDebugWatch@@AAEXW4State@1@@Z @ 597 NONAME ABSENT ; void QDeclarativeDebugWatch::setState(enum QDeclarativeDebugWatch::State)
?evaluateEnum@QDeclarativeCustomParser@@IBEHABVQByteArray@@@Z @ 598 NONAME ; int QDeclarativeCustomParser::evaluateEnum(class QByteArray const &) const
- ?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 599 NONAME ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State)
- ?d_func@QDeclarativeText@@ABEPBVQDeclarativeTextPrivate@@XZ @ 600 NONAME ; class QDeclarativeTextPrivate const * QDeclarativeText::d_func(void) const
+ ?setState@QDeclarativeDebugQuery@@AAEXW4State@1@@Z @ 599 NONAME ABSENT ; void QDeclarativeDebugQuery::setState(enum QDeclarativeDebugQuery::State)
+ ?d_func@QDeclarativeText@@ABEPBVQDeclarativeTextPrivate@@XZ @ 600 NONAME ABSENT ; class QDeclarativeTextPrivate const * QDeclarativeText::d_func(void) const
?transitionsProperty@QDeclarativeStateGroup@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeTransition@@@@XZ @ 601 NONAME ; class QDeclarativeListProperty<class QDeclarativeTransition> QDeclarativeStateGroup::transitionsProperty(void)
- ?typeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 602 NONAME ; class QByteArray QDeclarativeType::typeName(void) const
+ ?typeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 602 NONAME ABSENT ; class QByteArray QDeclarativeType::typeName(void) const
?asStringList@Variant@QDeclarativeParser@@QBE?AVQStringList@@XZ @ 603 NONAME ; class QStringList QDeclarativeParser::Variant::asStringList(void) const
- ?removeKey@QMetaEnumBuilder@@QAEXH@Z @ 604 NONAME ; void QMetaEnumBuilder::removeKey(int)
- ?addRelatedMetaObject@QMetaObjectBuilder@@QAEHABQ6AABUQMetaObject@@XZ@Z @ 605 NONAME ; int QMetaObjectBuilder::addRelatedMetaObject(struct QMetaObject const & (* const)(void) const &)
- ??0QDeclarativeDomValueLiteral@@QAE@XZ @ 606 NONAME ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(void)
- ??_EQDeclarativeDebugObjectExpressionWatch@@UAE@I@Z @ 607 NONAME ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(unsigned int)
+ ?removeKey@QMetaEnumBuilder@@QAEXH@Z @ 604 NONAME ABSENT ; void QMetaEnumBuilder::removeKey(int)
+ ?addRelatedMetaObject@QMetaObjectBuilder@@QAEHABQ6AABUQMetaObject@@XZ@Z @ 605 NONAME ABSENT ; int QMetaObjectBuilder::addRelatedMetaObject(struct QMetaObject const & (* const)(void) const &)
+ ??0QDeclarativeDomValueLiteral@@QAE@XZ @ 606 NONAME ABSENT ; QDeclarativeDomValueLiteral::QDeclarativeDomValueLiteral(void)
+ ??_EQDeclarativeDebugObjectExpressionWatch@@UAE@I@Z @ 607 NONAME ABSENT ; QDeclarativeDebugObjectExpressionWatch::~QDeclarativeDebugObjectExpressionWatch(unsigned int)
?computeTransformOrigin@QDeclarativeItemPrivate@@QBE?AVQPointF@@XZ @ 608 NONAME ; class QPointF QDeclarativeItemPrivate::computeTransformOrigin(void) const
??0QDeclarativeListReference@@QAE@PAVQObject@@PBDPAVQDeclarativeEngine@@@Z @ 609 NONAME ; QDeclarativeListReference::QDeclarativeListReference(class QObject *, char const *, class QDeclarativeEngine *)
?setData@QListModelInterface@@UAE_NHABV?$QHash@HVQVariant@@@@@Z @ 610 NONAME ABSENT ; bool QListModelInterface::setData(int, class QHash<int, class QVariant> const &)
- ??0QDeclarativePen@@QAE@PAVQObject@@@Z @ 611 NONAME ; QDeclarativePen::QDeclarativePen(class QObject *)
- ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 612 NONAME ; class QString QPacketProtocol::trUtf8(char const *, char const *, int)
+ ??0QDeclarativePen@@QAE@PAVQObject@@@Z @ 611 NONAME ABSENT ; QDeclarativePen::QDeclarativePen(class QObject *)
+ ?trUtf8@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 612 NONAME ABSENT ; class QString QPacketProtocol::trUtf8(char const *, char const *, int)
?setContextObject@QDeclarativeContext@@QAEXPAVQObject@@@Z @ 613 NONAME ; void QDeclarativeContext::setContextObject(class QObject *)
??_EQDeclarativeState@@UAE@I@Z @ 614 NONAME ; QDeclarativeState::~QDeclarativeState(unsigned int)
?expression@QDeclarativeExpression@@QBE?AVQString@@XZ @ 615 NONAME ; class QString QDeclarativeExpression::expression(void) const
- ??1QDeclarativeDomDocument@@QAE@XZ @ 616 NONAME ; QDeclarativeDomDocument::~QDeclarativeDomDocument(void)
- ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 617 NONAME ; class QString QDeclarativeListModel::trUtf8(char const *, char const *, int)
+ ??1QDeclarativeDomDocument@@QAE@XZ @ 616 NONAME ABSENT ; QDeclarativeDomDocument::~QDeclarativeDomDocument(void)
+ ?trUtf8@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 617 NONAME ABSENT ; class QString QDeclarativeListModel::trUtf8(char const *, char const *, int)
?asNumber@Variant@QDeclarativeParser@@QBENXZ @ 618 NONAME ; double QDeclarativeParser::Variant::asNumber(void) const
- ?d_func@QDeclarativeDebugClient@@ABEPBVQDeclarativeDebugClientPrivate@@XZ @ 619 NONAME ; class QDeclarativeDebugClientPrivate const * QDeclarativeDebugClient::d_func(void) const
+ ?d_func@QDeclarativeDebugClient@@ABEPBVQDeclarativeDebugClientPrivate@@XZ @ 619 NONAME ABSENT ; class QDeclarativeDebugClientPrivate const * QDeclarativeDebugClient::d_func(void) const
?sceneEvent@QDeclarativeItem@@MAE_NPAVQEvent@@@Z @ 620 NONAME ; bool QDeclarativeItem::sceneEvent(class QEvent *)
- ??0QDeclarativeDebugRootContextQuery@@AAE@PAVQObject@@@Z @ 621 NONAME ; QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(class QObject *)
- ?name@QDeclarativeDebugEngineReference@@QBE?AVQString@@XZ @ 622 NONAME ; class QString QDeclarativeDebugEngineReference::name(void) const
+ ??0QDeclarativeDebugRootContextQuery@@AAE@PAVQObject@@@Z @ 621 NONAME ABSENT ; QDeclarativeDebugRootContextQuery::QDeclarativeDebugRootContextQuery(class QObject *)
+ ?name@QDeclarativeDebugEngineReference@@QBE?AVQString@@XZ @ 622 NONAME ABSENT ; class QString QDeclarativeDebugEngineReference::name(void) const
??_EQDeclarativeTransition@@UAE@I@Z @ 623 NONAME ; QDeclarativeTransition::~QDeclarativeTransition(unsigned int)
- ??0QDeclarativeAction@@QAE@ABV0@@Z @ 624 NONAME ; QDeclarativeAction::QDeclarativeAction(class QDeclarativeAction const &)
+ ??0QDeclarativeAction@@QAE@ABV0@@Z @ 624 NONAME ABSENT ; QDeclarativeAction::QDeclarativeAction(class QDeclarativeAction const &)
?extends@QDeclarativeState@@QBE?AVQString@@XZ @ 625 NONAME ; class QString QDeclarativeState::extends(void) const
?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserProperty@@ABVQString@@@Z @ 626 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserProperty const &, class QString const &)
??0QDeclarativeCustomParserNode@@QAE@XZ @ 627 NONAME ; QDeclarativeCustomParserNode::QDeclarativeCustomParserNode(void)
- ?version@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 628 NONAME ; class QString QDeclarativeDomImport::version(void) const
+ ?version@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 628 NONAME ABSENT ; class QString QDeclarativeDomImport::version(void) const
?smooth@QDeclarativeItem@@QBE_NXZ @ 629 NONAME ; bool QDeclarativeItem::smooth(void) const
??1QDeclarativeInfo@@QAE@XZ @ 630 NONAME ; QDeclarativeInfo::~QDeclarativeInfo(void)
?qt_metacast@QDeclarativeStateOperation@@UAEPAXPBD@Z @ 631 NONAME ; void * QDeclarativeStateOperation::qt_metacast(char const *)
- ??4QDeclarativeDebugEngineReference@@QAEAAV0@ABV0@@Z @ 632 NONAME ; class QDeclarativeDebugEngineReference & QDeclarativeDebugEngineReference::operator=(class QDeclarativeDebugEngineReference const &)
- ?isValueType@QDeclarativePropertyPrivate@@QBE_NXZ @ 633 NONAME ; bool QDeclarativePropertyPrivate::isValueType(void) const
- ??0QDeclarativeDomValueValueSource@@QAE@ABV0@@Z @ 634 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(class QDeclarativeDomValueValueSource const &)
- ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 635 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *, int)
+ ??4QDeclarativeDebugEngineReference@@QAEAAV0@ABV0@@Z @ 632 NONAME ABSENT ; class QDeclarativeDebugEngineReference & QDeclarativeDebugEngineReference::operator=(class QDeclarativeDebugEngineReference const &)
+ ?isValueType@QDeclarativePropertyPrivate@@QBE_NXZ @ 633 NONAME ABSENT ; bool QDeclarativePropertyPrivate::isValueType(void) const
+ ??0QDeclarativeDomValueValueSource@@QAE@ABV0@@Z @ 634 NONAME ABSENT ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(class QDeclarativeDomValueValueSource const &)
+ ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0H@Z @ 635 NONAME ABSENT ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *, int)
?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0H@Z @ 636 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *, int)
- ??_EQDeclarativeDebugExpressionQuery@@UAE@I@Z @ 637 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(unsigned int)
- ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 638 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *, int)
- ?qt_metacall@QDeclarativeDebugObjectExpressionWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 639 NONAME ; int QDeclarativeDebugObjectExpressionWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EQDeclarativeDebugExpressionQuery@@UAE@I@Z @ 637 NONAME ABSENT ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(unsigned int)
+ ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 638 NONAME ABSENT ; class QString QListModelInterface::trUtf8(char const *, char const *, int)
+ ?qt_metacall@QDeclarativeDebugObjectExpressionWatch@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 639 NONAME ABSENT ; int QDeclarativeDebugObjectExpressionWatch::qt_metacall(enum QMetaObject::Call, int, void * *)
?d_func@QDeclarativeItem@@AAEPAVQDeclarativeItemPrivate@@XZ @ 640 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItem::d_func(void)
- ?binding@QDeclarativeDomValueBinding@@QBE?AVQString@@XZ @ 641 NONAME ; class QString QDeclarativeDomValueBinding::binding(void) const
+ ?binding@QDeclarativeDomValueBinding@@QBE?AVQString@@XZ @ 641 NONAME ABSENT ; class QString QDeclarativeDomValueBinding::binding(void) const
?updateAutoState@QDeclarativeStateGroup@@AAE_NXZ @ 642 NONAME ; bool QDeclarativeStateGroup::updateAutoState(void)
- ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 643 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 643 NONAME ABSENT ; class QString QDeclarativeDebugService::tr(char const *, char const *)
?tr@QDeclarativeComponent@@SA?AVQString@@PBD0H@Z @ 644 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *, int)
??1QDeclarativeProperty@@QAE@XZ @ 645 NONAME ; QDeclarativeProperty::~QDeclarativeProperty(void)
- ?fontChanged@QDeclarativeText@@IAEXABVQFont@@@Z @ 646 NONAME ; void QDeclarativeText::fontChanged(class QFont const &)
+ ?fontChanged@QDeclarativeText@@IAEXABVQFont@@@Z @ 646 NONAME ABSENT ; void QDeclarativeText::fontChanged(class QFont const &)
?isLoading@QDeclarativePixmap@@QBE_NXZ @ 647 NONAME ; bool QDeclarativePixmap::isLoading(void) const
?removeItemChangeListener@QDeclarativeItemPrivate@@QAEXPAVQDeclarativeItemChangeListener@@V?$QFlags@W4ChangeType@QDeclarativeItemPrivate@@@@@Z @ 648 NONAME ; void QDeclarativeItemPrivate::removeItemChangeListener(class QDeclarativeItemChangeListener *, class QFlags<enum QDeclarativeItemPrivate::ChangeType>)
- ?isList@QDeclarativeDomValue@@QBE_NXZ @ 649 NONAME ; bool QDeclarativeDomValue::isList(void) const
- ?insert@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 650 NONAME ; void QDeclarativeListModel::insert(int, class QScriptValue const &)
- ?staticMetaObject@QDeclarativeListModel@@2UQMetaObject@@B @ 651 NONAME ; struct QMetaObject const QDeclarativeListModel::staticMetaObject
+ ?isList@QDeclarativeDomValue@@QBE_NXZ @ 649 NONAME ABSENT ; bool QDeclarativeDomValue::isList(void) const
+ ?insert@QDeclarativeListModel@@QAEXHABVQScriptValue@@@Z @ 650 NONAME ABSENT ; void QDeclarativeListModel::insert(int, class QScriptValue const &)
+ ?staticMetaObject@QDeclarativeListModel@@2UQMetaObject@@B @ 651 NONAME ABSENT ; struct QMetaObject const QDeclarativeListModel::staticMetaObject
?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@@Z @ 652 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &)
- ?indexOfConstructor@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 653 NONAME ; int QMetaObjectBuilder::indexOfConstructor(class QByteArray const &)
+ ?indexOfConstructor@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 653 NONAME ABSENT ; int QMetaObjectBuilder::indexOfConstructor(class QByteArray const &)
?lineNumber@QDeclarativeExpression@@QBEHXZ @ 654 NONAME ; int QDeclarativeExpression::lineNumber(void) const
- ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 655 NONAME ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 655 NONAME ABSENT ; class QString QDeclarativeDebugRootContextQuery::trUtf8(char const *, char const *, int)
?toString@QDeclarativeError@@QBE?AVQString@@XZ @ 656 NONAME ; class QString QDeclarativeError::toString(void) const
- ?index@QMetaPropertyBuilder@@QBEHXZ @ 657 NONAME ; int QMetaPropertyBuilder::index(void) const
- ?commaPositions@QDeclarativeDomList@@QBE?AV?$QList@H@@XZ @ 658 NONAME ; class QList<int> QDeclarativeDomList::commaPositions(void) const
- ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 659 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *)
- ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 660 NONAME ; class QString QDeclarativeAnchors::tr(char const *, char const *)
+ ?index@QMetaPropertyBuilder@@QBEHXZ @ 657 NONAME ABSENT ; int QMetaPropertyBuilder::index(void) const
+ ?commaPositions@QDeclarativeDomList@@QBE?AV?$QList@H@@XZ @ 658 NONAME ABSENT ; class QList<int> QDeclarativeDomList::commaPositions(void) const
+ ?tr@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 659 NONAME ABSENT ; class QString QDeclarativeDebugObjectExpressionWatch::tr(char const *, char const *)
+ ?tr@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 660 NONAME ABSENT ; class QString QDeclarativeAnchors::tr(char const *, char const *)
?tr@QDeclarativeEngine@@SA?AVQString@@PBD0@Z @ 661 NONAME ; class QString QDeclarativeEngine::tr(char const *, char const *)
- ?setTextFormat@QDeclarativeText@@QAEXW4TextFormat@1@@Z @ 662 NONAME ; void QDeclarativeText::setTextFormat(enum QDeclarativeText::TextFormat)
- ?parserStatusCast@QDeclarativeType@@QBEHXZ @ 663 NONAME ; int QDeclarativeType::parserStatusCast(void) const
- ??_EQListModelInterface@@UAE@I@Z @ 664 NONAME ; QListModelInterface::~QListModelInterface(unsigned int)
- ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 665 NONAME ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *)
- ?getStaticMetaObject@QDeclarativeListModel@@SAABUQMetaObject@@XZ @ 666 NONAME ; struct QMetaObject const & QDeclarativeListModel::getStaticMetaObject(void)
- ?setStdCppSet@QMetaPropertyBuilder@@QAEX_N@Z @ 667 NONAME ; void QMetaPropertyBuilder::setStdCppSet(bool)
+ ?setTextFormat@QDeclarativeText@@QAEXW4TextFormat@1@@Z @ 662 NONAME ABSENT ; void QDeclarativeText::setTextFormat(enum QDeclarativeText::TextFormat)
+ ?parserStatusCast@QDeclarativeType@@QBEHXZ @ 663 NONAME ABSENT ; int QDeclarativeType::parserStatusCast(void) const
+ ??_EQListModelInterface@@UAE@I@Z @ 664 NONAME ABSENT ; QListModelInterface::~QListModelInterface(unsigned int)
+ ?trUtf8@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 665 NONAME ABSENT ; class QString QDeclarativeBehavior::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@QDeclarativeListModel@@SAABUQMetaObject@@XZ @ 666 NONAME ABSENT ; struct QMetaObject const & QDeclarativeListModel::getStaticMetaObject(void)
+ ?setStdCppSet@QMetaPropertyBuilder@@QAEX_N@Z @ 667 NONAME ABSENT ; void QMetaPropertyBuilder::setStdCppSet(bool)
??0QDeclarativeItemPrivate@@QAE@XZ @ 668 NONAME ; QDeclarativeItemPrivate::QDeclarativeItemPrivate(void)
- ??0QDeclarativeDebugService@@QAE@ABVQString@@PAVQObject@@@Z @ 669 NONAME ; QDeclarativeDebugService::QDeclarativeDebugService(class QString const &, class QObject *)
+ ??0QDeclarativeDebugService@@QAE@ABVQString@@PAVQObject@@@Z @ 669 NONAME ABSENT ; QDeclarativeDebugService::QDeclarativeDebugService(class QString const &, class QObject *)
?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@_N@Z @ 670 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, bool)
- ??_EQPacketAutoSend@@UAE@I@Z @ 671 NONAME ; QPacketAutoSend::~QPacketAutoSend(unsigned int)
- ?saveValueType@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H0H@Z @ 672 NONAME ; class QByteArray QDeclarativePropertyPrivate::saveValueType(struct QMetaObject const *, int, struct QMetaObject const *, int)
+ ??_EQPacketAutoSend@@UAE@I@Z @ 671 NONAME ABSENT ; QPacketAutoSend::~QPacketAutoSend(unsigned int)
+ ?saveValueType@QDeclarativePropertyPrivate@@SA?AVQByteArray@@PBUQMetaObject@@H0H@Z @ 672 NONAME ABSENT ; class QByteArray QDeclarativePropertyPrivate::saveValueType(struct QMetaObject const *, int, struct QMetaObject const *, int)
?resetHeight@QDeclarativeItem@@QAEXXZ @ 673 NONAME ; void QDeclarativeItem::resetHeight(void)
- ?setVAlign@QDeclarativeText@@QAEXW4VAlignment@1@@Z @ 674 NONAME ; void QDeclarativeText::setVAlign(enum QDeclarativeText::VAlignment)
- ??1QDeclarativeDebugService@@UAE@XZ @ 675 NONAME ; QDeclarativeDebugService::~QDeclarativeDebugService(void)
- ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 676 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *, int)
- ?elideMode@QDeclarativeText@@QBE?AW4TextElideMode@1@XZ @ 677 NONAME ; enum QDeclarativeText::TextElideMode QDeclarativeText::elideMode(void) const
+ ?setVAlign@QDeclarativeText@@QAEXW4VAlignment@1@@Z @ 674 NONAME ABSENT ; void QDeclarativeText::setVAlign(enum QDeclarativeText::VAlignment)
+ ??1QDeclarativeDebugService@@UAE@XZ @ 675 NONAME ABSENT ; QDeclarativeDebugService::~QDeclarativeDebugService(void)
+ ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 676 NONAME ABSENT ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *, int)
+ ?elideMode@QDeclarativeText@@QBE?AW4TextElideMode@1@XZ @ 677 NONAME ABSENT ; enum QDeclarativeText::TextElideMode QDeclarativeText::elideMode(void) const
?baseUrl@QDeclarativeContext@@QBE?AVQUrl@@XZ @ 678 NONAME ; class QUrl QDeclarativeContext::baseUrl(void) const
- ?qt_metacall@QDeclarativeDebugRootContextQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 679 NONAME ; int QDeclarativeDebugRootContextQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugRootContextQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 679 NONAME ABSENT ; int QDeclarativeDebugRootContextQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
?isNamed@QDeclarativeState@@QBE_NXZ @ 680 NONAME ; bool QDeclarativeState::isNamed(void) const
?isString@Variant@QDeclarativeParser@@QBE_NXZ @ 681 NONAME ; bool QDeclarativeParser::Variant::isString(void) const
?restart@QDeclarativeItemPrivate@@SA_JAAVQElapsedTimer@@@Z @ 682 NONAME ; long long QDeclarativeItemPrivate::restart(class QElapsedTimer &)
- ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 683 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0H@Z @ 683 NONAME ABSENT ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *, int)
?qt_metacast@QDeclarativeTransition@@UAEPAXPBD@Z @ 684 NONAME ; void * QDeclarativeTransition::qt_metacast(char const *)
??1QDeclarativePixmap@@QAE@XZ @ 685 NONAME ; QDeclarativePixmap::~QDeclarativePixmap(void)
- ?timeFromString@QDeclarativeStringConverters@@YA?AVQTime@@ABVQString@@PA_N@Z @ 686 NONAME ; class QTime QDeclarativeStringConverters::timeFromString(class QString const &, bool *)
- ?d_func@QDeclarativeDebugClient@@AAEPAVQDeclarativeDebugClientPrivate@@XZ @ 687 NONAME ; class QDeclarativeDebugClientPrivate * QDeclarativeDebugClient::d_func(void)
- ??1QDeclarativeType@@AAE@XZ @ 688 NONAME ; QDeclarativeType::~QDeclarativeType(void)
- ?colorFromString@QDeclarativeStringConverters@@YA?AVQColor@@ABVQString@@PA_N@Z @ 689 NONAME ; class QColor QDeclarativeStringConverters::colorFromString(class QString const &, bool *)
- ??_EQPacketProtocol@@UAE@I@Z @ 690 NONAME ; QPacketProtocol::~QPacketProtocol(unsigned int)
- ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 691 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *)
+ ?timeFromString@QDeclarativeStringConverters@@YA?AVQTime@@ABVQString@@PA_N@Z @ 686 NONAME ABSENT ; class QTime QDeclarativeStringConverters::timeFromString(class QString const &, bool *)
+ ?d_func@QDeclarativeDebugClient@@AAEPAVQDeclarativeDebugClientPrivate@@XZ @ 687 NONAME ABSENT ; class QDeclarativeDebugClientPrivate * QDeclarativeDebugClient::d_func(void)
+ ??1QDeclarativeType@@AAE@XZ @ 688 NONAME ABSENT ; QDeclarativeType::~QDeclarativeType(void)
+ ?colorFromString@QDeclarativeStringConverters@@YA?AVQColor@@ABVQString@@PA_N@Z @ 689 NONAME ABSENT ; class QColor QDeclarativeStringConverters::colorFromString(class QString const &, bool *)
+ ??_EQPacketProtocol@@UAE@I@Z @ 690 NONAME ABSENT ; QPacketProtocol::~QPacketProtocol(unsigned int)
+ ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0@Z @ 691 NONAME ABSENT ; class QString QDeclarativeListModel::tr(char const *, char const *)
??0QDeclarativePixmap@@QAE@XZ @ 692 NONAME ; QDeclarativePixmap::QDeclarativePixmap(void)
- ??0QDeclarativeDebugObjectReference@@QAE@XZ @ 693 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(void)
+ ??0QDeclarativeDebugObjectReference@@QAE@XZ @ 693 NONAME ABSENT ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(void)
?staticMetaObject@QDeclarativeExtensionPlugin@@2UQMetaObject@@B @ 694 NONAME ; struct QMetaObject const QDeclarativeExtensionPlugin::staticMetaObject
- ?isNull@QDeclarativeScaleGrid@@QBE_NXZ @ 695 NONAME ; bool QDeclarativeScaleGrid::isNull(void) const
+ ?isNull@QDeclarativeScaleGrid@@QBE_NXZ @ 695 NONAME ABSENT ; bool QDeclarativeScaleGrid::isNull(void) const
??_EQDeclarativeStateOperation@@UAE@I@Z @ 696 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(unsigned int)
??6QDeclarativeInfo@@QAEAAV0@H@Z @ 697 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(int)
- ??0QDeclarativeDomDynamicProperty@@QAE@XZ @ 698 NONAME ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(void)
- ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 699 NONAME ; class QString QDeclarativeRectangle::tr(char const *, char const *, int)
+ ??0QDeclarativeDomDynamicProperty@@QAE@XZ @ 698 NONAME ABSENT ; QDeclarativeDomDynamicProperty::QDeclarativeDomDynamicProperty(void)
+ ?tr@QDeclarativeRectangle@@SA?AVQString@@PBD0H@Z @ 699 NONAME ABSENT ; class QString QDeclarativeRectangle::tr(char const *, char const *, int)
?type@QDeclarativeProperty@@QBE?AW4Type@1@XZ @ 700 NONAME ; enum QDeclarativeProperty::Type QDeclarativeProperty::type(void) const
- ??0QDeclarativeDebugQuery@@IAE@PAVQObject@@@Z @ 701 NONAME ; QDeclarativeDebugQuery::QDeclarativeDebugQuery(class QObject *)
- ?baselineOffset@QDeclarativeAnchors@@QBEMXZ @ 702 NONAME ; float QDeclarativeAnchors::baselineOffset(void) const
- ??4QDeclarativeDomDocument@@QAEAAV0@ABV0@@Z @ 703 NONAME ; class QDeclarativeDomDocument & QDeclarativeDomDocument::operator=(class QDeclarativeDomDocument const &)
- ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@PAVQDeclarativeOpenMetaObjectType@@_N@Z @ 704 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, class QDeclarativeOpenMetaObjectType *, bool)
+ ??0QDeclarativeDebugQuery@@IAE@PAVQObject@@@Z @ 701 NONAME ABSENT ; QDeclarativeDebugQuery::QDeclarativeDebugQuery(class QObject *)
+ ?baselineOffset@QDeclarativeAnchors@@QBEMXZ @ 702 NONAME ABSENT ; float QDeclarativeAnchors::baselineOffset(void) const
+ ??4QDeclarativeDomDocument@@QAEAAV0@ABV0@@Z @ 703 NONAME ABSENT ; class QDeclarativeDomDocument & QDeclarativeDomDocument::operator=(class QDeclarativeDomDocument const &)
+ ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@PAVQDeclarativeOpenMetaObjectType@@_N@Z @ 704 NONAME ABSENT ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, class QDeclarativeOpenMetaObjectType *, bool)
?trUtf8@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 705 NONAME ; class QString QDeclarativeExpression::trUtf8(char const *, char const *)
- ??0QPacketProtocol@@QAE@PAVQIODevice@@PAVQObject@@@Z @ 706 NONAME ; QPacketProtocol::QPacketProtocol(class QIODevice *, class QObject *)
+ ??0QPacketProtocol@@QAE@PAVQIODevice@@PAVQObject@@@Z @ 706 NONAME ABSENT ; QPacketProtocol::QPacketProtocol(class QIODevice *, class QObject *)
??1QDeclarativeListReference@@QAE@XZ @ 707 NONAME ; QDeclarativeListReference::~QDeclarativeListReference(void)
?clearError@QDeclarativeExpression@@QAEXXZ @ 708 NONAME ; void QDeclarativeExpression::clearError(void)
- ?setLineNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 709 NONAME ; void QDeclarativeDebugFileReference::setLineNumber(int)
+ ?setLineNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 709 NONAME ABSENT ; void QDeclarativeDebugFileReference::setLineNumber(int)
?qt_metacall@QDeclarativeExtensionPlugin@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 710 NONAME ; int QDeclarativeExtensionPlugin::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?boundingRect@QDeclarativeText@@UBE?AVQRectF@@XZ @ 711 NONAME ; class QRectF QDeclarativeText::boundingRect(void) const
- ?setColor@QDeclarativePen@@QAEXABVQColor@@@Z @ 712 NONAME ; void QDeclarativePen::setColor(class QColor const &)
- ??0QDeclarativeDomImport@@QAE@XZ @ 713 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(void)
+ ?boundingRect@QDeclarativeText@@UBE?AVQRectF@@XZ @ 711 NONAME ABSENT ; class QRectF QDeclarativeText::boundingRect(void) const
+ ?setColor@QDeclarativePen@@QAEXABVQColor@@@Z @ 712 NONAME ABSENT ; void QDeclarativePen::setColor(class QColor const &)
+ ??0QDeclarativeDomImport@@QAE@XZ @ 713 NONAME ABSENT ; QDeclarativeDomImport::QDeclarativeDomImport(void)
?clearErrors@QDeclarativeCustomParser@@QAEXXZ @ 714 NONAME ; void QDeclarativeCustomParser::clearErrors(void)
- ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 715 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *, int)
- ?toRelocatableData@QMetaObjectBuilder@@QBE?AVQByteArray@@PA_N@Z @ 716 NONAME ; class QByteArray QMetaObjectBuilder::toRelocatableData(bool *) const
+ ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 715 NONAME ABSENT ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *, int)
+ ?toRelocatableData@QMetaObjectBuilder@@QBE?AVQByteArray@@PA_N@Z @ 716 NONAME ABSENT ; class QByteArray QMetaObjectBuilder::toRelocatableData(bool *) const
?qt_metacast@QDeclarativeView@@UAEPAXPBD@Z @ 717 NONAME ; void * QDeclarativeView::qt_metacast(char const *)
?mapToItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 718 NONAME ; class QScriptValue QDeclarativeItem::mapToItem(class QScriptValue const &, float, float) const
?setPluginPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 719 NONAME ; void QDeclarativeEngine::setPluginPathList(class QStringList const &)
?metaObject@QDeclarativeState@@UBEPBUQMetaObject@@XZ @ 720 NONAME ; struct QMetaObject const * QDeclarativeState::metaObject(void) const
- ?boundingRect@QDeclarativeRectangle@@UBE?AVQRectF@@XZ @ 721 NONAME ; class QRectF QDeclarativeRectangle::boundingRect(void) const
- ?uri@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 722 NONAME ; class QString QDeclarativeDomImport::uri(void) const
+ ?boundingRect@QDeclarativeRectangle@@UBE?AVQRectF@@XZ @ 721 NONAME ABSENT ; class QRectF QDeclarativeRectangle::boundingRect(void) const
+ ?uri@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 722 NONAME ABSENT ; class QString QDeclarativeDomImport::uri(void) const
?setContextProperty@QDeclarativeContext@@QAEXABVQString@@PAVQObject@@@Z @ 723 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QObject *)
?setBaseUrl@QDeclarativeEngine@@QAEXABVQUrl@@@Z @ 724 NONAME ; void QDeclarativeEngine::setBaseUrl(class QUrl const &)
- ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 725 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *, int)
- ?setScriptable@QMetaPropertyBuilder@@QAEX_N@Z @ 726 NONAME ; void QMetaPropertyBuilder::setScriptable(bool)
+ ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 725 NONAME ABSENT ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *, int)
+ ?setScriptable@QMetaPropertyBuilder@@QAEX_N@Z @ 726 NONAME ABSENT ; void QMetaPropertyBuilder::setScriptable(bool)
??0QDeclarativeProperty@@QAE@PAVQObject@@PAVQDeclarativeEngine@@@Z @ 727 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QDeclarativeEngine *)
- ?itemsInserted@QListModelInterface@@IAEXHH@Z @ 728 NONAME ; void QListModelInterface::itemsInserted(int, int)
- ?generateBorderedRect@QDeclarativeRectangle@@AAEXXZ @ 729 NONAME ; void QDeclarativeRectangle::generateBorderedRect(void)
- ?verticalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 730 NONAME ; void QDeclarativeAnchors::verticalCenterOffsetChanged(void)
+ ?itemsInserted@QListModelInterface@@IAEXHH@Z @ 728 NONAME ABSENT ; void QListModelInterface::itemsInserted(int, int)
+ ?generateBorderedRect@QDeclarativeRectangle@@AAEXXZ @ 729 NONAME ABSENT ; void QDeclarativeRectangle::generateBorderedRect(void)
+ ?verticalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 730 NONAME ABSENT ; void QDeclarativeAnchors::verticalCenterOffsetChanged(void)
?width@QDeclarativeItem@@QBEMXZ @ 731 NONAME ; float QDeclarativeItem::width(void) const
- ?isValueInterceptor@QDeclarativeDomValue@@QBE_NXZ @ 732 NONAME ; bool QDeclarativeDomValue::isValueInterceptor(void) const
+ ?isValueInterceptor@QDeclarativeDomValue@@QBE_NXZ @ 732 NONAME ABSENT ; bool QDeclarativeDomValue::isValueInterceptor(void) const
?transform_at@QDeclarativeItemPrivate@@SAPAVQGraphicsTransform@@PAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@H@Z @ 733 NONAME ; class QGraphicsTransform * QDeclarativeItemPrivate::transform_at(class QDeclarativeListProperty<class QGraphicsTransform> *, int)
- ??1QDeclarativeDomValueBinding@@QAE@XZ @ 734 NONAME ; QDeclarativeDomValueBinding::~QDeclarativeDomValueBinding(void)
- ?qt_metacast@QDeclarativeAnchors@@UAEPAXPBD@Z @ 735 NONAME ; void * QDeclarativeAnchors::qt_metacast(char const *)
- ?isInterface@QDeclarativeMetaType@@SA_NH@Z @ 736 NONAME ; bool QDeclarativeMetaType::isInterface(int)
- ?qt_metacall@QDeclarativeRectangle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 737 NONAME ; int QDeclarativeRectangle::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 738 NONAME ; class QString QDeclarativePen::trUtf8(char const *, char const *, int)
+ ??1QDeclarativeDomValueBinding@@QAE@XZ @ 734 NONAME ABSENT ; QDeclarativeDomValueBinding::~QDeclarativeDomValueBinding(void)
+ ?qt_metacast@QDeclarativeAnchors@@UAEPAXPBD@Z @ 735 NONAME ABSENT ; void * QDeclarativeAnchors::qt_metacast(char const *)
+ ?isInterface@QDeclarativeMetaType@@SA_NH@Z @ 736 NONAME ABSENT ; bool QDeclarativeMetaType::isInterface(int)
+ ?qt_metacall@QDeclarativeRectangle@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 737 NONAME ABSENT ; int QDeclarativeRectangle::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 738 NONAME ABSENT ; class QString QDeclarativePen::trUtf8(char const *, char const *, int)
??0Variant@QDeclarativeParser@@QAE@ABVQString@@PAVNode@AST@QDeclarativeJS@@@Z @ 739 NONAME ; QDeclarativeParser::Variant::Variant(class QString const &, class QDeclarativeJS::AST::Node *)
- ?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 740 NONAME ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const
- ?rightChanged@QDeclarativeAnchors@@IAEXXZ @ 741 NONAME ; void QDeclarativeAnchors::rightChanged(void)
+ ?rootObject@QDeclarativeDomDocument@@QBE?AVQDeclarativeDomObject@@XZ @ 740 NONAME ABSENT ; class QDeclarativeDomObject QDeclarativeDomDocument::rootObject(void) const
+ ?rightChanged@QDeclarativeAnchors@@IAEXXZ @ 741 NONAME ABSENT ; void QDeclarativeAnchors::rightChanged(void)
?isReady@QDeclarativePixmap@@QBE_NXZ @ 742 NONAME ; bool QDeclarativePixmap::isReady(void) const
??6QDeclarativeInfo@@QAEAAV0@ABVQByteArray@@@Z @ 743 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QByteArray const &)
?qt_metacast@QDeclarativeEngine@@UAEPAXPBD@Z @ 744 NONAME ; void * QDeclarativeEngine::qt_metacast(char const *)
- ?objectType@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 745 NONAME ; class QByteArray QDeclarativeDomObject::objectType(void) const
- ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 746 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QByteArray const &)
+ ?objectType@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 745 NONAME ABSENT ; class QByteArray QDeclarativeDomObject::objectType(void) const
+ ?addConstructor@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 746 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addConstructor(class QByteArray const &)
?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 747 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &, class QDeclarativeContext *)
- ?staticMetaObject@QDeclarativeDebugExpressionQuery@@2UQMetaObject@@B @ 748 NONAME ; struct QMetaObject const QDeclarativeDebugExpressionQuery::staticMetaObject
- ?queryRootContexts@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugRootContextQuery@@ABVQDeclarativeDebugEngineReference@@PAVQObject@@@Z @ 749 NONAME ; class QDeclarativeDebugRootContextQuery * QDeclarativeEngineDebug::queryRootContexts(class QDeclarativeDebugEngineReference const &, class QObject *)
- ?vector3DFromString@QDeclarativeStringConverters@@YA?AVQVector3D@@ABVQString@@PA_N@Z @ 750 NONAME ; class QVector3D QDeclarativeStringConverters::vector3DFromString(class QString const &, bool *)
+ ?staticMetaObject@QDeclarativeDebugExpressionQuery@@2UQMetaObject@@B @ 748 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugExpressionQuery::staticMetaObject
+ ?queryRootContexts@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugRootContextQuery@@ABVQDeclarativeDebugEngineReference@@PAVQObject@@@Z @ 749 NONAME ABSENT ; class QDeclarativeDebugRootContextQuery * QDeclarativeEngineDebug::queryRootContexts(class QDeclarativeDebugEngineReference const &, class QObject *)
+ ?vector3DFromString@QDeclarativeStringConverters@@YA?AVQVector3D@@ABVQString@@PA_N@Z @ 750 NONAME ABSENT ; class QVector3D QDeclarativeStringConverters::vector3DFromString(class QString const &, bool *)
?rootContext@QDeclarativeView@@QBEPAVQDeclarativeContext@@XZ @ 751 NONAME ; class QDeclarativeContext * QDeclarativeView::rootContext(void) const
- ??_EQDeclarativeDebugPropertyWatch@@UAE@I@Z @ 752 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(unsigned int)
- ?relatedMetaObjectCount@QMetaObjectBuilder@@QBEHXZ @ 753 NONAME ; int QMetaObjectBuilder::relatedMetaObjectCount(void) const
+ ??_EQDeclarativeDebugPropertyWatch@@UAE@I@Z @ 752 NONAME ABSENT ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(unsigned int)
+ ?relatedMetaObjectCount@QMetaObjectBuilder@@QBEHXZ @ 753 NONAME ABSENT ; int QMetaObjectBuilder::relatedMetaObjectCount(void) const
?script@QDeclarativeScriptString@@QBE?AVQString@@XZ @ 754 NONAME ; class QString QDeclarativeScriptString::script(void) const
- ?index@QMetaMethodBuilder@@QBEHXZ @ 755 NONAME ; int QMetaMethodBuilder::index(void) const
- ??4QDeclarativeDomValueBinding@@QAEAAV0@ABV0@@Z @ 756 NONAME ; class QDeclarativeDomValueBinding & QDeclarativeDomValueBinding::operator=(class QDeclarativeDomValueBinding const &)
+ ?index@QMetaMethodBuilder@@QBEHXZ @ 755 NONAME ABSENT ; int QMetaMethodBuilder::index(void) const
+ ??4QDeclarativeDomValueBinding@@QAEAAV0@ABV0@@Z @ 756 NONAME ABSENT ; class QDeclarativeDomValueBinding & QDeclarativeDomValueBinding::operator=(class QDeclarativeDomValueBinding const &)
??0QDeclarativeExpression@@QAE@XZ @ 757 NONAME ; QDeclarativeExpression::QDeclarativeExpression(void)
?paint@QDeclarativeItem@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 758 NONAME ; void QDeclarativeItem::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
- ?send@QPacketProtocol@@QAE?AVQPacketAutoSend@@XZ @ 759 NONAME ; class QPacketAutoSend QPacketProtocol::send(void)
- ?countChanged@QDeclarativeListModel@@IAEXXZ @ 760 NONAME ; void QDeclarativeListModel::countChanged(void)
- ??0QDeclarativeGridScaledImage@@QAE@PAVQIODevice@@@Z @ 761 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QIODevice *)
- ??_EQDeclarativeBinding@@UAE@I@Z @ 762 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(unsigned int)
- ?baseMetaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 763 NONAME ; struct QMetaObject const * QDeclarativeType::baseMetaObject(void) const
- ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 764 NONAME ; class QString QDeclarativeDebugConnection::tr(char const *, char const *)
- ?staticMetaObject@QDeclarativeBinding@@2UQMetaObject@@B @ 765 NONAME ; struct QMetaObject const QDeclarativeBinding::staticMetaObject
- ?qualifier@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 766 NONAME ; class QString QDeclarativeDomImport::qualifier(void) const
+ ?send@QPacketProtocol@@QAE?AVQPacketAutoSend@@XZ @ 759 NONAME ABSENT ; class QPacketAutoSend QPacketProtocol::send(void)
+ ?countChanged@QDeclarativeListModel@@IAEXXZ @ 760 NONAME ABSENT ; void QDeclarativeListModel::countChanged(void)
+ ??0QDeclarativeGridScaledImage@@QAE@PAVQIODevice@@@Z @ 761 NONAME ABSENT ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QIODevice *)
+ ??_EQDeclarativeBinding@@UAE@I@Z @ 762 NONAME ABSENT ; QDeclarativeBinding::~QDeclarativeBinding(unsigned int)
+ ?baseMetaObject@QDeclarativeType@@QBEPBUQMetaObject@@XZ @ 763 NONAME ABSENT ; struct QMetaObject const * QDeclarativeType::baseMetaObject(void) const
+ ?tr@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 764 NONAME ABSENT ; class QString QDeclarativeDebugConnection::tr(char const *, char const *)
+ ?staticMetaObject@QDeclarativeBinding@@2UQMetaObject@@B @ 765 NONAME ABSENT ; struct QMetaObject const QDeclarativeBinding::staticMetaObject
+ ?qualifier@QDeclarativeDomImport@@QBE?AVQString@@XZ @ 766 NONAME ABSENT ; class QString QDeclarativeDomImport::qualifier(void) const
??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@@Z @ 767 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeContext *)
- ?setSuperClass@QMetaObjectBuilder@@QAEXPBUQMetaObject@@@Z @ 768 NONAME ; void QMetaObjectBuilder::setSuperClass(struct QMetaObject const *)
+ ?setSuperClass@QMetaObjectBuilder@@QAEXPBUQMetaObject@@@Z @ 768 NONAME ABSENT ; void QMetaObjectBuilder::setSuperClass(struct QMetaObject const *)
?contains@QDeclarativePropertyMap@@QBE_NABVQString@@@Z @ 769 NONAME ; bool QDeclarativePropertyMap::contains(class QString const &) const
- ?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 770 NONAME ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *)
+ ?setGradient@QDeclarativeRectangle@@QAEXPAVQDeclarativeGradient@@@Z @ 770 NONAME ABSENT ; void QDeclarativeRectangle::setGradient(class QDeclarativeGradient *)
?metaObject@QDeclarativeTransition@@UBEPBUQMetaObject@@XZ @ 771 NONAME ; struct QMetaObject const * QDeclarativeTransition::metaObject(void) const
- ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PBUQMetaObject@@@Z @ 772 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(struct QMetaObject const *)
+ ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PBUQMetaObject@@@Z @ 772 NONAME ABSENT ; class QMetaMethod QDeclarativeMetaType::defaultMethod(struct QMetaObject const *)
?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0H@Z @ 773 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *, int)
- ?metaObject@QDeclarativeValueType@@UBEPBUQMetaObject@@XZ @ 774 NONAME ; struct QMetaObject const * QDeclarativeValueType::metaObject(void) const
+ ?metaObject@QDeclarativeValueType@@UBEPBUQMetaObject@@XZ @ 774 NONAME ABSENT ; struct QMetaObject const * QDeclarativeValueType::metaObject(void) const
?hasNotifySignal@QDeclarativeProperty@@QBE_NXZ @ 775 NONAME ; bool QDeclarativeProperty::hasNotifySignal(void) const
- ?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 776 NONAME ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const
+ ?create@QDeclarativeType@@QBEXPAPAVQObject@@PAPAXI@Z @ 776 NONAME ABSENT ; void QDeclarativeType::create(class QObject * *, void * *, unsigned int) const
?reversible@QDeclarativeTransition@@QBE_NXZ @ 777 NONAME ; bool QDeclarativeTransition::reversible(void) const
- ?invalidPacket@QPacketProtocol@@IAEXXZ @ 778 NONAME ; void QPacketProtocol::invalidPacket(void)
- ??0QDeclarativeDebugObjectReference@@QAE@H@Z @ 779 NONAME ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int)
- ?superClass@QMetaObjectBuilder@@QBEPBUQMetaObject@@XZ @ 780 NONAME ; struct QMetaObject const * QMetaObjectBuilder::superClass(void) const
+ ?invalidPacket@QPacketProtocol@@IAEXXZ @ 778 NONAME ABSENT ; void QPacketProtocol::invalidPacket(void)
+ ??0QDeclarativeDebugObjectReference@@QAE@H@Z @ 779 NONAME ABSENT ; QDeclarativeDebugObjectReference::QDeclarativeDebugObjectReference(int)
+ ?superClass@QMetaObjectBuilder@@QBEPBUQMetaObject@@XZ @ 780 NONAME ABSENT ; struct QMetaObject const * QMetaObjectBuilder::superClass(void) const
?isValid@QDeclarativeListReference@@QBE_NXZ @ 781 NONAME ; bool QDeclarativeListReference::isValid(void) const
?source@QDeclarativeView@@QBE?AVQUrl@@XZ @ 782 NONAME ; class QUrl QDeclarativeView::source(void) const
?method@QDeclarativeProperty@@QBE?AVQMetaMethod@@XZ @ 783 NONAME ; class QMetaMethod QDeclarativeProperty::method(void) const
??0QDeclarativeInfo@@QAE@ABV0@@Z @ 784 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfo const &)
- ?deleteFromBinding@QDeclarativeAction@@QAEXXZ @ 785 NONAME ; void QDeclarativeAction::deleteFromBinding(void)
+ ?deleteFromBinding@QDeclarativeAction@@QAEXXZ @ 785 NONAME ABSENT ; void QDeclarativeAction::deleteFromBinding(void)
?setClip@QDeclarativeItem@@QAEX_N@Z @ 786 NONAME ; void QDeclarativeItem::setClip(bool)
??4QDeclarativeCustomParserNode@@QAEAAV0@ABV0@@Z @ 787 NONAME ; class QDeclarativeCustomParserNode & QDeclarativeCustomParserNode::operator=(class QDeclarativeCustomParserNode const &)
- ?color@QDeclarativePen@@QBE?AVQColor@@XZ @ 788 NONAME ; class QColor QDeclarativePen::color(void) const
+ ?color@QDeclarativePen@@QBE?AVQColor@@XZ @ 788 NONAME ABSENT ; class QColor QDeclarativePen::color(void) const
?clear@QDeclarativePixmap@@QAEXXZ @ 789 NONAME ; void QDeclarativePixmap::clear(void)
- ?setDesignable@QMetaPropertyBuilder@@QAEX_N@Z @ 790 NONAME ; void QMetaPropertyBuilder::setDesignable(bool)
- ?setWrapMode@QDeclarativeText@@QAEXW4WrapMode@1@@Z @ 791 NONAME ; void QDeclarativeText::setWrapMode(enum QDeclarativeText::WrapMode)
- ?addClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@0@Z @ 792 NONAME ; int QMetaObjectBuilder::addClassInfo(class QByteArray const &, class QByteArray const &)
- ?qt_metacall@QDeclarativePen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 793 NONAME ; int QDeclarativePen::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?dynamicProperty@QDeclarativeDomObject@@QBE?AVQDeclarativeDomDynamicProperty@@ABVQByteArray@@@Z @ 794 NONAME ; class QDeclarativeDomDynamicProperty QDeclarativeDomObject::dynamicProperty(class QByteArray const &) const
- ??1QDeclarativeDomComponent@@QAE@XZ @ 795 NONAME ; QDeclarativeDomComponent::~QDeclarativeDomComponent(void)
- ?setRight@QDeclarativeScaleGrid@@QAEXH@Z @ 796 NONAME ; void QDeclarativeScaleGrid::setRight(int)
- ?isList@QDeclarativeMetaType@@SA_NH@Z @ 797 NONAME ; bool QDeclarativeMetaType::isList(int)
+ ?setDesignable@QMetaPropertyBuilder@@QAEX_N@Z @ 790 NONAME ABSENT ; void QMetaPropertyBuilder::setDesignable(bool)
+ ?setWrapMode@QDeclarativeText@@QAEXW4WrapMode@1@@Z @ 791 NONAME ABSENT ; void QDeclarativeText::setWrapMode(enum QDeclarativeText::WrapMode)
+ ?addClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@0@Z @ 792 NONAME ABSENT ; int QMetaObjectBuilder::addClassInfo(class QByteArray const &, class QByteArray const &)
+ ?qt_metacall@QDeclarativePen@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 793 NONAME ABSENT ; int QDeclarativePen::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?dynamicProperty@QDeclarativeDomObject@@QBE?AVQDeclarativeDomDynamicProperty@@ABVQByteArray@@@Z @ 794 NONAME ABSENT ; class QDeclarativeDomDynamicProperty QDeclarativeDomObject::dynamicProperty(class QByteArray const &) const
+ ??1QDeclarativeDomComponent@@QAE@XZ @ 795 NONAME ABSENT ; QDeclarativeDomComponent::~QDeclarativeDomComponent(void)
+ ?setRight@QDeclarativeScaleGrid@@QAEXH@Z @ 796 NONAME ABSENT ; void QDeclarativeScaleGrid::setRight(int)
+ ?isList@QDeclarativeMetaType@@SA_NH@Z @ 797 NONAME ABSENT ; bool QDeclarativeMetaType::isList(int)
??6QDeclarativeInfo@@QAEAAV0@VQTextStreamManipulator@@@Z @ 798 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStreamManipulator)
?index@QDeclarativeProperty@@QBEHXZ @ 799 NONAME ; int QDeclarativeProperty::index(void) const
- ?d_func@QMetaPropertyBuilder@@ABEPAVQMetaPropertyBuilderPrivate@@XZ @ 800 NONAME ; class QMetaPropertyBuilderPrivate * QMetaPropertyBuilder::d_func(void) const
- ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 801 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *, int)
- ?setEnabled@QDeclarativeAbstractBinding@@QAEX_N@Z @ 802 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool)
- ?returnType@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 803 NONAME ; class QByteArray QMetaMethodBuilder::returnType(void) const
- ?propertyValueSourceCast@QDeclarativeType@@QBEHXZ @ 804 NONAME ; int QDeclarativeType::propertyValueSourceCast(void) const
- ?mousePressEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 805 NONAME ; void QDeclarativeText::mousePressEvent(class QGraphicsSceneMouseEvent *)
- ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 806 NONAME ; class QString QDeclarativeText::trUtf8(char const *, char const *)
- ?constructor@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 807 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::constructor(int) const
- ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PAVQObject@@@Z @ 808 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(class QObject *)
+ ?d_func@QMetaPropertyBuilder@@ABEPAVQMetaPropertyBuilderPrivate@@XZ @ 800 NONAME ABSENT ; class QMetaPropertyBuilderPrivate * QMetaPropertyBuilder::d_func(void) const
+ ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0H@Z @ 801 NONAME ABSENT ; class QString QDeclarativeScaleGrid::tr(char const *, char const *, int)
+ ?setEnabled@QDeclarativeAbstractBinding@@QAEX_N@Z @ 802 NONAME ABSENT ; void QDeclarativeAbstractBinding::setEnabled(bool)
+ ?returnType@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 803 NONAME ABSENT ; class QByteArray QMetaMethodBuilder::returnType(void) const
+ ?propertyValueSourceCast@QDeclarativeType@@QBEHXZ @ 804 NONAME ABSENT ; int QDeclarativeType::propertyValueSourceCast(void) const
+ ?mousePressEvent@QDeclarativeText@@MAEXPAVQGraphicsSceneMouseEvent@@@Z @ 805 NONAME ABSENT ; void QDeclarativeText::mousePressEvent(class QGraphicsSceneMouseEvent *)
+ ?trUtf8@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 806 NONAME ABSENT ; class QString QDeclarativeText::trUtf8(char const *, char const *)
+ ?constructor@QMetaObjectBuilder@@QBE?AVQMetaMethodBuilder@@H@Z @ 807 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::constructor(int) const
+ ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PAVQObject@@@Z @ 808 NONAME ABSENT ; class QMetaProperty QDeclarativeMetaType::defaultProperty(class QObject *)
?resetHeight@QDeclarativeItemPrivate@@UAEXXZ @ 809 NONAME ; void QDeclarativeItemPrivate::resetHeight(void)
- ?qt_metacast@QDeclarativeDebugPropertyWatch@@UAEPAXPBD@Z @ 810 NONAME ; void * QDeclarativeDebugPropertyWatch::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugPropertyWatch@@UAEPAXPBD@Z @ 810 NONAME ABSENT ; void * QDeclarativeDebugPropertyWatch::qt_metacast(char const *)
??1QDeclarativeStateOperation@@UAE@XZ @ 811 NONAME ; QDeclarativeStateOperation::~QDeclarativeStateOperation(void)
- ??_EQDeclarativeDebugQuery@@UAE@I@Z @ 812 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(unsigned int)
- ?update@QDeclarativeAbstractBinding@@QAEXXZ @ 813 NONAME ; void QDeclarativeAbstractBinding::update(void)
- ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 814 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *, int)
- ?read@QPacketProtocol@@QAE?AVQPacket@@XZ @ 815 NONAME ; class QPacket QPacketProtocol::read(void)
+ ??_EQDeclarativeDebugQuery@@UAE@I@Z @ 812 NONAME ABSENT ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(unsigned int)
+ ?update@QDeclarativeAbstractBinding@@QAEXXZ @ 813 NONAME ABSENT ; void QDeclarativeAbstractBinding::update(void)
+ ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0H@Z @ 814 NONAME ABSENT ; class QString QDeclarativeBehavior::tr(char const *, char const *, int)
+ ?read@QPacketProtocol@@QAE?AVQPacket@@XZ @ 815 NONAME ABSENT ; class QPacket QPacketProtocol::read(void)
?setParentItem@QDeclarativeItem@@QAEXPAV1@@Z @ 816 NONAME ; void QDeclarativeItem::setParentItem(class QDeclarativeItem *)
?qmlAttachedProperties@QDeclarativeComponent@@SAPAVQDeclarativeComponentAttached@@PAVQObject@@@Z @ 817 NONAME ; class QDeclarativeComponentAttached * QDeclarativeComponent::qmlAttachedProperties(class QObject *)
??0QDeclarativeView@@QAE@ABVQUrl@@PAVQWidget@@@Z @ 818 NONAME ; QDeclarativeView::QDeclarativeView(class QUrl const &, class QWidget *)
?valueChanged@QDeclarativeExpression@@IAEXXZ @ 819 NONAME ; void QDeclarativeExpression::valueChanged(void)
??_EQDeclarativeView@@UAE@I@Z @ 820 NONAME ; QDeclarativeView::~QDeclarativeView(unsigned int)
?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0H@Z @ 821 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *, int)
- ?tag@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 822 NONAME ; class QByteArray QMetaMethodBuilder::tag(void) const
- ?getStaticMetaObject@QPacketProtocol@@SAABUQMetaObject@@XZ @ 823 NONAME ; struct QMetaObject const & QPacketProtocol::getStaticMetaObject(void)
+ ?tag@QMetaMethodBuilder@@QBE?AVQByteArray@@XZ @ 822 NONAME ABSENT ; class QByteArray QMetaMethodBuilder::tag(void) const
+ ?getStaticMetaObject@QPacketProtocol@@SAABUQMetaObject@@XZ @ 823 NONAME ABSENT ; struct QMetaObject const & QPacketProtocol::getStaticMetaObject(void)
?setContext@QDeclarativeScriptString@@QAEXPAVQDeclarativeContext@@@Z @ 824 NONAME ; void QDeclarativeScriptString::setContext(class QDeclarativeContext *)
?addImageProvider@QDeclarativeEngine@@QAEXABVQString@@PAVQDeclarativeImageProvider@@@Z @ 825 NONAME ; void QDeclarativeEngine::addImageProvider(class QString const &, class QDeclarativeImageProvider *)
?d_func@QDeclarativeStateGroup@@ABEPBVQDeclarativeStateGroupPrivate@@XZ @ 826 NONAME ; class QDeclarativeStateGroupPrivate const * QDeclarativeStateGroup::d_func(void) const
?stateChanged@QDeclarativeItem@@IAEXABVQString@@@Z @ 827 NONAME ; void QDeclarativeItem::stateChanged(class QString const &)
- ?horizontalAlignmentChanged@QDeclarativeText@@IAEXW4HAlignment@1@@Z @ 828 NONAME ; void QDeclarativeText::horizontalAlignmentChanged(enum QDeclarativeText::HAlignment)
- ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 829 NONAME ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData &)
- ?setDynamic@QMetaPropertyBuilder@@QAEX_N@Z @ 830 NONAME ; void QMetaPropertyBuilder::setDynamic(bool)
+ ?horizontalAlignmentChanged@QDeclarativeText@@IAEXW4HAlignment@1@@Z @ 828 NONAME ABSENT ; void QDeclarativeText::horizontalAlignmentChanged(enum QDeclarativeText::HAlignment)
+ ??5@YAAAVQDataStream@@AAV0@AAUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 829 NONAME ABSENT ; class QDataStream & operator>>(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData &)
+ ?setDynamic@QMetaPropertyBuilder@@QAEX_N@Z @ 830 NONAME ABSENT ; void QMetaPropertyBuilder::setDynamic(bool)
?pixmap@QDeclarativePixmap@@QBEABVQPixmap@@XZ @ 831 NONAME ; class QPixmap const & QDeclarativePixmap::pixmap(void) const
?d_func@QDeclarativeEngine@@ABEPBVQDeclarativeEnginePrivate@@XZ @ 832 NONAME ; class QDeclarativeEnginePrivate const * QDeclarativeEngine::d_func(void) const
- ?toBinding@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueBinding@@XZ @ 833 NONAME ; class QDeclarativeDomValueBinding QDeclarativeDomValue::toBinding(void) const
+ ?toBinding@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueBinding@@XZ @ 833 NONAME ABSENT ; class QDeclarativeDomValueBinding QDeclarativeDomValue::toBinding(void) const
?removeImageProvider@QDeclarativeEngine@@QAEXABVQString@@@Z @ 834 NONAME ; void QDeclarativeEngine::removeImageProvider(class QString const &)
- ?horizontalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 835 NONAME ; void QDeclarativeAnchors::horizontalCenterOffsetChanged(void)
+ ?horizontalCenterOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 835 NONAME ABSENT ; void QDeclarativeAnchors::horizontalCenterOffsetChanged(void)
?tr@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 836 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *)
?d_func@QDeclarativeItem@@ABEPBVQDeclarativeItemPrivate@@XZ @ 837 NONAME ; class QDeclarativeItemPrivate const * QDeclarativeItem::d_func(void) const
- ?isUser@QMetaPropertyBuilder@@QBE_NXZ @ 838 NONAME ; bool QMetaPropertyBuilder::isUser(void) const
- ?doUpdate@QDeclarativeRectangle@@AAEXXZ @ 839 NONAME ; void QDeclarativeRectangle::doUpdate(void)
+ ?isUser@QMetaPropertyBuilder@@QBE_NXZ @ 838 NONAME ABSENT ; bool QMetaPropertyBuilder::isUser(void) const
+ ?doUpdate@QDeclarativeRectangle@@AAEXXZ @ 839 NONAME ABSENT ; void QDeclarativeRectangle::doUpdate(void)
?qmlExecuteDeferred@@YAXPAVQObject@@@Z @ 840 NONAME ; void qmlExecuteDeferred(class QObject *)
?setImplicitHeight@QDeclarativeItem@@IAEXM@Z @ 841 NONAME ; void QDeclarativeItem::setImplicitHeight(float)
- ?horizontalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 842 NONAME ; float QDeclarativeAnchors::horizontalCenterOffset(void) const
- ?resetRight@QDeclarativeAnchors@@QAEXXZ @ 843 NONAME ; void QDeclarativeAnchors::resetRight(void)
+ ?horizontalCenterOffset@QDeclarativeAnchors@@QBEMXZ @ 842 NONAME ABSENT ; float QDeclarativeAnchors::horizontalCenterOffset(void) const
+ ?resetRight@QDeclarativeAnchors@@QAEXXZ @ 843 NONAME ABSENT ; void QDeclarativeAnchors::resetRight(void)
??6QDeclarativeInfo@@QAEAAV0@J@Z @ 844 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(long)
?isReady@QDeclarativeComponent@@QBE_NXZ @ 845 NONAME ; bool QDeclarativeComponent::isReady(void) const
- ??4QDeclarativeDebugObjectReference@@QAEAAV0@ABV0@@Z @ 846 NONAME ; class QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(class QDeclarativeDebugObjectReference const &)
- ??1QDeclarativeDomDynamicProperty@@QAE@XZ @ 847 NONAME ; QDeclarativeDomDynamicProperty::~QDeclarativeDomDynamicProperty(void)
- ??1QDeclarativeBehavior@@UAE@XZ @ 848 NONAME ; QDeclarativeBehavior::~QDeclarativeBehavior(void)
+ ??4QDeclarativeDebugObjectReference@@QAEAAV0@ABV0@@Z @ 846 NONAME ABSENT ; class QDeclarativeDebugObjectReference & QDeclarativeDebugObjectReference::operator=(class QDeclarativeDebugObjectReference const &)
+ ??1QDeclarativeDomDynamicProperty@@QAE@XZ @ 847 NONAME ABSENT ; QDeclarativeDomDynamicProperty::~QDeclarativeDomDynamicProperty(void)
+ ??1QDeclarativeBehavior@@UAE@XZ @ 848 NONAME ABSENT ; QDeclarativeBehavior::~QDeclarativeBehavior(void)
?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@@Z @ 849 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *)
- ?qt_metacall@QDeclarativeDebugClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 850 NONAME ; int QDeclarativeDebugClient::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?d_func@QDeclarativeDebugService@@ABEPBVQDeclarativeDebugServicePrivate@@XZ @ 851 NONAME ; class QDeclarativeDebugServicePrivate const * QDeclarativeDebugService::d_func(void) const
- ??1QDeclarativeDebugQuery@@UAE@XZ @ 852 NONAME ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(void)
+ ?qt_metacall@QDeclarativeDebugClient@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 850 NONAME ABSENT ; int QDeclarativeDebugClient::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?d_func@QDeclarativeDebugService@@ABEPBVQDeclarativeDebugServicePrivate@@XZ @ 851 NONAME ABSENT ; class QDeclarativeDebugServicePrivate const * QDeclarativeDebugService::d_func(void) const
+ ??1QDeclarativeDebugQuery@@UAE@XZ @ 852 NONAME ABSENT ; QDeclarativeDebugQuery::~QDeclarativeDebugQuery(void)
?data_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 853 NONAME ; void QDeclarativeItemPrivate::data_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
?tr@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 854 NONAME ; class QString QDeclarativeState::tr(char const *, char const *)
- ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 855 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *, int)
- ?createProperty@QDeclarativeOpenMetaObject@@MAEHPBD0@Z @ 856 NONAME ; int QDeclarativeOpenMetaObject::createProperty(char const *, char const *)
- ?bottomMargin@QDeclarativeAnchors@@QBEMXZ @ 857 NONAME ; float QDeclarativeAnchors::bottomMargin(void) const
+ ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0H@Z @ 855 NONAME ABSENT ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *, int)
+ ?createProperty@QDeclarativeOpenMetaObject@@MAEHPBD0@Z @ 856 NONAME ABSENT ; int QDeclarativeOpenMetaObject::createProperty(char const *, char const *)
+ ?bottomMargin@QDeclarativeAnchors@@QBEMXZ @ 857 NONAME ABSENT ; float QDeclarativeAnchors::bottomMargin(void) const
?q_func@QDeclarativeItemPrivate@@AAEPAVQDeclarativeItem@@XZ @ 858 NONAME ; class QDeclarativeItem * QDeclarativeItemPrivate::q_func(void)
- ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 859 NONAME ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *)
- ??1QDeclarativeDomList@@QAE@XZ @ 860 NONAME ; QDeclarativeDomList::~QDeclarativeDomList(void)
- ??0QDeclarativeOpenMetaObjectType@@QAE@PBUQMetaObject@@PAVQDeclarativeEngine@@@Z @ 861 NONAME ; QDeclarativeOpenMetaObjectType::QDeclarativeOpenMetaObjectType(struct QMetaObject const *, class QDeclarativeEngine *)
- ?removeProperty@QMetaObjectBuilder@@QAEXH@Z @ 862 NONAME ; void QMetaObjectBuilder::removeProperty(int)
- ?staticMetaObject@QDeclarativeScaleGrid@@2UQMetaObject@@B @ 863 NONAME ; struct QMetaObject const QDeclarativeScaleGrid::staticMetaObject
- ??0QDeclarativeDomObject@@QAE@ABV0@@Z @ 864 NONAME ; QDeclarativeDomObject::QDeclarativeDomObject(class QDeclarativeDomObject const &)
- ?qt_metacast@QDeclarativeDebugWatch@@UAEPAXPBD@Z @ 865 NONAME ; void * QDeclarativeDebugWatch::qt_metacast(char const *)
+ ?trUtf8@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 859 NONAME ABSENT ; class QString QDeclarativeScaleGrid::trUtf8(char const *, char const *)
+ ??1QDeclarativeDomList@@QAE@XZ @ 860 NONAME ABSENT ; QDeclarativeDomList::~QDeclarativeDomList(void)
+ ??0QDeclarativeOpenMetaObjectType@@QAE@PBUQMetaObject@@PAVQDeclarativeEngine@@@Z @ 861 NONAME ABSENT ; QDeclarativeOpenMetaObjectType::QDeclarativeOpenMetaObjectType(struct QMetaObject const *, class QDeclarativeEngine *)
+ ?removeProperty@QMetaObjectBuilder@@QAEXH@Z @ 862 NONAME ABSENT ; void QMetaObjectBuilder::removeProperty(int)
+ ?staticMetaObject@QDeclarativeScaleGrid@@2UQMetaObject@@B @ 863 NONAME ABSENT ; struct QMetaObject const QDeclarativeScaleGrid::staticMetaObject
+ ??0QDeclarativeDomObject@@QAE@ABV0@@Z @ 864 NONAME ABSENT ; QDeclarativeDomObject::QDeclarativeDomObject(class QDeclarativeDomObject const &)
+ ?qt_metacast@QDeclarativeDebugWatch@@UAEPAXPBD@Z @ 865 NONAME ABSENT ; void * QDeclarativeDebugWatch::qt_metacast(char const *)
?implicitHeight@QDeclarativeItem@@QBEMXZ @ 866 NONAME ; float QDeclarativeItem::implicitHeight(void) const
- ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 867 NONAME ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 867 NONAME ABSENT ; class QString QDeclarativeDebugPropertyWatch::trUtf8(char const *, char const *)
??6@YA?AVQDebug@@V0@ABVQDeclarativeError@@@Z @ 868 NONAME ; class QDebug operator<<(class QDebug, class QDeclarativeError const &)
?setContextProperty@QDeclarativeContext@@QAEXABVQString@@ABVQVariant@@@Z @ 869 NONAME ; void QDeclarativeContext::setContextProperty(class QString const &, class QVariant const &)
- ?imports@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeDomImport@@@@XZ @ 870 NONAME ; class QList<class QDeclarativeDomImport> QDeclarativeDomDocument::imports(void) const
+ ?imports@QDeclarativeDomDocument@@QBE?AV?$QList@VQDeclarativeDomImport@@@@XZ @ 870 NONAME ABSENT ; class QList<class QDeclarativeDomImport> QDeclarativeDomDocument::imports(void) const
?tr@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 871 NONAME ; class QString QDeclarativeExtensionPlugin::tr(char const *, char const *)
- ?getStaticMetaObject@QDeclarativePen@@SAABUQMetaObject@@XZ @ 872 NONAME ; struct QMetaObject const & QDeclarativePen::getStaticMetaObject(void)
- ?penChanged@QDeclarativePen@@IAEXXZ @ 873 NONAME ; void QDeclarativePen::penChanged(void)
- ?propertyTypeName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 874 NONAME ; class QByteArray QDeclarativeDomDynamicProperty::propertyTypeName(void) const
- ?position@QDeclarativeDomValue@@QBEHXZ @ 875 NONAME ; int QDeclarativeDomValue::position(void) const
+ ?getStaticMetaObject@QDeclarativePen@@SAABUQMetaObject@@XZ @ 872 NONAME ABSENT ; struct QMetaObject const & QDeclarativePen::getStaticMetaObject(void)
+ ?penChanged@QDeclarativePen@@IAEXXZ @ 873 NONAME ABSENT ; void QDeclarativePen::penChanged(void)
+ ?propertyTypeName@QDeclarativeDomDynamicProperty@@QBE?AVQByteArray@@XZ @ 874 NONAME ABSENT ; class QByteArray QDeclarativeDomDynamicProperty::propertyTypeName(void) const
+ ?position@QDeclarativeDomValue@@QBEHXZ @ 875 NONAME ABSENT ; int QDeclarativeDomValue::position(void) const
?setWidth@QDeclarativeItemPrivate@@UAEXM@Z @ 876 NONAME ; void QDeclarativeItemPrivate::setWidth(float)
- ?staticMetaObject@QDeclarativeDebugWatch@@2UQMetaObject@@B @ 877 NONAME ; struct QMetaObject const QDeclarativeDebugWatch::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugWatch@@2UQMetaObject@@B @ 877 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugWatch::staticMetaObject
??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@@Z @ 878 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &)
??_EQDeclarativeContext@@UAE@I@Z @ 879 NONAME ; QDeclarativeContext::~QDeclarativeContext(unsigned int)
- ?staticMetaObject@QDeclarativeDebugQuery@@2UQMetaObject@@B @ 880 NONAME ; struct QMetaObject const QDeclarativeDebugQuery::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugQuery@@2UQMetaObject@@B @ 880 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugQuery::staticMetaObject
??0QDeclarativeExtensionPlugin@@QAE@PAVQObject@@@Z @ 881 NONAME ; QDeclarativeExtensionPlugin::QDeclarativeExtensionPlugin(class QObject *)
- ?resetBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@@Z @ 882 NONAME ; bool QDeclarativeEngineDebug::resetBindingForObject(int, class QString const &)
- ??_EQDeclarativeOpenMetaObject@@UAE@I@Z @ 883 NONAME ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(unsigned int)
+ ?resetBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@@Z @ 882 NONAME ABSENT ; bool QDeclarativeEngineDebug::resetBindingForObject(int, class QString const &)
+ ??_EQDeclarativeOpenMetaObject@@UAE@I@Z @ 883 NONAME ABSENT ; QDeclarativeOpenMetaObject::~QDeclarativeOpenMetaObject(unsigned int)
?states@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeState@@@@XZ @ 884 NONAME ; class QDeclarativeListProperty<class QDeclarativeState> QDeclarativeItemPrivate::states(void)
- ?rawMetaObjectForType@QDeclarativePropertyPrivate@@SAPBUQMetaObject@@PAVQDeclarativeEnginePrivate@@H@Z @ 885 NONAME ; struct QMetaObject const * QDeclarativePropertyPrivate::rawMetaObjectForType(class QDeclarativeEnginePrivate *, int)
+ ?rawMetaObjectForType@QDeclarativePropertyPrivate@@SAPBUQMetaObject@@PAVQDeclarativeEnginePrivate@@H@Z @ 885 NONAME ABSENT ; struct QMetaObject const * QDeclarativePropertyPrivate::rawMetaObjectForType(class QDeclarativeEnginePrivate *, int)
?setHeight@QDeclarativeItem@@QAEXM@Z @ 886 NONAME ; void QDeclarativeItem::setHeight(float)
- ??0QDeclarativeDomDocument@@QAE@ABV0@@Z @ 887 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(class QDeclarativeDomDocument const &)
- ?position@QDeclarativeDomDynamicProperty@@QBEHXZ @ 888 NONAME ; int QDeclarativeDomDynamicProperty::position(void) const
+ ??0QDeclarativeDomDocument@@QAE@ABV0@@Z @ 887 NONAME ABSENT ; QDeclarativeDomDocument::QDeclarativeDomDocument(class QDeclarativeDomDocument const &)
+ ?position@QDeclarativeDomDynamicProperty@@QBEHXZ @ 888 NONAME ABSENT ; int QDeclarativeDomDynamicProperty::position(void) const
?animations@QDeclarativeTransition@@QAE?AV?$QDeclarativeListProperty@VQDeclarativeAbstractAnimation@@@@XZ @ 889 NONAME ; class QDeclarativeListProperty<class QDeclarativeAbstractAnimation> QDeclarativeTransition::animations(void)
?tr@QDeclarativeExpression@@SA?AVQString@@PBD0H@Z @ 890 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *, int)
- ??_EQMetaObjectBuilder@@UAE@I@Z @ 891 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(unsigned int)
- ?propertyName@QDeclarativeDomProperty@@QBE?AVQByteArray@@XZ @ 892 NONAME ; class QByteArray QDeclarativeDomProperty::propertyName(void) const
- ?setBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@ABVQVariant@@_N@Z @ 893 NONAME ; bool QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool)
+ ??_EQMetaObjectBuilder@@UAE@I@Z @ 891 NONAME ABSENT ; QMetaObjectBuilder::~QMetaObjectBuilder(unsigned int)
+ ?propertyName@QDeclarativeDomProperty@@QBE?AVQByteArray@@XZ @ 892 NONAME ABSENT ; class QByteArray QDeclarativeDomProperty::propertyName(void) const
+ ?setBindingForObject@QDeclarativeEngineDebug@@QAE_NHABVQString@@ABVQVariant@@_N@Z @ 893 NONAME ABSENT ; bool QDeclarativeEngineDebug::setBindingForObject(int, class QString const &, class QVariant const &, bool)
??0QDeclarativeView@@QAE@PAVQWidget@@@Z @ 894 NONAME ; QDeclarativeView::QDeclarativeView(class QWidget *)
?createObject@QDeclarativeComponent@@IAE?AVQScriptValue@@PAVQObject@@@Z @ 895 NONAME ; class QScriptValue QDeclarativeComponent::createObject(class QObject *)
- ?name@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 896 NONAME ; class QString QDeclarativeDebugPropertyReference::name(void) const
- ?object@QDeclarativeDomValueValueSource@@QBE?AVQDeclarativeDomObject@@XZ @ 897 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueSource::object(void) const
- ??0QMetaPropertyBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 898 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(class QMetaObjectBuilder const *, int)
- ?d_func@QDeclarativeEngineDebug@@ABEPBVQDeclarativeEngineDebugPrivate@@XZ @ 899 NONAME ; class QDeclarativeEngineDebugPrivate const * QDeclarativeEngineDebug::d_func(void) const
- ?d_func@QDeclarativeBinding@@AAEPAVQDeclarativeBindingPrivate@@XZ @ 900 NONAME ; class QDeclarativeBindingPrivate * QDeclarativeBinding::d_func(void)
- ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 901 NONAME ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *, int)
- ?attachedPropertiesFuncId@QDeclarativeMetaType@@SAHPBUQMetaObject@@@Z @ 902 NONAME ; int QDeclarativeMetaType::attachedPropertiesFuncId(struct QMetaObject const *)
+ ?name@QDeclarativeDebugPropertyReference@@QBE?AVQString@@XZ @ 896 NONAME ABSENT ; class QString QDeclarativeDebugPropertyReference::name(void) const
+ ?object@QDeclarativeDomValueValueSource@@QBE?AVQDeclarativeDomObject@@XZ @ 897 NONAME ABSENT ; class QDeclarativeDomObject QDeclarativeDomValueValueSource::object(void) const
+ ??0QMetaPropertyBuilder@@AAE@PBVQMetaObjectBuilder@@H@Z @ 898 NONAME ABSENT ; QMetaPropertyBuilder::QMetaPropertyBuilder(class QMetaObjectBuilder const *, int)
+ ?d_func@QDeclarativeEngineDebug@@ABEPBVQDeclarativeEngineDebugPrivate@@XZ @ 899 NONAME ABSENT ; class QDeclarativeEngineDebugPrivate const * QDeclarativeEngineDebug::d_func(void) const
+ ?d_func@QDeclarativeBinding@@AAEPAVQDeclarativeBindingPrivate@@XZ @ 900 NONAME ABSENT ; class QDeclarativeBindingPrivate * QDeclarativeBinding::d_func(void)
+ ?trUtf8@QDeclarativeDebugExpressionQuery@@SA?AVQString@@PBD0H@Z @ 901 NONAME ABSENT ; class QString QDeclarativeDebugExpressionQuery::trUtf8(char const *, char const *, int)
+ ?attachedPropertiesFuncId@QDeclarativeMetaType@@SAHPBUQMetaObject@@@Z @ 902 NONAME ABSENT ; int QDeclarativeMetaType::attachedPropertiesFuncId(struct QMetaObject const *)
?horizontalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 903 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::horizontalCenter(void) const
?isNull@QDeclarativeComponent@@QBE_NXZ @ 904 NONAME ; bool QDeclarativeComponent::isNull(void) const
- ?d_func@QDeclarativeRectangle@@ABEPBVQDeclarativeRectanglePrivate@@XZ @ 905 NONAME ; class QDeclarativeRectanglePrivate const * QDeclarativeRectangle::d_func(void) const
- ?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 906 NONAME ; void QDeclarativeAnchors::setRightMargin(float)
- ?className@QMetaObjectBuilder@@QBE?AVQByteArray@@XZ @ 907 NONAME ; class QByteArray QMetaObjectBuilder::className(void) const
+ ?d_func@QDeclarativeRectangle@@ABEPBVQDeclarativeRectanglePrivate@@XZ @ 905 NONAME ABSENT ; class QDeclarativeRectanglePrivate const * QDeclarativeRectangle::d_func(void) const
+ ?setRightMargin@QDeclarativeAnchors@@QAEXM@Z @ 906 NONAME ABSENT ; void QDeclarativeAnchors::setRightMargin(float)
+ ?className@QMetaObjectBuilder@@QBE?AVQByteArray@@XZ @ 907 NONAME ABSENT ; class QByteArray QMetaObjectBuilder::className(void) const
??0QDeclarativeState@@QAE@PAVQObject@@@Z @ 908 NONAME ; QDeclarativeState::QDeclarativeState(class QObject *)
- ?contexts@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugContextReference@@@@XZ @ 909 NONAME ; class QList<class QDeclarativeDebugContextReference> QDeclarativeDebugContextReference::contexts(void) const
+ ?contexts@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugContextReference@@@@XZ @ 909 NONAME ABSENT ; class QList<class QDeclarativeDebugContextReference> QDeclarativeDebugContextReference::contexts(void) const
?keyReleaseEvent@QDeclarativeItem@@MAEXPAVQKeyEvent@@@Z @ 910 NONAME ; void QDeclarativeItem::keyReleaseEvent(class QKeyEvent *)
- ?qt_metacall@QDeclarativeAnchors@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 911 NONAME ; int QDeclarativeAnchors::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0QDeclarativeAnchors@@QAE@PAVQGraphicsObject@@PAVQObject@@@Z @ 912 NONAME ; QDeclarativeAnchors::QDeclarativeAnchors(class QGraphicsObject *, class QObject *)
+ ?qt_metacall@QDeclarativeAnchors@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 911 NONAME ABSENT ; int QDeclarativeAnchors::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??0QDeclarativeAnchors@@QAE@PAVQGraphicsObject@@PAVQObject@@@Z @ 912 NONAME ABSENT ; QDeclarativeAnchors::QDeclarativeAnchors(class QGraphicsObject *, class QObject *)
??4QDeclarativeScriptString@@QAEAAV0@ABV0@@Z @ 913 NONAME ; class QDeclarativeScriptString & QDeclarativeScriptString::operator=(class QDeclarativeScriptString const &)
- ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 914 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty const &)
- ?hasNotifySignal@QMetaPropertyBuilder@@QBE_NXZ @ 915 NONAME ; bool QMetaPropertyBuilder::hasNotifySignal(void) const
- ??4QDeclarativeDomImport@@QAEAAV0@ABV0@@Z @ 916 NONAME ; class QDeclarativeDomImport & QDeclarativeDomImport::operator=(class QDeclarativeDomImport const &)
- ?resetFill@QDeclarativeAnchors@@QAEXXZ @ 917 NONAME ; void QDeclarativeAnchors::resetFill(void)
+ ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectProperty@QDeclarativeEngineDebugServer@@@Z @ 914 NONAME ABSENT ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectProperty const &)
+ ?hasNotifySignal@QMetaPropertyBuilder@@QBE_NXZ @ 915 NONAME ABSENT ; bool QMetaPropertyBuilder::hasNotifySignal(void) const
+ ??4QDeclarativeDomImport@@QAEAAV0@ABV0@@Z @ 916 NONAME ABSENT ; class QDeclarativeDomImport & QDeclarativeDomImport::operator=(class QDeclarativeDomImport const &)
+ ?resetFill@QDeclarativeAnchors@@QAEXXZ @ 917 NONAME ABSENT ; void QDeclarativeAnchors::resetFill(void)
??6QDeclarativeInfo@@QAEAAV0@_K@Z @ 918 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned long long)
?d_func@QDeclarativeComponent@@ABEPBVQDeclarativeComponentPrivate@@XZ @ 919 NONAME ; class QDeclarativeComponentPrivate const * QDeclarativeComponent::d_func(void) const
- ??0QDeclarativeBehavior@@QAE@PAVQObject@@@Z @ 920 NONAME ; QDeclarativeBehavior::QDeclarativeBehavior(class QObject *)
- ?length@QDeclarativeDomValue@@QBEHXZ @ 921 NONAME ; int QDeclarativeDomValue::length(void) const
- ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 922 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *, int)
- ??0QDeclarativeType@@AAE@HABURegisterInterface@QDeclarativePrivate@@@Z @ 923 NONAME ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterInterface const &)
+ ??0QDeclarativeBehavior@@QAE@PAVQObject@@@Z @ 920 NONAME ABSENT ; QDeclarativeBehavior::QDeclarativeBehavior(class QObject *)
+ ?length@QDeclarativeDomValue@@QBEHXZ @ 921 NONAME ABSENT ; int QDeclarativeDomValue::length(void) const
+ ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 922 NONAME ABSENT ; class QString QDeclarativeBinding::trUtf8(char const *, char const *, int)
+ ??0QDeclarativeType@@AAE@HABURegisterInterface@QDeclarativePrivate@@@Z @ 923 NONAME ABSENT ; QDeclarativeType::QDeclarativeType(int, struct QDeclarativePrivate::RegisterInterface const &)
?scopeObject@QDeclarativeScriptString@@QBEPAVQObject@@XZ @ 924 NONAME ; class QObject * QDeclarativeScriptString::scopeObject(void) const
?left@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 925 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::left(void) const
- ??1QDeclarativeDebuggerStatus@@UAE@XZ @ 926 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(void)
+ ??1QDeclarativeDebuggerStatus@@UAE@XZ @ 926 NONAME ABSENT ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(void)
??6QDeclarativeInfo@@QAEAAV0@ABVQLatin1String@@@Z @ 927 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QLatin1String const &)
?at@QDeclarativeListReference@@QBEPAVQObject@@H@Z @ 928 NONAME ; class QObject * QDeclarativeListReference::at(int) const
- ?metaObject@QDeclarativeDebugWatch@@UBEPBUQMetaObject@@XZ @ 929 NONAME ; struct QMetaObject const * QDeclarativeDebugWatch::metaObject(void) const
- ?qt_metacast@QListModelInterface@@UAEPAXPBD@Z @ 930 NONAME ; void * QListModelInterface::qt_metacast(char const *)
- ?deserialize@QMetaObjectBuilder@@QAEXAAVQDataStream@@ABV?$QMap@VQByteArray@@PB$$CBUQMetaObject@@@@@Z @ 931 NONAME ; void QMetaObjectBuilder::deserialize(class QDataStream &, class QMap<class QByteArray, struct QMetaObject const *> const &)
+ ?metaObject@QDeclarativeDebugWatch@@UBEPBUQMetaObject@@XZ @ 929 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugWatch::metaObject(void) const
+ ?qt_metacast@QListModelInterface@@UAEPAXPBD@Z @ 930 NONAME ABSENT ; void * QListModelInterface::qt_metacast(char const *)
+ ?deserialize@QMetaObjectBuilder@@QAEXAAVQDataStream@@ABV?$QMap@VQByteArray@@PB$$CBUQMetaObject@@@@@Z @ 931 NONAME ABSENT ; void QMetaObjectBuilder::deserialize(class QDataStream &, class QMap<class QByteArray, struct QMetaObject const *> const &)
?canClear@QDeclarativeListReference@@QBE_NXZ @ 932 NONAME ; bool QDeclarativeListReference::canClear(void) const
??4QDeclarativeCustomParserProperty@@QAEAAV0@ABV0@@Z @ 933 NONAME ; class QDeclarativeCustomParserProperty & QDeclarativeCustomParserProperty::operator=(class QDeclarativeCustomParserProperty const &)
- ?parameterNames@QMetaMethodBuilder@@QBE?AV?$QList@VQByteArray@@@@XZ @ 934 NONAME ; class QList<class QByteArray> QMetaMethodBuilder::parameterNames(void) const
- ?get@QDeclarativeListModel@@QBE?AVQScriptValue@@H@Z @ 935 NONAME ; class QScriptValue QDeclarativeListModel::get(int) const
- ?createSize@QDeclarativeType@@QBEHXZ @ 936 NONAME ; int QDeclarativeType::createSize(void) const
+ ?parameterNames@QMetaMethodBuilder@@QBE?AV?$QList@VQByteArray@@@@XZ @ 934 NONAME ABSENT ; class QList<class QByteArray> QMetaMethodBuilder::parameterNames(void) const
+ ?get@QDeclarativeListModel@@QBE?AVQScriptValue@@H@Z @ 935 NONAME ABSENT ; class QScriptValue QDeclarativeListModel::get(int) const
+ ?createSize@QDeclarativeType@@QBEHXZ @ 936 NONAME ABSENT ; int QDeclarativeType::createSize(void) const
?rootContext@QDeclarativeEngine@@QBEPAVQDeclarativeContext@@XZ @ 937 NONAME ; class QDeclarativeContext * QDeclarativeEngine::rootContext(void) const
- ?isValueSource@QDeclarativeDomValue@@QBE_NXZ @ 938 NONAME ; bool QDeclarativeDomValue::isValueSource(void) const
+ ?isValueSource@QDeclarativeDomValue@@QBE_NXZ @ 938 NONAME ABSENT ; bool QDeclarativeDomValue::isValueSource(void) const
?isWritable@QDeclarativeProperty@@QBE_NXZ @ 939 NONAME ; bool QDeclarativeProperty::isWritable(void) const
?setKeepMouseGrab@QDeclarativeItem@@QAEX_N@Z @ 940 NONAME ; void QDeclarativeItem::setKeepMouseGrab(bool)
- ??0QDeclarativeDebugContextReference@@QAE@XZ @ 941 NONAME ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(void)
- ?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 942 NONAME ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &)
- ?getStaticMetaObject@QDeclarativeDebugRootContextQuery@@SAABUQMetaObject@@XZ @ 943 NONAME ; struct QMetaObject const & QDeclarativeDebugRootContextQuery::getStaticMetaObject(void)
- ?textChanged@QDeclarativeText@@IAEXABVQString@@@Z @ 944 NONAME ; void QDeclarativeText::textChanged(class QString const &)
+ ??0QDeclarativeDebugContextReference@@QAE@XZ @ 941 NONAME ABSENT ; QDeclarativeDebugContextReference::QDeclarativeDebugContextReference(void)
+ ?setParameterNames@QMetaMethodBuilder@@QAEXABV?$QList@VQByteArray@@@@@Z @ 942 NONAME ABSENT ; void QMetaMethodBuilder::setParameterNames(class QList<class QByteArray> const &)
+ ?getStaticMetaObject@QDeclarativeDebugRootContextQuery@@SAABUQMetaObject@@XZ @ 943 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugRootContextQuery::getStaticMetaObject(void)
+ ?textChanged@QDeclarativeText@@IAEXABVQString@@@Z @ 944 NONAME ABSENT ; void QDeclarativeText::textChanged(class QString const &)
?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 945 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *)
??0QDeclarativeCustomParserProperty@@QAE@ABV0@@Z @ 946 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(class QDeclarativeCustomParserProperty const &)
?getStaticMetaObject@QDeclarativeComponent@@SAABUQMetaObject@@XZ @ 947 NONAME ; struct QMetaObject const & QDeclarativeComponent::getStaticMetaObject(void)
?parentItem@QDeclarativeItem@@QBEPAV1@XZ @ 948 NONAME ; class QDeclarativeItem * QDeclarativeItem::parentItem(void) const
- ?value@QMetaEnumBuilder@@QBEHH@Z @ 949 NONAME ; int QMetaEnumBuilder::value(int) const
+ ?value@QMetaEnumBuilder@@QBEHH@Z @ 949 NONAME ABSENT ; int QMetaEnumBuilder::value(int) const
??_EQDeclarativeExpression@@UAE@I@Z @ 950 NONAME ; QDeclarativeExpression::~QDeclarativeExpression(unsigned int)
- ?load@QDeclarativeDomDocument@@QAE_NPAVQDeclarativeEngine@@ABVQByteArray@@ABVQUrl@@@Z @ 951 NONAME ; bool QDeclarativeDomDocument::load(class QDeclarativeEngine *, class QByteArray const &, class QUrl const &)
+ ?load@QDeclarativeDomDocument@@QAE_NPAVQDeclarativeEngine@@ABVQByteArray@@ABVQUrl@@@Z @ 951 NONAME ABSENT ; bool QDeclarativeDomDocument::load(class QDeclarativeEngine *, class QByteArray const &, class QUrl const &)
?staticMetaObject@QDeclarativeStateGroup@@2UQMetaObject@@B @ 952 NONAME ; struct QMetaObject const QDeclarativeStateGroup::staticMetaObject
?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0@Z @ 953 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *)
- ?verticalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 954 NONAME ; void QDeclarativeAnchors::verticalCenterChanged(void)
- ?isScriptable@QMetaPropertyBuilder@@QBE_NXZ @ 955 NONAME ; bool QMetaPropertyBuilder::isScriptable(void) const
- ?typeCategory@QDeclarativeMetaType@@SA?AW4TypeCategory@1@H@Z @ 956 NONAME ; enum QDeclarativeMetaType::TypeCategory QDeclarativeMetaType::typeCategory(int)
- ?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 957 NONAME ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &)
- ?length@QDeclarativeDomDynamicProperty@@QBEHXZ @ 958 NONAME ; int QDeclarativeDomDynamicProperty::length(void) const
- ?property@QDeclarativeBinding@@QBE?AVQDeclarativeProperty@@XZ @ 959 NONAME ; class QDeclarativeProperty QDeclarativeBinding::property(void) const
- ??0QDeclarativeDomValueBinding@@QAE@XZ @ 960 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(void)
+ ?verticalCenterChanged@QDeclarativeAnchors@@IAEXXZ @ 954 NONAME ABSENT ; void QDeclarativeAnchors::verticalCenterChanged(void)
+ ?isScriptable@QMetaPropertyBuilder@@QBE_NXZ @ 955 NONAME ABSENT ; bool QMetaPropertyBuilder::isScriptable(void) const
+ ?typeCategory@QDeclarativeMetaType@@SA?AW4TypeCategory@1@H@Z @ 956 NONAME ABSENT ; enum QDeclarativeMetaType::TypeCategory QDeclarativeMetaType::typeCategory(int)
+ ?findSignalByName@QDeclarativePropertyPrivate@@SA?AVQMetaMethod@@PBUQMetaObject@@ABVQByteArray@@@Z @ 957 NONAME ABSENT ; class QMetaMethod QDeclarativePropertyPrivate::findSignalByName(struct QMetaObject const *, class QByteArray const &)
+ ?length@QDeclarativeDomDynamicProperty@@QBEHXZ @ 958 NONAME ABSENT ; int QDeclarativeDomDynamicProperty::length(void) const
+ ?property@QDeclarativeBinding@@QBE?AVQDeclarativeProperty@@XZ @ 959 NONAME ABSENT ; class QDeclarativeProperty QDeclarativeBinding::property(void) const
+ ??0QDeclarativeDomValueBinding@@QAE@XZ @ 960 NONAME ABSENT ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(void)
?addImportPath@QDeclarativeEngine@@QAEXABVQString@@@Z @ 961 NONAME ; void QDeclarativeEngine::addImportPath(class QString const &)
?engine@QDeclarativeContext@@QBEPAVQDeclarativeEngine@@XZ @ 962 NONAME ; class QDeclarativeEngine * QDeclarativeContext::engine(void) const
- ?length@QDeclarativeDomObject@@QBEHXZ @ 963 NONAME ; int QDeclarativeDomObject::length(void) const
- ?setBaselineOffset@QDeclarativeAnchors@@QAEXM@Z @ 964 NONAME ; void QDeclarativeAnchors::setBaselineOffset(float)
+ ?length@QDeclarativeDomObject@@QBEHXZ @ 963 NONAME ABSENT ; int QDeclarativeDomObject::length(void) const
+ ?setBaselineOffset@QDeclarativeAnchors@@QAEXM@Z @ 964 NONAME ABSENT ; void QDeclarativeAnchors::setBaselineOffset(float)
?append@QDeclarativeListReference@@QBE_NPAVQObject@@@Z @ 965 NONAME ; bool QDeclarativeListReference::append(class QObject *) const
- ?d_func@QDeclarativeEngineDebug@@AAEPAVQDeclarativeEngineDebugPrivate@@XZ @ 966 NONAME ; class QDeclarativeEngineDebugPrivate * QDeclarativeEngineDebug::d_func(void)
+ ?d_func@QDeclarativeEngineDebug@@AAEPAVQDeclarativeEngineDebugPrivate@@XZ @ 966 NONAME ABSENT ; class QDeclarativeEngineDebugPrivate * QDeclarativeEngineDebug::d_func(void)
??1QDeclarativeNetworkAccessManagerFactory@@UAE@XZ @ 967 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(void)
- ?textFormatChanged@QDeclarativeText@@IAEXW4TextFormat@1@@Z @ 968 NONAME ; void QDeclarativeText::textFormatChanged(enum QDeclarativeText::TextFormat)
+ ?textFormatChanged@QDeclarativeText@@IAEXW4TextFormat@1@@Z @ 968 NONAME ABSENT ; void QDeclarativeText::textFormatChanged(enum QDeclarativeText::TextFormat)
?removeState@QDeclarativeStateGroup@@AAEXPAVQDeclarativeState@@@Z @ 969 NONAME ; void QDeclarativeStateGroup::removeState(class QDeclarativeState *)
- ?qmlTypeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 970 NONAME ; class QByteArray QDeclarativeType::qmlTypeName(void) const
+ ?qmlTypeName@QDeclarativeType@@QBE?AVQByteArray@@XZ @ 970 NONAME ABSENT ; class QByteArray QDeclarativeType::qmlTypeName(void) const
?tr@QDeclarativeComponent@@SA?AVQString@@PBD0@Z @ 971 NONAME ; class QString QDeclarativeComponent::tr(char const *, char const *)
?isProperty@QDeclarativeProperty@@QBE_NXZ @ 972 NONAME ; bool QDeclarativeProperty::isProperty(void) const
?states@QDeclarativeStateGroup@@QBE?AV?$QList@PAVQDeclarativeState@@@@XZ @ 973 NONAME ; class QList<class QDeclarativeState *> QDeclarativeStateGroup::states(void) const
- ??1QDeclarativeDebugExpressionQuery@@UAE@XZ @ 974 NONAME ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(void)
- ?isValid@QDeclarativeDomObject@@QBE_NXZ @ 975 NONAME ; bool QDeclarativeDomObject::isValid(void) const
- ?staticMetaObject@QDeclarativeAnchors@@2UQMetaObject@@B @ 976 NONAME ; struct QMetaObject const QDeclarativeAnchors::staticMetaObject
- ??_EQDeclarativePen@@UAE@I@Z @ 977 NONAME ; QDeclarativePen::~QDeclarativePen(unsigned int)
- ??0QDeclarativeDomProperty@@QAE@ABV0@@Z @ 978 NONAME ; QDeclarativeDomProperty::QDeclarativeDomProperty(class QDeclarativeDomProperty const &)
+ ??1QDeclarativeDebugExpressionQuery@@UAE@XZ @ 974 NONAME ABSENT ; QDeclarativeDebugExpressionQuery::~QDeclarativeDebugExpressionQuery(void)
+ ?isValid@QDeclarativeDomObject@@QBE_NXZ @ 975 NONAME ABSENT ; bool QDeclarativeDomObject::isValid(void) const
+ ?staticMetaObject@QDeclarativeAnchors@@2UQMetaObject@@B @ 976 NONAME ABSENT ; struct QMetaObject const QDeclarativeAnchors::staticMetaObject
+ ??_EQDeclarativePen@@UAE@I@Z @ 977 NONAME ABSENT ; QDeclarativePen::~QDeclarativePen(unsigned int)
+ ??0QDeclarativeDomProperty@@QAE@ABV0@@Z @ 978 NONAME ABSENT ; QDeclarativeDomProperty::QDeclarativeDomProperty(class QDeclarativeDomProperty const &)
?_states@QDeclarativeItemPrivate@@QAEPAVQDeclarativeStateGroup@@XZ @ 979 NONAME ; class QDeclarativeStateGroup * QDeclarativeItemPrivate::_states(void)
- ?verticalAlignmentChanged@QDeclarativeText@@IAEXW4VAlignment@1@@Z @ 980 NONAME ; void QDeclarativeText::verticalAlignmentChanged(enum QDeclarativeText::VAlignment)
- ?typeId@QDeclarativeType@@QBEHXZ @ 981 NONAME ; int QDeclarativeType::typeId(void) const
- ?marginsChanged@QDeclarativeAnchors@@IAEXXZ @ 982 NONAME ; void QDeclarativeAnchors::marginsChanged(void)
- ?setValue@QDeclarativeOpenMetaObject@@QAEXHABVQVariant@@@Z @ 983 NONAME ; void QDeclarativeOpenMetaObject::setValue(int, class QVariant const &)
+ ?verticalAlignmentChanged@QDeclarativeText@@IAEXW4VAlignment@1@@Z @ 980 NONAME ABSENT ; void QDeclarativeText::verticalAlignmentChanged(enum QDeclarativeText::VAlignment)
+ ?typeId@QDeclarativeType@@QBEHXZ @ 981 NONAME ABSENT ; int QDeclarativeType::typeId(void) const
+ ?marginsChanged@QDeclarativeAnchors@@IAEXXZ @ 982 NONAME ABSENT ; void QDeclarativeAnchors::marginsChanged(void)
+ ?setValue@QDeclarativeOpenMetaObject@@QAEXHABVQVariant@@@Z @ 983 NONAME ABSENT ; void QDeclarativeOpenMetaObject::setValue(int, class QVariant const &)
?parentProperty@QDeclarativeItemPrivate@@SAXPAVQObject@@PAXPAVQDeclarativeNotifierEndpoint@@@Z @ 984 NONAME ; void QDeclarativeItemPrivate::parentProperty(class QObject *, void *, class QDeclarativeNotifierEndpoint *)
- ??4QDeclarativeDebugContextReference@@QAEAAV0@ABV0@@Z @ 985 NONAME ; class QDeclarativeDebugContextReference & QDeclarativeDebugContextReference::operator=(class QDeclarativeDebugContextReference const &)
- ?isModule@QDeclarativeMetaType@@SA_NABVQByteArray@@HH@Z @ 986 NONAME ; bool QDeclarativeMetaType::isModule(class QByteArray const &, int, int)
- ?parentFunctions@QDeclarativeMetaType@@SA?AV?$QList@P6A?AW4AutoParentResult@QDeclarativePrivate@@PAVQObject@@0@Z@@XZ @ 987 NONAME ; class QList<enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)> QDeclarativeMetaType::parentFunctions(void)
- ?metaObject@QDeclarativeDebugPropertyWatch@@UBEPBUQMetaObject@@XZ @ 988 NONAME ; struct QMetaObject const * QDeclarativeDebugPropertyWatch::metaObject(void) const
- ??0QDeclarativeRectangle@@QAE@PAVQDeclarativeItem@@@Z @ 989 NONAME ; QDeclarativeRectangle::QDeclarativeRectangle(class QDeclarativeItem *)
+ ??4QDeclarativeDebugContextReference@@QAEAAV0@ABV0@@Z @ 985 NONAME ABSENT ; class QDeclarativeDebugContextReference & QDeclarativeDebugContextReference::operator=(class QDeclarativeDebugContextReference const &)
+ ?isModule@QDeclarativeMetaType@@SA_NABVQByteArray@@HH@Z @ 986 NONAME ABSENT ; bool QDeclarativeMetaType::isModule(class QByteArray const &, int, int)
+ ?parentFunctions@QDeclarativeMetaType@@SA?AV?$QList@P6A?AW4AutoParentResult@QDeclarativePrivate@@PAVQObject@@0@Z@@XZ @ 987 NONAME ABSENT ; class QList<enum QDeclarativePrivate::AutoParentResult (*)(class QObject *, class QObject *)> QDeclarativeMetaType::parentFunctions(void)
+ ?metaObject@QDeclarativeDebugPropertyWatch@@UBEPBUQMetaObject@@XZ @ 988 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugPropertyWatch::metaObject(void) const
+ ??0QDeclarativeRectangle@@QAE@PAVQDeclarativeItem@@@Z @ 989 NONAME ABSENT ; QDeclarativeRectangle::QDeclarativeRectangle(class QDeclarativeItem *)
?setOutputWarningsToStandardError@QDeclarativeEngine@@QAEX_N@Z @ 990 NONAME ; void QDeclarativeEngine::setOutputWarningsToStandardError(bool)
- ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@0@Z @ 991 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &, class QByteArray const &)
- ?enumerator@QMetaObjectBuilder@@QBE?AVQMetaEnumBuilder@@H@Z @ 992 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::enumerator(int) const
- ?fromRelocatableData@QMetaObjectBuilder@@SAXPAUQMetaObject@@PBU2@ABVQByteArray@@@Z @ 993 NONAME ; void QMetaObjectBuilder::fromRelocatableData(struct QMetaObject *, struct QMetaObject const *, class QByteArray const &)
- ?gridRight@QDeclarativeGridScaledImage@@QBEHXZ @ 994 NONAME ; int QDeclarativeGridScaledImage::gridRight(void) const
- ?isAlias@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 995 NONAME ; bool QDeclarativeDomDynamicProperty::isAlias(void) const
+ ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@0@Z @ 991 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &, class QByteArray const &)
+ ?enumerator@QMetaObjectBuilder@@QBE?AVQMetaEnumBuilder@@H@Z @ 992 NONAME ABSENT ; class QMetaEnumBuilder QMetaObjectBuilder::enumerator(int) const
+ ?fromRelocatableData@QMetaObjectBuilder@@SAXPAUQMetaObject@@PBU2@ABVQByteArray@@@Z @ 993 NONAME ABSENT ; void QMetaObjectBuilder::fromRelocatableData(struct QMetaObject *, struct QMetaObject const *, class QByteArray const &)
+ ?gridRight@QDeclarativeGridScaledImage@@QBEHXZ @ 994 NONAME ABSENT ; int QDeclarativeGridScaledImage::gridRight(void) const
+ ?isAlias@QDeclarativeDomDynamicProperty@@QBE_NXZ @ 995 NONAME ABSENT ; bool QDeclarativeDomDynamicProperty::isAlias(void) const
?d_func@QDeclarativeContext@@ABEPBVQDeclarativeContextPrivate@@XZ @ 996 NONAME ; class QDeclarativeContextPrivate const * QDeclarativeContext::d_func(void) const
- ?getStaticMetaObject@QDeclarativeDebugEnginesQuery@@SAABUQMetaObject@@XZ @ 997 NONAME ; struct QMetaObject const & QDeclarativeDebugEnginesQuery::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeDebugEnginesQuery@@SAABUQMetaObject@@XZ @ 997 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugEnginesQuery::getStaticMetaObject(void)
?tr@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 998 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *, int)
- ?staticMetaObject@QDeclarativeDebugPropertyWatch@@2UQMetaObject@@B @ 999 NONAME ; struct QMetaObject const QDeclarativeDebugPropertyWatch::staticMetaObject
+ ?staticMetaObject@QDeclarativeDebugPropertyWatch@@2UQMetaObject@@B @ 999 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugPropertyWatch::staticMetaObject
?setDescription@QDeclarativeError@@QAEXABVQString@@@Z @ 1000 NONAME ; void QDeclarativeError::setDescription(class QString const &)
??0QDeclarativeExpression@@AAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@@Z @ 1001 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &)
- ??1QDeclarativeOpenMetaObjectType@@UAE@XZ @ 1002 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(void)
+ ??1QDeclarativeOpenMetaObjectType@@UAE@XZ @ 1002 NONAME ABSENT ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(void)
?setReversible@QDeclarativeTransition@@QAEX_N@Z @ 1003 NONAME ; void QDeclarativeTransition::setReversible(bool)
- ?notifySignal@QMetaPropertyBuilder@@QBE?AVQMetaMethodBuilder@@XZ @ 1004 NONAME ; class QMetaMethodBuilder QMetaPropertyBuilder::notifySignal(void) const
- ??0QDeclarativeDomList@@QAE@XZ @ 1005 NONAME ; QDeclarativeDomList::QDeclarativeDomList(void)
+ ?notifySignal@QMetaPropertyBuilder@@QBE?AVQMetaMethodBuilder@@XZ @ 1004 NONAME ABSENT ; class QMetaMethodBuilder QMetaPropertyBuilder::notifySignal(void) const
+ ??0QDeclarativeDomList@@QAE@XZ @ 1005 NONAME ABSENT ; QDeclarativeDomList::QDeclarativeDomList(void)
?hasActiveFocus@QDeclarativeItem@@QBE_NXZ @ 1006 NONAME ; bool QDeclarativeItem::hasActiveFocus(void) const
- ?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1007 NONAME ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &)
+ ?indexOfSignal@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1007 NONAME ABSENT ; int QMetaObjectBuilder::indexOfSignal(class QByteArray const &)
?toState@QDeclarativeTransition@@QBE?AVQString@@XZ @ 1008 NONAME ; class QString QDeclarativeTransition::toState(void) const
- ??0QDeclarativeDomDocument@@QAE@XZ @ 1009 NONAME ; QDeclarativeDomDocument::QDeclarativeDomDocument(void)
+ ??0QDeclarativeDomDocument@@QAE@XZ @ 1009 NONAME ABSENT ; QDeclarativeDomDocument::QDeclarativeDomDocument(void)
?setWhen@QDeclarativeState@@QAEXPAVQDeclarativeBinding@@@Z @ 1010 NONAME ; void QDeclarativeState::setWhen(class QDeclarativeBinding *)
?isWhenKnown@QDeclarativeState@@QBE_NXZ @ 1011 NONAME ; bool QDeclarativeState::isWhenKnown(void) const
- ?agent@QDeclarativeListModel@@QAEPAVQDeclarativeListModelWorkerAgent@@XZ @ 1012 NONAME ; class QDeclarativeListModelWorkerAgent * QDeclarativeListModel::agent(void)
+ ?agent@QDeclarativeListModel@@QAEPAVQDeclarativeListModelWorkerAgent@@XZ @ 1012 NONAME ABSENT ; class QDeclarativeListModelWorkerAgent * QDeclarativeListModel::agent(void)
?engine@QDeclarativeExpression@@QBEPAVQDeclarativeEngine@@XZ @ 1013 NONAME ; class QDeclarativeEngine * QDeclarativeExpression::engine(void) const
- ??_EQDeclarativeDebugWatch@@UAE@I@Z @ 1014 NONAME ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(unsigned int)
- ?isEmpty@QPacket@@QBE_NXZ @ 1015 NONAME ; bool QPacket::isEmpty(void) const
- ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@PBUQMetaObject@@@Z @ 1016 NONAME ; class QDeclarativeType * QDeclarativeMetaType::qmlType(struct QMetaObject const *)
- ?setFill@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 1017 NONAME ; void QDeclarativeAnchors::setFill(class QGraphicsObject *)
- ?setHAlign@QDeclarativeText@@QAEXW4HAlignment@1@@Z @ 1018 NONAME ; void QDeclarativeText::setHAlign(enum QDeclarativeText::HAlignment)
+ ??_EQDeclarativeDebugWatch@@UAE@I@Z @ 1014 NONAME ABSENT ; QDeclarativeDebugWatch::~QDeclarativeDebugWatch(unsigned int)
+ ?isEmpty@QPacket@@QBE_NXZ @ 1015 NONAME ABSENT ; bool QPacket::isEmpty(void) const
+ ?qmlType@QDeclarativeMetaType@@SAPAVQDeclarativeType@@PBUQMetaObject@@@Z @ 1016 NONAME ABSENT ; class QDeclarativeType * QDeclarativeMetaType::qmlType(struct QMetaObject const *)
+ ?setFill@QDeclarativeAnchors@@QAEXPAVQGraphicsObject@@@Z @ 1017 NONAME ABSENT ; void QDeclarativeAnchors::setFill(class QGraphicsObject *)
+ ?setHAlign@QDeclarativeText@@QAEXW4HAlignment@1@@Z @ 1018 NONAME ABSENT ; void QDeclarativeText::setHAlign(enum QDeclarativeText::HAlignment)
??0QDeclarativeScriptString@@QAE@ABV0@@Z @ 1019 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(class QDeclarativeScriptString const &)
?trUtf8@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1020 NONAME ; class QString QDeclarativeTransition::trUtf8(char const *, char const *)
- ?metaObject@QDeclarativeDebugRootContextQuery@@UBEPBUQMetaObject@@XZ @ 1021 NONAME ; struct QMetaObject const * QDeclarativeDebugRootContextQuery::metaObject(void) const
- ?setSignalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@PAV2@@Z @ 1022 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::setSignalExpression(class QDeclarativeProperty const &, class QDeclarativeExpression *)
+ ?metaObject@QDeclarativeDebugRootContextQuery@@UBEPBUQMetaObject@@XZ @ 1021 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugRootContextQuery::metaObject(void) const
+ ?setSignalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@PAV2@@Z @ 1022 NONAME ABSENT ; class QDeclarativeExpression * QDeclarativePropertyPrivate::setSignalExpression(class QDeclarativeProperty const &, class QDeclarativeExpression *)
?reversibleChanged@QDeclarativeTransition@@IAEXXZ @ 1023 NONAME ; void QDeclarativeTransition::reversibleChanged(void)
- ??4QDeclarativeDomValueValueSource@@QAEAAV0@ABV0@@Z @ 1024 NONAME ; class QDeclarativeDomValueValueSource & QDeclarativeDomValueValueSource::operator=(class QDeclarativeDomValueValueSource const &)
- ?name@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 1025 NONAME ; class QString QDeclarativeDebugObjectReference::name(void) const
+ ??4QDeclarativeDomValueValueSource@@QAEAAV0@ABV0@@Z @ 1024 NONAME ABSENT ; class QDeclarativeDomValueValueSource & QDeclarativeDomValueValueSource::operator=(class QDeclarativeDomValueValueSource const &)
+ ?name@QDeclarativeDebugObjectReference@@QBE?AVQString@@XZ @ 1025 NONAME ABSENT ; class QString QDeclarativeDebugObjectReference::name(void) const
?anchorLines@QDeclarativeItemPrivate@@QBEPAUAnchorLines@1@XZ @ 1026 NONAME ; struct QDeclarativeItemPrivate::AnchorLines * QDeclarativeItemPrivate::anchorLines(void) const
?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABVQDeclarativeError@@@Z @ 1027 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QDeclarativeError const &)
- ?staticMetaObject@QDeclarativeText@@2UQMetaObject@@B @ 1028 NONAME ; struct QMetaObject const QDeclarativeText::staticMetaObject
- ?color@QDeclarativeRectangle@@QBE?AVQColor@@XZ @ 1029 NONAME ; class QColor QDeclarativeRectangle::color(void) const
+ ?staticMetaObject@QDeclarativeText@@2UQMetaObject@@B @ 1028 NONAME ABSENT ; struct QMetaObject const QDeclarativeText::staticMetaObject
+ ?color@QDeclarativeRectangle@@QBE?AVQColor@@XZ @ 1029 NONAME ABSENT ; class QColor QDeclarativeRectangle::color(void) const
?isEnabled@QDeclarativeDebugClient@@QBE_NXZ @ 1030 NONAME ABSENT ; bool QDeclarativeDebugClient::isEnabled(void) const
- ?send@QPacketProtocol@@QAEXABVQPacket@@@Z @ 1031 NONAME ; void QPacketProtocol::send(class QPacket const &)
+ ?send@QPacketProtocol@@QAEXABVQPacket@@@Z @ 1031 NONAME ABSENT ; void QPacketProtocol::send(class QPacket const &)
?width@QDeclarativePixmap@@QBEHXZ @ 1032 NONAME ; int QDeclarativePixmap::width(void) const
?error@QDeclarativeCustomParser@@IAEXABVQDeclarativeCustomParserNode@@ABVQString@@@Z @ 1033 NONAME ; void QDeclarativeCustomParser::error(class QDeclarativeCustomParserNode const &, class QString const &)
- ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PBUQMetaObject@@@Z @ 1034 NONAME ; class QMetaProperty QDeclarativeMetaType::defaultProperty(struct QMetaObject const *)
+ ?defaultProperty@QDeclarativeMetaType@@SA?AVQMetaProperty@@PBUQMetaObject@@@Z @ 1034 NONAME ABSENT ; class QMetaProperty QDeclarativeMetaType::defaultProperty(struct QMetaObject const *)
?isComponentComplete@QDeclarativeItem@@IBE_NXZ @ 1035 NONAME ; bool QDeclarativeItem::isComponentComplete(void) const
- ?type@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 1036 NONAME ; class QByteArray QMetaPropertyBuilder::type(void) const
- ?setProperty@QDeclarativeListModel@@QAEXHABVQString@@ABVQVariant@@@Z @ 1037 NONAME ; void QDeclarativeListModel::setProperty(int, class QString const &, class QVariant const &)
- ?rootContext@QDeclarativeDebugRootContextQuery@@QBE?AVQDeclarativeDebugContextReference@@XZ @ 1038 NONAME ; class QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext(void) const
+ ?type@QMetaPropertyBuilder@@QBE?AVQByteArray@@XZ @ 1036 NONAME ABSENT ; class QByteArray QMetaPropertyBuilder::type(void) const
+ ?setProperty@QDeclarativeListModel@@QAEXHABVQString@@ABVQVariant@@@Z @ 1037 NONAME ABSENT ; void QDeclarativeListModel::setProperty(int, class QString const &, class QVariant const &)
+ ?rootContext@QDeclarativeDebugRootContextQuery@@QBE?AVQDeclarativeDebugContextReference@@XZ @ 1038 NONAME ABSENT ; class QDeclarativeDebugContextReference QDeclarativeDebugRootContextQuery::rootContext(void) const
?contextForObject@QDeclarativeEngine@@SAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1039 NONAME ; class QDeclarativeContext * QDeclarativeEngine::contextForObject(class QObject const *)
- ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQMetaProperty@@@Z @ 1040 NONAME ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QMetaProperty const &)
- ?isQObject@QDeclarativeMetaType@@SA_NH@Z @ 1041 NONAME ; bool QDeclarativeMetaType::isQObject(int)
- ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 1042 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *)
- ?getStaticMetaObject@QDeclarativeValueType@@SAABUQMetaObject@@XZ @ 1043 NONAME ; struct QMetaObject const & QDeclarativeValueType::getStaticMetaObject(void)
+ ?addProperty@QMetaObjectBuilder@@QAE?AVQMetaPropertyBuilder@@ABVQMetaProperty@@@Z @ 1040 NONAME ABSENT ; class QMetaPropertyBuilder QMetaObjectBuilder::addProperty(class QMetaProperty const &)
+ ?isQObject@QDeclarativeMetaType@@SA_NH@Z @ 1041 NONAME ABSENT ; bool QDeclarativeMetaType::isQObject(int)
+ ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0@Z @ 1042 NONAME ABSENT ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *)
+ ?getStaticMetaObject@QDeclarativeValueType@@SAABUQMetaObject@@XZ @ 1043 NONAME ABSENT ; struct QMetaObject const & QDeclarativeValueType::getStaticMetaObject(void)
?valueChanged@QDeclarativePropertyMap@@IAEXABVQString@@ABVQVariant@@@Z @ 1044 NONAME ; void QDeclarativePropertyMap::valueChanged(class QString const &, class QVariant const &)
- ?staticMetaObject@QPacketProtocol@@2UQMetaObject@@B @ 1045 NONAME ; struct QMetaObject const QPacketProtocol::staticMetaObject
- ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 1046 NONAME ; class QString QDeclarativeListModel::tr(char const *, char const *, int)
+ ?staticMetaObject@QPacketProtocol@@2UQMetaObject@@B @ 1045 NONAME ABSENT ; struct QMetaObject const QPacketProtocol::staticMetaObject
+ ?tr@QDeclarativeListModel@@SA?AVQString@@PBD0H@Z @ 1046 NONAME ABSENT ; class QString QDeclarativeListModel::tr(char const *, char const *, int)
??0QDeclarativeScriptString@@QAE@XZ @ 1047 NONAME ; QDeclarativeScriptString::QDeclarativeScriptString(void)
- ?tr@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1048 NONAME ; class QString QListModelInterface::tr(char const *, char const *)
+ ?tr@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1048 NONAME ABSENT ; class QString QListModelInterface::tr(char const *, char const *)
?height@QDeclarativeItemPrivate@@UBEMXZ @ 1049 NONAME ; float QDeclarativeItemPrivate::height(void) const
- ?qt_metacast@QDeclarativeDebugObjectQuery@@UAEPAXPBD@Z @ 1050 NONAME ; void * QDeclarativeDebugObjectQuery::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeDebugObjectQuery@@UAEPAXPBD@Z @ 1050 NONAME ABSENT ; void * QDeclarativeDebugObjectQuery::qt_metacast(char const *)
??0QDeclarativeImageProvider@@QAE@W4ImageType@0@@Z @ 1051 NONAME ; QDeclarativeImageProvider::QDeclarativeImageProvider(enum QDeclarativeImageProvider::ImageType)
- ?type@QDeclarativeDomValue@@QBE?AW4Type@1@XZ @ 1052 NONAME ; enum QDeclarativeDomValue::Type QDeclarativeDomValue::type(void) const
+ ?type@QDeclarativeDomValue@@QBE?AW4Type@1@XZ @ 1052 NONAME ABSENT ; enum QDeclarativeDomValue::Type QDeclarativeDomValue::type(void) const
?setPixmap@QDeclarativePixmap@@QAEXABVQPixmap@@@Z @ 1053 NONAME ; void QDeclarativePixmap::setPixmap(class QPixmap const &)
- ?staticMetacallFunction@QMetaObjectBuilder@@QBEP6AHW4Call@QMetaObject@@HPAPAX@ZXZ @ 1054 NONAME ; int (*)(enum QMetaObject::Call, int, void * *) QMetaObjectBuilder::staticMetacallFunction(void) const
+ ?staticMetacallFunction@QMetaObjectBuilder@@QBEP6AHW4Call@QMetaObject@@HPAPAX@ZXZ @ 1054 NONAME ABSENT ; int (*)(enum QMetaObject::Call, int, void * *) QMetaObjectBuilder::staticMetacallFunction(void) const
?connectFinished@QDeclarativePixmap@@QAE_NPAVQObject@@H@Z @ 1055 NONAME ; bool QDeclarativePixmap::connectFinished(class QObject *, int)
- ?setStyle@QDeclarativeText@@QAEXW4TextStyle@1@@Z @ 1056 NONAME ; void QDeclarativeText::setStyle(enum QDeclarativeText::TextStyle)
+ ?setStyle@QDeclarativeText@@QAEXW4TextStyle@1@@Z @ 1056 NONAME ABSENT ; void QDeclarativeText::setStyle(enum QDeclarativeText::TextStyle)
?staticMetaObject@QDeclarativePropertyMap@@2UQMetaObject@@B @ 1057 NONAME ; struct QMetaObject const QDeclarativePropertyMap::staticMetaObject
- ??_EQDeclarativeDebugEnginesQuery@@UAE@I@Z @ 1058 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(unsigned int)
- ?enumeratorCount@QMetaObjectBuilder@@QBEHXZ @ 1059 NONAME ; int QMetaObjectBuilder::enumeratorCount(void) const
+ ??_EQDeclarativeDebugEnginesQuery@@UAE@I@Z @ 1058 NONAME ABSENT ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(unsigned int)
+ ?enumeratorCount@QMetaObjectBuilder@@QBEHXZ @ 1059 NONAME ABSENT ; int QMetaObjectBuilder::enumeratorCount(void) const
?isError@QDeclarativePixmap@@QBE_NXZ @ 1060 NONAME ; bool QDeclarativePixmap::isError(void) const
?setConsistentTime@QDeclarativeItemPrivate@@SAX_J@Z @ 1061 NONAME ; void QDeclarativeItemPrivate::setConsistentTime(long long)
?initializeEngine@QDeclarativeExtensionPlugin@@UAEXPAVQDeclarativeEngine@@PBD@Z @ 1062 NONAME ; void QDeclarativeExtensionPlugin::initializeEngine(class QDeclarativeEngine *, char const *)
- ?metaObject@QDeclarativeDebugQuery@@UBEPBUQMetaObject@@XZ @ 1063 NONAME ; struct QMetaObject const * QDeclarativeDebugQuery::metaObject(void) const
- ?rightMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1064 NONAME ; void QDeclarativeAnchors::rightMarginChanged(void)
+ ?metaObject@QDeclarativeDebugQuery@@UBEPBUQMetaObject@@XZ @ 1063 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugQuery::metaObject(void) const
+ ?rightMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1064 NONAME ABSENT ; void QDeclarativeAnchors::rightMarginChanged(void)
??_EQDeclarativePropertyValueInterceptor@@UAE@I@Z @ 1065 NONAME ; QDeclarativePropertyValueInterceptor::~QDeclarativePropertyValueInterceptor(unsigned int)
- ?linkActivated@QDeclarativeText@@IAEXABVQString@@@Z @ 1066 NONAME ; void QDeclarativeText::linkActivated(class QString const &)
- ?canConvert@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1067 NONAME ; bool QDeclarativePropertyPrivate::canConvert(struct QMetaObject const *, struct QMetaObject const *)
- ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 1068 NONAME ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *, int)
- ?toComponent@QDeclarativeDomObject@@QBE?AVQDeclarativeDomComponent@@XZ @ 1069 NONAME ; class QDeclarativeDomComponent QDeclarativeDomObject::toComponent(void) const
- ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 1070 NONAME ; class QString QDeclarativeValueType::tr(char const *, char const *)
- ?setLeft@QDeclarativeScaleGrid@@QAEXH@Z @ 1071 NONAME ; void QDeclarativeScaleGrid::setLeft(int)
- ??1QDeclarativeGridScaledImage@@QAE@XZ @ 1072 NONAME ; QDeclarativeGridScaledImage::~QDeclarativeGridScaledImage(void)
- ??0QDeclarativeGridScaledImage@@QAE@ABV0@@Z @ 1073 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QDeclarativeGridScaledImage const &)
+ ?linkActivated@QDeclarativeText@@IAEXABVQString@@@Z @ 1066 NONAME ABSENT ; void QDeclarativeText::linkActivated(class QString const &)
+ ?canConvert@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1067 NONAME ABSENT ; bool QDeclarativePropertyPrivate::canConvert(struct QMetaObject const *, struct QMetaObject const *)
+ ?trUtf8@QDeclarativeAnchors@@SA?AVQString@@PBD0H@Z @ 1068 NONAME ABSENT ; class QString QDeclarativeAnchors::trUtf8(char const *, char const *, int)
+ ?toComponent@QDeclarativeDomObject@@QBE?AVQDeclarativeDomComponent@@XZ @ 1069 NONAME ABSENT ; class QDeclarativeDomComponent QDeclarativeDomObject::toComponent(void) const
+ ?tr@QDeclarativeValueType@@SA?AVQString@@PBD0@Z @ 1070 NONAME ABSENT ; class QString QDeclarativeValueType::tr(char const *, char const *)
+ ?setLeft@QDeclarativeScaleGrid@@QAEXH@Z @ 1071 NONAME ABSENT ; void QDeclarativeScaleGrid::setLeft(int)
+ ??1QDeclarativeGridScaledImage@@QAE@XZ @ 1072 NONAME ABSENT ; QDeclarativeGridScaledImage::~QDeclarativeGridScaledImage(void)
+ ??0QDeclarativeGridScaledImage@@QAE@ABV0@@Z @ 1073 NONAME ABSENT ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(class QDeclarativeGridScaledImage const &)
?column@QDeclarativeError@@QBEHXZ @ 1074 NONAME ; int QDeclarativeError::column(void) const
?properties@QDeclarativeCustomParserNode@@QBE?AV?$QList@VQDeclarativeCustomParserProperty@@@@XZ @ 1075 NONAME ; class QList<class QDeclarativeCustomParserProperty> QDeclarativeCustomParserNode::properties(void) const
- ?qt_metacast@QDeclarativeScaleGrid@@UAEPAXPBD@Z @ 1076 NONAME ; void * QDeclarativeScaleGrid::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeScaleGrid@@UAEPAXPBD@Z @ 1076 NONAME ABSENT ; void * QDeclarativeScaleGrid::qt_metacast(char const *)
??0QDeclarativeListReference@@QAE@XZ @ 1077 NONAME ; QDeclarativeListReference::QDeclarativeListReference(void)
- ??1QDeclarativeDebugRootContextQuery@@UAE@XZ @ 1078 NONAME ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(void)
+ ??1QDeclarativeDebugRootContextQuery@@UAE@XZ @ 1078 NONAME ABSENT ; QDeclarativeDebugRootContextQuery::~QDeclarativeDebugRootContextQuery(void)
?name@QDeclarativeCustomParserNode@@QBE?AVQByteArray@@XZ @ 1079 NONAME ; class QByteArray QDeclarativeCustomParserNode::name(void) const
- ?object@QDeclarativeDomValueValueInterceptor@@QBE?AVQDeclarativeDomObject@@XZ @ 1080 NONAME ; class QDeclarativeDomObject QDeclarativeDomValueValueInterceptor::object(void) const
- ??1QDeclarativePen@@UAE@XZ @ 1081 NONAME ; QDeclarativePen::~QDeclarativePen(void)
+ ?object@QDeclarativeDomValueValueInterceptor@@QBE?AVQDeclarativeDomObject@@XZ @ 1080 NONAME ABSENT ; class QDeclarativeDomObject QDeclarativeDomValueValueInterceptor::object(void) const
+ ??1QDeclarativePen@@UAE@XZ @ 1081 NONAME ABSENT ; QDeclarativePen::~QDeclarativePen(void)
?data@QDeclarativeItemPrivate@@QAE?AV?$QDeclarativeListProperty@VQObject@@@@XZ @ 1082 NONAME ; class QDeclarativeListProperty<class QObject> QDeclarativeItemPrivate::data(void)
- ?qt_metacall@QDeclarativeBinding@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1083 NONAME ; int QDeclarativeBinding::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeBinding@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1083 NONAME ABSENT ; int QDeclarativeBinding::qt_metacall(enum QMetaObject::Call, int, void * *)
??1QDeclarativeEngine@@UAE@XZ @ 1084 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(void)
- ?debugId@QDeclarativeDebugContextReference@@QBEHXZ @ 1085 NONAME ; int QDeclarativeDebugContextReference::debugId(void) const
- ?propertyNameParts@QDeclarativeDomProperty@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1086 NONAME ; class QList<class QByteArray> QDeclarativeDomProperty::propertyNameParts(void) const
+ ?debugId@QDeclarativeDebugContextReference@@QBEHXZ @ 1085 NONAME ABSENT ; int QDeclarativeDebugContextReference::debugId(void) const
+ ?propertyNameParts@QDeclarativeDomProperty@@QBE?AV?$QList@VQByteArray@@@@XZ @ 1086 NONAME ABSENT ; class QList<class QByteArray> QDeclarativeDomProperty::propertyNameParts(void) const
?resetWidth@QDeclarativeItemPrivate@@UAEXXZ @ 1087 NONAME ; void QDeclarativeItemPrivate::resetWidth(void)
- ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@ABVQByteArray@@@Z @ 1088 NONAME ; class QVariant & QDeclarativeOpenMetaObject::operator[](class QByteArray const &)
+ ??AQDeclarativeOpenMetaObject@@QAEAAVQVariant@@ABVQByteArray@@@Z @ 1088 NONAME ABSENT ; class QVariant & QDeclarativeOpenMetaObject::operator[](class QByteArray const &)
?bottom@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1089 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::bottom(void) const
- ?device@QPacketProtocol@@QAEPAVQIODevice@@XZ @ 1090 NONAME ; class QIODevice * QPacketProtocol::device(void)
+ ?device@QPacketProtocol@@QAEPAVQIODevice@@XZ @ 1090 NONAME ABSENT ; class QIODevice * QPacketProtocol::device(void)
?trUtf8@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1091 NONAME ; class QString QDeclarativeStateGroup::trUtf8(char const *, char const *)
- ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@HPA_N@Z @ 1092 NONAME ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &, int, bool *)
+ ?variantFromString@QDeclarativeStringConverters@@YA?AVQVariant@@ABVQString@@HPA_N@Z @ 1092 NONAME ABSENT ; class QVariant QDeclarativeStringConverters::variantFromString(class QString const &, int, bool *)
?metaObject@QDeclarativeComponent@@UBEPBUQMetaObject@@XZ @ 1093 NONAME ; struct QMetaObject const * QDeclarativeComponent::metaObject(void) const
?qmlInfo@@YA?AVQDeclarativeInfo@@PBVQObject@@ABV?$QList@VQDeclarativeError@@@@@Z @ 1094 NONAME ; class QDeclarativeInfo qmlInfo(class QObject const *, class QList<class QDeclarativeError> const &)
?assignedValues@QDeclarativeCustomParserProperty@@QBE?AV?$QList@VQVariant@@@@XZ @ 1095 NONAME ; class QList<class QVariant> QDeclarativeCustomParserProperty::assignedValues(void) const
- ?setValue@QDeclarativeOpenMetaObject@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1096 NONAME ; void QDeclarativeOpenMetaObject::setValue(class QByteArray const &, class QVariant const &)
- ?data@QDeclarativeListModel@@UBE?AVQVariant@@HH@Z @ 1097 NONAME ; class QVariant QDeclarativeListModel::data(int, int) const
- ?setElideMode@QDeclarativeText@@QAEXW4TextElideMode@1@@Z @ 1098 NONAME ; void QDeclarativeText::setElideMode(enum QDeclarativeText::TextElideMode)
+ ?setValue@QDeclarativeOpenMetaObject@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1096 NONAME ABSENT ; void QDeclarativeOpenMetaObject::setValue(class QByteArray const &, class QVariant const &)
+ ?data@QDeclarativeListModel@@UBE?AVQVariant@@HH@Z @ 1097 NONAME ABSENT ; class QVariant QDeclarativeListModel::data(int, int) const
+ ?setElideMode@QDeclarativeText@@QAEXW4TextElideMode@1@@Z @ 1098 NONAME ABSENT ; void QDeclarativeText::setElideMode(enum QDeclarativeText::TextElideMode)
?d_func@QDeclarativePropertyMap@@ABEPBVQDeclarativePropertyMapPrivate@@XZ @ 1099 NONAME ; class QDeclarativePropertyMapPrivate const * QDeclarativePropertyMap::d_func(void) const
?consistentTime@QDeclarativeItemPrivate@@2_JA @ 1100 NONAME ; long long QDeclarativeItemPrivate::consistentTime
?setWidth@QDeclarativeItem@@QAEXM@Z @ 1101 NONAME ; void QDeclarativeItem::setWidth(float)
- ?qt_metacall@QDeclarativeDebugObjectQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1102 NONAME ; int QDeclarativeDebugObjectQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QDeclarativeDebugObjectQuery@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1102 NONAME ABSENT ; int QDeclarativeDebugObjectQuery::qt_metacall(enum QMetaObject::Call, int, void * *)
?contextObject@QDeclarativeContext@@QBEPAVQObject@@XZ @ 1103 NONAME ; class QObject * QDeclarativeContext::contextObject(void) const
- ??_EQDeclarativeOpenMetaObjectType@@UAE@I@Z @ 1104 NONAME ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(unsigned int)
- ?isWritable@QMetaPropertyBuilder@@QBE_NXZ @ 1105 NONAME ; bool QMetaPropertyBuilder::isWritable(void) const
- ?sizeFFromString@QDeclarativeStringConverters@@YA?AVQSizeF@@ABVQString@@PA_N@Z @ 1106 NONAME ; class QSizeF QDeclarativeStringConverters::sizeFFromString(class QString const &, bool *)
+ ??_EQDeclarativeOpenMetaObjectType@@UAE@I@Z @ 1104 NONAME ABSENT ; QDeclarativeOpenMetaObjectType::~QDeclarativeOpenMetaObjectType(unsigned int)
+ ?isWritable@QMetaPropertyBuilder@@QBE_NXZ @ 1105 NONAME ABSENT ; bool QMetaPropertyBuilder::isWritable(void) const
+ ?sizeFFromString@QDeclarativeStringConverters@@YA?AVQSizeF@@ABVQString@@PA_N@Z @ 1106 NONAME ABSENT ; class QSizeF QDeclarativeStringConverters::sizeFFromString(class QString const &, bool *)
??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeEngine@@@Z @ 1107 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &, class QDeclarativeEngine *)
- ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1108 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &)
- ??0QDeclarativeDebugFileReference@@QAE@XZ @ 1109 NONAME ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(void)
+ ?addMethod@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1108 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addMethod(class QByteArray const &)
+ ??0QDeclarativeDebugFileReference@@QAE@XZ @ 1109 NONAME ABSENT ; QDeclarativeDebugFileReference::QDeclarativeDebugFileReference(void)
?mapFromItem@QDeclarativeItem@@QBE?AVQScriptValue@@ABV2@MM@Z @ 1110 NONAME ; class QScriptValue QDeclarativeItem::mapFromItem(class QScriptValue const &, float, float) const
?trUtf8@QDeclarativeStateOperation@@SA?AVQString@@PBD0H@Z @ 1111 NONAME ; class QString QDeclarativeStateOperation::trUtf8(char const *, char const *, int)
- ?tr@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 1112 NONAME ; class QString QPacketProtocol::tr(char const *, char const *, int)
- ?d_func@QDeclarativeAnchors@@ABEPBVQDeclarativeAnchorsPrivate@@XZ @ 1113 NONAME ; class QDeclarativeAnchorsPrivate const * QDeclarativeAnchors::d_func(void) const
- ?setNotifySignal@QMetaPropertyBuilder@@QAEXABVQMetaMethodBuilder@@@Z @ 1114 NONAME ; void QMetaPropertyBuilder::setNotifySignal(class QMetaMethodBuilder const &)
- ?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1115 NONAME ; bool QDeclarativeBehavior::enabled(void) const
- ?initProperty@QDeclarativePropertyPrivate@@QAEXPAVQObject@@ABVQString@@@Z @ 1116 NONAME ; void QDeclarativePropertyPrivate::initProperty(class QObject *, class QString const &)
- ?isEditable@QMetaPropertyBuilder@@QBE_NXZ @ 1117 NONAME ; bool QMetaPropertyBuilder::isEditable(void) const
- ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContextData@@1@Z @ 1118 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContextData *, class QObject *)
- ?expression@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 1119 NONAME ; class QVariant QDeclarativeDebugExpressionQuery::expression(void) const
- ??4QDeclarativeDomList@@QAEAAV0@ABV0@@Z @ 1120 NONAME ; class QDeclarativeDomList & QDeclarativeDomList::operator=(class QDeclarativeDomList const &)
+ ?tr@QPacketProtocol@@SA?AVQString@@PBD0H@Z @ 1112 NONAME ABSENT ; class QString QPacketProtocol::tr(char const *, char const *, int)
+ ?d_func@QDeclarativeAnchors@@ABEPBVQDeclarativeAnchorsPrivate@@XZ @ 1113 NONAME ABSENT ; class QDeclarativeAnchorsPrivate const * QDeclarativeAnchors::d_func(void) const
+ ?setNotifySignal@QMetaPropertyBuilder@@QAEXABVQMetaMethodBuilder@@@Z @ 1114 NONAME ABSENT ; void QMetaPropertyBuilder::setNotifySignal(class QMetaMethodBuilder const &)
+ ?enabled@QDeclarativeBehavior@@QBE_NXZ @ 1115 NONAME ABSENT ; bool QDeclarativeBehavior::enabled(void) const
+ ?initProperty@QDeclarativePropertyPrivate@@QAEXPAVQObject@@ABVQString@@@Z @ 1116 NONAME ABSENT ; void QDeclarativePropertyPrivate::initProperty(class QObject *, class QString const &)
+ ?isEditable@QMetaPropertyBuilder@@QBE_NXZ @ 1117 NONAME ABSENT ; bool QMetaPropertyBuilder::isEditable(void) const
+ ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContextData@@1@Z @ 1118 NONAME ABSENT ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContextData *, class QObject *)
+ ?expression@QDeclarativeDebugExpressionQuery@@QBE?AVQVariant@@XZ @ 1119 NONAME ABSENT ; class QVariant QDeclarativeDebugExpressionQuery::expression(void) const
+ ??4QDeclarativeDomList@@QAEAAV0@ABV0@@Z @ 1120 NONAME ABSENT ; class QDeclarativeDomList & QDeclarativeDomList::operator=(class QDeclarativeDomList const &)
?qt_metacall@QDeclarativeComponent@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1121 NONAME ; int QDeclarativeComponent::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 1122 NONAME ; class QString QDeclarativeDebugService::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugService@@SA?AVQString@@PBD0H@Z @ 1122 NONAME ABSENT ; class QString QDeclarativeDebugService::tr(char const *, char const *, int)
?staticMetaObject@QDeclarativeEngine@@2UQMetaObject@@B @ 1123 NONAME ; struct QMetaObject const QDeclarativeEngine::staticMetaObject
?staticMetaObject@QDeclarativeStateOperation@@2UQMetaObject@@B @ 1124 NONAME ; struct QMetaObject const QDeclarativeStateOperation::staticMetaObject
?actions@QDeclarativeStateOperation@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1125 NONAME ; class QList<class QDeclarativeAction> QDeclarativeStateOperation::actions(void)
- ?objectClassName@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1126 NONAME ; class QByteArray QDeclarativeDomObject::objectClassName(void) const
+ ?objectClassName@QDeclarativeDomObject@@QBE?AVQByteArray@@XZ @ 1126 NONAME ABSENT ; class QByteArray QDeclarativeDomObject::objectClassName(void) const
??8QDeclarativeProperty@@QBE_NABV0@@Z @ 1127 NONAME ; bool QDeclarativeProperty::operator==(class QDeclarativeProperty const &) const
- ??1QDeclarativeDomValue@@QAE@XZ @ 1128 NONAME ; QDeclarativeDomValue::~QDeclarativeDomValue(void)
+ ??1QDeclarativeDomValue@@QAE@XZ @ 1128 NONAME ABSENT ; QDeclarativeDomValue::~QDeclarativeDomValue(void)
??_EQDeclarativePropertyMap@@UAE@I@Z @ 1129 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(unsigned int)
- ?staticMetaObject@QDeclarativeDebugRootContextQuery@@2UQMetaObject@@B @ 1130 NONAME ; struct QMetaObject const QDeclarativeDebugRootContextQuery::staticMetaObject
- ?noCreationReason@QDeclarativeType@@QBE?AVQString@@XZ @ 1131 NONAME ; class QString QDeclarativeType::noCreationReason(void) const
- ?setUrl@QDeclarativeDebugFileReference@@QAEXABVQUrl@@@Z @ 1132 NONAME ; void QDeclarativeDebugFileReference::setUrl(class QUrl const &)
+ ?staticMetaObject@QDeclarativeDebugRootContextQuery@@2UQMetaObject@@B @ 1130 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugRootContextQuery::staticMetaObject
+ ?noCreationReason@QDeclarativeType@@QBE?AVQString@@XZ @ 1131 NONAME ABSENT ; class QString QDeclarativeType::noCreationReason(void) const
+ ?setUrl@QDeclarativeDebugFileReference@@QAEXABVQUrl@@@Z @ 1132 NONAME ABSENT ; void QDeclarativeDebugFileReference::setUrl(class QUrl const &)
??1QDeclarativeCustomParserProperty@@QAE@XZ @ 1133 NONAME ; QDeclarativeCustomParserProperty::~QDeclarativeCustomParserProperty(void)
- ??1QPacketProtocol@@UAE@XZ @ 1134 NONAME ; QPacketProtocol::~QPacketProtocol(void)
- ??1QDeclarativeAbstractBinding@@MAE@XZ @ 1135 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void)
- ?indexOfEnumerator@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1136 NONAME ; int QMetaObjectBuilder::indexOfEnumerator(class QByteArray const &)
- ?qt_metacast@QDeclarativePen@@UAEPAXPBD@Z @ 1137 NONAME ; void * QDeclarativePen::qt_metacast(char const *)
- ?leftMargin@QDeclarativeAnchors@@QBEMXZ @ 1138 NONAME ; float QDeclarativeAnchors::leftMargin(void) const
+ ??1QPacketProtocol@@UAE@XZ @ 1134 NONAME ABSENT ; QPacketProtocol::~QPacketProtocol(void)
+ ??1QDeclarativeAbstractBinding@@MAE@XZ @ 1135 NONAME ABSENT ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(void)
+ ?indexOfEnumerator@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1136 NONAME ABSENT ; int QMetaObjectBuilder::indexOfEnumerator(class QByteArray const &)
+ ?qt_metacast@QDeclarativePen@@UAEPAXPBD@Z @ 1137 NONAME ABSENT ; void * QDeclarativePen::qt_metacast(char const *)
+ ?leftMargin@QDeclarativeAnchors@@QBEMXZ @ 1138 NONAME ABSENT ; float QDeclarativeAnchors::leftMargin(void) const
??1QDeclarativeComponent@@UAE@XZ @ 1139 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(void)
??1QDeclarativeItem@@UAE@XZ @ 1140 NONAME ; QDeclarativeItem::~QDeclarativeItem(void)
- ?setEnabled@QDeclarativeAbstractBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1141 NONAME ; void QDeclarativeAbstractBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
- ?staticMetaObject@QListModelInterface@@2UQMetaObject@@B @ 1142 NONAME ; struct QMetaObject const QListModelInterface::staticMetaObject
+ ?setEnabled@QDeclarativeAbstractBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1141 NONAME ABSENT ; void QDeclarativeAbstractBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?staticMetaObject@QListModelInterface@@2UQMetaObject@@B @ 1142 NONAME ABSENT ; struct QMetaObject const QListModelInterface::staticMetaObject
?d_func@QDeclarativeTransition@@ABEPBVQDeclarativeTransitionPrivate@@XZ @ 1143 NONAME ; class QDeclarativeTransitionPrivate const * QDeclarativeTransition::d_func(void) const
?sourceFile@QDeclarativeExpression@@QBE?AVQString@@XZ @ 1144 NONAME ; class QString QDeclarativeExpression::sourceFile(void) const
- ??_EQDeclarativeAnchors@@UAE@I@Z @ 1145 NONAME ; QDeclarativeAnchors::~QDeclarativeAnchors(unsigned int)
- ?removeNotifySignal@QMetaPropertyBuilder@@QAEXXZ @ 1146 NONAME ; void QMetaPropertyBuilder::removeNotifySignal(void)
- ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 1147 NONAME ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *)
+ ??_EQDeclarativeAnchors@@UAE@I@Z @ 1145 NONAME ABSENT ; QDeclarativeAnchors::~QDeclarativeAnchors(unsigned int)
+ ?removeNotifySignal@QMetaPropertyBuilder@@QAEXXZ @ 1146 NONAME ABSENT ; void QMetaPropertyBuilder::removeNotifySignal(void)
+ ?trUtf8@QDeclarativeDebugService@@SA?AVQString@@PBD0@Z @ 1147 NONAME ABSENT ; class QString QDeclarativeDebugService::trUtf8(char const *, char const *)
?setImportPathList@QDeclarativeEngine@@QAEXABVQStringList@@@Z @ 1148 NONAME ; void QDeclarativeEngine::setImportPathList(class QStringList const &)
?enabledChanged@QDeclarativeDebugService@@MAEX_N@Z @ 1149 NONAME ABSENT ; void QDeclarativeDebugService::enabledChanged(bool)
- ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1150 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1150 NONAME ABSENT ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugObjectReference const &, class QObject *)
?asAST@Variant@QDeclarativeParser@@QBEPAVNode@AST@QDeclarativeJS@@XZ @ 1151 NONAME ; class QDeclarativeJS::AST::Node * QDeclarativeParser::Variant::asAST(void) const
- ?indexOfClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1152 NONAME ; int QMetaObjectBuilder::indexOfClassInfo(class QByteArray const &)
- ??0QDeclarativeDomImport@@QAE@ABV0@@Z @ 1153 NONAME ; QDeclarativeDomImport::QDeclarativeDomImport(class QDeclarativeDomImport const &)
- ?width@QDeclarativePen@@QBEHXZ @ 1154 NONAME ; int QDeclarativePen::width(void) const
+ ?indexOfClassInfo@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1152 NONAME ABSENT ; int QMetaObjectBuilder::indexOfClassInfo(class QByteArray const &)
+ ??0QDeclarativeDomImport@@QAE@ABV0@@Z @ 1153 NONAME ABSENT ; QDeclarativeDomImport::QDeclarativeDomImport(class QDeclarativeDomImport const &)
+ ?width@QDeclarativePen@@QBEHXZ @ 1154 NONAME ABSENT ; int QDeclarativePen::width(void) const
?d_func@QDeclarativeStateGroup@@AAEPAVQDeclarativeStateGroupPrivate@@XZ @ 1155 NONAME ; class QDeclarativeStateGroupPrivate * QDeclarativeStateGroup::d_func(void)
??6QDeclarativeInfo@@QAEAAV0@P6AAAVQTextStream@@AAV1@@Z@Z @ 1156 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QTextStream & (*)(class QTextStream &))
- ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 1157 NONAME ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *)
- ?type@QDeclarativeOpenMetaObject@@QBEPAVQDeclarativeOpenMetaObjectType@@XZ @ 1158 NONAME ; class QDeclarativeOpenMetaObjectType * QDeclarativeOpenMetaObject::type(void) const
+ ?trUtf8@QDeclarativeEngineDebug@@SA?AVQString@@PBD0@Z @ 1157 NONAME ABSENT ; class QString QDeclarativeEngineDebug::trUtf8(char const *, char const *)
+ ?type@QDeclarativeOpenMetaObject@@QBEPAVQDeclarativeOpenMetaObjectType@@XZ @ 1158 NONAME ABSENT ; class QDeclarativeOpenMetaObjectType * QDeclarativeOpenMetaObject::type(void) const
?tr@QDeclarativeExpression@@SA?AVQString@@PBD0@Z @ 1159 NONAME ; class QString QDeclarativeExpression::tr(char const *, char const *)
- ??0QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 1160 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(void)
- ??1QDeclarativeDebugPropertyWatch@@UAE@XZ @ 1161 NONAME ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(void)
+ ??0QDeclarativeDomValueValueInterceptor@@QAE@XZ @ 1160 NONAME ABSENT ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(void)
+ ??1QDeclarativeDebugPropertyWatch@@UAE@XZ @ 1161 NONAME ABSENT ; QDeclarativeDebugPropertyWatch::~QDeclarativeDebugPropertyWatch(void)
?evaluate@QDeclarativeExpression@@QAE?AVQVariant@@PA_N@Z @ 1162 NONAME ; class QVariant QDeclarativeExpression::evaluate(bool *)
- ?isDefaultProperty@QDeclarativeDomProperty@@QBE_NXZ @ 1163 NONAME ; bool QDeclarativeDomProperty::isDefaultProperty(void) const
- ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1164 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QVariant const &)
- ?metaObject@QDeclarativeRectangle@@UBEPBUQMetaObject@@XZ @ 1165 NONAME ; struct QMetaObject const * QDeclarativeRectangle::metaObject(void) const
- ?removeRelatedMetaObject@QMetaObjectBuilder@@QAEXH@Z @ 1166 NONAME ; void QMetaObjectBuilder::removeRelatedMetaObject(int)
+ ?isDefaultProperty@QDeclarativeDomProperty@@QBE_NXZ @ 1163 NONAME ABSENT ; bool QDeclarativeDomProperty::isDefaultProperty(void) const
+ ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1164 NONAME ABSENT ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QVariant const &)
+ ?metaObject@QDeclarativeRectangle@@UBEPBUQMetaObject@@XZ @ 1165 NONAME ABSENT ; struct QMetaObject const * QDeclarativeRectangle::metaObject(void) const
+ ?removeRelatedMetaObject@QMetaObjectBuilder@@QAEXH@Z @ 1166 NONAME ABSENT ; void QMetaObjectBuilder::removeRelatedMetaObject(int)
??0QDeclarativeError@@QAE@XZ @ 1167 NONAME ; QDeclarativeError::QDeclarativeError(void)
- ?hasValue@QDeclarativeOpenMetaObject@@QBE_NH@Z @ 1168 NONAME ; bool QDeclarativeOpenMetaObject::hasValue(int) const
+ ?hasValue@QDeclarativeOpenMetaObject@@QBE_NH@Z @ 1168 NONAME ABSENT ; bool QDeclarativeOpenMetaObject::hasValue(int) const
?object@QDeclarativeProperty@@QBEPAVQObject@@XZ @ 1169 NONAME ; class QObject * QDeclarativeProperty::object(void) const
?stateGroup@QDeclarativeState@@QBEPAVQDeclarativeStateGroup@@XZ @ 1170 NONAME ; class QDeclarativeStateGroup * QDeclarativeState::stateGroup(void) const
?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@H@Z @ 1171 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, int) const
?focusChanged@QDeclarativeItemPrivate@@UAEX_N@Z @ 1172 NONAME ; void QDeclarativeItemPrivate::focusChanged(bool)
- ?contextDebugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 1173 NONAME ; int QDeclarativeDebugObjectReference::contextDebugId(void) const
- ?url@QDeclarativeDebugFileReference@@QBE?AVQUrl@@XZ @ 1174 NONAME ; class QUrl QDeclarativeDebugFileReference::url(void) const
- ?paint@QDeclarativeRectangle@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1175 NONAME ; void QDeclarativeRectangle::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?contextDebugId@QDeclarativeDebugObjectReference@@QBEHXZ @ 1173 NONAME ABSENT ; int QDeclarativeDebugObjectReference::contextDebugId(void) const
+ ?url@QDeclarativeDebugFileReference@@QBE?AVQUrl@@XZ @ 1174 NONAME ABSENT ; class QUrl QDeclarativeDebugFileReference::url(void) const
+ ?paint@QDeclarativeRectangle@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1175 NONAME ABSENT ; void QDeclarativeRectangle::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
??6QDeclarativeState@@QAEAAV0@PAVQDeclarativeStateOperation@@@Z @ 1176 NONAME ; class QDeclarativeState & QDeclarativeState::operator<<(class QDeclarativeStateOperation *)
- ?destroy@QDeclarativeAbstractBinding@@UAEXXZ @ 1177 NONAME ; void QDeclarativeAbstractBinding::destroy(void)
- ?qt_metacast@QDeclarativeDebugService@@UAEPAXPBD@Z @ 1178 NONAME ; void * QDeclarativeDebugService::qt_metacast(char const *)
- ?qt_metacast@QDeclarativeValueType@@UAEPAXPBD@Z @ 1179 NONAME ; void * QDeclarativeValueType::qt_metacast(char const *)
+ ?destroy@QDeclarativeAbstractBinding@@UAEXXZ @ 1177 NONAME ABSENT ; void QDeclarativeAbstractBinding::destroy(void)
+ ?qt_metacast@QDeclarativeDebugService@@UAEPAXPBD@Z @ 1178 NONAME ABSENT ; void * QDeclarativeDebugService::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeValueType@@UAEPAXPBD@Z @ 1179 NONAME ABSENT ; void * QDeclarativeValueType::qt_metacast(char const *)
?childAt@QDeclarativeItem@@QBEPAV1@MM@Z @ 1180 NONAME ; class QDeclarativeItem * QDeclarativeItem::childAt(float, float) const
- ?paintedWidth@QDeclarativeText@@QBEMXZ @ 1181 NONAME ; float QDeclarativeText::paintedWidth(void) const
- ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1182 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *)
+ ?paintedWidth@QDeclarativeText@@QBEMXZ @ 1181 NONAME ABSENT ; float QDeclarativeText::paintedWidth(void) const
+ ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1182 NONAME ABSENT ; class QString QDeclarativeBinding::tr(char const *, char const *)
?clip@QDeclarativeItem@@QBE_NXZ @ 1183 NONAME ; bool QDeclarativeItem::clip(void) const
- ??0QDeclarativeValueTypeFactory@@QAE@XZ @ 1184 NONAME ; QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory(void)
+ ??0QDeclarativeValueTypeFactory@@QAE@XZ @ 1184 NONAME ABSENT ; QDeclarativeValueTypeFactory::QDeclarativeValueTypeFactory(void)
??0QDeclarativeComponent@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@PAVQObject@@@Z @ 1185 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeEngine *, class QUrl const &, class QObject *)
- ?literal@QDeclarativeDomValueLiteral@@QBE?AVQString@@XZ @ 1186 NONAME ; class QString QDeclarativeDomValueLiteral::literal(void) const
- ??_EQDeclarativeEngineDebug@@UAE@I@Z @ 1187 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(unsigned int)
- ?bottom@QDeclarativeScaleGrid@@QBEHXZ @ 1188 NONAME ; int QDeclarativeScaleGrid::bottom(void) const
+ ?literal@QDeclarativeDomValueLiteral@@QBE?AVQString@@XZ @ 1186 NONAME ABSENT ; class QString QDeclarativeDomValueLiteral::literal(void) const
+ ??_EQDeclarativeEngineDebug@@UAE@I@Z @ 1187 NONAME ABSENT ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(unsigned int)
+ ?bottom@QDeclarativeScaleGrid@@QBEHXZ @ 1188 NONAME ABSENT ; int QDeclarativeScaleGrid::bottom(void) const
?d_func@QDeclarativePropertyMap@@AAEPAVQDeclarativePropertyMapPrivate@@XZ @ 1189 NONAME ; class QDeclarativePropertyMapPrivate * QDeclarativePropertyMap::d_func(void)
?trUtf8@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1190 NONAME ; class QString QDeclarativeView::trUtf8(char const *, char const *)
?rect@QDeclarativePixmap@@QBE?AVQRect@@XZ @ 1191 NONAME ; class QRect QDeclarativePixmap::rect(void) const
??0QDeclarativeTransition@@QAE@PAVQObject@@@Z @ 1192 NONAME ; QDeclarativeTransition::QDeclarativeTransition(class QObject *)
- ?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1193 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const
+ ?horizontalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1193 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::horizontalCenter(void) const
?setObjectOwnership@QDeclarativeEngine@@SAXPAVQObject@@W4ObjectOwnership@1@@Z @ 1194 NONAME ; void QDeclarativeEngine::setObjectOwnership(class QObject *, enum QDeclarativeEngine::ObjectOwnership)
?tr@QDeclarativeContext@@SA?AVQString@@PBD0H@Z @ 1195 NONAME ; class QString QDeclarativeContext::tr(char const *, char const *, int)
- ?metaCall@QDeclarativeOpenMetaObject@@MAEHW4Call@QMetaObject@@HPAPAX@Z @ 1196 NONAME ; int QDeclarativeOpenMetaObject::metaCall(enum QMetaObject::Call, int, void * *)
- ??_EQDeclarativeText@@UAE@I@Z @ 1197 NONAME ; QDeclarativeText::~QDeclarativeText(unsigned int)
- ?setLeftMargin@QDeclarativeAnchors@@QAEXM@Z @ 1198 NONAME ; void QDeclarativeAnchors::setLeftMargin(float)
+ ?metaCall@QDeclarativeOpenMetaObject@@MAEHW4Call@QMetaObject@@HPAPAX@Z @ 1196 NONAME ABSENT ; int QDeclarativeOpenMetaObject::metaCall(enum QMetaObject::Call, int, void * *)
+ ??_EQDeclarativeText@@UAE@I@Z @ 1197 NONAME ABSENT ; QDeclarativeText::~QDeclarativeText(unsigned int)
+ ?setLeftMargin@QDeclarativeAnchors@@QAEXM@Z @ 1198 NONAME ABSENT ; void QDeclarativeAnchors::setLeftMargin(float)
?metaObject@QDeclarativeStateGroup@@UBEPBUQMetaObject@@XZ @ 1199 NONAME ; struct QMetaObject const * QDeclarativeStateGroup::metaObject(void) const
- ?expression@QDeclarativeAbstractBinding@@UBE?AVQString@@XZ @ 1200 NONAME ; class QString QDeclarativeAbstractBinding::expression(void) const
+ ?expression@QDeclarativeAbstractBinding@@UBE?AVQString@@XZ @ 1200 NONAME ABSENT ; class QString QDeclarativeAbstractBinding::expression(void) const
??6QDeclarativeInfo@@QAEAAV0@N@Z @ 1201 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(double)
- ?setAnimation@QDeclarativeBehavior@@QAEXPAVQDeclarativeAbstractAnimation@@@Z @ 1202 NONAME ; void QDeclarativeBehavior::setAnimation(class QDeclarativeAbstractAnimation *)
- ?properties@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugPropertyReference@@@@XZ @ 1203 NONAME ; class QList<class QDeclarativeDebugPropertyReference> QDeclarativeDebugObjectReference::properties(void) const
+ ?setAnimation@QDeclarativeBehavior@@QAEXPAVQDeclarativeAbstractAnimation@@@Z @ 1202 NONAME ABSENT ; void QDeclarativeBehavior::setAnimation(class QDeclarativeAbstractAnimation *)
+ ?properties@QDeclarativeDebugObjectReference@@QBE?AV?$QList@VQDeclarativeDebugPropertyReference@@@@XZ @ 1203 NONAME ABSENT ; class QList<class QDeclarativeDebugPropertyReference> QDeclarativeDebugObjectReference::properties(void) const
?trUtf8@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1204 NONAME ; class QString QDeclarativePixmap::trUtf8(char const *, char const *)
- ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 1205 NONAME ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *)
+ ?trUtf8@QDeclarativeDebugClient@@SA?AVQString@@PBD0@Z @ 1205 NONAME ABSENT ; class QString QDeclarativeDebugClient::trUtf8(char const *, char const *)
?context@QDeclarativeExpression@@QBEPAVQDeclarativeContext@@XZ @ 1206 NONAME ; class QDeclarativeContext * QDeclarativeExpression::context(void) const
- ?qt_metacast@QDeclarativeBehavior@@UAEPAXPBD@Z @ 1207 NONAME ; void * QDeclarativeBehavior::qt_metacast(char const *)
- ?objectTypeMinorVersion@QDeclarativeDomObject@@QBEHXZ @ 1208 NONAME ; int QDeclarativeDomObject::objectTypeMinorVersion(void) const
+ ?qt_metacast@QDeclarativeBehavior@@UAEPAXPBD@Z @ 1207 NONAME ABSENT ; void * QDeclarativeBehavior::qt_metacast(char const *)
+ ?objectTypeMinorVersion@QDeclarativeDomObject@@QBEHXZ @ 1208 NONAME ABSENT ; int QDeclarativeDomObject::objectTypeMinorVersion(void) const
??0QDeclarativePropertyValueInterceptor@@QAE@XZ @ 1209 NONAME ; QDeclarativePropertyValueInterceptor::QDeclarativePropertyValueInterceptor(void)
?isValid@QDeclarativeError@@QBE_NXZ @ 1210 NONAME ; bool QDeclarativeError::isValid(void) const
- ??0QMetaMethodBuilder@@QAE@XZ @ 1211 NONAME ; QMetaMethodBuilder::QMetaMethodBuilder(void)
+ ??0QMetaMethodBuilder@@QAE@XZ @ 1211 NONAME ABSENT ; QMetaMethodBuilder::QMetaMethodBuilder(void)
?completed@QDeclarativeState@@IAEXXZ @ 1212 NONAME ; void QDeclarativeState::completed(void)
- ?radiusChanged@QDeclarativeRectangle@@IAEXXZ @ 1213 NONAME ; void QDeclarativeRectangle::radiusChanged(void)
+ ?radiusChanged@QDeclarativeRectangle@@IAEXXZ @ 1213 NONAME ABSENT ; void QDeclarativeRectangle::radiusChanged(void)
?getStaticMetaObject@QDeclarativeExpression@@SAABUQMetaObject@@XZ @ 1214 NONAME ; struct QMetaObject const & QDeclarativeExpression::getStaticMetaObject(void)
- ?gridLeft@QDeclarativeGridScaledImage@@QBEHXZ @ 1215 NONAME ; int QDeclarativeGridScaledImage::gridLeft(void) const
- ?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 1216 NONAME ; void QMetaPropertyBuilder::setWritable(bool)
+ ?gridLeft@QDeclarativeGridScaledImage@@QBEHXZ @ 1215 NONAME ABSENT ; int QDeclarativeGridScaledImage::gridLeft(void) const
+ ?setWritable@QMetaPropertyBuilder@@QAEX_N@Z @ 1216 NONAME ABSENT ; void QMetaPropertyBuilder::setWritable(bool)
?qt_metacast@QDeclarativeStateGroup@@UAEPAXPBD@Z @ 1217 NONAME ; void * QDeclarativeStateGroup::qt_metacast(char const *)
- ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PAVQObject@@@Z @ 1218 NONAME ; class QMetaMethod QDeclarativeMetaType::defaultMethod(class QObject *)
- ?qt_metacast@QDeclarativeEngineDebug@@UAEPAXPBD@Z @ 1219 NONAME ; void * QDeclarativeEngineDebug::qt_metacast(char const *)
+ ?defaultMethod@QDeclarativeMetaType@@SA?AVQMetaMethod@@PAVQObject@@@Z @ 1218 NONAME ABSENT ; class QMetaMethod QDeclarativeMetaType::defaultMethod(class QObject *)
+ ?qt_metacast@QDeclarativeEngineDebug@@UAEPAXPBD@Z @ 1219 NONAME ABSENT ; void * QDeclarativeEngineDebug::qt_metacast(char const *)
?staticMetaObject@QDeclarativeExpression@@2UQMetaObject@@B @ 1220 NONAME ; struct QMetaObject const QDeclarativeExpression::staticMetaObject
?statusChanged@QDeclarativeComponent@@IAEXW4Status@1@@Z @ 1221 NONAME ; void QDeclarativeComponent::statusChanged(enum QDeclarativeComponent::Status)
- ?setTarget@QDeclarativeBinding@@QAEXABVQDeclarativeProperty@@@Z @ 1222 NONAME ; void QDeclarativeBinding::setTarget(class QDeclarativeProperty const &)
+ ?setTarget@QDeclarativeBinding@@QAEXABVQDeclarativeProperty@@@Z @ 1222 NONAME ABSENT ; void QDeclarativeBinding::setTarget(class QDeclarativeProperty const &)
?imageProvider@QDeclarativeEngine@@QBEPAVQDeclarativeImageProvider@@ABVQString@@@Z @ 1223 NONAME ; class QDeclarativeImageProvider * QDeclarativeEngine::imageProvider(class QString const &) const
- ?packetsAvailable@QPacketProtocol@@QBE_JXZ @ 1224 NONAME ; long long QPacketProtocol::packetsAvailable(void) const
- ?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 1225 NONAME ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const
- ?attachedPropertiesFuncById@QDeclarativeMetaType@@SAP6APAVQObject@@PAV2@@ZH@Z @ 1226 NONAME ; class QObject * (*)(class QObject *) QDeclarativeMetaType::attachedPropertiesFuncById(int)
- ?resetBaseline@QDeclarativeAnchors@@QAEXXZ @ 1227 NONAME ; void QDeclarativeAnchors::resetBaseline(void)
- ?name@QDeclarativeDebugClient@@QBE?AVQString@@XZ @ 1228 NONAME ; class QString QDeclarativeDebugClient::name(void) const
- ?propertyValueInterceptorCast@QDeclarativeType@@QBEHXZ @ 1229 NONAME ; int QDeclarativeType::propertyValueInterceptorCast(void) const
+ ?packetsAvailable@QPacketProtocol@@QBE_JXZ @ 1224 NONAME ABSENT ; long long QPacketProtocol::packetsAvailable(void) const
+ ?state@QDeclarativeDebugWatch@@QBE?AW4State@1@XZ @ 1225 NONAME ABSENT ; enum QDeclarativeDebugWatch::State QDeclarativeDebugWatch::state(void) const
+ ?attachedPropertiesFuncById@QDeclarativeMetaType@@SAP6APAVQObject@@PAV2@@ZH@Z @ 1226 NONAME ABSENT ; class QObject * (*)(class QObject *) QDeclarativeMetaType::attachedPropertiesFuncById(int)
+ ?resetBaseline@QDeclarativeAnchors@@QAEXXZ @ 1227 NONAME ABSENT ; void QDeclarativeAnchors::resetBaseline(void)
+ ?name@QDeclarativeDebugClient@@QBE?AVQString@@XZ @ 1228 NONAME ABSENT ; class QString QDeclarativeDebugClient::name(void) const
+ ?propertyValueInterceptorCast@QDeclarativeType@@QBEHXZ @ 1229 NONAME ABSENT ; int QDeclarativeType::propertyValueInterceptorCast(void) const
?setData@QDeclarativeComponent@@QAEXABVQByteArray@@ABVQUrl@@@Z @ 1230 NONAME ; void QDeclarativeComponent::setData(class QByteArray const &, class QUrl const &)
- ??4QDeclarativeDomValue@@QAEAAV0@ABV0@@Z @ 1231 NONAME ; class QDeclarativeDomValue & QDeclarativeDomValue::operator=(class QDeclarativeDomValue const &)
- ?toString@QDeclarativeListModel@@UBE?AVQString@@H@Z @ 1232 NONAME ; class QString QDeclarativeListModel::toString(int) const
+ ??4QDeclarativeDomValue@@QAEAAV0@ABV0@@Z @ 1231 NONAME ABSENT ; class QDeclarativeDomValue & QDeclarativeDomValue::operator=(class QDeclarativeDomValue const &)
+ ?toString@QDeclarativeListModel@@UBE?AVQString@@H@Z @ 1232 NONAME ABSENT ; class QString QDeclarativeListModel::toString(int) const
?resetWidth@QDeclarativeItem@@QAEXXZ @ 1233 NONAME ; void QDeclarativeItem::resetWidth(void)
??0QDeclarativeProperty@@QAE@ABV0@@Z @ 1234 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QDeclarativeProperty const &)
- ?text@QDeclarativeText@@QBE?AVQString@@XZ @ 1235 NONAME ; class QString QDeclarativeText::text(void) const
- ??1QDeclarativeDebugObjectQuery@@UAE@XZ @ 1236 NONAME ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(void)
- ?count@QDeclarativeOpenMetaObject@@QBEHXZ @ 1237 NONAME ; int QDeclarativeOpenMetaObject::count(void) const
- ?isFlag@QMetaEnumBuilder@@QBE_NXZ @ 1238 NONAME ; bool QMetaEnumBuilder::isFlag(void) const
- ?bindingIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1239 NONAME ; int QDeclarativePropertyPrivate::bindingIndex(class QDeclarativeProperty const &)
- ??0QDeclarativeDomValueBinding@@QAE@ABV0@@Z @ 1240 NONAME ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(class QDeclarativeDomValueBinding const &)
- ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 1241 NONAME ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *)
- ?classInfoName@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 1242 NONAME ; class QByteArray QMetaObjectBuilder::classInfoName(int) const
- ?metaObject@QDeclarativeDebugObjectQuery@@UBEPBUQMetaObject@@XZ @ 1243 NONAME ; struct QMetaObject const * QDeclarativeDebugObjectQuery::metaObject(void) const
- ??4QDeclarativeDomDynamicProperty@@QAEAAV0@ABV0@@Z @ 1244 NONAME ; class QDeclarativeDomDynamicProperty & QDeclarativeDomDynamicProperty::operator=(class QDeclarativeDomDynamicProperty const &)
- ??_EQDeclarativeDebugEngineReference@@QAE@I@Z @ 1245 NONAME ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(unsigned int)
- ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 1246 NONAME ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const
+ ?text@QDeclarativeText@@QBE?AVQString@@XZ @ 1235 NONAME ABSENT ; class QString QDeclarativeText::text(void) const
+ ??1QDeclarativeDebugObjectQuery@@UAE@XZ @ 1236 NONAME ABSENT ; QDeclarativeDebugObjectQuery::~QDeclarativeDebugObjectQuery(void)
+ ?count@QDeclarativeOpenMetaObject@@QBEHXZ @ 1237 NONAME ABSENT ; int QDeclarativeOpenMetaObject::count(void) const
+ ?isFlag@QMetaEnumBuilder@@QBE_NXZ @ 1238 NONAME ABSENT ; bool QMetaEnumBuilder::isFlag(void) const
+ ?bindingIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1239 NONAME ABSENT ; int QDeclarativePropertyPrivate::bindingIndex(class QDeclarativeProperty const &)
+ ??0QDeclarativeDomValueBinding@@QAE@ABV0@@Z @ 1240 NONAME ABSENT ; QDeclarativeDomValueBinding::QDeclarativeDomValueBinding(class QDeclarativeDomValueBinding const &)
+ ?trUtf8@QDeclarativeRectangle@@SA?AVQString@@PBD0@Z @ 1241 NONAME ABSENT ; class QString QDeclarativeRectangle::trUtf8(char const *, char const *)
+ ?classInfoName@QMetaObjectBuilder@@QBE?AVQByteArray@@H@Z @ 1242 NONAME ABSENT ; class QByteArray QMetaObjectBuilder::classInfoName(int) const
+ ?metaObject@QDeclarativeDebugObjectQuery@@UBEPBUQMetaObject@@XZ @ 1243 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugObjectQuery::metaObject(void) const
+ ??4QDeclarativeDomDynamicProperty@@QAEAAV0@ABV0@@Z @ 1244 NONAME ABSENT ; class QDeclarativeDomDynamicProperty & QDeclarativeDomDynamicProperty::operator=(class QDeclarativeDomDynamicProperty const &)
+ ??_EQDeclarativeDebugEngineReference@@QAE@I@Z @ 1245 NONAME ABSENT ; QDeclarativeDebugEngineReference::~QDeclarativeDebugEngineReference(unsigned int)
+ ?usedAnchors@QDeclarativeAnchors@@QBE?AV?$QFlags@W4Anchor@QDeclarativeAnchors@@@@XZ @ 1246 NONAME ABSENT ; class QFlags<enum QDeclarativeAnchors::Anchor> QDeclarativeAnchors::usedAnchors(void) const
?baseline@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1247 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::baseline(void) const
- ?clear@QDeclarativeListModel@@QAEXXZ @ 1248 NONAME ; void QDeclarativeListModel::clear(void)
- ??0QDeclarativeDebugObjectExpressionWatch@@QAE@PAVQObject@@@Z @ 1249 NONAME ; QDeclarativeDebugObjectExpressionWatch::QDeclarativeDebugObjectExpressionWatch(class QObject *)
- ??4QDeclarativeDomProperty@@QAEAAV0@ABV0@@Z @ 1250 NONAME ; class QDeclarativeDomProperty & QDeclarativeDomProperty::operator=(class QDeclarativeDomProperty const &)
+ ?clear@QDeclarativeListModel@@QAEXXZ @ 1248 NONAME ABSENT ; void QDeclarativeListModel::clear(void)
+ ??0QDeclarativeDebugObjectExpressionWatch@@QAE@PAVQObject@@@Z @ 1249 NONAME ABSENT ; QDeclarativeDebugObjectExpressionWatch::QDeclarativeDebugObjectExpressionWatch(class QObject *)
+ ??4QDeclarativeDomProperty@@QAEAAV0@ABV0@@Z @ 1250 NONAME ABSENT ; class QDeclarativeDomProperty & QDeclarativeDomProperty::operator=(class QDeclarativeDomProperty const &)
?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@@Z @ 1251 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &)
?trUtf8@QDeclarativeContext@@SA?AVQString@@PBD0@Z @ 1252 NONAME ; class QString QDeclarativeContext::trUtf8(char const *, char const *)
- ?borderChanged@QDeclarativeScaleGrid@@IAEXXZ @ 1253 NONAME ; void QDeclarativeScaleGrid::borderChanged(void)
- ??1QDeclarativeRectangle@@UAE@XZ @ 1254 NONAME ; QDeclarativeRectangle::~QDeclarativeRectangle(void)
+ ?borderChanged@QDeclarativeScaleGrid@@IAEXXZ @ 1253 NONAME ABSENT ; void QDeclarativeScaleGrid::borderChanged(void)
+ ??1QDeclarativeRectangle@@UAE@XZ @ 1254 NONAME ABSENT ; QDeclarativeRectangle::~QDeclarativeRectangle(void)
?count@QDeclarativePropertyMap@@QBEHXZ @ 1255 NONAME ; int QDeclarativePropertyMap::count(void) const
- ?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1256 NONAME ; void QMetaMethodBuilder::setReturnType(class QByteArray const &)
+ ?setReturnType@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1256 NONAME ABSENT ; void QMetaMethodBuilder::setReturnType(class QByteArray const &)
??0QDeclarativePropertyValueSource@@QAE@XZ @ 1257 NONAME ; QDeclarativePropertyValueSource::QDeclarativePropertyValueSource(void)
- ?tr@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 1258 NONAME ; class QString QDeclarativePen::tr(char const *, char const *, int)
- ?toLiteral@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueLiteral@@XZ @ 1259 NONAME ; class QDeclarativeDomValueLiteral QDeclarativeDomValue::toLiteral(void) const
- ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@_N@Z @ 1260 NONAME ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, bool)
+ ?tr@QDeclarativePen@@SA?AVQString@@PBD0H@Z @ 1258 NONAME ABSENT ; class QString QDeclarativePen::tr(char const *, char const *, int)
+ ?toLiteral@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueLiteral@@XZ @ 1259 NONAME ABSENT ; class QDeclarativeDomValueLiteral QDeclarativeDomValue::toLiteral(void) const
+ ??0QDeclarativeOpenMetaObject@@QAE@PAVQObject@@_N@Z @ 1260 NONAME ABSENT ; QDeclarativeOpenMetaObject::QDeclarativeOpenMetaObject(class QObject *, bool)
?url@QDeclarativeComponent@@QBE?AVQUrl@@XZ @ 1261 NONAME ; class QUrl QDeclarativeComponent::url(void) const
?componentComplete@QDeclarativeStateGroup@@UAEXXZ @ 1262 NONAME ; void QDeclarativeStateGroup::componentComplete(void)
- ?setMargins@QDeclarativeAnchors@@QAEXM@Z @ 1263 NONAME ; void QDeclarativeAnchors::setMargins(float)
+ ?setMargins@QDeclarativeAnchors@@QAEXM@Z @ 1263 NONAME ABSENT ; void QDeclarativeAnchors::setMargins(float)
?qt_metacall@QDeclarativeView@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1264 NONAME ; int QDeclarativeView::qt_metacall(enum QMetaObject::Call, int, void * *)
?state@QDeclarativeStateGroup@@QBE?AVQString@@XZ @ 1265 NONAME ; class QString QDeclarativeStateGroup::state(void) const
- ??0QDeclarativeDomComponent@@QAE@ABV0@@Z @ 1266 NONAME ; QDeclarativeDomComponent::QDeclarativeDomComponent(class QDeclarativeDomComponent const &)
- ?queryAvailableEngines@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugEnginesQuery@@PAVQObject@@@Z @ 1267 NONAME ; class QDeclarativeDebugEnginesQuery * QDeclarativeEngineDebug::queryAvailableEngines(class QObject *)
+ ??0QDeclarativeDomComponent@@QAE@ABV0@@Z @ 1266 NONAME ABSENT ; QDeclarativeDomComponent::QDeclarativeDomComponent(class QDeclarativeDomComponent const &)
+ ?queryAvailableEngines@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugEnginesQuery@@PAVQObject@@@Z @ 1267 NONAME ABSENT ; class QDeclarativeDebugEnginesQuery * QDeclarativeEngineDebug::queryAvailableEngines(class QObject *)
??_EQDeclarativeItemPrivate@@UAE@I@Z @ 1268 NONAME ; QDeclarativeItemPrivate::~QDeclarativeItemPrivate(unsigned int)
- ?expression@QDeclarativeBinding@@UBE?AVQString@@XZ @ 1269 NONAME ; class QString QDeclarativeBinding::expression(void) const
- ?position@QDeclarativeDomProperty@@QBEHXZ @ 1270 NONAME ; int QDeclarativeDomProperty::position(void) const
- ?registerValueTypes@QDeclarativeValueTypeFactory@@SAXXZ @ 1271 NONAME ; void QDeclarativeValueTypeFactory::registerValueTypes(void)
- ?dynamicProperties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomDynamicProperty@@@@XZ @ 1272 NONAME ; class QList<class QDeclarativeDomDynamicProperty> QDeclarativeDomObject::dynamicProperties(void) const
- ?attachedPropertiesFunction@QDeclarativeType@@QBEP6APAVQObject@@PAV2@@ZXZ @ 1273 NONAME ; class QObject * (*)(class QObject *) QDeclarativeType::attachedPropertiesFunction(void) const
+ ?expression@QDeclarativeBinding@@UBE?AVQString@@XZ @ 1269 NONAME ABSENT ; class QString QDeclarativeBinding::expression(void) const
+ ?position@QDeclarativeDomProperty@@QBEHXZ @ 1270 NONAME ABSENT ; int QDeclarativeDomProperty::position(void) const
+ ?registerValueTypes@QDeclarativeValueTypeFactory@@SAXXZ @ 1271 NONAME ABSENT ; void QDeclarativeValueTypeFactory::registerValueTypes(void)
+ ?dynamicProperties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomDynamicProperty@@@@XZ @ 1272 NONAME ABSENT ; class QList<class QDeclarativeDomDynamicProperty> QDeclarativeDomObject::dynamicProperties(void) const
+ ?attachedPropertiesFunction@QDeclarativeType@@QBEP6APAVQObject@@PAV2@@ZXZ @ 1273 NONAME ABSENT ; class QObject * (*)(class QObject *) QDeclarativeType::attachedPropertiesFunction(void) const
??1QDeclarativePropertyMap@@UAE@XZ @ 1274 NONAME ; QDeclarativePropertyMap::~QDeclarativePropertyMap(void)
??_EQDeclarativeExtensionInterface@@UAE@I@Z @ 1275 NONAME ; QDeclarativeExtensionInterface::~QDeclarativeExtensionInterface(unsigned int)
??0Variant@QDeclarativeParser@@QAE@NABVQString@@@Z @ 1276 NONAME ; QDeclarativeParser::Variant::Variant(double, class QString const &)
??6QDeclarativeInfo@@QAEAAV0@VQBool@@@Z @ 1277 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QBool)
- ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@HHPAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1278 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, int, int, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
- ?qt_metacast@QDeclarativeDebugExpressionQuery@@UAEPAXPBD@Z @ 1279 NONAME ; void * QDeclarativeDebugExpressionQuery::qt_metacast(char const *)
+ ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@PAVQObject@@HHPAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1278 NONAME ABSENT ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QObject *, int, int, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?qt_metacast@QDeclarativeDebugExpressionQuery@@UAEPAXPBD@Z @ 1279 NONAME ABSENT ; void * QDeclarativeDebugExpressionQuery::qt_metacast(char const *)
?contextProperty@QDeclarativeContext@@QBE?AVQVariant@@ABVQString@@@Z @ 1280 NONAME ; class QVariant QDeclarativeContext::contextProperty(class QString const &) const
?verticalCenter@QDeclarativeItemPrivate@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1281 NONAME ; class QDeclarativeAnchorLine QDeclarativeItemPrivate::verticalCenter(void) const
- ?metaObject@QDeclarativeScaleGrid@@UBEPBUQMetaObject@@XZ @ 1282 NONAME ; struct QMetaObject const * QDeclarativeScaleGrid::metaObject(void) const
+ ?metaObject@QDeclarativeScaleGrid@@UBEPBUQMetaObject@@XZ @ 1282 NONAME ABSENT ; struct QMetaObject const * QDeclarativeScaleGrid::metaObject(void) const
?qmlContext@@YAPAVQDeclarativeContext@@PBVQObject@@@Z @ 1283 NONAME ; class QDeclarativeContext * qmlContext(class QObject const *)
- ?setMethodBody@QDeclarativeEngineDebug@@QAE_NHABVQString@@0@Z @ 1284 NONAME ; bool QDeclarativeEngineDebug::setMethodBody(int, class QString const &, class QString const &)
+ ?setMethodBody@QDeclarativeEngineDebug@@QAE_NHABVQString@@0@Z @ 1284 NONAME ABSENT ; bool QDeclarativeEngineDebug::setMethodBody(int, class QString const &, class QString const &)
?transform_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQGraphicsTransform@@@@@Z @ 1285 NONAME ; int QDeclarativeItemPrivate::transform_count(class QDeclarativeListProperty<class QGraphicsTransform> *)
- ?tr@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 1286 NONAME ; class QString QListModelInterface::tr(char const *, char const *, int)
- ??1QDeclarativeDebugFileReference@@QAE@XZ @ 1287 NONAME ; QDeclarativeDebugFileReference::~QDeclarativeDebugFileReference(void)
- ?style@QDeclarativeText@@QBE?AW4TextStyle@1@XZ @ 1288 NONAME ; enum QDeclarativeText::TextStyle QDeclarativeText::style(void) const
- ??0QDeclarativeAbstractBinding@@QAE@XZ @ 1289 NONAME ; QDeclarativeAbstractBinding::QDeclarativeAbstractBinding(void)
- ?staticMetaObject@QDeclarativeDebugEnginesQuery@@2UQMetaObject@@B @ 1290 NONAME ; struct QMetaObject const QDeclarativeDebugEnginesQuery::staticMetaObject
+ ?tr@QListModelInterface@@SA?AVQString@@PBD0H@Z @ 1286 NONAME ABSENT ; class QString QListModelInterface::tr(char const *, char const *, int)
+ ??1QDeclarativeDebugFileReference@@QAE@XZ @ 1287 NONAME ABSENT ; QDeclarativeDebugFileReference::~QDeclarativeDebugFileReference(void)
+ ?style@QDeclarativeText@@QBE?AW4TextStyle@1@XZ @ 1288 NONAME ABSENT ; enum QDeclarativeText::TextStyle QDeclarativeText::style(void) const
+ ??0QDeclarativeAbstractBinding@@QAE@XZ @ 1289 NONAME ABSENT ; QDeclarativeAbstractBinding::QDeclarativeAbstractBinding(void)
+ ?staticMetaObject@QDeclarativeDebugEnginesQuery@@2UQMetaObject@@B @ 1290 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugEnginesQuery::staticMetaObject
?tr@QDeclarativePixmap@@SA?AVQString@@PBD0@Z @ 1291 NONAME ; class QString QDeclarativePixmap::tr(char const *, char const *)
?isError@QDeclarativeComponent@@QBE_NXZ @ 1292 NONAME ; bool QDeclarativeComponent::isError(void) const
?qt_metacall@QDeclarativeTransition@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1293 NONAME ; int QDeclarativeTransition::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?type@QDeclarativeDomImport@@QBE?AW4Type@1@XZ @ 1294 NONAME ; enum QDeclarativeDomImport::Type QDeclarativeDomImport::type(void) const
- ??1QDeclarativeDebugConnection@@UAE@XZ @ 1295 NONAME ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(void)
- ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@H@Z @ 1296 NONAME ; class QVariant QDeclarativeOpenMetaObject::value(int) const
- ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 1297 NONAME ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *, int)
+ ?type@QDeclarativeDomImport@@QBE?AW4Type@1@XZ @ 1294 NONAME ABSENT ; enum QDeclarativeDomImport::Type QDeclarativeDomImport::type(void) const
+ ??1QDeclarativeDebugConnection@@UAE@XZ @ 1295 NONAME ABSENT ; QDeclarativeDebugConnection::~QDeclarativeDebugConnection(void)
+ ?value@QDeclarativeOpenMetaObject@@QBE?AVQVariant@@H@Z @ 1296 NONAME ABSENT ; class QVariant QDeclarativeOpenMetaObject::value(int) const
+ ?tr@QDeclarativeDebugRootContextQuery@@SA?AVQString@@PBD0H@Z @ 1297 NONAME ABSENT ; class QString QDeclarativeDebugRootContextQuery::tr(char const *, char const *, int)
?setFromState@QDeclarativeTransition@@QAEXABVQString@@@Z @ 1298 NONAME ; void QDeclarativeTransition::setFromState(class QString const &)
- ?metaObject@QDeclarativeDebugService@@UBEPBUQMetaObject@@XZ @ 1299 NONAME ; struct QMetaObject const * QDeclarativeDebugService::metaObject(void) const
- ?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 1300 NONAME ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const
- ?setBottom@QDeclarativeScaleGrid@@QAEXH@Z @ 1301 NONAME ; void QDeclarativeScaleGrid::setBottom(int)
- ?topMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1302 NONAME ; void QDeclarativeAnchors::topMarginChanged(void)
+ ?metaObject@QDeclarativeDebugService@@UBEPBUQMetaObject@@XZ @ 1299 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugService::metaObject(void) const
+ ?state@QDeclarativeDebugQuery@@QBE?AW4State@1@XZ @ 1300 NONAME ABSENT ; enum QDeclarativeDebugQuery::State QDeclarativeDebugQuery::state(void) const
+ ?setBottom@QDeclarativeScaleGrid@@QAEXH@Z @ 1301 NONAME ABSENT ; void QDeclarativeScaleGrid::setBottom(int)
+ ?topMarginChanged@QDeclarativeAnchors@@IAEXXZ @ 1302 NONAME ABSENT ; void QDeclarativeAnchors::topMarginChanged(void)
?itemChange@QDeclarativeItem@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1303 NONAME ; class QVariant QDeclarativeItem::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
- ?position@QDeclarativeDomObject@@QBEHXZ @ 1304 NONAME ; int QDeclarativeDomObject::position(void) const
- ?update@QDeclarativeBinding@@UAEXV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1305 NONAME ; void QDeclarativeBinding::update(class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
- ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 1306 NONAME ; class QString QDeclarativeBehavior::tr(char const *, char const *)
- ?isDebuggingEnabled@QDeclarativeDebugService@@SA_NXZ @ 1307 NONAME ; bool QDeclarativeDebugService::isDebuggingEnabled(void)
- ?tr@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 1308 NONAME ; class QString QDeclarativeText::tr(char const *, char const *, int)
+ ?position@QDeclarativeDomObject@@QBEHXZ @ 1304 NONAME ABSENT ; int QDeclarativeDomObject::position(void) const
+ ?update@QDeclarativeBinding@@UAEXV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1305 NONAME ABSENT ; void QDeclarativeBinding::update(class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?tr@QDeclarativeBehavior@@SA?AVQString@@PBD0@Z @ 1306 NONAME ABSENT ; class QString QDeclarativeBehavior::tr(char const *, char const *)
+ ?isDebuggingEnabled@QDeclarativeDebugService@@SA_NXZ @ 1307 NONAME ABSENT ; bool QDeclarativeDebugService::isDebuggingEnabled(void)
+ ?tr@QDeclarativeText@@SA?AVQString@@PBD0H@Z @ 1308 NONAME ABSENT ; class QString QDeclarativeText::tr(char const *, char const *, int)
?reset@QDeclarativeProperty@@QBE_NXZ @ 1309 NONAME ; bool QDeclarativeProperty::reset(void) const
- ?objectDebugId@QDeclarativeDebugWatch@@QBEHXZ @ 1310 NONAME ; int QDeclarativeDebugWatch::objectDebugId(void) const
+ ?objectDebugId@QDeclarativeDebugWatch@@QBEHXZ @ 1310 NONAME ABSENT ; int QDeclarativeDebugWatch::objectDebugId(void) const
?width@QDeclarativeItemPrivate@@UBEMXZ @ 1311 NONAME ; float QDeclarativeItemPrivate::width(void) const
- ?d_func@QMetaMethodBuilder@@ABEPAVQMetaMethodBuilderPrivate@@XZ @ 1312 NONAME ; class QMetaMethodBuilderPrivate * QMetaMethodBuilder::d_func(void) const
+ ?d_func@QMetaMethodBuilder@@ABEPAVQMetaMethodBuilderPrivate@@XZ @ 1312 NONAME ABSENT ; class QMetaMethodBuilderPrivate * QMetaMethodBuilder::d_func(void) const
?isScript@Variant@QDeclarativeParser@@QBE_NXZ @ 1313 NONAME ; bool QDeclarativeParser::Variant::isScript(void) const
?classBegin@QDeclarativeStateGroup@@UAEXXZ @ 1314 NONAME ; void QDeclarativeStateGroup::classBegin(void)
- ?qt_metacast@QDeclarativeRectangle@@UAEPAXPBD@Z @ 1315 NONAME ; void * QDeclarativeRectangle::qt_metacast(char const *)
+ ?qt_metacast@QDeclarativeRectangle@@UAEPAXPBD@Z @ 1315 NONAME ABSENT ; void * QDeclarativeRectangle::qt_metacast(char const *)
?qt_metacast@QDeclarativeExpression@@UAEPAXPBD@Z @ 1316 NONAME ; void * QDeclarativeExpression::qt_metacast(char const *)
- ?indexOfProperty@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1317 NONAME ; int QMetaObjectBuilder::indexOfProperty(class QByteArray const &)
- ?vAlign@QDeclarativeText@@QBE?AW4VAlignment@1@XZ @ 1318 NONAME ; enum QDeclarativeText::VAlignment QDeclarativeText::vAlign(void) const
- ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQByteArray@@@Z @ 1319 NONAME ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QByteArray const &)
+ ?indexOfProperty@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1317 NONAME ABSENT ; int QMetaObjectBuilder::indexOfProperty(class QByteArray const &)
+ ?vAlign@QDeclarativeText@@QBE?AW4VAlignment@1@XZ @ 1318 NONAME ABSENT ; enum QDeclarativeText::VAlignment QDeclarativeText::vAlign(void) const
+ ?addEnumerator@QMetaObjectBuilder@@QAE?AVQMetaEnumBuilder@@ABVQByteArray@@@Z @ 1319 NONAME ABSENT ; class QMetaEnumBuilder QMetaObjectBuilder::addEnumerator(class QByteArray const &)
??1QDeclarativeError@@QAE@XZ @ 1320 NONAME ; QDeclarativeError::~QDeclarativeError(void)
?property@QDeclarativeProperty@@QBE?AVQMetaProperty@@XZ @ 1321 NONAME ; class QMetaProperty QDeclarativeProperty::property(void) const
- ?tr@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 1322 NONAME ; class QString QDeclarativeText::tr(char const *, char const *)
+ ?tr@QDeclarativeText@@SA?AVQString@@PBD0@Z @ 1322 NONAME ABSENT ; class QString QDeclarativeText::tr(char const *, char const *)
?write@QDeclarativeProperty@@SA_NPAVQObject@@ABVQString@@ABVQVariant@@PAVQDeclarativeContext@@@Z @ 1323 NONAME ; bool QDeclarativeProperty::write(class QObject *, class QString const &, class QVariant const &, class QDeclarativeContext *)
- ??0QDeclarativeGridScaledImage@@QAE@XZ @ 1324 NONAME ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(void)
- ?setText@QDeclarativeText@@QAEXABVQString@@@Z @ 1325 NONAME ; void QDeclarativeText::setText(class QString const &)
- ?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1326 NONAME ; void QDeclarativeAnchors::setBaseline(class QDeclarativeAnchorLine const &)
- ?resetCenterIn@QDeclarativeAnchors@@QAEXXZ @ 1327 NONAME ; void QDeclarativeAnchors::resetCenterIn(void)
- ?pixmapUrl@QDeclarativeGridScaledImage@@QBE?AVQString@@XZ @ 1328 NONAME ; class QString QDeclarativeGridScaledImage::pixmapUrl(void) const
- ?name@QDeclarativeOpenMetaObject@@QBE?AVQByteArray@@H@Z @ 1329 NONAME ; class QByteArray QDeclarativeOpenMetaObject::name(int) const
- ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 1330 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *)
+ ??0QDeclarativeGridScaledImage@@QAE@XZ @ 1324 NONAME ABSENT ; QDeclarativeGridScaledImage::QDeclarativeGridScaledImage(void)
+ ?setText@QDeclarativeText@@QAEXABVQString@@@Z @ 1325 NONAME ABSENT ; void QDeclarativeText::setText(class QString const &)
+ ?setBaseline@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1326 NONAME ABSENT ; void QDeclarativeAnchors::setBaseline(class QDeclarativeAnchorLine const &)
+ ?resetCenterIn@QDeclarativeAnchors@@QAEXXZ @ 1327 NONAME ABSENT ; void QDeclarativeAnchors::resetCenterIn(void)
+ ?pixmapUrl@QDeclarativeGridScaledImage@@QBE?AVQString@@XZ @ 1328 NONAME ABSENT ; class QString QDeclarativeGridScaledImage::pixmapUrl(void) const
+ ?name@QDeclarativeOpenMetaObject@@QBE?AVQByteArray@@H@Z @ 1329 NONAME ABSENT ; class QByteArray QDeclarativeOpenMetaObject::name(int) const
+ ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0@Z @ 1330 NONAME ABSENT ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *)
?qt_metacall@QDeclarativeEngine@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1331 NONAME ; int QDeclarativeEngine::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?getStaticMetaObject@QDeclarativeAnchors@@SAABUQMetaObject@@XZ @ 1332 NONAME ; struct QMetaObject const & QDeclarativeAnchors::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeAnchors@@SAABUQMetaObject@@XZ @ 1332 NONAME ABSENT ; struct QMetaObject const & QDeclarativeAnchors::getStaticMetaObject(void)
??0QDeclarativeProperty@@QAE@PAVQObject@@ABVQString@@@Z @ 1333 NONAME ; QDeclarativeProperty::QDeclarativeProperty(class QObject *, class QString const &)
?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0@Z @ 1334 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *)
- ?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 1335 NONAME ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *))
- ?properties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomProperty@@@@XZ @ 1336 NONAME ; class QList<class QDeclarativeDomProperty> QDeclarativeDomObject::properties(void) const
+ ?setStaticMetacallFunction@QMetaObjectBuilder@@QAEXP6AHW4Call@QMetaObject@@HPAPAX@Z@Z @ 1335 NONAME ABSENT ; void QMetaObjectBuilder::setStaticMetacallFunction(int (*)(enum QMetaObject::Call, int, void * *))
+ ?properties@QDeclarativeDomObject@@QBE?AV?$QList@VQDeclarativeDomProperty@@@@XZ @ 1336 NONAME ABSENT ; class QList<class QDeclarativeDomProperty> QDeclarativeDomObject::properties(void) const
??0QDeclarativeExpression@@QAE@PAVQDeclarativeContext@@PAVQObject@@ABVQString@@1@Z @ 1337 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContext *, class QObject *, class QString const &, class QObject *)
?tr@QDeclarativeTransition@@SA?AVQString@@PBD0H@Z @ 1338 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *, int)
- ?dateTimeFromString@QDeclarativeStringConverters@@YA?AVQDateTime@@ABVQString@@PA_N@Z @ 1339 NONAME ; class QDateTime QDeclarativeStringConverters::dateTimeFromString(class QString const &, bool *)
+ ?dateTimeFromString@QDeclarativeStringConverters@@YA?AVQDateTime@@ABVQString@@PA_N@Z @ 1339 NONAME ABSENT ; class QDateTime QDeclarativeStringConverters::dateTimeFromString(class QString const &, bool *)
?implicitWidth@QDeclarativeItem@@QBEMXZ @ 1340 NONAME ; float QDeclarativeItem::implicitWidth(void) const
?metaObject@QDeclarativeContext@@UBEPBUQMetaObject@@XZ @ 1341 NONAME ; struct QMetaObject const * QDeclarativeContext::metaObject(void) const
??0QDeclarativeContext@@AAE@PAVQDeclarativeContextData@@@Z @ 1342 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContextData *)
- ?maximumPacketSize@QPacketProtocol@@QBEHXZ @ 1343 NONAME ; int QPacketProtocol::maximumPacketSize(void) const
- ??_EQDeclarativeDebuggerStatus@@UAE@I@Z @ 1344 NONAME ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(unsigned int)
+ ?maximumPacketSize@QPacketProtocol@@QBEHXZ @ 1343 NONAME ABSENT ; int QPacketProtocol::maximumPacketSize(void) const
+ ??_EQDeclarativeDebuggerStatus@@UAE@I@Z @ 1344 NONAME ABSENT ; QDeclarativeDebuggerStatus::~QDeclarativeDebuggerStatus(unsigned int)
?error@QDeclarativeCustomParser@@IAEXABVQString@@@Z @ 1345 NONAME ; void QDeclarativeCustomParser::error(class QString const &)
- ?messageReceived@QDeclarativeDebugService@@MAEXABVQByteArray@@@Z @ 1346 NONAME ; void QDeclarativeDebugService::messageReceived(class QByteArray const &)
+ ?messageReceived@QDeclarativeDebugService@@MAEXABVQByteArray@@@Z @ 1346 NONAME ABSENT ; void QDeclarativeDebugService::messageReceived(class QByteArray const &)
??0QDeclarativeParserStatus@@QAE@XZ @ 1347 NONAME ; QDeclarativeParserStatus::QDeclarativeParserStatus(void)
?isNumber@Variant@QDeclarativeParser@@QBE_NXZ @ 1348 NONAME ; bool QDeclarativeParser::Variant::isNumber(void) const
- ?getStaticMetaObject@QDeclarativeEngineDebug@@SAABUQMetaObject@@XZ @ 1349 NONAME ; struct QMetaObject const & QDeclarativeEngineDebug::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativeEngineDebug@@SAABUQMetaObject@@XZ @ 1349 NONAME ABSENT ; struct QMetaObject const & QDeclarativeEngineDebug::getStaticMetaObject(void)
??_EQDeclarativeEngine@@UAE@I@Z @ 1350 NONAME ; QDeclarativeEngine::~QDeclarativeEngine(unsigned int)
?isNull@QDeclarativePixmap@@QBE_NXZ @ 1351 NONAME ; bool QDeclarativePixmap::isNull(void) const
??1QDeclarativeCustomParserNode@@QAE@XZ @ 1352 NONAME ; QDeclarativeCustomParserNode::~QDeclarativeCustomParserNode(void)
- ??1QDeclarativeAction@@QAE@XZ @ 1353 NONAME ; QDeclarativeAction::~QDeclarativeAction(void)
- ?resourcesLoading@QDeclarativeText@@QBEHXZ @ 1354 NONAME ; int QDeclarativeText::resourcesLoading(void) const
+ ??1QDeclarativeAction@@QAE@XZ @ 1353 NONAME ABSENT ; QDeclarativeAction::~QDeclarativeAction(void)
+ ?resourcesLoading@QDeclarativeText@@QBEHXZ @ 1354 NONAME ABSENT ; int QDeclarativeText::resourcesLoading(void) const
?isBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1355 NONAME ; bool QDeclarativeParser::Variant::isBoolean(void) const
- ??0QDeclarativeAction@@QAE@XZ @ 1356 NONAME ; QDeclarativeAction::QDeclarativeAction(void)
- ?signalOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 1357 NONAME ; int QDeclarativeOpenMetaObjectType::signalOffset(void) const
- ?index@QMetaEnumBuilder@@QBEHXZ @ 1358 NONAME ; int QMetaEnumBuilder::index(void) const
- ?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 1359 NONAME ; void QMetaPropertyBuilder::setResettable(bool)
+ ??0QDeclarativeAction@@QAE@XZ @ 1356 NONAME ABSENT ; QDeclarativeAction::QDeclarativeAction(void)
+ ?signalOffset@QDeclarativeOpenMetaObjectType@@QBEHXZ @ 1357 NONAME ABSENT ; int QDeclarativeOpenMetaObjectType::signalOffset(void) const
+ ?index@QMetaEnumBuilder@@QBEHXZ @ 1358 NONAME ABSENT ; int QMetaEnumBuilder::index(void) const
+ ?setResettable@QMetaPropertyBuilder@@QAEX_N@Z @ 1359 NONAME ABSENT ; void QMetaPropertyBuilder::setResettable(bool)
??0QDeclarativeError@@QAE@ABV0@@Z @ 1360 NONAME ; QDeclarativeError::QDeclarativeError(class QDeclarativeError const &)
- ?classInfoCount@QMetaObjectBuilder@@QBEHXZ @ 1361 NONAME ; int QMetaObjectBuilder::classInfoCount(void) const
- ?isObject@QDeclarativeDomValue@@QBE_NXZ @ 1362 NONAME ; bool QDeclarativeDomValue::isObject(void) const
- ?left@QDeclarativeScaleGrid@@QBEHXZ @ 1363 NONAME ; int QDeclarativeScaleGrid::left(void) const
- ?qt_metacast@QDeclarativeDebugEnginesQuery@@UAEPAXPBD@Z @ 1364 NONAME ; void * QDeclarativeDebugEnginesQuery::qt_metacast(char const *)
+ ?classInfoCount@QMetaObjectBuilder@@QBEHXZ @ 1361 NONAME ABSENT ; int QMetaObjectBuilder::classInfoCount(void) const
+ ?isObject@QDeclarativeDomValue@@QBE_NXZ @ 1362 NONAME ABSENT ; bool QDeclarativeDomValue::isObject(void) const
+ ?left@QDeclarativeScaleGrid@@QBEHXZ @ 1363 NONAME ABSENT ; int QDeclarativeScaleGrid::left(void) const
+ ?qt_metacast@QDeclarativeDebugEnginesQuery@@UAEPAXPBD@Z @ 1364 NONAME ABSENT ; void * QDeclarativeDebugEnginesQuery::qt_metacast(char const *)
?d_func@QDeclarativeView@@AAEPAVQDeclarativeViewPrivate@@XZ @ 1365 NONAME ; class QDeclarativeViewPrivate * QDeclarativeView::d_func(void)
- ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugPropertyWatch@@ABVQDeclarativeDebugPropertyReference@@PAVQObject@@@Z @ 1366 NONAME ; class QDeclarativeDebugPropertyWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugPropertyReference const &, class QObject *)
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugPropertyWatch@@ABVQDeclarativeDebugPropertyReference@@PAVQObject@@@Z @ 1366 NONAME ABSENT ; class QDeclarativeDebugPropertyWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugPropertyReference const &, class QObject *)
?stateChanged@QDeclarativeStateGroup@@IAEXABVQString@@@Z @ 1367 NONAME ; void QDeclarativeStateGroup::stateChanged(class QString const &)
- ??0QDeclarativeDomValueValueSource@@QAE@XZ @ 1368 NONAME ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(void)
- ?customStringConverter@QDeclarativeMetaType@@SAP6A?AVQVariant@@ABVQString@@@ZH@Z @ 1369 NONAME ; class QVariant (*)(class QString const &) QDeclarativeMetaType::customStringConverter(int)
- ?baselineOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 1370 NONAME ; void QDeclarativeAnchors::baselineOffsetChanged(void)
+ ??0QDeclarativeDomValueValueSource@@QAE@XZ @ 1368 NONAME ABSENT ; QDeclarativeDomValueValueSource::QDeclarativeDomValueValueSource(void)
+ ?customStringConverter@QDeclarativeMetaType@@SAP6A?AVQVariant@@ABVQString@@@ZH@Z @ 1369 NONAME ABSENT ; class QVariant (*)(class QString const &) QDeclarativeMetaType::customStringConverter(int)
+ ?baselineOffsetChanged@QDeclarativeAnchors@@IAEXXZ @ 1370 NONAME ABSENT ; void QDeclarativeAnchors::baselineOffsetChanged(void)
?tr@QDeclarativeView@@SA?AVQString@@PBD0H@Z @ 1371 NONAME ; class QString QDeclarativeView::tr(char const *, char const *, int)
- ??4QDeclarativeDebugFileReference@@QAEAAV0@ABV0@@Z @ 1372 NONAME ; class QDeclarativeDebugFileReference & QDeclarativeDebugFileReference::operator=(class QDeclarativeDebugFileReference const &)
+ ??4QDeclarativeDebugFileReference@@QAEAAV0@ABV0@@Z @ 1372 NONAME ABSENT ; class QDeclarativeDebugFileReference & QDeclarativeDebugFileReference::operator=(class QDeclarativeDebugFileReference const &)
?eventFilter@QDeclarativeView@@MAE_NPAVQObject@@PAVQEvent@@@Z @ 1373 NONAME ; bool QDeclarativeView::eventFilter(class QObject *, class QEvent *)
??1QDeclarativeView@@UAE@XZ @ 1374 NONAME ; QDeclarativeView::~QDeclarativeView(void)
- ?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1375 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const
- ?setIsFlag@QMetaEnumBuilder@@QAEX_N@Z @ 1376 NONAME ; void QMetaEnumBuilder::setIsFlag(bool)
- ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 1377 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *, int)
- ?majorVersion@QDeclarativeType@@QBEHXZ @ 1378 NONAME ; int QDeclarativeType::majorVersion(void) const
- ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 1379 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *)
+ ?verticalCenter@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1375 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::verticalCenter(void) const
+ ?setIsFlag@QMetaEnumBuilder@@QAEX_N@Z @ 1376 NONAME ABSENT ; void QMetaEnumBuilder::setIsFlag(bool)
+ ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0H@Z @ 1377 NONAME ABSENT ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *, int)
+ ?majorVersion@QDeclarativeType@@QBEHXZ @ 1378 NONAME ABSENT ; int QDeclarativeType::majorVersion(void) const
+ ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0@Z @ 1379 NONAME ABSENT ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *)
?baseUrl@QDeclarativeEngine@@QBE?AVQUrl@@XZ @ 1380 NONAME ; class QUrl QDeclarativeEngine::baseUrl(void) const
??6QDeclarativeInfo@@QAEAAV0@PBX@Z @ 1381 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(void const *)
- ?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1382 NONAME ; void QDeclarativeAnchors::setTop(class QDeclarativeAnchorLine const &)
- ?setEnabled@QDeclarativeBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1383 NONAME ; void QDeclarativeBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?setTop@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1382 NONAME ABSENT ; void QDeclarativeAnchors::setTop(class QDeclarativeAnchorLine const &)
+ ?setEnabled@QDeclarativeBinding@@UAEX_NV?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1383 NONAME ABSENT ; void QDeclarativeBinding::setEnabled(bool, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
??_EQDeclarativeNetworkAccessManagerFactory@@UAE@I@Z @ 1384 NONAME ; QDeclarativeNetworkAccessManagerFactory::~QDeclarativeNetworkAccessManagerFactory(unsigned int)
- ?qmlTypes@QDeclarativeMetaType@@SA?AV?$QList@PAVQDeclarativeType@@@@XZ @ 1385 NONAME ; class QList<class QDeclarativeType *> QDeclarativeMetaType::qmlTypes(void)
- ?valueTypeCoreIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1386 NONAME ; int QDeclarativePropertyPrivate::valueTypeCoreIndex(class QDeclarativeProperty const &)
- ?writeEnumProperty@QDeclarativePropertyPrivate@@SA_NABVQMetaProperty@@HPAVQObject@@ABVQVariant@@H@Z @ 1387 NONAME ; bool QDeclarativePropertyPrivate::writeEnumProperty(class QMetaProperty const &, int, class QObject *, class QVariant const &, int)
+ ?qmlTypes@QDeclarativeMetaType@@SA?AV?$QList@PAVQDeclarativeType@@@@XZ @ 1385 NONAME ABSENT ; class QList<class QDeclarativeType *> QDeclarativeMetaType::qmlTypes(void)
+ ?valueTypeCoreIndex@QDeclarativePropertyPrivate@@SAHABVQDeclarativeProperty@@@Z @ 1386 NONAME ABSENT ; int QDeclarativePropertyPrivate::valueTypeCoreIndex(class QDeclarativeProperty const &)
+ ?writeEnumProperty@QDeclarativePropertyPrivate@@SA_NABVQMetaProperty@@HPAVQObject@@ABVQVariant@@H@Z @ 1387 NONAME ABSENT ; bool QDeclarativePropertyPrivate::writeEnumProperty(class QMetaProperty const &, int, class QObject *, class QVariant const &, int)
?setEnabled@QDeclarativeDebugClient@@QAEX_N@Z @ 1388 NONAME ABSENT ; void QDeclarativeDebugClient::setEnabled(bool)
- ??1QMetaObjectBuilder@@UAE@XZ @ 1389 NONAME ; QMetaObjectBuilder::~QMetaObjectBuilder(void)
+ ??1QMetaObjectBuilder@@UAE@XZ @ 1389 NONAME ABSENT ; QMetaObjectBuilder::~QMetaObjectBuilder(void)
?tr@QDeclarativeStateOperation@@SA?AVQString@@PBD0@Z @ 1390 NONAME ; class QString QDeclarativeStateOperation::tr(char const *, char const *)
- ?clear@QPacket@@QAEXXZ @ 1391 NONAME ; void QPacket::clear(void)
- ?getStaticMetaObject@QDeclarativeDebugClient@@SAABUQMetaObject@@XZ @ 1392 NONAME ; struct QMetaObject const & QDeclarativeDebugClient::getStaticMetaObject(void)
- ??0QDeclarativeDomList@@QAE@ABV0@@Z @ 1393 NONAME ; QDeclarativeDomList::QDeclarativeDomList(class QDeclarativeDomList const &)
- ?gridTop@QDeclarativeGridScaledImage@@QBEHXZ @ 1394 NONAME ; int QDeclarativeGridScaledImage::gridTop(void) const
+ ?clear@QPacket@@QAEXXZ @ 1391 NONAME ABSENT ; void QPacket::clear(void)
+ ?getStaticMetaObject@QDeclarativeDebugClient@@SAABUQMetaObject@@XZ @ 1392 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugClient::getStaticMetaObject(void)
+ ??0QDeclarativeDomList@@QAE@ABV0@@Z @ 1393 NONAME ABSENT ; QDeclarativeDomList::QDeclarativeDomList(class QDeclarativeDomList const &)
+ ?gridTop@QDeclarativeGridScaledImage@@QBEHXZ @ 1394 NONAME ABSENT ; int QDeclarativeGridScaledImage::gridTop(void) const
?setUrl@QDeclarativeError@@QAEXABVQUrl@@@Z @ 1395 NONAME ; void QDeclarativeError::setUrl(class QUrl const &)
- ?setMaximumPacketSize@QPacketProtocol@@QAEHH@Z @ 1396 NONAME ; int QPacketProtocol::setMaximumPacketSize(int)
- ??_EQDeclarativeAction@@QAE@I@Z @ 1397 NONAME ; QDeclarativeAction::~QDeclarativeAction(unsigned int)
- ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 1398 NONAME ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *)
+ ?setMaximumPacketSize@QPacketProtocol@@QAEHH@Z @ 1396 NONAME ABSENT ; int QPacketProtocol::setMaximumPacketSize(int)
+ ??_EQDeclarativeAction@@QAE@I@Z @ 1397 NONAME ABSENT ; QDeclarativeAction::~QDeclarativeAction(unsigned int)
+ ?trUtf8@QDeclarativeDebugWatch@@SA?AVQString@@PBD0@Z @ 1398 NONAME ABSENT ; class QString QDeclarativeDebugWatch::trUtf8(char const *, char const *)
?read@QDeclarativeProperty@@SA?AVQVariant@@PAVQObject@@ABVQString@@@Z @ 1399 NONAME ; class QVariant QDeclarativeProperty::read(class QObject *, class QString const &)
?widthValid@QDeclarativeItem@@IBE_NXZ @ 1400 NONAME ; bool QDeclarativeItem::widthValid(void) const
?staticMetaObject@QDeclarativeState@@2UQMetaObject@@B @ 1401 NONAME ; struct QMetaObject const QDeclarativeState::staticMetaObject
- ?setAccess@QMetaMethodBuilder@@QAEXW4Access@QMetaMethod@@@Z @ 1402 NONAME ; void QMetaMethodBuilder::setAccess(enum QMetaMethod::Access)
- ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 1403 NONAME ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &)
- ?staticMetaObject@QDeclarativeDebugClient@@2UQMetaObject@@B @ 1404 NONAME ; struct QMetaObject const QDeclarativeDebugClient::staticMetaObject
- ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 1405 NONAME ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *)
+ ?setAccess@QMetaMethodBuilder@@QAEXW4Access@QMetaMethod@@@Z @ 1402 NONAME ABSENT ; void QMetaMethodBuilder::setAccess(enum QMetaMethod::Access)
+ ??0QDeclarativeAction@@QAE@PAVQObject@@ABVQString@@PAVQDeclarativeContext@@ABVQVariant@@@Z @ 1403 NONAME ABSENT ; QDeclarativeAction::QDeclarativeAction(class QObject *, class QString const &, class QDeclarativeContext *, class QVariant const &)
+ ?staticMetaObject@QDeclarativeDebugClient@@2UQMetaObject@@B @ 1404 NONAME ABSENT ; struct QMetaObject const QDeclarativeDebugClient::staticMetaObject
+ ?trUtf8@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0@Z @ 1405 NONAME ABSENT ; class QString QDeclarativeDebugEnginesQuery::trUtf8(char const *, char const *)
?d_func@QDeclarativeExpression@@ABEPBVQDeclarativeExpressionPrivate@@XZ @ 1406 NONAME ; class QDeclarativeExpressionPrivate const * QDeclarativeExpression::d_func(void) const
- ??1QDeclarativeValueType@@UAE@XZ @ 1407 NONAME ; QDeclarativeValueType::~QDeclarativeValueType(void)
+ ??1QDeclarativeValueType@@UAE@XZ @ 1407 NONAME ABSENT ; QDeclarativeValueType::~QDeclarativeValueType(void)
?setBaseUrl@QDeclarativeContext@@QAEXABVQUrl@@@Z @ 1408 NONAME ; void QDeclarativeContext::setBaseUrl(class QUrl const &)
- ??_EQDeclarativeAbstractBinding@@UAE@I@Z @ 1409 NONAME ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(unsigned int)
- ?queryExpressionResult@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@PAVQObject@@@Z @ 1410 NONAME ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::queryExpressionResult(int, class QString const &, class QObject *)
- ?indexOfMethod@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1411 NONAME ; int QMetaObjectBuilder::indexOfMethod(class QByteArray const &)
- ?setCached@QDeclarativeOpenMetaObject@@QAEX_N@Z @ 1412 NONAME ; void QDeclarativeOpenMetaObject::setCached(bool)
- ?length@QDeclarativeDomList@@QBEHXZ @ 1413 NONAME ; int QDeclarativeDomList::length(void) const
- ?horizontalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 1414 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::horizontalTileRule(void) const
+ ??_EQDeclarativeAbstractBinding@@UAE@I@Z @ 1409 NONAME ABSENT ; QDeclarativeAbstractBinding::~QDeclarativeAbstractBinding(unsigned int)
+ ?queryExpressionResult@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugExpressionQuery@@HABVQString@@PAVQObject@@@Z @ 1410 NONAME ABSENT ; class QDeclarativeDebugExpressionQuery * QDeclarativeEngineDebug::queryExpressionResult(int, class QString const &, class QObject *)
+ ?indexOfMethod@QMetaObjectBuilder@@QAEHABVQByteArray@@@Z @ 1411 NONAME ABSENT ; int QMetaObjectBuilder::indexOfMethod(class QByteArray const &)
+ ?setCached@QDeclarativeOpenMetaObject@@QAEX_N@Z @ 1412 NONAME ABSENT ; void QDeclarativeOpenMetaObject::setCached(bool)
+ ?length@QDeclarativeDomList@@QBEHXZ @ 1413 NONAME ABSENT ; int QDeclarativeDomList::length(void) const
+ ?horizontalTileRule@QDeclarativeGridScaledImage@@QBE?AW4TileMode@QDeclarativeBorderImage@@XZ @ 1414 NONAME ABSENT ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::horizontalTileRule(void) const
??0QDeclarativeCustomParserProperty@@QAE@XZ @ 1415 NONAME ; QDeclarativeCustomParserProperty::QDeclarativeCustomParserProperty(void)
- ??1QDeclarativeEngineDebug@@UAE@XZ @ 1416 NONAME ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(void)
- ?qt_metacall@QDeclarativeEngineDebug@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1417 NONAME ; int QDeclarativeEngineDebug::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QDeclarativeEngineDebug@@UAE@XZ @ 1416 NONAME ABSENT ; QDeclarativeEngineDebug::~QDeclarativeEngineDebug(void)
+ ?qt_metacall@QDeclarativeEngineDebug@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1417 NONAME ABSENT ; int QDeclarativeEngineDebug::qt_metacall(enum QMetaObject::Call, int, void * *)
?q_func@QDeclarativeItemPrivate@@ABEPBVQDeclarativeItem@@XZ @ 1418 NONAME ; class QDeclarativeItem const * QDeclarativeItemPrivate::q_func(void) const
- ?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 1419 NONAME ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
+ ?customParser@QDeclarativeType@@QBEPAVQDeclarativeCustomParser@@XZ @ 1419 NONAME ABSENT ; class QDeclarativeCustomParser * QDeclarativeType::customParser(void) const
?setSourceLocation@QDeclarativeExpression@@QAEXABVQString@@H@Z @ 1420 NONAME ; void QDeclarativeExpression::setSourceLocation(class QString const &, int)
- ?equal@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1421 NONAME ; bool QDeclarativePropertyPrivate::equal(struct QMetaObject const *, struct QMetaObject const *)
+ ?equal@QDeclarativePropertyPrivate@@SA_NPBUQMetaObject@@0@Z @ 1421 NONAME ABSENT ; bool QDeclarativePropertyPrivate::equal(struct QMetaObject const *, struct QMetaObject const *)
??_EQDeclarativeExtensionPlugin@@UAE@I@Z @ 1422 NONAME ; QDeclarativeExtensionPlugin::~QDeclarativeExtensionPlugin(unsigned int)
- ?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContextData@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1423 NONAME ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContextData *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
- ?debugId@QDeclarativeDebugEngineReference@@QBEHXZ @ 1424 NONAME ; int QDeclarativeDebugEngineReference::debugId(void) const
- ?metaObject@QDeclarativeDebugEnginesQuery@@UBEPBUQMetaObject@@XZ @ 1425 NONAME ; struct QMetaObject const * QDeclarativeDebugEnginesQuery::metaObject(void) const
- ??_EQDeclarativeScaleGrid@@UAE@I@Z @ 1426 NONAME ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(unsigned int)
- ??1QDeclarativeDebugPropertyReference@@QAE@XZ @ 1427 NONAME ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(void)
- ?componentComplete@QDeclarativeAnchors@@QAEXXZ @ 1428 NONAME ; void QDeclarativeAnchors::componentComplete(void)
- ??1QDeclarativeDomObject@@QAE@XZ @ 1429 NONAME ; QDeclarativeDomObject::~QDeclarativeDomObject(void)
- ?expression@QDeclarativeDebugObjectExpressionWatch@@QBE?AVQString@@XZ @ 1430 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::expression(void) const
- ?metaObject@QListModelInterface@@UBEPBUQMetaObject@@XZ @ 1431 NONAME ; struct QMetaObject const * QListModelInterface::metaObject(void) const
- ?key@QMetaEnumBuilder@@QBE?AVQByteArray@@H@Z @ 1432 NONAME ; class QByteArray QMetaEnumBuilder::key(int) const
- ?d_func@QMetaEnumBuilder@@ABEPAVQMetaEnumBuilderPrivate@@XZ @ 1433 NONAME ; class QMetaEnumBuilderPrivate * QMetaEnumBuilder::d_func(void) const
+ ?write@QDeclarativePropertyPrivate@@SA_NPAVQObject@@ABUData@QDeclarativePropertyCache@@ABVQVariant@@PAVQDeclarativeContextData@@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1423 NONAME ABSENT ; bool QDeclarativePropertyPrivate::write(class QObject *, struct QDeclarativePropertyCache::Data const &, class QVariant const &, class QDeclarativeContextData *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?debugId@QDeclarativeDebugEngineReference@@QBEHXZ @ 1424 NONAME ABSENT ; int QDeclarativeDebugEngineReference::debugId(void) const
+ ?metaObject@QDeclarativeDebugEnginesQuery@@UBEPBUQMetaObject@@XZ @ 1425 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugEnginesQuery::metaObject(void) const
+ ??_EQDeclarativeScaleGrid@@UAE@I@Z @ 1426 NONAME ABSENT ; QDeclarativeScaleGrid::~QDeclarativeScaleGrid(unsigned int)
+ ??1QDeclarativeDebugPropertyReference@@QAE@XZ @ 1427 NONAME ABSENT ; QDeclarativeDebugPropertyReference::~QDeclarativeDebugPropertyReference(void)
+ ?componentComplete@QDeclarativeAnchors@@QAEXXZ @ 1428 NONAME ABSENT ; void QDeclarativeAnchors::componentComplete(void)
+ ??1QDeclarativeDomObject@@QAE@XZ @ 1429 NONAME ABSENT ; QDeclarativeDomObject::~QDeclarativeDomObject(void)
+ ?expression@QDeclarativeDebugObjectExpressionWatch@@QBE?AVQString@@XZ @ 1430 NONAME ABSENT ; class QString QDeclarativeDebugObjectExpressionWatch::expression(void) const
+ ?metaObject@QListModelInterface@@UBEPBUQMetaObject@@XZ @ 1431 NONAME ABSENT ; struct QMetaObject const * QListModelInterface::metaObject(void) const
+ ?key@QMetaEnumBuilder@@QBE?AVQByteArray@@H@Z @ 1432 NONAME ABSENT ; class QByteArray QMetaEnumBuilder::key(int) const
+ ?d_func@QMetaEnumBuilder@@ABEPAVQMetaEnumBuilderPrivate@@XZ @ 1433 NONAME ABSENT ; class QMetaEnumBuilderPrivate * QMetaEnumBuilder::d_func(void) const
??6QDeclarativeInfo@@QAEAAV0@PBD@Z @ 1434 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(char const *)
?d_func@QDeclarativeState@@AAEPAVQDeclarativeStatePrivate@@XZ @ 1435 NONAME ; class QDeclarativeStatePrivate * QDeclarativeState::d_func(void)
- ??0QDeclarativeDebugEnginesQuery@@AAE@PAVQObject@@@Z @ 1436 NONAME ; QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(class QObject *)
- ?bottomChanged@QDeclarativeAnchors@@IAEXXZ @ 1437 NONAME ; void QDeclarativeAnchors::bottomChanged(void)
- ?qListTypeId@QDeclarativeType@@QBEHXZ @ 1438 NONAME ; int QDeclarativeType::qListTypeId(void) const
- ?setSelectedState@QDeclarativeDebuggerStatus@@UAEX_N@Z @ 1439 NONAME ; void QDeclarativeDebuggerStatus::setSelectedState(bool)
- ?staticMetaObject@QDeclarativeEngineDebug@@2UQMetaObject@@B @ 1440 NONAME ; struct QMetaObject const QDeclarativeEngineDebug::staticMetaObject
+ ??0QDeclarativeDebugEnginesQuery@@AAE@PAVQObject@@@Z @ 1436 NONAME ABSENT ; QDeclarativeDebugEnginesQuery::QDeclarativeDebugEnginesQuery(class QObject *)
+ ?bottomChanged@QDeclarativeAnchors@@IAEXXZ @ 1437 NONAME ABSENT ; void QDeclarativeAnchors::bottomChanged(void)
+ ?qListTypeId@QDeclarativeType@@QBEHXZ @ 1438 NONAME ABSENT ; int QDeclarativeType::qListTypeId(void) const
+ ?setSelectedState@QDeclarativeDebuggerStatus@@UAEX_N@Z @ 1439 NONAME ABSENT ; void QDeclarativeDebuggerStatus::setSelectedState(bool)
+ ?staticMetaObject@QDeclarativeEngineDebug@@2UQMetaObject@@B @ 1440 NONAME ABSENT ; struct QMetaObject const QDeclarativeEngineDebug::staticMetaObject
?setExtends@QDeclarativeState@@QAEXABVQString@@@Z @ 1441 NONAME ; void QDeclarativeState::setExtends(class QString const &)
??4QDeclarativeError@@QAEAAV0@ABV0@@Z @ 1442 NONAME ; class QDeclarativeError & QDeclarativeError::operator=(class QDeclarativeError const &)
- ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 1443 NONAME ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugEnginesQuery@@SA?AVQString@@PBD0H@Z @ 1443 NONAME ABSENT ; class QString QDeclarativeDebugEnginesQuery::tr(char const *, char const *, int)
?d_func@QDeclarativeTransition@@AAEPAVQDeclarativeTransitionPrivate@@XZ @ 1444 NONAME ; class QDeclarativeTransitionPrivate * QDeclarativeTransition::d_func(void)
- ?propertyWritten@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1445 NONAME ; void QDeclarativeOpenMetaObject::propertyWritten(int)
- ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1446 NONAME ; class QString QListModelInterface::trUtf8(char const *, char const *)
- ?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 1447 NONAME ; void QDeclarativeDebugFileReference::setColumnNumber(int)
- ?drawRect@QDeclarativeRectangle@@AAEXAAVQPainter@@@Z @ 1448 NONAME ; void QDeclarativeRectangle::drawRect(class QPainter &)
+ ?propertyWritten@QDeclarativeOpenMetaObject@@MAEXH@Z @ 1445 NONAME ABSENT ; void QDeclarativeOpenMetaObject::propertyWritten(int)
+ ?trUtf8@QListModelInterface@@SA?AVQString@@PBD0@Z @ 1446 NONAME ABSENT ; class QString QListModelInterface::trUtf8(char const *, char const *)
+ ?setColumnNumber@QDeclarativeDebugFileReference@@QAEXH@Z @ 1447 NONAME ABSENT ; void QDeclarativeDebugFileReference::setColumnNumber(int)
+ ?drawRect@QDeclarativeRectangle@@AAEXAAVQPainter@@@Z @ 1448 NONAME ABSENT ; void QDeclarativeRectangle::drawRect(class QPainter &)
?read@QDeclarativeProperty@@QBE?AVQVariant@@XZ @ 1449 NONAME ; class QVariant QDeclarativeProperty::read(void) const
?isEmpty@QDeclarativePropertyMap@@QBE_NXZ @ 1450 NONAME ; bool QDeclarativePropertyMap::isEmpty(void) const
- ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 1451 NONAME ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData const &)
- ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 1452 NONAME ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *, int)
- ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContext@@1@Z @ 1453 NONAME ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContext *, class QObject *)
+ ??6@YAAAVQDataStream@@AAV0@ABUQDeclarativeObjectData@QDeclarativeEngineDebugServer@@@Z @ 1451 NONAME ABSENT ; class QDataStream & operator<<(class QDataStream &, struct QDeclarativeEngineDebugServer::QDeclarativeObjectData const &)
+ ?trUtf8@QDeclarativeDebugObjectQuery@@SA?AVQString@@PBD0H@Z @ 1452 NONAME ABSENT ; class QString QDeclarativeDebugObjectQuery::trUtf8(char const *, char const *, int)
+ ??0QDeclarativeBinding@@QAE@ABVQString@@PAVQObject@@PAVQDeclarativeContext@@1@Z @ 1453 NONAME ABSENT ; QDeclarativeBinding::QDeclarativeBinding(class QString const &, class QObject *, class QDeclarativeContext *, class QObject *)
?tr@QDeclarativeItem@@SA?AVQString@@PBD0@Z @ 1454 NONAME ; class QString QDeclarativeItem::tr(char const *, char const *)
??6QDeclarativeInfo@@QAEAAV0@G@Z @ 1455 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned short)
??0QDeclarativeStateOperation@@IAE@AAVQObjectPrivate@@PAVQObject@@@Z @ 1456 NONAME ; QDeclarativeStateOperation::QDeclarativeStateOperation(class QObjectPrivate &, class QObject *)
?notifyOnValueChanged@QDeclarativeExpression@@QBE_NXZ @ 1457 NONAME ; bool QDeclarativeExpression::notifyOnValueChanged(void) const
?keyPressPreHandler@QDeclarativeItem@@IAEXPAVQKeyEvent@@@Z @ 1458 NONAME ; void QDeclarativeItem::keyPressPreHandler(class QKeyEvent *)
?trUtf8@QDeclarativeItem@@SA?AVQString@@PBD0H@Z @ 1459 NONAME ; class QString QDeclarativeItem::trUtf8(char const *, char const *, int)
- ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugFileReference@@PAVQObject@@@Z @ 1460 NONAME ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugFileReference const &, class QObject *)
- ?paintedHeight@QDeclarativeText@@QBEMXZ @ 1461 NONAME ; float QDeclarativeText::paintedHeight(void) const
+ ?addWatch@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugWatch@@ABVQDeclarativeDebugFileReference@@PAVQObject@@@Z @ 1460 NONAME ABSENT ; class QDeclarativeDebugWatch * QDeclarativeEngineDebug::addWatch(class QDeclarativeDebugFileReference const &, class QObject *)
+ ?paintedHeight@QDeclarativeText@@QBEMXZ @ 1461 NONAME ABSENT ; float QDeclarativeText::paintedHeight(void) const
?tr@QDeclarativeTransition@@SA?AVQString@@PBD0@Z @ 1462 NONAME ; class QString QDeclarativeTransition::tr(char const *, char const *)
?transform@QDeclarativeItem@@QAE?AV?$QDeclarativeListProperty@VQGraphicsTransform@@@@XZ @ 1463 NONAME ; class QDeclarativeListProperty<class QGraphicsTransform> QDeclarativeItem::transform(void)
- ?leftChanged@QDeclarativeAnchors@@IAEXXZ @ 1464 NONAME ; void QDeclarativeAnchors::leftChanged(void)
- ?topChanged@QDeclarativeAnchors@@IAEXXZ @ 1465 NONAME ; void QDeclarativeAnchors::topChanged(void)
- ??0QMetaObjectBuilder@@QAE@XZ @ 1466 NONAME ; QMetaObjectBuilder::QMetaObjectBuilder(void)
+ ?leftChanged@QDeclarativeAnchors@@IAEXXZ @ 1464 NONAME ABSENT ; void QDeclarativeAnchors::leftChanged(void)
+ ?topChanged@QDeclarativeAnchors@@IAEXXZ @ 1465 NONAME ABSENT ; void QDeclarativeAnchors::topChanged(void)
+ ??0QMetaObjectBuilder@@QAE@XZ @ 1466 NONAME ABSENT ; QMetaObjectBuilder::QMetaObjectBuilder(void)
?asBoolean@Variant@QDeclarativeParser@@QBE_NXZ @ 1467 NONAME ; bool QDeclarativeParser::Variant::asBoolean(void) const
- ?removeEnumerator@QMetaObjectBuilder@@QAEXH@Z @ 1468 NONAME ; void QMetaObjectBuilder::removeEnumerator(int)
- ?url@QDeclarativeDomObject@@QBE?AVQUrl@@XZ @ 1469 NONAME ; class QUrl QDeclarativeDomObject::url(void) const
- ?getStaticMetaObject@QDeclarativeScaleGrid@@SAABUQMetaObject@@XZ @ 1470 NONAME ; struct QMetaObject const & QDeclarativeScaleGrid::getStaticMetaObject(void)
- ?signalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@@Z @ 1471 NONAME ; class QDeclarativeExpression * QDeclarativePropertyPrivate::signalExpression(class QDeclarativeProperty const &)
+ ?removeEnumerator@QMetaObjectBuilder@@QAEXH@Z @ 1468 NONAME ABSENT ; void QMetaObjectBuilder::removeEnumerator(int)
+ ?url@QDeclarativeDomObject@@QBE?AVQUrl@@XZ @ 1469 NONAME ABSENT ; class QUrl QDeclarativeDomObject::url(void) const
+ ?getStaticMetaObject@QDeclarativeScaleGrid@@SAABUQMetaObject@@XZ @ 1470 NONAME ABSENT ; struct QMetaObject const & QDeclarativeScaleGrid::getStaticMetaObject(void)
+ ?signalExpression@QDeclarativePropertyPrivate@@SAPAVQDeclarativeExpression@@ABVQDeclarativeProperty@@@Z @ 1471 NONAME ABSENT ; class QDeclarativeExpression * QDeclarativePropertyPrivate::signalExpression(class QDeclarativeProperty const &)
?networkAccessManagerFactory@QDeclarativeEngine@@QBEPAVQDeclarativeNetworkAccessManagerFactory@@XZ @ 1472 NONAME ; class QDeclarativeNetworkAccessManagerFactory * QDeclarativeEngine::networkAccessManagerFactory(void) const
?isStringList@Variant@QDeclarativeParser@@QBE_NXZ @ 1473 NONAME ; bool QDeclarativeParser::Variant::isStringList(void) const
- ?packetWritten@QPacketProtocol@@IAEXXZ @ 1474 NONAME ; void QPacketProtocol::packetWritten(void)
- ?getStaticMetaObject@QDeclarativeDebugObjectQuery@@SAABUQMetaObject@@XZ @ 1475 NONAME ; struct QMetaObject const & QDeclarativeDebugObjectQuery::getStaticMetaObject(void)
+ ?packetWritten@QPacketProtocol@@IAEXXZ @ 1474 NONAME ABSENT ; void QPacketProtocol::packetWritten(void)
+ ?getStaticMetaObject@QDeclarativeDebugObjectQuery@@SAABUQMetaObject@@XZ @ 1475 NONAME ABSENT ; struct QMetaObject const & QDeclarativeDebugObjectQuery::getStaticMetaObject(void)
?isSignalProperty@QDeclarativeProperty@@QBE_NXZ @ 1476 NONAME ; bool QDeclarativeProperty::isSignalProperty(void) const
- ?d_func@QDeclarativeDebugService@@AAEPAVQDeclarativeDebugServicePrivate@@XZ @ 1477 NONAME ; class QDeclarativeDebugServicePrivate * QDeclarativeDebugService::d_func(void)
- ?qmlTypeNames@QDeclarativeMetaType@@SA?AV?$QList@VQByteArray@@@@XZ @ 1478 NONAME ; class QList<class QByteArray> QDeclarativeMetaType::qmlTypeNames(void)
+ ?d_func@QDeclarativeDebugService@@AAEPAVQDeclarativeDebugServicePrivate@@XZ @ 1477 NONAME ABSENT ; class QDeclarativeDebugServicePrivate * QDeclarativeDebugService::d_func(void)
+ ?qmlTypeNames@QDeclarativeMetaType@@SA?AV?$QList@VQByteArray@@@@XZ @ 1478 NONAME ABSENT ; class QList<class QByteArray> QDeclarativeMetaType::qmlTypeNames(void)
?componentComplete@QDeclarativeItem@@MAEXXZ @ 1479 NONAME ; void QDeclarativeItem::componentComplete(void)
?creationContext@QDeclarativeComponent@@QBEPAVQDeclarativeContext@@XZ @ 1480 NONAME ; class QDeclarativeContext * QDeclarativeComponent::creationContext(void) const
- ?enabledChanged@QDeclarativeBehavior@@IAEXXZ @ 1481 NONAME ; void QDeclarativeBehavior::enabledChanged(void)
+ ?enabledChanged@QDeclarativeBehavior@@IAEXXZ @ 1481 NONAME ABSENT ; void QDeclarativeBehavior::enabledChanged(void)
?staticMetaObject@QDeclarativeTransition@@2UQMetaObject@@B @ 1482 NONAME ; struct QMetaObject const QDeclarativeTransition::staticMetaObject
??0QDeclarativeInfo@@AAE@PAVQDeclarativeInfoPrivate@@@Z @ 1483 NONAME ; QDeclarativeInfo::QDeclarativeInfo(class QDeclarativeInfoPrivate *)
- ?name@QDeclarativeDebugContextReference@@QBE?AVQString@@XZ @ 1484 NONAME ; class QString QDeclarativeDebugContextReference::name(void) const
- ?propertyIndex@QDeclarativeBinding@@UAEHXZ @ 1485 NONAME ; int QDeclarativeBinding::propertyIndex(void)
- ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 1486 NONAME ; class QString QDeclarativeDebugWatch::tr(char const *, char const *, int)
+ ?name@QDeclarativeDebugContextReference@@QBE?AVQString@@XZ @ 1484 NONAME ABSENT ; class QString QDeclarativeDebugContextReference::name(void) const
+ ?propertyIndex@QDeclarativeBinding@@UAEHXZ @ 1485 NONAME ABSENT ; int QDeclarativeBinding::propertyIndex(void)
+ ?tr@QDeclarativeDebugWatch@@SA?AVQString@@PBD0H@Z @ 1486 NONAME ABSENT ; class QString QDeclarativeDebugWatch::tr(char const *, char const *, int)
?qt_metacast@QDeclarativePropertyMap@@UAEPAXPBD@Z @ 1487 NONAME ; void * QDeclarativePropertyMap::qt_metacast(char const *)
- ?classBegin@QDeclarativeAnchors@@QAEXXZ @ 1488 NONAME ; void QDeclarativeAnchors::classBegin(void)
- ?color@QDeclarativeText@@QBE?AVQColor@@XZ @ 1489 NONAME ; class QColor QDeclarativeText::color(void) const
- ?metaObject@QPacketProtocol@@UBEPBUQMetaObject@@XZ @ 1490 NONAME ; struct QMetaObject const * QPacketProtocol::metaObject(void) const
- ??4QDeclarativeGridScaledImage@@QAEAAV0@ABV0@@Z @ 1491 NONAME ; class QDeclarativeGridScaledImage & QDeclarativeGridScaledImage::operator=(class QDeclarativeGridScaledImage const &)
- ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 1492 NONAME ; class QString QDeclarativeScaleGrid::tr(char const *, char const *)
+ ?classBegin@QDeclarativeAnchors@@QAEXXZ @ 1488 NONAME ABSENT ; void QDeclarativeAnchors::classBegin(void)
+ ?color@QDeclarativeText@@QBE?AVQColor@@XZ @ 1489 NONAME ABSENT ; class QColor QDeclarativeText::color(void) const
+ ?metaObject@QPacketProtocol@@UBEPBUQMetaObject@@XZ @ 1490 NONAME ABSENT ; struct QMetaObject const * QPacketProtocol::metaObject(void) const
+ ??4QDeclarativeGridScaledImage@@QAEAAV0@ABV0@@Z @ 1491 NONAME ABSENT ; class QDeclarativeGridScaledImage & QDeclarativeGridScaledImage::operator=(class QDeclarativeGridScaledImage const &)
+ ?tr@QDeclarativeScaleGrid@@SA?AVQString@@PBD0@Z @ 1492 NONAME ABSENT ; class QString QDeclarativeScaleGrid::tr(char const *, char const *)
??1QDeclarativeScriptString@@QAE@XZ @ 1493 NONAME ; QDeclarativeScriptString::~QDeclarativeScriptString(void)
??1QDeclarativePropertyValueSource@@UAE@XZ @ 1494 NONAME ; QDeclarativePropertyValueSource::~QDeclarativePropertyValueSource(void)
- ?position@QDeclarativeDomList@@QBEHXZ @ 1495 NONAME ; int QDeclarativeDomList::position(void) const
- ?toQObject@QDeclarativeMetaType@@SAPAVQObject@@ABVQVariant@@PA_N@Z @ 1496 NONAME ; class QObject * QDeclarativeMetaType::toQObject(class QVariant const &, bool *)
+ ?position@QDeclarativeDomList@@QBEHXZ @ 1495 NONAME ABSENT ; int QDeclarativeDomList::position(void) const
+ ?toQObject@QDeclarativeMetaType@@SAPAVQObject@@ABVQVariant@@PA_N@Z @ 1496 NONAME ABSENT ; class QObject * QDeclarativeMetaType::toQObject(class QVariant const &, bool *)
??_EQDeclarativeItem@@UAE@I@Z @ 1497 NONAME ; QDeclarativeItem::~QDeclarativeItem(unsigned int)
?getStaticMetaObject@QDeclarativeContext@@SAABUQMetaObject@@XZ @ 1498 NONAME ; struct QMetaObject const & QDeclarativeContext::getStaticMetaObject(void)
- ?metaObject@QDeclarativeListModel@@UBEPBUQMetaObject@@XZ @ 1499 NONAME ; struct QMetaObject const * QDeclarativeListModel::metaObject(void) const
+ ?metaObject@QDeclarativeListModel@@UBEPBUQMetaObject@@XZ @ 1499 NONAME ABSENT ; struct QMetaObject const * QDeclarativeListModel::metaObject(void) const
?transformChanged@QDeclarativeItemPrivate@@UAEXXZ @ 1500 NONAME ; void QDeclarativeItemPrivate::transformChanged(void)
- ?remove@QDeclarativeListModel@@QAEXH@Z @ 1501 NONAME ; void QDeclarativeListModel::remove(int)
+ ?remove@QDeclarativeListModel@@QAEXH@Z @ 1501 NONAME ABSENT ; void QDeclarativeListModel::remove(int)
?setResizeMode@QDeclarativeView@@QAEXW4ResizeMode@1@@Z @ 1502 NONAME ; void QDeclarativeView::setResizeMode(enum QDeclarativeView::ResizeMode)
- ?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1503 NONAME ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const
- ?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1504 NONAME ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const
+ ?left@QDeclarativeAnchors@@QBE?AVQDeclarativeAnchorLine@@XZ @ 1503 NONAME ABSENT ; class QDeclarativeAnchorLine QDeclarativeAnchors::left(void) const
+ ?flags@QMetaObjectBuilder@@QBE?AV?$QFlags@W4MetaObjectFlag@QMetaObjectBuilder@@@@XZ @ 1504 NONAME ABSENT ; class QFlags<enum QMetaObjectBuilder::MetaObjectFlag> QMetaObjectBuilder::flags(void) const
??0QDeclarativeItem@@IAE@AAVQDeclarativeItemPrivate@@PAV0@@Z @ 1505 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItemPrivate &, class QDeclarativeItem *)
??0QDeclarativeContext@@QAE@PAV0@PAVQObject@@@Z @ 1506 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeContext *, class QObject *)
- ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 1507 NONAME ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *)
- ??1QDeclarativeDebugEnginesQuery@@UAE@XZ @ 1508 NONAME ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(void)
+ ?trUtf8@QDeclarativeDebugConnection@@SA?AVQString@@PBD0@Z @ 1507 NONAME ABSENT ; class QString QDeclarativeDebugConnection::trUtf8(char const *, char const *)
+ ??1QDeclarativeDebugEnginesQuery@@UAE@XZ @ 1508 NONAME ABSENT ; QDeclarativeDebugEnginesQuery::~QDeclarativeDebugEnginesQuery(void)
?getStaticMetaObject@QDeclarativeTransition@@SAABUQMetaObject@@XZ @ 1509 NONAME ; struct QMetaObject const & QDeclarativeTransition::getStaticMetaObject(void)
- ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 1510 NONAME ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeDebugObjectExpressionWatch@@SA?AVQString@@PBD0H@Z @ 1510 NONAME ABSENT ; class QString QDeclarativeDebugObjectExpressionWatch::trUtf8(char const *, char const *, int)
?metaObject@QDeclarativePropertyMap@@UBEPBUQMetaObject@@XZ @ 1511 NONAME ; struct QMetaObject const * QDeclarativePropertyMap::metaObject(void) const
- ?componentRoot@QDeclarativeDomComponent@@QBE?AVQDeclarativeDomObject@@XZ @ 1512 NONAME ; class QDeclarativeDomObject QDeclarativeDomComponent::componentRoot(void) const
- ?metaObject@QDeclarativeDebugConnection@@UBEPBUQMetaObject@@XZ @ 1513 NONAME ; struct QMetaObject const * QDeclarativeDebugConnection::metaObject(void) const
- ?setTag@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1514 NONAME ; void QMetaMethodBuilder::setTag(class QByteArray const &)
- ?objects@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 1515 NONAME ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugContextReference::objects(void) const
+ ?componentRoot@QDeclarativeDomComponent@@QBE?AVQDeclarativeDomObject@@XZ @ 1512 NONAME ABSENT ; class QDeclarativeDomObject QDeclarativeDomComponent::componentRoot(void) const
+ ?metaObject@QDeclarativeDebugConnection@@UBEPBUQMetaObject@@XZ @ 1513 NONAME ABSENT ; struct QMetaObject const * QDeclarativeDebugConnection::metaObject(void) const
+ ?setTag@QMetaMethodBuilder@@QAEXABVQByteArray@@@Z @ 1514 NONAME ABSENT ; void QMetaMethodBuilder::setTag(class QByteArray const &)
+ ?objects@QDeclarativeDebugContextReference@@QBE?AV?$QList@VQDeclarativeDebugObjectReference@@@@XZ @ 1515 NONAME ABSENT ; class QList<class QDeclarativeDebugObjectReference> QDeclarativeDebugContextReference::objects(void) const
??4Variant@QDeclarativeParser@@QAEAAV01@ABV01@@Z @ 1516 NONAME ; class QDeclarativeParser::Variant & QDeclarativeParser::Variant::operator=(class QDeclarativeParser::Variant const &)
?tr@QDeclarativeStateGroup@@SA?AVQString@@PBD0@Z @ 1517 NONAME ; class QString QDeclarativeStateGroup::tr(char const *, char const *)
?setScopeObject@QDeclarativeScriptString@@QAEXPAVQObject@@@Z @ 1518 NONAME ; void QDeclarativeScriptString::setScopeObject(class QObject *)
- ??1QDeclarativeBinding@@MAE@XZ @ 1519 NONAME ; QDeclarativeBinding::~QDeclarativeBinding(void)
+ ??1QDeclarativeBinding@@MAE@XZ @ 1519 NONAME ABSENT ; QDeclarativeBinding::~QDeclarativeBinding(void)
?importPlugin@QDeclarativeEngine@@QAE_NABVQString@@0PAV2@@Z @ 1520 NONAME ; bool QDeclarativeEngine::importPlugin(class QString const &, class QString const &, class QString *)
- ?setBottomMargin@QDeclarativeAnchors@@QAEXM@Z @ 1521 NONAME ; void QDeclarativeAnchors::setBottomMargin(float)
+ ?setBottomMargin@QDeclarativeAnchors@@QAEXM@Z @ 1521 NONAME ABSENT ; void QDeclarativeAnchors::setBottomMargin(float)
?geometryChanged@QDeclarativeItem@@MAEXABVQRectF@@0@Z @ 1522 NONAME ; void QDeclarativeItem::geometryChanged(class QRectF const &, class QRectF const &)
- ?toValueSource@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueSource@@XZ @ 1523 NONAME ; class QDeclarativeDomValueValueSource QDeclarativeDomValue::toValueSource(void) const
- ?hAlign@QDeclarativeText@@QBE?AW4HAlignment@1@XZ @ 1524 NONAME ; enum QDeclarativeText::HAlignment QDeclarativeText::hAlign(void) const
+ ?toValueSource@QDeclarativeDomValue@@QBE?AVQDeclarativeDomValueValueSource@@XZ @ 1523 NONAME ABSENT ; class QDeclarativeDomValueValueSource QDeclarativeDomValue::toValueSource(void) const
+ ?hAlign@QDeclarativeText@@QBE?AW4HAlignment@1@XZ @ 1524 NONAME ABSENT ; enum QDeclarativeText::HAlignment QDeclarativeText::hAlign(void) const
?when@QDeclarativeState@@QBEPAVQDeclarativeBinding@@XZ @ 1525 NONAME ; class QDeclarativeBinding * QDeclarativeState::when(void) const
?setRootObject@QDeclarativeView@@MAEXPAVQObject@@@Z @ 1526 NONAME ; void QDeclarativeView::setRootObject(class QObject *)
- ?resetBottom@QDeclarativeAnchors@@QAEXXZ @ 1527 NONAME ; void QDeclarativeAnchors::resetBottom(void)
+ ?resetBottom@QDeclarativeAnchors@@QAEXXZ @ 1527 NONAME ABSENT ; void QDeclarativeAnchors::resetBottom(void)
?qt_metacall@QDeclarativePropertyMap@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1528 NONAME ; int QDeclarativePropertyMap::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??0QDeclarativeDebugEngineReference@@QAE@ABV0@@Z @ 1529 NONAME ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(class QDeclarativeDebugEngineReference const &)
- ?objectDebugId@QDeclarativeDebugPropertyReference@@QBEHXZ @ 1530 NONAME ; int QDeclarativeDebugPropertyReference::objectDebugId(void) const
- ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 1531 NONAME ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *)
- ??AQDeclarativeValueTypeFactory@@QBEPAVQDeclarativeValueType@@H@Z @ 1532 NONAME ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::operator[](int) const
+ ??0QDeclarativeDebugEngineReference@@QAE@ABV0@@Z @ 1529 NONAME ABSENT ; QDeclarativeDebugEngineReference::QDeclarativeDebugEngineReference(class QDeclarativeDebugEngineReference const &)
+ ?objectDebugId@QDeclarativeDebugPropertyReference@@QBEHXZ @ 1530 NONAME ABSENT ; int QDeclarativeDebugPropertyReference::objectDebugId(void) const
+ ?trUtf8@QDeclarativeDebugQuery@@SA?AVQString@@PBD0@Z @ 1531 NONAME ABSENT ; class QString QDeclarativeDebugQuery::trUtf8(char const *, char const *)
+ ??AQDeclarativeValueTypeFactory@@QBEPAVQDeclarativeValueType@@H@Z @ 1532 NONAME ABSENT ; class QDeclarativeValueType * QDeclarativeValueTypeFactory::operator[](int) const
?siblingOrderChange@QDeclarativeItemPrivate@@UAEXXZ @ 1533 NONAME ; void QDeclarativeItemPrivate::siblingOrderChange(void)
??1QDeclarativeState@@UAE@XZ @ 1534 NONAME ; QDeclarativeState::~QDeclarativeState(void)
- ?paint@QDeclarativeText@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1535 NONAME ; void QDeclarativeText::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
+ ?paint@QDeclarativeText@@UAEXPAVQPainter@@PBVQStyleOptionGraphicsItem@@PAVQWidget@@@Z @ 1535 NONAME ABSENT ; void QDeclarativeText::paint(class QPainter *, class QStyleOptionGraphicsItem const *, class QWidget *)
??1QDeclarativeStateGroup@@UAE@XZ @ 1536 NONAME ; QDeclarativeStateGroup::~QDeclarativeStateGroup(void)
- ?setEditable@QMetaPropertyBuilder@@QAEX_N@Z @ 1537 NONAME ; void QMetaPropertyBuilder::setEditable(bool)
- ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1538 NONAME ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QDeclarativeProperty const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
- ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1539 NONAME ; class QString QDeclarativeBinding::trUtf8(char const *, char const *)
+ ?setEditable@QMetaPropertyBuilder@@QAEX_N@Z @ 1537 NONAME ABSENT ; void QMetaPropertyBuilder::setEditable(bool)
+ ?setBinding@QDeclarativePropertyPrivate@@SAPAVQDeclarativeAbstractBinding@@ABVQDeclarativeProperty@@PAV2@V?$QFlags@W4WriteFlag@QDeclarativePropertyPrivate@@@@@Z @ 1538 NONAME ABSENT ; class QDeclarativeAbstractBinding * QDeclarativePropertyPrivate::setBinding(class QDeclarativeProperty const &, class QDeclarativeAbstractBinding *, class QFlags<enum QDeclarativePropertyPrivate::WriteFlag>)
+ ?trUtf8@QDeclarativeBinding@@SA?AVQString@@PBD0@Z @ 1539 NONAME ABSENT ; class QString QDeclarativeBinding::trUtf8(char const *, char const *)
?requestSize@QDeclarativePixmap@@QBEABVQSize@@XZ @ 1540 NONAME ; class QSize const & QDeclarativePixmap::requestSize(void) const
?progress@QDeclarativeComponent@@QBEMXZ @ 1541 NONAME ; float QDeclarativeComponent::progress(void) const
?d_func@QDeclarativeState@@ABEPBVQDeclarativeStatePrivate@@XZ @ 1542 NONAME ; class QDeclarativeStatePrivate const * QDeclarativeState::d_func(void) const
- ??0QListModelInterface@@QAE@PAVQObject@@@Z @ 1543 NONAME ; QListModelInterface::QListModelInterface(class QObject *)
- ?pointFFromString@QDeclarativeStringConverters@@YA?AVQPointF@@ABVQString@@PA_N@Z @ 1544 NONAME ; class QPointF QDeclarativeStringConverters::pointFFromString(class QString const &, bool *)
- ?propertyCreated@QDeclarativeOpenMetaObject@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1545 NONAME ; void QDeclarativeOpenMetaObject::propertyCreated(int, class QMetaPropertyBuilder &)
+ ??0QListModelInterface@@QAE@PAVQObject@@@Z @ 1543 NONAME ABSENT ; QListModelInterface::QListModelInterface(class QObject *)
+ ?pointFFromString@QDeclarativeStringConverters@@YA?AVQPointF@@ABVQString@@PA_N@Z @ 1544 NONAME ABSENT ; class QPointF QDeclarativeStringConverters::pointFFromString(class QString const &, bool *)
+ ?propertyCreated@QDeclarativeOpenMetaObject@@MAEXHAAVQMetaPropertyBuilder@@@Z @ 1545 NONAME ABSENT ; void QDeclarativeOpenMetaObject::propertyCreated(int, class QMetaPropertyBuilder &)
?d_func@QDeclarativeView@@ABEPBVQDeclarativeViewPrivate@@XZ @ 1546 NONAME ; class QDeclarativeViewPrivate const * QDeclarativeView::d_func(void) const
?rootObject@QDeclarativeView@@QBEPAVQGraphicsObject@@XZ @ 1547 NONAME ; class QGraphicsObject * QDeclarativeView::rootObject(void) const
- ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 1548 NONAME ; class QString QDeclarativeBinding::tr(char const *, char const *, int)
- ?queryObjectRecursive@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1549 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObjectRecursive(class QDeclarativeDebugObjectReference const &, class QObject *)
+ ?tr@QDeclarativeBinding@@SA?AVQString@@PBD0H@Z @ 1548 NONAME ABSENT ; class QString QDeclarativeBinding::tr(char const *, char const *, int)
+ ?queryObjectRecursive@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1549 NONAME ABSENT ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObjectRecursive(class QDeclarativeDebugObjectReference const &, class QObject *)
?prepare@QDeclarativeTransition@@QAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@PAVQDeclarativeTransitionManager@@@Z @ 1550 NONAME ; void QDeclarativeTransition::prepare(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, class QDeclarativeTransitionManager *)
??6QDeclarativeInfo@@QAEAAV0@ABVQUrl@@@Z @ 1551 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QUrl const &)
?scopeObject@QDeclarativeExpression@@QBEPAVQObject@@XZ @ 1552 NONAME ; class QObject * QDeclarativeExpression::scopeObject(void) const
?isValid@QDeclarativeContext@@QBE_NXZ @ 1553 NONAME ; bool QDeclarativeContext::isValid(void) const
- ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 1554 NONAME ; class QString QDeclarativeValueType::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeValueType@@SA?AVQString@@PBD0H@Z @ 1554 NONAME ABSENT ; class QString QDeclarativeValueType::trUtf8(char const *, char const *, int)
?qmlAttachedPropertiesObjectById@@YAPAVQObject@@HPBV1@_N@Z @ 1555 NONAME ; class QObject * qmlAttachedPropertiesObjectById(int, class QObject const *, bool)
- ?constructorCount@QMetaObjectBuilder@@QBEHXZ @ 1556 NONAME ; int QMetaObjectBuilder::constructorCount(void) const
- ??0QDeclarativeDomValueValueInterceptor@@QAE@ABV0@@Z @ 1557 NONAME ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(class QDeclarativeDomValueValueInterceptor const &)
- ?object@QDeclarativeDebugObjectQuery@@QBE?AVQDeclarativeDebugObjectReference@@XZ @ 1558 NONAME ; class QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object(void) const
- ??0QMetaPropertyBuilder@@QAE@XZ @ 1559 NONAME ; QMetaPropertyBuilder::QMetaPropertyBuilder(void)
- ?toMetaObject@QMetaObjectBuilder@@QBEPAUQMetaObject@@XZ @ 1560 NONAME ; struct QMetaObject * QMetaObjectBuilder::toMetaObject(void) const
+ ?constructorCount@QMetaObjectBuilder@@QBEHXZ @ 1556 NONAME ABSENT ; int QMetaObjectBuilder::constructorCount(void) const
+ ??0QDeclarativeDomValueValueInterceptor@@QAE@ABV0@@Z @ 1557 NONAME ABSENT ; QDeclarativeDomValueValueInterceptor::QDeclarativeDomValueValueInterceptor(class QDeclarativeDomValueValueInterceptor const &)
+ ?object@QDeclarativeDebugObjectQuery@@QBE?AVQDeclarativeDebugObjectReference@@XZ @ 1558 NONAME ABSENT ; class QDeclarativeDebugObjectReference QDeclarativeDebugObjectQuery::object(void) const
+ ??0QMetaPropertyBuilder@@QAE@XZ @ 1559 NONAME ABSENT ; QMetaPropertyBuilder::QMetaPropertyBuilder(void)
+ ?toMetaObject@QMetaObjectBuilder@@QBEPAUQMetaObject@@XZ @ 1560 NONAME ABSENT ; struct QMetaObject * QMetaObjectBuilder::toMetaObject(void) const
?d_func@QDeclarativeEngine@@AAEPAVQDeclarativeEnginePrivate@@XZ @ 1561 NONAME ; class QDeclarativeEnginePrivate * QDeclarativeEngine::d_func(void)
- ?staticMetaObject@QDeclarativeRectangle@@2UQMetaObject@@B @ 1562 NONAME ; struct QMetaObject const QDeclarativeRectangle::staticMetaObject
- ?addSignal@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1563 NONAME ; class QMetaMethodBuilder QMetaObjectBuilder::addSignal(class QByteArray const &)
+ ?staticMetaObject@QDeclarativeRectangle@@2UQMetaObject@@B @ 1562 NONAME ABSENT ; struct QMetaObject const QDeclarativeRectangle::staticMetaObject
+ ?addSignal@QMetaObjectBuilder@@QAE?AVQMetaMethodBuilder@@ABVQByteArray@@@Z @ 1563 NONAME ABSENT ; class QMetaMethodBuilder QMetaObjectBuilder::addSignal(class QByteArray const &)
?getStaticMetaObject@QDeclarativeStateGroup@@SAABUQMetaObject@@XZ @ 1564 NONAME ; struct QMetaObject const & QDeclarativeStateGroup::getStaticMetaObject(void)
?childrenRectChanged@QDeclarativeItem@@IAEXABVQRectF@@@Z @ 1565 NONAME ; void QDeclarativeItem::childrenRectChanged(class QRectF const &)
?isDesignable@QDeclarativeProperty@@QBE_NXZ @ 1566 NONAME ; bool QDeclarativeProperty::isDesignable(void) const
- ?propertyTypeCategory@QDeclarativePropertyPrivate@@QBE?AW4PropertyTypeCategory@QDeclarativeProperty@@XZ @ 1567 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativePropertyPrivate::propertyTypeCategory(void) const
+ ?propertyTypeCategory@QDeclarativePropertyPrivate@@QBE?AW4PropertyTypeCategory@QDeclarativeProperty@@XZ @ 1567 NONAME ABSENT ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativePropertyPrivate::propertyTypeCategory(void) const
?setSize@QDeclarativeItem@@QAEXABVQSizeF@@@Z @ 1568 NONAME ; void QDeclarativeItem::setSize(class QSizeF const &)
- ?generateRoundedRect@QDeclarativeRectangle@@AAEXXZ @ 1569 NONAME ; void QDeclarativeRectangle::generateRoundedRect(void)
+ ?generateRoundedRect@QDeclarativeRectangle@@AAEXXZ @ 1569 NONAME ABSENT ; void QDeclarativeRectangle::generateRoundedRect(void)
??0QDeclarativePixmap@@QAE@PAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@@Z @ 1570 NONAME ; QDeclarativePixmap::QDeclarativePixmap(class QDeclarativeEngine *, class QUrl const &, class QSize const &)
- ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 1571 NONAME ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *)
+ ?tr@QDeclarativeDebugPropertyWatch@@SA?AVQString@@PBD0@Z @ 1571 NONAME ABSENT ; class QString QDeclarativeDebugPropertyWatch::tr(char const *, char const *)
?propertyTypeCategory@QDeclarativeProperty@@QBE?AW4PropertyTypeCategory@1@XZ @ 1572 NONAME ; enum QDeclarativeProperty::PropertyTypeCategory QDeclarativeProperty::propertyTypeCategory(void) const
- ??0QPacketAutoSend@@AAE@PAVQPacketProtocol@@@Z @ 1573 NONAME ; QPacketAutoSend::QPacketAutoSend(class QPacketProtocol *)
- ?keyCount@QMetaEnumBuilder@@QBEHXZ @ 1574 NONAME ; int QMetaEnumBuilder::keyCount(void) const
- ??1QDeclarativeDomProperty@@QAE@XZ @ 1575 NONAME ; QDeclarativeDomProperty::~QDeclarativeDomProperty(void)
+ ??0QPacketAutoSend@@AAE@PAVQPacketProtocol@@@Z @ 1573 NONAME ABSENT ; QPacketAutoSend::QPacketAutoSend(class QPacketProtocol *)
+ ?keyCount@QMetaEnumBuilder@@QBEHXZ @ 1574 NONAME ABSENT ; int QMetaEnumBuilder::keyCount(void) const
+ ??1QDeclarativeDomProperty@@QAE@XZ @ 1575 NONAME ABSENT ; QDeclarativeDomProperty::~QDeclarativeDomProperty(void)
?url@QDeclarativePixmap@@QBEABVQUrl@@XZ @ 1576 NONAME ; class QUrl const & QDeclarativePixmap::url(void) const
- ?sendMessage@QDeclarativeDebugService@@QAEXABVQByteArray@@@Z @ 1577 NONAME ; void QDeclarativeDebugService::sendMessage(class QByteArray const &)
+ ?sendMessage@QDeclarativeDebugService@@QAEXABVQByteArray@@@Z @ 1577 NONAME ABSENT ; void QDeclarativeDebugService::sendMessage(class QByteArray const &)
?context@QDeclarativeScriptString@@QBEPAVQDeclarativeContext@@XZ @ 1578 NONAME ; class QDeclarativeContext * QDeclarativeScriptString::context(void) const
- ?queryObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1579 NONAME ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObject(class QDeclarativeDebugObjectReference const &, class QObject *)
+ ?queryObject@QDeclarativeEngineDebug@@QAEPAVQDeclarativeDebugObjectQuery@@ABVQDeclarativeDebugObjectReference@@PAVQObject@@@Z @ 1579 NONAME ABSENT ; class QDeclarativeDebugObjectQuery * QDeclarativeEngineDebug::queryObject(class QDeclarativeDebugObjectReference const &, class QObject *)
?tr@QDeclarativePropertyMap@@SA?AVQString@@PBD0H@Z @ 1580 NONAME ; class QString QDeclarativePropertyMap::tr(char const *, char const *, int)
?setNotifyOnValueChanged@QDeclarativeExpression@@QAEX_N@Z @ 1581 NONAME ; void QDeclarativeExpression::setNotifyOnValueChanged(bool)
??0QDeclarativeExpression@@IAE@PAVQDeclarativeContextData@@PAVQObject@@ABVQString@@AAVQDeclarativeExpressionPrivate@@@Z @ 1582 NONAME ; QDeclarativeExpression::QDeclarativeExpression(class QDeclarativeContextData *, class QObject *, class QString const &, class QDeclarativeExpressionPrivate &)
- ?fillChanged@QDeclarativeAnchors@@IAEXXZ @ 1583 NONAME ; void QDeclarativeAnchors::fillChanged(void)
+ ?fillChanged@QDeclarativeAnchors@@IAEXXZ @ 1583 NONAME ABSENT ; void QDeclarativeAnchors::fillChanged(void)
?resources_append@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@PAVQObject@@@Z @ 1584 NONAME ; void QDeclarativeItemPrivate::resources_append(class QDeclarativeListProperty<class QObject> *, class QObject *)
??0QDeclarativeComponent@@IAE@AAVQDeclarativeComponentPrivate@@PAVQObject@@@Z @ 1585 NONAME ; QDeclarativeComponent::QDeclarativeComponent(class QDeclarativeComponentPrivate &, class QObject *)
?height@QDeclarativeItem@@QBEMXZ @ 1586 NONAME ; float QDeclarativeItem::height(void) const
- ?minorVersion@QDeclarativeType@@QBEHXZ @ 1587 NONAME ; int QDeclarativeType::minorVersion(void) const
- ?qt_metacall@QDeclarativeText@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1588 NONAME ; int QDeclarativeText::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?isConnected@QDeclarativeDebugConnection@@QBE_NXZ @ 1589 NONAME ; bool QDeclarativeDebugConnection::isConnected(void) const
+ ?minorVersion@QDeclarativeType@@QBEHXZ @ 1587 NONAME ABSENT ; int QDeclarativeType::minorVersion(void) const
+ ?qt_metacall@QDeclarativeText@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1588 NONAME ABSENT ; int QDeclarativeText::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?isConnected@QDeclarativeDebugConnection@@QBE_NXZ @ 1589 NONAME ABSENT ; bool QDeclarativeDebugConnection::isConnected(void) const
??6QDeclarativeInfo@@QAEAAV0@I@Z @ 1590 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(unsigned int)
?setNetworkAccessManagerFactory@QDeclarativeEngine@@QAEXPAVQDeclarativeNetworkAccessManagerFactory@@@Z @ 1591 NONAME ; void QDeclarativeEngine::setNetworkAccessManagerFactory(class QDeclarativeNetworkAccessManagerFactory *)
- ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 1592 NONAME ; class QString QDeclarativeDebugQuery::tr(char const *, char const *, int)
+ ?tr@QDeclarativeDebugQuery@@SA?AVQString@@PBD0H@Z @ 1592 NONAME ABSENT ; class QString QDeclarativeDebugQuery::tr(char const *, char const *, int)
??AQDeclarativePropertyMap@@QAEAAVQVariant@@ABVQString@@@Z @ 1593 NONAME ; class QVariant & QDeclarativePropertyMap::operator[](class QString const &)
??0Variant@QDeclarativeParser@@QAE@_N@Z @ 1594 NONAME ; QDeclarativeParser::Variant::Variant(bool)
?trUtf8@QDeclarativeState@@SA?AVQString@@PBD0H@Z @ 1595 NONAME ; class QString QDeclarativeState::trUtf8(char const *, char const *, int)
??0QDeclarativeStateGroup@@QAE@PAVQObject@@@Z @ 1596 NONAME ; QDeclarativeStateGroup::QDeclarativeStateGroup(class QObject *)
?count@QDeclarativeListReference@@QBEHXZ @ 1597 NONAME ; int QDeclarativeListReference::count(void) const
?location@QDeclarativeCustomParserProperty@@QBE?AULocation@QDeclarativeParser@@XZ @ 1598 NONAME ; struct QDeclarativeParser::Location QDeclarativeCustomParserProperty::location(void) const
- ?metaObject@QDeclarativePen@@UBEPBUQMetaObject@@XZ @ 1599 NONAME ; struct QMetaObject const * QDeclarativePen::metaObject(void) const
+ ?metaObject@QDeclarativePen@@UBEPBUQMetaObject@@XZ @ 1599 NONAME ABSENT ; struct QMetaObject const * QDeclarativePen::metaObject(void) const
?url@QDeclarativeError@@QBE?AVQUrl@@XZ @ 1600 NONAME ; class QUrl QDeclarativeError::url(void) const
- ?isBinding@QDeclarativeDomValue@@QBE_NXZ @ 1601 NONAME ; bool QDeclarativeDomValue::isBinding(void) const
+ ?isBinding@QDeclarativeDomValue@@QBE_NXZ @ 1601 NONAME ABSENT ; bool QDeclarativeDomValue::isBinding(void) const
?name@QDeclarativeProperty@@QBE?AVQString@@XZ @ 1602 NONAME ; class QString QDeclarativeProperty::name(void) const
?asString@Variant@QDeclarativeParser@@QBE?AVQString@@XZ @ 1603 NONAME ; class QString QDeclarativeParser::Variant::asString(void) const
?trUtf8@QDeclarativeExtensionPlugin@@SA?AVQString@@PBD0@Z @ 1604 NONAME ; class QString QDeclarativeExtensionPlugin::trUtf8(char const *, char const *)
- ?sendMessage@QDeclarativeDebugClient@@QAEXABVQByteArray@@@Z @ 1605 NONAME ; void QDeclarativeDebugClient::sendMessage(class QByteArray const &)
+ ?sendMessage@QDeclarativeDebugClient@@QAEXABVQByteArray@@@Z @ 1605 NONAME ABSENT ; void QDeclarativeDebugClient::sendMessage(class QByteArray const &)
?canAppend@QDeclarativeListReference@@QBE_NXZ @ 1606 NONAME ; bool QDeclarativeListReference::canAppend(void) const
??_EQDeclarativeComponent@@UAE@I@Z @ 1607 NONAME ; QDeclarativeComponent::~QDeclarativeComponent(unsigned int)
?get@QDeclarativeItemPrivate@@SAPAV1@PAVQDeclarativeItem@@@Z @ 1608 NONAME ; class QDeclarativeItemPrivate * QDeclarativeItemPrivate::get(class QDeclarativeItem *)
?staticMetaObject@QDeclarativeView@@2UQMetaObject@@B @ 1609 NONAME ; struct QMetaObject const QDeclarativeView::staticMetaObject
- ?objectToString@QDeclarativeDebugService@@SA?AVQString@@PAVQObject@@@Z @ 1610 NONAME ; class QString QDeclarativeDebugService::objectToString(class QObject *)
- ?defaultValue@QDeclarativeDomDynamicProperty@@QBE?AVQDeclarativeDomProperty@@XZ @ 1611 NONAME ; class QDeclarativeDomProperty QDeclarativeDomDynamicProperty::defaultValue(void) const
- ?relatedMetaObject@QMetaObjectBuilder@@QBEPBUQMetaObject@@H@Z @ 1612 NONAME ; struct QMetaObject const * QMetaObjectBuilder::relatedMetaObject(int) const
- ?addKey@QMetaEnumBuilder@@QAEHABVQByteArray@@H@Z @ 1613 NONAME ; int QMetaEnumBuilder::addKey(class QByteArray const &, int)
+ ?objectToString@QDeclarativeDebugService@@SA?AVQString@@PAVQObject@@@Z @ 1610 NONAME ABSENT ; class QString QDeclarativeDebugService::objectToString(class QObject *)
+ ?defaultValue@QDeclarativeDomDynamicProperty@@QBE?AVQDeclarativeDomProperty@@XZ @ 1611 NONAME ABSENT ; class QDeclarativeDomProperty QDeclarativeDomDynamicProperty::defaultValue(void) const
+ ?relatedMetaObject@QMetaObjectBuilder@@QBEPBUQMetaObject@@H@Z @ 1612 NONAME ABSENT ; struct QMetaObject const * QMetaObjectBuilder::relatedMetaObject(int) const
+ ?addKey@QMetaEnumBuilder@@QAEHABVQByteArray@@H@Z @ 1613 NONAME ABSENT ; int QMetaEnumBuilder::addKey(class QByteArray const &, int)
?setPosHelper@QDeclarativeItemPrivate@@UAEXABVQPointF@@@Z @ 1614 NONAME ; void QDeclarativeItemPrivate::setPosHelper(class QPointF const &)
- ?attributes@QMetaMethodBuilder@@QBEHXZ @ 1615 NONAME ; int QMetaMethodBuilder::attributes(void) const
- ?lineNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 1616 NONAME ; int QDeclarativeDebugFileReference::lineNumber(void) const
- ?setTop@QDeclarativeScaleGrid@@QAEXH@Z @ 1617 NONAME ; void QDeclarativeScaleGrid::setTop(int)
+ ?attributes@QMetaMethodBuilder@@QBEHXZ @ 1615 NONAME ABSENT ; int QMetaMethodBuilder::attributes(void) const
+ ?lineNumber@QDeclarativeDebugFileReference@@QBEHXZ @ 1616 NONAME ABSENT ; int QDeclarativeDebugFileReference::lineNumber(void) const
+ ?setTop@QDeclarativeScaleGrid@@QAEXH@Z @ 1617 NONAME ABSENT ; void QDeclarativeScaleGrid::setTop(int)
?metaObject@QDeclarativeItem@@UBEPBUQMetaObject@@XZ @ 1618 NONAME ; struct QMetaObject const * QDeclarativeItem::metaObject(void) const
- ?clear@QDeclarativeAbstractBinding@@IAEXXZ @ 1619 NONAME ; void QDeclarativeAbstractBinding::clear(void)
+ ?clear@QDeclarativeAbstractBinding@@IAEXXZ @ 1619 NONAME ABSENT ; void QDeclarativeAbstractBinding::clear(void)
?start@QDeclarativeItemPrivate@@SAXAAVQElapsedTimer@@@Z @ 1620 NONAME ; void QDeclarativeItemPrivate::start(class QElapsedTimer &)
?load@QDeclarativePixmap@@QAEXPAVQDeclarativeEngine@@ABVQUrl@@ABVQSize@@_N@Z @ 1621 NONAME ; void QDeclarativePixmap::load(class QDeclarativeEngine *, class QUrl const &, class QSize const &, bool)
- ?stringToRule@QDeclarativeGridScaledImage@@CA?AW4TileMode@QDeclarativeBorderImage@@ABVQString@@@Z @ 1622 NONAME ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::stringToRule(class QString const &)
- ?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1623 NONAME ; void QDeclarativeAnchors::setHorizontalCenter(class QDeclarativeAnchorLine const &)
+ ?stringToRule@QDeclarativeGridScaledImage@@CA?AW4TileMode@QDeclarativeBorderImage@@ABVQString@@@Z @ 1622 NONAME ABSENT ; enum QDeclarativeBorderImage::TileMode QDeclarativeGridScaledImage::stringToRule(class QString const &)
+ ?setHorizontalCenter@QDeclarativeAnchors@@QAEXABVQDeclarativeAnchorLine@@@Z @ 1623 NONAME ABSENT ; void QDeclarativeAnchors::setHorizontalCenter(class QDeclarativeAnchorLine const &)
?setFocus@QDeclarativeItem@@QAEX_N@Z @ 1624 NONAME ; void QDeclarativeItem::setFocus(bool)
?connectNotifySignal@QDeclarativeProperty@@QBE_NPAVQObject@@PBD@Z @ 1625 NONAME ; bool QDeclarativeProperty::connectNotifySignal(class QObject *, char const *) const
??4QDeclarativeProperty@@QAEAAV0@ABV0@@Z @ 1626 NONAME ; class QDeclarativeProperty & QDeclarativeProperty::operator=(class QDeclarativeProperty const &)
- ?messageReceived@QDeclarativeDebugClient@@MAEXABVQByteArray@@@Z @ 1627 NONAME ; void QDeclarativeDebugClient::messageReceived(class QByteArray const &)
+ ?messageReceived@QDeclarativeDebugClient@@MAEXABVQByteArray@@@Z @ 1627 NONAME ABSENT ; void QDeclarativeDebugClient::messageReceived(class QByteArray const &)
?setImplicitWidth@QDeclarativeItem@@IAEXM@Z @ 1628 NONAME ; void QDeclarativeItem::setImplicitWidth(float)
- ?isInterface@QDeclarativeType@@QBE_NXZ @ 1629 NONAME ; bool QDeclarativeType::isInterface(void) const
+ ?isInterface@QDeclarativeType@@QBE_NXZ @ 1629 NONAME ABSENT ; bool QDeclarativeType::isInterface(void) const
??0QDeclarativeContext@@AAE@PAVQDeclarativeEngine@@_N@Z @ 1630 NONAME ; QDeclarativeContext::QDeclarativeContext(class QDeclarativeEngine *, bool)
- ?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1631 NONAME ; class QVariant QDeclarativeOpenMetaObject::initialValue(int)
+ ?initialValue@QDeclarativeOpenMetaObject@@UAE?AVQVariant@@H@Z @ 1631 NONAME ABSENT ; class QVariant QDeclarativeOpenMetaObject::initialValue(int)
?tr@QDeclarativeView@@SA?AVQString@@PBD0@Z @ 1632 NONAME ; class QString QDeclarativeView::tr(char const *, char const *)
- ?qt_metacall@QPacketProtocol@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1633 NONAME ; int QPacketProtocol::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacall@QPacketProtocol@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1633 NONAME ABSENT ; int QPacketProtocol::qt_metacall(enum QMetaObject::Call, int, void * *)
??0QDeclarativeItem@@QAE@PAV0@@Z @ 1634 NONAME ; QDeclarativeItem::QDeclarativeItem(class QDeclarativeItem *)
- ?hasDebuggingClient@QDeclarativeDebugService@@SA_NXZ @ 1635 NONAME ; bool QDeclarativeDebugService::hasDebuggingClient(void)
+ ?hasDebuggingClient@QDeclarativeDebugService@@SA_NXZ @ 1635 NONAME ABSENT ; bool QDeclarativeDebugService::hasDebuggingClient(void)
?staticMetaObject@QDeclarativeContext@@2UQMetaObject@@B @ 1636 NONAME ; struct QMetaObject const QDeclarativeContext::staticMetaObject
?setContextForObject@QDeclarativeEngine@@SAXPAVQObject@@PAVQDeclarativeContext@@@Z @ 1637 NONAME ; void QDeclarativeEngine::setContextForObject(class QObject *, class QDeclarativeContext *)
?baselineOffsetChanged@QDeclarativeItem@@IAEXM@Z @ 1638 NONAME ; void QDeclarativeItem::baselineOffsetChanged(float)
??6QDeclarativeInfo@@QAEAAV0@VQChar@@@Z @ 1639 NONAME ; class QDeclarativeInfo & QDeclarativeInfo::operator<<(class QChar)
- ?newObjects@QDeclarativeEngineDebug@@IAEXXZ @ 1640 NONAME ; void QDeclarativeEngineDebug::newObjects(void)
- ?qt_metacast@QDeclarativePropertyChanges@@UAEPAXPBD@Z @ 1641 NONAME ; void * QDeclarativePropertyChanges::qt_metacast(char const *)
- ?actions@QDeclarativePropertyChanges@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1642 NONAME ; class QList<class QDeclarativeAction> QDeclarativePropertyChanges::actions(void)
- ??1QDeclarativePropertyChanges@@UAE@XZ @ 1643 NONAME ; QDeclarativePropertyChanges::~QDeclarativePropertyChanges(void)
- ??_EQDeclarativePropertyChanges@@UAE@I@Z @ 1644 NONAME ; QDeclarativePropertyChanges::~QDeclarativePropertyChanges(unsigned int)
- ?setObject@QDeclarativePropertyChanges@@QAEXPAVQObject@@@Z @ 1645 NONAME ; void QDeclarativePropertyChanges::setObject(class QObject *)
- ?staticMetaObject@QDeclarativePropertyChanges@@2UQMetaObject@@B @ 1646 NONAME ; struct QMetaObject const QDeclarativePropertyChanges::staticMetaObject
+ ?newObjects@QDeclarativeEngineDebug@@IAEXXZ @ 1640 NONAME ABSENT ; void QDeclarativeEngineDebug::newObjects(void)
+ ?qt_metacast@QDeclarativePropertyChanges@@UAEPAXPBD@Z @ 1641 NONAME ABSENT ; void * QDeclarativePropertyChanges::qt_metacast(char const *)
+ ?actions@QDeclarativePropertyChanges@@UAE?AV?$QList@VQDeclarativeAction@@@@XZ @ 1642 NONAME ABSENT ; class QList<class QDeclarativeAction> QDeclarativePropertyChanges::actions(void)
+ ??1QDeclarativePropertyChanges@@UAE@XZ @ 1643 NONAME ABSENT ; QDeclarativePropertyChanges::~QDeclarativePropertyChanges(void)
+ ??_EQDeclarativePropertyChanges@@UAE@I@Z @ 1644 NONAME ABSENT ; QDeclarativePropertyChanges::~QDeclarativePropertyChanges(unsigned int)
+ ?setObject@QDeclarativePropertyChanges@@QAEXPAVQObject@@@Z @ 1645 NONAME ABSENT ; void QDeclarativePropertyChanges::setObject(class QObject *)
+ ?staticMetaObject@QDeclarativePropertyChanges@@2UQMetaObject@@B @ 1646 NONAME ABSENT ; struct QMetaObject const QDeclarativePropertyChanges::staticMetaObject
?removeEntryFromRevertList@QDeclarativeState@@QAE_NPAVQObject@@ABVQByteArray@@@Z @ 1647 NONAME ; bool QDeclarativeState::removeEntryFromRevertList(class QObject *, class QByteArray const &)
- ?restoreEntryValues@QDeclarativePropertyChanges@@QBE_NXZ @ 1648 NONAME ; bool QDeclarativePropertyChanges::restoreEntryValues(void) const
- ?setRestoreEntryValues@QDeclarativePropertyChanges@@QAEX_N@Z @ 1649 NONAME ; void QDeclarativePropertyChanges::setRestoreEntryValues(bool)
- ?changeValue@QDeclarativePropertyChanges@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1650 NONAME ; void QDeclarativePropertyChanges::changeValue(class QByteArray const &, class QVariant const &)
- ?metaObject@QDeclarativePropertyChanges@@UBEPBUQMetaObject@@XZ @ 1651 NONAME ; struct QMetaObject const * QDeclarativePropertyChanges::metaObject(void) const
+ ?restoreEntryValues@QDeclarativePropertyChanges@@QBE_NXZ @ 1648 NONAME ABSENT ; bool QDeclarativePropertyChanges::restoreEntryValues(void) const
+ ?setRestoreEntryValues@QDeclarativePropertyChanges@@QAEX_N@Z @ 1649 NONAME ABSENT ; void QDeclarativePropertyChanges::setRestoreEntryValues(bool)
+ ?changeValue@QDeclarativePropertyChanges@@QAEXABVQByteArray@@ABVQVariant@@@Z @ 1650 NONAME ABSENT ; void QDeclarativePropertyChanges::changeValue(class QByteArray const &, class QVariant const &)
+ ?metaObject@QDeclarativePropertyChanges@@UBEPBUQMetaObject@@XZ @ 1651 NONAME ABSENT ; struct QMetaObject const * QDeclarativePropertyChanges::metaObject(void) const
?data_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 1652 NONAME ; void QDeclarativeItemPrivate::data_clear(class QDeclarativeListProperty<class QObject> *)
?containsPropertyInRevertList@QDeclarativeState@@QBE_NPAVQObject@@ABVQByteArray@@@Z @ 1653 NONAME ; bool QDeclarativeState::containsPropertyInRevertList(class QObject *, class QByteArray const &) const
- ?containsValue@QDeclarativePropertyChanges@@QBE_NABVQByteArray@@@Z @ 1654 NONAME ; bool QDeclarativePropertyChanges::containsValue(class QByteArray const &) const
+ ?containsValue@QDeclarativePropertyChanges@@QBE_NABVQByteArray@@@Z @ 1654 NONAME ABSENT ; bool QDeclarativePropertyChanges::containsValue(class QByteArray const &) const
?bindingInRevertList@QDeclarativeState@@QBEPAVQDeclarativeAbstractBinding@@PAVQObject@@ABVQByteArray@@@Z @ 1655 NONAME ; class QDeclarativeAbstractBinding * QDeclarativeState::bindingInRevertList(class QObject *, class QByteArray const &) const
- ?d_func@QDeclarativePropertyChanges@@ABEPBVQDeclarativePropertyChangesPrivate@@XZ @ 1656 NONAME ; class QDeclarativePropertyChangesPrivate const * QDeclarativePropertyChanges::d_func(void) const
- ?containsProperty@QDeclarativePropertyChanges@@QBE_NABVQByteArray@@@Z @ 1657 NONAME ; bool QDeclarativePropertyChanges::containsProperty(class QByteArray const &) const
- ?trUtf8@QDeclarativePropertyChanges@@SA?AVQString@@PBD0H@Z @ 1658 NONAME ; class QString QDeclarativePropertyChanges::trUtf8(char const *, char const *, int)
- ?property@QDeclarativePropertyChanges@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 1659 NONAME ; class QVariant QDeclarativePropertyChanges::property(class QByteArray const &) const
- ?containsExpression@QDeclarativePropertyChanges@@QBE_NABVQByteArray@@@Z @ 1660 NONAME ; bool QDeclarativePropertyChanges::containsExpression(class QByteArray const &) const
+ ?d_func@QDeclarativePropertyChanges@@ABEPBVQDeclarativePropertyChangesPrivate@@XZ @ 1656 NONAME ABSENT ; class QDeclarativePropertyChangesPrivate const * QDeclarativePropertyChanges::d_func(void) const
+ ?containsProperty@QDeclarativePropertyChanges@@QBE_NABVQByteArray@@@Z @ 1657 NONAME ABSENT ; bool QDeclarativePropertyChanges::containsProperty(class QByteArray const &) const
+ ?trUtf8@QDeclarativePropertyChanges@@SA?AVQString@@PBD0H@Z @ 1658 NONAME ABSENT ; class QString QDeclarativePropertyChanges::trUtf8(char const *, char const *, int)
+ ?property@QDeclarativePropertyChanges@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 1659 NONAME ABSENT ; class QVariant QDeclarativePropertyChanges::property(class QByteArray const &) const
+ ?containsExpression@QDeclarativePropertyChanges@@QBE_NABVQByteArray@@@Z @ 1660 NONAME ABSENT ; bool QDeclarativePropertyChanges::containsExpression(class QByteArray const &) const
?d_func@QDeclarativeStateOperation@@ABEPBVQDeclarativeStateOperationPrivate@@XZ @ 1661 NONAME ; class QDeclarativeStateOperationPrivate const * QDeclarativeStateOperation::d_func(void) const
- ?d_func@QDeclarativePropertyChanges@@AAEPAVQDeclarativePropertyChangesPrivate@@XZ @ 1662 NONAME ; class QDeclarativePropertyChangesPrivate * QDeclarativePropertyChanges::d_func(void)
+ ?d_func@QDeclarativePropertyChanges@@AAEPAVQDeclarativePropertyChangesPrivate@@XZ @ 1662 NONAME ABSENT ; class QDeclarativePropertyChangesPrivate * QDeclarativePropertyChanges::d_func(void)
?state@QDeclarativeStateOperation@@QBEPAVQDeclarativeState@@XZ @ 1663 NONAME ; class QDeclarativeState * QDeclarativeStateOperation::state(void) const
- ?value@QDeclarativePropertyChanges@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 1664 NONAME ; class QVariant QDeclarativePropertyChanges::value(class QByteArray const &) const
- ?qt_metacall@QDeclarativePropertyChanges@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1665 NONAME ; int QDeclarativePropertyChanges::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?trUtf8@QDeclarativePropertyChanges@@SA?AVQString@@PBD0@Z @ 1666 NONAME ; class QString QDeclarativePropertyChanges::trUtf8(char const *, char const *)
- ?attachToState@QDeclarativePropertyChanges@@QAEXXZ @ 1667 NONAME ; void QDeclarativePropertyChanges::attachToState(void)
- ?changeExpression@QDeclarativePropertyChanges@@QAEXABVQByteArray@@ABVQString@@@Z @ 1668 NONAME ; void QDeclarativePropertyChanges::changeExpression(class QByteArray const &, class QString const &)
+ ?value@QDeclarativePropertyChanges@@QBE?AVQVariant@@ABVQByteArray@@@Z @ 1664 NONAME ABSENT ; class QVariant QDeclarativePropertyChanges::value(class QByteArray const &) const
+ ?qt_metacall@QDeclarativePropertyChanges@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1665 NONAME ABSENT ; int QDeclarativePropertyChanges::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@QDeclarativePropertyChanges@@SA?AVQString@@PBD0@Z @ 1666 NONAME ABSENT ; class QString QDeclarativePropertyChanges::trUtf8(char const *, char const *)
+ ?attachToState@QDeclarativePropertyChanges@@QAEXXZ @ 1667 NONAME ABSENT ; void QDeclarativePropertyChanges::attachToState(void)
+ ?changeExpression@QDeclarativePropertyChanges@@QAEXABVQByteArray@@ABVQString@@@Z @ 1668 NONAME ABSENT ; void QDeclarativePropertyChanges::changeExpression(class QByteArray const &, class QString const &)
?addEntryToRevertList@QDeclarativeState@@QAEXABVQDeclarativeAction@@@Z @ 1669 NONAME ; void QDeclarativeState::addEntryToRevertList(class QDeclarativeAction const &)
- ??0QDeclarativePropertyChanges@@QAE@XZ @ 1670 NONAME ; QDeclarativePropertyChanges::QDeclarativePropertyChanges(void)
+ ??0QDeclarativePropertyChanges@@QAE@XZ @ 1670 NONAME ABSENT ; QDeclarativePropertyChanges::QDeclarativePropertyChanges(void)
?resources_clear@QDeclarativeItemPrivate@@SAXPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 1671 NONAME ; void QDeclarativeItemPrivate::resources_clear(class QDeclarativeListProperty<class QObject> *)
- ?isExplicit@QDeclarativePropertyChanges@@QBE_NXZ @ 1672 NONAME ; bool QDeclarativePropertyChanges::isExplicit(void) const
+ ?isExplicit@QDeclarativePropertyChanges@@QBE_NXZ @ 1672 NONAME ABSENT ; bool QDeclarativePropertyChanges::isExplicit(void) const
?setState@QDeclarativeStateOperation@@QAEXPAVQDeclarativeState@@@Z @ 1673 NONAME ; void QDeclarativeStateOperation::setState(class QDeclarativeState *)
- ?detachFromState@QDeclarativePropertyChanges@@QAEXXZ @ 1674 NONAME ; void QDeclarativePropertyChanges::detachFromState(void)
- ?tr@QDeclarativePropertyChanges@@SA?AVQString@@PBD0H@Z @ 1675 NONAME ; class QString QDeclarativePropertyChanges::tr(char const *, char const *, int)
+ ?detachFromState@QDeclarativePropertyChanges@@QAEXXZ @ 1674 NONAME ABSENT ; void QDeclarativePropertyChanges::detachFromState(void)
+ ?tr@QDeclarativePropertyChanges@@SA?AVQString@@PBD0H@Z @ 1675 NONAME ABSENT ; class QString QDeclarativePropertyChanges::tr(char const *, char const *, int)
?addEntriesToRevertList@QDeclarativeState@@QAEXABV?$QList@VQDeclarativeAction@@@@@Z @ 1676 NONAME ; void QDeclarativeState::addEntriesToRevertList(class QList<class QDeclarativeAction> const &)
- ?expression@QDeclarativePropertyChanges@@QBE?AVQString@@ABVQByteArray@@@Z @ 1677 NONAME ; class QString QDeclarativePropertyChanges::expression(class QByteArray const &) const
- ?object@QDeclarativePropertyChanges@@QBEPAVQObject@@XZ @ 1678 NONAME ; class QObject * QDeclarativePropertyChanges::object(void) const
+ ?expression@QDeclarativePropertyChanges@@QBE?AVQString@@ABVQByteArray@@@Z @ 1677 NONAME ABSENT ; class QString QDeclarativePropertyChanges::expression(class QByteArray const &) const
+ ?object@QDeclarativePropertyChanges@@QBEPAVQObject@@XZ @ 1678 NONAME ABSENT ; class QObject * QDeclarativePropertyChanges::object(void) const
?valueInRevertList@QDeclarativeState@@QBE?AVQVariant@@PAVQObject@@ABVQByteArray@@@Z @ 1679 NONAME ; class QVariant QDeclarativeState::valueInRevertList(class QObject *, class QByteArray const &) const
?removeAllEntriesFromRevertList@QDeclarativeState@@QAEXPAVQObject@@@Z @ 1680 NONAME ; void QDeclarativeState::removeAllEntriesFromRevertList(class QObject *)
?d_func@QDeclarativeStateOperation@@AAEPAVQDeclarativeStateOperationPrivate@@XZ @ 1681 NONAME ; class QDeclarativeStateOperationPrivate * QDeclarativeStateOperation::d_func(void)
?changeValueInRevertList@QDeclarativeState@@QAE_NPAVQObject@@ABVQByteArray@@ABVQVariant@@@Z @ 1682 NONAME ; bool QDeclarativeState::changeValueInRevertList(class QObject *, class QByteArray const &, class QVariant const &)
- ?setIsExplicit@QDeclarativePropertyChanges@@QAEX_N@Z @ 1683 NONAME ; void QDeclarativePropertyChanges::setIsExplicit(bool)
+ ?setIsExplicit@QDeclarativePropertyChanges@@QAEX_N@Z @ 1683 NONAME ABSENT ; void QDeclarativePropertyChanges::setIsExplicit(bool)
?isStateActive@QDeclarativeState@@QBE_NXZ @ 1684 NONAME ; bool QDeclarativeState::isStateActive(void) const
?data_count@QDeclarativeItemPrivate@@SAHPAV?$QDeclarativeListProperty@VQObject@@@@@Z @ 1685 NONAME ; int QDeclarativeItemPrivate::data_count(class QDeclarativeListProperty<class QObject> *)
- ?removeProperty@QDeclarativePropertyChanges@@QAEXABVQByteArray@@@Z @ 1686 NONAME ; void QDeclarativePropertyChanges::removeProperty(class QByteArray const &)
+ ?removeProperty@QDeclarativePropertyChanges@@QAEXABVQByteArray@@@Z @ 1686 NONAME ABSENT ; void QDeclarativePropertyChanges::removeProperty(class QByteArray const &)
?data_at@QDeclarativeItemPrivate@@SAPAVQObject@@PAV?$QDeclarativeListProperty@VQObject@@@@H@Z @ 1687 NONAME ; class QObject * QDeclarativeItemPrivate::data_at(class QDeclarativeListProperty<class QObject> *, int)
- ?tr@QDeclarativePropertyChanges@@SA?AVQString@@PBD0@Z @ 1688 NONAME ; class QString QDeclarativePropertyChanges::tr(char const *, char const *)
+ ?tr@QDeclarativePropertyChanges@@SA?AVQString@@PBD0@Z @ 1688 NONAME ABSENT ; class QString QDeclarativePropertyChanges::tr(char const *, char const *)
?changeBindingInRevertList@QDeclarativeState@@QAE_NPAVQObject@@ABVQByteArray@@PAVQDeclarativeAbstractBinding@@@Z @ 1689 NONAME ; bool QDeclarativeState::changeBindingInRevertList(class QObject *, class QByteArray const &, class QDeclarativeAbstractBinding *)
- ?getStaticMetaObject@QDeclarativePropertyChanges@@SAABUQMetaObject@@XZ @ 1690 NONAME ; struct QMetaObject const & QDeclarativePropertyChanges::getStaticMetaObject(void)
+ ?getStaticMetaObject@QDeclarativePropertyChanges@@SAABUQMetaObject@@XZ @ 1690 NONAME ABSENT ; struct QMetaObject const & QDeclarativePropertyChanges::getStaticMetaObject(void)
?weakPointer@QDeclarativeAbstractBinding@@QAE?AV?$QWeakPointer@VQDeclarativeAbstractBinding@@@@XZ @ 1691 NONAME ABSENT ; class QWeakPointer<class QDeclarativeAbstractBinding> QDeclarativeAbstractBinding::weakPointer(void)
- ?getStaticMetaObject@QDeclarativeScriptAction@@SAABUQMetaObject@@XZ @ 1692 NONAME ; struct QMetaObject const & QDeclarativeScriptAction::getStaticMetaObject(void)
- ?qt_metacall@QDeclarativeScriptAction@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1693 NONAME ; int QDeclarativeScriptAction::qt_metacall(enum QMetaObject::Call, int, void * *)
- ??1QDeclarativeScriptAction@@UAE@XZ @ 1694 NONAME ; QDeclarativeScriptAction::~QDeclarativeScriptAction(void)
- ?stateChangeScriptName@QDeclarativeScriptAction@@QBE?AVQString@@XZ @ 1695 NONAME ; class QString QDeclarativeScriptAction::stateChangeScriptName(void) const
- ?script@QDeclarativeScriptAction@@QBE?AVQDeclarativeScriptString@@XZ @ 1696 NONAME ; class QDeclarativeScriptString QDeclarativeScriptAction::script(void) const
- ?qt_metacast@QDeclarativeScriptAction@@UAEPAXPBD@Z @ 1697 NONAME ; void * QDeclarativeScriptAction::qt_metacast(char const *)
- ?tr@QDeclarativeScriptAction@@SA?AVQString@@PBD0@Z @ 1698 NONAME ; class QString QDeclarativeScriptAction::tr(char const *, char const *)
- ?setStateChangeScriptName@QDeclarativeScriptAction@@QAEXABVQString@@@Z @ 1699 NONAME ; void QDeclarativeScriptAction::setStateChangeScriptName(class QString const &)
- ??_EQDeclarativeScriptAction@@UAE@I@Z @ 1700 NONAME ; QDeclarativeScriptAction::~QDeclarativeScriptAction(unsigned int)
- ?d_func@QDeclarativeScriptAction@@ABEPBVQDeclarativeScriptActionPrivate@@XZ @ 1701 NONAME ; class QDeclarativeScriptActionPrivate const * QDeclarativeScriptAction::d_func(void) const
- ?weakPointer@QDeclarativeAbstractBinding@@AAE?AV?$QWeakPointer@VQDeclarativeAbstractBinding@@@@XZ @ 1702 NONAME ; class QWeakPointer<class QDeclarativeAbstractBinding> QDeclarativeAbstractBinding::weakPointer(void)
- ?trUtf8@QDeclarativeScriptAction@@SA?AVQString@@PBD0H@Z @ 1703 NONAME ; class QString QDeclarativeScriptAction::trUtf8(char const *, char const *, int)
- ?trUtf8@QDeclarativeScriptAction@@SA?AVQString@@PBD0@Z @ 1704 NONAME ; class QString QDeclarativeScriptAction::trUtf8(char const *, char const *)
- ?qtAnimation@QDeclarativeScriptAction@@MAEPAVQAbstractAnimation@@XZ @ 1705 NONAME ; class QAbstractAnimation * QDeclarativeScriptAction::qtAnimation(void)
- ??0QDeclarativeScriptAction@@QAE@PAVQObject@@@Z @ 1706 NONAME ; QDeclarativeScriptAction::QDeclarativeScriptAction(class QObject *)
- ?tr@QDeclarativeScriptAction@@SA?AVQString@@PBD0H@Z @ 1707 NONAME ; class QString QDeclarativeScriptAction::tr(char const *, char const *, int)
- ?d_func@QDeclarativeScriptAction@@AAEPAVQDeclarativeScriptActionPrivate@@XZ @ 1708 NONAME ; class QDeclarativeScriptActionPrivate * QDeclarativeScriptAction::d_func(void)
- ?transition@QDeclarativeScriptAction@@MAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@W4TransitionDirection@QDeclarativeAbstractAnimation@@@Z @ 1709 NONAME ; void QDeclarativeScriptAction::transition(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, enum QDeclarativeAbstractAnimation::TransitionDirection)
- ?staticMetaObject@QDeclarativeScriptAction@@2UQMetaObject@@B @ 1710 NONAME ; struct QMetaObject const QDeclarativeScriptAction::staticMetaObject
- ?setScript@QDeclarativeScriptAction@@QAEXABVQDeclarativeScriptString@@@Z @ 1711 NONAME ; void QDeclarativeScriptAction::setScript(class QDeclarativeScriptString const &)
- ?metaObject@QDeclarativeScriptAction@@UBEPBUQMetaObject@@XZ @ 1712 NONAME ; struct QMetaObject const * QDeclarativeScriptAction::metaObject(void) const
- ?getPointer@QDeclarativeAbstractBinding@@SA?AV?$QWeakPointer@VQDeclarativeAbstractBinding@@@@PAV1@@Z @ 1713 NONAME ; class QWeakPointer<class QDeclarativeAbstractBinding> QDeclarativeAbstractBinding::getPointer(class QDeclarativeAbstractBinding *)
- ??0QDeclarativeListModel@@AAE@PBV0@PAVQDeclarativeListModelWorkerAgent@@@Z @ 1714 NONAME ; QDeclarativeListModel::QDeclarativeListModel(class QDeclarativeListModel const *, class QDeclarativeListModelWorkerAgent *)
- ?inWorkerThread@QDeclarativeListModel@@ABE_NXZ @ 1715 NONAME ; bool QDeclarativeListModel::inWorkerThread(void) const
- ?canMove@QDeclarativeListModel@@ABE_NHHH@Z @ 1716 NONAME ; bool QDeclarativeListModel::canMove(int, int, int) const
- ?getScriptEngine@QDeclarativeDebugHelper@@SAPAVQScriptEngine@@PAVQDeclarativeEngine@@@Z @ 1717 NONAME ; class QScriptEngine * QDeclarativeDebugHelper::getScriptEngine(class QDeclarativeEngine *)
- ?setAnimationSlowDownFactor@QDeclarativeDebugHelper@@SAXM@Z @ 1718 NONAME ; void QDeclarativeDebugHelper::setAnimationSlowDownFactor(float)
- ?add@QDeclarativeBasePositioner@@QBEPAVQDeclarativeTransition@@XZ @ 1719 NONAME ; class QDeclarativeTransition * QDeclarativeBasePositioner::add(void) const
- ?setLoops@QDeclarativeAbstractAnimation@@QAEXH@Z @ 1720 NONAME ; void QDeclarativeAbstractAnimation::setLoops(int)
- ?trUtf8@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0@Z @ 1721 NONAME ; class QString QDeclarativeAbstractAnimation::trUtf8(char const *, char const *)
- ?tr@QDeclarativeBasePositioner@@SA?AVQString@@PBD0@Z @ 1722 NONAME ; class QString QDeclarativeBasePositioner::tr(char const *, char const *)
- ?staticMetaObject@QDeclarativeAbstractAnimation@@2UQMetaObject@@B @ 1723 NONAME ; struct QMetaObject const QDeclarativeAbstractAnimation::staticMetaObject
- ?setMove@QDeclarativeBasePositioner@@QAEXPAVQDeclarativeTransition@@@Z @ 1724 NONAME ; void QDeclarativeBasePositioner::setMove(class QDeclarativeTransition *)
- ?setRunning@QDeclarativeTimer@@QAEX_N@Z @ 1725 NONAME ; void QDeclarativeTimer::setRunning(bool)
- ?tr@QDeclarativeTimer@@SA?AVQString@@PBD0@Z @ 1726 NONAME ; class QString QDeclarativeTimer::tr(char const *, char const *)
- ?qt_metacall@QDeclarativeTimer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1727 NONAME ; int QDeclarativeTimer::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?setPaused@QDeclarativeAbstractAnimation@@QAEX_N@Z @ 1728 NONAME ; void QDeclarativeAbstractAnimation::setPaused(bool)
- ?d_func@QDeclarativeBasePositioner@@ABEPBVQDeclarativeBasePositionerPrivate@@XZ @ 1729 NONAME ; class QDeclarativeBasePositionerPrivate const * QDeclarativeBasePositioner::d_func(void) const
- ?setRepeating@QDeclarativeTimer@@QAEX_N@Z @ 1730 NONAME ; void QDeclarativeTimer::setRepeating(bool)
- ?interval@QDeclarativeTimer@@QBEHXZ @ 1731 NONAME ; int QDeclarativeTimer::interval(void) const
- ?start@QDeclarativeTimer@@QAEXXZ @ 1732 NONAME ; void QDeclarativeTimer::start(void)
- ?transition@QDeclarativeAbstractAnimation@@UAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@W4TransitionDirection@1@@Z @ 1733 NONAME ; void QDeclarativeAbstractAnimation::transition(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, enum QDeclarativeAbstractAnimation::TransitionDirection)
- ?componentComplete@QDeclarativeAbstractAnimation@@UAEXXZ @ 1734 NONAME ; void QDeclarativeAbstractAnimation::componentComplete(void)
- ?statusChanged@QDeclarativeDebugService@@MAEXW4Status@1@@Z @ 1735 NONAME ; void QDeclarativeDebugService::statusChanged(enum QDeclarativeDebugService::Status)
- ?runningChanged@QDeclarativeAbstractAnimation@@IAEX_N@Z @ 1736 NONAME ; void QDeclarativeAbstractAnimation::runningChanged(bool)
- ?trUtf8@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0H@Z @ 1737 NONAME ; class QString QDeclarativeAbstractAnimation::trUtf8(char const *, char const *, int)
- ??_EQDeclarativeBasePositioner@@UAE@I@Z @ 1738 NONAME ; QDeclarativeBasePositioner::~QDeclarativeBasePositioner(unsigned int)
- ?metaObject@QDeclarativeTimer@@UBEPBUQMetaObject@@XZ @ 1739 NONAME ; struct QMetaObject const * QDeclarativeTimer::metaObject(void) const
- ?setGroup@QDeclarativeAbstractAnimation@@QAEXPAVQDeclarativeAnimationGroup@@@Z @ 1740 NONAME ; void QDeclarativeAbstractAnimation::setGroup(class QDeclarativeAnimationGroup *)
- ?isRepeating@QDeclarativeTimer@@QBE_NXZ @ 1741 NONAME ; bool QDeclarativeTimer::isRepeating(void) const
- ?setTriggeredOnStart@QDeclarativeTimer@@QAEX_N@Z @ 1742 NONAME ; void QDeclarativeTimer::setTriggeredOnStart(bool)
- ?currentTime@QDeclarativeAbstractAnimation@@QAEHXZ @ 1743 NONAME ; int QDeclarativeAbstractAnimation::currentTime(void)
- ?status@QDeclarativeEngineDebug@@QBE?AW4Status@1@XZ @ 1744 NONAME ; enum QDeclarativeEngineDebug::Status QDeclarativeEngineDebug::status(void) const
- ??1QDeclarativeAbstractAnimation@@UAE@XZ @ 1745 NONAME ; QDeclarativeAbstractAnimation::~QDeclarativeAbstractAnimation(void)
- ?triggered@QDeclarativeTimer@@IAEXXZ @ 1746 NONAME ; void QDeclarativeTimer::triggered(void)
- ?getStaticMetaObject@QDeclarativeBasePositioner@@SAABUQMetaObject@@XZ @ 1747 NONAME ; struct QMetaObject const & QDeclarativeBasePositioner::getStaticMetaObject(void)
- ?finished@QDeclarativeTimer@@AAEXXZ @ 1748 NONAME ; void QDeclarativeTimer::finished(void)
- ?pausedChanged@QDeclarativeAbstractAnimation@@IAEX_N@Z @ 1749 NONAME ; void QDeclarativeAbstractAnimation::pausedChanged(bool)
- ?complete@QDeclarativeAbstractAnimation@@QAEXXZ @ 1750 NONAME ; void QDeclarativeAbstractAnimation::complete(void)
- ?setRunning@QDeclarativeAbstractAnimation@@QAEX_N@Z @ 1751 NONAME ; void QDeclarativeAbstractAnimation::setRunning(bool)
- ?trUtf8@QDeclarativeBasePositioner@@SA?AVQString@@PBD0H@Z @ 1752 NONAME ; class QString QDeclarativeBasePositioner::trUtf8(char const *, char const *, int)
- ?trUtf8@QDeclarativeBasePositioner@@SA?AVQString@@PBD0@Z @ 1753 NONAME ; class QString QDeclarativeBasePositioner::trUtf8(char const *, char const *)
- ?completed@QDeclarativeAbstractAnimation@@IAEXXZ @ 1754 NONAME ; void QDeclarativeAbstractAnimation::completed(void)
- ?trUtf8@QDeclarativeTimer@@SA?AVQString@@PBD0@Z @ 1755 NONAME ; class QString QDeclarativeTimer::trUtf8(char const *, char const *)
- ?loopCountChanged@QDeclarativeAbstractAnimation@@IAEXH@Z @ 1756 NONAME ; void QDeclarativeAbstractAnimation::loopCountChanged(int)
- ?repeatChanged@QDeclarativeTimer@@IAEXXZ @ 1757 NONAME ; void QDeclarativeTimer::repeatChanged(void)
- ?setDisableUserControl@QDeclarativeAbstractAnimation@@QAEXXZ @ 1758 NONAME ; void QDeclarativeAbstractAnimation::setDisableUserControl(void)
- ?componentComplete@QDeclarativeBasePositioner@@MAEXXZ @ 1759 NONAME ; void QDeclarativeBasePositioner::componentComplete(void)
- ?setDefaultTarget@QDeclarativeAbstractAnimation@@QAEXABVQDeclarativeProperty@@@Z @ 1760 NONAME ; void QDeclarativeAbstractAnimation::setDefaultTarget(class QDeclarativeProperty const &)
- ?staticMetaObject@QDeclarativeBasePositioner@@2UQMetaObject@@B @ 1761 NONAME ; struct QMetaObject const QDeclarativeBasePositioner::staticMetaObject
- ?triggeredOnStart@QDeclarativeTimer@@QBE_NXZ @ 1762 NONAME ; bool QDeclarativeTimer::triggeredOnStart(void) const
- ?notifyRunningChanged@QDeclarativeAbstractAnimation@@AAEX_N@Z @ 1763 NONAME ; void QDeclarativeAbstractAnimation::notifyRunningChanged(bool)
- ?statusChanged@QDeclarativeDebugClient@@MAEXW4Status@1@@Z @ 1764 NONAME ; void QDeclarativeDebugClient::statusChanged(enum QDeclarativeDebugClient::Status)
- ??0QDeclarativeBasePositioner@@IAE@AAVQDeclarativeBasePositionerPrivate@@W4PositionerType@0@PAVQDeclarativeItem@@@Z @ 1765 NONAME ; QDeclarativeBasePositioner::QDeclarativeBasePositioner(class QDeclarativeBasePositionerPrivate &, enum QDeclarativeBasePositioner::PositionerType, class QDeclarativeItem *)
- ?componentComplete@QDeclarativeTimer@@MAEXXZ @ 1766 NONAME ; void QDeclarativeTimer::componentComplete(void)
- ?tr@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0@Z @ 1767 NONAME ; class QString QDeclarativeAbstractAnimation::tr(char const *, char const *)
- ?isRunning@QDeclarativeAbstractAnimation@@QBE_NXZ @ 1768 NONAME ; bool QDeclarativeAbstractAnimation::isRunning(void) const
- ?d_func@QDeclarativeAbstractAnimation@@ABEPBVQDeclarativeAbstractAnimationPrivate@@XZ @ 1769 NONAME ; class QDeclarativeAbstractAnimationPrivate const * QDeclarativeAbstractAnimation::d_func(void) const
- ??_EQDeclarativeAbstractAnimation@@UAE@I@Z @ 1770 NONAME ; QDeclarativeAbstractAnimation::~QDeclarativeAbstractAnimation(unsigned int)
- ??0QDeclarativeBasePositioner@@QAE@W4PositionerType@0@PAVQDeclarativeItem@@@Z @ 1771 NONAME ; QDeclarativeBasePositioner::QDeclarativeBasePositioner(enum QDeclarativeBasePositioner::PositionerType, class QDeclarativeItem *)
- ?qt_metacall@QDeclarativeBasePositioner@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1772 NONAME ; int QDeclarativeBasePositioner::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?status@QDeclarativeDebugClient@@QBE?AW4Status@1@XZ @ 1773 NONAME ; enum QDeclarativeDebugClient::Status QDeclarativeDebugClient::status(void) const
- ?prePositioning@QDeclarativeBasePositioner@@IAEXXZ @ 1774 NONAME ; void QDeclarativeBasePositioner::prePositioning(void)
- ?finishApplyTransitions@QDeclarativeBasePositioner@@IAEXXZ @ 1775 NONAME ; void QDeclarativeBasePositioner::finishApplyTransitions(void)
- ?d_func@QDeclarativeAbstractAnimation@@AAEPAVQDeclarativeAbstractAnimationPrivate@@XZ @ 1776 NONAME ; class QDeclarativeAbstractAnimationPrivate * QDeclarativeAbstractAnimation::d_func(void)
- ?componentFinalized@QDeclarativeAbstractAnimation@@AAEXXZ @ 1777 NONAME ; void QDeclarativeAbstractAnimation::componentFinalized(void)
- ??_EQDeclarativeTimer@@UAE@I@Z @ 1778 NONAME ; QDeclarativeTimer::~QDeclarativeTimer(unsigned int)
- ?pause@QDeclarativeAbstractAnimation@@QAEXXZ @ 1779 NONAME ; void QDeclarativeAbstractAnimation::pause(void)
- ?stop@QDeclarativeTimer@@QAEXXZ @ 1780 NONAME ; void QDeclarativeTimer::stop(void)
- ?timelineComplete@QDeclarativeAbstractAnimation@@AAEXXZ @ 1781 NONAME ; void QDeclarativeAbstractAnimation::timelineComplete(void)
- ?d_func@QDeclarativeBasePositioner@@AAEPAVQDeclarativeBasePositionerPrivate@@XZ @ 1782 NONAME ; class QDeclarativeBasePositionerPrivate * QDeclarativeBasePositioner::d_func(void)
- ?setAlwaysRunToEnd@QDeclarativeAbstractAnimation@@QAEX_N@Z @ 1783 NONAME ; void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool)
- ?classBegin@QDeclarativeAbstractAnimation@@UAEXXZ @ 1784 NONAME ; void QDeclarativeAbstractAnimation::classBegin(void)
- ?d_func@QDeclarativeTimer@@AAEPAVQDeclarativeTimerPrivate@@XZ @ 1785 NONAME ; class QDeclarativeTimerPrivate * QDeclarativeTimer::d_func(void)
- ?spacing@QDeclarativeBasePositioner@@QBEHXZ @ 1786 NONAME ; int QDeclarativeBasePositioner::spacing(void) const
- ??0QDeclarativeAbstractAnimation@@QAE@PAVQObject@@@Z @ 1787 NONAME ; QDeclarativeAbstractAnimation::QDeclarativeAbstractAnimation(class QObject *)
- ?metaObject@QDeclarativeAbstractAnimation@@UBEPBUQMetaObject@@XZ @ 1788 NONAME ; struct QMetaObject const * QDeclarativeAbstractAnimation::metaObject(void) const
- ?tr@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0H@Z @ 1789 NONAME ; class QString QDeclarativeAbstractAnimation::tr(char const *, char const *, int)
- ?started@QDeclarativeAbstractAnimation@@IAEXXZ @ 1790 NONAME ; void QDeclarativeAbstractAnimation::started(void)
- ?setInterval@QDeclarativeTimer@@QAEXH@Z @ 1791 NONAME ; void QDeclarativeTimer::setInterval(int)
- ?statusChanged@QDeclarativeEngineDebug@@IAEXW4Status@1@@Z @ 1792 NONAME ; void QDeclarativeEngineDebug::statusChanged(enum QDeclarativeEngineDebug::Status)
- ?d_func@QDeclarativeTimer@@ABEPBVQDeclarativeTimerPrivate@@XZ @ 1793 NONAME ; class QDeclarativeTimerPrivate const * QDeclarativeTimer::d_func(void) const
- ?setSpacing@QDeclarativeBasePositioner@@QAEXH@Z @ 1794 NONAME ; void QDeclarativeBasePositioner::setSpacing(int)
- ?staticMetaObject@QDeclarativeTimer@@2UQMetaObject@@B @ 1795 NONAME ; struct QMetaObject const QDeclarativeTimer::staticMetaObject
- ?positionY@QDeclarativeBasePositioner@@IAEXHABVPositionedItem@1@@Z @ 1796 NONAME ; void QDeclarativeBasePositioner::positionY(int, class QDeclarativeBasePositioner::PositionedItem const &)
- ?qt_metacast@QDeclarativeAbstractAnimation@@UAEPAXPBD@Z @ 1797 NONAME ; void * QDeclarativeAbstractAnimation::qt_metacast(char const *)
- ?setAdd@QDeclarativeBasePositioner@@QAEXPAVQDeclarativeTransition@@@Z @ 1798 NONAME ; void QDeclarativeBasePositioner::setAdd(class QDeclarativeTransition *)
- ?setCurrentTime@QDeclarativeAbstractAnimation@@QAEXH@Z @ 1799 NONAME ; void QDeclarativeAbstractAnimation::setCurrentTime(int)
- ?attachedPropertiesId@QDeclarativeType@@QBEHXZ @ 1800 NONAME ; int QDeclarativeType::attachedPropertiesId(void) const
- ?positionX@QDeclarativeBasePositioner@@IAEXHABVPositionedItem@1@@Z @ 1801 NONAME ; void QDeclarativeBasePositioner::positionX(int, class QDeclarativeBasePositioner::PositionedItem const &)
- ?restart@QDeclarativeAbstractAnimation@@QAEXXZ @ 1802 NONAME ; void QDeclarativeAbstractAnimation::restart(void)
- ?itemChange@QDeclarativeBasePositioner@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1803 NONAME ; class QVariant QDeclarativeBasePositioner::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
- ??0QDeclarativeAbstractAnimation@@IAE@AAVQDeclarativeAbstractAnimationPrivate@@PAVQObject@@@Z @ 1804 NONAME ; QDeclarativeAbstractAnimation::QDeclarativeAbstractAnimation(class QDeclarativeAbstractAnimationPrivate &, class QObject *)
- ?resume@QDeclarativeAbstractAnimation@@QAEXXZ @ 1805 NONAME ; void QDeclarativeAbstractAnimation::resume(void)
- ?runningChanged@QDeclarativeTimer@@IAEXXZ @ 1806 NONAME ; void QDeclarativeTimer::runningChanged(void)
- ?ticked@QDeclarativeTimer@@AAEXXZ @ 1807 NONAME ; void QDeclarativeTimer::ticked(void)
- ?graphicsWidgetGeometryChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1808 NONAME ; void QDeclarativeBasePositioner::graphicsWidgetGeometryChanged(void)
- ?trUtf8@QDeclarativeTimer@@SA?AVQString@@PBD0H@Z @ 1809 NONAME ; class QString QDeclarativeTimer::trUtf8(char const *, char const *, int)
- ??0QDeclarativeTimer@@QAE@PAVQObject@@@Z @ 1810 NONAME ; QDeclarativeTimer::QDeclarativeTimer(class QObject *)
- ?loops@QDeclarativeAbstractAnimation@@QBEHXZ @ 1811 NONAME ; int QDeclarativeAbstractAnimation::loops(void) const
- ?setTarget@QDeclarativeAbstractAnimation@@EAEXABVQDeclarativeProperty@@@Z @ 1812 NONAME ; void QDeclarativeAbstractAnimation::setTarget(class QDeclarativeProperty const &)
- ?alwaysRunToEnd@QDeclarativeAbstractAnimation@@QBE_NXZ @ 1813 NONAME ; bool QDeclarativeAbstractAnimation::alwaysRunToEnd(void) const
- ?tr@QDeclarativeTimer@@SA?AVQString@@PBD0H@Z @ 1814 NONAME ; class QString QDeclarativeTimer::tr(char const *, char const *, int)
- ?status@QDeclarativeDebugService@@QBE?AW4Status@1@XZ @ 1815 NONAME ; enum QDeclarativeDebugService::Status QDeclarativeDebugService::status(void) const
- ?intervalChanged@QDeclarativeTimer@@IAEXXZ @ 1816 NONAME ; void QDeclarativeTimer::intervalChanged(void)
- ?isPaused@QDeclarativeAbstractAnimation@@QBE_NXZ @ 1817 NONAME ; bool QDeclarativeAbstractAnimation::isPaused(void) const
- ?getStaticMetaObject@QDeclarativeAbstractAnimation@@SAABUQMetaObject@@XZ @ 1818 NONAME ; struct QMetaObject const & QDeclarativeAbstractAnimation::getStaticMetaObject(void)
- ?group@QDeclarativeAbstractAnimation@@QBEPAVQDeclarativeAnimationGroup@@XZ @ 1819 NONAME ; class QDeclarativeAnimationGroup * QDeclarativeAbstractAnimation::group(void) const
- ?classBegin@QDeclarativeTimer@@MAEXXZ @ 1820 NONAME ; void QDeclarativeTimer::classBegin(void)
- ?restart@QDeclarativeTimer@@QAEXXZ @ 1821 NONAME ; void QDeclarativeTimer::restart(void)
- ?move@QDeclarativeBasePositioner@@QBEPAVQDeclarativeTransition@@XZ @ 1822 NONAME ; class QDeclarativeTransition * QDeclarativeBasePositioner::move(void) const
- ?spacingChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1823 NONAME ; void QDeclarativeBasePositioner::spacingChanged(void)
- ?qt_metacast@QDeclarativeBasePositioner@@UAEPAXPBD@Z @ 1824 NONAME ; void * QDeclarativeBasePositioner::qt_metacast(char const *)
- ??1QDeclarativeTimer@@UAE@XZ @ 1825 NONAME ; QDeclarativeTimer::~QDeclarativeTimer(void)
- ?getStaticMetaObject@QDeclarativeTimer@@SAABUQMetaObject@@XZ @ 1826 NONAME ; struct QMetaObject const & QDeclarativeTimer::getStaticMetaObject(void)
- ?tr@QDeclarativeBasePositioner@@SA?AVQString@@PBD0H@Z @ 1827 NONAME ; class QString QDeclarativeBasePositioner::tr(char const *, char const *, int)
- ??1QDeclarativeBasePositioner@@UAE@XZ @ 1828 NONAME ; QDeclarativeBasePositioner::~QDeclarativeBasePositioner(void)
- ?moveChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1829 NONAME ; void QDeclarativeBasePositioner::moveChanged(void)
- ?qt_metacast@QDeclarativeTimer@@UAEPAXPBD@Z @ 1830 NONAME ; void * QDeclarativeTimer::qt_metacast(char const *)
- ?metaObject@QDeclarativeBasePositioner@@UBEPBUQMetaObject@@XZ @ 1831 NONAME ; struct QMetaObject const * QDeclarativeBasePositioner::metaObject(void) const
- ?alwaysRunToEndChanged@QDeclarativeAbstractAnimation@@IAEX_N@Z @ 1832 NONAME ; void QDeclarativeAbstractAnimation::alwaysRunToEndChanged(bool)
- ?triggeredOnStartChanged@QDeclarativeTimer@@IAEXXZ @ 1833 NONAME ; void QDeclarativeTimer::triggeredOnStartChanged(void)
- ?isRunning@QDeclarativeTimer@@QBE_NXZ @ 1834 NONAME ; bool QDeclarativeTimer::isRunning(void) const
- ?update@QDeclarativeTimer@@AAEXXZ @ 1835 NONAME ; void QDeclarativeTimer::update(void)
- ?stop@QDeclarativeAbstractAnimation@@QAEXXZ @ 1836 NONAME ; void QDeclarativeAbstractAnimation::stop(void)
- ?addChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1837 NONAME ; void QDeclarativeBasePositioner::addChanged(void)
- ?start@QDeclarativeAbstractAnimation@@QAEXXZ @ 1838 NONAME ; void QDeclarativeAbstractAnimation::start(void)
- ?qt_metacall@QDeclarativeAbstractAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1839 NONAME ; int QDeclarativeAbstractAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
- ?connect@QDeclarativePropertyPrivate@@SA_NPBVQObject@@H0HHPAH@Z @ 1840 NONAME ; bool QDeclarativePropertyPrivate::connect(class QObject const *, int, class QObject const *, int, int, int *)
+ ?getStaticMetaObject@QDeclarativeScriptAction@@SAABUQMetaObject@@XZ @ 1692 NONAME ABSENT ; struct QMetaObject const & QDeclarativeScriptAction::getStaticMetaObject(void)
+ ?qt_metacall@QDeclarativeScriptAction@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1693 NONAME ABSENT ; int QDeclarativeScriptAction::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??1QDeclarativeScriptAction@@UAE@XZ @ 1694 NONAME ABSENT ; QDeclarativeScriptAction::~QDeclarativeScriptAction(void)
+ ?stateChangeScriptName@QDeclarativeScriptAction@@QBE?AVQString@@XZ @ 1695 NONAME ABSENT ; class QString QDeclarativeScriptAction::stateChangeScriptName(void) const
+ ?script@QDeclarativeScriptAction@@QBE?AVQDeclarativeScriptString@@XZ @ 1696 NONAME ABSENT ; class QDeclarativeScriptString QDeclarativeScriptAction::script(void) const
+ ?qt_metacast@QDeclarativeScriptAction@@UAEPAXPBD@Z @ 1697 NONAME ABSENT ; void * QDeclarativeScriptAction::qt_metacast(char const *)
+ ?tr@QDeclarativeScriptAction@@SA?AVQString@@PBD0@Z @ 1698 NONAME ABSENT ; class QString QDeclarativeScriptAction::tr(char const *, char const *)
+ ?setStateChangeScriptName@QDeclarativeScriptAction@@QAEXABVQString@@@Z @ 1699 NONAME ABSENT ; void QDeclarativeScriptAction::setStateChangeScriptName(class QString const &)
+ ??_EQDeclarativeScriptAction@@UAE@I@Z @ 1700 NONAME ABSENT ; QDeclarativeScriptAction::~QDeclarativeScriptAction(unsigned int)
+ ?d_func@QDeclarativeScriptAction@@ABEPBVQDeclarativeScriptActionPrivate@@XZ @ 1701 NONAME ABSENT ; class QDeclarativeScriptActionPrivate const * QDeclarativeScriptAction::d_func(void) const
+ ?weakPointer@QDeclarativeAbstractBinding@@AAE?AV?$QWeakPointer@VQDeclarativeAbstractBinding@@@@XZ @ 1702 NONAME ABSENT ; class QWeakPointer<class QDeclarativeAbstractBinding> QDeclarativeAbstractBinding::weakPointer(void)
+ ?trUtf8@QDeclarativeScriptAction@@SA?AVQString@@PBD0H@Z @ 1703 NONAME ABSENT ; class QString QDeclarativeScriptAction::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeScriptAction@@SA?AVQString@@PBD0@Z @ 1704 NONAME ABSENT ; class QString QDeclarativeScriptAction::trUtf8(char const *, char const *)
+ ?qtAnimation@QDeclarativeScriptAction@@MAEPAVQAbstractAnimation@@XZ @ 1705 NONAME ABSENT ; class QAbstractAnimation * QDeclarativeScriptAction::qtAnimation(void)
+ ??0QDeclarativeScriptAction@@QAE@PAVQObject@@@Z @ 1706 NONAME ABSENT ; QDeclarativeScriptAction::QDeclarativeScriptAction(class QObject *)
+ ?tr@QDeclarativeScriptAction@@SA?AVQString@@PBD0H@Z @ 1707 NONAME ABSENT ; class QString QDeclarativeScriptAction::tr(char const *, char const *, int)
+ ?d_func@QDeclarativeScriptAction@@AAEPAVQDeclarativeScriptActionPrivate@@XZ @ 1708 NONAME ABSENT ; class QDeclarativeScriptActionPrivate * QDeclarativeScriptAction::d_func(void)
+ ?transition@QDeclarativeScriptAction@@MAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@W4TransitionDirection@QDeclarativeAbstractAnimation@@@Z @ 1709 NONAME ABSENT ; void QDeclarativeScriptAction::transition(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, enum QDeclarativeAbstractAnimation::TransitionDirection)
+ ?staticMetaObject@QDeclarativeScriptAction@@2UQMetaObject@@B @ 1710 NONAME ABSENT ; struct QMetaObject const QDeclarativeScriptAction::staticMetaObject
+ ?setScript@QDeclarativeScriptAction@@QAEXABVQDeclarativeScriptString@@@Z @ 1711 NONAME ABSENT ; void QDeclarativeScriptAction::setScript(class QDeclarativeScriptString const &)
+ ?metaObject@QDeclarativeScriptAction@@UBEPBUQMetaObject@@XZ @ 1712 NONAME ABSENT ; struct QMetaObject const * QDeclarativeScriptAction::metaObject(void) const
+ ?getPointer@QDeclarativeAbstractBinding@@SA?AV?$QWeakPointer@VQDeclarativeAbstractBinding@@@@PAV1@@Z @ 1713 NONAME ABSENT ; class QWeakPointer<class QDeclarativeAbstractBinding> QDeclarativeAbstractBinding::getPointer(class QDeclarativeAbstractBinding *)
+ ??0QDeclarativeListModel@@AAE@PBV0@PAVQDeclarativeListModelWorkerAgent@@@Z @ 1714 NONAME ABSENT ; QDeclarativeListModel::QDeclarativeListModel(class QDeclarativeListModel const *, class QDeclarativeListModelWorkerAgent *)
+ ?inWorkerThread@QDeclarativeListModel@@ABE_NXZ @ 1715 NONAME ABSENT ; bool QDeclarativeListModel::inWorkerThread(void) const
+ ?canMove@QDeclarativeListModel@@ABE_NHHH@Z @ 1716 NONAME ABSENT ; bool QDeclarativeListModel::canMove(int, int, int) const
+ ?getScriptEngine@QDeclarativeDebugHelper@@SAPAVQScriptEngine@@PAVQDeclarativeEngine@@@Z @ 1717 NONAME ABSENT ; class QScriptEngine * QDeclarativeDebugHelper::getScriptEngine(class QDeclarativeEngine *)
+ ?setAnimationSlowDownFactor@QDeclarativeDebugHelper@@SAXM@Z @ 1718 NONAME ABSENT ; void QDeclarativeDebugHelper::setAnimationSlowDownFactor(float)
+ ?add@QDeclarativeBasePositioner@@QBEPAVQDeclarativeTransition@@XZ @ 1719 NONAME ABSENT ; class QDeclarativeTransition * QDeclarativeBasePositioner::add(void) const
+ ?setLoops@QDeclarativeAbstractAnimation@@QAEXH@Z @ 1720 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setLoops(int)
+ ?trUtf8@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0@Z @ 1721 NONAME ABSENT ; class QString QDeclarativeAbstractAnimation::trUtf8(char const *, char const *)
+ ?tr@QDeclarativeBasePositioner@@SA?AVQString@@PBD0@Z @ 1722 NONAME ABSENT ; class QString QDeclarativeBasePositioner::tr(char const *, char const *)
+ ?staticMetaObject@QDeclarativeAbstractAnimation@@2UQMetaObject@@B @ 1723 NONAME ABSENT ; struct QMetaObject const QDeclarativeAbstractAnimation::staticMetaObject
+ ?setMove@QDeclarativeBasePositioner@@QAEXPAVQDeclarativeTransition@@@Z @ 1724 NONAME ABSENT ; void QDeclarativeBasePositioner::setMove(class QDeclarativeTransition *)
+ ?setRunning@QDeclarativeTimer@@QAEX_N@Z @ 1725 NONAME ABSENT ; void QDeclarativeTimer::setRunning(bool)
+ ?tr@QDeclarativeTimer@@SA?AVQString@@PBD0@Z @ 1726 NONAME ABSENT ; class QString QDeclarativeTimer::tr(char const *, char const *)
+ ?qt_metacall@QDeclarativeTimer@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1727 NONAME ABSENT ; int QDeclarativeTimer::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setPaused@QDeclarativeAbstractAnimation@@QAEX_N@Z @ 1728 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setPaused(bool)
+ ?d_func@QDeclarativeBasePositioner@@ABEPBVQDeclarativeBasePositionerPrivate@@XZ @ 1729 NONAME ABSENT ; class QDeclarativeBasePositionerPrivate const * QDeclarativeBasePositioner::d_func(void) const
+ ?setRepeating@QDeclarativeTimer@@QAEX_N@Z @ 1730 NONAME ABSENT ; void QDeclarativeTimer::setRepeating(bool)
+ ?interval@QDeclarativeTimer@@QBEHXZ @ 1731 NONAME ABSENT ; int QDeclarativeTimer::interval(void) const
+ ?start@QDeclarativeTimer@@QAEXXZ @ 1732 NONAME ABSENT ; void QDeclarativeTimer::start(void)
+ ?transition@QDeclarativeAbstractAnimation@@UAEXAAV?$QList@VQDeclarativeAction@@@@AAV?$QList@VQDeclarativeProperty@@@@W4TransitionDirection@1@@Z @ 1733 NONAME ABSENT ; void QDeclarativeAbstractAnimation::transition(class QList<class QDeclarativeAction> &, class QList<class QDeclarativeProperty> &, enum QDeclarativeAbstractAnimation::TransitionDirection)
+ ?componentComplete@QDeclarativeAbstractAnimation@@UAEXXZ @ 1734 NONAME ABSENT ; void QDeclarativeAbstractAnimation::componentComplete(void)
+ ?statusChanged@QDeclarativeDebugService@@MAEXW4Status@1@@Z @ 1735 NONAME ABSENT ; void QDeclarativeDebugService::statusChanged(enum QDeclarativeDebugService::Status)
+ ?runningChanged@QDeclarativeAbstractAnimation@@IAEX_N@Z @ 1736 NONAME ABSENT ; void QDeclarativeAbstractAnimation::runningChanged(bool)
+ ?trUtf8@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0H@Z @ 1737 NONAME ABSENT ; class QString QDeclarativeAbstractAnimation::trUtf8(char const *, char const *, int)
+ ??_EQDeclarativeBasePositioner@@UAE@I@Z @ 1738 NONAME ABSENT ; QDeclarativeBasePositioner::~QDeclarativeBasePositioner(unsigned int)
+ ?metaObject@QDeclarativeTimer@@UBEPBUQMetaObject@@XZ @ 1739 NONAME ABSENT ; struct QMetaObject const * QDeclarativeTimer::metaObject(void) const
+ ?setGroup@QDeclarativeAbstractAnimation@@QAEXPAVQDeclarativeAnimationGroup@@@Z @ 1740 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setGroup(class QDeclarativeAnimationGroup *)
+ ?isRepeating@QDeclarativeTimer@@QBE_NXZ @ 1741 NONAME ABSENT ; bool QDeclarativeTimer::isRepeating(void) const
+ ?setTriggeredOnStart@QDeclarativeTimer@@QAEX_N@Z @ 1742 NONAME ABSENT ; void QDeclarativeTimer::setTriggeredOnStart(bool)
+ ?currentTime@QDeclarativeAbstractAnimation@@QAEHXZ @ 1743 NONAME ABSENT ; int QDeclarativeAbstractAnimation::currentTime(void)
+ ?status@QDeclarativeEngineDebug@@QBE?AW4Status@1@XZ @ 1744 NONAME ABSENT ; enum QDeclarativeEngineDebug::Status QDeclarativeEngineDebug::status(void) const
+ ??1QDeclarativeAbstractAnimation@@UAE@XZ @ 1745 NONAME ABSENT ; QDeclarativeAbstractAnimation::~QDeclarativeAbstractAnimation(void)
+ ?triggered@QDeclarativeTimer@@IAEXXZ @ 1746 NONAME ABSENT ; void QDeclarativeTimer::triggered(void)
+ ?getStaticMetaObject@QDeclarativeBasePositioner@@SAABUQMetaObject@@XZ @ 1747 NONAME ABSENT ; struct QMetaObject const & QDeclarativeBasePositioner::getStaticMetaObject(void)
+ ?finished@QDeclarativeTimer@@AAEXXZ @ 1748 NONAME ABSENT ; void QDeclarativeTimer::finished(void)
+ ?pausedChanged@QDeclarativeAbstractAnimation@@IAEX_N@Z @ 1749 NONAME ABSENT ; void QDeclarativeAbstractAnimation::pausedChanged(bool)
+ ?complete@QDeclarativeAbstractAnimation@@QAEXXZ @ 1750 NONAME ABSENT ; void QDeclarativeAbstractAnimation::complete(void)
+ ?setRunning@QDeclarativeAbstractAnimation@@QAEX_N@Z @ 1751 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setRunning(bool)
+ ?trUtf8@QDeclarativeBasePositioner@@SA?AVQString@@PBD0H@Z @ 1752 NONAME ABSENT ; class QString QDeclarativeBasePositioner::trUtf8(char const *, char const *, int)
+ ?trUtf8@QDeclarativeBasePositioner@@SA?AVQString@@PBD0@Z @ 1753 NONAME ABSENT ; class QString QDeclarativeBasePositioner::trUtf8(char const *, char const *)
+ ?completed@QDeclarativeAbstractAnimation@@IAEXXZ @ 1754 NONAME ABSENT ; void QDeclarativeAbstractAnimation::completed(void)
+ ?trUtf8@QDeclarativeTimer@@SA?AVQString@@PBD0@Z @ 1755 NONAME ABSENT ; class QString QDeclarativeTimer::trUtf8(char const *, char const *)
+ ?loopCountChanged@QDeclarativeAbstractAnimation@@IAEXH@Z @ 1756 NONAME ABSENT ; void QDeclarativeAbstractAnimation::loopCountChanged(int)
+ ?repeatChanged@QDeclarativeTimer@@IAEXXZ @ 1757 NONAME ABSENT ; void QDeclarativeTimer::repeatChanged(void)
+ ?setDisableUserControl@QDeclarativeAbstractAnimation@@QAEXXZ @ 1758 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setDisableUserControl(void)
+ ?componentComplete@QDeclarativeBasePositioner@@MAEXXZ @ 1759 NONAME ABSENT ; void QDeclarativeBasePositioner::componentComplete(void)
+ ?setDefaultTarget@QDeclarativeAbstractAnimation@@QAEXABVQDeclarativeProperty@@@Z @ 1760 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setDefaultTarget(class QDeclarativeProperty const &)
+ ?staticMetaObject@QDeclarativeBasePositioner@@2UQMetaObject@@B @ 1761 NONAME ABSENT ; struct QMetaObject const QDeclarativeBasePositioner::staticMetaObject
+ ?triggeredOnStart@QDeclarativeTimer@@QBE_NXZ @ 1762 NONAME ABSENT ; bool QDeclarativeTimer::triggeredOnStart(void) const
+ ?notifyRunningChanged@QDeclarativeAbstractAnimation@@AAEX_N@Z @ 1763 NONAME ABSENT ; void QDeclarativeAbstractAnimation::notifyRunningChanged(bool)
+ ?statusChanged@QDeclarativeDebugClient@@MAEXW4Status@1@@Z @ 1764 NONAME ABSENT ; void QDeclarativeDebugClient::statusChanged(enum QDeclarativeDebugClient::Status)
+ ??0QDeclarativeBasePositioner@@IAE@AAVQDeclarativeBasePositionerPrivate@@W4PositionerType@0@PAVQDeclarativeItem@@@Z @ 1765 NONAME ABSENT ; QDeclarativeBasePositioner::QDeclarativeBasePositioner(class QDeclarativeBasePositionerPrivate &, enum QDeclarativeBasePositioner::PositionerType, class QDeclarativeItem *)
+ ?componentComplete@QDeclarativeTimer@@MAEXXZ @ 1766 NONAME ABSENT ; void QDeclarativeTimer::componentComplete(void)
+ ?tr@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0@Z @ 1767 NONAME ABSENT ; class QString QDeclarativeAbstractAnimation::tr(char const *, char const *)
+ ?isRunning@QDeclarativeAbstractAnimation@@QBE_NXZ @ 1768 NONAME ABSENT ; bool QDeclarativeAbstractAnimation::isRunning(void) const
+ ?d_func@QDeclarativeAbstractAnimation@@ABEPBVQDeclarativeAbstractAnimationPrivate@@XZ @ 1769 NONAME ABSENT ; class QDeclarativeAbstractAnimationPrivate const * QDeclarativeAbstractAnimation::d_func(void) const
+ ??_EQDeclarativeAbstractAnimation@@UAE@I@Z @ 1770 NONAME ABSENT ; QDeclarativeAbstractAnimation::~QDeclarativeAbstractAnimation(unsigned int)
+ ??0QDeclarativeBasePositioner@@QAE@W4PositionerType@0@PAVQDeclarativeItem@@@Z @ 1771 NONAME ABSENT ; QDeclarativeBasePositioner::QDeclarativeBasePositioner(enum QDeclarativeBasePositioner::PositionerType, class QDeclarativeItem *)
+ ?qt_metacall@QDeclarativeBasePositioner@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1772 NONAME ABSENT ; int QDeclarativeBasePositioner::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?status@QDeclarativeDebugClient@@QBE?AW4Status@1@XZ @ 1773 NONAME ABSENT ; enum QDeclarativeDebugClient::Status QDeclarativeDebugClient::status(void) const
+ ?prePositioning@QDeclarativeBasePositioner@@IAEXXZ @ 1774 NONAME ABSENT ; void QDeclarativeBasePositioner::prePositioning(void)
+ ?finishApplyTransitions@QDeclarativeBasePositioner@@IAEXXZ @ 1775 NONAME ABSENT ; void QDeclarativeBasePositioner::finishApplyTransitions(void)
+ ?d_func@QDeclarativeAbstractAnimation@@AAEPAVQDeclarativeAbstractAnimationPrivate@@XZ @ 1776 NONAME ABSENT ; class QDeclarativeAbstractAnimationPrivate * QDeclarativeAbstractAnimation::d_func(void)
+ ?componentFinalized@QDeclarativeAbstractAnimation@@AAEXXZ @ 1777 NONAME ABSENT ; void QDeclarativeAbstractAnimation::componentFinalized(void)
+ ??_EQDeclarativeTimer@@UAE@I@Z @ 1778 NONAME ABSENT ; QDeclarativeTimer::~QDeclarativeTimer(unsigned int)
+ ?pause@QDeclarativeAbstractAnimation@@QAEXXZ @ 1779 NONAME ABSENT ; void QDeclarativeAbstractAnimation::pause(void)
+ ?stop@QDeclarativeTimer@@QAEXXZ @ 1780 NONAME ABSENT ; void QDeclarativeTimer::stop(void)
+ ?timelineComplete@QDeclarativeAbstractAnimation@@AAEXXZ @ 1781 NONAME ABSENT ; void QDeclarativeAbstractAnimation::timelineComplete(void)
+ ?d_func@QDeclarativeBasePositioner@@AAEPAVQDeclarativeBasePositionerPrivate@@XZ @ 1782 NONAME ABSENT ; class QDeclarativeBasePositionerPrivate * QDeclarativeBasePositioner::d_func(void)
+ ?setAlwaysRunToEnd@QDeclarativeAbstractAnimation@@QAEX_N@Z @ 1783 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setAlwaysRunToEnd(bool)
+ ?classBegin@QDeclarativeAbstractAnimation@@UAEXXZ @ 1784 NONAME ABSENT ; void QDeclarativeAbstractAnimation::classBegin(void)
+ ?d_func@QDeclarativeTimer@@AAEPAVQDeclarativeTimerPrivate@@XZ @ 1785 NONAME ABSENT ; class QDeclarativeTimerPrivate * QDeclarativeTimer::d_func(void)
+ ?spacing@QDeclarativeBasePositioner@@QBEHXZ @ 1786 NONAME ABSENT ; int QDeclarativeBasePositioner::spacing(void) const
+ ??0QDeclarativeAbstractAnimation@@QAE@PAVQObject@@@Z @ 1787 NONAME ABSENT ; QDeclarativeAbstractAnimation::QDeclarativeAbstractAnimation(class QObject *)
+ ?metaObject@QDeclarativeAbstractAnimation@@UBEPBUQMetaObject@@XZ @ 1788 NONAME ABSENT ; struct QMetaObject const * QDeclarativeAbstractAnimation::metaObject(void) const
+ ?tr@QDeclarativeAbstractAnimation@@SA?AVQString@@PBD0H@Z @ 1789 NONAME ABSENT ; class QString QDeclarativeAbstractAnimation::tr(char const *, char const *, int)
+ ?started@QDeclarativeAbstractAnimation@@IAEXXZ @ 1790 NONAME ABSENT ; void QDeclarativeAbstractAnimation::started(void)
+ ?setInterval@QDeclarativeTimer@@QAEXH@Z @ 1791 NONAME ABSENT ; void QDeclarativeTimer::setInterval(int)
+ ?statusChanged@QDeclarativeEngineDebug@@IAEXW4Status@1@@Z @ 1792 NONAME ABSENT ; void QDeclarativeEngineDebug::statusChanged(enum QDeclarativeEngineDebug::Status)
+ ?d_func@QDeclarativeTimer@@ABEPBVQDeclarativeTimerPrivate@@XZ @ 1793 NONAME ABSENT ; class QDeclarativeTimerPrivate const * QDeclarativeTimer::d_func(void) const
+ ?setSpacing@QDeclarativeBasePositioner@@QAEXH@Z @ 1794 NONAME ABSENT ; void QDeclarativeBasePositioner::setSpacing(int)
+ ?staticMetaObject@QDeclarativeTimer@@2UQMetaObject@@B @ 1795 NONAME ABSENT ; struct QMetaObject const QDeclarativeTimer::staticMetaObject
+ ?positionY@QDeclarativeBasePositioner@@IAEXHABVPositionedItem@1@@Z @ 1796 NONAME ABSENT ; void QDeclarativeBasePositioner::positionY(int, class QDeclarativeBasePositioner::PositionedItem const &)
+ ?qt_metacast@QDeclarativeAbstractAnimation@@UAEPAXPBD@Z @ 1797 NONAME ABSENT ; void * QDeclarativeAbstractAnimation::qt_metacast(char const *)
+ ?setAdd@QDeclarativeBasePositioner@@QAEXPAVQDeclarativeTransition@@@Z @ 1798 NONAME ABSENT ; void QDeclarativeBasePositioner::setAdd(class QDeclarativeTransition *)
+ ?setCurrentTime@QDeclarativeAbstractAnimation@@QAEXH@Z @ 1799 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setCurrentTime(int)
+ ?attachedPropertiesId@QDeclarativeType@@QBEHXZ @ 1800 NONAME ABSENT ; int QDeclarativeType::attachedPropertiesId(void) const
+ ?positionX@QDeclarativeBasePositioner@@IAEXHABVPositionedItem@1@@Z @ 1801 NONAME ABSENT ; void QDeclarativeBasePositioner::positionX(int, class QDeclarativeBasePositioner::PositionedItem const &)
+ ?restart@QDeclarativeAbstractAnimation@@QAEXXZ @ 1802 NONAME ABSENT ; void QDeclarativeAbstractAnimation::restart(void)
+ ?itemChange@QDeclarativeBasePositioner@@MAE?AVQVariant@@W4GraphicsItemChange@QGraphicsItem@@ABV2@@Z @ 1803 NONAME ABSENT ; class QVariant QDeclarativeBasePositioner::itemChange(enum QGraphicsItem::GraphicsItemChange, class QVariant const &)
+ ??0QDeclarativeAbstractAnimation@@IAE@AAVQDeclarativeAbstractAnimationPrivate@@PAVQObject@@@Z @ 1804 NONAME ABSENT ; QDeclarativeAbstractAnimation::QDeclarativeAbstractAnimation(class QDeclarativeAbstractAnimationPrivate &, class QObject *)
+ ?resume@QDeclarativeAbstractAnimation@@QAEXXZ @ 1805 NONAME ABSENT ; void QDeclarativeAbstractAnimation::resume(void)
+ ?runningChanged@QDeclarativeTimer@@IAEXXZ @ 1806 NONAME ABSENT ; void QDeclarativeTimer::runningChanged(void)
+ ?ticked@QDeclarativeTimer@@AAEXXZ @ 1807 NONAME ABSENT ; void QDeclarativeTimer::ticked(void)
+ ?graphicsWidgetGeometryChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1808 NONAME ABSENT ; void QDeclarativeBasePositioner::graphicsWidgetGeometryChanged(void)
+ ?trUtf8@QDeclarativeTimer@@SA?AVQString@@PBD0H@Z @ 1809 NONAME ABSENT ; class QString QDeclarativeTimer::trUtf8(char const *, char const *, int)
+ ??0QDeclarativeTimer@@QAE@PAVQObject@@@Z @ 1810 NONAME ABSENT ; QDeclarativeTimer::QDeclarativeTimer(class QObject *)
+ ?loops@QDeclarativeAbstractAnimation@@QBEHXZ @ 1811 NONAME ABSENT ; int QDeclarativeAbstractAnimation::loops(void) const
+ ?setTarget@QDeclarativeAbstractAnimation@@EAEXABVQDeclarativeProperty@@@Z @ 1812 NONAME ABSENT ; void QDeclarativeAbstractAnimation::setTarget(class QDeclarativeProperty const &)
+ ?alwaysRunToEnd@QDeclarativeAbstractAnimation@@QBE_NXZ @ 1813 NONAME ABSENT ; bool QDeclarativeAbstractAnimation::alwaysRunToEnd(void) const
+ ?tr@QDeclarativeTimer@@SA?AVQString@@PBD0H@Z @ 1814 NONAME ABSENT ; class QString QDeclarativeTimer::tr(char const *, char const *, int)
+ ?status@QDeclarativeDebugService@@QBE?AW4Status@1@XZ @ 1815 NONAME ABSENT ; enum QDeclarativeDebugService::Status QDeclarativeDebugService::status(void) const
+ ?intervalChanged@QDeclarativeTimer@@IAEXXZ @ 1816 NONAME ABSENT ; void QDeclarativeTimer::intervalChanged(void)
+ ?isPaused@QDeclarativeAbstractAnimation@@QBE_NXZ @ 1817 NONAME ABSENT ; bool QDeclarativeAbstractAnimation::isPaused(void) const
+ ?getStaticMetaObject@QDeclarativeAbstractAnimation@@SAABUQMetaObject@@XZ @ 1818 NONAME ABSENT ; struct QMetaObject const & QDeclarativeAbstractAnimation::getStaticMetaObject(void)
+ ?group@QDeclarativeAbstractAnimation@@QBEPAVQDeclarativeAnimationGroup@@XZ @ 1819 NONAME ABSENT ; class QDeclarativeAnimationGroup * QDeclarativeAbstractAnimation::group(void) const
+ ?classBegin@QDeclarativeTimer@@MAEXXZ @ 1820 NONAME ABSENT ; void QDeclarativeTimer::classBegin(void)
+ ?restart@QDeclarativeTimer@@QAEXXZ @ 1821 NONAME ABSENT ; void QDeclarativeTimer::restart(void)
+ ?move@QDeclarativeBasePositioner@@QBEPAVQDeclarativeTransition@@XZ @ 1822 NONAME ABSENT ; class QDeclarativeTransition * QDeclarativeBasePositioner::move(void) const
+ ?spacingChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1823 NONAME ABSENT ; void QDeclarativeBasePositioner::spacingChanged(void)
+ ?qt_metacast@QDeclarativeBasePositioner@@UAEPAXPBD@Z @ 1824 NONAME ABSENT ; void * QDeclarativeBasePositioner::qt_metacast(char const *)
+ ??1QDeclarativeTimer@@UAE@XZ @ 1825 NONAME ABSENT ; QDeclarativeTimer::~QDeclarativeTimer(void)
+ ?getStaticMetaObject@QDeclarativeTimer@@SAABUQMetaObject@@XZ @ 1826 NONAME ABSENT ; struct QMetaObject const & QDeclarativeTimer::getStaticMetaObject(void)
+ ?tr@QDeclarativeBasePositioner@@SA?AVQString@@PBD0H@Z @ 1827 NONAME ABSENT ; class QString QDeclarativeBasePositioner::tr(char const *, char const *, int)
+ ??1QDeclarativeBasePositioner@@UAE@XZ @ 1828 NONAME ABSENT ; QDeclarativeBasePositioner::~QDeclarativeBasePositioner(void)
+ ?moveChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1829 NONAME ABSENT ; void QDeclarativeBasePositioner::moveChanged(void)
+ ?qt_metacast@QDeclarativeTimer@@UAEPAXPBD@Z @ 1830 NONAME ABSENT ; void * QDeclarativeTimer::qt_metacast(char const *)
+ ?metaObject@QDeclarativeBasePositioner@@UBEPBUQMetaObject@@XZ @ 1831 NONAME ABSENT ; struct QMetaObject const * QDeclarativeBasePositioner::metaObject(void) const
+ ?alwaysRunToEndChanged@QDeclarativeAbstractAnimation@@IAEX_N@Z @ 1832 NONAME ABSENT ; void QDeclarativeAbstractAnimation::alwaysRunToEndChanged(bool)
+ ?triggeredOnStartChanged@QDeclarativeTimer@@IAEXXZ @ 1833 NONAME ABSENT ; void QDeclarativeTimer::triggeredOnStartChanged(void)
+ ?isRunning@QDeclarativeTimer@@QBE_NXZ @ 1834 NONAME ABSENT ; bool QDeclarativeTimer::isRunning(void) const
+ ?update@QDeclarativeTimer@@AAEXXZ @ 1835 NONAME ABSENT ; void QDeclarativeTimer::update(void)
+ ?stop@QDeclarativeAbstractAnimation@@QAEXXZ @ 1836 NONAME ABSENT ; void QDeclarativeAbstractAnimation::stop(void)
+ ?addChanged@QDeclarativeBasePositioner@@IAEXXZ @ 1837 NONAME ABSENT ; void QDeclarativeBasePositioner::addChanged(void)
+ ?start@QDeclarativeAbstractAnimation@@QAEXXZ @ 1838 NONAME ABSENT ; void QDeclarativeAbstractAnimation::start(void)
+ ?qt_metacall@QDeclarativeAbstractAnimation@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1839 NONAME ABSENT ; int QDeclarativeAbstractAnimation::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?enableDebugging@QDeclarativeDebugHelper@@SAXXZ @ 1840 NONAME ; void QDeclarativeDebugHelper::enableDebugging(void)
+ ?connect@QDeclarativePropertyPrivate@@SA_NPBVQObject@@H0HHPAH@Z @ 1841 NONAME ABSENT ; bool QDeclarativePropertyPrivate::connect(class QObject const *, int, class QObject const *, int, int, int *)
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index 7cc2752..6a33fc3 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -12852,7 +12852,7 @@ EXPORTS
?drawStaticText@QPainter@@QAEXABVQPointF@@ABVQStaticText@@@Z @ 12851 NONAME ; void QPainter::drawStaticText(class QPointF const &, class QStaticText const &)
?updateAll@QGraphicsViewPrivate@@QAEXXZ @ 12852 NONAME ; void QGraphicsViewPrivate::updateAll(void)
?updateMicroFocus@QGraphicsItem@@IAEXXZ @ 12853 NONAME ; void QGraphicsItem::updateMicroFocus(void)
- ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12854 NONAME ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
+ ?populate@QTextureGlyphCache@@QAEXPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12854 NONAME ABSENT ; void QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
?hasPartialUpdateSupport@QWindowSurface@@QBE_NXZ @ 12855 NONAME ; bool QWindowSurface::hasPartialUpdateSupport(void) const
?scroll@QRuntimePixmapData@@UAE_NHHABVQRect@@@Z @ 12856 NONAME ; bool QRuntimePixmapData::scroll(int, int, class QRect const &)
?qt_draw_glyphs@@YAXPAVQPainter@@PBIPBVQPointF@@H@Z @ 12857 NONAME ; void qt_draw_glyphs(class QPainter *, unsigned int const *, class QPointF const *, int)
@@ -12890,10 +12890,19 @@ EXPORTS
?lastRightBearing@QFontEngine@@IAE?AUQFixed@@ABUQGlyphLayout@@_N@Z @ 12889 NONAME ; struct QFixed QFontEngine::lastRightBearing(struct QGlyphLayout const &, bool)
?childrenBoundingRectHelper@QGraphicsItemPrivate@@QAEXPAVQTransform@@PAVQRectF@@PAVQGraphicsItem@@@Z @ 12890 NONAME ; void QGraphicsItemPrivate::childrenBoundingRectHelper(class QTransform *, class QRectF *, class QGraphicsItem *)
?setTimeout@QTapAndHoldGesture@@SAXH@Z @ 12891 NONAME ; void QTapAndHoldGesture::setTimeout(int)
- ?qmljsDebugArguments@QApplicationPrivate@@2VQString@@A @ 12892 NONAME ; class QString QApplicationPrivate::qmljsDebugArguments
+ ?qmljsDebugArguments@QApplicationPrivate@@2VQString@@A @ 12892 NONAME ABSENT ; class QString QApplicationPrivate::qmljsDebugArguments
?effectiveBoundingRect@QGraphicsItemPrivate@@QBE?AVQRectF@@PAVQGraphicsItem@@@Z @ 12893 NONAME ; class QRectF QGraphicsItemPrivate::effectiveBoundingRect(class QGraphicsItem *) const
?maxTextureHeight@QTextureGlyphCache@@UBEHXZ @ 12894 NONAME ; int QTextureGlyphCache::maxTextureHeight(void) const
?maxTextureWidth@QTextureGlyphCache@@UBEHXZ @ 12895 NONAME ; int QTextureGlyphCache::maxTextureWidth(void) const
- ?convertToPostscriptFontFamilyName@QFontEngine@@SA?AVQByteArray@@ABV2@@Z @ 12896 NONAME ; class QByteArray QFontEngine::convertToPostscriptFontFamilyName(class QByteArray const &)
- ?lastResortFont@QFont@@QBE?AVQString@@XZ @ 12897 NONAME ; class QString QFont::lastResortFont(void) const
+ ?qmljs_debug_arguments@QApplicationPrivate@@2VQString@@A @ 12896 NONAME ; class QString QApplicationPrivate::qmljs_debug_arguments
+ ?qmljsDebugArgumentsString@QApplicationPrivate@@SA?AVQString@@XZ @ 12897 NONAME ; class QString QApplicationPrivate::qmljsDebugArgumentsString(void)
+ ?convertToPostscriptFontFamilyName@QFontEngine@@SA?AVQByteArray@@ABV2@@Z @ 12898 NONAME ; class QByteArray QFontEngine::convertToPostscriptFontFamilyName(class QByteArray const &)
+ ?lastResortFont@QFont@@QBE?AVQString@@XZ @ 12899 NONAME ; class QString QFont::lastResortFont(void) const
+ ?setFontEngine@QStaticTextItem@@QAEXPAVQFontEngine@@@Z @ 12900 NONAME ; void QStaticTextItem::setFontEngine(class QFontEngine *)
+ ??0QStaticTextItem@@QAE@ABV0@@Z @ 12901 NONAME ; QStaticTextItem::QStaticTextItem(class QStaticTextItem const &)
+ ??4QStaticTextItem@@QAEXABV0@@Z @ 12902 NONAME ; void QStaticTextItem::operator=(class QStaticTextItem const &)
+ ?fontEngine@QStaticTextItem@@QBEPAVQFontEngine@@XZ @ 12903 NONAME ; class QFontEngine * QStaticTextItem::fontEngine(void) const
+ ?reactivateDeferredActiveObjects@QEventDispatcherS60@@UAEXXZ @ 12904 NONAME ; void QEventDispatcherS60::reactivateDeferredActiveObjects(void)
+ ?userData@QStaticTextItem@@QBEPAVQStaticTextUserData@@XZ @ 12905 NONAME ; class QStaticTextUserData * QStaticTextItem::userData(void) const
+ ?populate@QTextureGlyphCache@@QAE_NPAVQFontEngine@@HPBIPBUQFixedPoint@@@Z @ 12906 NONAME ; bool QTextureGlyphCache::populate(class QFontEngine *, int, unsigned int const *, struct QFixedPoint const *)
diff --git a/src/s60installs/bwins/QtOpenGLu.def b/src/s60installs/bwins/QtOpenGLu.def
index fa340e4..620fcb9 100644
--- a/src/s60installs/bwins/QtOpenGLu.def
+++ b/src/s60installs/bwins/QtOpenGLu.def
@@ -8,7 +8,7 @@ EXPORTS
?d_func@QGLShader@@AAEPAVQGLShaderPrivate@@XZ @ 7 NONAME ; class QGLShaderPrivate * QGLShader::d_func(void)
?bindToDynamicTexture@QGLPixelBuffer@@QAE_NI@Z @ 8 NONAME ; bool QGLPixelBuffer::bindToDynamicTexture(unsigned int)
??0QGLWidget@@QAE@PAVQGLContext@@PAVQWidget@@PBV0@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9 NONAME ; QGLWidget::QGLWidget(class QGLContext *, class QWidget *, class QGLWidget const *, class QFlags<enum Qt::WindowType>)
- ??_EQGLFormat@@QAE@I@Z @ 10 NONAME ; QGLFormat::~QGLFormat(unsigned int)
+ ??_EQGLFormat@@QAE@I@Z @ 10 NONAME ABSENT ; QGLFormat::~QGLFormat(unsigned int)
?drawPixmapFragments@QGL2PaintEngineEx@@UAEXPBVPixmapFragment@QPainter@@HABVQPixmap@@V?$QFlags@W4PixmapFragmentHint@QPainter@@@@@Z @ 11 NONAME ; void QGL2PaintEngineEx::drawPixmapFragments(class QPainter::PixmapFragment const *, int, class QPixmap const &, class QFlags<enum QPainter::PixmapFragmentHint>)
?paintEngine@QGLWidget@@UBEPAVQPaintEngine@@XZ @ 12 NONAME ; class QPaintEngine * QGLWidget::paintEngine(void) const
?setPreferredPaintEngine@QGL@@YAXW4Type@QPaintEngine@@@Z @ 13 NONAME ; void QGL::setPreferredPaintEngine(enum QPaintEngine::Type)
@@ -107,7 +107,7 @@ EXPORTS
??0QGLContext@@QAE@ABVQGLFormat@@@Z @ 106 NONAME ; QGLContext::QGLContext(class QGLFormat const &)
?geometryOutputVertexCount@QGLShaderProgram@@QBEHXZ @ 107 NONAME ; int QGLShaderProgram::geometryOutputVertexCount(void) const
?setAccum@QGLFormat@@QAEX_N@Z @ 108 NONAME ; void QGLFormat::setAccum(bool)
- ??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ; QGLSignalProxy::QGLSignalProxy(void)
+ ??0QGLSignalProxy@@QAE@XZ @ 109 NONAME ABSENT ; QGLSignalProxy::QGLSignalProxy(void)
?isUninitialized@QGLPixmapData@@ABE_NXZ @ 110 NONAME ; bool QGLPixmapData::isUninitialized(void) const
??0QGLFramebufferObjectFormat@@QAE@XZ @ 111 NONAME ; QGLFramebufferObjectFormat::QGLFramebufferObjectFormat(void)
??8@YA_NABVQGLFormat@@0@Z @ 112 NONAME ; bool operator==(class QGLFormat const &, class QGLFormat const &)
@@ -496,7 +496,7 @@ EXPORTS
?setUniformValue@QGLShaderProgram@@QAEXPBDABVQSize@@@Z @ 495 NONAME ; void QGLShaderProgram::setUniformValue(char const *, class QSize const &)
?convertToGLFormat@QGLWidget@@SA?AVQImage@@ABV2@@Z @ 496 NONAME ; class QImage QGLWidget::convertToGLFormat(class QImage const &)
?staticMetaObject@QGLTextureGlyphCache@@2UQMetaObject@@B @ 497 NONAME ; struct QMetaObject const QGLTextureGlyphCache::staticMetaObject
- ??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ; QGLContextResource::~QGLContextResource(unsigned int)
+ ??_EQGLContextResource@@QAE@I@Z @ 498 NONAME ABSENT ; QGLContextResource::~QGLContextResource(unsigned int)
?handle@QGLColormap@@IAEKXZ @ 499 NONAME ; unsigned long QGLColormap::handle(void)
?isCreated@QGLBuffer@@QBE_NXZ @ 500 NONAME ; bool QGLBuffer::isCreated(void) const
?setColormap@QGLWidget@@QAEXABVQGLColormap@@@Z @ 501 NONAME ; void QGLWidget::setColormap(class QGLColormap const &)
@@ -698,4 +698,9 @@ EXPORTS
?setProfile@QGLFormat@@QAEXW4OpenGLContextProfile@1@@Z @ 697 NONAME ; void QGLFormat::setProfile(enum QGLFormat::OpenGLContextProfile)
?updateDynamicTexture@QGLPixelBuffer@@QBEXI@Z @ 698 NONAME ; void QGLPixelBuffer::updateDynamicTexture(unsigned int) const
?setUniformValue@QGLShaderProgram@@QAEXHH@Z @ 699 NONAME ; void QGLShaderProgram::setUniformValue(int, int)
+ ?maxTextureHeight@QGLTextureGlyphCache@@UBEHXZ @ 700 NONAME ; int QGLTextureGlyphCache::maxTextureHeight(void) const
+ ?initializeOffscreenTexture@QGLWindowSurface@@AAE_NABVQSize@@@Z @ 701 NONAME ; bool QGLWindowSurface::initializeOffscreenTexture(class QSize const &)
+ ?maxTextureWidth@QGLTextureGlyphCache@@UBEHXZ @ 702 NONAME ; int QGLTextureGlyphCache::maxTextureWidth(void) const
+ ?filterMode@QGLTextureGlyphCache@@QBE?AW4FilterMode@1@XZ @ 703 NONAME ; enum QGLTextureGlyphCache::FilterMode QGLTextureGlyphCache::filterMode(void) const
+ ?setFilterMode@QGLTextureGlyphCache@@QAEXW4FilterMode@1@@Z @ 704 NONAME ; void QGLTextureGlyphCache::setFilterMode(enum QGLTextureGlyphCache::FilterMode)
diff --git a/src/s60installs/bwins/QtOpenVGu.def b/src/s60installs/bwins/QtOpenVGu.def
index a67725e..87b9c7f 100644
--- a/src/s60installs/bwins/QtOpenVGu.def
+++ b/src/s60installs/bwins/QtOpenVGu.def
@@ -175,4 +175,5 @@ EXPORTS
?createPixmapForImage@QVGPixmapData@@IAEXAAVQImage@@V?$QFlags@W4ImageConversionFlag@Qt@@@@_N@Z @ 174 NONAME ; void QVGPixmapData::createPixmapForImage(class QImage &, class QFlags<enum Qt::ImageConversionFlag>, bool)
?fromData@QVGPixmapData@@UAE_NPBEIPBDV?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 175 NONAME ; bool QVGPixmapData::fromData(unsigned char const *, unsigned int, char const *, class QFlags<enum Qt::ImageConversionFlag>)
?fromImageReader@QVGPixmapData@@UAEXPAVQImageReader@@V?$QFlags@W4ImageConversionFlag@Qt@@@@@Z @ 176 NONAME ; void QVGPixmapData::fromImageReader(class QImageReader *, class QFlags<enum Qt::ImageConversionFlag>)
+ ?canVgWritePixels@QVGPaintEngine@@ABE_NABVQImage@@@Z @ 177 NONAME ; bool QVGPaintEngine::canVgWritePixels(class QImage const &) const
diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def
index eb53dca..aefbe1f 100644
--- a/src/s60installs/eabi/QtCoreu.def
+++ b/src/s60installs/eabi/QtCoreu.def
@@ -3713,4 +3713,5 @@ EXPORTS
_ZrsR11QDataStreamR12QEasingCurve @ 3712 NONAME
_Z26qt_symbian_SetupThreadHeapiR24SStdEpocThreadCreateInfo @ 3713 NONAME
_ZN24QAbstractDeclarativeData17objectNameChangedE @ 3714 NONAME DATA 4
+ _ZN23QEventDispatcherSymbian36queueDeferredActiveObjectsCompletionEv @ 3715 NONAME
diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def
index cbfafdc..1f69061 100644
--- a/src/s60installs/eabi/QtDeclarativeu.def
+++ b/src/s60installs/eabi/QtDeclarativeu.def
@@ -7,36 +7,36 @@ EXPORTS
_Z7qmlInfoPK7QObjectRK17QDeclarativeError @ 6 NONAME
_Z7qmlInfoPK7QObjectRK5QListI17QDeclarativeErrorE @ 7 NONAME
_Z9qmlEnginePK7QObject @ 8 NONAME
- _ZN15QDeclarativePen10penChangedEv @ 9 NONAME
- _ZN15QDeclarativePen11qt_metacallEN11QMetaObject4CallEiPPv @ 10 NONAME
- _ZN15QDeclarativePen11qt_metacastEPKc @ 11 NONAME
- _ZN15QDeclarativePen16staticMetaObjectE @ 12 NONAME DATA 16
- _ZN15QDeclarativePen19getStaticMetaObjectEv @ 13 NONAME
- _ZN15QDeclarativePen8setColorERK6QColor @ 14 NONAME
- _ZN15QDeclarativePen8setWidthEi @ 15 NONAME
- _ZN15QPacketAutoSendC1EP15QPacketProtocol @ 16 NONAME
- _ZN15QPacketAutoSendC2EP15QPacketProtocol @ 17 NONAME
- _ZN15QPacketAutoSendD0Ev @ 18 NONAME
- _ZN15QPacketAutoSendD1Ev @ 19 NONAME
- _ZN15QPacketAutoSendD2Ev @ 20 NONAME
- _ZN15QPacketProtocol11qt_metacallEN11QMetaObject4CallEiPPv @ 21 NONAME
- _ZN15QPacketProtocol11qt_metacastEPKc @ 22 NONAME
- _ZN15QPacketProtocol13invalidPacketEv @ 23 NONAME
- _ZN15QPacketProtocol13packetWrittenEv @ 24 NONAME
- _ZN15QPacketProtocol16staticMetaObjectE @ 25 NONAME DATA 16
- _ZN15QPacketProtocol19getStaticMetaObjectEv @ 26 NONAME
- _ZN15QPacketProtocol20setMaximumPacketSizeEi @ 27 NONAME
- _ZN15QPacketProtocol4readEv @ 28 NONAME
- _ZN15QPacketProtocol4sendERK7QPacket @ 29 NONAME
- _ZN15QPacketProtocol4sendEv @ 30 NONAME
- _ZN15QPacketProtocol5clearEv @ 31 NONAME
- _ZN15QPacketProtocol6deviceEv @ 32 NONAME
- _ZN15QPacketProtocol9readyReadEv @ 33 NONAME
- _ZN15QPacketProtocolC1EP9QIODeviceP7QObject @ 34 NONAME
- _ZN15QPacketProtocolC2EP9QIODeviceP7QObject @ 35 NONAME
- _ZN15QPacketProtocolD0Ev @ 36 NONAME
- _ZN15QPacketProtocolD1Ev @ 37 NONAME
- _ZN15QPacketProtocolD2Ev @ 38 NONAME
+ _ZN15QDeclarativePen10penChangedEv @ 9 NONAME ABSENT
+ _ZN15QDeclarativePen11qt_metacallEN11QMetaObject4CallEiPPv @ 10 NONAME ABSENT
+ _ZN15QDeclarativePen11qt_metacastEPKc @ 11 NONAME ABSENT
+ _ZN15QDeclarativePen16staticMetaObjectE @ 12 NONAME DATA 16 ABSENT
+ _ZN15QDeclarativePen19getStaticMetaObjectEv @ 13 NONAME ABSENT
+ _ZN15QDeclarativePen8setColorERK6QColor @ 14 NONAME ABSENT
+ _ZN15QDeclarativePen8setWidthEi @ 15 NONAME ABSENT
+ _ZN15QPacketAutoSendC1EP15QPacketProtocol @ 16 NONAME ABSENT
+ _ZN15QPacketAutoSendC2EP15QPacketProtocol @ 17 NONAME ABSENT
+ _ZN15QPacketAutoSendD0Ev @ 18 NONAME ABSENT
+ _ZN15QPacketAutoSendD1Ev @ 19 NONAME ABSENT
+ _ZN15QPacketAutoSendD2Ev @ 20 NONAME ABSENT
+ _ZN15QPacketProtocol11qt_metacallEN11QMetaObject4CallEiPPv @ 21 NONAME ABSENT
+ _ZN15QPacketProtocol11qt_metacastEPKc @ 22 NONAME ABSENT
+ _ZN15QPacketProtocol13invalidPacketEv @ 23 NONAME ABSENT
+ _ZN15QPacketProtocol13packetWrittenEv @ 24 NONAME ABSENT
+ _ZN15QPacketProtocol16staticMetaObjectE @ 25 NONAME DATA 16 ABSENT
+ _ZN15QPacketProtocol19getStaticMetaObjectEv @ 26 NONAME ABSENT
+ _ZN15QPacketProtocol20setMaximumPacketSizeEi @ 27 NONAME ABSENT
+ _ZN15QPacketProtocol4readEv @ 28 NONAME ABSENT
+ _ZN15QPacketProtocol4sendERK7QPacket @ 29 NONAME ABSENT
+ _ZN15QPacketProtocol4sendEv @ 30 NONAME ABSENT
+ _ZN15QPacketProtocol5clearEv @ 31 NONAME ABSENT
+ _ZN15QPacketProtocol6deviceEv @ 32 NONAME ABSENT
+ _ZN15QPacketProtocol9readyReadEv @ 33 NONAME ABSENT
+ _ZN15QPacketProtocolC1EP9QIODeviceP7QObject @ 34 NONAME ABSENT
+ _ZN15QPacketProtocolC2EP9QIODeviceP7QObject @ 35 NONAME ABSENT
+ _ZN15QPacketProtocolD0Ev @ 36 NONAME ABSENT
+ _ZN15QPacketProtocolD1Ev @ 37 NONAME ABSENT
+ _ZN15QPacketProtocolD2Ev @ 38 NONAME ABSENT
_ZN16QDeclarativeInfoC1EP23QDeclarativeInfoPrivate @ 39 NONAME
_ZN16QDeclarativeInfoC1ERKS_ @ 40 NONAME
_ZN16QDeclarativeInfoC2EP23QDeclarativeInfoPrivate @ 41 NONAME
@@ -93,48 +93,48 @@ EXPORTS
_ZN16QDeclarativeItemD0Ev @ 92 NONAME
_ZN16QDeclarativeItemD1Ev @ 93 NONAME
_ZN16QDeclarativeItemD2Ev @ 94 NONAME
- _ZN16QDeclarativeText11fontChangedERK5QFont @ 95 NONAME
- _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 96 NONAME
- _ZN16QDeclarativeText11qt_metacastEPKc @ 97 NONAME
- _ZN16QDeclarativeText11setWrapModeENS_8WrapModeE @ 98 NONAME
- _ZN16QDeclarativeText11textChangedERK7QString @ 99 NONAME
- _ZN16QDeclarativeText12colorChangedERK6QColor @ 100 NONAME
- _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 101 NONAME
- _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 102 NONAME
- _ZN16QDeclarativeText13linkActivatedERK7QString @ 103 NONAME
- _ZN16QDeclarativeText13setStyleColorERK6QColor @ 104 NONAME
- _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 105 NONAME
- _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 106 NONAME
- _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 107 NONAME
- _ZN16QDeclarativeText15wrapModeChangedEv @ 108 NONAME
- _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 109 NONAME
- _ZN16QDeclarativeText16staticMetaObjectE @ 110 NONAME DATA 16
- _ZN16QDeclarativeText17componentCompleteEv @ 111 NONAME
- _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 112 NONAME
- _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 113 NONAME
- _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 114 NONAME
- _ZN16QDeclarativeText18paintedSizeChangedEv @ 115 NONAME
- _ZN16QDeclarativeText19getStaticMetaObjectEv @ 116 NONAME
- _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 117 NONAME
- _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 118 NONAME
- _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 119 NONAME
- _ZN16QDeclarativeText7setFontERK5QFont @ 120 NONAME
- _ZN16QDeclarativeText7setTextERK7QString @ 121 NONAME
- _ZN16QDeclarativeText8setColorERK6QColor @ 122 NONAME
- _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 123 NONAME
- _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 124 NONAME
- _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 125 NONAME
- _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 126 NONAME
- _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 127 NONAME
- _ZN16QDeclarativeTextD0Ev @ 128 NONAME
- _ZN16QDeclarativeTextD1Ev @ 129 NONAME
- _ZN16QDeclarativeTextD2Ev @ 130 NONAME
- _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 131 NONAME
- _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 132 NONAME
- _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 133 NONAME
- _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 134 NONAME
- _ZN16QDeclarativeTypeD1Ev @ 135 NONAME
- _ZN16QDeclarativeTypeD2Ev @ 136 NONAME
+ _ZN16QDeclarativeText11fontChangedERK5QFont @ 95 NONAME ABSENT
+ _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 96 NONAME ABSENT
+ _ZN16QDeclarativeText11qt_metacastEPKc @ 97 NONAME ABSENT
+ _ZN16QDeclarativeText11setWrapModeENS_8WrapModeE @ 98 NONAME ABSENT
+ _ZN16QDeclarativeText11textChangedERK7QString @ 99 NONAME ABSENT
+ _ZN16QDeclarativeText12colorChangedERK6QColor @ 100 NONAME ABSENT
+ _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 101 NONAME ABSENT
+ _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 102 NONAME ABSENT
+ _ZN16QDeclarativeText13linkActivatedERK7QString @ 103 NONAME ABSENT
+ _ZN16QDeclarativeText13setStyleColorERK6QColor @ 104 NONAME ABSENT
+ _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 105 NONAME ABSENT
+ _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 106 NONAME ABSENT
+ _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 107 NONAME ABSENT
+ _ZN16QDeclarativeText15wrapModeChangedEv @ 108 NONAME ABSENT
+ _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 109 NONAME ABSENT
+ _ZN16QDeclarativeText16staticMetaObjectE @ 110 NONAME DATA 16 ABSENT
+ _ZN16QDeclarativeText17componentCompleteEv @ 111 NONAME ABSENT
+ _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 112 NONAME ABSENT
+ _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 113 NONAME ABSENT
+ _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 114 NONAME ABSENT
+ _ZN16QDeclarativeText18paintedSizeChangedEv @ 115 NONAME ABSENT
+ _ZN16QDeclarativeText19getStaticMetaObjectEv @ 116 NONAME ABSENT
+ _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 117 NONAME ABSENT
+ _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 118 NONAME ABSENT
+ _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 119 NONAME ABSENT
+ _ZN16QDeclarativeText7setFontERK5QFont @ 120 NONAME ABSENT
+ _ZN16QDeclarativeText7setTextERK7QString @ 121 NONAME ABSENT
+ _ZN16QDeclarativeText8setColorERK6QColor @ 122 NONAME ABSENT
+ _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 123 NONAME ABSENT
+ _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 124 NONAME ABSENT
+ _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 125 NONAME ABSENT
+ _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 126 NONAME ABSENT
+ _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 127 NONAME ABSENT
+ _ZN16QDeclarativeTextD0Ev @ 128 NONAME ABSENT
+ _ZN16QDeclarativeTextD1Ev @ 129 NONAME ABSENT
+ _ZN16QDeclarativeTextD2Ev @ 130 NONAME ABSENT
+ _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 131 NONAME ABSENT
+ _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 132 NONAME ABSENT
+ _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 133 NONAME ABSENT
+ _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 134 NONAME ABSENT
+ _ZN16QDeclarativeTypeD1Ev @ 135 NONAME ABSENT
+ _ZN16QDeclarativeTypeD2Ev @ 136 NONAME ABSENT
_ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 137 NONAME
_ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 138 NONAME
_ZN16QDeclarativeView11eventFilterEP7QObjectP6QEvent @ 139 NONAME
@@ -156,9 +156,9 @@ EXPORTS
_ZN16QDeclarativeViewD0Ev @ 155 NONAME
_ZN16QDeclarativeViewD1Ev @ 156 NONAME
_ZN16QDeclarativeViewD2Ev @ 157 NONAME
- _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 158 NONAME
- _ZN16QMetaEnumBuilder9removeKeyEi @ 159 NONAME
- _ZN16QMetaEnumBuilder9setIsFlagEb @ 160 NONAME
+ _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 158 NONAME ABSENT
+ _ZN16QMetaEnumBuilder9removeKeyEi @ 159 NONAME ABSENT
+ _ZN16QMetaEnumBuilder9setIsFlagEb @ 160 NONAME ABSENT
_ZN17QDeclarativeError14setDescriptionERK7QString @ 161 NONAME
_ZN17QDeclarativeError6setUrlERK4QUrl @ 162 NONAME
_ZN17QDeclarativeError7setLineEi @ 163 NONAME
@@ -188,13 +188,13 @@ EXPORTS
_ZN17QDeclarativeStateD1Ev @ 187 NONAME
_ZN17QDeclarativeStateD2Ev @ 188 NONAME
_ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 189 NONAME
- _ZN18QDeclarativeAction17deleteFromBindingEv @ 190 NONAME
- _ZN18QDeclarativeActionC1EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 191 NONAME
- _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 192 NONAME
- _ZN18QDeclarativeActionC1Ev @ 193 NONAME
- _ZN18QDeclarativeActionC2EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 194 NONAME
- _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 195 NONAME
- _ZN18QDeclarativeActionC2Ev @ 196 NONAME
+ _ZN18QDeclarativeAction17deleteFromBindingEv @ 190 NONAME ABSENT
+ _ZN18QDeclarativeActionC1EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 191 NONAME ABSENT
+ _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 192 NONAME ABSENT
+ _ZN18QDeclarativeActionC1Ev @ 193 NONAME ABSENT
+ _ZN18QDeclarativeActionC2EP7QObjectRK7QStringP19QDeclarativeContextRK8QVariant @ 194 NONAME ABSENT
+ _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 195 NONAME ABSENT
+ _ZN18QDeclarativeActionC2Ev @ 196 NONAME ABSENT
_ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 197 NONAME
_ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 198 NONAME
_ZN18QDeclarativeEngine11qt_metacastEPKc @ 199 NONAME
@@ -254,124 +254,124 @@ EXPORTS
_ZN18QDeclarativePixmapC2Ev @ 253 NONAME
_ZN18QDeclarativePixmapD1Ev @ 254 NONAME
_ZN18QDeclarativePixmapD2Ev @ 255 NONAME
- _ZN18QMetaMethodBuilder13setAttributesEi @ 256 NONAME
- _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 257 NONAME
- _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 258 NONAME
- _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 259 NONAME
- _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 260 NONAME
- _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 261 NONAME
- _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 262 NONAME
- _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 263 NONAME
- _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 264 NONAME
- _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 265 NONAME
- _ZN18QMetaObjectBuilder12removeMethodEi @ 266 NONAME
- _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 267 NONAME
- _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 268 NONAME
- _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 269 NONAME
- _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 270 NONAME
- _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 271 NONAME
- _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 272 NONAME
- _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 273 NONAME
- _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 274 NONAME
- _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 275 NONAME
- _ZN18QMetaObjectBuilder14removePropertyEi @ 276 NONAME
- _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 277 NONAME
- _ZN18QMetaObjectBuilder15removeClassInfoEi @ 278 NONAME
- _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 279 NONAME
- _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 280 NONAME
- _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 281 NONAME
- _ZN18QMetaObjectBuilder17removeConstructorEi @ 282 NONAME
- _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 283 NONAME
- _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 284 NONAME
- _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 285 NONAME
- _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 286 NONAME
- _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 287 NONAME
- _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 288 NONAME
- _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 289 NONAME
- _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 290 NONAME
- _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 291 NONAME
- _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 292 NONAME
- _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 293 NONAME
- _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 294 NONAME
- _ZN18QMetaObjectBuilderC1Ev @ 295 NONAME
- _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 296 NONAME
- _ZN18QMetaObjectBuilderC2Ev @ 297 NONAME
- _ZN18QMetaObjectBuilderD0Ev @ 298 NONAME
- _ZN18QMetaObjectBuilderD1Ev @ 299 NONAME
- _ZN18QMetaObjectBuilderD2Ev @ 300 NONAME
- _ZN19QDeclarativeAnchors10classBeginEv @ 301 NONAME
- _ZN19QDeclarativeAnchors10resetRightEv @ 302 NONAME
- _ZN19QDeclarativeAnchors10setMarginsEf @ 303 NONAME
- _ZN19QDeclarativeAnchors10topChangedEv @ 304 NONAME
- _ZN19QDeclarativeAnchors11fillChangedEv @ 305 NONAME
- _ZN19QDeclarativeAnchors11leftChangedEv @ 306 NONAME
- _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 307 NONAME
- _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 308 NONAME
- _ZN19QDeclarativeAnchors11resetBottomEv @ 309 NONAME
- _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 310 NONAME
- _ZN19QDeclarativeAnchors11setCenterInEP15QGraphicsObject @ 311 NONAME
- _ZN19QDeclarativeAnchors12rightChangedEv @ 312 NONAME
- _ZN19QDeclarativeAnchors12setTopMarginEf @ 313 NONAME
- _ZN19QDeclarativeAnchors13bottomChangedEv @ 314 NONAME
- _ZN19QDeclarativeAnchors13resetBaselineEv @ 315 NONAME
- _ZN19QDeclarativeAnchors13resetCenterInEv @ 316 NONAME
- _ZN19QDeclarativeAnchors13setLeftMarginEf @ 317 NONAME
- _ZN19QDeclarativeAnchors14marginsChangedEv @ 318 NONAME
- _ZN19QDeclarativeAnchors14setRightMarginEf @ 319 NONAME
- _ZN19QDeclarativeAnchors15baselineChangedEv @ 320 NONAME
- _ZN19QDeclarativeAnchors15centerInChangedEv @ 321 NONAME
- _ZN19QDeclarativeAnchors15setBottomMarginEf @ 322 NONAME
- _ZN19QDeclarativeAnchors16staticMetaObjectE @ 323 NONAME DATA 16
- _ZN19QDeclarativeAnchors16topMarginChangedEv @ 324 NONAME
- _ZN19QDeclarativeAnchors17componentCompleteEv @ 325 NONAME
- _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 326 NONAME
- _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 327 NONAME
- _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 328 NONAME
- _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 329 NONAME
- _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 330 NONAME
- _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 331 NONAME
- _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 332 NONAME
- _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 333 NONAME
- _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 334 NONAME
- _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 335 NONAME
- _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 336 NONAME
- _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 337 NONAME
- _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 338 NONAME
- _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 339 NONAME
- _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 340 NONAME
- _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 341 NONAME
- _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 342 NONAME
- _ZN19QDeclarativeAnchors7setFillEP15QGraphicsObject @ 343 NONAME
- _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 344 NONAME
- _ZN19QDeclarativeAnchors8resetTopEv @ 345 NONAME
- _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 346 NONAME
- _ZN19QDeclarativeAnchors9resetFillEv @ 347 NONAME
- _ZN19QDeclarativeAnchors9resetLeftEv @ 348 NONAME
- _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 349 NONAME
- _ZN19QDeclarativeAnchorsC1EP15QGraphicsObjectP7QObject @ 350 NONAME
- _ZN19QDeclarativeAnchorsC1EP7QObject @ 351 NONAME
- _ZN19QDeclarativeAnchorsC2EP15QGraphicsObjectP7QObject @ 352 NONAME
- _ZN19QDeclarativeAnchorsC2EP7QObject @ 353 NONAME
- _ZN19QDeclarativeAnchorsD0Ev @ 354 NONAME
- _ZN19QDeclarativeAnchorsD1Ev @ 355 NONAME
- _ZN19QDeclarativeAnchorsD2Ev @ 356 NONAME
- _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 357 NONAME
- _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 358 NONAME
- _ZN19QDeclarativeBinding11qt_metacastEPKc @ 359 NONAME
- _ZN19QDeclarativeBinding13propertyIndexEv @ 360 NONAME
- _ZN19QDeclarativeBinding16staticMetaObjectE @ 361 NONAME DATA 16
- _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 362 NONAME
- _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 363 NONAME
- _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 364 NONAME
- _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 365 NONAME
- _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 366 NONAME
- _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 367 NONAME
- _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 368 NONAME
- _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 369 NONAME
- _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 370 NONAME
- _ZN19QDeclarativeBindingD0Ev @ 371 NONAME
- _ZN19QDeclarativeBindingD1Ev @ 372 NONAME
- _ZN19QDeclarativeBindingD2Ev @ 373 NONAME
+ _ZN18QMetaMethodBuilder13setAttributesEi @ 256 NONAME ABSENT
+ _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 257 NONAME ABSENT
+ _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 258 NONAME ABSENT
+ _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 259 NONAME ABSENT
+ _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 260 NONAME ABSENT
+ _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 261 NONAME ABSENT
+ _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 262 NONAME ABSENT
+ _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 263 NONAME ABSENT
+ _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 264 NONAME ABSENT
+ _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 265 NONAME ABSENT
+ _ZN18QMetaObjectBuilder12removeMethodEi @ 266 NONAME ABSENT
+ _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 267 NONAME ABSENT
+ _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 268 NONAME ABSENT
+ _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 269 NONAME ABSENT
+ _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 270 NONAME ABSENT
+ _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 271 NONAME ABSENT
+ _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 272 NONAME ABSENT
+ _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 273 NONAME ABSENT
+ _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 274 NONAME ABSENT
+ _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 275 NONAME ABSENT
+ _ZN18QMetaObjectBuilder14removePropertyEi @ 276 NONAME ABSENT
+ _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 277 NONAME ABSENT
+ _ZN18QMetaObjectBuilder15removeClassInfoEi @ 278 NONAME ABSENT
+ _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 279 NONAME ABSENT
+ _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 280 NONAME ABSENT
+ _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 281 NONAME ABSENT
+ _ZN18QMetaObjectBuilder17removeConstructorEi @ 282 NONAME ABSENT
+ _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 283 NONAME ABSENT
+ _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 284 NONAME ABSENT
+ _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 285 NONAME ABSENT
+ _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 286 NONAME ABSENT
+ _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 287 NONAME ABSENT
+ _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 288 NONAME ABSENT
+ _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 289 NONAME ABSENT
+ _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 290 NONAME ABSENT
+ _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 291 NONAME ABSENT
+ _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 292 NONAME ABSENT
+ _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 293 NONAME ABSENT
+ _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 294 NONAME ABSENT
+ _ZN18QMetaObjectBuilderC1Ev @ 295 NONAME ABSENT
+ _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 296 NONAME ABSENT
+ _ZN18QMetaObjectBuilderC2Ev @ 297 NONAME ABSENT
+ _ZN18QMetaObjectBuilderD0Ev @ 298 NONAME ABSENT
+ _ZN18QMetaObjectBuilderD1Ev @ 299 NONAME ABSENT
+ _ZN18QMetaObjectBuilderD2Ev @ 300 NONAME ABSENT
+ _ZN19QDeclarativeAnchors10classBeginEv @ 301 NONAME ABSENT
+ _ZN19QDeclarativeAnchors10resetRightEv @ 302 NONAME ABSENT
+ _ZN19QDeclarativeAnchors10setMarginsEf @ 303 NONAME ABSENT
+ _ZN19QDeclarativeAnchors10topChangedEv @ 304 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11fillChangedEv @ 305 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11leftChangedEv @ 306 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 307 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 308 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11resetBottomEv @ 309 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 310 NONAME ABSENT
+ _ZN19QDeclarativeAnchors11setCenterInEP15QGraphicsObject @ 311 NONAME ABSENT
+ _ZN19QDeclarativeAnchors12rightChangedEv @ 312 NONAME ABSENT
+ _ZN19QDeclarativeAnchors12setTopMarginEf @ 313 NONAME ABSENT
+ _ZN19QDeclarativeAnchors13bottomChangedEv @ 314 NONAME ABSENT
+ _ZN19QDeclarativeAnchors13resetBaselineEv @ 315 NONAME ABSENT
+ _ZN19QDeclarativeAnchors13resetCenterInEv @ 316 NONAME ABSENT
+ _ZN19QDeclarativeAnchors13setLeftMarginEf @ 317 NONAME ABSENT
+ _ZN19QDeclarativeAnchors14marginsChangedEv @ 318 NONAME ABSENT
+ _ZN19QDeclarativeAnchors14setRightMarginEf @ 319 NONAME ABSENT
+ _ZN19QDeclarativeAnchors15baselineChangedEv @ 320 NONAME ABSENT
+ _ZN19QDeclarativeAnchors15centerInChangedEv @ 321 NONAME ABSENT
+ _ZN19QDeclarativeAnchors15setBottomMarginEf @ 322 NONAME ABSENT
+ _ZN19QDeclarativeAnchors16staticMetaObjectE @ 323 NONAME DATA 16 ABSENT
+ _ZN19QDeclarativeAnchors16topMarginChangedEv @ 324 NONAME ABSENT
+ _ZN19QDeclarativeAnchors17componentCompleteEv @ 325 NONAME ABSENT
+ _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 326 NONAME ABSENT
+ _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 327 NONAME ABSENT
+ _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 328 NONAME ABSENT
+ _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 329 NONAME ABSENT
+ _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 330 NONAME ABSENT
+ _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 331 NONAME ABSENT
+ _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 332 NONAME ABSENT
+ _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 333 NONAME ABSENT
+ _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 334 NONAME ABSENT
+ _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 335 NONAME ABSENT
+ _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 336 NONAME ABSENT
+ _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 337 NONAME ABSENT
+ _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 338 NONAME ABSENT
+ _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 339 NONAME ABSENT
+ _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 340 NONAME ABSENT
+ _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 341 NONAME ABSENT
+ _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 342 NONAME ABSENT
+ _ZN19QDeclarativeAnchors7setFillEP15QGraphicsObject @ 343 NONAME ABSENT
+ _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 344 NONAME ABSENT
+ _ZN19QDeclarativeAnchors8resetTopEv @ 345 NONAME ABSENT
+ _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 346 NONAME ABSENT
+ _ZN19QDeclarativeAnchors9resetFillEv @ 347 NONAME ABSENT
+ _ZN19QDeclarativeAnchors9resetLeftEv @ 348 NONAME ABSENT
+ _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 349 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsC1EP15QGraphicsObjectP7QObject @ 350 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsC1EP7QObject @ 351 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsC2EP15QGraphicsObjectP7QObject @ 352 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsC2EP7QObject @ 353 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsD0Ev @ 354 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsD1Ev @ 355 NONAME ABSENT
+ _ZN19QDeclarativeAnchorsD2Ev @ 356 NONAME ABSENT
+ _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 357 NONAME ABSENT
+ _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 358 NONAME ABSENT
+ _ZN19QDeclarativeBinding11qt_metacastEPKc @ 359 NONAME ABSENT
+ _ZN19QDeclarativeBinding13propertyIndexEv @ 360 NONAME ABSENT
+ _ZN19QDeclarativeBinding16staticMetaObjectE @ 361 NONAME DATA 16 ABSENT
+ _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 362 NONAME ABSENT
+ _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 363 NONAME ABSENT
+ _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 364 NONAME ABSENT
+ _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 365 NONAME ABSENT
+ _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 366 NONAME ABSENT
+ _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 367 NONAME ABSENT
+ _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 368 NONAME ABSENT
+ _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 369 NONAME ABSENT
+ _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 370 NONAME ABSENT
+ _ZN19QDeclarativeBindingD0Ev @ 371 NONAME ABSENT
+ _ZN19QDeclarativeBindingD1Ev @ 372 NONAME ABSENT
+ _ZN19QDeclarativeBindingD2Ev @ 373 NONAME ABSENT
_ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 374 NONAME
_ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 375 NONAME
_ZN19QDeclarativeContext11qt_metacastEPKc @ 376 NONAME
@@ -392,70 +392,70 @@ EXPORTS
_ZN19QDeclarativeContextD0Ev @ 391 NONAME
_ZN19QDeclarativeContextD1Ev @ 392 NONAME
_ZN19QDeclarativeContextD2Ev @ 393 NONAME
- _ZN19QDeclarativeDomListC1ERKS_ @ 394 NONAME
- _ZN19QDeclarativeDomListC1Ev @ 395 NONAME
- _ZN19QDeclarativeDomListC2ERKS_ @ 396 NONAME
- _ZN19QDeclarativeDomListC2Ev @ 397 NONAME
- _ZN19QDeclarativeDomListD1Ev @ 398 NONAME
- _ZN19QDeclarativeDomListD2Ev @ 399 NONAME
- _ZN19QDeclarativeDomListaSERKS_ @ 400 NONAME
+ _ZN19QDeclarativeDomListC1ERKS_ @ 394 NONAME ABSENT
+ _ZN19QDeclarativeDomListC1Ev @ 395 NONAME ABSENT
+ _ZN19QDeclarativeDomListC2ERKS_ @ 396 NONAME ABSENT
+ _ZN19QDeclarativeDomListC2Ev @ 397 NONAME ABSENT
+ _ZN19QDeclarativeDomListD1Ev @ 398 NONAME ABSENT
+ _ZN19QDeclarativeDomListD2Ev @ 399 NONAME ABSENT
+ _ZN19QDeclarativeDomListaSERKS_ @ 400 NONAME ABSENT
_ZN19QDeclarativePrivate11qmlregisterENS_16RegistrationTypeEPv @ 401 NONAME
_ZN19QDeclarativePrivate30qdeclarativeelement_destructorEP7QObject @ 402 NONAME
- _ZN19QListModelInterface10itemsMovedEiii @ 403 NONAME
- _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 404 NONAME
- _ZN19QListModelInterface11qt_metacastEPKc @ 405 NONAME
- _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 406 NONAME
- _ZN19QListModelInterface12itemsRemovedEii @ 407 NONAME
- _ZN19QListModelInterface13itemsInsertedEii @ 408 NONAME
- _ZN19QListModelInterface16staticMetaObjectE @ 409 NONAME DATA 16
- _ZN19QListModelInterface19getStaticMetaObjectEv @ 410 NONAME
- _ZN20QDeclarativeBehavior10setEnabledEb @ 411 NONAME
- _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 412 NONAME
- _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 413 NONAME
- _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 414 NONAME
- _ZN20QDeclarativeBehavior14enabledChangedEv @ 415 NONAME
- _ZN20QDeclarativeBehavior16staticMetaObjectE @ 416 NONAME DATA 16
- _ZN20QDeclarativeBehavior18componentFinalizedEv @ 417 NONAME
- _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 418 NONAME
- _ZN20QDeclarativeBehavior23qtAnimationStateChangedEN18QAbstractAnimation5StateES1_ @ 419 NONAME
- _ZN20QDeclarativeBehavior5writeERK8QVariant @ 420 NONAME
- _ZN20QDeclarativeBehavior9animationEv @ 421 NONAME
- _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 422 NONAME
- _ZN20QDeclarativeBehaviorC1EP7QObject @ 423 NONAME
- _ZN20QDeclarativeBehaviorC2EP7QObject @ 424 NONAME
- _ZN20QDeclarativeBehaviorD0Ev @ 425 NONAME
- _ZN20QDeclarativeBehaviorD1Ev @ 426 NONAME
- _ZN20QDeclarativeBehaviorD2Ev @ 427 NONAME
- _ZN20QDeclarativeDomValueC1ERKS_ @ 428 NONAME
- _ZN20QDeclarativeDomValueC1Ev @ 429 NONAME
- _ZN20QDeclarativeDomValueC2ERKS_ @ 430 NONAME
- _ZN20QDeclarativeDomValueC2Ev @ 431 NONAME
- _ZN20QDeclarativeDomValueD1Ev @ 432 NONAME
- _ZN20QDeclarativeDomValueD2Ev @ 433 NONAME
- _ZN20QDeclarativeDomValueaSERKS_ @ 434 NONAME
- _ZN20QDeclarativeMetaType11isInterfaceEi @ 435 NONAME
- _ZN20QDeclarativeMetaType12interfaceIIdEi @ 436 NONAME
- _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 437 NONAME
- _ZN20QDeclarativeMetaType12typeCategoryEi @ 438 NONAME
- _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 439 NONAME
- _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 440 NONAME
- _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 441 NONAME
- _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 442 NONAME
- _ZN20QDeclarativeMetaType15parentFunctionsEv @ 443 NONAME
- _ZN20QDeclarativeMetaType21customStringConverterEi @ 444 NONAME
- _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 445 NONAME
- _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 446 NONAME
- _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 447 NONAME
- _ZN20QDeclarativeMetaType4copyEiPvPKv @ 448 NONAME
- _ZN20QDeclarativeMetaType6isListEi @ 449 NONAME
- _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 450 NONAME
- _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 451 NONAME
- _ZN20QDeclarativeMetaType7qmlTypeEi @ 452 NONAME
- _ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 453 NONAME
- _ZN20QDeclarativeMetaType8listTypeEi @ 454 NONAME
- _ZN20QDeclarativeMetaType8qmlTypesEv @ 455 NONAME
- _ZN20QDeclarativeMetaType9isQObjectEi @ 456 NONAME
- _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 457 NONAME
+ _ZN19QListModelInterface10itemsMovedEiii @ 403 NONAME ABSENT
+ _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 404 NONAME ABSENT
+ _ZN19QListModelInterface11qt_metacastEPKc @ 405 NONAME ABSENT
+ _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 406 NONAME ABSENT
+ _ZN19QListModelInterface12itemsRemovedEii @ 407 NONAME ABSENT
+ _ZN19QListModelInterface13itemsInsertedEii @ 408 NONAME ABSENT
+ _ZN19QListModelInterface16staticMetaObjectE @ 409 NONAME DATA 16 ABSENT
+ _ZN19QListModelInterface19getStaticMetaObjectEv @ 410 NONAME ABSENT
+ _ZN20QDeclarativeBehavior10setEnabledEb @ 411 NONAME ABSENT
+ _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 412 NONAME ABSENT
+ _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 413 NONAME ABSENT
+ _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 414 NONAME ABSENT
+ _ZN20QDeclarativeBehavior14enabledChangedEv @ 415 NONAME ABSENT
+ _ZN20QDeclarativeBehavior16staticMetaObjectE @ 416 NONAME DATA 16 ABSENT
+ _ZN20QDeclarativeBehavior18componentFinalizedEv @ 417 NONAME ABSENT
+ _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 418 NONAME ABSENT
+ _ZN20QDeclarativeBehavior23qtAnimationStateChangedEN18QAbstractAnimation5StateES1_ @ 419 NONAME ABSENT
+ _ZN20QDeclarativeBehavior5writeERK8QVariant @ 420 NONAME ABSENT
+ _ZN20QDeclarativeBehavior9animationEv @ 421 NONAME ABSENT
+ _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 422 NONAME ABSENT
+ _ZN20QDeclarativeBehaviorC1EP7QObject @ 423 NONAME ABSENT
+ _ZN20QDeclarativeBehaviorC2EP7QObject @ 424 NONAME ABSENT
+ _ZN20QDeclarativeBehaviorD0Ev @ 425 NONAME ABSENT
+ _ZN20QDeclarativeBehaviorD1Ev @ 426 NONAME ABSENT
+ _ZN20QDeclarativeBehaviorD2Ev @ 427 NONAME ABSENT
+ _ZN20QDeclarativeDomValueC1ERKS_ @ 428 NONAME ABSENT
+ _ZN20QDeclarativeDomValueC1Ev @ 429 NONAME ABSENT
+ _ZN20QDeclarativeDomValueC2ERKS_ @ 430 NONAME ABSENT
+ _ZN20QDeclarativeDomValueC2Ev @ 431 NONAME ABSENT
+ _ZN20QDeclarativeDomValueD1Ev @ 432 NONAME ABSENT
+ _ZN20QDeclarativeDomValueD2Ev @ 433 NONAME ABSENT
+ _ZN20QDeclarativeDomValueaSERKS_ @ 434 NONAME ABSENT
+ _ZN20QDeclarativeMetaType11isInterfaceEi @ 435 NONAME ABSENT
+ _ZN20QDeclarativeMetaType12interfaceIIdEi @ 436 NONAME ABSENT
+ _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 437 NONAME ABSENT
+ _ZN20QDeclarativeMetaType12typeCategoryEi @ 438 NONAME ABSENT
+ _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 439 NONAME ABSENT
+ _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 440 NONAME ABSENT
+ _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 441 NONAME ABSENT
+ _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 442 NONAME ABSENT
+ _ZN20QDeclarativeMetaType15parentFunctionsEv @ 443 NONAME ABSENT
+ _ZN20QDeclarativeMetaType21customStringConverterEi @ 444 NONAME ABSENT
+ _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 445 NONAME ABSENT
+ _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 446 NONAME ABSENT
+ _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 447 NONAME ABSENT
+ _ZN20QDeclarativeMetaType4copyEiPvPKv @ 448 NONAME ABSENT
+ _ZN20QDeclarativeMetaType6isListEi @ 449 NONAME ABSENT
+ _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 450 NONAME ABSENT
+ _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 451 NONAME ABSENT
+ _ZN20QDeclarativeMetaType7qmlTypeEi @ 452 NONAME ABSENT
+ _ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 453 NONAME ABSENT
+ _ZN20QDeclarativeMetaType8listTypeEi @ 454 NONAME ABSENT
+ _ZN20QDeclarativeMetaType8qmlTypesEv @ 455 NONAME ABSENT
+ _ZN20QDeclarativeMetaType9isQObjectEi @ 456 NONAME ABSENT
+ _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 457 NONAME ABSENT
_ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 458 NONAME
_ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 459 NONAME
_ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 460 NONAME
@@ -481,19 +481,19 @@ EXPORTS
_ZN20QDeclarativePropertyD1Ev @ 480 NONAME
_ZN20QDeclarativePropertyD2Ev @ 481 NONAME
_ZN20QDeclarativePropertyaSERKS_ @ 482 NONAME
- _ZN20QMetaPropertyBuilder10setDynamicEb @ 483 NONAME
- _ZN20QMetaPropertyBuilder11setEditableEb @ 484 NONAME
- _ZN20QMetaPropertyBuilder11setReadableEb @ 485 NONAME
- _ZN20QMetaPropertyBuilder11setWritableEb @ 486 NONAME
- _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 487 NONAME
- _ZN20QMetaPropertyBuilder13setDesignableEb @ 488 NONAME
- _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 489 NONAME
- _ZN20QMetaPropertyBuilder13setResettableEb @ 490 NONAME
- _ZN20QMetaPropertyBuilder13setScriptableEb @ 491 NONAME
- _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 492 NONAME
- _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 493 NONAME
- _ZN20QMetaPropertyBuilder7setUserEb @ 494 NONAME
- _ZN20QMetaPropertyBuilder9setStoredEb @ 495 NONAME
+ _ZN20QMetaPropertyBuilder10setDynamicEb @ 483 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder11setEditableEb @ 484 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder11setReadableEb @ 485 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder11setWritableEb @ 486 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 487 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder13setDesignableEb @ 488 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 489 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder13setResettableEb @ 490 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder13setScriptableEb @ 491 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 492 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 493 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder7setUserEb @ 494 NONAME ABSENT
+ _ZN20QMetaPropertyBuilder9setStoredEb @ 495 NONAME ABSENT
_ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 496 NONAME
_ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 497 NONAME
_ZN21QDeclarativeComponent11qt_metacastEPKc @ 498 NONAME
@@ -522,98 +522,98 @@ EXPORTS
_ZN21QDeclarativeComponentD0Ev @ 521 NONAME
_ZN21QDeclarativeComponentD1Ev @ 522 NONAME
_ZN21QDeclarativeComponentD2Ev @ 523 NONAME
- _ZN21QDeclarativeDomImportC1ERKS_ @ 524 NONAME
- _ZN21QDeclarativeDomImportC1Ev @ 525 NONAME
- _ZN21QDeclarativeDomImportC2ERKS_ @ 526 NONAME
- _ZN21QDeclarativeDomImportC2Ev @ 527 NONAME
- _ZN21QDeclarativeDomImportD1Ev @ 528 NONAME
- _ZN21QDeclarativeDomImportD2Ev @ 529 NONAME
- _ZN21QDeclarativeDomImportaSERKS_ @ 530 NONAME
- _ZN21QDeclarativeDomObjectC1ERKS_ @ 531 NONAME
- _ZN21QDeclarativeDomObjectC1Ev @ 532 NONAME
- _ZN21QDeclarativeDomObjectC2ERKS_ @ 533 NONAME
- _ZN21QDeclarativeDomObjectC2Ev @ 534 NONAME
- _ZN21QDeclarativeDomObjectD1Ev @ 535 NONAME
- _ZN21QDeclarativeDomObjectD2Ev @ 536 NONAME
- _ZN21QDeclarativeDomObjectaSERKS_ @ 537 NONAME
- _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 538 NONAME
- _ZN21QDeclarativeListModel11qt_metacastEPKc @ 539 NONAME
- _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 540 NONAME
- _ZN21QDeclarativeListModel12countChangedEv @ 541 NONAME
- _ZN21QDeclarativeListModel16staticMetaObjectE @ 542 NONAME DATA 16
- _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 543 NONAME
- _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 544 NONAME
- _ZN21QDeclarativeListModel4moveEiii @ 545 NONAME
- _ZN21QDeclarativeListModel4syncEv @ 546 NONAME
- _ZN21QDeclarativeListModel5agentEv @ 547 NONAME
- _ZN21QDeclarativeListModel5clearEv @ 548 NONAME
- _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 549 NONAME
- _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 550 NONAME
- _ZN21QDeclarativeListModel6removeEi @ 551 NONAME
- _ZN21QDeclarativeListModel7flattenEv @ 552 NONAME
- _ZN21QDeclarativeListModelC1EP7QObject @ 553 NONAME
+ _ZN21QDeclarativeDomImportC1ERKS_ @ 524 NONAME ABSENT
+ _ZN21QDeclarativeDomImportC1Ev @ 525 NONAME ABSENT
+ _ZN21QDeclarativeDomImportC2ERKS_ @ 526 NONAME ABSENT
+ _ZN21QDeclarativeDomImportC2Ev @ 527 NONAME ABSENT
+ _ZN21QDeclarativeDomImportD1Ev @ 528 NONAME ABSENT
+ _ZN21QDeclarativeDomImportD2Ev @ 529 NONAME ABSENT
+ _ZN21QDeclarativeDomImportaSERKS_ @ 530 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectC1ERKS_ @ 531 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectC1Ev @ 532 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectC2ERKS_ @ 533 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectC2Ev @ 534 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectD1Ev @ 535 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectD2Ev @ 536 NONAME ABSENT
+ _ZN21QDeclarativeDomObjectaSERKS_ @ 537 NONAME ABSENT
+ _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 538 NONAME ABSENT
+ _ZN21QDeclarativeListModel11qt_metacastEPKc @ 539 NONAME ABSENT
+ _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 540 NONAME ABSENT
+ _ZN21QDeclarativeListModel12countChangedEv @ 541 NONAME ABSENT
+ _ZN21QDeclarativeListModel16staticMetaObjectE @ 542 NONAME DATA 16 ABSENT
+ _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 543 NONAME ABSENT
+ _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 544 NONAME ABSENT
+ _ZN21QDeclarativeListModel4moveEiii @ 545 NONAME ABSENT
+ _ZN21QDeclarativeListModel4syncEv @ 546 NONAME ABSENT
+ _ZN21QDeclarativeListModel5agentEv @ 547 NONAME ABSENT
+ _ZN21QDeclarativeListModel5clearEv @ 548 NONAME ABSENT
+ _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 549 NONAME ABSENT
+ _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 550 NONAME ABSENT
+ _ZN21QDeclarativeListModel6removeEi @ 551 NONAME ABSENT
+ _ZN21QDeclarativeListModel7flattenEv @ 552 NONAME ABSENT
+ _ZN21QDeclarativeListModelC1EP7QObject @ 553 NONAME ABSENT
_ZN21QDeclarativeListModelC1EbP7QObject @ 554 NONAME ABSENT
- _ZN21QDeclarativeListModelC2EP7QObject @ 555 NONAME
+ _ZN21QDeclarativeListModelC2EP7QObject @ 555 NONAME ABSENT
_ZN21QDeclarativeListModelC2EbP7QObject @ 556 NONAME ABSENT
- _ZN21QDeclarativeListModelD0Ev @ 557 NONAME
- _ZN21QDeclarativeListModelD1Ev @ 558 NONAME
- _ZN21QDeclarativeListModelD2Ev @ 559 NONAME
- _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 560 NONAME
- _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 561 NONAME
- _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 562 NONAME
- _ZN21QDeclarativeRectangle12colorChangedEv @ 563 NONAME
- _ZN21QDeclarativeRectangle13radiusChangedEv @ 564 NONAME
- _ZN21QDeclarativeRectangle16staticMetaObjectE @ 565 NONAME DATA 16
- _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 566 NONAME
- _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 567 NONAME
- _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 568 NONAME
- _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 569 NONAME
- _ZN21QDeclarativeRectangle6borderEv @ 570 NONAME
- _ZN21QDeclarativeRectangle8doUpdateEv @ 571 NONAME
- _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 572 NONAME
- _ZN21QDeclarativeRectangle8setColorERK6QColor @ 573 NONAME
- _ZN21QDeclarativeRectangle9setRadiusEf @ 574 NONAME
- _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 575 NONAME
- _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 576 NONAME
- _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 577 NONAME
- _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 578 NONAME
- _ZN21QDeclarativeScaleGrid13borderChangedEv @ 579 NONAME
- _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 580 NONAME DATA 16
- _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 581 NONAME
- _ZN21QDeclarativeScaleGrid6setTopEi @ 582 NONAME
- _ZN21QDeclarativeScaleGrid7setLeftEi @ 583 NONAME
- _ZN21QDeclarativeScaleGrid8setRightEi @ 584 NONAME
- _ZN21QDeclarativeScaleGrid9setBottomEi @ 585 NONAME
- _ZN21QDeclarativeScaleGridC1EP7QObject @ 586 NONAME
- _ZN21QDeclarativeScaleGridC2EP7QObject @ 587 NONAME
- _ZN21QDeclarativeScaleGridD0Ev @ 588 NONAME
- _ZN21QDeclarativeScaleGridD1Ev @ 589 NONAME
- _ZN21QDeclarativeScaleGridD2Ev @ 590 NONAME
- _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 591 NONAME
- _ZN21QDeclarativeValueType11qt_metacastEPKc @ 592 NONAME
- _ZN21QDeclarativeValueType16staticMetaObjectE @ 593 NONAME DATA 16
- _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 594 NONAME
- _ZN21QDeclarativeValueTypeC2EP7QObject @ 595 NONAME
- _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 596 NONAME
- _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 597 NONAME
- _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 598 NONAME
- _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 599 NONAME DATA 16
- _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 600 NONAME
- _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 601 NONAME
- _ZN22QDeclarativeDebugQueryC1EP7QObject @ 602 NONAME
- _ZN22QDeclarativeDebugQueryC2EP7QObject @ 603 NONAME
- _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 604 NONAME
- _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 605 NONAME
- _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 606 NONAME
- _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 607 NONAME
- _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 608 NONAME DATA 16
- _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 609 NONAME
- _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 610 NONAME
- _ZN22QDeclarativeDebugWatchC1EP7QObject @ 611 NONAME
- _ZN22QDeclarativeDebugWatchC2EP7QObject @ 612 NONAME
- _ZN22QDeclarativeDebugWatchD0Ev @ 613 NONAME
- _ZN22QDeclarativeDebugWatchD1Ev @ 614 NONAME
- _ZN22QDeclarativeDebugWatchD2Ev @ 615 NONAME
+ _ZN21QDeclarativeListModelD0Ev @ 557 NONAME ABSENT
+ _ZN21QDeclarativeListModelD1Ev @ 558 NONAME ABSENT
+ _ZN21QDeclarativeListModelD2Ev @ 559 NONAME ABSENT
+ _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 560 NONAME ABSENT
+ _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 561 NONAME ABSENT
+ _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 562 NONAME ABSENT
+ _ZN21QDeclarativeRectangle12colorChangedEv @ 563 NONAME ABSENT
+ _ZN21QDeclarativeRectangle13radiusChangedEv @ 564 NONAME ABSENT
+ _ZN21QDeclarativeRectangle16staticMetaObjectE @ 565 NONAME DATA 16 ABSENT
+ _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 566 NONAME ABSENT
+ _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 567 NONAME ABSENT
+ _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 568 NONAME ABSENT
+ _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 569 NONAME ABSENT
+ _ZN21QDeclarativeRectangle6borderEv @ 570 NONAME ABSENT
+ _ZN21QDeclarativeRectangle8doUpdateEv @ 571 NONAME ABSENT
+ _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 572 NONAME ABSENT
+ _ZN21QDeclarativeRectangle8setColorERK6QColor @ 573 NONAME ABSENT
+ _ZN21QDeclarativeRectangle9setRadiusEf @ 574 NONAME ABSENT
+ _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 575 NONAME ABSENT
+ _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 576 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 577 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 578 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid13borderChangedEv @ 579 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 580 NONAME DATA 16 ABSENT
+ _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 581 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid6setTopEi @ 582 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid7setLeftEi @ 583 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid8setRightEi @ 584 NONAME ABSENT
+ _ZN21QDeclarativeScaleGrid9setBottomEi @ 585 NONAME ABSENT
+ _ZN21QDeclarativeScaleGridC1EP7QObject @ 586 NONAME ABSENT
+ _ZN21QDeclarativeScaleGridC2EP7QObject @ 587 NONAME ABSENT
+ _ZN21QDeclarativeScaleGridD0Ev @ 588 NONAME ABSENT
+ _ZN21QDeclarativeScaleGridD1Ev @ 589 NONAME ABSENT
+ _ZN21QDeclarativeScaleGridD2Ev @ 590 NONAME ABSENT
+ _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 591 NONAME ABSENT
+ _ZN21QDeclarativeValueType11qt_metacastEPKc @ 592 NONAME ABSENT
+ _ZN21QDeclarativeValueType16staticMetaObjectE @ 593 NONAME DATA 16 ABSENT
+ _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 594 NONAME ABSENT
+ _ZN21QDeclarativeValueTypeC2EP7QObject @ 595 NONAME ABSENT
+ _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 596 NONAME ABSENT
+ _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 597 NONAME ABSENT
+ _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 598 NONAME ABSENT
+ _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 599 NONAME DATA 16 ABSENT
+ _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 600 NONAME ABSENT
+ _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 601 NONAME ABSENT
+ _ZN22QDeclarativeDebugQueryC1EP7QObject @ 602 NONAME ABSENT
+ _ZN22QDeclarativeDebugQueryC2EP7QObject @ 603 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 604 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 605 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 606 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 607 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 608 NONAME DATA 16 ABSENT
+ _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 609 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 610 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatchC1EP7QObject @ 611 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatchC2EP7QObject @ 612 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatchD0Ev @ 613 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatchD1Ev @ 614 NONAME ABSENT
+ _ZN22QDeclarativeDebugWatchD2Ev @ 615 NONAME ABSENT
_ZN22QDeclarativeExpression10clearErrorEv @ 616 NONAME
_ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 617 NONAME
_ZN22QDeclarativeExpression11qt_metacastEPKc @ 618 NONAME
@@ -674,49 +674,49 @@ EXPORTS
_ZN22QDeclarativeTransitionD1Ev @ 673 NONAME
_ZN22QDeclarativeTransitionD2Ev @ 674 NONAME
_ZN23QDeclarativeDebugClient10setEnabledEb @ 675 NONAME ABSENT
- _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 676 NONAME
- _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 677 NONAME
- _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 678 NONAME
- _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 679 NONAME
- _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 680 NONAME DATA 16
- _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 681 NONAME
- _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 682 NONAME
- _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 683 NONAME
- _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 684 NONAME
- _ZN23QDeclarativeDomDocumentC1ERKS_ @ 685 NONAME
- _ZN23QDeclarativeDomDocumentC1Ev @ 686 NONAME
- _ZN23QDeclarativeDomDocumentC2ERKS_ @ 687 NONAME
- _ZN23QDeclarativeDomDocumentC2Ev @ 688 NONAME
- _ZN23QDeclarativeDomDocumentD1Ev @ 689 NONAME
- _ZN23QDeclarativeDomDocumentD2Ev @ 690 NONAME
- _ZN23QDeclarativeDomDocumentaSERKS_ @ 691 NONAME
- _ZN23QDeclarativeDomPropertyC1ERKS_ @ 692 NONAME
- _ZN23QDeclarativeDomPropertyC1Ev @ 693 NONAME
- _ZN23QDeclarativeDomPropertyC2ERKS_ @ 694 NONAME
- _ZN23QDeclarativeDomPropertyC2Ev @ 695 NONAME
- _ZN23QDeclarativeDomPropertyD1Ev @ 696 NONAME
- _ZN23QDeclarativeDomPropertyD2Ev @ 697 NONAME
- _ZN23QDeclarativeDomPropertyaSERKS_ @ 698 NONAME
- _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 699 NONAME
- _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 700 NONAME
- _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 701 NONAME
- _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 702 NONAME
- _ZN23QDeclarativeEngineDebug13setMethodBodyEiRK7QStringS2_ @ 703 NONAME
- _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 704 NONAME DATA 16
- _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 705 NONAME
- _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 706 NONAME
- _ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantb @ 707 NONAME
- _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 708 NONAME
- _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 709 NONAME
- _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 710 NONAME
- _ZN23QDeclarativeEngineDebug21resetBindingForObjectEiRK7QString @ 711 NONAME
- _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 712 NONAME
- _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 713 NONAME
- _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 714 NONAME
- _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 715 NONAME
- _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 716 NONAME
- _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 717 NONAME
- _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 718 NONAME
+ _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 676 NONAME ABSENT
+ _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 677 NONAME ABSENT
+ _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 678 NONAME ABSENT
+ _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 679 NONAME ABSENT
+ _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 680 NONAME DATA 16 ABSENT
+ _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 681 NONAME ABSENT
+ _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 682 NONAME ABSENT
+ _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 683 NONAME ABSENT
+ _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 684 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentC1ERKS_ @ 685 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentC1Ev @ 686 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentC2ERKS_ @ 687 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentC2Ev @ 688 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentD1Ev @ 689 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentD2Ev @ 690 NONAME ABSENT
+ _ZN23QDeclarativeDomDocumentaSERKS_ @ 691 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyC1ERKS_ @ 692 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyC1Ev @ 693 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyC2ERKS_ @ 694 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyC2Ev @ 695 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyD1Ev @ 696 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyD2Ev @ 697 NONAME ABSENT
+ _ZN23QDeclarativeDomPropertyaSERKS_ @ 698 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 699 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 700 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 701 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 702 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug13setMethodBodyEiRK7QStringS2_ @ 703 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 704 NONAME DATA 16 ABSENT
+ _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 705 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 706 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug19setBindingForObjectEiRK7QStringRK8QVariantb @ 707 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 708 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 709 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 710 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug21resetBindingForObjectEiRK7QString @ 711 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 712 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 713 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 714 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 715 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 716 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 717 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 718 NONAME ABSENT
_ZN23QDeclarativeItemPrivate10resetWidthEv @ 719 NONAME
_ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 720 NONAME
_ZN23QDeclarativeItemPrivate11resetHeightEv @ 721 NONAME
@@ -761,27 +761,27 @@ EXPORTS
_ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 760 NONAME
_ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 761 NONAME
_ZN24QDeclarativeCustomParser5errorERK7QString @ 762 NONAME
- _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 763 NONAME
- _ZN24QDeclarativeDebugService11objectForIdEi @ 764 NONAME
- _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 765 NONAME
- _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 766 NONAME
- _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 767 NONAME
+ _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 763 NONAME ABSENT
+ _ZN24QDeclarativeDebugService11objectForIdEi @ 764 NONAME ABSENT
+ _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 765 NONAME ABSENT
+ _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 766 NONAME ABSENT
+ _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 767 NONAME ABSENT
_ZN24QDeclarativeDebugService14enabledChangedEb @ 768 NONAME ABSENT
- _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 769 NONAME
- _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 770 NONAME
- _ZN24QDeclarativeDebugService16staticMetaObjectE @ 771 NONAME DATA 16
- _ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 772 NONAME
- _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 773 NONAME
- _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 774 NONAME
- _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 775 NONAME
- _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 776 NONAME
- _ZN24QDeclarativeDomComponentC1ERKS_ @ 777 NONAME
- _ZN24QDeclarativeDomComponentC1Ev @ 778 NONAME
- _ZN24QDeclarativeDomComponentC2ERKS_ @ 779 NONAME
- _ZN24QDeclarativeDomComponentC2Ev @ 780 NONAME
- _ZN24QDeclarativeDomComponentD1Ev @ 781 NONAME
- _ZN24QDeclarativeDomComponentD2Ev @ 782 NONAME
- _ZN24QDeclarativeDomComponentaSERKS_ @ 783 NONAME
+ _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 769 NONAME ABSENT
+ _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 770 NONAME ABSENT
+ _ZN24QDeclarativeDebugService16staticMetaObjectE @ 771 NONAME DATA 16 ABSENT
+ _ZN24QDeclarativeDebugService18hasDebuggingClientEv @ 772 NONAME ABSENT
+ _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 773 NONAME ABSENT
+ _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 774 NONAME ABSENT
+ _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 775 NONAME ABSENT
+ _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 776 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentC1ERKS_ @ 777 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentC1Ev @ 778 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentC2ERKS_ @ 779 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentC2Ev @ 780 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentD1Ev @ 781 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentD2Ev @ 782 NONAME ABSENT
+ _ZN24QDeclarativeDomComponentaSERKS_ @ 783 NONAME ABSENT
_ZN24QDeclarativeParserStatusC2Ev @ 784 NONAME
_ZN24QDeclarativeParserStatusD0Ev @ 785 NONAME
_ZN24QDeclarativeParserStatusD1Ev @ 786 NONAME
@@ -812,29 +812,29 @@ EXPORTS
_ZN25QDeclarativeListReferenceD1Ev @ 811 NONAME
_ZN25QDeclarativeListReferenceD2Ev @ 812 NONAME
_ZN25QDeclarativeListReferenceaSERKS_ @ 813 NONAME
- _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 814 NONAME
- _ZN26QDeclarativeDebuggerStatusD0Ev @ 815 NONAME
- _ZN26QDeclarativeDebuggerStatusD1Ev @ 816 NONAME
- _ZN26QDeclarativeDebuggerStatusD2Ev @ 817 NONAME
- _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 818 NONAME
- _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 819 NONAME
- _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 820 NONAME
- _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 821 NONAME
- _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 822 NONAME
- _ZN26QDeclarativeOpenMetaObject15propertyWrittenEi @ 823 NONAME
- _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 824 NONAME
- _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 825 NONAME
- _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 826 NONAME
- _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 827 NONAME
- _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 828 NONAME
- _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 829 NONAME
- _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 830 NONAME
- _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 831 NONAME
- _ZN26QDeclarativeOpenMetaObjectD0Ev @ 832 NONAME
- _ZN26QDeclarativeOpenMetaObjectD1Ev @ 833 NONAME
- _ZN26QDeclarativeOpenMetaObjectD2Ev @ 834 NONAME
- _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 835 NONAME
- _ZN26QDeclarativeOpenMetaObjectixEi @ 836 NONAME
+ _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 814 NONAME ABSENT
+ _ZN26QDeclarativeDebuggerStatusD0Ev @ 815 NONAME ABSENT
+ _ZN26QDeclarativeDebuggerStatusD1Ev @ 816 NONAME ABSENT
+ _ZN26QDeclarativeDebuggerStatusD2Ev @ 817 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 818 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 819 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 820 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 821 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 822 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject15propertyWrittenEi @ 823 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 824 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 825 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 826 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 827 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 828 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 829 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 830 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 831 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectD0Ev @ 832 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectD1Ev @ 833 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectD2Ev @ 834 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 835 NONAME ABSENT
+ _ZN26QDeclarativeOpenMetaObjectixEi @ 836 NONAME ABSENT
_ZN26QDeclarativeStateOperation11qt_metacallEN11QMetaObject4CallEiPPv @ 837 NONAME
_ZN26QDeclarativeStateOperation11qt_metacastEPKc @ 838 NONAME
_ZN26QDeclarativeStateOperation16staticMetaObjectE @ 839 NONAME DATA 16
@@ -842,35 +842,35 @@ EXPORTS
_ZN26QDeclarativeStateOperation7actionsEv @ 841 NONAME
_ZN26QDeclarativeStateOperationC1ER14QObjectPrivateP7QObject @ 842 NONAME
_ZN26QDeclarativeStateOperationC2ER14QObjectPrivateP7QObject @ 843 NONAME
- _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 844 NONAME
- _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 845 NONAME
- _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 846 NONAME
- _ZN27QDeclarativeAbstractBinding5clearEv @ 847 NONAME
- _ZN27QDeclarativeAbstractBinding7destroyEv @ 848 NONAME
- _ZN27QDeclarativeAbstractBindingC2Ev @ 849 NONAME
- _ZN27QDeclarativeAbstractBindingD0Ev @ 850 NONAME
- _ZN27QDeclarativeAbstractBindingD1Ev @ 851 NONAME
- _ZN27QDeclarativeAbstractBindingD2Ev @ 852 NONAME
- _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 853 NONAME
- _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 854 NONAME
- _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 855 NONAME DATA 16
- _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 856 NONAME
- _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 857 NONAME
- _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 858 NONAME
- _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 859 NONAME
- _ZN27QDeclarativeDomValueBindingC1Ev @ 860 NONAME
- _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 861 NONAME
- _ZN27QDeclarativeDomValueBindingC2Ev @ 862 NONAME
- _ZN27QDeclarativeDomValueBindingD1Ev @ 863 NONAME
- _ZN27QDeclarativeDomValueBindingD2Ev @ 864 NONAME
- _ZN27QDeclarativeDomValueBindingaSERKS_ @ 865 NONAME
- _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 866 NONAME
- _ZN27QDeclarativeDomValueLiteralC1Ev @ 867 NONAME
- _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 868 NONAME
- _ZN27QDeclarativeDomValueLiteralC2Ev @ 869 NONAME
- _ZN27QDeclarativeDomValueLiteralD1Ev @ 870 NONAME
- _ZN27QDeclarativeDomValueLiteralD2Ev @ 871 NONAME
- _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 872 NONAME
+ _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 844 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 845 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 846 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBinding5clearEv @ 847 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBinding7destroyEv @ 848 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBindingC2Ev @ 849 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBindingD0Ev @ 850 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBindingD1Ev @ 851 NONAME ABSENT
+ _ZN27QDeclarativeAbstractBindingD2Ev @ 852 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 853 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 854 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 855 NONAME DATA 16 ABSENT
+ _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 856 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 857 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 858 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 859 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingC1Ev @ 860 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 861 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingC2Ev @ 862 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingD1Ev @ 863 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingD2Ev @ 864 NONAME ABSENT
+ _ZN27QDeclarativeDomValueBindingaSERKS_ @ 865 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 866 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralC1Ev @ 867 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 868 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralC2Ev @ 869 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralD1Ev @ 870 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralD2Ev @ 871 NONAME ABSENT
+ _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 872 NONAME ABSENT
_ZN27QDeclarativeExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 873 NONAME
_ZN27QDeclarativeExtensionPlugin11qt_metacastEPKc @ 874 NONAME
_ZN27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 875 NONAME
@@ -880,35 +880,35 @@ EXPORTS
_ZN27QDeclarativeExtensionPluginD0Ev @ 879 NONAME
_ZN27QDeclarativeExtensionPluginD1Ev @ 880 NONAME
_ZN27QDeclarativeExtensionPluginD2Ev @ 881 NONAME
- _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 882 NONAME
- _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 883 NONAME
- _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 884 NONAME
- _ZN27QDeclarativeGridScaledImageC1Ev @ 885 NONAME
- _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 886 NONAME
- _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 887 NONAME
- _ZN27QDeclarativeGridScaledImageC2Ev @ 888 NONAME
- _ZN27QDeclarativeGridScaledImageaSERKS_ @ 889 NONAME
- _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 890 NONAME
- _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectiiP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 891 NONAME
- _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 892 NONAME
- _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 893 NONAME
- _ZN27QDeclarativePropertyPrivate12bindingIndexERK20QDeclarativeProperty @ 894 NONAME
- _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 895 NONAME
- _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 896 NONAME
- _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 897 NONAME
- _ZN27QDeclarativePropertyPrivate16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 898 NONAME
- _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 899 NONAME
- _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 900 NONAME
- _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 901 NONAME
- _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 902 NONAME
- _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 903 NONAME
- _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 904 NONAME
- _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 905 NONAME
- _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 906 NONAME
- _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP23QDeclarativeContextData6QFlagsINS_9WriteFlagEE @ 907 NONAME
- _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 908 NONAME
- _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 909 NONAME
- _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP23QDeclarativeContextData @ 910 NONAME
+ _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 882 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 883 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 884 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageC1Ev @ 885 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 886 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 887 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageC2Ev @ 888 NONAME ABSENT
+ _ZN27QDeclarativeGridScaledImageaSERKS_ @ 889 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 890 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectiiP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 891 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 892 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 893 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate12bindingIndexERK20QDeclarativeProperty @ 894 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 895 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 896 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 897 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 898 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 899 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 900 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 901 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 902 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 903 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 904 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 905 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 906 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP23QDeclarativeContextData6QFlagsINS_9WriteFlagEE @ 907 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 908 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 909 NONAME ABSENT
+ _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP23QDeclarativeContextData @ 910 NONAME ABSENT
_ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 911 NONAME
_ZN28QDeclarativeCustomParserNodeC1Ev @ 912 NONAME
_ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 913 NONAME
@@ -916,76 +916,76 @@ EXPORTS
_ZN28QDeclarativeCustomParserNodeD1Ev @ 915 NONAME
_ZN28QDeclarativeCustomParserNodeD2Ev @ 916 NONAME
_ZN28QDeclarativeCustomParserNodeaSERKS_ @ 917 NONAME
- _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 918 NONAME
- _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 919 NONAME
- _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 920 NONAME DATA 16
- _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 921 NONAME
- _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 922 NONAME
- _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 923 NONAME
- _ZN28QDeclarativeDebugObjectQueryD0Ev @ 924 NONAME
- _ZN28QDeclarativeDebugObjectQueryD1Ev @ 925 NONAME
- _ZN28QDeclarativeDebugObjectQueryD2Ev @ 926 NONAME
- _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 927 NONAME
- _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 928 NONAME
- _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 929 NONAME
- _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 930 NONAME
- _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 931 NONAME
- _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 932 NONAME
- _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 933 NONAME
- _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 934 NONAME
- _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 935 NONAME
- _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 936 NONAME
- _ZN28QDeclarativeValueTypeFactory11isValueTypeEi @ 937 NONAME
- _ZN28QDeclarativeValueTypeFactory18registerValueTypesEv @ 938 NONAME
- _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 939 NONAME
- _ZN28QDeclarativeValueTypeFactoryC1Ev @ 940 NONAME
- _ZN28QDeclarativeValueTypeFactoryC2Ev @ 941 NONAME
- _ZN28QDeclarativeValueTypeFactoryD1Ev @ 942 NONAME
- _ZN28QDeclarativeValueTypeFactoryD2Ev @ 943 NONAME
- _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 944 NONAME
- _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 945 NONAME
- _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 946 NONAME DATA 16
- _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 947 NONAME
- _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 948 NONAME
- _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 949 NONAME
- _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 950 NONAME
- _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 951 NONAME
- _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 952 NONAME
- _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 953 NONAME
- _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 954 NONAME
- _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 955 NONAME
- _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 956 NONAME
- _ZN30QDeclarativeDebugFileReferenceC1Ev @ 957 NONAME
- _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 958 NONAME
- _ZN30QDeclarativeDebugFileReferenceC2Ev @ 959 NONAME
- _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 960 NONAME
- _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 961 NONAME
- _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 962 NONAME
- _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 963 NONAME DATA 16
- _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 964 NONAME
- _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 965 NONAME
- _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 966 NONAME
- _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 967 NONAME
- _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 968 NONAME
- _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 969 NONAME
- _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 970 NONAME
- _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 971 NONAME
- _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 972 NONAME
- _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 973 NONAME
- _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 974 NONAME
- _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 975 NONAME
- _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 976 NONAME
- _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 977 NONAME
- _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 978 NONAME
- _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 979 NONAME
- _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 980 NONAME
- _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 981 NONAME
- _ZN31QDeclarativeDomValueValueSourceC1Ev @ 982 NONAME
- _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 983 NONAME
- _ZN31QDeclarativeDomValueValueSourceC2Ev @ 984 NONAME
- _ZN31QDeclarativeDomValueValueSourceD1Ev @ 985 NONAME
- _ZN31QDeclarativeDomValueValueSourceD2Ev @ 986 NONAME
- _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 987 NONAME
+ _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 918 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 919 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 920 NONAME DATA 16 ABSENT
+ _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 921 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 922 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 923 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQueryD0Ev @ 924 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQueryD1Ev @ 925 NONAME ABSENT
+ _ZN28QDeclarativeDebugObjectQueryD2Ev @ 926 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 927 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 928 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 929 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 930 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 931 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 932 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 933 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 934 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 935 NONAME ABSENT
+ _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 936 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactory11isValueTypeEi @ 937 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactory18registerValueTypesEv @ 938 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 939 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactoryC1Ev @ 940 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactoryC2Ev @ 941 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactoryD1Ev @ 942 NONAME ABSENT
+ _ZN28QDeclarativeValueTypeFactoryD2Ev @ 943 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 944 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 945 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 946 NONAME DATA 16 ABSENT
+ _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 947 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 948 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 949 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 950 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 951 NONAME ABSENT
+ _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 952 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 953 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 954 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 955 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 956 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReferenceC1Ev @ 957 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 958 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReferenceC2Ev @ 959 NONAME ABSENT
+ _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 960 NONAME ABSENT
+ _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 961 NONAME ABSENT
+ _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 962 NONAME ABSENT
+ _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 963 NONAME DATA 16 ABSENT
+ _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 964 NONAME ABSENT
+ _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 965 NONAME ABSENT
+ _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 966 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 967 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 968 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 969 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 970 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 971 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 972 NONAME ABSENT
+ _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 973 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 974 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 975 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 976 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 977 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 978 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 979 NONAME ABSENT
+ _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 980 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 981 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceC1Ev @ 982 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 983 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceC2Ev @ 984 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceD1Ev @ 985 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceD2Ev @ 986 NONAME ABSENT
+ _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 987 NONAME ABSENT
_ZN31QDeclarativePropertyValueSourceC2Ev @ 988 NONAME
_ZN31QDeclarativePropertyValueSourceD0Ev @ 989 NONAME
_ZN31QDeclarativePropertyValueSourceD1Ev @ 990 NONAME
@@ -997,82 +997,82 @@ EXPORTS
_ZN32QDeclarativeCustomParserPropertyD1Ev @ 996 NONAME
_ZN32QDeclarativeCustomParserPropertyD2Ev @ 997 NONAME
_ZN32QDeclarativeCustomParserPropertyaSERKS_ @ 998 NONAME
- _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 999 NONAME
- _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 1000 NONAME
- _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 1001 NONAME
- _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 1002 NONAME
- _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 1003 NONAME
- _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 1004 NONAME
- _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 1005 NONAME
- _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1006 NONAME
- _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 1007 NONAME
- _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 1008 NONAME DATA 16
- _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 1009 NONAME
- _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 1010 NONAME
- _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 1011 NONAME
- _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 1012 NONAME
- _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 1013 NONAME
- _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 1014 NONAME
- _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 1015 NONAME
- _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 1016 NONAME
- _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 1017 NONAME
- _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 1018 NONAME
- _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 1019 NONAME
- _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 1020 NONAME
- _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 1021 NONAME
- _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 1022 NONAME
- _ZN33QDeclarativeDebugContextReferenceC1Ev @ 1023 NONAME
- _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 1024 NONAME
- _ZN33QDeclarativeDebugContextReferenceC2Ev @ 1025 NONAME
- _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 1026 NONAME
- _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1027 NONAME
- _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 1028 NONAME
- _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 1029 NONAME DATA 16
- _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 1030 NONAME
- _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 1031 NONAME
- _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 1032 NONAME
- _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 1033 NONAME
- _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 1034 NONAME
- _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 1035 NONAME
- _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 1036 NONAME
- _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 1037 NONAME
- _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 1038 NONAME
- _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 1039 NONAME
- _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 1040 NONAME
- _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 1041 NONAME
- _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 1042 NONAME
- _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 1043 NONAME
- _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 1044 NONAME
- _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 1045 NONAME
- _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 1046 NONAME
- _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 1047 NONAME
+ _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 999 NONAME ABSENT
+ _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 1000 NONAME ABSENT
+ _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 1001 NONAME ABSENT
+ _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 1002 NONAME ABSENT
+ _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 1003 NONAME ABSENT
+ _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 1004 NONAME ABSENT
+ _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 1005 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1006 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 1007 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 1008 NONAME DATA 16 ABSENT
+ _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 1009 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 1010 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 1011 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 1012 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 1013 NONAME ABSENT
+ _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 1014 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 1015 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 1016 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 1017 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 1018 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 1019 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 1020 NONAME ABSENT
+ _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 1021 NONAME ABSENT
+ _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 1022 NONAME ABSENT
+ _ZN33QDeclarativeDebugContextReferenceC1Ev @ 1023 NONAME ABSENT
+ _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 1024 NONAME ABSENT
+ _ZN33QDeclarativeDebugContextReferenceC2Ev @ 1025 NONAME ABSENT
+ _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 1026 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1027 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 1028 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 1029 NONAME DATA 16 ABSENT
+ _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 1030 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 1031 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 1032 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 1033 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 1034 NONAME ABSENT
+ _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 1035 NONAME ABSENT
+ _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 1036 NONAME ABSENT
+ _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 1037 NONAME ABSENT
+ _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 1038 NONAME ABSENT
+ _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 1039 NONAME ABSENT
+ _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 1040 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 1041 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 1042 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 1043 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 1044 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 1045 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 1046 NONAME ABSENT
+ _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 1047 NONAME ABSENT
_ZN36QDeclarativePropertyValueInterceptorC2Ev @ 1048 NONAME
_ZN36QDeclarativePropertyValueInterceptorD0Ev @ 1049 NONAME
_ZN36QDeclarativePropertyValueInterceptorD1Ev @ 1050 NONAME
_ZN36QDeclarativePropertyValueInterceptorD2Ev @ 1051 NONAME
- _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1052 NONAME
- _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 1053 NONAME
- _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 1054 NONAME DATA 16
- _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 1055 NONAME
- _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 1056 NONAME
- _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 1057 NONAME
+ _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1052 NONAME ABSENT
+ _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 1053 NONAME ABSENT
+ _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 1054 NONAME DATA 16 ABSENT
+ _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 1055 NONAME ABSENT
+ _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 1056 NONAME ABSENT
+ _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 1057 NONAME ABSENT
_ZN39QDeclarativeNetworkAccessManagerFactoryD0Ev @ 1058 NONAME
_ZN39QDeclarativeNetworkAccessManagerFactoryD1Ev @ 1059 NONAME
_ZN39QDeclarativeNetworkAccessManagerFactoryD2Ev @ 1060 NONAME
- _ZN7QPacket5clearEv @ 1061 NONAME
- _ZN7QPacketC1ERK10QByteArray @ 1062 NONAME
- _ZN7QPacketC1ERKS_ @ 1063 NONAME
- _ZN7QPacketC1Ev @ 1064 NONAME
- _ZN7QPacketC2ERK10QByteArray @ 1065 NONAME
- _ZN7QPacketC2ERKS_ @ 1066 NONAME
- _ZN7QPacketC2Ev @ 1067 NONAME
- _ZN7QPacketD0Ev @ 1068 NONAME
- _ZN7QPacketD1Ev @ 1069 NONAME
- _ZN7QPacketD2Ev @ 1070 NONAME
- _ZNK15QDeclarativePen10metaObjectEv @ 1071 NONAME
- _ZNK15QPacketProtocol10metaObjectEv @ 1072 NONAME
- _ZNK15QPacketProtocol16packetsAvailableEv @ 1073 NONAME
- _ZNK15QPacketProtocol17maximumPacketSizeEv @ 1074 NONAME
+ _ZN7QPacket5clearEv @ 1061 NONAME ABSENT
+ _ZN7QPacketC1ERK10QByteArray @ 1062 NONAME ABSENT
+ _ZN7QPacketC1ERKS_ @ 1063 NONAME ABSENT
+ _ZN7QPacketC1Ev @ 1064 NONAME ABSENT
+ _ZN7QPacketC2ERK10QByteArray @ 1065 NONAME ABSENT
+ _ZN7QPacketC2ERKS_ @ 1066 NONAME ABSENT
+ _ZN7QPacketC2Ev @ 1067 NONAME ABSENT
+ _ZN7QPacketD0Ev @ 1068 NONAME ABSENT
+ _ZN7QPacketD1Ev @ 1069 NONAME ABSENT
+ _ZN7QPacketD2Ev @ 1070 NONAME ABSENT
+ _ZNK15QDeclarativePen10metaObjectEv @ 1071 NONAME ABSENT
+ _ZNK15QPacketProtocol10metaObjectEv @ 1072 NONAME ABSENT
+ _ZNK15QPacketProtocol16packetsAvailableEv @ 1073 NONAME ABSENT
+ _ZNK15QPacketProtocol17maximumPacketSizeEv @ 1074 NONAME ABSENT
_ZNK16QDeclarativeItem10metaObjectEv @ 1075 NONAME
_ZNK16QDeclarativeItem10parentItemEv @ 1076 NONAME
_ZNK16QDeclarativeItem10widthValidEv @ 1077 NONAME
@@ -1094,46 +1094,46 @@ EXPORTS
_ZNK16QDeclarativeItem7childAtEff @ 1093 NONAME
_ZNK16QDeclarativeItem8hasFocusEv @ 1094 NONAME
_ZNK16QDeclarativeItem9mapToItemERK12QScriptValueff @ 1095 NONAME
- _ZNK16QDeclarativeText10metaObjectEv @ 1096 NONAME
- _ZNK16QDeclarativeText10styleColorEv @ 1097 NONAME
- _ZNK16QDeclarativeText10textFormatEv @ 1098 NONAME
- _ZNK16QDeclarativeText12boundingRectEv @ 1099 NONAME
- _ZNK16QDeclarativeText12paintedWidthEv @ 1100 NONAME
- _ZNK16QDeclarativeText13paintedHeightEv @ 1101 NONAME
- _ZNK16QDeclarativeText16resourcesLoadingEv @ 1102 NONAME
- _ZNK16QDeclarativeText4fontEv @ 1103 NONAME
- _ZNK16QDeclarativeText4textEv @ 1104 NONAME
- _ZNK16QDeclarativeText5colorEv @ 1105 NONAME
- _ZNK16QDeclarativeText5styleEv @ 1106 NONAME
- _ZNK16QDeclarativeText6hAlignEv @ 1107 NONAME
- _ZNK16QDeclarativeText6vAlignEv @ 1108 NONAME
- _ZNK16QDeclarativeText8wrapModeEv @ 1109 NONAME
- _ZNK16QDeclarativeText9elideModeEv @ 1110 NONAME
- _ZNK16QDeclarativeType10createSizeEv @ 1111 NONAME
- _ZNK16QDeclarativeType10metaObjectEv @ 1112 NONAME
- _ZNK16QDeclarativeType11isCreatableEv @ 1113 NONAME
- _ZNK16QDeclarativeType11isInterfaceEv @ 1114 NONAME
- _ZNK16QDeclarativeType11qListTypeIdEv @ 1115 NONAME
- _ZNK16QDeclarativeType11qmlTypeNameEv @ 1116 NONAME
- _ZNK16QDeclarativeType12customParserEv @ 1117 NONAME
- _ZNK16QDeclarativeType12interfaceIIdEv @ 1118 NONAME
- _ZNK16QDeclarativeType12majorVersionEv @ 1119 NONAME
- _ZNK16QDeclarativeType12minorVersionEv @ 1120 NONAME
- _ZNK16QDeclarativeType14baseMetaObjectEv @ 1121 NONAME
- _ZNK16QDeclarativeType14createFunctionEv @ 1122 NONAME
- _ZNK16QDeclarativeType14isExtendedTypeEv @ 1123 NONAME
- _ZNK16QDeclarativeType16noCreationReasonEv @ 1124 NONAME
- _ZNK16QDeclarativeType16parserStatusCastEv @ 1125 NONAME
- _ZNK16QDeclarativeType18availableInVersionEii @ 1126 NONAME
- _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 1127 NONAME
- _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 1128 NONAME
- _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 1129 NONAME
- _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 1130 NONAME
- _ZNK16QDeclarativeType5indexEv @ 1131 NONAME
- _ZNK16QDeclarativeType6createEPP7QObjectPPvj @ 1132 NONAME
- _ZNK16QDeclarativeType6createEv @ 1133 NONAME
- _ZNK16QDeclarativeType6typeIdEv @ 1134 NONAME
- _ZNK16QDeclarativeType8typeNameEv @ 1135 NONAME
+ _ZNK16QDeclarativeText10metaObjectEv @ 1096 NONAME ABSENT
+ _ZNK16QDeclarativeText10styleColorEv @ 1097 NONAME ABSENT
+ _ZNK16QDeclarativeText10textFormatEv @ 1098 NONAME ABSENT
+ _ZNK16QDeclarativeText12boundingRectEv @ 1099 NONAME ABSENT
+ _ZNK16QDeclarativeText12paintedWidthEv @ 1100 NONAME ABSENT
+ _ZNK16QDeclarativeText13paintedHeightEv @ 1101 NONAME ABSENT
+ _ZNK16QDeclarativeText16resourcesLoadingEv @ 1102 NONAME ABSENT
+ _ZNK16QDeclarativeText4fontEv @ 1103 NONAME ABSENT
+ _ZNK16QDeclarativeText4textEv @ 1104 NONAME ABSENT
+ _ZNK16QDeclarativeText5colorEv @ 1105 NONAME ABSENT
+ _ZNK16QDeclarativeText5styleEv @ 1106 NONAME ABSENT
+ _ZNK16QDeclarativeText6hAlignEv @ 1107 NONAME ABSENT
+ _ZNK16QDeclarativeText6vAlignEv @ 1108 NONAME ABSENT
+ _ZNK16QDeclarativeText8wrapModeEv @ 1109 NONAME ABSENT
+ _ZNK16QDeclarativeText9elideModeEv @ 1110 NONAME ABSENT
+ _ZNK16QDeclarativeType10createSizeEv @ 1111 NONAME ABSENT
+ _ZNK16QDeclarativeType10metaObjectEv @ 1112 NONAME ABSENT
+ _ZNK16QDeclarativeType11isCreatableEv @ 1113 NONAME ABSENT
+ _ZNK16QDeclarativeType11isInterfaceEv @ 1114 NONAME ABSENT
+ _ZNK16QDeclarativeType11qListTypeIdEv @ 1115 NONAME ABSENT
+ _ZNK16QDeclarativeType11qmlTypeNameEv @ 1116 NONAME ABSENT
+ _ZNK16QDeclarativeType12customParserEv @ 1117 NONAME ABSENT
+ _ZNK16QDeclarativeType12interfaceIIdEv @ 1118 NONAME ABSENT
+ _ZNK16QDeclarativeType12majorVersionEv @ 1119 NONAME ABSENT
+ _ZNK16QDeclarativeType12minorVersionEv @ 1120 NONAME ABSENT
+ _ZNK16QDeclarativeType14baseMetaObjectEv @ 1121 NONAME ABSENT
+ _ZNK16QDeclarativeType14createFunctionEv @ 1122 NONAME ABSENT
+ _ZNK16QDeclarativeType14isExtendedTypeEv @ 1123 NONAME ABSENT
+ _ZNK16QDeclarativeType16noCreationReasonEv @ 1124 NONAME ABSENT
+ _ZNK16QDeclarativeType16parserStatusCastEv @ 1125 NONAME ABSENT
+ _ZNK16QDeclarativeType18availableInVersionEii @ 1126 NONAME ABSENT
+ _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 1127 NONAME ABSENT
+ _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 1128 NONAME ABSENT
+ _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 1129 NONAME ABSENT
+ _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 1130 NONAME ABSENT
+ _ZNK16QDeclarativeType5indexEv @ 1131 NONAME ABSENT
+ _ZNK16QDeclarativeType6createEPP7QObjectPPvj @ 1132 NONAME ABSENT
+ _ZNK16QDeclarativeType6createEv @ 1133 NONAME ABSENT
+ _ZNK16QDeclarativeType6typeIdEv @ 1134 NONAME ABSENT
+ _ZNK16QDeclarativeType8typeNameEv @ 1135 NONAME ABSENT
_ZNK16QDeclarativeView10metaObjectEv @ 1136 NONAME
_ZNK16QDeclarativeView10resizeModeEv @ 1137 NONAME
_ZNK16QDeclarativeView10rootObjectEv @ 1138 NONAME
@@ -1144,12 +1144,12 @@ EXPORTS
_ZNK16QDeclarativeView6sourceEv @ 1143 NONAME
_ZNK16QDeclarativeView6statusEv @ 1144 NONAME
_ZNK16QDeclarativeView8sizeHintEv @ 1145 NONAME
- _ZNK16QMetaEnumBuilder3keyEi @ 1146 NONAME
- _ZNK16QMetaEnumBuilder4nameEv @ 1147 NONAME
- _ZNK16QMetaEnumBuilder5valueEi @ 1148 NONAME
- _ZNK16QMetaEnumBuilder6d_funcEv @ 1149 NONAME
- _ZNK16QMetaEnumBuilder6isFlagEv @ 1150 NONAME
- _ZNK16QMetaEnumBuilder8keyCountEv @ 1151 NONAME
+ _ZNK16QMetaEnumBuilder3keyEi @ 1146 NONAME ABSENT
+ _ZNK16QMetaEnumBuilder4nameEv @ 1147 NONAME ABSENT
+ _ZNK16QMetaEnumBuilder5valueEi @ 1148 NONAME ABSENT
+ _ZNK16QMetaEnumBuilder6d_funcEv @ 1149 NONAME ABSENT
+ _ZNK16QMetaEnumBuilder6isFlagEv @ 1150 NONAME ABSENT
+ _ZNK16QMetaEnumBuilder8keyCountEv @ 1151 NONAME ABSENT
_ZNK17QDeclarativeError11descriptionEv @ 1152 NONAME
_ZNK17QDeclarativeError3urlEv @ 1153 NONAME
_ZNK17QDeclarativeError4lineEv @ 1154 NONAME
@@ -1196,58 +1196,58 @@ EXPORTS
_ZNK18QDeclarativePixmap7isErrorEv @ 1195 NONAME
_ZNK18QDeclarativePixmap7isReadyEv @ 1196 NONAME
_ZNK18QDeclarativePixmap9isLoadingEv @ 1197 NONAME
- _ZNK18QMetaMethodBuilder10attributesEv @ 1198 NONAME
- _ZNK18QMetaMethodBuilder10methodTypeEv @ 1199 NONAME
- _ZNK18QMetaMethodBuilder10returnTypeEv @ 1200 NONAME
- _ZNK18QMetaMethodBuilder14parameterNamesEv @ 1201 NONAME
- _ZNK18QMetaMethodBuilder3tagEv @ 1202 NONAME
- _ZNK18QMetaMethodBuilder5indexEv @ 1203 NONAME
- _ZNK18QMetaMethodBuilder6accessEv @ 1204 NONAME
- _ZNK18QMetaMethodBuilder6d_funcEv @ 1205 NONAME
- _ZNK18QMetaMethodBuilder9signatureEv @ 1206 NONAME
- _ZNK18QMetaObjectBuilder10enumeratorEi @ 1207 NONAME
- _ZNK18QMetaObjectBuilder10superClassEv @ 1208 NONAME
- _ZNK18QMetaObjectBuilder11constructorEi @ 1209 NONAME
- _ZNK18QMetaObjectBuilder11methodCountEv @ 1210 NONAME
- _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 1211 NONAME
- _ZNK18QMetaObjectBuilder13classInfoNameEi @ 1212 NONAME
- _ZNK18QMetaObjectBuilder13propertyCountEv @ 1213 NONAME
- _ZNK18QMetaObjectBuilder14classInfoCountEv @ 1214 NONAME
- _ZNK18QMetaObjectBuilder14classInfoValueEi @ 1215 NONAME
- _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 1216 NONAME
- _ZNK18QMetaObjectBuilder16constructorCountEv @ 1217 NONAME
- _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 1218 NONAME
- _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 1219 NONAME
- _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 1220 NONAME
- _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 1221 NONAME
- _ZNK18QMetaObjectBuilder5flagsEv @ 1222 NONAME
- _ZNK18QMetaObjectBuilder6methodEi @ 1223 NONAME
- _ZNK18QMetaObjectBuilder8propertyEi @ 1224 NONAME
- _ZNK18QMetaObjectBuilder9classNameEv @ 1225 NONAME
- _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 1226 NONAME
- _ZNK19QDeclarativeAnchors10leftMarginEv @ 1227 NONAME
- _ZNK19QDeclarativeAnchors10metaObjectEv @ 1228 NONAME
- _ZNK19QDeclarativeAnchors11rightMarginEv @ 1229 NONAME
- _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 1230 NONAME
- _ZNK19QDeclarativeAnchors12bottomMarginEv @ 1231 NONAME
- _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 1232 NONAME
- _ZNK19QDeclarativeAnchors14verticalCenterEv @ 1233 NONAME
- _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 1234 NONAME
- _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 1235 NONAME
- _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 1236 NONAME
- _ZNK19QDeclarativeAnchors3topEv @ 1237 NONAME
- _ZNK19QDeclarativeAnchors4fillEv @ 1238 NONAME
- _ZNK19QDeclarativeAnchors4leftEv @ 1239 NONAME
- _ZNK19QDeclarativeAnchors5rightEv @ 1240 NONAME
- _ZNK19QDeclarativeAnchors6bottomEv @ 1241 NONAME
- _ZNK19QDeclarativeAnchors7marginsEv @ 1242 NONAME
- _ZNK19QDeclarativeAnchors8baselineEv @ 1243 NONAME
- _ZNK19QDeclarativeAnchors8centerInEv @ 1244 NONAME
- _ZNK19QDeclarativeAnchors9topMarginEv @ 1245 NONAME
- _ZNK19QDeclarativeBinding10expressionEv @ 1246 NONAME
- _ZNK19QDeclarativeBinding10metaObjectEv @ 1247 NONAME
- _ZNK19QDeclarativeBinding7enabledEv @ 1248 NONAME
- _ZNK19QDeclarativeBinding8propertyEv @ 1249 NONAME
+ _ZNK18QMetaMethodBuilder10attributesEv @ 1198 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder10methodTypeEv @ 1199 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder10returnTypeEv @ 1200 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder14parameterNamesEv @ 1201 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder3tagEv @ 1202 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder5indexEv @ 1203 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder6accessEv @ 1204 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder6d_funcEv @ 1205 NONAME ABSENT
+ _ZNK18QMetaMethodBuilder9signatureEv @ 1206 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder10enumeratorEi @ 1207 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder10superClassEv @ 1208 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder11constructorEi @ 1209 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder11methodCountEv @ 1210 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 1211 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder13classInfoNameEi @ 1212 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder13propertyCountEv @ 1213 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder14classInfoCountEv @ 1214 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder14classInfoValueEi @ 1215 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 1216 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder16constructorCountEv @ 1217 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 1218 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 1219 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 1220 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 1221 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder5flagsEv @ 1222 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder6methodEi @ 1223 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder8propertyEi @ 1224 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder9classNameEv @ 1225 NONAME ABSENT
+ _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 1226 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors10leftMarginEv @ 1227 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors10metaObjectEv @ 1228 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors11rightMarginEv @ 1229 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 1230 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors12bottomMarginEv @ 1231 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 1232 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors14verticalCenterEv @ 1233 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 1234 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 1235 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 1236 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors3topEv @ 1237 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors4fillEv @ 1238 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors4leftEv @ 1239 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors5rightEv @ 1240 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors6bottomEv @ 1241 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors7marginsEv @ 1242 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors8baselineEv @ 1243 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors8centerInEv @ 1244 NONAME ABSENT
+ _ZNK19QDeclarativeAnchors9topMarginEv @ 1245 NONAME ABSENT
+ _ZNK19QDeclarativeBinding10expressionEv @ 1246 NONAME ABSENT
+ _ZNK19QDeclarativeBinding10metaObjectEv @ 1247 NONAME ABSENT
+ _ZNK19QDeclarativeBinding7enabledEv @ 1248 NONAME ABSENT
+ _ZNK19QDeclarativeBinding8propertyEv @ 1249 NONAME ABSENT
_ZNK19QDeclarativeContext10metaObjectEv @ 1250 NONAME
_ZNK19QDeclarativeContext13contextObjectEv @ 1251 NONAME
_ZNK19QDeclarativeContext13parentContextEv @ 1252 NONAME
@@ -1255,29 +1255,29 @@ EXPORTS
_ZNK19QDeclarativeContext6engineEv @ 1254 NONAME
_ZNK19QDeclarativeContext7baseUrlEv @ 1255 NONAME
_ZNK19QDeclarativeContext7isValidEv @ 1256 NONAME
- _ZNK19QDeclarativeDomList14commaPositionsEv @ 1257 NONAME
- _ZNK19QDeclarativeDomList6lengthEv @ 1258 NONAME
- _ZNK19QDeclarativeDomList6valuesEv @ 1259 NONAME
- _ZNK19QDeclarativeDomList8positionEv @ 1260 NONAME
- _ZNK19QListModelInterface10metaObjectEv @ 1261 NONAME
- _ZNK20QDeclarativeBehavior10metaObjectEv @ 1262 NONAME
- _ZNK20QDeclarativeBehavior7enabledEv @ 1263 NONAME
- _ZNK20QDeclarativeDomValue13isValueSourceEv @ 1264 NONAME
- _ZNK20QDeclarativeDomValue13toValueSourceEv @ 1265 NONAME
- _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 1266 NONAME
- _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 1267 NONAME
- _ZNK20QDeclarativeDomValue4typeEv @ 1268 NONAME
- _ZNK20QDeclarativeDomValue6isListEv @ 1269 NONAME
- _ZNK20QDeclarativeDomValue6lengthEv @ 1270 NONAME
- _ZNK20QDeclarativeDomValue6toListEv @ 1271 NONAME
- _ZNK20QDeclarativeDomValue8isObjectEv @ 1272 NONAME
- _ZNK20QDeclarativeDomValue8positionEv @ 1273 NONAME
- _ZNK20QDeclarativeDomValue8toObjectEv @ 1274 NONAME
- _ZNK20QDeclarativeDomValue9isBindingEv @ 1275 NONAME
- _ZNK20QDeclarativeDomValue9isInvalidEv @ 1276 NONAME
- _ZNK20QDeclarativeDomValue9isLiteralEv @ 1277 NONAME
- _ZNK20QDeclarativeDomValue9toBindingEv @ 1278 NONAME
- _ZNK20QDeclarativeDomValue9toLiteralEv @ 1279 NONAME
+ _ZNK19QDeclarativeDomList14commaPositionsEv @ 1257 NONAME ABSENT
+ _ZNK19QDeclarativeDomList6lengthEv @ 1258 NONAME ABSENT
+ _ZNK19QDeclarativeDomList6valuesEv @ 1259 NONAME ABSENT
+ _ZNK19QDeclarativeDomList8positionEv @ 1260 NONAME ABSENT
+ _ZNK19QListModelInterface10metaObjectEv @ 1261 NONAME ABSENT
+ _ZNK20QDeclarativeBehavior10metaObjectEv @ 1262 NONAME ABSENT
+ _ZNK20QDeclarativeBehavior7enabledEv @ 1263 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue13isValueSourceEv @ 1264 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue13toValueSourceEv @ 1265 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 1266 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 1267 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue4typeEv @ 1268 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue6isListEv @ 1269 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue6lengthEv @ 1270 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue6toListEv @ 1271 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue8isObjectEv @ 1272 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue8positionEv @ 1273 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue8toObjectEv @ 1274 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue9isBindingEv @ 1275 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue9isInvalidEv @ 1276 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue9isLiteralEv @ 1277 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue9toBindingEv @ 1278 NONAME ABSENT
+ _ZNK20QDeclarativeDomValue9toLiteralEv @ 1279 NONAME ABSENT
_ZNK20QDeclarativeProperty10isPropertyEv @ 1280 NONAME
_ZNK20QDeclarativeProperty10isWritableEv @ 1281 NONAME
_ZNK20QDeclarativeProperty12isDesignableEv @ 1282 NONAME
@@ -1301,22 +1301,22 @@ EXPORTS
_ZNK20QDeclarativeProperty7isValidEv @ 1300 NONAME
_ZNK20QDeclarativeProperty8propertyEv @ 1301 NONAME
_ZNK20QDeclarativePropertyeqERKS_ @ 1302 NONAME
- _ZNK20QMetaPropertyBuilder10isEditableEv @ 1303 NONAME
- _ZNK20QMetaPropertyBuilder10isReadableEv @ 1304 NONAME
- _ZNK20QMetaPropertyBuilder10isWritableEv @ 1305 NONAME
- _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 1306 NONAME
- _ZNK20QMetaPropertyBuilder12isDesignableEv @ 1307 NONAME
- _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 1308 NONAME
- _ZNK20QMetaPropertyBuilder12isResettableEv @ 1309 NONAME
- _ZNK20QMetaPropertyBuilder12isScriptableEv @ 1310 NONAME
- _ZNK20QMetaPropertyBuilder12notifySignalEv @ 1311 NONAME
- _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 1312 NONAME
- _ZNK20QMetaPropertyBuilder4nameEv @ 1313 NONAME
- _ZNK20QMetaPropertyBuilder4typeEv @ 1314 NONAME
- _ZNK20QMetaPropertyBuilder6d_funcEv @ 1315 NONAME
- _ZNK20QMetaPropertyBuilder6isUserEv @ 1316 NONAME
- _ZNK20QMetaPropertyBuilder8isStoredEv @ 1317 NONAME
- _ZNK20QMetaPropertyBuilder9isDynamicEv @ 1318 NONAME
+ _ZNK20QMetaPropertyBuilder10isEditableEv @ 1303 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder10isReadableEv @ 1304 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder10isWritableEv @ 1305 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 1306 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder12isDesignableEv @ 1307 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 1308 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder12isResettableEv @ 1309 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder12isScriptableEv @ 1310 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder12notifySignalEv @ 1311 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 1312 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder4nameEv @ 1313 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder4typeEv @ 1314 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder6d_funcEv @ 1315 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder6isUserEv @ 1316 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder8isStoredEv @ 1317 NONAME ABSENT
+ _ZNK20QMetaPropertyBuilder9isDynamicEv @ 1318 NONAME ABSENT
_ZNK21QDeclarativeComponent10metaObjectEv @ 1319 NONAME
_ZNK21QDeclarativeComponent11errorStringEv @ 1320 NONAME
_ZNK21QDeclarativeComponent15creationContextEv @ 1321 NONAME
@@ -1328,49 +1328,49 @@ EXPORTS
_ZNK21QDeclarativeComponent7isReadyEv @ 1327 NONAME
_ZNK21QDeclarativeComponent8progressEv @ 1328 NONAME
_ZNK21QDeclarativeComponent9isLoadingEv @ 1329 NONAME
- _ZNK21QDeclarativeDomImport3uriEv @ 1330 NONAME
- _ZNK21QDeclarativeDomImport4typeEv @ 1331 NONAME
- _ZNK21QDeclarativeDomImport7versionEv @ 1332 NONAME
- _ZNK21QDeclarativeDomImport9qualifierEv @ 1333 NONAME
- _ZNK21QDeclarativeDomObject10objectTypeEv @ 1334 NONAME
- _ZNK21QDeclarativeDomObject10propertiesEv @ 1335 NONAME
- _ZNK21QDeclarativeDomObject11isComponentEv @ 1336 NONAME
- _ZNK21QDeclarativeDomObject11toComponentEv @ 1337 NONAME
- _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 1338 NONAME
- _ZNK21QDeclarativeDomObject14customTypeDataEv @ 1339 NONAME
- _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 1340 NONAME
- _ZNK21QDeclarativeDomObject15objectClassNameEv @ 1341 NONAME
- _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 1342 NONAME
- _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 1343 NONAME
- _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 1344 NONAME
- _ZNK21QDeclarativeDomObject3urlEv @ 1345 NONAME
- _ZNK21QDeclarativeDomObject6lengthEv @ 1346 NONAME
- _ZNK21QDeclarativeDomObject7isValidEv @ 1347 NONAME
- _ZNK21QDeclarativeDomObject8objectIdEv @ 1348 NONAME
- _ZNK21QDeclarativeDomObject8positionEv @ 1349 NONAME
- _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 1350 NONAME
- _ZNK21QDeclarativeListModel10metaObjectEv @ 1351 NONAME
- _ZNK21QDeclarativeListModel3getEi @ 1352 NONAME
+ _ZNK21QDeclarativeDomImport3uriEv @ 1330 NONAME ABSENT
+ _ZNK21QDeclarativeDomImport4typeEv @ 1331 NONAME ABSENT
+ _ZNK21QDeclarativeDomImport7versionEv @ 1332 NONAME ABSENT
+ _ZNK21QDeclarativeDomImport9qualifierEv @ 1333 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject10objectTypeEv @ 1334 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject10propertiesEv @ 1335 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject11isComponentEv @ 1336 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject11toComponentEv @ 1337 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 1338 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject14customTypeDataEv @ 1339 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 1340 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject15objectClassNameEv @ 1341 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 1342 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 1343 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 1344 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject3urlEv @ 1345 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject6lengthEv @ 1346 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject7isValidEv @ 1347 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject8objectIdEv @ 1348 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject8positionEv @ 1349 NONAME ABSENT
+ _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 1350 NONAME ABSENT
+ _ZNK21QDeclarativeListModel10metaObjectEv @ 1351 NONAME ABSENT
+ _ZNK21QDeclarativeListModel3getEi @ 1352 NONAME ABSENT
_ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 1353 NONAME ABSENT
- _ZNK21QDeclarativeListModel4dataEii @ 1354 NONAME
- _ZNK21QDeclarativeListModel5countEv @ 1355 NONAME
- _ZNK21QDeclarativeListModel5rolesEv @ 1356 NONAME
- _ZNK21QDeclarativeListModel8toStringEi @ 1357 NONAME
- _ZNK21QDeclarativeRectangle10metaObjectEv @ 1358 NONAME
- _ZNK21QDeclarativeRectangle12boundingRectEv @ 1359 NONAME
- _ZNK21QDeclarativeRectangle5colorEv @ 1360 NONAME
- _ZNK21QDeclarativeRectangle6radiusEv @ 1361 NONAME
- _ZNK21QDeclarativeRectangle8gradientEv @ 1362 NONAME
- _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 1363 NONAME
- _ZNK21QDeclarativeScaleGrid6isNullEv @ 1364 NONAME
- _ZNK21QDeclarativeValueType10metaObjectEv @ 1365 NONAME
- _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 1366 NONAME
- _ZNK22QDeclarativeDebugQuery5stateEv @ 1367 NONAME
- _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 1368 NONAME
- _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 1369 NONAME
- _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 1370 NONAME
- _ZNK22QDeclarativeDebugWatch5stateEv @ 1371 NONAME
- _ZNK22QDeclarativeDebugWatch7queryIdEv @ 1372 NONAME
+ _ZNK21QDeclarativeListModel4dataEii @ 1354 NONAME ABSENT
+ _ZNK21QDeclarativeListModel5countEv @ 1355 NONAME ABSENT
+ _ZNK21QDeclarativeListModel5rolesEv @ 1356 NONAME ABSENT
+ _ZNK21QDeclarativeListModel8toStringEi @ 1357 NONAME ABSENT
+ _ZNK21QDeclarativeRectangle10metaObjectEv @ 1358 NONAME ABSENT
+ _ZNK21QDeclarativeRectangle12boundingRectEv @ 1359 NONAME ABSENT
+ _ZNK21QDeclarativeRectangle5colorEv @ 1360 NONAME ABSENT
+ _ZNK21QDeclarativeRectangle6radiusEv @ 1361 NONAME ABSENT
+ _ZNK21QDeclarativeRectangle8gradientEv @ 1362 NONAME ABSENT
+ _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 1363 NONAME ABSENT
+ _ZNK21QDeclarativeScaleGrid6isNullEv @ 1364 NONAME ABSENT
+ _ZNK21QDeclarativeValueType10metaObjectEv @ 1365 NONAME ABSENT
+ _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 1366 NONAME ABSENT
+ _ZNK22QDeclarativeDebugQuery5stateEv @ 1367 NONAME ABSENT
+ _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 1368 NONAME ABSENT
+ _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 1369 NONAME ABSENT
+ _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 1370 NONAME ABSENT
+ _ZNK22QDeclarativeDebugWatch5stateEv @ 1371 NONAME ABSENT
+ _ZNK22QDeclarativeDebugWatch7queryIdEv @ 1372 NONAME ABSENT
_ZNK22QDeclarativeExpression10expressionEv @ 1373 NONAME
_ZNK22QDeclarativeExpression10lineNumberEv @ 1374 NONAME
_ZNK22QDeclarativeExpression10metaObjectEv @ 1375 NONAME
@@ -1389,21 +1389,21 @@ EXPORTS
_ZNK22QDeclarativeTransition10reversibleEv @ 1388 NONAME
_ZNK22QDeclarativeTransition7toStateEv @ 1389 NONAME
_ZNK22QDeclarativeTransition9fromStateEv @ 1390 NONAME
- _ZNK23QDeclarativeDebugClient10metaObjectEv @ 1391 NONAME
+ _ZNK23QDeclarativeDebugClient10metaObjectEv @ 1391 NONAME ABSENT
_ZNK23QDeclarativeDebugClient11isConnectedEv @ 1392 NONAME ABSENT
- _ZNK23QDeclarativeDebugClient4nameEv @ 1393 NONAME
+ _ZNK23QDeclarativeDebugClient4nameEv @ 1393 NONAME ABSENT
_ZNK23QDeclarativeDebugClient9isEnabledEv @ 1394 NONAME ABSENT
- _ZNK23QDeclarativeDomDocument10rootObjectEv @ 1395 NONAME
- _ZNK23QDeclarativeDomDocument6errorsEv @ 1396 NONAME
- _ZNK23QDeclarativeDomDocument7importsEv @ 1397 NONAME
- _ZNK23QDeclarativeDomProperty12propertyNameEv @ 1398 NONAME
- _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 1399 NONAME
- _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 1400 NONAME
- _ZNK23QDeclarativeDomProperty5valueEv @ 1401 NONAME
- _ZNK23QDeclarativeDomProperty6lengthEv @ 1402 NONAME
- _ZNK23QDeclarativeDomProperty7isValidEv @ 1403 NONAME
- _ZNK23QDeclarativeDomProperty8positionEv @ 1404 NONAME
- _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 1405 NONAME
+ _ZNK23QDeclarativeDomDocument10rootObjectEv @ 1395 NONAME ABSENT
+ _ZNK23QDeclarativeDomDocument6errorsEv @ 1396 NONAME ABSENT
+ _ZNK23QDeclarativeDomDocument7importsEv @ 1397 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty12propertyNameEv @ 1398 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 1399 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 1400 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty5valueEv @ 1401 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty6lengthEv @ 1402 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty7isValidEv @ 1403 NONAME ABSENT
+ _ZNK23QDeclarativeDomProperty8positionEv @ 1404 NONAME ABSENT
+ _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 1405 NONAME ABSENT
_ZNK23QDeclarativeItemPrivate14verticalCenterEv @ 1406 NONAME
_ZNK23QDeclarativeItemPrivate16horizontalCenterEv @ 1407 NONAME
_ZNK23QDeclarativeItemPrivate22computeTransformOriginEv @ 1408 NONAME
@@ -1425,10 +1425,10 @@ EXPORTS
_ZNK23QDeclarativePropertyMapixERK7QString @ 1424 NONAME
_ZNK24QDeclarativeCustomParser11resolveTypeERK10QByteArray @ 1425 NONAME
_ZNK24QDeclarativeCustomParser12evaluateEnumERK10QByteArray @ 1426 NONAME
- _ZNK24QDeclarativeDebugService10metaObjectEv @ 1427 NONAME
- _ZNK24QDeclarativeDebugService4nameEv @ 1428 NONAME
+ _ZNK24QDeclarativeDebugService10metaObjectEv @ 1427 NONAME ABSENT
+ _ZNK24QDeclarativeDebugService4nameEv @ 1428 NONAME ABSENT
_ZNK24QDeclarativeDebugService9isEnabledEv @ 1429 NONAME ABSENT
- _ZNK24QDeclarativeDomComponent13componentRootEv @ 1430 NONAME
+ _ZNK24QDeclarativeDomComponent13componentRootEv @ 1430 NONAME ABSENT
_ZNK24QDeclarativeScriptString11scopeObjectEv @ 1431 NONAME
_ZNK24QDeclarativeScriptString6scriptEv @ 1432 NONAME
_ZNK24QDeclarativeScriptString7contextEv @ 1433 NONAME
@@ -1444,193 +1444,193 @@ EXPORTS
_ZNK25QDeclarativeListReference8canClearEv @ 1443 NONAME
_ZNK25QDeclarativeListReference8canCountEv @ 1444 NONAME
_ZNK25QDeclarativeListReference9canAppendEv @ 1445 NONAME
- _ZNK26QDeclarativeOpenMetaObject4nameEi @ 1446 NONAME
- _ZNK26QDeclarativeOpenMetaObject4typeEv @ 1447 NONAME
- _ZNK26QDeclarativeOpenMetaObject5countEv @ 1448 NONAME
- _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 1449 NONAME
- _ZNK26QDeclarativeOpenMetaObject5valueEi @ 1450 NONAME
- _ZNK26QDeclarativeOpenMetaObject6objectEv @ 1451 NONAME
- _ZNK26QDeclarativeOpenMetaObject6parentEv @ 1452 NONAME
- _ZNK26QDeclarativeOpenMetaObject8hasValueEi @ 1453 NONAME
+ _ZNK26QDeclarativeOpenMetaObject4nameEi @ 1446 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject4typeEv @ 1447 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject5countEv @ 1448 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 1449 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject5valueEi @ 1450 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject6objectEv @ 1451 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject6parentEv @ 1452 NONAME ABSENT
+ _ZNK26QDeclarativeOpenMetaObject8hasValueEi @ 1453 NONAME ABSENT
_ZNK26QDeclarativeStateOperation10metaObjectEv @ 1454 NONAME
- _ZNK27QDeclarativeAbstractBinding10expressionEv @ 1455 NONAME
- _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 1456 NONAME
- _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 1457 NONAME
- _ZNK27QDeclarativeDomValueBinding7bindingEv @ 1458 NONAME
- _ZNK27QDeclarativeDomValueLiteral7literalEv @ 1459 NONAME
+ _ZNK27QDeclarativeAbstractBinding10expressionEv @ 1455 NONAME ABSENT
+ _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 1456 NONAME ABSENT
+ _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 1457 NONAME ABSENT
+ _ZNK27QDeclarativeDomValueBinding7bindingEv @ 1458 NONAME ABSENT
+ _ZNK27QDeclarativeDomValueLiteral7literalEv @ 1459 NONAME ABSENT
_ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 1460 NONAME
- _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 1461 NONAME
- _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 1462 NONAME
- _ZNK27QDeclarativeGridScaledImage7isValidEv @ 1463 NONAME
- _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 1464 NONAME
- _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 1465 NONAME
- _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 1466 NONAME
- _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 1467 NONAME
- _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 1468 NONAME
- _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 1469 NONAME
+ _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 1461 NONAME ABSENT
+ _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 1462 NONAME ABSENT
+ _ZNK27QDeclarativeGridScaledImage7isValidEv @ 1463 NONAME ABSENT
+ _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 1464 NONAME ABSENT
+ _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 1465 NONAME ABSENT
+ _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 1466 NONAME ABSENT
+ _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 1467 NONAME ABSENT
+ _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 1468 NONAME ABSENT
+ _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 1469 NONAME ABSENT
_ZNK28QDeclarativeCustomParserNode10propertiesEv @ 1470 NONAME
_ZNK28QDeclarativeCustomParserNode4nameEv @ 1471 NONAME
_ZNK28QDeclarativeCustomParserNode8locationEv @ 1472 NONAME
- _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 1473 NONAME
- _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 1474 NONAME
- _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 1475 NONAME
- _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 1476 NONAME
- _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 1477 NONAME
- _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 1478 NONAME
- _ZNK30QDeclarativeDebugFileReference3urlEv @ 1479 NONAME
- _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 1480 NONAME
- _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 1481 NONAME
- _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 1482 NONAME
- _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 1483 NONAME
- _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 1484 NONAME
- _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 1485 NONAME
- _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 1486 NONAME
- _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 1487 NONAME
- _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 1488 NONAME
- _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 1489 NONAME
- _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 1490 NONAME
- _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 1491 NONAME
- _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 1492 NONAME
- _ZNK31QDeclarativeDomValueValueSource6objectEv @ 1493 NONAME
+ _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 1473 NONAME ABSENT
+ _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 1474 NONAME ABSENT
+ _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 1475 NONAME ABSENT
+ _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 1476 NONAME ABSENT
+ _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 1477 NONAME ABSENT
+ _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 1478 NONAME ABSENT
+ _ZNK30QDeclarativeDebugFileReference3urlEv @ 1479 NONAME ABSENT
+ _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 1480 NONAME ABSENT
+ _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 1481 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 1482 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 1483 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 1484 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 1485 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 1486 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 1487 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 1488 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 1489 NONAME ABSENT
+ _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 1490 NONAME ABSENT
+ _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 1491 NONAME ABSENT
+ _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 1492 NONAME ABSENT
+ _ZNK31QDeclarativeDomValueValueSource6objectEv @ 1493 NONAME ABSENT
_ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 1494 NONAME
_ZNK32QDeclarativeCustomParserProperty4nameEv @ 1495 NONAME
_ZNK32QDeclarativeCustomParserProperty6isListEv @ 1496 NONAME
_ZNK32QDeclarativeCustomParserProperty8locationEv @ 1497 NONAME
- _ZNK32QDeclarativeDebugEngineReference4nameEv @ 1498 NONAME
- _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 1499 NONAME
- _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 1500 NONAME
- _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 1501 NONAME
- _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 1502 NONAME
- _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 1503 NONAME
- _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 1504 NONAME
- _ZNK32QDeclarativeDebugObjectReference4nameEv @ 1505 NONAME
- _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 1506 NONAME
- _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 1507 NONAME
- _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 1508 NONAME
- _ZNK32QDeclarativeDebugObjectReference8idStringEv @ 1509 NONAME
- _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 1510 NONAME
- _ZNK33QDeclarativeDebugContextReference4nameEv @ 1511 NONAME
- _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 1512 NONAME
- _ZNK33QDeclarativeDebugContextReference7objectsEv @ 1513 NONAME
- _ZNK33QDeclarativeDebugContextReference8contextsEv @ 1514 NONAME
- _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 1515 NONAME
- _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 1516 NONAME
- _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 1517 NONAME
- _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 1518 NONAME
- _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 1519 NONAME
- _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 1520 NONAME
- _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 1521 NONAME
- _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 1522 NONAME
- _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 1523 NONAME
- _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 1524 NONAME
- _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 1525 NONAME
- _ZNK7QPacket7isEmptyEv @ 1526 NONAME
- _ZTI15QDeclarativePen @ 1527 NONAME
- _ZTI15QPacketAutoSend @ 1528 NONAME
- _ZTI15QPacketProtocol @ 1529 NONAME
+ _ZNK32QDeclarativeDebugEngineReference4nameEv @ 1498 NONAME ABSENT
+ _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 1499 NONAME ABSENT
+ _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 1500 NONAME ABSENT
+ _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 1501 NONAME ABSENT
+ _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 1502 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 1503 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 1504 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference4nameEv @ 1505 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 1506 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 1507 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 1508 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference8idStringEv @ 1509 NONAME ABSENT
+ _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 1510 NONAME ABSENT
+ _ZNK33QDeclarativeDebugContextReference4nameEv @ 1511 NONAME ABSENT
+ _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 1512 NONAME ABSENT
+ _ZNK33QDeclarativeDebugContextReference7objectsEv @ 1513 NONAME ABSENT
+ _ZNK33QDeclarativeDebugContextReference8contextsEv @ 1514 NONAME ABSENT
+ _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 1515 NONAME ABSENT
+ _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 1516 NONAME ABSENT
+ _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 1517 NONAME ABSENT
+ _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 1518 NONAME ABSENT
+ _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 1519 NONAME ABSENT
+ _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 1520 NONAME ABSENT
+ _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 1521 NONAME ABSENT
+ _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 1522 NONAME ABSENT
+ _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 1523 NONAME ABSENT
+ _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 1524 NONAME ABSENT
+ _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 1525 NONAME ABSENT
+ _ZNK7QPacket7isEmptyEv @ 1526 NONAME ABSENT
+ _ZTI15QDeclarativePen @ 1527 NONAME ABSENT
+ _ZTI15QPacketAutoSend @ 1528 NONAME ABSENT
+ _ZTI15QPacketProtocol @ 1529 NONAME ABSENT
_ZTI16QDeclarativeItem @ 1530 NONAME
- _ZTI16QDeclarativeText @ 1531 NONAME
+ _ZTI16QDeclarativeText @ 1531 NONAME ABSENT
_ZTI16QDeclarativeView @ 1532 NONAME
_ZTI17QDeclarativeState @ 1533 NONAME
_ZTI18QDeclarativeEngine @ 1534 NONAME
- _ZTI18QMetaObjectBuilder @ 1535 NONAME
- _ZTI19QDeclarativeAnchors @ 1536 NONAME
- _ZTI19QDeclarativeBinding @ 1537 NONAME
+ _ZTI18QMetaObjectBuilder @ 1535 NONAME ABSENT
+ _ZTI19QDeclarativeAnchors @ 1536 NONAME ABSENT
+ _ZTI19QDeclarativeBinding @ 1537 NONAME ABSENT
_ZTI19QDeclarativeContext @ 1538 NONAME
- _ZTI19QListModelInterface @ 1539 NONAME
- _ZTI20QDeclarativeBehavior @ 1540 NONAME
+ _ZTI19QListModelInterface @ 1539 NONAME ABSENT
+ _ZTI20QDeclarativeBehavior @ 1540 NONAME ABSENT
_ZTI21QDeclarativeComponent @ 1541 NONAME
- _ZTI21QDeclarativeListModel @ 1542 NONAME
- _ZTI21QDeclarativeRectangle @ 1543 NONAME
- _ZTI21QDeclarativeScaleGrid @ 1544 NONAME
- _ZTI21QDeclarativeValueType @ 1545 NONAME
- _ZTI22QDeclarativeDebugQuery @ 1546 NONAME
- _ZTI22QDeclarativeDebugWatch @ 1547 NONAME
+ _ZTI21QDeclarativeListModel @ 1542 NONAME ABSENT
+ _ZTI21QDeclarativeRectangle @ 1543 NONAME ABSENT
+ _ZTI21QDeclarativeScaleGrid @ 1544 NONAME ABSENT
+ _ZTI21QDeclarativeValueType @ 1545 NONAME ABSENT
+ _ZTI22QDeclarativeDebugQuery @ 1546 NONAME ABSENT
+ _ZTI22QDeclarativeDebugWatch @ 1547 NONAME ABSENT
_ZTI22QDeclarativeExpression @ 1548 NONAME
_ZTI22QDeclarativeStateGroup @ 1549 NONAME
_ZTI22QDeclarativeTransition @ 1550 NONAME
- _ZTI23QDeclarativeDebugClient @ 1551 NONAME
- _ZTI23QDeclarativeEngineDebug @ 1552 NONAME
+ _ZTI23QDeclarativeDebugClient @ 1551 NONAME ABSENT
+ _ZTI23QDeclarativeEngineDebug @ 1552 NONAME ABSENT
_ZTI23QDeclarativeItemPrivate @ 1553 NONAME
_ZTI23QDeclarativePropertyMap @ 1554 NONAME
_ZTI24QDeclarativeCustomParser @ 1555 NONAME
- _ZTI24QDeclarativeDebugService @ 1556 NONAME
+ _ZTI24QDeclarativeDebugService @ 1556 NONAME ABSENT
_ZTI24QDeclarativeParserStatus @ 1557 NONAME
_ZTI25QDeclarativeImageProvider @ 1558 NONAME
- _ZTI26QDeclarativeDebuggerStatus @ 1559 NONAME
- _ZTI26QDeclarativeOpenMetaObject @ 1560 NONAME
+ _ZTI26QDeclarativeDebuggerStatus @ 1559 NONAME ABSENT
+ _ZTI26QDeclarativeOpenMetaObject @ 1560 NONAME ABSENT
_ZTI26QDeclarativeStateOperation @ 1561 NONAME
- _ZTI27QDeclarativeAbstractBinding @ 1562 NONAME
- _ZTI27QDeclarativeDebugConnection @ 1563 NONAME
+ _ZTI27QDeclarativeAbstractBinding @ 1562 NONAME ABSENT
+ _ZTI27QDeclarativeDebugConnection @ 1563 NONAME ABSENT
_ZTI27QDeclarativeExtensionPlugin @ 1564 NONAME
- _ZTI28QDeclarativeDebugObjectQuery @ 1565 NONAME
- _ZTI29QDeclarativeDebugEnginesQuery @ 1566 NONAME
- _ZTI30QDeclarativeDebugPropertyWatch @ 1567 NONAME
+ _ZTI28QDeclarativeDebugObjectQuery @ 1565 NONAME ABSENT
+ _ZTI29QDeclarativeDebugEnginesQuery @ 1566 NONAME ABSENT
+ _ZTI30QDeclarativeDebugPropertyWatch @ 1567 NONAME ABSENT
_ZTI30QDeclarativeExtensionInterface @ 1568 NONAME
- _ZTI30QDeclarativeOpenMetaObjectType @ 1569 NONAME
+ _ZTI30QDeclarativeOpenMetaObjectType @ 1569 NONAME ABSENT
_ZTI31QDeclarativePropertyValueSource @ 1570 NONAME
- _ZTI32QDeclarativeDebugExpressionQuery @ 1571 NONAME
- _ZTI33QDeclarativeDebugRootContextQuery @ 1572 NONAME
+ _ZTI32QDeclarativeDebugExpressionQuery @ 1571 NONAME ABSENT
+ _ZTI33QDeclarativeDebugRootContextQuery @ 1572 NONAME ABSENT
_ZTI36QDeclarativePropertyValueInterceptor @ 1573 NONAME
- _ZTI38QDeclarativeDebugObjectExpressionWatch @ 1574 NONAME
+ _ZTI38QDeclarativeDebugObjectExpressionWatch @ 1574 NONAME ABSENT
_ZTI39QDeclarativeNetworkAccessManagerFactory @ 1575 NONAME
- _ZTI7QPacket @ 1576 NONAME
- _ZTV15QDeclarativePen @ 1577 NONAME
- _ZTV15QPacketAutoSend @ 1578 NONAME
- _ZTV15QPacketProtocol @ 1579 NONAME
+ _ZTI7QPacket @ 1576 NONAME ABSENT
+ _ZTV15QDeclarativePen @ 1577 NONAME ABSENT
+ _ZTV15QPacketAutoSend @ 1578 NONAME ABSENT
+ _ZTV15QPacketProtocol @ 1579 NONAME ABSENT
_ZTV16QDeclarativeItem @ 1580 NONAME
- _ZTV16QDeclarativeText @ 1581 NONAME
+ _ZTV16QDeclarativeText @ 1581 NONAME ABSENT
_ZTV16QDeclarativeView @ 1582 NONAME
_ZTV17QDeclarativeState @ 1583 NONAME
_ZTV18QDeclarativeEngine @ 1584 NONAME
- _ZTV18QMetaObjectBuilder @ 1585 NONAME
- _ZTV19QDeclarativeAnchors @ 1586 NONAME
- _ZTV19QDeclarativeBinding @ 1587 NONAME
+ _ZTV18QMetaObjectBuilder @ 1585 NONAME ABSENT
+ _ZTV19QDeclarativeAnchors @ 1586 NONAME ABSENT
+ _ZTV19QDeclarativeBinding @ 1587 NONAME ABSENT
_ZTV19QDeclarativeContext @ 1588 NONAME
- _ZTV19QListModelInterface @ 1589 NONAME
- _ZTV20QDeclarativeBehavior @ 1590 NONAME
+ _ZTV19QListModelInterface @ 1589 NONAME ABSENT
+ _ZTV20QDeclarativeBehavior @ 1590 NONAME ABSENT
_ZTV21QDeclarativeComponent @ 1591 NONAME
- _ZTV21QDeclarativeListModel @ 1592 NONAME
- _ZTV21QDeclarativeRectangle @ 1593 NONAME
- _ZTV21QDeclarativeScaleGrid @ 1594 NONAME
- _ZTV21QDeclarativeValueType @ 1595 NONAME
- _ZTV22QDeclarativeDebugQuery @ 1596 NONAME
- _ZTV22QDeclarativeDebugWatch @ 1597 NONAME
+ _ZTV21QDeclarativeListModel @ 1592 NONAME ABSENT
+ _ZTV21QDeclarativeRectangle @ 1593 NONAME ABSENT
+ _ZTV21QDeclarativeScaleGrid @ 1594 NONAME ABSENT
+ _ZTV21QDeclarativeValueType @ 1595 NONAME ABSENT
+ _ZTV22QDeclarativeDebugQuery @ 1596 NONAME ABSENT
+ _ZTV22QDeclarativeDebugWatch @ 1597 NONAME ABSENT
_ZTV22QDeclarativeExpression @ 1598 NONAME
_ZTV22QDeclarativeStateGroup @ 1599 NONAME
_ZTV22QDeclarativeTransition @ 1600 NONAME
- _ZTV23QDeclarativeDebugClient @ 1601 NONAME
- _ZTV23QDeclarativeEngineDebug @ 1602 NONAME
+ _ZTV23QDeclarativeDebugClient @ 1601 NONAME ABSENT
+ _ZTV23QDeclarativeEngineDebug @ 1602 NONAME ABSENT
_ZTV23QDeclarativeItemPrivate @ 1603 NONAME
_ZTV23QDeclarativePropertyMap @ 1604 NONAME
_ZTV24QDeclarativeCustomParser @ 1605 NONAME
- _ZTV24QDeclarativeDebugService @ 1606 NONAME
+ _ZTV24QDeclarativeDebugService @ 1606 NONAME ABSENT
_ZTV24QDeclarativeParserStatus @ 1607 NONAME
_ZTV25QDeclarativeImageProvider @ 1608 NONAME
- _ZTV26QDeclarativeDebuggerStatus @ 1609 NONAME
- _ZTV26QDeclarativeOpenMetaObject @ 1610 NONAME
+ _ZTV26QDeclarativeDebuggerStatus @ 1609 NONAME ABSENT
+ _ZTV26QDeclarativeOpenMetaObject @ 1610 NONAME ABSENT
_ZTV26QDeclarativeStateOperation @ 1611 NONAME
- _ZTV27QDeclarativeAbstractBinding @ 1612 NONAME
- _ZTV27QDeclarativeDebugConnection @ 1613 NONAME
+ _ZTV27QDeclarativeAbstractBinding @ 1612 NONAME ABSENT
+ _ZTV27QDeclarativeDebugConnection @ 1613 NONAME ABSENT
_ZTV27QDeclarativeExtensionPlugin @ 1614 NONAME
- _ZTV28QDeclarativeDebugObjectQuery @ 1615 NONAME
- _ZTV29QDeclarativeDebugEnginesQuery @ 1616 NONAME
- _ZTV30QDeclarativeDebugPropertyWatch @ 1617 NONAME
- _ZTV30QDeclarativeOpenMetaObjectType @ 1618 NONAME
+ _ZTV28QDeclarativeDebugObjectQuery @ 1615 NONAME ABSENT
+ _ZTV29QDeclarativeDebugEnginesQuery @ 1616 NONAME ABSENT
+ _ZTV30QDeclarativeDebugPropertyWatch @ 1617 NONAME ABSENT
+ _ZTV30QDeclarativeOpenMetaObjectType @ 1618 NONAME ABSENT
_ZTV31QDeclarativePropertyValueSource @ 1619 NONAME
- _ZTV32QDeclarativeDebugExpressionQuery @ 1620 NONAME
- _ZTV33QDeclarativeDebugRootContextQuery @ 1621 NONAME
+ _ZTV32QDeclarativeDebugExpressionQuery @ 1620 NONAME ABSENT
+ _ZTV33QDeclarativeDebugRootContextQuery @ 1621 NONAME ABSENT
_ZTV36QDeclarativePropertyValueInterceptor @ 1622 NONAME
- _ZTV38QDeclarativeDebugObjectExpressionWatch @ 1623 NONAME
+ _ZTV38QDeclarativeDebugObjectExpressionWatch @ 1623 NONAME ABSENT
_ZTV39QDeclarativeNetworkAccessManagerFactory @ 1624 NONAME
- _ZTV7QPacket @ 1625 NONAME
+ _ZTV7QPacket @ 1625 NONAME ABSENT
_ZThn16_N16QDeclarativeItem10classBeginEv @ 1626 NONAME
_ZThn16_N16QDeclarativeItem17componentCompleteEv @ 1627 NONAME
_ZThn16_N16QDeclarativeItemD0Ev @ 1628 NONAME
_ZThn16_N16QDeclarativeItemD1Ev @ 1629 NONAME
- _ZThn16_N16QDeclarativeText17componentCompleteEv @ 1630 NONAME
- _ZThn16_N16QDeclarativeTextD0Ev @ 1631 NONAME
- _ZThn16_N16QDeclarativeTextD1Ev @ 1632 NONAME
+ _ZThn16_N16QDeclarativeText17componentCompleteEv @ 1630 NONAME ABSENT
+ _ZThn16_N16QDeclarativeTextD0Ev @ 1631 NONAME ABSENT
+ _ZThn16_N16QDeclarativeTextD1Ev @ 1632 NONAME ABSENT
_ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1633 NONAME
_ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 1634 NONAME
_ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 1635 NONAME
@@ -1639,23 +1639,23 @@ EXPORTS
_ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1638 NONAME
_ZThn8_N16QDeclarativeItemD0Ev @ 1639 NONAME
_ZThn8_N16QDeclarativeItemD1Ev @ 1640 NONAME
- _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 1641 NONAME
- _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1642 NONAME
- _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1643 NONAME
- _ZThn8_N16QDeclarativeTextD0Ev @ 1644 NONAME
- _ZThn8_N16QDeclarativeTextD1Ev @ 1645 NONAME
+ _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 1641 NONAME ABSENT
+ _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1642 NONAME ABSENT
+ _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1643 NONAME ABSENT
+ _ZThn8_N16QDeclarativeTextD0Ev @ 1644 NONAME ABSENT
+ _ZThn8_N16QDeclarativeTextD1Ev @ 1645 NONAME ABSENT
_ZThn8_N16QDeclarativeViewD0Ev @ 1646 NONAME
_ZThn8_N16QDeclarativeViewD1Ev @ 1647 NONAME
- _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1648 NONAME
- _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 1649 NONAME
- _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1650 NONAME
- _ZThn8_N19QDeclarativeBindingD0Ev @ 1651 NONAME
- _ZThn8_N19QDeclarativeBindingD1Ev @ 1652 NONAME
- _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 1653 NONAME
- _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 1654 NONAME
- _ZThn8_N20QDeclarativeBehaviorD0Ev @ 1655 NONAME
- _ZThn8_N20QDeclarativeBehaviorD1Ev @ 1656 NONAME
- _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1657 NONAME
+ _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1648 NONAME ABSENT
+ _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 1649 NONAME ABSENT
+ _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1650 NONAME ABSENT
+ _ZThn8_N19QDeclarativeBindingD0Ev @ 1651 NONAME ABSENT
+ _ZThn8_N19QDeclarativeBindingD1Ev @ 1652 NONAME ABSENT
+ _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 1653 NONAME ABSENT
+ _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 1654 NONAME ABSENT
+ _ZThn8_N20QDeclarativeBehaviorD0Ev @ 1655 NONAME ABSENT
+ _ZThn8_N20QDeclarativeBehaviorD1Ev @ 1656 NONAME ABSENT
+ _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1657 NONAME ABSENT
_ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 1658 NONAME
_ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 1659 NONAME
_ZThn8_N22QDeclarativeStateGroupD0Ev @ 1660 NONAME
@@ -1665,16 +1665,16 @@ EXPORTS
_ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 1664 NONAME
_ZThn8_NK16QDeclarativeItem12boundingRectEv @ 1665 NONAME
_ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 1666 NONAME
- _ZThn8_NK16QDeclarativeText12boundingRectEv @ 1667 NONAME
- _ZThn8_NK19QDeclarativeBinding10expressionEv @ 1668 NONAME
- _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 1669 NONAME
+ _ZThn8_NK16QDeclarativeText12boundingRectEv @ 1667 NONAME ABSENT
+ _ZThn8_NK19QDeclarativeBinding10expressionEv @ 1668 NONAME ABSENT
+ _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 1669 NONAME ABSENT
_Zls6QDebugP16QDeclarativeItem @ 1670 NONAME
_Zls6QDebugRK17QDeclarativeError @ 1671 NONAME
- _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1672 NONAME
- _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1673 NONAME
- _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1674 NONAME
- _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1675 NONAME
- _ZN23QDeclarativeEngineDebug10newObjectsEv @ 1676 NONAME
+ _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1672 NONAME ABSENT
+ _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1673 NONAME ABSENT
+ _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 1674 NONAME ABSENT
+ _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 1675 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug10newObjectsEv @ 1676 NONAME ABSENT
_ZN17QDeclarativeState20addEntryToRevertListERK18QDeclarativeAction @ 1677 NONAME
_ZN17QDeclarativeState22addEntriesToRevertListERK5QListI18QDeclarativeActionE @ 1678 NONAME
_ZN17QDeclarativeState23changeValueInRevertListEP7QObjectRK10QByteArrayRK8QVariant @ 1679 NONAME
@@ -1686,202 +1686,203 @@ EXPORTS
_ZN23QDeclarativeItemPrivate15resources_clearEP24QDeclarativeListPropertyI7QObjectE @ 1685 NONAME
_ZN23QDeclarativeItemPrivate7data_atEP24QDeclarativeListPropertyI7QObjectEi @ 1686 NONAME
_ZN26QDeclarativeStateOperation8setStateEP17QDeclarativeState @ 1687 NONAME
- _ZN27QDeclarativeAbstractBinding11weakPointerEv @ 1688 NONAME
- _ZN27QDeclarativePropertyChanges11changeValueERK10QByteArrayRK8QVariant @ 1689 NONAME
- _ZN27QDeclarativePropertyChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1690 NONAME
- _ZN27QDeclarativePropertyChanges11qt_metacastEPKc @ 1691 NONAME
- _ZN27QDeclarativePropertyChanges13attachToStateEv @ 1692 NONAME
- _ZN27QDeclarativePropertyChanges13setIsExplicitEb @ 1693 NONAME
- _ZN27QDeclarativePropertyChanges14removePropertyERK10QByteArray @ 1694 NONAME
- _ZN27QDeclarativePropertyChanges15detachFromStateEv @ 1695 NONAME
- _ZN27QDeclarativePropertyChanges16changeExpressionERK10QByteArrayRK7QString @ 1696 NONAME
- _ZN27QDeclarativePropertyChanges16staticMetaObjectE @ 1697 NONAME DATA 16
- _ZN27QDeclarativePropertyChanges19getStaticMetaObjectEv @ 1698 NONAME
- _ZN27QDeclarativePropertyChanges21setRestoreEntryValuesEb @ 1699 NONAME
- _ZN27QDeclarativePropertyChanges7actionsEv @ 1700 NONAME
- _ZN27QDeclarativePropertyChanges9setObjectEP7QObject @ 1701 NONAME
- _ZN27QDeclarativePropertyChangesC1Ev @ 1702 NONAME
- _ZN27QDeclarativePropertyChangesC2Ev @ 1703 NONAME
- _ZN27QDeclarativePropertyChangesD0Ev @ 1704 NONAME
- _ZN27QDeclarativePropertyChangesD1Ev @ 1705 NONAME
- _ZN27QDeclarativePropertyChangesD2Ev @ 1706 NONAME
+ _ZN27QDeclarativeAbstractBinding11weakPointerEv @ 1688 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges11changeValueERK10QByteArrayRK8QVariant @ 1689 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1690 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges11qt_metacastEPKc @ 1691 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges13attachToStateEv @ 1692 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges13setIsExplicitEb @ 1693 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges14removePropertyERK10QByteArray @ 1694 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges15detachFromStateEv @ 1695 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges16changeExpressionERK10QByteArrayRK7QString @ 1696 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges16staticMetaObjectE @ 1697 NONAME DATA 16 ABSENT
+ _ZN27QDeclarativePropertyChanges19getStaticMetaObjectEv @ 1698 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges21setRestoreEntryValuesEb @ 1699 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges7actionsEv @ 1700 NONAME ABSENT
+ _ZN27QDeclarativePropertyChanges9setObjectEP7QObject @ 1701 NONAME ABSENT
+ _ZN27QDeclarativePropertyChangesC1Ev @ 1702 NONAME ABSENT
+ _ZN27QDeclarativePropertyChangesC2Ev @ 1703 NONAME ABSENT
+ _ZN27QDeclarativePropertyChangesD0Ev @ 1704 NONAME ABSENT
+ _ZN27QDeclarativePropertyChangesD1Ev @ 1705 NONAME ABSENT
+ _ZN27QDeclarativePropertyChangesD2Ev @ 1706 NONAME ABSENT
_ZNK17QDeclarativeState13isStateActiveEv @ 1707 NONAME
_ZNK17QDeclarativeState17valueInRevertListEP7QObjectRK10QByteArray @ 1708 NONAME
_ZNK17QDeclarativeState19bindingInRevertListEP7QObjectRK10QByteArray @ 1709 NONAME
_ZNK17QDeclarativeState28containsPropertyInRevertListEP7QObjectRK10QByteArray @ 1710 NONAME
_ZNK26QDeclarativeStateOperation5stateEv @ 1711 NONAME
- _ZNK27QDeclarativePropertyChanges10expressionERK10QByteArray @ 1712 NONAME
- _ZNK27QDeclarativePropertyChanges10isExplicitEv @ 1713 NONAME
- _ZNK27QDeclarativePropertyChanges10metaObjectEv @ 1714 NONAME
- _ZNK27QDeclarativePropertyChanges13containsValueERK10QByteArray @ 1715 NONAME
- _ZNK27QDeclarativePropertyChanges16containsPropertyERK10QByteArray @ 1716 NONAME
- _ZNK27QDeclarativePropertyChanges18containsExpressionERK10QByteArray @ 1717 NONAME
- _ZNK27QDeclarativePropertyChanges18restoreEntryValuesEv @ 1718 NONAME
- _ZNK27QDeclarativePropertyChanges5valueERK10QByteArray @ 1719 NONAME
- _ZNK27QDeclarativePropertyChanges6objectEv @ 1720 NONAME
- _ZNK27QDeclarativePropertyChanges8propertyERK10QByteArray @ 1721 NONAME
- _ZTI27QDeclarativePropertyChanges @ 1722 NONAME
- _ZTV27QDeclarativePropertyChanges @ 1723 NONAME
- _ZN24QDeclarativeScriptAction10transitionER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEN29QDeclarativeAbstractAnimation19TransitionDirectionE @ 1724 NONAME
- _ZN24QDeclarativeScriptAction11qtAnimationEv @ 1725 NONAME
- _ZN24QDeclarativeScriptAction11qt_metacallEN11QMetaObject4CallEiPPv @ 1726 NONAME
- _ZN24QDeclarativeScriptAction11qt_metacastEPKc @ 1727 NONAME
- _ZN24QDeclarativeScriptAction16staticMetaObjectE @ 1728 NONAME DATA 16
- _ZN24QDeclarativeScriptAction19getStaticMetaObjectEv @ 1729 NONAME
- _ZN24QDeclarativeScriptAction24setStateChangeScriptNameERK7QString @ 1730 NONAME
- _ZN24QDeclarativeScriptAction9setScriptERK24QDeclarativeScriptString @ 1731 NONAME
- _ZN24QDeclarativeScriptActionC1EP7QObject @ 1732 NONAME
- _ZN24QDeclarativeScriptActionC2EP7QObject @ 1733 NONAME
- _ZN24QDeclarativeScriptActionD0Ev @ 1734 NONAME
- _ZN24QDeclarativeScriptActionD1Ev @ 1735 NONAME
- _ZN24QDeclarativeScriptActionD2Ev @ 1736 NONAME
- _ZNK24QDeclarativeScriptAction10metaObjectEv @ 1737 NONAME
- _ZNK24QDeclarativeScriptAction21stateChangeScriptNameEv @ 1738 NONAME
- _ZNK24QDeclarativeScriptAction6scriptEv @ 1739 NONAME
- _ZTI24QDeclarativeScriptAction @ 1740 NONAME
- _ZTV24QDeclarativeScriptAction @ 1741 NONAME
- _ZThn12_N24QDeclarativeScriptActionD0Ev @ 1742 NONAME
- _ZThn12_N24QDeclarativeScriptActionD1Ev @ 1743 NONAME
- _ZThn8_N24QDeclarativeScriptActionD0Ev @ 1744 NONAME
- _ZThn8_N24QDeclarativeScriptActionD1Ev @ 1745 NONAME
- _ZN21QDeclarativeListModelC1EPKS_P32QDeclarativeListModelWorkerAgent @ 1746 NONAME
- _ZN21QDeclarativeListModelC2EPKS_P32QDeclarativeListModelWorkerAgent @ 1747 NONAME
- _ZNK21QDeclarativeListModel14inWorkerThreadEv @ 1748 NONAME
- _ZN23QDeclarativeDebugHelper15getScriptEngineEP18QDeclarativeEngine @ 1749 NONAME
- _ZN23QDeclarativeDebugHelper26setAnimationSlowDownFactorEf @ 1750 NONAME
- _ZN17QDeclarativeTimer10classBeginEv @ 1751 NONAME
- _ZN17QDeclarativeTimer10setRunningEb @ 1752 NONAME
- _ZN17QDeclarativeTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 1753 NONAME
- _ZN17QDeclarativeTimer11qt_metacastEPKc @ 1754 NONAME
- _ZN17QDeclarativeTimer11setIntervalEi @ 1755 NONAME
- _ZN17QDeclarativeTimer12setRepeatingEb @ 1756 NONAME
- _ZN17QDeclarativeTimer13repeatChangedEv @ 1757 NONAME
- _ZN17QDeclarativeTimer14runningChangedEv @ 1758 NONAME
- _ZN17QDeclarativeTimer15intervalChangedEv @ 1759 NONAME
- _ZN17QDeclarativeTimer16staticMetaObjectE @ 1760 NONAME DATA 16
- _ZN17QDeclarativeTimer17componentCompleteEv @ 1761 NONAME
- _ZN17QDeclarativeTimer19getStaticMetaObjectEv @ 1762 NONAME
- _ZN17QDeclarativeTimer19setTriggeredOnStartEb @ 1763 NONAME
- _ZN17QDeclarativeTimer23triggeredOnStartChangedEv @ 1764 NONAME
- _ZN17QDeclarativeTimer4stopEv @ 1765 NONAME
- _ZN17QDeclarativeTimer5startEv @ 1766 NONAME
- _ZN17QDeclarativeTimer6tickedEv @ 1767 NONAME
- _ZN17QDeclarativeTimer6updateEv @ 1768 NONAME
- _ZN17QDeclarativeTimer7restartEv @ 1769 NONAME
- _ZN17QDeclarativeTimer8finishedEv @ 1770 NONAME
- _ZN17QDeclarativeTimer9triggeredEv @ 1771 NONAME
- _ZN17QDeclarativeTimerC1EP7QObject @ 1772 NONAME
- _ZN17QDeclarativeTimerC2EP7QObject @ 1773 NONAME
- _ZN23QDeclarativeDebugClient13statusChangedENS_6StatusE @ 1774 NONAME
- _ZN23QDeclarativeDebugClientD0Ev @ 1775 NONAME
- _ZN23QDeclarativeDebugClientD1Ev @ 1776 NONAME
- _ZN23QDeclarativeDebugClientD2Ev @ 1777 NONAME
- _ZN23QDeclarativeEngineDebug13statusChangedENS_6StatusE @ 1778 NONAME
- _ZN24QDeclarativeDebugService13statusChangedENS_6StatusE @ 1779 NONAME
- _ZN24QDeclarativeDebugServiceD0Ev @ 1780 NONAME
- _ZN24QDeclarativeDebugServiceD1Ev @ 1781 NONAME
- _ZN24QDeclarativeDebugServiceD2Ev @ 1782 NONAME
- _ZN26QDeclarativeBasePositioner10addChangedEv @ 1783 NONAME
- _ZN26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1784 NONAME
- _ZN26QDeclarativeBasePositioner10setSpacingEi @ 1785 NONAME
- _ZN26QDeclarativeBasePositioner11moveChangedEv @ 1786 NONAME
- _ZN26QDeclarativeBasePositioner11qt_metacallEN11QMetaObject4CallEiPPv @ 1787 NONAME
- _ZN26QDeclarativeBasePositioner11qt_metacastEPKc @ 1788 NONAME
- _ZN26QDeclarativeBasePositioner14prePositioningEv @ 1789 NONAME
- _ZN26QDeclarativeBasePositioner14spacingChangedEv @ 1790 NONAME
- _ZN26QDeclarativeBasePositioner16staticMetaObjectE @ 1791 NONAME DATA 16
- _ZN26QDeclarativeBasePositioner17componentCompleteEv @ 1792 NONAME
- _ZN26QDeclarativeBasePositioner19getStaticMetaObjectEv @ 1793 NONAME
- _ZN26QDeclarativeBasePositioner22finishApplyTransitionsEv @ 1794 NONAME
- _ZN26QDeclarativeBasePositioner29graphicsWidgetGeometryChangedEv @ 1795 NONAME
- _ZN26QDeclarativeBasePositioner6setAddEP22QDeclarativeTransition @ 1796 NONAME
- _ZN26QDeclarativeBasePositioner7setMoveEP22QDeclarativeTransition @ 1797 NONAME
- _ZN26QDeclarativeBasePositioner9positionXEiRKNS_14PositionedItemE @ 1798 NONAME
- _ZN26QDeclarativeBasePositioner9positionYEiRKNS_14PositionedItemE @ 1799 NONAME
- _ZN26QDeclarativeBasePositionerC2ENS_14PositionerTypeEP16QDeclarativeItem @ 1800 NONAME
- _ZN26QDeclarativeBasePositionerC2ER33QDeclarativeBasePositionerPrivateNS_14PositionerTypeEP16QDeclarativeItem @ 1801 NONAME
- _ZN26QDeclarativeBasePositionerD0Ev @ 1802 NONAME
- _ZN26QDeclarativeBasePositionerD1Ev @ 1803 NONAME
- _ZN26QDeclarativeBasePositionerD2Ev @ 1804 NONAME
- _ZN27QDeclarativeDebugConnectionD0Ev @ 1805 NONAME
- _ZN27QDeclarativeDebugConnectionD1Ev @ 1806 NONAME
- _ZN27QDeclarativeDebugConnectionD2Ev @ 1807 NONAME
- _ZN29QDeclarativeAbstractAnimation10classBeginEv @ 1808 NONAME
- _ZN29QDeclarativeAbstractAnimation10setRunningEb @ 1809 NONAME
- _ZN29QDeclarativeAbstractAnimation10transitionER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyENS_19TransitionDirectionE @ 1810 NONAME
- _ZN29QDeclarativeAbstractAnimation11currentTimeEv @ 1811 NONAME
- _ZN29QDeclarativeAbstractAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 1812 NONAME
- _ZN29QDeclarativeAbstractAnimation11qt_metacastEPKc @ 1813 NONAME
- _ZN29QDeclarativeAbstractAnimation13pausedChangedEb @ 1814 NONAME
- _ZN29QDeclarativeAbstractAnimation14runningChangedEb @ 1815 NONAME
- _ZN29QDeclarativeAbstractAnimation14setCurrentTimeEi @ 1816 NONAME
- _ZN29QDeclarativeAbstractAnimation16loopCountChangedEi @ 1817 NONAME
- _ZN29QDeclarativeAbstractAnimation16setDefaultTargetERK20QDeclarativeProperty @ 1818 NONAME
- _ZN29QDeclarativeAbstractAnimation16staticMetaObjectE @ 1819 NONAME DATA 16
- _ZN29QDeclarativeAbstractAnimation16timelineCompleteEv @ 1820 NONAME
- _ZN29QDeclarativeAbstractAnimation17componentCompleteEv @ 1821 NONAME
- _ZN29QDeclarativeAbstractAnimation17setAlwaysRunToEndEb @ 1822 NONAME
- _ZN29QDeclarativeAbstractAnimation18componentFinalizedEv @ 1823 NONAME
- _ZN29QDeclarativeAbstractAnimation19getStaticMetaObjectEv @ 1824 NONAME
- _ZN29QDeclarativeAbstractAnimation20notifyRunningChangedEb @ 1825 NONAME
- _ZN29QDeclarativeAbstractAnimation21alwaysRunToEndChangedEb @ 1826 NONAME
- _ZN29QDeclarativeAbstractAnimation21setDisableUserControlEv @ 1827 NONAME
- _ZN29QDeclarativeAbstractAnimation4stopEv @ 1828 NONAME
- _ZN29QDeclarativeAbstractAnimation5pauseEv @ 1829 NONAME
- _ZN29QDeclarativeAbstractAnimation5startEv @ 1830 NONAME
- _ZN29QDeclarativeAbstractAnimation6resumeEv @ 1831 NONAME
- _ZN29QDeclarativeAbstractAnimation7restartEv @ 1832 NONAME
- _ZN29QDeclarativeAbstractAnimation7startedEv @ 1833 NONAME
- _ZN29QDeclarativeAbstractAnimation8completeEv @ 1834 NONAME
- _ZN29QDeclarativeAbstractAnimation8setGroupEP26QDeclarativeAnimationGroup @ 1835 NONAME
- _ZN29QDeclarativeAbstractAnimation8setLoopsEi @ 1836 NONAME
- _ZN29QDeclarativeAbstractAnimation9completedEv @ 1837 NONAME
- _ZN29QDeclarativeAbstractAnimation9setPausedEb @ 1838 NONAME
- _ZN29QDeclarativeAbstractAnimation9setTargetERK20QDeclarativeProperty @ 1839 NONAME
- _ZN29QDeclarativeAbstractAnimationC2EP7QObject @ 1840 NONAME
- _ZN29QDeclarativeAbstractAnimationC2ER36QDeclarativeAbstractAnimationPrivateP7QObject @ 1841 NONAME
- _ZN29QDeclarativeAbstractAnimationD0Ev @ 1842 NONAME
- _ZN29QDeclarativeAbstractAnimationD1Ev @ 1843 NONAME
- _ZN29QDeclarativeAbstractAnimationD2Ev @ 1844 NONAME
- _ZNK16QDeclarativeType20attachedPropertiesIdEv @ 1845 NONAME
- _ZNK17QDeclarativeTimer10metaObjectEv @ 1846 NONAME
- _ZNK17QDeclarativeTimer11isRepeatingEv @ 1847 NONAME
- _ZNK17QDeclarativeTimer16triggeredOnStartEv @ 1848 NONAME
- _ZNK17QDeclarativeTimer8intervalEv @ 1849 NONAME
- _ZNK17QDeclarativeTimer9isRunningEv @ 1850 NONAME
- _ZNK23QDeclarativeDebugClient6statusEv @ 1851 NONAME
- _ZNK23QDeclarativeEngineDebug6statusEv @ 1852 NONAME
- _ZNK24QDeclarativeDebugService6statusEv @ 1853 NONAME
- _ZNK26QDeclarativeBasePositioner10metaObjectEv @ 1854 NONAME
- _ZNK26QDeclarativeBasePositioner3addEv @ 1855 NONAME
- _ZNK26QDeclarativeBasePositioner4moveEv @ 1856 NONAME
- _ZNK26QDeclarativeBasePositioner7spacingEv @ 1857 NONAME
- _ZNK29QDeclarativeAbstractAnimation10metaObjectEv @ 1858 NONAME
- _ZNK29QDeclarativeAbstractAnimation14alwaysRunToEndEv @ 1859 NONAME
- _ZNK29QDeclarativeAbstractAnimation5groupEv @ 1860 NONAME
- _ZNK29QDeclarativeAbstractAnimation5loopsEv @ 1861 NONAME
- _ZNK29QDeclarativeAbstractAnimation8isPausedEv @ 1862 NONAME
- _ZNK29QDeclarativeAbstractAnimation9isRunningEv @ 1863 NONAME
- _ZTI17QDeclarativeTimer @ 1864 NONAME
- _ZTI26QDeclarativeBasePositioner @ 1865 NONAME
- _ZTI29QDeclarativeAbstractAnimation @ 1866 NONAME
- _ZTV17QDeclarativeTimer @ 1867 NONAME
- _ZTV26QDeclarativeBasePositioner @ 1868 NONAME
- _ZTV29QDeclarativeAbstractAnimation @ 1869 NONAME
- _ZThn12_N29QDeclarativeAbstractAnimation10classBeginEv @ 1870 NONAME
- _ZThn12_N29QDeclarativeAbstractAnimation17componentCompleteEv @ 1871 NONAME
- _ZThn12_N29QDeclarativeAbstractAnimationD0Ev @ 1872 NONAME
- _ZThn12_N29QDeclarativeAbstractAnimationD1Ev @ 1873 NONAME
- _ZThn16_N26QDeclarativeBasePositioner17componentCompleteEv @ 1874 NONAME
- _ZThn16_N26QDeclarativeBasePositionerD0Ev @ 1875 NONAME
- _ZThn16_N26QDeclarativeBasePositionerD1Ev @ 1876 NONAME
- _ZThn8_N17QDeclarativeTimer10classBeginEv @ 1877 NONAME
- _ZThn8_N17QDeclarativeTimer17componentCompleteEv @ 1878 NONAME
- _ZThn8_N26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1879 NONAME
- _ZThn8_N26QDeclarativeBasePositionerD0Ev @ 1880 NONAME
- _ZThn8_N26QDeclarativeBasePositionerD1Ev @ 1881 NONAME
- _ZThn8_N29QDeclarativeAbstractAnimation9setTargetERK20QDeclarativeProperty @ 1882 NONAME
- _ZThn8_N29QDeclarativeAbstractAnimationD0Ev @ 1883 NONAME
- _ZThn8_N29QDeclarativeAbstractAnimationD1Ev @ 1884 NONAME
- _ZN27QDeclarativePropertyPrivate7connectEPK7QObjectiS2_iiPi @ 1885 NONAME
+ _ZNK27QDeclarativePropertyChanges10expressionERK10QByteArray @ 1712 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges10isExplicitEv @ 1713 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges10metaObjectEv @ 1714 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges13containsValueERK10QByteArray @ 1715 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges16containsPropertyERK10QByteArray @ 1716 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges18containsExpressionERK10QByteArray @ 1717 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges18restoreEntryValuesEv @ 1718 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges5valueERK10QByteArray @ 1719 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges6objectEv @ 1720 NONAME ABSENT
+ _ZNK27QDeclarativePropertyChanges8propertyERK10QByteArray @ 1721 NONAME ABSENT
+ _ZTI27QDeclarativePropertyChanges @ 1722 NONAME ABSENT
+ _ZTV27QDeclarativePropertyChanges @ 1723 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction10transitionER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEN29QDeclarativeAbstractAnimation19TransitionDirectionE @ 1724 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction11qtAnimationEv @ 1725 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction11qt_metacallEN11QMetaObject4CallEiPPv @ 1726 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction11qt_metacastEPKc @ 1727 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction16staticMetaObjectE @ 1728 NONAME DATA 16 ABSENT
+ _ZN24QDeclarativeScriptAction19getStaticMetaObjectEv @ 1729 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction24setStateChangeScriptNameERK7QString @ 1730 NONAME ABSENT
+ _ZN24QDeclarativeScriptAction9setScriptERK24QDeclarativeScriptString @ 1731 NONAME ABSENT
+ _ZN24QDeclarativeScriptActionC1EP7QObject @ 1732 NONAME ABSENT
+ _ZN24QDeclarativeScriptActionC2EP7QObject @ 1733 NONAME ABSENT
+ _ZN24QDeclarativeScriptActionD0Ev @ 1734 NONAME ABSENT
+ _ZN24QDeclarativeScriptActionD1Ev @ 1735 NONAME ABSENT
+ _ZN24QDeclarativeScriptActionD2Ev @ 1736 NONAME ABSENT
+ _ZNK24QDeclarativeScriptAction10metaObjectEv @ 1737 NONAME ABSENT
+ _ZNK24QDeclarativeScriptAction21stateChangeScriptNameEv @ 1738 NONAME ABSENT
+ _ZNK24QDeclarativeScriptAction6scriptEv @ 1739 NONAME ABSENT
+ _ZTI24QDeclarativeScriptAction @ 1740 NONAME ABSENT
+ _ZTV24QDeclarativeScriptAction @ 1741 NONAME ABSENT
+ _ZThn12_N24QDeclarativeScriptActionD0Ev @ 1742 NONAME ABSENT
+ _ZThn12_N24QDeclarativeScriptActionD1Ev @ 1743 NONAME ABSENT
+ _ZThn8_N24QDeclarativeScriptActionD0Ev @ 1744 NONAME ABSENT
+ _ZThn8_N24QDeclarativeScriptActionD1Ev @ 1745 NONAME ABSENT
+ _ZN21QDeclarativeListModelC1EPKS_P32QDeclarativeListModelWorkerAgent @ 1746 NONAME ABSENT
+ _ZN21QDeclarativeListModelC2EPKS_P32QDeclarativeListModelWorkerAgent @ 1747 NONAME ABSENT
+ _ZNK21QDeclarativeListModel14inWorkerThreadEv @ 1748 NONAME ABSENT
+ _ZN23QDeclarativeDebugHelper15getScriptEngineEP18QDeclarativeEngine @ 1749 NONAME ABSENT
+ _ZN23QDeclarativeDebugHelper26setAnimationSlowDownFactorEf @ 1750 NONAME ABSENT
+ _ZN17QDeclarativeTimer10classBeginEv @ 1751 NONAME ABSENT
+ _ZN17QDeclarativeTimer10setRunningEb @ 1752 NONAME ABSENT
+ _ZN17QDeclarativeTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 1753 NONAME ABSENT
+ _ZN17QDeclarativeTimer11qt_metacastEPKc @ 1754 NONAME ABSENT
+ _ZN17QDeclarativeTimer11setIntervalEi @ 1755 NONAME ABSENT
+ _ZN17QDeclarativeTimer12setRepeatingEb @ 1756 NONAME ABSENT
+ _ZN17QDeclarativeTimer13repeatChangedEv @ 1757 NONAME ABSENT
+ _ZN17QDeclarativeTimer14runningChangedEv @ 1758 NONAME ABSENT
+ _ZN17QDeclarativeTimer15intervalChangedEv @ 1759 NONAME ABSENT
+ _ZN17QDeclarativeTimer16staticMetaObjectE @ 1760 NONAME DATA 16 ABSENT
+ _ZN17QDeclarativeTimer17componentCompleteEv @ 1761 NONAME ABSENT
+ _ZN17QDeclarativeTimer19getStaticMetaObjectEv @ 1762 NONAME ABSENT
+ _ZN17QDeclarativeTimer19setTriggeredOnStartEb @ 1763 NONAME ABSENT
+ _ZN17QDeclarativeTimer23triggeredOnStartChangedEv @ 1764 NONAME ABSENT
+ _ZN17QDeclarativeTimer4stopEv @ 1765 NONAME ABSENT
+ _ZN17QDeclarativeTimer5startEv @ 1766 NONAME ABSENT
+ _ZN17QDeclarativeTimer6tickedEv @ 1767 NONAME ABSENT
+ _ZN17QDeclarativeTimer6updateEv @ 1768 NONAME ABSENT
+ _ZN17QDeclarativeTimer7restartEv @ 1769 NONAME ABSENT
+ _ZN17QDeclarativeTimer8finishedEv @ 1770 NONAME ABSENT
+ _ZN17QDeclarativeTimer9triggeredEv @ 1771 NONAME ABSENT
+ _ZN17QDeclarativeTimerC1EP7QObject @ 1772 NONAME ABSENT
+ _ZN17QDeclarativeTimerC2EP7QObject @ 1773 NONAME ABSENT
+ _ZN23QDeclarativeDebugClient13statusChangedENS_6StatusE @ 1774 NONAME ABSENT
+ _ZN23QDeclarativeDebugClientD0Ev @ 1775 NONAME ABSENT
+ _ZN23QDeclarativeDebugClientD1Ev @ 1776 NONAME ABSENT
+ _ZN23QDeclarativeDebugClientD2Ev @ 1777 NONAME ABSENT
+ _ZN23QDeclarativeEngineDebug13statusChangedENS_6StatusE @ 1778 NONAME ABSENT
+ _ZN24QDeclarativeDebugService13statusChangedENS_6StatusE @ 1779 NONAME ABSENT
+ _ZN24QDeclarativeDebugServiceD0Ev @ 1780 NONAME ABSENT
+ _ZN24QDeclarativeDebugServiceD1Ev @ 1781 NONAME ABSENT
+ _ZN24QDeclarativeDebugServiceD2Ev @ 1782 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner10addChangedEv @ 1783 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1784 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner10setSpacingEi @ 1785 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner11moveChangedEv @ 1786 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner11qt_metacallEN11QMetaObject4CallEiPPv @ 1787 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner11qt_metacastEPKc @ 1788 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner14prePositioningEv @ 1789 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner14spacingChangedEv @ 1790 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner16staticMetaObjectE @ 1791 NONAME DATA 16 ABSENT
+ _ZN26QDeclarativeBasePositioner17componentCompleteEv @ 1792 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner19getStaticMetaObjectEv @ 1793 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner22finishApplyTransitionsEv @ 1794 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner29graphicsWidgetGeometryChangedEv @ 1795 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner6setAddEP22QDeclarativeTransition @ 1796 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner7setMoveEP22QDeclarativeTransition @ 1797 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner9positionXEiRKNS_14PositionedItemE @ 1798 NONAME ABSENT
+ _ZN26QDeclarativeBasePositioner9positionYEiRKNS_14PositionedItemE @ 1799 NONAME ABSENT
+ _ZN26QDeclarativeBasePositionerC2ENS_14PositionerTypeEP16QDeclarativeItem @ 1800 NONAME ABSENT
+ _ZN26QDeclarativeBasePositionerC2ER33QDeclarativeBasePositionerPrivateNS_14PositionerTypeEP16QDeclarativeItem @ 1801 NONAME ABSENT
+ _ZN26QDeclarativeBasePositionerD0Ev @ 1802 NONAME ABSENT
+ _ZN26QDeclarativeBasePositionerD1Ev @ 1803 NONAME ABSENT
+ _ZN26QDeclarativeBasePositionerD2Ev @ 1804 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnectionD0Ev @ 1805 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnectionD1Ev @ 1806 NONAME ABSENT
+ _ZN27QDeclarativeDebugConnectionD2Ev @ 1807 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation10classBeginEv @ 1808 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation10setRunningEb @ 1809 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation10transitionER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyENS_19TransitionDirectionE @ 1810 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation11currentTimeEv @ 1811 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 1812 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation11qt_metacastEPKc @ 1813 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation13pausedChangedEb @ 1814 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation14runningChangedEb @ 1815 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation14setCurrentTimeEi @ 1816 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation16loopCountChangedEi @ 1817 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation16setDefaultTargetERK20QDeclarativeProperty @ 1818 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation16staticMetaObjectE @ 1819 NONAME DATA 16 ABSENT
+ _ZN29QDeclarativeAbstractAnimation16timelineCompleteEv @ 1820 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation17componentCompleteEv @ 1821 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation17setAlwaysRunToEndEb @ 1822 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation18componentFinalizedEv @ 1823 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation19getStaticMetaObjectEv @ 1824 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation20notifyRunningChangedEb @ 1825 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation21alwaysRunToEndChangedEb @ 1826 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation21setDisableUserControlEv @ 1827 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation4stopEv @ 1828 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation5pauseEv @ 1829 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation5startEv @ 1830 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation6resumeEv @ 1831 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation7restartEv @ 1832 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation7startedEv @ 1833 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation8completeEv @ 1834 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation8setGroupEP26QDeclarativeAnimationGroup @ 1835 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation8setLoopsEi @ 1836 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation9completedEv @ 1837 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation9setPausedEb @ 1838 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimation9setTargetERK20QDeclarativeProperty @ 1839 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimationC2EP7QObject @ 1840 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimationC2ER36QDeclarativeAbstractAnimationPrivateP7QObject @ 1841 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimationD0Ev @ 1842 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimationD1Ev @ 1843 NONAME ABSENT
+ _ZN29QDeclarativeAbstractAnimationD2Ev @ 1844 NONAME ABSENT
+ _ZNK16QDeclarativeType20attachedPropertiesIdEv @ 1845 NONAME ABSENT
+ _ZNK17QDeclarativeTimer10metaObjectEv @ 1846 NONAME ABSENT
+ _ZNK17QDeclarativeTimer11isRepeatingEv @ 1847 NONAME ABSENT
+ _ZNK17QDeclarativeTimer16triggeredOnStartEv @ 1848 NONAME ABSENT
+ _ZNK17QDeclarativeTimer8intervalEv @ 1849 NONAME ABSENT
+ _ZNK17QDeclarativeTimer9isRunningEv @ 1850 NONAME ABSENT
+ _ZNK23QDeclarativeDebugClient6statusEv @ 1851 NONAME ABSENT
+ _ZNK23QDeclarativeEngineDebug6statusEv @ 1852 NONAME ABSENT
+ _ZNK24QDeclarativeDebugService6statusEv @ 1853 NONAME ABSENT
+ _ZNK26QDeclarativeBasePositioner10metaObjectEv @ 1854 NONAME ABSENT
+ _ZNK26QDeclarativeBasePositioner3addEv @ 1855 NONAME ABSENT
+ _ZNK26QDeclarativeBasePositioner4moveEv @ 1856 NONAME ABSENT
+ _ZNK26QDeclarativeBasePositioner7spacingEv @ 1857 NONAME ABSENT
+ _ZNK29QDeclarativeAbstractAnimation10metaObjectEv @ 1858 NONAME ABSENT
+ _ZNK29QDeclarativeAbstractAnimation14alwaysRunToEndEv @ 1859 NONAME ABSENT
+ _ZNK29QDeclarativeAbstractAnimation5groupEv @ 1860 NONAME ABSENT
+ _ZNK29QDeclarativeAbstractAnimation5loopsEv @ 1861 NONAME ABSENT
+ _ZNK29QDeclarativeAbstractAnimation8isPausedEv @ 1862 NONAME ABSENT
+ _ZNK29QDeclarativeAbstractAnimation9isRunningEv @ 1863 NONAME ABSENT
+ _ZTI17QDeclarativeTimer @ 1864 NONAME ABSENT
+ _ZTI26QDeclarativeBasePositioner @ 1865 NONAME ABSENT
+ _ZTI29QDeclarativeAbstractAnimation @ 1866 NONAME ABSENT
+ _ZTV17QDeclarativeTimer @ 1867 NONAME ABSENT
+ _ZTV26QDeclarativeBasePositioner @ 1868 NONAME ABSENT
+ _ZTV29QDeclarativeAbstractAnimation @ 1869 NONAME ABSENT
+ _ZThn12_N29QDeclarativeAbstractAnimation10classBeginEv @ 1870 NONAME ABSENT
+ _ZThn12_N29QDeclarativeAbstractAnimation17componentCompleteEv @ 1871 NONAME ABSENT
+ _ZThn12_N29QDeclarativeAbstractAnimationD0Ev @ 1872 NONAME ABSENT
+ _ZThn12_N29QDeclarativeAbstractAnimationD1Ev @ 1873 NONAME ABSENT
+ _ZThn16_N26QDeclarativeBasePositioner17componentCompleteEv @ 1874 NONAME ABSENT
+ _ZThn16_N26QDeclarativeBasePositionerD0Ev @ 1875 NONAME ABSENT
+ _ZThn16_N26QDeclarativeBasePositionerD1Ev @ 1876 NONAME ABSENT
+ _ZThn8_N17QDeclarativeTimer10classBeginEv @ 1877 NONAME ABSENT
+ _ZThn8_N17QDeclarativeTimer17componentCompleteEv @ 1878 NONAME ABSENT
+ _ZThn8_N26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1879 NONAME ABSENT
+ _ZThn8_N26QDeclarativeBasePositionerD0Ev @ 1880 NONAME ABSENT
+ _ZThn8_N26QDeclarativeBasePositionerD1Ev @ 1881 NONAME ABSENT
+ _ZThn8_N29QDeclarativeAbstractAnimation9setTargetERK20QDeclarativeProperty @ 1882 NONAME ABSENT
+ _ZThn8_N29QDeclarativeAbstractAnimationD0Ev @ 1883 NONAME ABSENT
+ _ZThn8_N29QDeclarativeAbstractAnimationD1Ev @ 1884 NONAME ABSENT
+ _ZN23QDeclarativeDebugHelper15enableDebuggingEv @ 1885 NONAME
+ _ZN27QDeclarativePropertyPrivate7connectEPK7QObjectiS2_iiPi @ 1886 NONAME ABSENT
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index 4e867a3..54768a1 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -12094,9 +12094,15 @@ EXPORTS
_ZN18QTapAndHoldGesture7timeoutEv @ 12093 NONAME
_ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectFb @ 12094 NONAME ABSENT
_ZN20QGraphicsItemPrivate14children_clearEP24QDeclarativeListPropertyI15QGraphicsObjectE @ 12095 NONAME
- _ZN19QApplicationPrivate19qmljsDebugArgumentsE @ 12096 NONAME DATA 4
+ _ZN19QApplicationPrivate19qmljsDebugArgumentsE @ 12096 NONAME DATA 4 ABSENT
_ZN20QGraphicsItemPrivate26childrenBoundingRectHelperEP10QTransformP6QRectFP13QGraphicsItem @ 12097 NONAME
_ZNK20QGraphicsItemPrivate21effectiveBoundingRectEP13QGraphicsItem @ 12098 NONAME
- _ZNK5QFont14lastResortFontEv @ 12099 NONAME
- _ZN11QFontEngine33convertToPostscriptFontFamilyNameERK10QByteArray @ 12100 NONAME
+ _ZN19QApplicationPrivate21qmljs_debug_argumentsE @ 12099 NONAME DATA 4
+ _ZN19QApplicationPrivate25qmljsDebugArgumentsStringEv @ 12100 NONAME
+ _ZNK5QFont14lastResortFontEv @ 12101 NONAME
+ _ZN11QFontEngine33convertToPostscriptFontFamilyNameERK10QByteArray @ 12102 NONAME
+ _ZN15QStaticTextItem13setFontEngineEP11QFontEngine @ 12103 NONAME
+ _ZN15QStaticTextItemD1Ev @ 12104 NONAME
+ _ZN15QStaticTextItemD2Ev @ 12105 NONAME
+ _ZN19QEventDispatcherS6031reactivateDeferredActiveObjectsEv @ 12106 NONAME
diff --git a/src/s60installs/eabi/QtOpenGLu.def b/src/s60installs/eabi/QtOpenGLu.def
index 7ceade4..c92d99e 100644
--- a/src/s60installs/eabi/QtOpenGLu.def
+++ b/src/s60installs/eabi/QtOpenGLu.def
@@ -702,4 +702,9 @@ EXPORTS
_ZeqRK9QGLFormatS1_ @ 701 NONAME
_Zls6QDebugRK9QGLFormat @ 702 NONAME
_ZneRK9QGLFormatS1_ @ 703 NONAME
+ _ZN16QGLWindowSurface26initializeOffscreenTextureERK5QSize @ 704 NONAME
+ _ZNK20QGLTextureGlyphCache15maxTextureWidthEv @ 705 NONAME
+ _ZNK20QGLTextureGlyphCache16maxTextureHeightEv @ 706 NONAME
+ _ZThn8_NK20QGLTextureGlyphCache15maxTextureWidthEv @ 707 NONAME
+ _ZThn8_NK20QGLTextureGlyphCache16maxTextureHeightEv @ 708 NONAME
diff --git a/src/s60installs/eabi/QtOpenVGu.def b/src/s60installs/eabi/QtOpenVGu.def
index 99942b8..e1828c1 100644
--- a/src/s60installs/eabi/QtOpenVGu.def
+++ b/src/s60installs/eabi/QtOpenVGu.def
@@ -205,4 +205,5 @@ EXPORTS
_ZN13QVGPixmapData20createPixmapForImageER6QImage6QFlagsIN2Qt19ImageConversionFlagEEb @ 204 NONAME
_ZN13QVGPixmapData8fromDataEPKhjPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 205 NONAME
_ZN13QVGPixmapData8fromFileERK7QStringPKc6QFlagsIN2Qt19ImageConversionFlagEE @ 206 NONAME
+ _ZNK14QVGPaintEngine16canVgWritePixelsERK6QImage @ 207 NONAME
diff --git a/src/s60installs/qt.iby b/src/s60installs/qt.iby
index 4afbf05..2b3be0a 100644
--- a/src/s60installs/qt.iby
+++ b/src/s60installs/qt.iby
@@ -60,6 +60,8 @@ file=ABI_DIR\BUILD_DIR\qsymbianbearer.dll SHARED_LIB_DIR\qsymbianbearer.dll
// so don't bother including those plugins
file=ABI_DIR\BUILD_DIR\qts60plugin_5_0.dll SHARED_LIB_DIR\qts60plugin_5_0.dll
+file=ABI_DIR\BUILD_DIR\qtactilefeedback.dll SHARED_LIB_DIR\qtactilefeedback.dll
+
S60_APP_RESOURCE(s60main)
// imageformats stubs
@@ -105,6 +107,9 @@ data=\epoc32\data\z\resource\qt\plugins\graphicssystems\qglgraphicssystem.qtplug
// bearer stub
data=\epoc32\data\z\resource\qt\plugins\bearer\qsymbianbearer.qtplugin resource\qt\plugins\bearer\qsymbianbearer.qtplugin
+// feedback
+data=\epoc32\data\z\resource\qt\plugins\feedback\qtactilefeedback.qtplugin resource\qt\plugins\feedback\qtactilefeedback.qtplugin
+
// Stub sis file
data=ZSYSTEM\install\qt_stub.sis System\Install\qt_stub.sis
data=ZSYSTEM\install\qtwebkit_stub.sis System\Install\qtwebkit_stub.sis
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index d63b97c..ff67bcf 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -35,6 +35,8 @@ symbian: {
}
VERSION=$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}.$${QT_PATCH_VERSION}
+ DESTDIR = $$QMAKE_LIBDIR_QT
+
qtlibraries.sources = \
$$QMAKE_LIBDIR_QT/QtCore$${QT_LIBINFIX}.dll \
$$QMAKE_LIBDIR_QT/QtXml$${QT_LIBINFIX}.dll \
@@ -85,6 +87,12 @@ symbian: {
DEPLOYMENT += bearer_plugin
}
+ !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
+ feedback_plugin.sources = $$QT_BUILD_TREE/plugins/s60/feedback/qtactilefeedback$${QT_LIBINFIX}.dll
+ feedback_plugin.path = c:$$QT_PLUGINS_BASE_DIR/feedback
+ DEPLOYMENT += feedback_plugin
+ }
+
qtlibraries.pkg_postrules += qts60plugindeployment
qtlibraries.path = c:/sys/bin
@@ -183,11 +191,9 @@ symbian: {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtOpenVG$${QT_LIBINFIX}.dll
graphicssystems_plugins.sources += $$QT_BUILD_TREE/plugins/graphicssystems/qvggraphicssystem$${QT_LIBINFIX}.dll
# OpenVG requires Symbian^3 or later
- pkg_platform_dependencies -= \
- "[0x101F7961],0,0,0,{\"S60ProductID\"}" \
- "[0x102032BE],0,0,0,{\"S60ProductID\"}" \
- "[0x102752AE],0,0,0,{\"S60ProductID\"}" \
- "[0x1028315F],0,0,0,{\"S60ProductID\"}"
+ pkg_platform_dependencies = \
+ "[0x20022E6D],0,0,0,{\"S60ProductID\"}" \
+ "[0x20032DE7],0,0,0,{\"S60ProductID\"}"
}
contains(QT_CONFIG, opengl) {
diff --git a/src/script/api/qscriptcontextinfo.cpp b/src/script/api/qscriptcontextinfo.cpp
index a90e014..8528dec 100644
--- a/src/script/api/qscriptcontextinfo.cpp
+++ b/src/script/api/qscriptcontextinfo.cpp
@@ -177,7 +177,7 @@ QScriptContextInfoPrivate::QScriptContextInfoPrivate(const QScriptContext *conte
fileName = source->url();
}
- // Get the others informations:
+ // Get the others information:
JSC::JSObject *callee = frame->callee();
if (callee && callee->inherits(&JSC::InternalFunction::info))
functionName = JSC::asInternalFunction(callee)->name(frame);
diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp
index f6390bb..e40458b 100644
--- a/src/script/api/qscriptvalue.cpp
+++ b/src/script/api/qscriptvalue.cpp
@@ -1736,10 +1736,12 @@ QScriptValue QScriptValue::construct(const QScriptValueList &args)
JSC::JSValue savedException;
QScriptEnginePrivate::saveException(exec, &savedException);
- JSC::JSObject *result = JSC::construct(exec, callee, constructType, constructData, jscArgs);
+ JSC::JSValue result;
+ JSC::JSObject *newObject = JSC::construct(exec, callee, constructType, constructData, jscArgs);
if (exec->hadException()) {
- result = JSC::asObject(exec->exception());
+ result = exec->exception();
} else {
+ result = newObject;
QScriptEnginePrivate::restoreException(exec, savedException);
}
return d->engine->scriptValueFromJSCValue(result);
@@ -1796,11 +1798,12 @@ QScriptValue QScriptValue::construct(const QScriptValue &arguments)
JSC::JSValue savedException;
QScriptEnginePrivate::saveException(exec, &savedException);
- JSC::JSObject *result = JSC::construct(exec, callee, constructType, constructData, applyArgs);
+ JSC::JSValue result;
+ JSC::JSObject *newObject = JSC::construct(exec, callee, constructType, constructData, applyArgs);
if (exec->hadException()) {
- if (exec->exception().isObject())
- result = JSC::asObject(exec->exception());
+ result = exec->exception();
} else {
+ result = newObject;
QScriptEnginePrivate::restoreException(exec, savedException);
}
return d->engine->scriptValueFromJSCValue(result);
@@ -2033,6 +2036,7 @@ void QScriptValue::setData(const QScriptValue &data)
Q_D(QScriptValue);
if (!d || !d->isObject())
return;
+ QScript::APIShim shim(d->engine);
JSC::JSValue other = d->engine->scriptValueToJSCValue(data);
if (d->jscValue.inherits(&QScriptObject::info)) {
QScriptObject *scriptObject = static_cast<QScriptObject*>(JSC::asObject(d->jscValue));
diff --git a/src/script/bridge/qscriptclassobject.cpp b/src/script/bridge/qscriptclassobject.cpp
index dd229f1..228e755 100644
--- a/src/script/bridge/qscriptclassobject.cpp
+++ b/src/script/bridge/qscriptclassobject.cpp
@@ -78,6 +78,12 @@ bool ClassObjectDelegate::getOwnPropertySlot(QScriptObject* object,
scriptObject, scriptName, QScriptClass::HandlesReadAccess, &id);
if (flags & QScriptClass::HandlesReadAccess) {
QScriptValue value = m_scriptClass->property(scriptObject, scriptName, id);
+ if (!value.isValid()) {
+ // The class claims to have the property, but returned an invalid
+ // value. Silently convert to undefined to avoid the invalid value
+ // "escaping" into JS.
+ value = QScriptValue(QScriptValue::UndefinedValue);
+ }
slot.setValue(engine->scriptValueToJSCValue(value));
return true;
}
@@ -119,6 +125,12 @@ bool ClassObjectDelegate::getOwnPropertyDescriptor(QScriptObject *object,
attribs |= pflags & QScriptValue::UserRange;
// Rather than calling the getter, we could return an access descriptor here.
QScriptValue value = m_scriptClass->property(scriptObject, scriptName, id);
+ if (!value.isValid()) {
+ // The class claims to have the property, but returned an invalid
+ // value. Silently convert to undefined to avoid the invalid value
+ // "escaping" into JS.
+ value = QScriptValue(QScriptValue::UndefinedValue);
+ }
descriptor.setDescriptor(engine->scriptValueToJSCValue(value), attribs);
return true;
}
diff --git a/src/scripttools/debugging/qscriptdebuggeragent.cpp b/src/scripttools/debugging/qscriptdebuggeragent.cpp
index 551f6c3..9362639 100644
--- a/src/scripttools/debugging/qscriptdebuggeragent.cpp
+++ b/src/scripttools/debugging/qscriptdebuggeragent.cpp
@@ -116,7 +116,7 @@ QScriptDebuggerAgent::~QScriptDebuggerAgent()
/*!
Instructs the agent to perform a "step into" operation. This
function returns immediately. The agent will report step completion
- at a later time, i.e. when script statements are evaluted.
+ at a later time, i.e. when script statements are evaluated.
*/
void QScriptDebuggerAgent::enterStepIntoMode(int count)
{
@@ -129,7 +129,7 @@ void QScriptDebuggerAgent::enterStepIntoMode(int count)
/*!
Instructs the agent to perform a "step over" operation. This
function returns immediately. The agent will report step completion
- at a later time, i.e. when script statements are evaluted.
+ at a later time, i.e. when script statements are evaluated.
*/
void QScriptDebuggerAgent::enterStepOverMode(int count)
{
@@ -146,7 +146,7 @@ void QScriptDebuggerAgent::enterStepOverMode(int count)
/*!
Instructs the agent to perform a "step out" operation. This
function returns immediately. The agent will report step completion
- at a later time, i.e. when script statements are evaluted.
+ at a later time, i.e. when script statements are evaluated.
*/
void QScriptDebuggerAgent::enterStepOutMode()
{
diff --git a/src/sql/drivers/oci/qsql_oci.cpp b/src/sql/drivers/oci/qsql_oci.cpp
index e11cf75..1bf59bf 100644
--- a/src/sql/drivers/oci/qsql_oci.cpp
+++ b/src/sql/drivers/oci/qsql_oci.cpp
@@ -93,11 +93,13 @@ enum { QOCIEncoding = 2002 }; // AL16UTF16LE
enum { QOCIEncoding = 2000 }; // AL16UTF16
#endif
+#ifdef OCI_ATTR_CHARSET_FORM
// Always set the OCI_ATTR_CHARSET_FORM to SQLCS_NCHAR is safe
// because Oracle server will deal with the implicit Conversion
// Between CHAR and NCHAR.
// see: http://download.oracle.com/docs/cd/A91202_01/901_doc/appdev.901/a89857/oci05bnd.htm#422705
static const ub1 qOraCharsetForm = SQLCS_NCHAR;
+#endif
#if defined (OCI_UTF16ID)
static const ub2 qOraCharset = OCI_UTF16ID;
@@ -110,13 +112,23 @@ typedef QVarLengthArray<ub2, 32> SizeArray;
static QByteArray qMakeOraDate(const QDateTime& dt);
static QDateTime qMakeDate(const char* oraDate);
+
+static QByteArray qMakeOCINumber(const qlonglong &ll, OCIError *err);
+static QByteArray qMakeOCINumber(const qulonglong& ull, OCIError* err);
+
+static qlonglong qMakeLongLong(const char* ociNumber, OCIError* err);
+static qulonglong qMakeULongLong(const char* ociNumber, OCIError* err);
+
static QString qOraWarn(OCIError *err, int *errorCode = 0);
+
#ifndef Q_CC_SUN
static // for some reason, Sun CC can't use qOraWarning when it's declared static
#endif
void qOraWarning(const char* msg, OCIError *err);
static QSqlError qMakeError(const QString& errString, QSqlError::ErrorType type, OCIError *err);
+
+
class QOCIRowId: public QSharedData
{
public:
@@ -164,7 +176,6 @@ struct QOCIResultPrivate
int serverVersion;
int prefetchRows, prefetchMem;
- void setCharset(OCIBind* hbnd);
void setStatementAttributes();
int bindValue(OCIStmt *sql, OCIBind **hbnd, OCIError *err, int pos,
const QVariant &val, dvoid *indPtr, ub2 *tmpSize, QList<QByteArray> &tmpStorage);
@@ -176,6 +187,41 @@ struct QOCIResultPrivate
{ return q->bindValueType(i) & QSql::Out; }
inline bool isBinaryValue(int i) const
{ return q->bindValueType(i) & QSql::Binary; }
+
+ void setCharset(dvoid* handle, ub4 type) const
+ {
+ int r = 0;
+ Q_ASSERT(handle);
+
+#ifdef OCI_ATTR_CHARSET_FORM
+ r = OCIAttrSet(handle,
+ type,
+ // this const cast is safe since OCI doesn't touch
+ // the charset.
+ const_cast<void *>(static_cast<const void *>(&qOraCharsetForm)),
+ 0,
+ OCI_ATTR_CHARSET_FORM,
+ //Strange Oracle bug: some Oracle servers crash the server process with non-zero error handle (mostly for 10g).
+ //So ignore the error message here.
+ 0);
+ #ifdef QOCI_DEBUG
+ if (r != 0)
+ qWarning("QOCIResultPrivate::setCharset: Couldn't set OCI_ATTR_CHARSET_FORM.");
+ #endif
+#endif
+
+ r = OCIAttrSet(handle,
+ type,
+ // this const cast is safe since OCI doesn't touch
+ // the charset.
+ const_cast<void *>(static_cast<const void *>(&qOraCharset)),
+ 0,
+ OCI_ATTR_CHARSET_ID,
+ err);
+ if (r != 0)
+ qOraWarning("QOCIResultPrivate::setCharsetI Couldn't set OCI_ATTR_CHARSET_ID: ", err);
+
+ }
};
void QOCIResultPrivate::setStatementAttributes()
@@ -208,36 +254,6 @@ void QOCIResultPrivate::setStatementAttributes()
}
}
-void QOCIResultPrivate::setCharset(OCIBind* hbnd)
-{
- int r = 0;
-
- Q_ASSERT(hbnd);
-
- r = OCIAttrSet(hbnd,
- OCI_HTYPE_BIND,
- // this const cast is safe since OCI doesn't touch
- // the charset.
- const_cast<void *>(static_cast<const void *>(&qOraCharsetForm)),
- 0,
- OCI_ATTR_CHARSET_FORM,
- err);
- if (r != 0)
- qOraWarning("QOCIResultPrivate::setCharset: Couldn't set OCI_ATTR_CHARSET_FORM: ", err);
-
- r = OCIAttrSet(hbnd,
- OCI_HTYPE_BIND,
- // this const cast is safe since OCI doesn't touch
- // the charset.
- const_cast<void *>(static_cast<const void *>(&qOraCharset)),
- 0,
- OCI_ATTR_CHARSET_ID,
- err);
- if (r != 0)
- qOraWarning("QOCIResultPrivate::setCharset: Couldn't set OCI_ATTR_CHARSET_ID: ", err);
-
-}
-
int QOCIResultPrivate::bindValue(OCIStmt *sql, OCIBind **hbnd, OCIError *err, int pos,
const QVariant &val, dvoid *indPtr, ub2 *tmpSize, QList<QByteArray> &tmpStorage)
{
@@ -283,6 +299,28 @@ int QOCIResultPrivate::bindValue(OCIStmt *sql, OCIBind **hbnd, OCIError *err, in
sizeof(uint),
SQLT_UIN, indPtr, 0, 0, 0, 0, OCI_DEFAULT);
break;
+ case QVariant::LongLong:
+ {
+ QByteArray ba = qMakeOCINumber(val.toLongLong(), err);
+ r = OCIBindByPos(sql, hbnd, err,
+ pos + 1,
+ ba.data(),
+ ba.size(),
+ SQLT_VNU, indPtr, 0, 0, 0, 0, OCI_DEFAULT);
+ tmpStorage.append(ba);
+ break;
+ }
+ case QVariant::ULongLong:
+ {
+ QByteArray ba = qMakeOCINumber(val.toULongLong(), err);
+ r = OCIBindByPos(sql, hbnd, err,
+ pos + 1,
+ ba.data(),
+ ba.size(),
+ SQLT_VNU, indPtr, 0, 0, 0, 0, OCI_DEFAULT);
+ tmpStorage.append(ba);
+ break;
+ }
case QVariant::Double:
r = OCIBindByPos(sql, hbnd, err,
pos + 1,
@@ -325,7 +363,7 @@ int QOCIResultPrivate::bindValue(OCIStmt *sql, OCIBind **hbnd, OCIError *err, in
(s.length() + 1) * sizeof(QChar),
SQLT_STR, indPtr, 0, 0, 0, 0, OCI_DEFAULT);
if (r == OCI_SUCCESS)
- setCharset(*hbnd);
+ setCharset(*hbnd, OCI_HTYPE_BIND);
break;
}
} // fall through for OUT values
@@ -349,7 +387,7 @@ int QOCIResultPrivate::bindValue(OCIStmt *sql, OCIBind **hbnd, OCIError *err, in
SQLT_STR, indPtr, 0, 0, 0, 0, OCI_DEFAULT);
}
if (r == OCI_SUCCESS)
- setCharset(*hbnd);
+ setCharset(*hbnd, OCI_HTYPE_BIND);
tmpStorage.append(ba);
break;
} // default case
@@ -378,7 +416,7 @@ int QOCIResultPrivate::bindValues(QVector<QVariant> &values, IndicatorArray &ind
}
// will assign out value and remove its temp storage.
-static void qOraOutValue(QVariant &value, QList<QByteArray> &storage)
+static void qOraOutValue(QVariant &value, QList<QByteArray> &storage, OCIError* err)
{
switch (value.type()) {
case QVariant::Time:
@@ -390,6 +428,12 @@ static void qOraOutValue(QVariant &value, QList<QByteArray> &storage)
case QVariant::DateTime:
value = qMakeDate(storage.takeFirst());
break;
+ case QVariant::LongLong:
+ value = qMakeLongLong(storage.takeFirst(), err);
+ break;
+ case QVariant::ULongLong:
+ value = qMakeULongLong(storage.takeFirst(), err);
+ break;
case QVariant::String:
value = QString(
reinterpret_cast<const QChar *>(storage.takeFirst().constData()));
@@ -407,7 +451,7 @@ void QOCIResultPrivate::outValues(QVector<QVariant> &values, IndicatorArray &ind
if (!isOutValue(i))
continue;
- qOraOutValue(values[i], tmpStorage);
+ qOraOutValue(values[i], tmpStorage, err);
QVariant::Type typ = values.at(i).type();
if (indicators[i] == -1) // NULL
@@ -667,6 +711,56 @@ QByteArray qMakeOraDate(const QDateTime& dt)
return ba;
}
+/*!
+ \internal
+
+ Convert qlonglong to the internal Oracle OCINumber format.
+ */
+QByteArray qMakeOCINumber(const qlonglong& ll, OCIError* err)
+{
+ QByteArray ba(sizeof(OCINumber), 0);
+
+ OCINumberFromInt(err,
+ &ll,
+ sizeof(qlonglong),
+ OCI_NUMBER_SIGNED,
+ reinterpret_cast<OCINumber*>(ba.data()));
+ return ba;
+}
+
+/*!
+ \internal
+
+ Convert qulonglong to the internal Oracle OCINumber format.
+ */
+QByteArray qMakeOCINumber(const qulonglong& ull, OCIError* err)
+{
+ QByteArray ba(sizeof(OCINumber), 0);
+
+ OCINumberFromInt(err,
+ &ull,
+ sizeof(qlonglong),
+ OCI_NUMBER_UNSIGNED,
+ reinterpret_cast<OCINumber*>(ba.data()));
+ return ba;
+}
+
+qlonglong qMakeLongLong(const char* ociNumber, OCIError* err)
+{
+ qlonglong qll = 0;
+ OCINumberToInt(err, reinterpret_cast<const OCINumber *>(ociNumber), sizeof(qlonglong),
+ OCI_NUMBER_SIGNED, &qll);
+ return qll;
+}
+
+qulonglong qMakeULongLong(const char* ociNumber, OCIError* err)
+{
+ qulonglong qull = 0;
+ OCINumberToInt(err, reinterpret_cast<const OCINumber *>(ociNumber), sizeof(qulonglong),
+ OCI_NUMBER_UNSIGNED, &qull);
+ return qull;
+}
+
QDateTime qMakeDate(const char* oraDate)
{
int century = uchar(oraDate[0]);
@@ -688,7 +782,6 @@ class QOCICols
public:
QOCICols(int size, QOCIResultPrivate* dp);
~QOCICols();
- void setCharset(OCIDefine* dfn);
int readPiecewise(QVector<QVariant> &values, int index = 0);
int readLOBs(QVector<QVariant> &values, int index = 0);
int fieldFromDefine(OCIDefine* d);
@@ -890,7 +983,7 @@ QOCICols::QOCICols(int size, QOCIResultPrivate* dp)
&(fieldInf[idx].ind),
0, 0, OCI_DEFAULT);
if (r == 0)
- setCharset(dfn);
+ d->setCharset(dfn, OCI_HTYPE_DEFINE);
}
break;
default:
@@ -950,35 +1043,6 @@ OCILobLocator **QOCICols::createLobLocator(int position, OCIEnv* env)
return &lob;
}
-void QOCICols::setCharset(OCIDefine* dfn)
-{
- int r = 0;
-
- Q_ASSERT(dfn);
-
- r = OCIAttrSet(dfn,
- OCI_HTYPE_DEFINE,
- // this const cast is safe since OCI doesn't touch
- // the charset.
- const_cast<void *>(static_cast<const void *>(&qOraCharsetForm)),
- 0,
- OCI_ATTR_CHARSET_FORM,
- d->err);
- if (r != 0)
- qOraWarning("QOCIResultPrivate::setCharset: Couldn't set OCI_ATTR_CHARSET_FORM: ", d->err);
-
- r = OCIAttrSet(dfn,
- OCI_HTYPE_DEFINE,
- // this const cast is safe since OCI doesn't touch
- // the charset.
- const_cast<void *>(static_cast<const void *>(&qOraCharset)),
- 0,
- OCI_ATTR_CHARSET_ID,
- d->err);
- if (r != 0)
- qOraWarning("QOCICols::setCharset: Couldn't set OCI_ATTR_CHARSET_ID: ", d->err);
-}
-
int QOCICols::readPiecewise(QVector<QVariant> &values, int index)
{
OCIDefine* dfn;
@@ -1281,6 +1345,16 @@ bool QOCICols::execBatch(QOCIResultPrivate *d, QVector<QVariant> &boundValues, b
col.maxLen = sizeof(uint);
break;
+ case QVariant::LongLong:
+ col.bindAs = SQLT_VNU;
+ col.maxLen = sizeof(OCINumber);
+ break;
+
+ case QVariant::ULongLong:
+ col.bindAs = SQLT_VNU;
+ col.maxLen = sizeof(OCINumber);
+ break;
+
case QVariant::Double:
col.bindAs = SQLT_FLT;
col.maxLen = sizeof(double);
@@ -1352,6 +1426,22 @@ bool QOCICols::execBatch(QOCIResultPrivate *d, QVector<QVariant> &boundValues, b
*reinterpret_cast<uint*>(dataPtr) = val.toUInt();
break;
+ case QVariant::LongLong:
+ {
+ columns[i].lengths[row] = columns[i].maxLen;
+ const QByteArray ba = qMakeOCINumber(val.toLongLong(), d->err);
+ Q_ASSERT(ba.size() == int(columns[i].maxLen));
+ memcpy(dataPtr, ba.constData(), columns[i].maxLen);
+ break;
+ }
+ case QVariant::ULongLong:
+ {
+ columns[i].lengths[row] = columns[i].maxLen;
+ const QByteArray ba = qMakeOCINumber(val.toULongLong(), d->err);
+ Q_ASSERT(ba.size() == int(columns[i].maxLen));
+ memcpy(dataPtr, ba.constData(), columns[i].maxLen);
+ break;
+ }
case QVariant::Double:
columns[i].lengths[row] = columns[i].maxLen;
*reinterpret_cast<double*>(dataPtr) = val.toDouble();
@@ -1459,7 +1549,7 @@ bool QOCICols::execBatch(QOCIResultPrivate *d, QVector<QVariant> &boundValues, b
QVariant::Type tp = boundValues.at(i).type();
if (tp != QVariant::List) {
- qOraOutValue(boundValues[i], tmpStorage);
+ qOraOutValue(boundValues[i], tmpStorage, d->err);
if (*columns[i].indicators == -1)
boundValues[i] = QVariant(tp);
continue;
@@ -1489,6 +1579,21 @@ bool QOCICols::execBatch(QOCIResultPrivate *d, QVector<QVariant> &boundValues, b
(*list)[r] = *reinterpret_cast<uint*>(data + r * columns[i].maxLen);
break;
+ case SQLT_VNU:
+ {
+ switch (boundValues.at(i).type()) {
+ case QVariant::LongLong:
+ (*list)[r] = qMakeLongLong(data + r * columns[i].maxLen, d->err);
+ break;
+ case QVariant::ULongLong:
+ (*list)[r] = qMakeULongLong(data + r * columns[i].maxLen, d->err);
+ break;
+ default:
+ break;
+ }
+ break;
+ }
+
case SQLT_FLT:
(*list)[r] = *reinterpret_cast<double*>(data + r * columns[i].maxLen);
break;
diff --git a/src/sql/kernel/qsqldriver.cpp b/src/sql/kernel/qsqldriver.cpp
index 64fd99c..3d753dc 100644
--- a/src/sql/kernel/qsqldriver.cpp
+++ b/src/sql/kernel/qsqldriver.cpp
@@ -396,7 +396,7 @@ QString QSqlDriver::escapeIdentifier(const QString &identifier, IdentifierType)
\a identifier can either be a table name or field name, dependent
on \a type.
- \warning Because of binary compatability constraints, this function is not virtual.
+ \warning Because of binary compatibility constraints, this function is not virtual.
If you want to provide your own implementation in your QSqlDriver subclass,
reimplement the isIdentifierEscapedImplementation() slot in your subclass instead.
The isIdentifierEscapedFunction() will dynamically detect the slot and call it.
@@ -421,7 +421,7 @@ bool QSqlDriver::isIdentifierEscaped(const QString &identifier, IdentifierType t
and trailing delimiter characters, \a identifier is returned without
modification.
- \warning Because of binary compatability constraints, this function is not virtual,
+ \warning Because of binary compatibility constraints, this function is not virtual,
If you want to provide your own implementation in your QSqlDriver subclass,
reimplement the stripDelimitersImplementation() slot in your subclass instead.
The stripDelimiters() function will dynamically detect the slot and call it.
@@ -871,7 +871,7 @@ QStringList QSqlDriver::subscribedToNotificationsImplementation() const
\a identifier can either be a table name or field name, dependent
on \a type.
- Because of binary compatability constraints, isIdentifierEscaped() function
+ Because of binary compatibility constraints, isIdentifierEscaped() function
(introduced in Qt 4.5) is not virtual. Instead, isIdentifierEscaped() will
dynamically detect and call \e this slot. The default implementation
assumes the escape/delimiter character is a double quote. Reimplement this
@@ -896,7 +896,7 @@ bool QSqlDriver::isIdentifierEscapedImplementation(const QString &identifier, Id
If \a identifier does not have leading and trailing delimiter characters, \a
identifier is returned without modification.
- Because of binary compatability constraints, the stripDelimiters() function
+ Because of binary compatibility constraints, the stripDelimiters() function
(introduced in Qt 4.5) is not virtual. Instead, stripDelimiters() will
dynamically detect and call \e this slot. It generally unnecessary
to reimplement this slot.
diff --git a/src/sql/models/qsqlrelationaldelegate.h b/src/sql/models/qsqlrelationaldelegate.h
index 7600e52..96760e1 100644
--- a/src/sql/models/qsqlrelationaldelegate.h
+++ b/src/sql/models/qsqlrelationaldelegate.h
@@ -59,23 +59,23 @@ class QSqlRelationalDelegate: public QItemDelegate
{
public:
-explicit QSqlRelationalDelegate(QObject *parent = 0)
- : QItemDelegate(parent)
+explicit QSqlRelationalDelegate(QObject *aParent = 0)
+ : QItemDelegate(aParent)
{}
~QSqlRelationalDelegate()
{}
-QWidget *createEditor(QWidget *parent,
+QWidget *createEditor(QWidget *aParent,
const QStyleOptionViewItem &option,
const QModelIndex &index) const
{
const QSqlRelationalTableModel *sqlModel = qobject_cast<const QSqlRelationalTableModel *>(index.model());
QSqlTableModel *childModel = sqlModel ? sqlModel->relationModel(index.column()) : 0;
if (!childModel)
- return QItemDelegate::createEditor(parent, option, index);
+ return QItemDelegate::createEditor(aParent, option, index);
- QComboBox *combo = new QComboBox(parent);
+ QComboBox *combo = new QComboBox(aParent);
combo->setModel(childModel);
combo->setModelColumn(childModel->fieldIndex(sqlModel->relation(index.column()).displayColumn()));
combo->installEventFilter(const_cast<QSqlRelationalDelegate *>(this));
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 17f1a6b..e3a8726 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -755,6 +755,9 @@ QT_BEGIN_NAMESPACE
QTest::touchEvent to create a QTouchEventSequence instance. Add touch events to
the sequence by calling press(), move(), release() and stationary(), and let the
instance run out of scope to commit the sequence to the event system.
+
+ Example:
+ \snippet doc/src/snippets/code/src_qtestlib_qtestcase.cpp 25
*/
/*!
diff --git a/src/testlib/qtesttouch.h b/src/testlib/qtesttouch.h
index 1beef85..6c58e4c 100644
--- a/src/testlib/qtesttouch.h
+++ b/src/testlib/qtesttouch.h
@@ -106,8 +106,8 @@ namespace QTest
}
private:
- QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType deviceType)
- : targetWidget(widget), deviceType(deviceType)
+ QTouchEventSequence(QWidget *widget, QTouchEvent::DeviceType aDeviceType)
+ : targetWidget(widget), deviceType(aDeviceType)
{
}
QTouchEventSequence(const QTouchEventSequence &v);
diff --git a/src/xmlpatterns/data/qabstractfloat.cpp b/src/xmlpatterns/data/qabstractfloat.cpp
index d3384fe..9f0e4e0 100644
--- a/src/xmlpatterns/data/qabstractfloat.cpp
+++ b/src/xmlpatterns/data/qabstractfloat.cpp
@@ -118,7 +118,7 @@ bool AbstractFloat<isDouble>::isEqual(const xsDouble a, const xsDouble b)
return qIsInf(a) && internalSignbit(a) == internalSignbit(b);
else
{
- /* Preferrably, we would use std::numeric_limits<xsDouble>::espilon(), but
+ /* Preferably, we would use std::numeric_limits<xsDouble>::espilon(), but
* we cannot since we cannot depend on the STL. The small xs:double value below,
* was extracted by printing the std::numeric_limits<xsDouble>::epsilon() using
* gdb. */
diff --git a/src/xmlpatterns/data/qatomicvalue.cpp b/src/xmlpatterns/data/qatomicvalue.cpp
index c4f3578..fc4cf2e 100644
--- a/src/xmlpatterns/data/qatomicvalue.cpp
+++ b/src/xmlpatterns/data/qatomicvalue.cpp
@@ -65,7 +65,7 @@ QT_BEGIN_NAMESPACE
/**
* @file
- * @short Contains the implementation for AtomicValue. The defintion is in qitem_p.h.
+ * @short Contains the implementation for AtomicValue. The definition is in qitem_p.h.
*/
using namespace QPatternist;
@@ -202,7 +202,7 @@ ItemType::Ptr AtomicValue::qtToXDMType(const QXmlItem &item)
Q_ASSERT(item.isAtomicValue());
const QVariant v(item.toAtomicValue());
- switch(v.type())
+ switch(int(v.type()))
{
case QVariant::Char:
/* Fallthrough. */
diff --git a/src/xmlpatterns/data/qschematime_p.h b/src/xmlpatterns/data/qschematime_p.h
index bd63714..bff065b 100644
--- a/src/xmlpatterns/data/qschematime_p.h
+++ b/src/xmlpatterns/data/qschematime_p.h
@@ -63,7 +63,7 @@ namespace QPatternist
/**
* @short Implements the value instance of the @c xs:time type.
*
- * The header file for this class was orignally called Time.h, but this
+ * The header file for this class was originally called Time.h, but this
* clashed with a system header on MinGW.
*
* @author Frans Englich <frans.englich@nokia.com>
diff --git a/src/xmlpatterns/expr/qarithmeticexpression_p.h b/src/xmlpatterns/expr/qarithmeticexpression_p.h
index 66c1f13..6ff8219 100644
--- a/src/xmlpatterns/expr/qarithmeticexpression_p.h
+++ b/src/xmlpatterns/expr/qarithmeticexpression_p.h
@@ -62,7 +62,7 @@ QT_BEGIN_NAMESPACE
namespace QPatternist
{
/**
- * @short Implements arithmetics, such as multiplication and substraction.
+ * @short Implements arithmetics, such as multiplication and subtraction.
*
*
* Optimizations: there's some operator/value combos that are no ops. For
diff --git a/src/xmlpatterns/parser/createTokenLookup.sh b/src/xmlpatterns/parser/createTokenLookup.sh
index e11a3ba..9339568 100755
--- a/src/xmlpatterns/parser/createTokenLookup.sh
+++ b/src/xmlpatterns/parser/createTokenLookup.sh
@@ -55,8 +55,8 @@ license=`cat <<EOF
** 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 either Technology Preview License Agreement or the
-** Beta Release License Agreement.
+** 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
@@ -66,13 +66,12 @@ license=`cat <<EOF
** 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.0, included in the file LGPL_EXCEPTION.txt in this
-** package.
+** 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 are unsure which license is appropriate for your use, please
-** contact the sales department at http://qt.nokia.com/contact.
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
**
**
**
diff --git a/src/xmlpatterns/schema/qxsdschemaparser.cpp b/src/xmlpatterns/schema/qxsdschemaparser.cpp
index fd0b95c..585cf12 100644
--- a/src/xmlpatterns/schema/qxsdschemaparser.cpp
+++ b/src/xmlpatterns/schema/qxsdschemaparser.cpp
@@ -914,7 +914,7 @@ void XsdSchemaParser::parseRedefine()
redefinedType->setWxsSuperType(contextType);
// 3) remove the base type resolving job from the resolver as
- // we have set the base type here explicitely
+ // we have set the base type here explicitly
m_parserContext->resolver()->removeSimpleRestrictionBase(redefinedType);
// 4) add the redefined type to the schema
@@ -963,7 +963,7 @@ void XsdSchemaParser::parseRedefine()
redefinedType->setWxsSuperType(contextType);
// 3) remove the base type resolving job from the resolver as
- // we have set the base type here explicitely
+ // we have set the base type here explicitly
m_parserContext->resolver()->removeComplexBaseType(redefinedType);
// 4) add the redefined type to the schema
@@ -5781,7 +5781,7 @@ QString XsdSchemaParser::readNamespaceAttribute(const QString &attributeName, co
SchemaType::DerivationConstraints XsdSchemaParser::readDerivationConstraintAttribute(const SchemaType::DerivationConstraints &allowedConstraints, const char *elementName)
{
- // first convert the flags into strings for easier comparision
+ // first convert the flags into strings for easier comparison
QSet<QString> allowedContent;
if (allowedConstraints & SchemaType::RestrictionConstraint)
allowedContent.insert(QString::fromLatin1("restriction"));
@@ -5844,7 +5844,7 @@ SchemaType::DerivationConstraints XsdSchemaParser::readDerivationConstraintAttri
NamedSchemaComponent::BlockingConstraints XsdSchemaParser::readBlockingConstraintAttribute(const NamedSchemaComponent::BlockingConstraints &allowedConstraints, const char *elementName)
{
- // first convert the flags into strings for easier comparision
+ // first convert the flags into strings for easier comparison
QSet<QString> allowedContent;
if (allowedConstraints & NamedSchemaComponent::RestrictionConstraint)
allowedContent.insert(QString::fromLatin1("restriction"));
diff --git a/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp b/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp
index 88e5f93..dc4730e 100644
--- a/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp
+++ b/src/xmlpatterns/schema/qxsdschemaparser_setup.cpp
@@ -53,7 +53,7 @@ using namespace QPatternist;
* This page describes how to use DFAs for validating that the XML child tags of an
* XML parent tag occur in the right order.
*
- * To validate the occurence of XML tags one need a regular expression that describes
+ * To validate the occurrence of XML tags one need a regular expression that describes
* which tags can appear how often in what context. For example the regular expression
* of the global <em>attribute</em> tag in XML Schema is (annotation?, simpleType?).
* That means the <em>attribute</em> tag can contain an <em>annotation</em> tag followed
diff --git a/src/xmlpatterns/schema/qxsdstatemachine_p.h b/src/xmlpatterns/schema/qxsdstatemachine_p.h
index 294eb50..62c6ab0 100644
--- a/src/xmlpatterns/schema/qxsdstatemachine_p.h
+++ b/src/xmlpatterns/schema/qxsdstatemachine_p.h
@@ -138,7 +138,7 @@ namespace QPatternist
/**
* Continues execution of the machine with the given input @p transition.
*
- * @return @c true if the transition was successfull, @c false otherwise.
+ * @return @c true if the transition was successful, @c false otherwise.
*/
bool proceed(TransitionType transition);
@@ -154,7 +154,7 @@ namespace QPatternist
* @note To use this method, inputEqualsTransition must be implemented
* to find the right transition to use.
*
- * @return @c true if the transition was successfull, @c false otherwise.
+ * @return @c true if the transition was successful, @c false otherwise.
*/
template <typename InputType>
bool proceed(InputType input);
diff --git a/src/xmlpatterns/type/qtypechecker.cpp b/src/xmlpatterns/type/qtypechecker.cpp
index 879fe0e..73f83b7 100644
--- a/src/xmlpatterns/type/qtypechecker.cpp
+++ b/src/xmlpatterns/type/qtypechecker.cpp
@@ -168,7 +168,7 @@ Expression::Ptr TypeChecker::verifyType(const Expression::Ptr &operand,
/* Since we haven't exited yet, it means that the operandType is a super type
* of reqType, and that there hence is a path down to it through the
- * type hierachy -- but that doesn't neccessarily mean that a up-cast(down the
+ * type hierachy -- but that doesn't necessarily mean that a up-cast(down the
* hierarchy) would succeed. */
Expression::Ptr result(operand);