summaryrefslogtreecommitdiffstats
path: root/Python/modsupport.c
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2019-11-27 01:13:23 (GMT)
committerGitHub <noreply@github.com>2019-11-27 01:13:23 (GMT)
commita9c86f5e1afa2487524b1947153953b583714d62 (patch)
treebb96a139f6711cd0b24037fc9ee0b1a013352844 /Python/modsupport.c
parent191f94cca6f8cf59535e7459c1113e4a1cdfe201 (diff)
downloadcpython-a9c86f5e1afa2487524b1947153953b583714d62.zip
cpython-a9c86f5e1afa2487524b1947153953b583714d62.tar.gz
cpython-a9c86f5e1afa2487524b1947153953b583714d62.tar.bz2
[3.8] bpo-38862: IDLE Strip Trailing Whitespace fixes end newlines (GH-17366)
Extra newlines are removed at the end of non-shell files. If the file only has newlines after stripping other trailing whitespace, all are removed, as is done by patchcheck.py. (cherry picked from commit 6bf644ec82f14cceae68278dc35bafb00875efae) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Diffstat (limited to 'Python/modsupport.c')
0 files changed, 0 insertions, 0 deletions
td class='right'>696
-rw-r--r--bin/createpackage.bat43
-rw-r--r--bin/createpackage.pl46
-rw-r--r--bin/patch_capabilities.pl80
-rwxr-xr-xbin/setcepaths.bat40
-rwxr-xr-xbin/syncqt.bat40
-rwxr-xr-xconfigure67
-rw-r--r--demos/boxes/qtbox.cpp4
-rw-r--r--demos/boxes/scene.cpp31
-rw-r--r--demos/boxes/scene.h2
-rw-r--r--demos/composition/composition.cpp14
-rw-r--r--demos/embedded/digiflip/digiflip.pro6
-rw-r--r--demos/embedded/embedded.pro10
-rw-r--r--demos/embedded/flickable/flickable.pro5
-rw-r--r--demos/embedded/flightinfo/flightinfo.pro2
-rw-r--r--demos/embedded/fluidlauncher/fluidlauncher.pro93
-rw-r--r--demos/embedded/fluidlauncher/pictureflow.cpp4
-rw-r--r--demos/embedded/fluidlauncher/pictureflow.h2
-rw-r--r--demos/embedded/lightmaps/lightmaps.pro2
-rw-r--r--demos/embedded/raycasting/raycasting.pro5
-rw-r--r--demos/embedded/weatherinfo/weatherinfo.pro2
-rw-r--r--demos/qtdemo/colors.cpp2
-rw-r--r--demos/qtdemo/menumanager.cpp7
-rw-r--r--demos/qtdemo/xml/examples.xml1
-rw-r--r--demos/sub-attaq/graphicsscene.cpp13
-rw-r--r--demos/sub-attaq/graphicsscene.h2
-rw-r--r--demos/sub-attaq/states.cpp25
-rw-r--r--demos/sub-attaq/states.h2
-rw-r--r--demos/sub-attaq/sub-attaq.pro18
-rw-r--r--demos/sub-attaq/textinformationitem.cpp54
-rw-r--r--demos/sub-attaq/textinformationitem.h (renamed from examples/effects/lighting/shadoweffect.h)29
-rw-r--r--demos/textedit/textedit.doc18
-rw-r--r--demos/textedit/textedit.qdoc59
-rwxr-xr-xdoc/src/diagrams/contentspropagation/customwidget.py40
-rwxr-xr-xdoc/src/diagrams/contentspropagation/standardwidgets.py40
-rw-r--r--doc/src/diagrams/programs/mdiarea.py40
-rw-r--r--doc/src/diagrams/programs/qpen-dashpattern.py40
-rw-r--r--doc/src/examples/complexpingpong.qdoc2
-rw-r--r--doc/src/examples/dbus-pingpong.qdoc43
-rw-r--r--doc/src/examples/diagramscene.qdoc7
-rw-r--r--doc/src/examples/fetchmore.qdoc41
-rw-r--r--doc/src/examples/hellogl_es.qdoc41
-rw-r--r--doc/src/examples/videographicsitem.qdoc2
-rw-r--r--doc/src/examples/videowidget.qdoc2
-rw-r--r--doc/src/frameworks-technologies/dbus-adaptors.qdoc2
-rw-r--r--doc/src/getting-started/installation.qdoc2
-rw-r--r--doc/src/images/graphicseffect-blur.pngbin41433 -> 58586 bytes-rw-r--r--doc/src/images/graphicseffect-colorize.pngbin35062 -> 59745 bytes-rw-r--r--doc/src/images/graphicseffect-drop-shadow.pngbin38770 -> 70916 bytes-rw-r--r--doc/src/images/graphicseffect-effects.pngbin112462 -> 395669 bytes-rw-r--r--doc/src/images/graphicseffect-grayscale.pngbin35056 -> 58121 bytes-rw-r--r--doc/src/images/graphicseffect-opacity.pngbin33879 -> 66058 bytes-rw-r--r--doc/src/images/graphicseffect-pixelize.pngbin23577 -> 26390 bytes-rw-r--r--doc/src/platforms/emb-deployment.qdoc4
-rw-r--r--doc/src/platforms/emb-running.qdoc2
-rw-r--r--doc/src/platforms/platform-notes-rtos.qdoc41
-rw-r--r--doc/src/platforms/qt-embedded-linux.qdoc2
-rw-r--r--doc/src/platforms/qtmac-as-native.qdoc43
-rw-r--r--doc/src/platforms/wince-introduction.qdoc23
-rw-r--r--doc/src/s60-introduction.qdoc20
-rw-r--r--doc/src/snippets/code/doc_src_installation.qdoc4
-rw-r--r--doc/src/snippets/code/doc_src_qtmultimedia.qdoc41
-rw-r--r--doc/src/snippets/code/doc_src_s60-introduction.qdoc55
-rw-r--r--doc/src/snippets/code/src_corelib_io_qsettings.cpp2
-rw-r--r--doc/src/snippets/complexpingpong-example.txt (renamed from doc/src/snippets/complexpingpong-example.qdoc)0
-rw-r--r--doc/src/snippets/dbus-pingpong-example.txt (renamed from doc/src/snippets/dbus-pingpong-example.qdoc)0
-rw-r--r--doc/src/snippets/droparea.cpp2
-rw-r--r--doc/src/snippets/qmacnativewidget/main.mm41
-rw-r--r--doc/src/widgets-and-layouts/gallery-gtk.qdoc41
-rw-r--r--doc/src/widgets-and-layouts/stylesheet.qdoc12
-rw-r--r--examples/animation/states/main.cpp4
-rw-r--r--examples/animation/stickman/lifecycle.cpp4
-rw-r--r--examples/animation/stickman/main.cpp43
-rw-r--r--examples/animation/stickman/node.cpp5
-rw-r--r--examples/animation/stickman/node.h3
-rw-r--r--examples/animation/stickman/stickman.cpp5
-rw-r--r--examples/animation/stickman/stickman.h15
-rw-r--r--examples/animation/stickman/stickman.pro2
-rw-r--r--examples/animation/stickman/stickman.qrc8
-rw-r--r--examples/effects/lighting/lighting.cpp22
-rw-r--r--examples/effects/lighting/lighting.h2
-rw-r--r--examples/effects/lighting/lighting.pro4
-rw-r--r--examples/gestures/imageviewer/imageviewer.pro12
-rw-r--r--examples/gestures/imageviewer/imagewidget.cpp6
-rw-r--r--examples/itemviews/addressbook/addresswidget.cpp2
-rw-r--r--examples/multimedia/audio/audiodevices/audiodevices.pro5
-rw-r--r--examples/multimedia/audio/audioinput/audioinput.pro4
-rw-r--r--examples/multimedia/audio/audiooutput/audiooutput.pro5
-rw-r--r--examples/multitouch/pinchzoom/mouse.h5
-rw-r--r--examples/network/fortuneclient/client.cpp15
-rw-r--r--examples/network/fortuneserver/server.cpp19
-rw-r--r--examples/qws/dbscreen/dbscreen.cpp2
-rw-r--r--examples/qws/dbscreen/dbscreen.h21
-rw-r--r--examples/script/context2d/context2d.cpp4
-rw-r--r--examples/script/context2d/main.cpp3
-rw-r--r--examples/uitools/multipleinheritance/multipleinheritance.pro5
-rw-r--r--examples/video/videographicsitem/videographicsitem.pro5
-rw-r--r--examples/video/videowidget/videowidget.pro5
-rw-r--r--examples/xml/saxbookmarks/mainwindow.cpp5
-rw-r--r--mkspecs/common/symbian/symbian.conf4
-rw-r--r--mkspecs/features/symbian/default_post.prf2
-rw-r--r--mkspecs/features/symbian/moc.prf12
-rw-r--r--mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm4
-rw-r--r--qmake/generators/symbian/symmake.cpp38
-rw-r--r--qmake/generators/symbian/symmake.h2
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp8
-rw-r--r--qmake/generators/symbian/symmake_sbsv2.cpp2
-rw-r--r--src/3rdparty/phonon/ds9/mediaobject.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp15
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h3
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h17
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp18
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp57
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Protect.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h5
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h10
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.h4
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h2
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h29
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h106
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/TypeTraits.h40
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h23
-rw-r--r--src/3rdparty/webkit/WebCore/bridge/npapi.h3
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ExceptionCode.h2
-rw-r--r--src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h2
-rw-r--r--src/3rdparty/webkit/WebCore/editing/markup.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h2
-rw-r--r--src/3rdparty/webkit/WebCore/html/HTMLParser.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoader.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp6
-rw-r--r--src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/DOMWindow.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/ScrollTypes.h4
-rw-r--r--src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/StringImpl.h2
-rw-r--r--src/3rdparty/webkit/WebCore/platform/text/TextCodec.h2
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h2
-rw-r--r--src/3rdparty/webkit/WebCore/plugins/npapi.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp4
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderLayer.h2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/svg/SVGElement.cpp2
-rw-r--r--src/3rdparty/webkit/WebCore/workers/Worker.cpp2
-rw-r--r--src/corelib/arch/alpha/qatomic_alpha.s40
-rw-r--r--src/corelib/arch/ia64/qatomic_ia64.s40
-rw-r--r--src/corelib/arch/macosx/qatomic32_ppc.s40
-rw-r--r--src/corelib/arch/mips/qatomic_mips32.s40
-rw-r--r--src/corelib/arch/mips/qatomic_mips64.s40
-rw-r--r--src/corelib/arch/parisc/q_ldcw.s40
-rw-r--r--src/corelib/arch/powerpc/qatomic32.s40
-rw-r--r--src/corelib/arch/powerpc/qatomic64.s40
-rw-r--r--src/corelib/arch/qatomic_windows.h6
-rw-r--r--src/corelib/arch/sparc/qatomic32.s40
-rw-r--r--src/corelib/arch/sparc/qatomic64.s40
-rw-r--r--src/corelib/arch/x86_64/qatomic_sun.s40
-rw-r--r--src/corelib/global/qglobal.cpp1
-rw-r--r--src/corelib/global/qglobal.h5
-rw-r--r--src/corelib/global/qnamespace.h5
-rw-r--r--src/corelib/global/qnamespace.qdoc8
-rw-r--r--src/corelib/io/qfile_p.h1
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp8
-rw-r--r--src/corelib/io/qprocess.cpp2
-rw-r--r--src/corelib/io/qtextstream.cpp2
-rw-r--r--src/corelib/io/qtextstream.h2
-rw-r--r--src/corelib/kernel/qobject.cpp8
-rw-r--r--src/corelib/kernel/qsharedmemory_unix.cpp1
-rw-r--r--src/corelib/statemachine/qsignaltransition.cpp14
-rw-r--r--src/corelib/tools/qbytearray.cpp33
-rw-r--r--src/corelib/tools/qbytearray.h2
-rw-r--r--src/corelib/tools/qcache.h2
-rw-r--r--src/corelib/tools/qlocale.cpp3
-rw-r--r--src/corelib/tools/qscopedpointer.cpp4
-rwxr-xr-xsrc/corelib/xml/make-parser.sh40
-rw-r--r--src/corelib/xml/qxmlstream.g3
-rw-r--r--src/gui/accessible/qaccessible_mac_cocoa.mm2
-rw-r--r--src/gui/dialogs/qdialog_p.h2
-rw-r--r--src/gui/dialogs/qfiledialog_embedded.ui4
-rw-r--r--src/gui/dialogs/qprintdialog_unix.cpp8
-rw-r--r--src/gui/effects/qgraphicseffect.cpp3
-rw-r--r--src/gui/effects/qgraphicseffect.h2
-rw-r--r--src/gui/embedded/directfb.pri39
-rw-r--r--src/gui/embedded/embedded.pri4
-rw-r--r--src/gui/embedded/qscreendriverfactory_qws.cpp9
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.cpp85
-rw-r--r--src/gui/graphicsview/qgraphicsanchorlayout_p.h4
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp57
-rw-r--r--src/gui/graphicsview/qgraphicsitem_p.h19
-rw-r--r--src/gui/graphicsview/qgraphicsscene.cpp15
-rw-r--r--src/gui/graphicsview/qsimplex_p.h4
-rw-r--r--src/gui/gui.pro5
-rw-r--r--src/gui/image/qbitmap.cpp4
-rw-r--r--src/gui/image/qicon.cpp18
-rw-r--r--src/gui/image/qiconloader_p.h2
-rw-r--r--src/gui/inputmethod/qinputcontext.cpp2
-rw-r--r--src/gui/itemviews/qabstractitemview.cpp8
-rw-r--r--src/gui/itemviews/qabstractitemview_p.h10
-rw-r--r--src/gui/itemviews/qcolumnview_p.h4
-rw-r--r--src/gui/itemviews/qtreewidget.cpp6
-rw-r--r--src/gui/kernel/qaction.cpp20
-rw-r--r--src/gui/kernel/qapplication.cpp1
-rw-r--r--src/gui/kernel/qapplication.h2
-rw-r--r--src/gui/kernel/qapplication_s60.cpp132
-rw-r--r--src/gui/kernel/qapplication_win.cpp16
-rw-r--r--src/gui/kernel/qapplication_x11.cpp7
-rw-r--r--src/gui/kernel/qcocoaapplication_mac.mm3
-rw-r--r--src/gui/kernel/qcocoaapplicationdelegate_mac.mm3
-rw-r--r--src/gui/kernel/qcocoamenuloader_mac.mm3
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm11
-rw-r--r--src/gui/kernel/qcocoaview_mac_p.h1
-rw-r--r--src/gui/kernel/qcocoawindow_mac.mm3
-rw-r--r--src/gui/kernel/qcocoawindowdelegate_mac.mm3
-rw-r--r--src/gui/kernel/qevent.cpp4
-rw-r--r--src/gui/kernel/qgesture.cpp30
-rw-r--r--src/gui/kernel/qgesture_p.h5
-rw-r--r--src/gui/kernel/qstandardgestures.cpp204
-rw-r--r--src/gui/kernel/qstandardgestures.h28
-rw-r--r--src/gui/kernel/qstandardgestures_p.h18
-rw-r--r--src/gui/kernel/qt_s60_p.h1
-rw-r--r--src/gui/kernel/qwidget.cpp2
-rw-r--r--src/gui/kernel/qwidget.h2
-rw-r--r--src/gui/kernel/qwidget_s60.cpp4
-rw-r--r--src/gui/kernel/qwidget_win.cpp28
-rw-r--r--src/gui/math3d/qgenericmatrix.cpp53
-rw-r--r--src/gui/math3d/qgenericmatrix.h209
-rw-r--r--src/gui/math3d/qmatrix4x4.cpp298
-rw-r--r--src/gui/math3d/qmatrix4x4.h232
-rw-r--r--src/gui/math3d/qquaternion.cpp17
-rw-r--r--src/gui/math3d/qquaternion.h60
-rw-r--r--src/gui/math3d/qvector3d.h3
-rw-r--r--src/gui/math3d/qvector4d.h3
-rwxr-xr-xsrc/gui/painting/makepsheader.pl40
-rw-r--r--src/gui/painting/painting.pri2
-rw-r--r--src/gui/painting/qdrawhelper_mmx_p.h2
-rw-r--r--src/gui/painting/qdrawhelper_sse2.cpp2
-rw-r--r--src/gui/painting/qdrawhelper_sse_p.h2
-rw-r--r--src/gui/painting/qemulationpaintengine_p.h2
-rw-r--r--src/gui/painting/qgrayraster.c3
-rw-r--r--src/gui/painting/qoutlinemapper.cpp2
-rw-r--r--src/gui/painting/qpaintbuffer.cpp1745
-rw-r--r--src/gui/painting/qpaintbuffer_p.h439
-rw-r--r--src/gui/painting/qpaintengine.h2
-rw-r--r--src/gui/painting/qpaintengine_mac.cpp8
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp14
-rw-r--r--src/gui/painting/qpaintengineex.cpp34
-rw-r--r--src/gui/painting/qpaintengineex_p.h8
-rw-r--r--src/gui/painting/qpainter.cpp81
-rw-r--r--src/gui/painting/qpainterpath.h2
-rw-r--r--src/gui/painting/qpainterpath_p.h36
-rw-r--r--src/gui/painting/qprinter.cpp17
-rw-r--r--src/gui/painting/qprinter.h2
-rw-r--r--src/gui/painting/qvectorpath_p.h3
-rw-r--r--src/gui/s60framework/qs60mainapplication.cpp (renamed from src/s60main/qts60mainapplication.cpp)29
-rw-r--r--src/gui/s60framework/qs60mainapplication_p.h (renamed from src/s60main/qts60mainapplication_p.h)76
-rw-r--r--src/gui/s60framework/qs60mainappui.cpp (renamed from src/s60main/qts60mainappui.cpp)70
-rw-r--r--src/gui/s60framework/qs60mainappui_p.h130
-rw-r--r--src/gui/s60framework/qs60maindocument.cpp (renamed from src/s60main/qts60maindocument.cpp)38
-rw-r--r--src/gui/s60framework/qs60maindocument_p.h139
-rw-r--r--src/gui/s60framework/s60framework.pri7
-rw-r--r--src/gui/styles/gtksymbols.cpp19
-rw-r--r--src/gui/styles/gtksymbols_p.h3
-rw-r--r--src/gui/styles/qcommonstyle.cpp5
-rw-r--r--src/gui/styles/qgtkstyle.cpp5
-rw-r--r--src/gui/styles/qmacstyle_mac.mm1
-rw-r--r--src/gui/styles/qstyle.cpp8
-rw-r--r--src/gui/styles/qstylesheetstyle.cpp11
-rw-r--r--src/gui/text/qcssparser.cpp1
-rw-r--r--src/gui/text/qcssscanner.cpp86
-rw-r--r--src/gui/text/qfont.h2
-rw-r--r--src/gui/text/qfontdatabase.cpp2
-rw-r--r--src/gui/text/qtextengine.cpp33
-rw-r--r--src/gui/util/qcompleter.cpp5
-rw-r--r--src/gui/widgets/qabstractscrollarea.cpp6
-rw-r--r--src/gui/widgets/qcocoamenu_mac.mm3
-rw-r--r--src/gui/widgets/qdatetimeedit_p.h2
-rw-r--r--src/gui/widgets/qdockarealayout.cpp8
-rw-r--r--src/gui/widgets/qmaccocoaviewcontainer_mac.mm3
-rw-r--r--src/gui/widgets/qmacnativewidget_mac.mm3
-rw-r--r--src/gui/widgets/qmainwindowlayout_mac.mm3
-rw-r--r--src/gui/widgets/qmenu_symbian.cpp1
-rw-r--r--src/gui/widgets/qplaintextedit.cpp4
-rw-r--r--src/gui/widgets/qplaintextedit_p.h1
-rw-r--r--src/gui/widgets/qtabbar.cpp27
-rw-r--r--src/gui/widgets/qtabbar_p.h1
-rw-r--r--src/gui/widgets/qtextedit.cpp2
-rw-r--r--src/multimedia/audio/qaudioformat.cpp24
-rw-r--r--src/multimedia/multimedia.pro2
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp39
-rw-r--r--src/network/access/qnetworkaccessbackend.cpp14
-rw-r--r--src/network/access/qnetworkaccesscachebackend.cpp1
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp4
-rw-r--r--src/network/access/qnetworkreplyimpl.cpp36
-rw-r--r--src/network/access/qnetworkreplyimpl_p.h3
-rw-r--r--src/network/kernel/qhostinfo_p.h5
-rw-r--r--src/network/socket/qabstractsocket.cpp4
-rw-r--r--src/network/socket/qabstractsocket_p.h2
-rw-r--r--src/network/socket/qhttpsocketengine.cpp1
-rw-r--r--src/network/socket/qlocalsocket_p.h2
-rw-r--r--src/network/socket/qlocalsocket_win.cpp43
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp5
-rw-r--r--src/network/ssl/qsslsocket.cpp8
-rw-r--r--src/opengl/gl2paintengineex/qglcustomshaderstage.cpp10
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager.cpp433
-rw-r--r--src/opengl/gl2paintengineex/qglengineshadermanager_p.h159
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp23
-rw-r--r--src/opengl/gl2paintengineex/qpaintengineex_opengl2_p.h2
-rw-r--r--src/opengl/qgl.cpp52
-rw-r--r--src/opengl/qgl_p.h4
-rw-r--r--src/opengl/qglextensions_p.h4
-rw-r--r--src/opengl/qglframebufferobject.cpp107
-rw-r--r--src/opengl/qglframebufferobject.h22
-rw-r--r--src/opengl/qglpixelbuffer.cpp4
-rw-r--r--src/opengl/qglpixmapfilter.cpp2
-rw-r--r--src/opengl/qglshaderprogram.cpp197
-rw-r--r--src/opengl/qpixmapdata_gl.cpp4
-rw-r--r--src/opengl/qwindowsurface_gl.cpp2
-rwxr-xr-xsrc/opengl/util/glsl_to_include.sh40
-rw-r--r--src/plugins/gfxdrivers/directfb/directfb.pro38
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp4
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp108
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h17
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp103
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp35
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h6
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp305
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbscreen.h12
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp188
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h3
-rw-r--r--src/plugins/graphicssystems/graphicssystems.pro1
-rw-r--r--src/plugins/graphicssystems/trace/main.cpp (renamed from mkspecs/common/symbian/fixed_stdlib.h)43
-rw-r--r--src/plugins/graphicssystems/trace/qgraphicssystem_trace.cpp133
-rw-r--r--src/plugins/graphicssystems/trace/qgraphicssystem_trace_p.h71
-rw-r--r--src/plugins/graphicssystems/trace/trace.pro12
-rw-r--r--src/plugins/qpluginbase.pri2
-rw-r--r--src/s60main/qts60main.cpp20
-rw-r--r--src/s60main/qts60main_mcrt0.cpp4
-rw-r--r--src/s60main/qts60mainappui_p.h146
-rw-r--r--src/s60main/qts60maindocument_p.h133
-rw-r--r--src/s60main/s60main.pro8
-rw-r--r--src/script/api/qscriptengine.cpp44
-rw-r--r--src/script/api/qscriptengine_p.h29
-rw-r--r--src/script/api/qscriptstring.cpp64
-rw-r--r--src/script/api/qscriptstring.h3
-rw-r--r--src/script/api/qscriptstring_p.h54
-rw-r--r--src/script/bridge/qscriptclassobject.cpp20
-rw-r--r--src/script/bridge/qscriptqobject.cpp3
-rw-r--r--src/script/parser/qscript.g3
-rw-r--r--src/sql/drivers/mysql/qsql_mysql.cpp51
-rw-r--r--src/sql/drivers/oci/qsql_oci.cpp29
-rw-r--r--src/src.pro2
-rw-r--r--src/svg/qgraphicssvgitem.h1
-rw-r--r--src/svg/qsvghandler.cpp496
-rw-r--r--src/testlib/qtestmouse.h7
-rwxr-xr-xsrc/tools/moc/util/generate.sh41
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.cpp11
-rw-r--r--src/tools/uic/cpp/cppwriteinitialization.h1
-rw-r--r--src/xmlpatterns/data/qatomicvalue.cpp18
-rwxr-xr-xsrc/xmlpatterns/environment/createReportContext.sh41
-rwxr-xr-xsrc/xmlpatterns/parser/createParser.sh40
-rwxr-xr-xsrc/xmlpatterns/parser/createTokenLookup.sh41
-rwxr-xr-xsrc/xmlpatterns/parser/createXSLTTokenLookup.sh41
-rwxr-xr-xtests/auto/bic/gen.sh40
-rw-r--r--tests/auto/exceptionsafety_objects/oomsimulator.h81
-rwxr-xr-xtests/auto/linguist/lconvert/data/makeplurals.pl42
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_versions/project.ui2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ui40
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parseui/project.ui40
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/project.ui6
-rw-r--r--tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp7
-rw-r--r--tests/auto/mediaobject/dummy/dummy.pro2
-rw-r--r--tests/auto/moc/os9-newlines.h2
-rw-r--r--tests/auto/network-settings.h5
-rw-r--r--tests/auto/qabstractnetworkcache/tst_qabstractnetworkcache.cpp20
-rw-r--r--tests/auto/qbytearray/tst_qbytearray.cpp8
-rw-r--r--tests/auto/qfontdialog/tst_qfontdialog_mac_helpers.mm41
-rw-r--r--tests/auto/qgl/tst_qgl.cpp333
-rw-r--r--tests/auto/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp165
-rw-r--r--tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp2
-rw-r--r--tests/auto/qgraphicsview/tst_qgraphicsview.cpp5
-rw-r--r--tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp1
-rw-r--r--tests/auto/qimagereader/tst_qimagereader.cpp2
-rw-r--r--tests/auto/qlibrary/lib/mylib.c41
-rw-r--r--tests/auto/qlibrary/lib2/mylib.c41
-rw-r--r--tests/auto/qlocalsocket/tst_qlocalsocket.cpp30
-rw-r--r--tests/auto/qmainwindow/tst_qmainwindow.cpp19
-rw-r--r--tests/auto/qmatrixnxn/tst_qmatrixnxn.cpp125
-rw-r--r--tests/auto/qpluginloader/lib/mylib.c41
-rw-r--r--tests/auto/qprinter/tst_qprinter.cpp9
-rw-r--r--tests/auto/qquaternion/tst_qquaternion.cpp29
-rw-r--r--tests/auto/qscriptengineagent/tst_qscriptengineagent.cpp14
-rw-r--r--tests/auto/qscriptstring/tst_qscriptstring.cpp4
-rw-r--r--tests/auto/qsqldatabase/tst_qsqldatabase.cpp46
-rwxr-xr-xtests/auto/qsslcertificate/certificates/gencertificates.sh40
-rwxr-xr-xtests/auto/qsslkey/keys/genkeys.sh40
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp2
-rw-r--r--tests/auto/qstylesheetstyle/tst_qstylesheetstyle.cpp30
-rw-r--r--tests/auto/qtableview/tst_qtableview.cpp9
-rw-r--r--tests/auto/qtcpsocket/tst_qtcpsocket.cpp11
-rwxr-xr-xtests/auto/qtokenautomaton/generateTokenizers.sh41
-rw-r--r--tests/auto/qtreeview/tst_qtreeview.cpp30
-rw-r--r--tests/auto/qtreewidget/tst_qtreewidget.cpp180
-rw-r--r--tests/auto/qurl/idna-test.c41
-rw-r--r--tests/auto/qvectornd/tst_qvectornd.cpp55
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp10
-rw-r--r--tests/auto/qwidget/tst_qwidget_mac_helpers.mm41
-rw-r--r--tests/auto/qwindowsurface/tst_qwindowsurface.cpp6
-rw-r--r--tests/auto/qxmlquery/tst_qxmlquery.cpp2
-rwxr-xr-xtests/auto/qxmlsimplereader/generate_ref_files.sh42
-rwxr-xr-xtests/auto/qxmlstream/setupSuite.sh41
-rwxr-xr-xtests/auto/test.pl41
-rw-r--r--tests/auto/uic/baseline/Dialog_with_Buttons_Bottom.ui.h3
-rw-r--r--tests/auto/uic/baseline/Dialog_with_Buttons_Right.ui.h3
-rw-r--r--tests/auto/uic/baseline/Dialog_without_Buttons.ui.h3
-rw-r--r--tests/auto/uic/baseline/Main_Window.ui.h3
-rw-r--r--tests/auto/uic/baseline/Widget.ui.h3
-rw-r--r--tests/auto/uic/baseline/addlinkdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/addtorrentform.ui.h3
-rw-r--r--tests/auto/uic/baseline/authenticationdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/backside.ui.h3
-rw-r--r--tests/auto/uic/baseline/batchtranslation.ui.h3
-rw-r--r--tests/auto/uic/baseline/bookmarkdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/bookwindow.ui.h3
-rw-r--r--tests/auto/uic/baseline/browserwidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/calculator.ui.h3
-rw-r--r--tests/auto/uic/baseline/calculatorform.ui.h3
-rw-r--r--tests/auto/uic/baseline/certificateinfo.ui.h3
-rw-r--r--tests/auto/uic/baseline/chatdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/chatmainwindow.ui.h2
-rw-r--r--tests/auto/uic/baseline/chatsetnickname.ui.h3
-rw-r--r--tests/auto/uic/baseline/config.ui.h3
-rw-r--r--tests/auto/uic/baseline/connectdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/controller.ui.h3
-rw-r--r--tests/auto/uic/baseline/cookies.ui.h3
-rw-r--r--tests/auto/uic/baseline/cookiesexceptions.ui.h3
-rw-r--r--tests/auto/uic/baseline/default.ui.h2
-rw-r--r--tests/auto/uic/baseline/dialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/downloaditem.ui.h3
-rw-r--r--tests/auto/uic/baseline/downloads.ui.h3
-rw-r--r--tests/auto/uic/baseline/embeddeddialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/filespage.ui.h3
-rw-r--r--tests/auto/uic/baseline/filternamedialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/filterpage.ui.h3
-rw-r--r--tests/auto/uic/baseline/finddialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/form.ui.h3
-rw-r--r--tests/auto/uic/baseline/formwindowsettings.ui.h3
-rw-r--r--tests/auto/uic/baseline/generalpage.ui.h3
-rw-r--r--tests/auto/uic/baseline/gridpanel.ui.h3
-rw-r--r--tests/auto/uic/baseline/helpdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/history.ui.h3
-rw-r--r--tests/auto/uic/baseline/identifierpage.ui.h3
-rw-r--r--tests/auto/uic/baseline/imagedialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/inputpage.ui.h3
-rw-r--r--tests/auto/uic/baseline/installdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/languagesdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/listwidgeteditor.ui.h3
-rw-r--r--tests/auto/uic/baseline/mainwindow.ui.h2
-rw-r--r--tests/auto/uic/baseline/mainwindowbase.ui.h2
-rw-r--r--tests/auto/uic/baseline/mydialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/myform.ui.h3
-rw-r--r--tests/auto/uic/baseline/newactiondialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/newdynamicpropertydialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/newform.ui.h3
-rw-r--r--tests/auto/uic/baseline/orderdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/outputpage.ui.h3
-rw-r--r--tests/auto/uic/baseline/pagefold.ui.h2
-rw-r--r--tests/auto/uic/baseline/paletteeditor.ui.h3
-rw-r--r--tests/auto/uic/baseline/paletteeditoradvancedbase.ui.h3
-rw-r--r--tests/auto/uic/baseline/passworddialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/pathpage.ui.h3
-rw-r--r--tests/auto/uic/baseline/phrasebookbox.ui.h3
-rw-r--r--tests/auto/uic/baseline/plugindialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/preferencesdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/previewconfigurationwidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/previewdialogbase.ui.h3
-rw-r--r--tests/auto/uic/baseline/previewwidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/previewwidgetbase.ui.h3
-rw-r--r--tests/auto/uic/baseline/proxy.ui.h3
-rw-r--r--tests/auto/uic/baseline/qfiledialog.ui.h2
-rw-r--r--tests/auto/uic/baseline/qpagesetupwidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/qprintpropertieswidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/qprintsettingsoutput.ui.h3
-rw-r--r--tests/auto/uic/baseline/qprintwidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/qsqlconnectiondialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/qtgradientdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/qtgradienteditor.ui59
-rw-r--r--tests/auto/uic/baseline/qtgradienteditor.ui.h62
-rw-r--r--tests/auto/uic/baseline/qtgradientview.ui.h3
-rw-r--r--tests/auto/uic/baseline/qtgradientviewdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/qtresourceeditordialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/qttoolbardialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/querywidget.ui.h3
-rw-r--r--tests/auto/uic/baseline/remotecontrol.ui.h2
-rw-r--r--tests/auto/uic/baseline/saveformastemplate.ui.h3
-rw-r--r--tests/auto/uic/baseline/settings.ui.h3
-rw-r--r--tests/auto/uic/baseline/signalslotdialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/sslclient.ui.h3
-rw-r--r--tests/auto/uic/baseline/sslerrors.ui.h3
-rw-r--r--tests/auto/uic/baseline/statistics.ui.h3
-rw-r--r--tests/auto/uic/baseline/stringlisteditor.ui.h3
-rw-r--r--tests/auto/uic/baseline/stylesheeteditor.ui.h3
-rw-r--r--tests/auto/uic/baseline/tabbedbrowser.ui.h3
-rw-r--r--tests/auto/uic/baseline/tablewidgeteditor.ui.h3
-rw-r--r--tests/auto/uic/baseline/tetrixwindow.ui.h3
-rw-r--r--tests/auto/uic/baseline/textfinder.ui.h3
-rw-r--r--tests/auto/uic/baseline/topicchooser.ui.h3
-rw-r--r--tests/auto/uic/baseline/translatedialog.ui.h3
-rw-r--r--tests/auto/uic/baseline/translationsettings.ui.h3
-rw-r--r--tests/auto/uic/baseline/treewidgeteditor.ui.h3
-rw-r--r--tests/auto/uic/baseline/trpreviewtool.ui.h2
-rw-r--r--tests/auto/uic/baseline/validators.ui.h3
-rw-r--r--tests/auto/uic/baseline/wateringconfigdialog.ui.h3
-rw-r--r--tests/auto/uic3/baseline/about.ui2
-rw-r--r--tests/auto/uic3/baseline/about.ui.42
-rw-r--r--tests/auto/uic3/baseline/actioneditor.ui2
-rw-r--r--tests/auto/uic3/baseline/actioneditor.ui.42
-rw-r--r--tests/auto/uic3/baseline/config.ui2
-rw-r--r--tests/auto/uic3/baseline/config.ui.42
-rw-r--r--tests/auto/uic3/baseline/configtoolboxdialog.ui2
-rw-r--r--tests/auto/uic3/baseline/configtoolboxdialog.ui.42
-rw-r--r--tests/auto/uic3/baseline/connectiondialog.ui2
-rw-r--r--tests/auto/uic3/baseline/connectiondialog.ui.42
-rw-r--r--tests/auto/uic3/baseline/createtemplate.ui2
-rw-r--r--tests/auto/uic3/baseline/createtemplate.ui.42
-rw-r--r--tests/auto/uic3/baseline/customwidgeteditor.ui2
-rw-r--r--tests/auto/uic3/baseline/customwidgeteditor.ui.42
-rw-r--r--tests/auto/uic3/baseline/dbconnection.ui2
-rw-r--r--tests/auto/uic3/baseline/dbconnection.ui.42
-rw-r--r--tests/auto/uic3/baseline/dbconnectioneditor.ui2
-rw-r--r--tests/auto/uic3/baseline/dbconnectioneditor.ui.42
-rw-r--r--tests/auto/uic3/baseline/dbconnections.ui2
-rw-r--r--tests/auto/uic3/baseline/dbconnections.ui.42
-rw-r--r--tests/auto/uic3/baseline/editfunctions.ui2
-rw-r--r--tests/auto/uic3/baseline/editfunctions.ui.42
-rw-r--r--tests/auto/uic3/baseline/finddialog.ui2
-rw-r--r--tests/auto/uic3/baseline/finddialog.ui.42
-rw-r--r--tests/auto/uic3/baseline/formsettings.ui2
-rw-r--r--tests/auto/uic3/baseline/formsettings.ui.42
-rw-r--r--tests/auto/uic3/baseline/gotolinedialog.ui2
-rw-r--r--tests/auto/uic3/baseline/gotolinedialog.ui.42
-rw-r--r--tests/auto/uic3/baseline/helpdialog.ui2
-rw-r--r--tests/auto/uic3/baseline/helpdialog.ui.42
-rw-r--r--tests/auto/uic3/baseline/iconvieweditor.ui2
-rw-r--r--tests/auto/uic3/baseline/iconvieweditor.ui.42
-rw-r--r--tests/auto/uic3/baseline/listboxeditor.ui2
-rw-r--r--tests/auto/uic3/baseline/wizardeditor.ui56
-rw-r--r--tests/auto/uiloader/baseline/css_tab_border.ui104
-rwxr-xr-xtests/auto/xmlpatternsdiagnosticsts/TestSuite/validate.sh41
-rwxr-xr-xtests/auto/xmlpatternsschemats/TESTSUITE/updateSuite.sh40
-rwxr-xr-xtests/auto/xmlpatternsxqts/summarizeBaseline.sh40
-rwxr-xr-xtests/auto/xmlpatternsxslts/XSLTS/updateSuite.sh42
-rw-r--r--tests/benchmarks/qfile/main.cpp6
-rw-r--r--tests/benchmarks/qgraphicsanchorlayout/tst_qgraphicsanchorlayout.cpp28
-rw-r--r--tests/benchmarks/qmatrix4x4/tst_qmatrix4x4.cpp12
-rw-r--r--tests/benchmarks/qscriptclass/qscriptclass.pro7
-rw-r--r--tests/benchmarks/qscriptclass/tst_qscriptclass.cpp511
-rw-r--r--tests/manual/gestures/pinch/main.cpp (renamed from examples/effects/lighting/shadoweffect.cpp)48
-rw-r--r--tests/manual/gestures/pinch/pinch.pro4
-rw-r--r--tests/manual/gestures/pinch/pinch.qrc5
-rw-r--r--tests/manual/gestures/pinch/pinchwidget.cpp118
-rw-r--r--tests/manual/gestures/pinch/pinchwidget.h78
-rw-r--r--tests/manual/gestures/pinch/qt-logo.pngbin0 -> 13923 bytes-rw-r--r--tests/manual/gestures/twopanwidgets/main.cpp135
-rw-r--r--tests/manual/gestures/twopanwidgets/twopanwidgets.pro1
-rw-r--r--tools/activeqt/testcon/scripts/perlscript.pl41
-rw-r--r--tools/activeqt/testcon/scripts/pythonscript.py42
-rw-r--r--tools/assistant/compat/LICENSE.GPL280
-rw-r--r--tools/assistant/compat/mainwindow.cpp5
-rw-r--r--tools/assistant/compat/mainwindow.ui4
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qdoc41
-rw-r--r--tools/assistant/tools/assistant/doc/assistant.qdocconf2
-rw-r--r--tools/assistant/tools/assistant/mainwindow.cpp5
-rw-r--r--tools/configure/configureapp.cpp9
-rw-r--r--tools/designer/src/designer/versiondialog.cpp4
-rw-r--r--tools/designer/src/lib/shared/qlayout_widget.cpp3
-rw-r--r--tools/designer/src/uitools/uitools.pro1
-rwxr-xr-xtools/installer/batch/build.bat3
-rwxr-xr-xtools/installer/batch/copy.bat3
-rwxr-xr-xtools/installer/batch/delete.bat3
-rwxr-xr-xtools/installer/batch/env.bat3
-rwxr-xr-xtools/installer/batch/extract.bat3
-rwxr-xr-xtools/installer/batch/installer.bat3
-rwxr-xr-xtools/installer/batch/log.bat3
-rwxr-xr-xtools/installer/batch/toupper.bat3
-rw-r--r--tools/installer/config/config.default.sample3
-rw-r--r--tools/installer/config/mingw-opensource.conf3
-rwxr-xr-xtools/installer/iwmake.bat3
-rw-r--r--tools/installer/nsis/confirmpage.ini3
-rw-r--r--tools/installer/nsis/gwdownload.ini3
-rw-r--r--tools/installer/nsis/gwmirror.ini3
-rw-r--r--tools/installer/nsis/includes/global.nsh5
-rw-r--r--tools/installer/nsis/includes/instdir.nsh5
-rw-r--r--tools/installer/nsis/includes/list.nsh5
-rw-r--r--tools/installer/nsis/includes/qtcommon.nsh3
-rw-r--r--tools/installer/nsis/includes/qtenv.nsh3
-rw-r--r--tools/installer/nsis/includes/system.nsh5
-rw-r--r--tools/installer/nsis/installer.nsi3
-rw-r--r--tools/installer/nsis/modules/environment.nsh3
-rw-r--r--tools/installer/nsis/modules/mingw.nsh3
-rw-r--r--tools/installer/nsis/modules/opensource.nsh4
-rw-r--r--tools/installer/nsis/modules/registeruiext.nsh3
-rw-r--r--tools/installer/nsis/opensource.ini3
-rw-r--r--tools/linguist/LICENSE.GPL280
-rw-r--r--tools/linguist/linguist/mainwindow.cpp4
-rw-r--r--tools/linguist/lrelease/lrelease.14
-rw-r--r--tools/linguist/lupdate/qscript.g3
-rw-r--r--tools/porting/src/ast.cpp2
-rw-r--r--tools/porting/src/ast.h2
-rw-r--r--tools/porting/src/codemodel.cpp2
-rw-r--r--tools/porting/src/codemodel.h2
-rw-r--r--tools/porting/src/cpplexer.cpp2
-rw-r--r--tools/porting/src/cpplexer.h2
-rw-r--r--tools/porting/src/errors.cpp2
-rw-r--r--tools/porting/src/errors.h2
-rw-r--r--tools/porting/src/parser.cpp2
-rw-r--r--tools/porting/src/parser.h2
-rw-r--r--tools/porting/src/rpp.cpp2
-rw-r--r--tools/porting/src/rpp.h2
-rw-r--r--tools/porting/src/rpplexer.cpp2
-rw-r--r--tools/porting/src/rpplexer.h2
-rw-r--r--tools/porting/src/rpptreeevaluator.cpp2
-rw-r--r--tools/porting/src/semantic.cpp2
-rw-r--r--tools/porting/src/semantic.h2
-rw-r--r--tools/porting/src/smallobject.cpp2
-rw-r--r--tools/porting/src/smallobject.h2
-rw-r--r--tools/porting/src/tokenizer.cpp2
-rw-r--r--tools/porting/src/tokenizer.h2
-rw-r--r--tools/porting/src/tokens.h2
-rw-r--r--tools/porting/src/tokenstreamadapter.h2
-rw-r--r--tools/porting/src/treewalker.cpp2
-rw-r--r--tools/porting/src/treewalker.h2
-rw-r--r--tools/qconfig/LICENSE.GPL280
-rw-r--r--tools/qconfig/main.cpp8
-rw-r--r--tools/qdbus/qdbusviewer/qdbusviewer.cpp5
-rw-r--r--tools/qtconfig/LICENSE.GPL280
-rw-r--r--tools/qtconfig/mainwindow.cpp5
-rw-r--r--tools/qttracereplay/main.cpp198
-rw-r--r--tools/qttracereplay/qttracereplay.pro13
-rw-r--r--tools/qvfb/LICENSE.GPL280
-rw-r--r--tools/tools.pro3
-rw-r--r--tools/xmlpatterns/qapplicationargument_p.h3
-rw-r--r--tools/xmlpatterns/qapplicationargumentparser_p.h3
-rw-r--r--tools/xmlpatternsvalidator/main.h20
-rw-r--r--util/lexgen/css2-simplified.lexgen4
-rwxr-xr-xutil/local_database/cldr2qlocalexml.py42
-rw-r--r--util/local_database/enumdata.py42
-rwxr-xr-xutil/local_database/qlocalexml2cpp.py42
-rw-r--r--util/local_database/xpathlite.py42
-rw-r--r--util/qlalr/doc/src/qlalr.qdoc41
-rw-r--r--util/qlalr/examples/dummy-xml/xml.g40
-rw-r--r--util/qlalr/examples/glsl/build.sh40
-rw-r--r--util/qlalr/examples/glsl/glsl-lex.l41
-rw-r--r--util/qlalr/examples/glsl/glsl.g40
-rw-r--r--util/qlalr/examples/lambda/lambda.g40
-rw-r--r--util/qlalr/examples/qparser/calc.g40
-rw-r--r--util/qlalr/examples/qparser/calc.l41
-rw-r--r--util/qlalr/lalr.g3
-rw-r--r--util/qtscriptparser/make-parser.sh40
-rwxr-xr-xutil/scripts/make_qfeatures_dot_h67
-rwxr-xr-xutil/unicode/writingSystems.sh41
677 files changed, 12440 insertions, 5812 deletions
diff --git a/.gitignore b/.gitignore
index 14b25f3..282c8bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -198,6 +198,7 @@ plugin_commonU.def
# ---------------------
.project
.cproject
+.make.cache
qtc-debugging-helper
src/corelib/lib
diff --git a/LICENSE.GPL3 b/LICENSE.GPL3
deleted file mode 100644
index 265c4ea..0000000
--- a/LICENSE.GPL3
+++ /dev/null
@@ -1,696 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
-
- The Qt GUI Toolkit is Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
- Contact: Nokia Corporation (qt-info@nokia.com)
-
- You may use, distribute and copy the Qt GUI Toolkit under the terms of
- GNU General Public License version 3, which is displayed below.
-
--------------------------------------------------------------------------
-
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
--------------------------------------------------------------------------
-
-In addition, as a special exception, Nokia gives permission to link the
-code of its release of Qt with the OpenSSL project's "OpenSSL" library (or
-modified versions of it that use the same license as the "OpenSSL"
-library), and distribute the linked executables. You must comply with the
-GNU General Public License versions 2.0 or 3.0 in all respects for all of
-the code used other than the "OpenSSL" code. If you modify this file, you
-may extend this exception to your version of the file, but you are not
-obligated to do so. If you do not wish to do so, delete this exception
-statement from your version of this file.
diff --git a/bin/createpackage.bat b/bin/createpackage.bat
index b5ede18..87d094f 100644
--- a/bin/createpackage.bat
+++ b/bin/createpackage.bat
@@ -1,3 +1,44 @@
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::
+:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: Contact: Nokia Corporation (qt-info@nokia.com)
+::
+:: This file is part of the test suite 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$
+::
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+
@echo off
set scriptpath=%~dp0
-perl %scriptpath%createpackage.pl %* \ No newline at end of file
+perl %scriptpath%createpackage.pl %*
diff --git a/bin/createpackage.pl b/bin/createpackage.pl
index a180864..2e31544 100644
--- a/bin/createpackage.pl
+++ b/bin/createpackage.pl
@@ -1,11 +1,49 @@
-#!\usr\bin\perl
+#!/usr/bin/perl
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the S60 port 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$
+##
+#############################################################################
+
############################################################################################
#
# Convenience script for creating signed packages you can install on your phone.
#
-# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# Contact: Qt Software Information (qt-info@nokia.com)
-#
############################################################################################
use strict;
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 005d587..8140207 100644
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -1,10 +1,49 @@
+#!/usr/bin/perl
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the S60 port 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$
+##
+#############################################################################
+
#######################################################################
#
# A script for setting binary capabilities based on .pkg file contents.
#
-# Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
-# Contact: Nokia Corporation (qt-info@nokia.com)
-#
#######################################################################
sub Usage() {
@@ -13,7 +52,7 @@ sub Usage() {
print("If no capabilities are given, the binaries will be given the\n");
print("capabilities supported by self-signed certificates.\n");
print("\nUsage: patch_capabilities.pl pkg_filename [target-platform] [capability list]\n");
- print(" If template .pkg file is given, next agrument must be 'target-platform'.\n");
+ print(" If template .pkg file is given, next agrument must be 'target-platform'.\n");
print("\nE.g. patch_capabilities.pl myapp_template.pkg release-armv5 \"All -TCB\"\n");
exit();
}
@@ -26,17 +65,26 @@ if (@ARGV)
# Parse the first given script argument as a ".pkg" file name.
my $pkgFileName = shift(@ARGV);
- # Check if using template .pkg and do preprocessing if needed
- if (($pkgFileName =~ m|_template\.pkg$|i) && -r($pkgFileName))
+ # These variables will only be set for template .pkg files.
+ my $target;
+ my $platform;
+
+ # Check if using template .pkg and set target/platform variables
+ if (($pkgFileName =~ m|_template\.pkg$|i) && -r($pkgFileName))
{
- my $target;
- unless ($target = shift(@ARGV))
+ my $targetplatform;
+ unless ($targetplatform = shift(@ARGV))
{
Usage();
}
-
- system ("createpackage.bat -p ".$pkgFileName." ".$target);
- $pkgFileName =~ s/_template\.pkg/_${target}\.pkg/;
+
+ my @tmpvalues = split('-', $targetplatform);
+ $target = $tmpvalues[0];
+ $platform = $tmpvalues[1];
+
+ # Convert visual target to real target (debug->udeb and release->urel)
+ $target =~ s/debug/udeb/i;
+ $target =~ s/release/urel/i;
}
# If the specified ".pkg" file exists (and can be read),
@@ -80,8 +128,16 @@ if (@ARGV)
my $destinationPath = $2;
# If the given file is a binary, check the target and binary type (+ the actual filename) from its path.
- if ($sourcePath =~ m:/epoc32/release/([^/]+)/(udeb|urel)/(\w+(\.dll|\.exe)):i)
+ if ($sourcePath =~ m:/epoc32/release/([^/]+)/(udeb|urel|\$\(TARGET\))/(\w+(\.dll|\.exe)):i)
{
+ # Do preprocessing for template pkg,
+ # In case of template pkg target and platform variables are set
+ if(length($target) && length($platform))
+ {
+ $sourcePath =~ s/\$\(PLATFORM\)/$platform/gm;
+ $sourcePath =~ s/\$\(TARGET\)/$target/gm;
+ }
+
push (@binaries, $sourcePath);
}
}
diff --git a/bin/setcepaths.bat b/bin/setcepaths.bat
index 5e04526..ebed731 100755
--- a/bin/setcepaths.bat
+++ b/bin/setcepaths.bat
@@ -1,3 +1,43 @@
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::
+:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: Contact: Nokia Corporation (qt-info@nokia.com)
+::
+:: This file is part of the tools applications 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$
+::
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
IF "%1" EQU "wincewm50pocket-msvc2005" (
checksdk.exe -sdk "Windows Mobile 5.0 Pocket PC SDK (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL
diff --git a/bin/syncqt.bat b/bin/syncqt.bat
index 579844f..a619b92 100755
--- a/bin/syncqt.bat
+++ b/bin/syncqt.bat
@@ -1,2 +1,42 @@
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
+::
+:: Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+:: Contact: Nokia Corporation (qt-info@nokia.com)
+::
+:: This file is part of the tools applications 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$
+::
+:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@rem ***** This assumes PERL is in the PATH *****
@perl.exe -S syncqt %*
diff --git a/configure b/configure
index 3f3e55a..9ef0b45 100755
--- a/configure
+++ b/configure
@@ -1,13 +1,44 @@
#!/bin/sh
-#
-# Configures to build the Qt library
-#
-# Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# Contact: Nokia Corporation (qt-info@nokia.com)
-#
-# This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-# WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-#
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility 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$
+##
+#############################################################################
#-------------------------------------------------------------------------------
# script initialization
@@ -643,7 +674,7 @@ CFG_MULTIMEDIA=yes
CFG_SVG=yes
CFG_WEBKIT=auto # (yes|no|auto)
-CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen"
+CFG_GFX_AVAILABLE="linuxfb transformed qvfb vnc multiscreen directfb"
CFG_GFX_ON="linuxfb multiscreen"
CFG_GFX_PLUGIN_AVAILABLE=
CFG_GFX_PLUGIN=
@@ -3842,16 +3873,22 @@ if [ "$Edition" = "NokiaInternalBuild" ]; then
elif [ "$Edition" = "OpenSource" ]; then
while true; do
echo "You are licensed to use this software under the terms of"
- echo "the GNU General Public License (GPL) versions 3."
- echo "You are also licensed to use this software under the terms of"
echo "the Lesser GNU General Public License (LGPL) versions 2.1."
+ if [ -e "$relpath/LICENSE.GPL3" ]; then
+ echo "You are also licensed to use this software under the terms of"
+ echo "the GNU General Public License (GPL) versions 3."
+ affix="either"
+ else
+ affix="the"
+ fi
echo
- affix="either"
if [ "$OPT_CONFIRM_LICENSE" = "yes" ]; then
- echo "You have already accepted the terms of the $LicenseType license."
+ echo "You have already accepted the terms of the $LicenseType license."
acceptance=yes
else
- echo "Type '3' to view the GNU General Public License version 3."
+ if [ -e "$relpath/LICENSE.GPL3" ]; then
+ echo "Type '3' to view the GNU General Public License version 3."
+ fi
echo "Type 'L' to view the Lesser GNU General Public License version 2.1."
echo "Type 'yes' to accept this license offer."
echo "Type 'no' to decline this license offer."
diff --git a/demos/boxes/qtbox.cpp b/demos/boxes/qtbox.cpp
index 54882fb..7134d63 100644
--- a/demos/boxes/qtbox.cpp
+++ b/demos/boxes/qtbox.cpp
@@ -319,6 +319,8 @@ void QtBox::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi
0.5f * (right + left), 0.5f * (bottom + top), 0.0f, 1.0f
};
+ painter->beginNativePainting();
+
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadMatrixf(moveToRectMatrix);
@@ -392,6 +394,8 @@ void QtBox::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi
glMatrixMode(GL_PROJECTION);
glPopMatrix();
+ painter->endNativePainting();
+
ItemBase::paint(painter, option, widget);
}
diff --git a/demos/boxes/scene.cpp b/demos/boxes/scene.cpp
index 016ba17..7c0d4d8 100644
--- a/demos/boxes/scene.cpp
+++ b/demos/boxes/scene.cpp
@@ -649,6 +649,24 @@ void Scene::initGL()
m_renderOptions->emitParameterChanged();
}
+static void loadMatrix(const QMatrix4x4& m)
+{
+ GLfloat mat[16];
+ const qreal *data = m.constData();
+ for (int index = 0; index < 16; ++index)
+ mat[index] = data[index];
+ glLoadMatrixf(mat);
+}
+
+static void multMatrix(const QMatrix4x4& m)
+{
+ GLfloat mat[16];
+ const qreal *data = m.constData();
+ for (int index = 0; index < 16; ++index)
+ mat[index] = data[index];
+ glMultMatrixf(mat);
+}
+
// If one of the boxes should not be rendered, set excludeBox to its index.
// If the main box should not be rendered, set excludeBox to -1.
void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
@@ -673,7 +691,7 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
viewRotation(3, 0) = viewRotation(3, 1) = viewRotation(3, 2) = 0.0f;
viewRotation(0, 3) = viewRotation(1, 3) = viewRotation(2, 3) = 0.0f;
viewRotation(3, 3) = 1.0f;
- glLoadMatrixf(viewRotation.data());
+ loadMatrix(viewRotation);
glScalef(20.0f, 20.0f, 20.0f);
// Don't render the environment if the environment texture can't be set for the correct sampler.
@@ -688,7 +706,7 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
m_environment->unbind();
}
- glLoadMatrixf(view.data());
+ loadMatrix(view);
glEnable(GL_CULL_FACE);
glEnable(GL_LIGHTING);
@@ -702,7 +720,7 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
m.rotate(m_trackBalls[1].rotation());
m = m.transposed();
- glMultMatrixf(m.data());
+ multMatrix(m);
glRotatef(360.0f * i / m_programs.size(), 0.0f, 0.0f, 1.0f);
glTranslatef(2.0f, 0.0f, 0.0f);
@@ -736,7 +754,7 @@ void Scene::renderBoxes(const QMatrix4x4 &view, int excludeBox)
QMatrix4x4 m;
m.rotate(m_trackBalls[0].rotation());
m = m.transposed();
- glMultMatrixf(m.data());
+ multMatrix(m);
if (glActiveTexture) {
if (m_dynamicCubemap)
@@ -842,7 +860,7 @@ void Scene::renderCubemaps()
glMatrixMode(GL_PROJECTION);
glPushMatrix();
- glLoadMatrixf(mat.data());
+ loadMatrix(mat);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
@@ -894,6 +912,7 @@ void Scene::drawBackground(QPainter *painter, const QRectF &)
float width = float(painter->device()->width());
float height = float(painter->device()->height());
+ painter->beginNativePainting();
setStates();
if (m_dynamicCubemap)
@@ -913,6 +932,8 @@ void Scene::drawBackground(QPainter *painter, const QRectF &)
defaultStates();
++m_frame;
+
+ painter->endNativePainting();
}
QPointF Scene::pixelPosToViewPos(const QPointF& p)
diff --git a/demos/boxes/scene.h b/demos/boxes/scene.h
index efe1e3f..23f17e5 100644
--- a/demos/boxes/scene.h
+++ b/demos/boxes/scene.h
@@ -108,6 +108,8 @@ private:
class GraphicsWidget : public QGraphicsProxyWidget
{
+public:
+ GraphicsWidget() : QGraphicsProxyWidget(0, Qt::Window) {}
protected:
virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
virtual void resizeEvent(QGraphicsSceneResizeEvent *event);
diff --git a/demos/composition/composition.cpp b/demos/composition/composition.cpp
index bb8a02c..8061908 100644
--- a/demos/composition/composition.cpp
+++ b/demos/composition/composition.cpp
@@ -377,7 +377,9 @@ void CompositionRenderer::paint(QPainter *painter)
p.setCompositionMode(QPainter::CompositionMode_Source);
p.fillRect(QRect(0, 0, m_pbuffer->width(), m_pbuffer->height()), Qt::transparent);
- p.save();
+ p.save(); // Needed when using the GL1 engine
+ p.beginNativePainting(); // Needed when using the GL2 engine
+
glBindTexture(GL_TEXTURE_2D, m_base_tex);
glEnable(GL_TEXTURE_2D);
glColor4f(1.,1.,1.,1.);
@@ -399,16 +401,21 @@ void CompositionRenderer::paint(QPainter *painter)
glEnd();
glDisable(GL_TEXTURE_2D);
- p.restore();
+
+ p.endNativePainting(); // Needed when using the GL2 engine
+ p.restore(); // Needed when using the GL1 engine
drawSource(p);
p.end();
m_pbuffer->updateDynamicTexture(m_compositing_tex);
}
- glWidget()->makeCurrent();
+ painter->beginNativePainting(); // Needed when using the GL2 engine
+ glWidget()->makeCurrent(); // Needed when using the GL1 engine
glBindTexture(GL_TEXTURE_2D, m_compositing_tex);
glEnable(GL_TEXTURE_2D);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(1.,1.,1.,1.);
glBegin(GL_QUADS);
{
@@ -426,6 +433,7 @@ void CompositionRenderer::paint(QPainter *painter)
}
glEnd();
glDisable(GL_TEXTURE_2D);
+ painter->endNativePainting(); // Needed when using the GL2 engine
} else
#endif
{
diff --git a/demos/embedded/digiflip/digiflip.pro b/demos/embedded/digiflip/digiflip.pro
index 6654088..4db5171 100644
--- a/demos/embedded/digiflip/digiflip.pro
+++ b/demos/embedded/digiflip/digiflip.pro
@@ -1 +1,7 @@
SOURCES = digiflip.cpp
+
+symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000CF72
+}
+
diff --git a/demos/embedded/embedded.pro b/demos/embedded/embedded.pro
index 3d814f7..5bd3276 100644
--- a/demos/embedded/embedded.pro
+++ b/demos/embedded/embedded.pro
@@ -7,12 +7,10 @@ contains(QT_CONFIG, svg) {
!vxworks:!qnx:SUBDIRS += fluidlauncher
}
-contains(QT_CONFIG, network) {
- SUBDIRS += lightmaps
- SUBDIRS += flightinfo
- contains(QT_CONFIG, svg) {
- SUBDIRS += weatherinfo
- }
+SUBDIRS += lightmaps
+SUBDIRS += flightinfo
+contains(QT_CONFIG, svg) {
+ SUBDIRS += weatherinfo
}
contains(QT_CONFIG, webkit) {
diff --git a/demos/embedded/flickable/flickable.pro b/demos/embedded/flickable/flickable.pro
index 3c021dd..02e88aa 100644
--- a/demos/embedded/flickable/flickable.pro
+++ b/demos/embedded/flickable/flickable.pro
@@ -1,2 +1,7 @@
SOURCES = flickable.cpp main.cpp
HEADERS = flickable.h
+
+symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000CF73
+}
diff --git a/demos/embedded/flightinfo/flightinfo.pro b/demos/embedded/flightinfo/flightinfo.pro
index 5edb175..461c701 100644
--- a/demos/embedded/flightinfo/flightinfo.pro
+++ b/demos/embedded/flightinfo/flightinfo.pro
@@ -6,6 +6,8 @@ RESOURCES = flightinfo.qrc
QT += network
symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000CF74
HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h
LIBS += -lesock -lconnmon
TARGET.CAPABILITY = NetworkServices
diff --git a/demos/embedded/fluidlauncher/fluidlauncher.pro b/demos/embedded/fluidlauncher/fluidlauncher.pro
index 522ccf3..3ed4f31 100644
--- a/demos/embedded/fluidlauncher/fluidlauncher.pro
+++ b/demos/embedded/fluidlauncher/fluidlauncher.pro
@@ -61,7 +61,6 @@ symbian {
TARGET.UID3 = 0xA000A641
executables.sources = \
- embeddedsvgviewer.exe \
styledemo.exe \
deform.exe \
pathstroke.exe \
@@ -71,48 +70,78 @@ symbian {
desktopservices.exe \
fridgemagnets.exe \
drilldown.exe \
- softkeys.exe
-
- contains(QT_CONFIG, webkit): executables.sources += anomaly.exe
- contains(QT_CONFIG, script): executables.sources += context2d.exe
+ softkeys.exe \
+ raycasting.exe \
+ flickable.exe \
+ digiflip.exe \
+ lightmaps.exe \
+ flightinfo.exe
executables.path = /sys/bin
reg_resource.sources = \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/embeddedsvgviewer_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/styledemo_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/deform_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/pathstroke_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/wiggly_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/ftp_reg.rsc\
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/saxbookmarks_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/desktopservices_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/fridgemagnets_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/drilldown_reg.rsc \
- $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/softkeys_reg.rsc
-
- contains(QT_CONFIG, webkit): reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/anomaly_reg.rsc
- contains(QT_CONFIG, script): reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/context2d_reg.rsc
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/styledemo_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/deform_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/pathstroke_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/wiggly_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/ftp_reg.rsc\
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/saxbookmarks_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/desktopservices_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/fridgemagnets_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/drilldown_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/softkeys_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/raycasting_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/flickable_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/digiflip_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/lightmaps_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/flightinfo_reg.rsc
reg_resource.path = $$REG_RESOURCE_IMPORT_DIR
resource.sources = \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/embeddedsvgviewer.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/styledemo.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/deform.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/pathstroke.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/wiggly.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/ftp.rsc\
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/saxbookmarks.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/desktopservices.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/fridgemagnets.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/drilldown.rsc \
- $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/softkeys.rsc
- contains(QT_CONFIG, webkit): resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/anomaly.rsc
- contains(QT_CONFIG, script): resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/context2d.rsc
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/styledemo.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/deform.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/pathstroke.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/wiggly.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/ftp.rsc\
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/saxbookmarks.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/desktopservices.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/fridgemagnets.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/drilldown.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/softkeys.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/raycasting.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/flickable.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/digiflip.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/lightmaps.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/flightinfo.rsc
+
resource.path = $$APP_RESOURCE_DIR
+ contains(QT_CONFIG, svg) {
+ executables.sources += \
+ embeddedsvgviewer.exe \
+ weatherinfo.exe
+
+ reg_resource.sources += \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/embeddedsvgviewer_reg.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/weatherinfo_reg.rsc
+
+ resource.sources += \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/embeddedsvgviewer.rsc \
+ $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/weatherinfo.rsc
+ }
+ contains(QT_CONFIG, webkit) {
+ executables.sources += anomaly.exe
+ reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/anomaly_reg.rsc
+ resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/anomaly.rsc
+ }
+ contains(QT_CONFIG, script) {
+ executables.sources += context2d.exe
+ reg_resource.sources += $${EPOCROOT}$$HW_ZDIR$$REG_RESOURCE_IMPORT_DIR/context2d_reg.rsc
+ resource.sources += $${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/context2d.rsc
+ }
+
mifs.sources = \
$${EPOCROOT}$$HW_ZDIR$$APP_RESOURCE_DIR/0xA000C611.mif
mifs.path = $$APP_RESOURCE_DIR
diff --git a/demos/embedded/fluidlauncher/pictureflow.cpp b/demos/embedded/fluidlauncher/pictureflow.cpp
index 9eeaa26..293ef99 100644
--- a/demos/embedded/fluidlauncher/pictureflow.cpp
+++ b/demos/embedded/fluidlauncher/pictureflow.cpp
@@ -3,10 +3,6 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtGui module of the Qt Toolkit.
-**
-** This is a version of the Pictureflow animated image show widget modified by Nokia.
-**
** This file is part of the ActiveQt framework of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
diff --git a/demos/embedded/fluidlauncher/pictureflow.h b/demos/embedded/fluidlauncher/pictureflow.h
index 7ae2a88..8fc145c 100644
--- a/demos/embedded/fluidlauncher/pictureflow.h
+++ b/demos/embedded/fluidlauncher/pictureflow.h
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This is a version of the Pictureflow animated image show widget modified by Nokia.
+** This file is part of the ActiveQt framework of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:BSD$
** You may use this file under the terms of the BSD license as follows:
diff --git a/demos/embedded/lightmaps/lightmaps.pro b/demos/embedded/lightmaps/lightmaps.pro
index e57d15d..137183a 100644
--- a/demos/embedded/lightmaps/lightmaps.pro
+++ b/demos/embedded/lightmaps/lightmaps.pro
@@ -3,6 +3,8 @@ SOURCES = lightmaps.cpp
QT += network
symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000CF75
HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h
LIBS += -lesock -lconnmon
TARGET.CAPABILITY = NetworkServices
diff --git a/demos/embedded/raycasting/raycasting.pro b/demos/embedded/raycasting/raycasting.pro
index dae9412..19e0212 100644
--- a/demos/embedded/raycasting/raycasting.pro
+++ b/demos/embedded/raycasting/raycasting.pro
@@ -1,3 +1,8 @@
TEMPLATE = app
SOURCES = raycasting.cpp
RESOURCES += raycasting.qrc
+
+symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000CF76
+}
diff --git a/demos/embedded/weatherinfo/weatherinfo.pro b/demos/embedded/weatherinfo/weatherinfo.pro
index a89acba..0a579b0 100644
--- a/demos/embedded/weatherinfo/weatherinfo.pro
+++ b/demos/embedded/weatherinfo/weatherinfo.pro
@@ -5,6 +5,8 @@ RESOURCES = weatherinfo.qrc
QT += network svg
symbian {
+ include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000CF77
HEADERS += $$QT_SOURCE_TREE/examples/network/ftp/sym_iap_util.h
LIBS += -lesock -lconnmon
TARGET.CAPABILITY = NetworkServices
diff --git a/demos/qtdemo/colors.cpp b/demos/qtdemo/colors.cpp
index e63417c..455ba0c 100644
--- a/demos/qtdemo/colors.cpp
+++ b/demos/qtdemo/colors.cpp
@@ -274,6 +274,8 @@ void Colors::parseArgs(int argc, char *argv[])
+ "[-low] [-ticker-letters<int>] [-ticker-speed<float>] [-no-ticker-morph] "
+ "[-ticker-morph-speed<float>] [-ticker-text<string>]");
exit(0);
+ } else if (s == "-verbose") {
+ // this option was already handled above
} else{
QMessageBox::warning(0, "QtDemo", QString("Unrecognized argument:\n") + s);
exit(0);
diff --git a/demos/qtdemo/menumanager.cpp b/demos/qtdemo/menumanager.cpp
index 12796dc..88eaeb3 100644
--- a/demos/qtdemo/menumanager.cpp
+++ b/demos/qtdemo/menumanager.cpp
@@ -324,9 +324,10 @@ void MenuManager::launchExample(const QString &name)
#ifdef Q_OS_WIN
//make sure it finds the dlls on windows
- QString curpath = QString::fromLocal8Bit(qgetenv("PATH").constData());
- QString newpath = QString("PATH=%1;%2").arg(QLibraryInfo::location(QLibraryInfo::BinariesPath), curpath);
- process->setEnvironment(QStringList(newpath));
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ env.insert(QLatin1String("PATH"), QLibraryInfo::location(QLibraryInfo::BinariesPath)
+ + QLatin1Char(';') + env.value(QLatin1String("Path")));
+ process->setProcessEnvironment(env);
#endif
if (info[name]["changedirectory"] != "false"){
diff --git a/demos/qtdemo/xml/examples.xml b/demos/qtdemo/xml/examples.xml
index f598780..77006c2 100644
--- a/demos/qtdemo/xml/examples.xml
+++ b/demos/qtdemo/xml/examples.xml
@@ -184,7 +184,6 @@
<category dirname="statemachine" name="State Machine">
<example filename="eventtransitions" name="Event Transitions" />
<example filename="rogue" name="Rogue" />
- <example filename="tankgame" name="Tank Game" />
<example filename="trafficlight" name="Traffic Light" />
<example filename="twowaybutton" name="Two-way Button" />
</category>
diff --git a/demos/sub-attaq/graphicsscene.cpp b/demos/sub-attaq/graphicsscene.cpp
index b4fd0c9..79de011 100644
--- a/demos/sub-attaq/graphicsscene.cpp
+++ b/demos/sub-attaq/graphicsscene.cpp
@@ -51,6 +51,7 @@
#include "animationmanager.h"
#include "qanimationstate.h"
#include "progressitem.h"
+#include "textinformationitem.h"
//Qt
#include <QtCore/QPropertyAnimation>
@@ -112,6 +113,8 @@ GraphicsScene::GraphicsScene(int x, int y, int width, int height, Mode mode)
//The item that display score and level
progressItem = new ProgressItem(backgroundItem);
+ textInformationItem = new TextInformationItem(backgroundItem);
+ textInformationItem->hide();
//We create the boat
boat = new Boat();
addItem(boat);
@@ -244,15 +247,15 @@ void GraphicsScene::setupScene(const QList<QAction *> &actions)
lettersFadingState->setAnimation(lettersGroupFading);
//if new game then we fade out the welcome screen and start playing
- lettersMovingState->addTransition(newAction, SIGNAL(triggered()),lettersFadingState);
- lettersFadingState->addTransition(lettersFadingState, SIGNAL(animationFinished()),gameState);
+ lettersMovingState->addTransition(newAction, SIGNAL(triggered()), lettersFadingState);
+ lettersFadingState->addTransition(lettersFadingState, SIGNAL(animationFinished()), gameState);
//New Game is triggered then player start playing
- gameState->addTransition(newAction, SIGNAL(triggered()),gameState);
+ gameState->addTransition(newAction, SIGNAL(triggered()), gameState);
//Wanna quit, then connect to CTRL+Q
- gameState->addTransition(quitAction, SIGNAL(triggered()),final);
- lettersMovingState->addTransition(quitAction, SIGNAL(triggered()),final);
+ gameState->addTransition(quitAction, SIGNAL(triggered()), final);
+ lettersMovingState->addTransition(quitAction, SIGNAL(triggered()), final);
//Welcome screen is the initial state
machine->setInitialState(lettersMovingState);
diff --git a/demos/sub-attaq/graphicsscene.h b/demos/sub-attaq/graphicsscene.h
index 073ad17..8fa62f7 100644
--- a/demos/sub-attaq/graphicsscene.h
+++ b/demos/sub-attaq/graphicsscene.h
@@ -54,6 +54,7 @@ class Torpedo;
class Bomb;
class PixmapItem;
class ProgressItem;
+class TextInformationItem;
QT_BEGIN_NAMESPACE
class QAction;
QT_END_NAMESPACE
@@ -108,6 +109,7 @@ private:
Mode mode;
PixmapItem *backgroundItem;
ProgressItem *progressItem;
+ TextInformationItem *textInformationItem;
QAction * newAction;
QAction * quitAction;
Boat *boat;
diff --git a/demos/sub-attaq/states.cpp b/demos/sub-attaq/states.cpp
index 75a2615..5c809cb 100644
--- a/demos/sub-attaq/states.cpp
+++ b/demos/sub-attaq/states.cpp
@@ -47,6 +47,7 @@
#include "torpedo.h"
#include "animationmanager.h"
#include "progressitem.h"
+#include "textinformationitem.h"
//Qt
#include <QtGui/QMessageBox>
@@ -226,8 +227,15 @@ void LostState::onEntry(QEvent *)
//We clear the scene
scene->clearScene();
- //we have only one view
- QMessageBox::information(scene->views().at(0),"You lose",message);
+ //We inform the player
+ scene->textInformationItem->setMessage(message);
+ scene->textInformationItem->show();
+}
+
+void LostState::onExit(QEvent *)
+{
+ //we hide the information
+ scene->textInformationItem->hide();
}
/** Win State */
@@ -242,7 +250,7 @@ void WinState::onEntry(QEvent *)
QString message;
if (scene->levelsData.size() - 1 != game->currentLevel) {
- message = QString("You win the level %1. Your score is %2.\nPress Space to continue after closing this dialog.").arg(game->currentLevel+1).arg(game->score);
+ message = QString("You win the level %1. Your score is %2.\nPress Space to continue.").arg(game->currentLevel+1).arg(game->score);
//We increment the level number
game->currentLevel++;
} else {
@@ -253,8 +261,15 @@ void WinState::onEntry(QEvent *)
game->score = 0;
}
- //we have only one view
- QMessageBox::information(scene->views().at(0),"You win",message);
+ //We inform the player
+ scene->textInformationItem->setMessage(message);
+ scene->textInformationItem->show();
+}
+
+void WinState::onExit(QEvent *)
+{
+ //we hide the information
+ scene->textInformationItem->hide();
}
/** UpdateScore State */
diff --git a/demos/sub-attaq/states.h b/demos/sub-attaq/states.h
index 7635c0c..3176571 100644
--- a/demos/sub-attaq/states.h
+++ b/demos/sub-attaq/states.h
@@ -113,6 +113,7 @@ public:
protected:
void onEntry(QEvent *);
+ void onExit(QEvent *);
private :
GraphicsScene *scene;
PlayState *game;
@@ -125,6 +126,7 @@ public:
protected:
void onEntry(QEvent *);
+ void onExit(QEvent *);
private :
GraphicsScene *scene;
PlayState *game;
diff --git a/demos/sub-attaq/sub-attaq.pro b/demos/sub-attaq/sub-attaq.pro
index ad1327d..ba2b54b 100644
--- a/demos/sub-attaq/sub-attaq.pro
+++ b/demos/sub-attaq/sub-attaq.pro
@@ -1,5 +1,4 @@
contains(QT_CONFIG, opengl):QT += opengl
-
HEADERS += boat.h \
bomb.h \
mainwindow.h \
@@ -13,7 +12,8 @@ HEADERS += boat.h \
submarine_p.h \
custompropertyanimation.h \
qanimationstate.h \
- progressitem.h
+ progressitem.h \
+ textinformationitem.h
SOURCES += boat.cpp \
bomb.cpp \
main.cpp \
@@ -26,12 +26,18 @@ SOURCES += boat.cpp \
states.cpp \
custompropertyanimation.cpp \
qanimationstate.cpp \
- progressitem.cpp
+ progressitem.cpp \
+ textinformationitem.cpp
RESOURCES += subattaq.qrc
# install
target.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq
-sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS sub-attaq.pro pics
+sources.files = $$SOURCES \
+ $$HEADERS \
+ $$RESOURCES \
+ $$FORMS \
+ sub-attaq.pro \
+ pics
sources.path = $$[QT_INSTALL_DEMOS]/animation/sub-attaq
-INSTALLS += target sources
-
+INSTALLS += target \
+ sources
diff --git a/demos/sub-attaq/textinformationitem.cpp b/demos/sub-attaq/textinformationitem.cpp
new file mode 100644
index 0000000..759aa56
--- /dev/null
+++ b/demos/sub-attaq/textinformationitem.cpp
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtCore 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 "textinformationitem.h"
+#include "pixmapitem.h"
+
+TextInformationItem::TextInformationItem (QGraphicsItem * parent)
+ : QGraphicsTextItem(parent)
+{
+ setFont(QFont("Comic Sans MS", 25));
+}
+#include <QDebug>
+void TextInformationItem::setMessage(const QString& text)
+{
+ setHtml(text);
+ setPos(parentItem()->boundingRect().center().x() - boundingRect().size().width()/2 , parentItem()->boundingRect().center().y());
+}
diff --git a/examples/effects/lighting/shadoweffect.h b/demos/sub-attaq/textinformationitem.h
index 64314e5..aa7f0be 100644
--- a/examples/effects/lighting/shadoweffect.h
+++ b/demos/sub-attaq/textinformationitem.h
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the examples of the Qt Toolkit.
+** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
@@ -39,28 +39,17 @@
**
****************************************************************************/
-#ifndef SHADOWEFFECT_H
-#define SHADOWEFFECT_H
+#ifndef TEXTINFORMATIONITEM_H
+#define TEXTINFORMATIONITEM_H
-#include <QGraphicsEffect>
-#include <QGraphicsItem>
+//Qt
+#include <QtGui/QGraphicsTextItem>
-class ShadowEffect: public QGraphicsDropShadowEffect
+class TextInformationItem : public QGraphicsTextItem
{
public:
- ShadowEffect(QGraphicsItem *item, QGraphicsItem *source);
-
- QRectF boundingRectFor(const QRectF &rect) const;
-
- void draw(QPainter *painter, QGraphicsEffectSource *source);
-
-private:
- void adjustForItem();
-
-private:
- QColor m_color;
- QGraphicsItem *item;
- QGraphicsItem *m_lightSource;
+ TextInformationItem(QGraphicsItem * parent = 0);
+ void setMessage(const QString& text);
};
-#endif // SHADOWEFFECT_H
+#endif // TEXTINFORMATIONITEM_H
diff --git a/demos/textedit/textedit.doc b/demos/textedit/textedit.doc
deleted file mode 100644
index 53279b9..0000000
--- a/demos/textedit/textedit.doc
+++ /dev/null
@@ -1,18 +0,0 @@
-/*! \page textedit-example.html
-
- \ingroup examples
- \title Text Edit Example
-
- This example displays a text editor with the user interface written
- in pure C++.
-
- A similar example which uses \link designer-manual.book Qt
- Designer\endlink to produce the user interface is in the \link
- designer-manual.book Qt Designer manual\endlink.
-
-
- See \c{$QTDIR/examples/textedit} for the source code.
-
-*/
-
-
diff --git a/demos/textedit/textedit.qdoc b/demos/textedit/textedit.qdoc
new file mode 100644
index 0000000..c9b06e8
--- /dev/null
+++ b/demos/textedit/textedit.qdoc
@@ -0,0 +1,59 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
+/*! \page textedit-example.html
+
+ \ingroup examples
+ \title Text Edit Example
+
+ This example displays a text editor with the user interface written
+ in pure C++.
+
+ A similar example which uses \link designer-manual.book Qt
+ Designer\endlink to produce the user interface is in the \link
+ designer-manual.book Qt Designer manual\endlink.
+
+
+ See \c{$QTDIR/examples/textedit} for the source code.
+
+*/
+
+
diff --git a/doc/src/diagrams/contentspropagation/customwidget.py b/doc/src/diagrams/contentspropagation/customwidget.py
index 89e0b1b..68d64e5 100755
--- a/doc/src/diagrams/contentspropagation/customwidget.py
+++ b/doc/src/diagrams/contentspropagation/customwidget.py
@@ -1,4 +1,44 @@
#!/usr/bin/env python
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the test suite 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$
+##
+#############################################################################
import os, sys
from PyQt4.QtCore import *
diff --git a/doc/src/diagrams/contentspropagation/standardwidgets.py b/doc/src/diagrams/contentspropagation/standardwidgets.py
index 975287d..fb5796e 100755
--- a/doc/src/diagrams/contentspropagation/standardwidgets.py
+++ b/doc/src/diagrams/contentspropagation/standardwidgets.py
@@ -1,4 +1,44 @@
#!/usr/bin/env python
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the test suite 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$
+##
+#############################################################################
import os, sys
from PyQt4.QtCore import *
diff --git a/doc/src/diagrams/programs/mdiarea.py b/doc/src/diagrams/programs/mdiarea.py
index c78659f..c336382 100644
--- a/doc/src/diagrams/programs/mdiarea.py
+++ b/doc/src/diagrams/programs/mdiarea.py
@@ -1,4 +1,44 @@
#!/usr/bin/env python
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the test suite 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$
+##
+#############################################################################
import sys
from PyQt4.QtCore import SIGNAL
diff --git a/doc/src/diagrams/programs/qpen-dashpattern.py b/doc/src/diagrams/programs/qpen-dashpattern.py
index 095d51f..24a793e 100644
--- a/doc/src/diagrams/programs/qpen-dashpattern.py
+++ b/doc/src/diagrams/programs/qpen-dashpattern.py
@@ -1,4 +1,44 @@
#!/usr/bin/env python
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is part of the test suite 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$
+##
+#############################################################################
import sys
from PyQt4.QtCore import *
diff --git a/doc/src/examples/complexpingpong.qdoc b/doc/src/examples/complexpingpong.qdoc
index 22e9bc4..52266a5 100644
--- a/doc/src/examples/complexpingpong.qdoc
+++ b/doc/src/examples/complexpingpong.qdoc
@@ -46,5 +46,5 @@
The Complex Ping Pong example improves on the \l{D-Bus Ping Pong Example} by providing
a more useful demonstration of D-Bus interfaces.
- \quotefile doc/src/snippets/complexpingpong-example.qdoc
+ \quotefile doc/src/snippets/complexpingpong-example.txt
*/
diff --git a/doc/src/examples/dbus-pingpong.qdoc b/doc/src/examples/dbus-pingpong.qdoc
index 6b15978..1451fac 100644
--- a/doc/src/examples/dbus-pingpong.qdoc
+++ b/doc/src/examples/dbus-pingpong.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
/*!
\example dbus/pingpong
\title D-Bus Ping Pong Example
@@ -5,5 +46,5 @@
The D-Bus Ping Pong example provides a basic demonstration of D-Bus
interfaces.
- \quotefile doc/src/snippets/dbus-pingpong-example.qdoc
+ \quotefile doc/src/snippets/dbus-pingpong-example.txt
*/
diff --git a/doc/src/examples/diagramscene.qdoc b/doc/src/examples/diagramscene.qdoc
index 9f5d785..2011aa9 100644
--- a/doc/src/examples/diagramscene.qdoc
+++ b/doc/src/examples/diagramscene.qdoc
@@ -704,7 +704,7 @@
We use \c itemChange() and \c focusOutEvent() to notify the
\c DiagramScene when the text item loses focus and gets selected.
- Vi reimplement the functions that handle mouse events to make it
+ We reimplement the functions that handle mouse events to make it
possible to alter the mouse behavior of QGraphicsTextItem.
\section1 DiagramTextItem Implementation
@@ -729,7 +729,8 @@
\snippet examples/graphicsview/diagramscene/diagramtextitem.cpp 2
\c DiagramScene uses the signal emitted when the text item looses
- remove the item if it is empty, i.e., it contains no text.
+ focus to remove the item if it is empty, i.e., it contains no
+ text.
This is the implementation of \c mouseDoubleClickEvent():
@@ -838,7 +839,7 @@
\snippet examples/graphicsview/diagramscene/arrow.cpp 7
- If the line is selected we draw to dotted lines that are
+ If the line is selected, we draw two dotted lines that are
parallel with the line of the arrow. We do not use the default
implementation, which uses \l{QGraphicsItem::}{boundingRect()}
because the QRect bounding rectangle is considerably larger than
diff --git a/doc/src/examples/fetchmore.qdoc b/doc/src/examples/fetchmore.qdoc
index 5434098..d561706 100644
--- a/doc/src/examples/fetchmore.qdoc
+++ b/doc/src/examples/fetchmore.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
/*!
\example itemviews/fetchmore
\title Fetch More Example
diff --git a/doc/src/examples/hellogl_es.qdoc b/doc/src/examples/hellogl_es.qdoc
index 0293584..5659d7c 100644
--- a/doc/src/examples/hellogl_es.qdoc
+++ b/doc/src/examples/hellogl_es.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
/*!
\example opengl/hellogl_es
\title Hello GL ES Example
diff --git a/doc/src/examples/videographicsitem.qdoc b/doc/src/examples/videographicsitem.qdoc
index ed420c0..796704c 100644
--- a/doc/src/examples/videographicsitem.qdoc
+++ b/doc/src/examples/videographicsitem.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
diff --git a/doc/src/examples/videowidget.qdoc b/doc/src/examples/videowidget.qdoc
index ea0b495..d853fa8 100644
--- a/doc/src/examples/videowidget.qdoc
+++ b/doc/src/examples/videowidget.qdoc
@@ -1,7 +1,7 @@
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Qt Software Information (qt-info@nokia.com)
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
diff --git a/doc/src/frameworks-technologies/dbus-adaptors.qdoc b/doc/src/frameworks-technologies/dbus-adaptors.qdoc
index 1f0cbdf..890cac3 100644
--- a/doc/src/frameworks-technologies/dbus-adaptors.qdoc
+++ b/doc/src/frameworks-technologies/dbus-adaptors.qdoc
@@ -39,8 +39,6 @@
**
****************************************************************************/
-**
-**
/*!
\page usingadaptors.html
\title Using QtDBus Adaptors
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 4307e0e..1d983b5 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -853,7 +853,7 @@ If you are using pre-built binaries, follow the instructions
\brief Setting up the Windows CE environment for Qt.
\previouspage General Qt Requirements
- Qt is known to work with Visual Studio 2005 and the following SDKs for
+ Qt is known to work with Visual Studio 2005/2008 and the following SDKs for
Windows CE development on Windows XP and Windows Vista:
\list
diff --git a/doc/src/images/graphicseffect-blur.png b/doc/src/images/graphicseffect-blur.png
index 3fa403b..4ea0bbb 100644
--- a/doc/src/images/graphicseffect-blur.png
+++ b/doc/src/images/graphicseffect-blur.png
Binary files differ
diff --git a/doc/src/images/graphicseffect-colorize.png b/doc/src/images/graphicseffect-colorize.png
index 96fbfe4..160c997 100644
--- a/doc/src/images/graphicseffect-colorize.png
+++ b/doc/src/images/graphicseffect-colorize.png
Binary files differ
diff --git a/doc/src/images/graphicseffect-drop-shadow.png b/doc/src/images/graphicseffect-drop-shadow.png
index c02415a..813c3a8 100644
--- a/doc/src/images/graphicseffect-drop-shadow.png
+++ b/doc/src/images/graphicseffect-drop-shadow.png
Binary files differ
diff --git a/doc/src/images/graphicseffect-effects.png b/doc/src/images/graphicseffect-effects.png
index 422ae19..3709014 100644
--- a/doc/src/images/graphicseffect-effects.png
+++ b/doc/src/images/graphicseffect-effects.png
Binary files differ
diff --git a/doc/src/images/graphicseffect-grayscale.png b/doc/src/images/graphicseffect-grayscale.png
index 2bd0c93..8b6e5c6 100644
--- a/doc/src/images/graphicseffect-grayscale.png
+++ b/doc/src/images/graphicseffect-grayscale.png
Binary files differ
diff --git a/doc/src/images/graphicseffect-opacity.png b/doc/src/images/graphicseffect-opacity.png
index de15859..cce75ab 100644
--- a/doc/src/images/graphicseffect-opacity.png
+++ b/doc/src/images/graphicseffect-opacity.png
Binary files differ
diff --git a/doc/src/images/graphicseffect-pixelize.png b/doc/src/images/graphicseffect-pixelize.png
index 047c452..57a0057 100644
--- a/doc/src/images/graphicseffect-pixelize.png
+++ b/doc/src/images/graphicseffect-pixelize.png
Binary files differ
diff --git a/doc/src/platforms/emb-deployment.qdoc b/doc/src/platforms/emb-deployment.qdoc
index a6fb978..57df026 100644
--- a/doc/src/platforms/emb-deployment.qdoc
+++ b/doc/src/platforms/emb-deployment.qdoc
@@ -71,8 +71,8 @@
Note that the application will look for the \c /lib/fonts/
directory relative to the path set using the \c -prefix parameter
when running the \c configure script; ensure that this is a
- sensible path in the target device environment. See the \l
- {Installing Qt for Embedded Linux#Step 3: Building the
+ sensible path in the target device environment. See the
+ \l {Installing Qt on Embedded Linux#Step 3: Building the
Library}{installation} documentation for more details.
\section1 Environment Variables
diff --git a/doc/src/platforms/emb-running.qdoc b/doc/src/platforms/emb-running.qdoc
index 67c9283..8f56a3b 100644
--- a/doc/src/platforms/emb-running.qdoc
+++ b/doc/src/platforms/emb-running.qdoc
@@ -77,7 +77,7 @@
\row
\o
Provided that the environment variables are adjusted properly
- during the \l {Installing Qt for Embedded Linux}{installation process}, you
+ during the \l {Installing Qt on Embedded Linux}{installation process}, you
should see the \l {Text Edit} demo appear.
It might be that the hardware drivers must be specified explicitly
diff --git a/doc/src/platforms/platform-notes-rtos.qdoc b/doc/src/platforms/platform-notes-rtos.qdoc
index 4fef2f5..8d79a8c 100644
--- a/doc/src/platforms/platform-notes-rtos.qdoc
+++ b/doc/src/platforms/platform-notes-rtos.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
/*!
\page platform-notes-vxworks.html
\title Platform Notes - VxWorks
diff --git a/doc/src/platforms/qt-embedded-linux.qdoc b/doc/src/platforms/qt-embedded-linux.qdoc
index 0bb2f7d..be98e43 100644
--- a/doc/src/platforms/qt-embedded-linux.qdoc
+++ b/doc/src/platforms/qt-embedded-linux.qdoc
@@ -81,7 +81,7 @@
\o
\list
\o \l {Qt for Embedded Linux Architecture}{Architecture Overview}
- \o \l {Installing Qt for Embedded Linux}{Installation}
+ \o \l {Installing Qt on Embedded Linux}{Installation}
\o \l {Running Qt for Embedded Linux Applications}{Running Applications}
\o \l {Qt for Embedded Linux Examples}{Examples}
\endlist
diff --git a/doc/src/platforms/qtmac-as-native.qdoc b/doc/src/platforms/qtmac-as-native.qdoc
index 97b4c57..2b6f151 100644
--- a/doc/src/platforms/qtmac-as-native.qdoc
+++ b/doc/src/platforms/qtmac-as-native.qdoc
@@ -39,49 +39,6 @@
**
****************************************************************************/
-/****************************************************************************
-**
-** Qt for Mac OS X documentation
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part 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$
-**
-**********************************************************************/
-
/*!
\page qtmac-as-native.html
\title Qt is Mac OS X Native
diff --git a/doc/src/platforms/wince-introduction.qdoc b/doc/src/platforms/wince-introduction.qdoc
index 2018eaa..561217d 100644
--- a/doc/src/platforms/wince-introduction.qdoc
+++ b/doc/src/platforms/wince-introduction.qdoc
@@ -84,8 +84,11 @@
\section1 Required tools
In order to use Qt for Windows CE you need to have Visual Studio
- 2005 and at least one of the supported Windows CE/Mobile SDKs
- installed.
+ 2005 or 2008 and at least one of the supported Windows
+ CE/Mobile SDKs installed.
+ Note, that the Visual Studio 2008 Standard Edition doesn't come
+ with Windows CE support. You will need the Professional Edition,
+ if you're using Visual Studio 2008.
We recommend the \e{Windows Mobile 5.0 SDK for Pocket PC} SDK available
\l{http://www.microsoft.com/downloads/details.aspx?FamilyID=83a52af2-f524-4ec5-9155-717cbe5d25ed&amp;DisplayLang=en}{here}.
@@ -103,15 +106,15 @@
Once you have a \c .pro file, there are two ways of building your
application. You can either do it on the command line or inside of
- VS2005. To do it on the command line, simply write:
+ Visual Studio. To do it on the command line, simply write:
\snippet doc/src/snippets/code/doc_src_wince-introduction.qdoc 0
- To build the project inside of VS2005, on the command line write:
+ To build the project inside of Visual Studio, on the command line write:
\snippet doc/src/snippets/code/doc_src_wince-introduction.qdoc 1
- then start VS2005 with the generated \c .vcproj or \c .sln file and
+ then start Visual Studio with the generated \c .vcproj or \c .sln file and
select \e{Build project}.
For more information on how to use qmake have a look at the \l
@@ -121,20 +124,20 @@
In order to run the application, it needs to be deployed on the
Windows CE/Mobile device you want to test it for. This can either
- be done manually or automated using VS2005.
+ be done manually or automated using Visual Studio.
To do it manually, simply copy the executable, the Qt \c{.dll}
files needed for the application to run, and the C-runtime library
into a folder on the device, and then click on the executable to
start the program. You can either use the \e Explorer found in
- ActiveSync or the \e{Remote File Viewer} found in VS2005 to do
+ ActiveSync or the \e{Remote File Viewer} found in Visual Studio to do
this.
- VS2005 can do this step automatically for you as well. If you have
- built the project inside VS2005, simply select \e Deploy and then
+ Visual Studio can do this step automatically for you as well. If you have
+ built the project inside Visual Studio, simply select \e Deploy and then
\e Debug to deploy and then run the application. You can change the
device type by changing the \e{Target Device} specified in the
- VS2005 toolbar.
+ Visual Studio toolbar.
Further information on deploying Qt applications for Windows can
be found in the \l{Deploying an Application on Windows}
diff --git a/doc/src/s60-introduction.qdoc b/doc/src/s60-introduction.qdoc
index 53ad562..0fd3a30 100644
--- a/doc/src/s60-introduction.qdoc
+++ b/doc/src/s60-introduction.qdoc
@@ -90,7 +90,7 @@
\row \o \c debug-armv5 \o Build debug binaries for hardware using RVCT.
\row \o \c release-armv5 \o Build release binaries for hardware using RVCT.
\row \o \c run \o Run the emulator binaries from the build directory.
- \row \o \c sisx \o Create signed \c .sis file for project.
+ \row \o \c sis \o Create signed \c .sis file for project.
\endtable
The following lines perform a debug build for the emulator
@@ -104,9 +104,9 @@
\section1 Installing your own applications
To install your own applications on hardware, you need signed \c .sis file.
- The signed \c .sis file can be created with \c make \c sisx target. \c sisx target
+ The signed \c .sis file can be created with \c make \c sis target. \c sis target
is only supported for executables or projects with \c DEPLOYMENT statements.
- By default the \c sisx target will create signed \.sis file for last build
+ By default the \c sis target will create signed \.sis file for last build
target. For example, the following sequence will generate the needed makefiles,
build the project for \c debug-winscw and \c release-armv5, and create
self-signed \c .sis file for \c release-armv5 target:
@@ -118,18 +118,18 @@
shown in the table below:
\table
- \row \o \c QT_SISX_OPTIONS \o Options accepted by \c .sis creation.
+ \row \o \c QT_SIS_OPTIONS \o Options accepted by \c .sis creation.
Currently only -i, install the package right away
using PC suite, is supported.
By default no otions are given.
- \row \o \c QT_SISX_TARGET \o Target for which \c .sis file is created.
+ \row \o \c QT_SIS_TARGET \o Target for which \c .sis file is created.
Accepted values are build targets listed in
previous table. By default last build target.
- \row \o \c QT_SISX_CERTIFICATE \o The certificate file used for signing.
+ \row \o \c QT_SIS_CERTIFICATE \o The certificate file used for signing.
By default self-signed certificate.
- \row \o \c QT_SISX_KEY \o The certificate's private key file.
+ \row \o \c QT_SIS_KEY \o The certificate's private key file.
By default key is associated to self-signed certificate.
- \row \o \c QT_SISX_PASSPHRASE \o The certificate's private key file's passphrase.
+ \row \o \c QT_SIS_PASSPHRASE \o The certificate's private key file's passphrase.
By default empty.
\endtable
@@ -142,8 +142,8 @@
\snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 4
If you want to install the program immediately, make sure that the device
- is connected to the computer in "PC Suite" mode, and run \c sisx target
- with the \c QT_SISX_OPTIONS=-i, like this:
+ is connected to the computer in "PC Suite" mode, and run \c sis target
+ with the \c QT_SIS_OPTIONS=-i, like this:
\snippet doc/src/snippets/code/doc_src_s60-introduction.qdoc 5
*/
diff --git a/doc/src/snippets/code/doc_src_installation.qdoc b/doc/src/snippets/code/doc_src_installation.qdoc
index e84e188..e294c12 100644
--- a/doc/src/snippets/code/doc_src_installation.qdoc
+++ b/doc/src/snippets/code/doc_src_installation.qdoc
@@ -197,10 +197,10 @@ make release-armv5
//! [29]
cd src\s60installs
-make sisx QT_SISX_OPTIONS=-i QT_SISX_CERTIFICATE=<certificate file> QT_SISX_KEY=<certificate key file>
+make sis QT_SIS_OPTIONS=-i QT_SIS_CERTIFICATE=<certificate file> QT_SIS_KEY=<certificate key file>
//! [29]
//! [30]
cd embedded\fluidlauncher
-make sisx QT_SISX_OPTIONS=-i
+make sis QT_SIS_OPTIONS=-i
//! [30]
diff --git a/doc/src/snippets/code/doc_src_qtmultimedia.qdoc b/doc/src/snippets/code/doc_src_qtmultimedia.qdoc
index 87a03a4..97b3232 100644
--- a/doc/src/snippets/code/doc_src_qtmultimedia.qdoc
+++ b/doc/src/snippets/code/doc_src_qtmultimedia.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
//! [0]
QT += multimedia
//! [0]
diff --git a/doc/src/snippets/code/doc_src_s60-introduction.qdoc b/doc/src/snippets/code/doc_src_s60-introduction.qdoc
index fa9fd45..8702b78 100644
--- a/doc/src/snippets/code/doc_src_s60-introduction.qdoc
+++ b/doc/src/snippets/code/doc_src_s60-introduction.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
//! [0]
qmake
//! [0]
@@ -10,19 +51,19 @@
//! [2]
qmake
make debug-winscw release-armv5
- make sisx
+ make sis
//! [2]
//! [3]
- make sisx QT_SISX_TARGET=debug-armv5
+ make sis QT_SIS_TARGET=debug-armv5
//! [3]
//! [4]
- set QT_SISX_TARGET=debug-armv5
- make sisx
+ set QT_SIS_TARGET=debug-armv5
+ make sis
//! [4]
//! [5]
- set QT_SISX_OPTIONS=-i
- make sisx
-//! [5] \ No newline at end of file
+ set QT_SIS_OPTIONS=-i
+ make sis
+//! [5]
diff --git a/doc/src/snippets/code/src_corelib_io_qsettings.cpp b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
index 12a204b..c380d19 100644
--- a/doc/src/snippets/code/src_corelib_io_qsettings.cpp
+++ b/doc/src/snippets/code/src_corelib_io_qsettings.cpp
@@ -309,7 +309,7 @@ int main(int argc, char *argv[])
const QSettings::Format XmlFormat =
QSettings::registerFormat("xml", readXmlFile, writeXmlFile);
- QSettings settings(XmlFormat, QSettings::UserSettings, "MySoft",
+ QSettings settings(XmlFormat, QSettings::UserScope, "MySoft",
"Star Runner");
...
diff --git a/doc/src/snippets/complexpingpong-example.qdoc b/doc/src/snippets/complexpingpong-example.txt
index 257f702..257f702 100644
--- a/doc/src/snippets/complexpingpong-example.qdoc
+++ b/doc/src/snippets/complexpingpong-example.txt
diff --git a/doc/src/snippets/dbus-pingpong-example.qdoc b/doc/src/snippets/dbus-pingpong-example.txt
index 13a34a8..13a34a8 100644
--- a/doc/src/snippets/dbus-pingpong-example.qdoc
+++ b/doc/src/snippets/dbus-pingpong-example.txt
diff --git a/doc/src/snippets/droparea.cpp b/doc/src/snippets/droparea.cpp
index cc07fcb..34dcc33 100644
--- a/doc/src/snippets/droparea.cpp
+++ b/doc/src/snippets/droparea.cpp
@@ -3,6 +3,8 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
+** This file is part of the documentation of the Qt Toolkit.
+**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
diff --git a/doc/src/snippets/qmacnativewidget/main.mm b/doc/src/snippets/qmacnativewidget/main.mm
index 66c6fbf..c074c2c 100644
--- a/doc/src/snippets/qmacnativewidget/main.mm
+++ b/doc/src/snippets/qmacnativewidget/main.mm
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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 <QtGui/QtGui>
#include <QtGui/qmacnativewidget_mac.h>
#ifdef QT_MAC_USE_COCOA
diff --git a/doc/src/widgets-and-layouts/gallery-gtk.qdoc b/doc/src/widgets-and-layouts/gallery-gtk.qdoc
index 8251f04..2eb5f52 100644
--- a/doc/src/widgets-and-layouts/gallery-gtk.qdoc
+++ b/doc/src/widgets-and-layouts/gallery-gtk.qdoc
@@ -1,3 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation 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$
+**
+****************************************************************************/
+
/*!
\page gallery-gtk.html
diff --git a/doc/src/widgets-and-layouts/stylesheet.qdoc b/doc/src/widgets-and-layouts/stylesheet.qdoc
index 6355850..354050d 100644
--- a/doc/src/widgets-and-layouts/stylesheet.qdoc
+++ b/doc/src/widgets-and-layouts/stylesheet.qdoc
@@ -2067,6 +2067,9 @@
QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox,
QSplitter, QStatusBar, QTextEdit, and QToolTip.
+ The value is relative to the contents rect in the \l{The
+ Box Model}{box model}.
+
Example:
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 63
@@ -2084,6 +2087,9 @@
QMenuBar, QPushButton, QRadioButton, QSizeGrip, QSpinBox,
QSplitter, QStatusBar, QTextEdit, and QToolTip.
+ The value is relative to the contents rect in the \l{The
+ Box Model}{box model}.
+
Example:
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 64
@@ -2121,6 +2127,9 @@
If this property is not specified, the minimum height is
derived based on the widget's contents and the style.
+ The value is relative to the contents rect in the \l{The
+ Box Model}{box model}.
+
Example:
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 66
@@ -2141,6 +2150,9 @@
If this property is not specified, the minimum width is
derived based on the widget's contents and the style.
+ The value is relative to the contents rect in the \l{The
+ Box Model}{box model}.
+
Example:
\snippet doc/src/snippets/code/doc_src_stylesheet.qdoc 67
diff --git a/examples/animation/states/main.cpp b/examples/animation/states/main.cpp
index a78548c..9644049 100644
--- a/examples/animation/states/main.cpp
+++ b/examples/animation/states/main.cpp
@@ -179,8 +179,8 @@ int main(int argc, char *argv[])
// State 3
state3->assignProperty(button, "text", "Switch to state 1");
- state3->assignProperty(p1, "geometry", QRectF(5, 5, 64, 64));
- state3->assignProperty(p2, "geometry", QRectF(5, 5 + 64 + 5, 64, 64));
+ state3->assignProperty(p1, "geometry", QRectF(0, 5, 64, 64));
+ state3->assignProperty(p2, "geometry", QRectF(0, 5 + 64 + 5, 64, 64));
state3->assignProperty(p3, "geometry", QRectF(5, 5 + (64 + 5) + 64, 64, 64));
state3->assignProperty(p4, "geometry", QRectF(5 + 64 + 5, 5, 64, 64));
state3->assignProperty(p5, "geometry", QRectF(5 + 64 + 5, 5 + 64 + 5, 64, 64));
diff --git a/examples/animation/stickman/lifecycle.cpp b/examples/animation/stickman/lifecycle.cpp
index 0fff529..463a27d 100644
--- a/examples/animation/stickman/lifecycle.cpp
+++ b/examples/animation/stickman/lifecycle.cpp
@@ -100,7 +100,7 @@ LifeCycle::LifeCycle(StickMan *stickMan, GraphicsView *keyReceiver)
m_animationGroup = new QParallelAnimationGroup();
const int stickManNodeCount = m_stickMan->nodeCount();
for (int i=0; i<stickManNodeCount; ++i) {
- QPropertyAnimation *pa = new QPropertyAnimation(m_stickMan->node(i), "position");
+ QPropertyAnimation *pa = new QPropertyAnimation(m_stickMan->node(i), "pos");
m_animationGroup->addAnimation(pa);
}
@@ -186,7 +186,7 @@ QState *LifeCycle::makeState(QState *parentState, const QString &animationFileNa
QState *frameState = new QState(topLevel);
const int nodeCount = animation.nodeCount();
for (int j=0; j<nodeCount; ++j)
- frameState->assignProperty(m_stickMan->node(j), "position", animation.nodePos(j));
+ frameState->assignProperty(m_stickMan->node(j), "pos", animation.nodePos(j));
//! [1]
frameState->setObjectName(QString::fromLatin1("frame %0").arg(i));
diff --git a/examples/animation/stickman/main.cpp b/examples/animation/stickman/main.cpp
index 2b9e63c..f363d5d 100644
--- a/examples/animation/stickman/main.cpp
+++ b/examples/animation/stickman/main.cpp
@@ -50,6 +50,7 @@
int main(int argc, char **argv)
{
+ Q_INIT_RESOURCE(stickman);
QApplication app(argc, argv);
StickMan *stickMan = new StickMan;
@@ -72,26 +73,30 @@ int main(int argc, char **argv)
QRectF stickManBoundingRect = stickMan->mapToScene(stickMan->boundingRect()).boundingRect();
textItem->setPos(-w / 2.0, stickManBoundingRect.bottom() + 25.0);
- QGraphicsScene *scene = new QGraphicsScene();
- scene->addItem(stickMan);
- scene->addItem(textItem);
- scene->setBackgroundBrush(Qt::black);
+ QGraphicsScene scene;
+ scene.addItem(stickMan);
+ scene.addItem(textItem);
+ scene.setBackgroundBrush(Qt::black);
- GraphicsView *view = new GraphicsView();
- view->setRenderHints(QPainter::Antialiasing);
- view->setTransformationAnchor(QGraphicsView::NoAnchor);
- view->setScene(scene);
- view->showFullScreen();
- view->setFocus();
- view->setSceneRect(scene->sceneRect());
-
- LifeCycle *cycle = new LifeCycle(stickMan, view);
- cycle->setDeathAnimation("animations/dead");
-
- cycle->addActivity("animations/jumping", Qt::Key_J);
- cycle->addActivity("animations/dancing", Qt::Key_D);
- cycle->addActivity("animations/chilling", Qt::Key_C);
- cycle->start();
+ GraphicsView view;
+ view.setRenderHints(QPainter::Antialiasing);
+ view.setTransformationAnchor(QGraphicsView::NoAnchor);
+ view.setScene(&scene);
+ view.show();
+ view.setFocus();
+
+ QRectF sceneRect = scene.sceneRect();
+ // making enough room in the scene for stickman to jump and die
+ view.resize(sceneRect.width() + 100, sceneRect.height() + 100);
+ view.setSceneRect(sceneRect);
+
+ LifeCycle cycle(stickMan, &view);
+ cycle.setDeathAnimation(":/animations/dead");
+
+ cycle.addActivity(":/animations/jumping", Qt::Key_J);
+ cycle.addActivity(":/animations/dancing", Qt::Key_D);
+ cycle.addActivity(":/animations/chilling", Qt::Key_C);
+ cycle.start();
return app.exec();
}
diff --git a/examples/animation/stickman/node.cpp b/examples/animation/stickman/node.cpp
index 51224bb..1a138b2 100644
--- a/examples/animation/stickman/node.cpp
+++ b/examples/animation/stickman/node.cpp
@@ -47,9 +47,10 @@
#include <QGraphicsSceneMouseEvent>
Node::Node(const QPointF &pos, QGraphicsItem *parent)
- : QGraphicsItem(parent), m_dragging(false)
+ : QGraphicsObject(parent), m_dragging(false)
{
setPos(pos);
+ setFlag(QGraphicsItem::ItemSendsGeometryChanges);
}
Node::~Node()
@@ -72,7 +73,7 @@ QVariant Node::itemChange(GraphicsItemChange change, const QVariant &value)
if (change == QGraphicsItem::ItemPositionChange)
emit positionChanged();
- return QGraphicsItem::itemChange(change, value);
+ return QGraphicsObject::itemChange(change, value);
}
void Node::mousePressEvent(QGraphicsSceneMouseEvent *)
diff --git a/examples/animation/stickman/node.h b/examples/animation/stickman/node.h
index 66ee565..4360d2e 100644
--- a/examples/animation/stickman/node.h
+++ b/examples/animation/stickman/node.h
@@ -44,10 +44,9 @@
#include <QGraphicsItem>
-class Node: public QObject, public QGraphicsItem
+class Node: public QGraphicsObject
{
Q_OBJECT
- Q_PROPERTY(QPointF position READ pos WRITE setPos)
public:
Node(const QPointF &pos, QGraphicsItem *parent = 0);
~Node();
diff --git a/examples/animation/stickman/stickman.cpp b/examples/animation/stickman/stickman.cpp
index 78e9e5b..67e022b 100644
--- a/examples/animation/stickman/stickman.cpp
+++ b/examples/animation/stickman/stickman.cpp
@@ -52,7 +52,6 @@
#define M_PI 3.14159265358979323846
#endif
-static const int NodeCount = 16;
static const qreal Coords[NodeCount * 2] = {
0.0, -150.0, // head, #0
@@ -79,7 +78,6 @@ static const qreal Coords[NodeCount * 2] = {
};
-static const int BoneCount = 24;
static const int Bones[BoneCount * 2] = {
0, 1, // neck
@@ -116,7 +114,6 @@ static const int Bones[BoneCount * 2] = {
StickMan::StickMan()
{
- m_nodes = new Node*[NodeCount];
m_sticks = true;
m_isDead = false;
m_pixmap = QPixmap("images/head.png");
@@ -129,7 +126,6 @@ StickMan::StickMan()
connect(m_nodes[i], SIGNAL(positionChanged()), this, SLOT(childPositionChanged()));
}
- m_perfectBoneLengths = new qreal[BoneCount];
for (int i=0; i<BoneCount; ++i) {
int n1 = Bones[i * 2];
int n2 = Bones[i * 2 + 1];
@@ -146,7 +142,6 @@ StickMan::StickMan()
StickMan::~StickMan()
{
- delete m_nodes;
}
void StickMan::childPositionChanged()
diff --git a/examples/animation/stickman/stickman.h b/examples/animation/stickman/stickman.h
index e8eedfa..d663c04 100644
--- a/examples/animation/stickman/stickman.h
+++ b/examples/animation/stickman/stickman.h
@@ -42,15 +42,15 @@
#ifndef STICKMAN_H
#define STICKMAN_H
-#include <QGraphicsItem>
+#include <QGraphicsObject>
-const int LimbCount = 16;
+static const int NodeCount = 16;
+static const int BoneCount = 24;
class Node;
QT_BEGIN_NAMESPACE
-class QTimer;
QT_END_NAMESPACE
-class StickMan: public QObject, public QGraphicsItem
+class StickMan: public QGraphicsObject
{
Q_OBJECT
Q_PROPERTY(QColor penColor WRITE setPenColor READ penColor)
@@ -77,7 +77,7 @@ public:
bool isDead() const { return m_isDead; }
void setIsDead(bool isDead) { m_isDead = isDead; }
-
+
public slots:
void stabilize();
void childPositionChanged();
@@ -86,10 +86,11 @@ protected:
void timerEvent(QTimerEvent *e);
private:
+
QPointF posFor(int idx) const;
- Node **m_nodes;
- qreal *m_perfectBoneLengths;
+ Node *m_nodes[NodeCount];
+ qreal m_perfectBoneLengths[BoneCount];
uint m_sticks : 1;
uint m_isDead : 1;
diff --git a/examples/animation/stickman/stickman.pro b/examples/animation/stickman/stickman.pro
index 7f8be33..487ff3a 100644
--- a/examples/animation/stickman/stickman.pro
+++ b/examples/animation/stickman/stickman.pro
@@ -10,7 +10,7 @@ SOURCES += main.cpp \
lifecycle.cpp \
graphicsview.cpp
-INCLUDEPATH += $$PWD
+RESOURCES += stickman.qrc
# install
target.path = $$[QT_INSTALL_EXAMPLES]/animation/stickman
diff --git a/examples/animation/stickman/stickman.qrc b/examples/animation/stickman/stickman.qrc
new file mode 100644
index 0000000..e5d66cf
--- /dev/null
+++ b/examples/animation/stickman/stickman.qrc
@@ -0,0 +1,8 @@
+<!DOCTYPE RCC><RCC version="1.0">
+<qresource>
+ <file>animations/chilling</file>
+ <file>animations/dancing</file>
+ <file>animations/dead</file>
+ <file>animations/jumping</file>
+</qresource>
+</RCC> \ No newline at end of file
diff --git a/examples/effects/lighting/lighting.cpp b/examples/effects/lighting/lighting.cpp
index 2294b36..e309e2e 100644
--- a/examples/effects/lighting/lighting.cpp
+++ b/examples/effects/lighting/lighting.cpp
@@ -43,8 +43,6 @@
#include <QtGui>
-#include "shadoweffect.h"
-
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
@@ -98,7 +96,7 @@ void Lighting::setupScene()
item->setPen(QPen(Qt::black));
item->setBrush(QBrush(Qt::white));
- item->setGraphicsEffect(new ShadowEffect(item, m_lightSource));
+ item->setGraphicsEffect(new QGraphicsDropShadowEffect);
item->setZValue(1);
item->setPos(i * 80, j * 80);
m_scene.addItem(item);
@@ -114,6 +112,24 @@ void Lighting::animate()
qreal xs = 200 * sin(angle) - 40 + 25;
qreal ys = 200 * cos(angle) - 40 + 25;
m_lightSource->setPos(xs, ys);
+
+ for (int i = 0; i < m_items.size(); ++i) {
+ QGraphicsItem *item = m_items.at(i);
+ Q_ASSERT(item);
+ QGraphicsDropShadowEffect *effect = static_cast<QGraphicsDropShadowEffect *>(item->graphicsEffect());
+ Q_ASSERT(effect);
+
+ QPointF delta(item->x() - xs, item->y() - ys);
+ effect->setOffset(delta.toPoint() / 30);
+
+ qreal dx = delta.x();
+ qreal dy = delta.y();
+ qreal dd = sqrt(dx * dx + dy * dy);
+ QColor color = effect->color();
+ color.setAlphaF(qBound(0.4, 1 - dd / 200.0, 0.7));
+ effect->setColor(color);
+ }
+
m_scene.update();
}
diff --git a/examples/effects/lighting/lighting.h b/examples/effects/lighting/lighting.h
index 3e12fdf..eef5cae 100644
--- a/examples/effects/lighting/lighting.h
+++ b/examples/effects/lighting/lighting.h
@@ -45,8 +45,6 @@
#include <QGraphicsEffect>
#include <QGraphicsView>
-#include "shadoweffect.h"
-
class Lighting: public QGraphicsView
{
Q_OBJECT
diff --git a/examples/effects/lighting/lighting.pro b/examples/effects/lighting/lighting.pro
index ea9d5f6..432d1b5 100644
--- a/examples/effects/lighting/lighting.pro
+++ b/examples/effects/lighting/lighting.pro
@@ -1,5 +1,5 @@
-SOURCES += main.cpp lighting.cpp shadoweffect.cpp
-HEADERS += lighting.h shadoweffect.h
+SOURCES += main.cpp lighting.cpp
+HEADERS += lighting.h
# install
target.path = $$[QT_INSTALL_EXAMPLES]/effects/lighting
diff --git a/examples/gestures/imageviewer/imageviewer.pro b/examples/gestures/imageviewer/imageviewer.pro
index efbca00..124175e 100644
--- a/examples/gestures/imageviewer/imageviewer.pro
+++ b/examples/gestures/imageviewer/imageviewer.pro
@@ -1,11 +1,11 @@
-TEMPLATE = app
-TARGET =
-DEPENDPATH += .
-INCLUDEPATH += .
-
-# Input
HEADERS += imagewidget.h \
tapandholdgesture.h
SOURCES += imagewidget.cpp \
tapandholdgesture.cpp \
main.cpp
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS imageviewer.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/gestures/imageviewer
+INSTALLS += target sources
diff --git a/examples/gestures/imageviewer/imagewidget.cpp b/examples/gestures/imageviewer/imagewidget.cpp
index 7dbd084..c71c461 100644
--- a/examples/gestures/imageviewer/imagewidget.cpp
+++ b/examples/gestures/imageviewer/imagewidget.cpp
@@ -123,8 +123,10 @@ void ImageWidget::panTriggered()
void ImageWidget::pinchTriggered()
{
QPinchGesture *pg = qobject_cast<QPinchGesture*>(sender());
- rotationAngle += pg->rotationAngle();
- scaleFactor += pg->scaleFactor();
+ if (pg->whatChanged() & QPinchGesture::RotationAngleChanged)
+ rotationAngle += pg->rotationAngle() - pg->lastRotationAngle();
+ if (pg->whatChanged() & QPinchGesture::ScaleFactorChanged)
+ scaleFactor += pg->scaleFactor() - pg->lastScaleFactor();
update();
}
diff --git a/examples/itemviews/addressbook/addresswidget.cpp b/examples/itemviews/addressbook/addresswidget.cpp
index 6d05c22..c8dcb57 100644
--- a/examples/itemviews/addressbook/addresswidget.cpp
+++ b/examples/itemviews/addressbook/addresswidget.cpp
@@ -104,7 +104,7 @@ void AddressWidget::editEntry()
QModelIndex index, i;
QString name;
QString address;
- int row;
+ int row = -1;
foreach (index, indexes) {
row = proxy->mapToSource(index).row();
diff --git a/examples/multimedia/audio/audiodevices/audiodevices.pro b/examples/multimedia/audio/audiodevices/audiodevices.pro
index adc4890..2c078ba 100644
--- a/examples/multimedia/audio/audiodevices/audiodevices.pro
+++ b/examples/multimedia/audio/audiodevices/audiodevices.pro
@@ -10,3 +10,8 @@ target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices
sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiodevices.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiodevices
INSTALLS += target sources
+
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000D7BE
+}
diff --git a/examples/multimedia/audio/audioinput/audioinput.pro b/examples/multimedia/audio/audioinput/audioinput.pro
index d930750..139240e 100644
--- a/examples/multimedia/audio/audioinput/audioinput.pro
+++ b/examples/multimedia/audio/audioinput/audioinput.pro
@@ -10,3 +10,7 @@ sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audioinput.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audioinput
INSTALLS += target sources
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000D7BF
+}
diff --git a/examples/multimedia/audio/audiooutput/audiooutput.pro b/examples/multimedia/audio/audiooutput/audiooutput.pro
index 08f43ce..e2069cf 100644
--- a/examples/multimedia/audio/audiooutput/audiooutput.pro
+++ b/examples/multimedia/audio/audiooutput/audiooutput.pro
@@ -9,3 +9,8 @@ target.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput
sources.files = $$SOURCES *.h $$RESOURCES $$FORMS audiooutput.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/multimedia/audio/audiooutput
INSTALLS += target sources
+
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000D7C0
+}
diff --git a/examples/multitouch/pinchzoom/mouse.h b/examples/multitouch/pinchzoom/mouse.h
index bd47245..e4ecb75 100644
--- a/examples/multitouch/pinchzoom/mouse.h
+++ b/examples/multitouch/pinchzoom/mouse.h
@@ -42,11 +42,10 @@
#ifndef MOUSE_H
#define MOUSE_H
-#include <QGraphicsItem>
-#include <QObject>
+#include <QGraphicsObject>
//! [0]
-class Mouse : public QObject, public QGraphicsItem
+class Mouse : public QGraphicsObject
{
Q_OBJECT
diff --git a/examples/network/fortuneclient/client.cpp b/examples/network/fortuneclient/client.cpp
index b850a57..7b2991a 100644
--- a/examples/network/fortuneclient/client.cpp
+++ b/examples/network/fortuneclient/client.cpp
@@ -56,7 +56,20 @@ Client::Client(QWidget *parent)
hostLabel = new QLabel(tr("&Server name:"));
portLabel = new QLabel(tr("S&erver port:"));
- hostLineEdit = new QLineEdit("Localhost");
+ // find out which IP to connect to
+ QString ipAddress;
+ QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
+ // use the first non-localhost IPv4 address
+ for (int i = 0; i < ipAddressesList.size(); ++i) {
+ if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
+ ipAddressesList.at(i).toIPv4Address())
+ ipAddress = ipAddressesList.at(i).toString();
+ }
+ // if we did not find one, use IPv4 localhost
+ if (ipAddress.isEmpty())
+ ipAddress = QHostAddress(QHostAddress::LocalHost).toString();
+
+ hostLineEdit = new QLineEdit(ipAddress);
portLineEdit = new QLineEdit;
portLineEdit->setValidator(new QIntValidator(1, 65535, this));
diff --git a/examples/network/fortuneserver/server.cpp b/examples/network/fortuneserver/server.cpp
index 7564199..476ff283 100644
--- a/examples/network/fortuneserver/server.cpp
+++ b/examples/network/fortuneserver/server.cpp
@@ -63,15 +63,20 @@ Server::Server(QWidget *parent)
return;
}
//! [0]
- QList<QHostAddress> ipAddresseList = QNetworkInterface::allAddresses();
- QString ipAddresses;
- for (int i = 0; i < ipAddresseList.size(); ++i) {
- ipAddresses.append(ipAddresseList.at(i).toString()).append("\n");
+ QString ipAddress;
+ QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
+ // use the first non-localhost IPv4 address
+ for (int i = 0; i < ipAddressesList.size(); ++i) {
+ if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
+ ipAddressesList.at(i).toIPv4Address())
+ ipAddress = ipAddressesList.at(i).toString();
}
-
- statusLabel->setText(tr("The server is running on \n IP: \n%1 PORT: \n%2\n"
+ // if we did not find one, use IPv4 localhost
+ if (ipAddress.isEmpty())
+ ipAddress = QHostAddress(QHostAddress::LocalHost).toString();
+ statusLabel->setText(tr("The server is running on\nIP: \n%1 port:\n%2\n"
"Run the Fortune Client example now.")
- .arg(ipAddresses).arg(tcpServer->serverPort()));
+ .arg(ipAddress).arg(tcpServer->serverPort()));
//! [1]
//! [2]
diff --git a/examples/qws/dbscreen/dbscreen.cpp b/examples/qws/dbscreen/dbscreen.cpp
index aa33a97..3d3b15b 100644
--- a/examples/qws/dbscreen/dbscreen.cpp
+++ b/examples/qws/dbscreen/dbscreen.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
-** This file is part of the QtGui module of the Qt Toolkit.
+** This file is part of the examples of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
diff --git a/examples/qws/dbscreen/dbscreen.h b/examples/qws/dbscreen/dbscreen.h
index a3c392e..b177cfc 100644
--- a/examples/qws/dbscreen/dbscreen.h
+++ b/examples/qws/dbscreen/dbscreen.h
@@ -1,11 +1,11 @@
- /****************************************************************************
- **
- ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
- **
- ** This file is part of the examples of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
+**
+** This file is part of the examples 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
@@ -36,11 +36,8 @@
**
**
** $QT_END_LICENSE$
- **
- ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- **
- ****************************************************************************/
+**
+****************************************************************************/
#ifndef DBSCREEN_H
#define DBSCREEN_H
diff --git a/examples/script/context2d/context2d.cpp b/examples/script/context2d/context2d.cpp
index 5b4a1cf..05352cd 100644
--- a/examples/script/context2d/context2d.cpp
+++ b/examples/script/context2d/context2d.cpp
@@ -369,7 +369,7 @@ void Context2D::setLineCap(const QString &capString)
style = Qt::RoundCap;
else if (capString == "square")
style = Qt::SquareCap;
- else if (capString == "butt")
+ else //if (capString == "butt")
style = Qt::FlatCap;
m_state.lineCap = style;
m_state.flags |= DirtyLineCap;
@@ -397,7 +397,7 @@ void Context2D::setLineJoin(const QString &joinString)
style = Qt::RoundJoin;
else if (joinString == "bevel")
style = Qt::BevelJoin;
- else if (joinString == "miter")
+ else //if (joinString == "miter")
style = Qt::MiterJoin;
m_state.lineJoin = style;
m_state.flags |= DirtyLineJoin;
diff --git a/examples/script/context2d/main.cpp b/examples/script/context2d/main.cpp
index a61452a..c9a8898 100644
--- a/examples/script/context2d/main.cpp
+++ b/examples/script/context2d/main.cpp
@@ -48,7 +48,6 @@ int main(int argc, char **argv)
QApplication app(argc, argv);
Window win;
- //win.show();
- win.showFullScreen();
+ win.show();
return app.exec();
}
diff --git a/examples/uitools/multipleinheritance/multipleinheritance.pro b/examples/uitools/multipleinheritance/multipleinheritance.pro
index e8f59fb..b401c05 100644
--- a/examples/uitools/multipleinheritance/multipleinheritance.pro
+++ b/examples/uitools/multipleinheritance/multipleinheritance.pro
@@ -10,4 +10,7 @@ sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/uitools/multipleinheritance
INSTALLS += target sources
-symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000D7C1
+} \ No newline at end of file
diff --git a/examples/video/videographicsitem/videographicsitem.pro b/examples/video/videographicsitem/videographicsitem.pro
index 7e0b4c5..7ebd975 100644
--- a/examples/video/videographicsitem/videographicsitem.pro
+++ b/examples/video/videographicsitem/videographicsitem.pro
@@ -14,3 +14,8 @@ target.path = $$[QT_INSTALL_EXAMPLES]/video/videographicsitem
sources.files = $$SOURCES $$HEADERS $$FORMS $$RESOURCES *.pro *.png images
sources.path = $$[QT_INSTALL_EXAMPLES]/video/videographicsitem
INSTALLS += target sources
+
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000D7C2
+}
diff --git a/examples/video/videowidget/videowidget.pro b/examples/video/videowidget/videowidget.pro
index a006f2f..cc0260f 100644
--- a/examples/video/videowidget/videowidget.pro
+++ b/examples/video/videowidget/videowidget.pro
@@ -12,3 +12,8 @@ SOURCES = \
videoplayer.cpp \
videowidget.cpp \
videowidgetsurface.cpp
+
+symbian {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ TARGET.UID3 = 0xA000D7C3
+}
diff --git a/examples/xml/saxbookmarks/mainwindow.cpp b/examples/xml/saxbookmarks/mainwindow.cpp
index cdc9e72..6ee259b 100644
--- a/examples/xml/saxbookmarks/mainwindow.cpp
+++ b/examples/xml/saxbookmarks/mainwindow.cpp
@@ -67,7 +67,10 @@ MainWindow::MainWindow()
void MainWindow::open()
{
#if defined(Q_OS_SYMBIAN)
- QDir::setCurrent("/Data/qt/saxbookmarks");
+ // Always look for bookmarks on the same drive where the application is installed to.
+ QString bookmarksFolder = QCoreApplication::applicationFilePath().left(1);
+ bookmarksFolder.append(":/Data/qt/saxbookmarks");
+ QDir::setCurrent(bookmarksFolder);
#endif
QString fileName =
QFileDialog::getOpenFileName(this, tr("Open Bookmark File"),
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index 3ba2a8c..abc8a7a 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -64,14 +64,14 @@ QMAKE_LINK_OBJECT_SCRIPT= object_script
QMAKE_LIBS = -llibc -llibm -leuser -llibdl
QMAKE_LIBS_CORE = $$QMAKE_LIBS -llibpthread -lefsrv
-QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio
+QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc
QMAKE_LIBS_NETWORK =
QMAKE_LIBS_EGL = -llibEGL
QMAKE_LIBS_OPENGL =
QMAKE_LIBS_OPENVG = -llibOpenVG
QMAKE_LIBS_COMPAT =
QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib
-QMAKE_LIBS_S60 = -lavkon -leikcoctl
+QMAKE_LIBS_S60 = -lavkon
!isEmpty(QMAKE_SH) {
QMAKE_COPY = cp
diff --git a/mkspecs/features/symbian/default_post.prf b/mkspecs/features/symbian/default_post.prf
index 3c2944c..7c9e8ee 100644
--- a/mkspecs/features/symbian/default_post.prf
+++ b/mkspecs/features/symbian/default_post.prf
@@ -4,7 +4,7 @@ contains(TEMPLATE, ".*app") {
contains(CONFIG, stdbinary) {
QMAKE_LIBS +=
} else:contains(QT, gui):contains(CONFIG,qt) {
- S60MAIN_LIBS = -leuser -lavkon -leikcore -leiksrv -lws32 -lapparc -lcone -leikcoctl -lbafl -lefsrv
+ S60MAIN_LIBS = -leuser
QMAKE_LIBS += -lqtmain.lib $$S60MAIN_LIBS
} else {
QMAKE_LIBS += $$QMAKE_LIBS_QT_ENTRY
diff --git a/mkspecs/features/symbian/moc.prf b/mkspecs/features/symbian/moc.prf
index 089dddc..9c21ed7 100644
--- a/mkspecs/features/symbian/moc.prf
+++ b/mkspecs/features/symbian/moc.prf
@@ -1,16 +1,16 @@
load(moc)
-RET = $$find(MOC_DIR, "\.[a-z]")
+RET = $$find(MOC_DIR, "(/|^)\.[^/]+/?$")
!isEmpty(RET):{
- error("Symbian does not support directories starting with a dot. Please set MOC_DIR to a different value in your profile.")
+ error("Symbian does not support directories starting with a dot. Please set MOC_DIR to a different value in your profile. MOC_DIR: $$MOC_DIR")
}
-RET = $$find(RCC_DIR, "\.[a-z]")
+RET = $$find(RCC_DIR, "(/|^)\.[^/]+/?$")
!isEmpty(RET):{
- error("Symbian does not support directories starting with a dot. Please set RCC_DIR to a different value in your profile.")
+ error("Symbian does not support directories starting with a dot. Please set RCC_DIR to a different value in your profile. RCC_DIR: $$RCC_DIR")
}
-RET = $$find(OBJECTS_DIR, "\.[a-z]")
+RET = $$find(OBJECTS_DIR, "(/|^)\.[^/]+/?$")
!isEmpty(RET):{
- error("Symbian does not support directories starting with a dot. Please set OBJECTS_DIR to a different value in your profile.")
+ error("Symbian does not support directories starting with a dot. Please set OBJECTS_DIR to a different value in your profile. OBJECTS_DIR: $$OBJECTS_DIR")
}
diff --git a/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm b/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm
index 96eb189..0abc7c4 100644
--- a/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm
+++ b/mkspecs/symbian-sbsv2/flm/qt/qmake_store_build.flm
@@ -27,10 +27,10 @@ $(STORE_BUILD_TARGET):
echo "# Name : .make.cache" >> $(CACHE_FILENAME) && \
echo "# Part of : " >> $(CACHE_FILENAME) && \
echo "# Description : This file is used to cache last build target for" >> $(CACHE_FILENAME) && \
- echo "# make sisx target." >> $(CACHE_FILENAME) && \
+ echo "# make sis target." >> $(CACHE_FILENAME) && \
echo "# Version : " >> $(CACHE_FILENAME) && \
echo "# ==============================================================================" >> $(CACHE_FILENAME) && \
- echo QT_SISX_TARGET ?= $(VISUAL_CFG)-$(PLATFORM_PATH) >> $(CACHE_FILENAME) \
+ echo QT_SIS_TARGET ?= $(VISUAL_CFG)-$(PLATFORM_PATH) >> $(CACHE_FILENAME) \
$(call endrule,qmake_store_build)
endef
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index 519b2ed..9ddd378 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -72,10 +72,10 @@
#define MMP_TARGETTYPE "TARGETTYPE"
#define MMP_SECUREID "SECUREID"
-#define SISX_TARGET "sisx"
-#define OK_SISX_TARGET "ok_sisx"
-#define FAIL_SISX_NOPKG_TARGET "fail_sisx_nopkg"
-#define FAIL_SISX_NOCACHE_TARGET "fail_sisx_nocache"
+#define SIS_TARGET "sis"
+#define OK_SIS_TARGET "ok_sis"
+#define FAIL_SIS_NOPKG_TARGET "fail_sis_nopkg"
+#define FAIL_SIS_NOCACHE_TARGET "fail_sis_nocache"
#define RESTORE_BUILD_TARGET "restore_build"
#define PRINT_FILE_CREATE_ERROR(filename) fprintf(stderr, "Error: Could not create '%s'\n", qPrintable(filename));
@@ -329,7 +329,7 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile)
t << ":\"Vendor\"" << endl << endl;
}
- // PKG pre-rules - these are added before actual file installations i.e. SISX package body
+ // PKG pre-rules - these are added before actual file installations i.e. SIS package body
if (rawPkgPreRules.size()) {
t << "; Manual PKG pre-rules from PRO files" << endl;
foreach(QString item, rawPkgPreRules) {
@@ -1632,36 +1632,36 @@ void SymbianMakefileGenerator::removeSpecialCharacters(QString& str)
str.replace(QString(" "), QString("_"));
}
-void SymbianMakefileGenerator::writeSisxTargets(QTextStream &t)
+void SymbianMakefileGenerator::writeSisTargets(QTextStream &t)
{
- t << SISX_TARGET ": " RESTORE_BUILD_TARGET << endl;
- QString sisxcommand = QString("\t$(if $(wildcard %1_template.%2),$(if $(wildcard %3)," \
+ t << SIS_TARGET ": " RESTORE_BUILD_TARGET << endl;
+ QString siscommand = QString("\t$(if $(wildcard %1_template.%2),$(if $(wildcard %3)," \
"$(MAKE) -s -f $(MAKEFILE) %4,$(MAKE) -s -f $(MAKEFILE) %5)," \
"$(MAKE) -s -f $(MAKEFILE) %6)")
.arg(fixedTarget)
.arg("pkg")
.arg(MAKE_CACHE_NAME)
- .arg(OK_SISX_TARGET)
- .arg(FAIL_SISX_NOCACHE_TARGET)
- .arg(FAIL_SISX_NOPKG_TARGET);
- t << sisxcommand << endl;
+ .arg(OK_SIS_TARGET)
+ .arg(FAIL_SIS_NOCACHE_TARGET)
+ .arg(FAIL_SIS_NOPKG_TARGET);
+ t << siscommand << endl;
t << endl;
- t << OK_SISX_TARGET ":" << endl;
+ t << OK_SIS_TARGET ":" << endl;
- QString pkgcommand = QString("\tcreatepackage.bat $(QT_SISX_OPTIONS) %1_template.%2 $(QT_SISX_TARGET) " \
- "$(QT_SISX_CERTIFICATE) $(QT_SISX_KEY) $(QT_SISX_PASSPHRASE)")
+ QString pkgcommand = QString("\tcreatepackage.bat $(QT_SIS_OPTIONS) %1_template.%2 $(QT_SIS_TARGET) " \
+ "$(QT_SIS_CERTIFICATE) $(QT_SIS_KEY) $(QT_SIS_PASSPHRASE)")
.arg(fixedTarget)
.arg("pkg");
t << pkgcommand << endl;
t << endl;
- t << FAIL_SISX_NOPKG_TARGET ":" << endl;
- t << "\t$(error PKG file does not exist, 'SISX' target is only supported for executables or projects with DEPLOYMENT statement)" << endl;
+ t << FAIL_SIS_NOPKG_TARGET ":" << endl;
+ t << "\t$(error PKG file does not exist, 'SIS' target is only supported for executables or projects with DEPLOYMENT statement)" << endl;
t << endl;
- t << FAIL_SISX_NOCACHE_TARGET ":" << endl;
- t << "\t$(error Project has to be build before calling 'SISX' target)" << endl;
+ t << FAIL_SIS_NOCACHE_TARGET ":" << endl;
+ t << "\t$(error Project has to be build before calling 'SIS' target)" << endl;
t << endl;
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index b0ca5a3..0e5eb14 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -137,7 +137,7 @@ protected:
const QString& itemPrefix,
const QString& itemSuffix);
- void writeSisxTargets(QTextStream &t);
+ void writeSisTargets(QTextStream &t);
void generateDistcleanTargets(QTextStream& t);
// Subclass implements
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index 31ef312..bf98079 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -153,7 +153,7 @@ void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, b
QString makefile(Option::fixPathToTargetOS(fileInfo(wrapperFileName).canonicalFilePath()));
foreach(QString target, wrapperTargets) {
t << target << " : " << makefile << endl;
- t << "\t-$(MAKE) -f \"" << makefile << "\" " << target << " QT_SISX_TARGET=$(VISUAL_CFG)-$(PLATFORM)" << endl << endl;
+ t << "\t-$(MAKE) -f \"" << makefile << "\" " << target << " QT_SIS_TARGET=$(VISUAL_CFG)-$(PLATFORM)" << endl << endl;
}
t << endl;
@@ -361,7 +361,7 @@ void SymbianAbldMakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, bool
writeDeploymentTargets(t);
- writeSisxTargets(t);
+ writeSisTargets(t);
writeStoreBuildTarget(t);
@@ -428,12 +428,12 @@ void SymbianAbldMakefileGenerator::writeStoreBuildTarget(QTextStream &t)
t << "\t@echo # Name : " << MAKE_CACHE_NAME << " >> " MAKE_CACHE_NAME << endl;
t << "\t@echo # Part of : " << project->values("TARGET").join(" ") << " >> " MAKE_CACHE_NAME << endl;
t << "\t@echo # Description : This file is used to cache last build target for >> " MAKE_CACHE_NAME << endl;
- t << "\t@echo # make sisx target. >> " MAKE_CACHE_NAME << endl;
+ t << "\t@echo # make sis target. >> " MAKE_CACHE_NAME << endl;
t << "\t@echo # Version : >> " MAKE_CACHE_NAME << endl;
t << "\t@echo # >> " MAKE_CACHE_NAME << endl;
t << "\t@echo # ============================================================================== >> " MAKE_CACHE_NAME << endl;
t << "\t@echo. >> " MAKE_CACHE_NAME << endl;
- t << "\t@echo QT_SISX_TARGET ?= $(QT_SISX_TARGET) >> " MAKE_CACHE_NAME << endl;
+ t << "\t@echo QT_SIS_TARGET ?= $(QT_SIS_TARGET) >> " MAKE_CACHE_NAME << endl;
t << endl;
generatedFiles << MAKE_CACHE_NAME;
diff --git a/qmake/generators/symbian/symmake_sbsv2.cpp b/qmake/generators/symbian/symmake_sbsv2.cpp
index a76d959..a1381c6 100644
--- a/qmake/generators/symbian/symmake_sbsv2.cpp
+++ b/qmake/generators/symbian/symmake_sbsv2.cpp
@@ -216,7 +216,7 @@ void SymbianSbsv2MakefileGenerator::writeWrapperMakefile(QFile& wrapperFile, boo
qDeleteAll(subtargets);
}
- writeSisxTargets(t);
+ writeSisTargets(t);
generateDistcleanTargets(t);
diff --git a/src/3rdparty/phonon/ds9/mediaobject.cpp b/src/3rdparty/phonon/ds9/mediaobject.cpp
index e42dff9..250b94a 100644
--- a/src/3rdparty/phonon/ds9/mediaobject.cpp
+++ b/src/3rdparty/phonon/ds9/mediaobject.cpp
@@ -21,7 +21,9 @@ along with this library. If not, see <http://www.gnu.org/licenses/>.
#include <QtCore/QTime>
#include <QtCore/QLibrary>
+#ifndef Q_CC_MSVC
#include <dshow.h>
+#endif
#include <objbase.h>
#include <initguid.h>
#include <qnetwork.h>
diff --git a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index ce5518f..711beb4 100644
--- a/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -521,7 +521,7 @@ PassRefPtr<LabelScope> BytecodeGenerator::newLabelScope(LabelScope::Type type, c
m_labelScopes.removeLast();
// Allocate new label scope.
- LabelScope scope(type, name, scopeDepth(), newLabel(), type == LabelScope::Loop ? newLabel() : PassRefPtr<Label>()); // Only loops have continue targets.
+ LabelScope scope(type, name, scopeDepth(), newLabel(), type == LabelScope::Loop ? newLabel() : PassRefPtr<Label>(0)); // Only loops have continue targets.
m_labelScopes.append(scope);
return &m_labelScopes.last();
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp
index 06ddefc..29a13ca 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.cpp
@@ -34,7 +34,7 @@ namespace JSC {
RegisterFile::~RegisterFile()
{
#if HAVE(MMAP)
- munmap(m_buffer, ((m_max - m_start) + m_maxGlobals) * sizeof(Register));
+ munmap(reinterpret_cast<char*>(m_buffer), ((m_max - m_start) + m_maxGlobals) * sizeof(Register));
#elif HAVE(VIRTUALALLOC)
VirtualFree(m_buffer, 0, MEM_RELEASE);
#else
diff --git a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
index 5a34d11..14e189e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
+++ b/src/3rdparty/webkit/JavaScriptCore/interpreter/RegisterFile.h
@@ -105,7 +105,7 @@ namespace JSC {
ReturnValueRegister = -4,
ArgumentCount = -3,
Callee = -2,
- OptionalCalleeArguments = -1,
+ OptionalCalleeArguments = -1
};
enum { ProgramCodeThisRegister = -CallFrameHeaderSize - 1 };
@@ -174,7 +174,7 @@ namespace JSC {
size_t bufferLength = (capacity + maxGlobals) * sizeof(Register);
#if HAVE(MMAP)
- m_buffer = static_cast<Register*>(mmap(0, bufferLength, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, VM_TAG_FOR_REGISTERFILE_MEMORY, 0));
+ m_buffer = reinterpret_cast<Register*>(mmap(0, bufferLength, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, VM_TAG_FOR_REGISTERFILE_MEMORY, 0));
if (m_buffer == MAP_FAILED) {
#if PLATFORM(WINCE)
fprintf(stderr, "Could not allocate register file: %d\n", GetLastError());
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
index 8371229..4a33e67 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITOpcodes.cpp
@@ -684,6 +684,10 @@ void JIT::emit_op_catch(Instruction* currentInstruction)
killLastResultRegister(); // FIXME: Implicitly treat op_catch as a labeled statement, and remove this line of code.
peek(callFrameRegister, OBJECT_OFFSETOF(struct JITStackFrame, callFrame) / sizeof (void*));
emitPutVirtualRegister(currentInstruction[1].u.operand);
+#ifdef QT_BUILD_SCRIPT_LIB
+ JITStubCall stubCall(this, JITStubs::cti_op_debug_catch);
+ stubCall.call();
+#endif
}
void JIT::emit_op_jmp_scopes(Instruction* currentInstruction)
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
index 2563848..f0d3b84 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.cpp
@@ -2713,15 +2713,22 @@ DEFINE_STUB_FUNCTION(void, op_debug)
int debugHookID = stackFrame.args[0].int32();
int firstLine = stackFrame.args[1].int32();
int lastLine = stackFrame.args[2].int32();
-#ifdef QT_BUILD_SCRIPT_LIB
int column = stackFrame.args[3].int32();
-#else
- int column = -1;
-#endif
stackFrame.globalData->interpreter->debug(callFrame, static_cast<DebugHookID>(debugHookID), firstLine, lastLine, column);
}
+#ifdef QT_BUILD_SCRIPT_LIB
+DEFINE_STUB_FUNCTION(void, op_debug_catch)
+{
+ STUB_INIT_STACK_FRAME(stackFrame);
+ CallFrame* callFrame = stackFrame.callFrame;
+ if (JSC::Debugger* debugger = callFrame->lexicalGlobalObject()->debugger() ) {
+ debugger->exceptionCatch(DebuggerCallFrame(callFrame), callFrame->codeBlock()->ownerNode()->sourceID());
+ }
+}
+#endif
+
DEFINE_STUB_FUNCTION(EncodedJSValue, vm_throw)
{
STUB_INIT_STACK_FRAME(stackFrame);
diff --git a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
index 0493189..60bf64a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
+++ b/src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
@@ -221,6 +221,9 @@ namespace JITStubs { extern "C" {
void JIT_STUB cti_op_create_arguments(STUB_ARGS_DECLARATION);
void JIT_STUB cti_op_create_arguments_no_params(STUB_ARGS_DECLARATION);
void JIT_STUB cti_op_debug(STUB_ARGS_DECLARATION);
+#ifdef QT_BUILD_SCRIPT_LIB
+ void JIT_STUB cti_op_debug_catch(STUB_ARGS_DECLARATION);
+#endif
void JIT_STUB cti_op_end(STUB_ARGS_DECLARATION);
void JIT_STUB cti_op_jmp_scopes(STUB_ARGS_DECLARATION);
void JIT_STUB cti_op_pop_scope(STUB_ARGS_DECLARATION);
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
index c256190..a4374d3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/NodeConstructors.h
@@ -27,23 +27,6 @@
namespace JSC {
- inline void* ParserArenaDeletable::operator new(size_t size, JSGlobalData* globalData)
- {
- ParserArenaDeletable* deletable = static_cast<ParserArenaDeletable*>(fastMalloc(size));
- globalData->parser->arena().deleteWithArena(deletable);
- return deletable;
- }
-
- inline void* ParserArenaDeletable::operator new(size_t size)
- {
- return fastMalloc(size);
- }
-
- inline void ParserArenaDeletable::operator delete(void* p)
- {
- fastFree(p);
- }
-
inline ParserArenaRefCounted::ParserArenaRefCounted(JSGlobalData* globalData)
{
globalData->parser->arena().derefWithArena(adoptRef(this));
diff --git a/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp b/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
index 2617506..78c5196 100644
--- a/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/parser/ParserArena.cpp
@@ -24,6 +24,7 @@
*/
#include "config.h"
+#include "Parser.h"
#include "ParserArena.h"
#include "Nodes.h"
@@ -57,4 +58,21 @@ void ParserArena::reset()
m_refCountedObjects.shrink(0);
}
+void* ParserArenaDeletable::operator new(size_t size, JSGlobalData* globalData)
+{
+ ParserArenaDeletable* deletable = static_cast<ParserArenaDeletable*>(fastMalloc(size));
+ globalData->parser->arena().deleteWithArena(deletable);
+ return deletable;
+}
+
+void* ParserArenaDeletable::operator new(size_t size)
+{
+ return fastMalloc(size);
+}
+
+void ParserArenaDeletable::operator delete(void* p)
+{
+ fastFree(p);
+}
+
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
index dddd83d..1268d3d 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Collector.cpp
@@ -506,6 +506,49 @@ static void* getStackBase(void* previousFrame)
}
}
#endif
+#if PLATFORM(HPUX)
+struct hpux_get_stack_base_data
+{
+ pthread_t thread;
+ _pthread_stack_info info;
+};
+
+static void *hpux_get_stack_base_internal(void *d)
+{
+ hpux_get_stack_base_data *data = static_cast<hpux_get_stack_base_data *>(d);
+
+ // _pthread_stack_info_np requires the target thread to be suspended
+ // in order to get information about it
+ pthread_suspend(data->thread);
+
+ // _pthread_stack_info_np returns an errno code in case of failure
+ // or zero on success
+ if (_pthread_stack_info_np(data->thread, &data->info)) {
+ // failed
+ return 0;
+ }
+
+ pthread_continue(data->thread);
+ return data;
+}
+
+static void *hpux_get_stack_base()
+{
+ hpux_get_stack_base_data data;
+ data.thread = pthread_self();
+
+ // We cannot get the stack information for the current thread
+ // So we start a new thread to get that information and return it to us
+ pthread_t other;
+ pthread_create(&other, 0, hpux_get_stack_base_internal, &data);
+
+ void *result;
+ pthread_join(other, &result);
+ if (result)
+ return data.info.stk_stack_base;
+ return 0;
+}
+#endif
static inline void* currentThreadStackBase()
{
@@ -532,10 +575,24 @@ static inline void* currentThreadStackBase()
: "=r" (pTib)
);
return static_cast<void*>(pTib->StackBase);
+#elif PLATFORM(HPUX)
+ return hpux_get_stack_base();
#elif PLATFORM(SOLARIS)
stack_t s;
thr_stksegment(&s);
return s.ss_sp;
+#elif PLATFORM(AIX)
+ pthread_t thread = pthread_self();
+ struct __pthrdsinfo threadinfo;
+ char regbuf[256];
+ int regbufsize = sizeof regbuf;
+
+ if (pthread_getthrds_np(&thread, PTHRDSINFO_QUERY_ALL,
+ &threadinfo, sizeof threadinfo,
+ &regbuf, &regbufsize) == 0)
+ return threadinfo.__pi_stackaddr;
+
+ return 0;
#elif PLATFORM(OPENBSD)
pthread_t thread = pthread_self();
stack_t stack;
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Protect.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Protect.h
index 224164d..6e7984c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Protect.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Protect.h
@@ -98,7 +98,7 @@ namespace JSC {
JSValue get() const { return m_value; }
operator JSValue() const { return m_value; }
- JSValue operator->() const { return m_value; }
+ //JSValue operator->() const { return m_value; }
operator bool() const { return m_value; }
bool operator!() const { return !m_value; }
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
index 9f6b0c3..38c086e 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.cpp
@@ -160,7 +160,7 @@ Structure::~Structure()
m_previous->m_transitions.singleTransition = 0;
} else {
ASSERT(m_previous->m_transitions.table->contains(make_pair(m_nameInPrevious.get(), make_pair(m_attributesInPrevious, m_specificValueInPrevious))));
- m_previous->m_transitions.table->remove(make_pair(m_nameInPrevious.get(), make_pair(m_attributesInPrevious, m_specificValueInPrevious)));
+ m_previous->m_transitions.table->remove(make_pair<RefPtr<UString::Rep>, std::pair<unsigned,JSCell*> >(m_nameInPrevious.get(), make_pair(m_attributesInPrevious, m_specificValueInPrevious)));
}
}
@@ -394,7 +394,7 @@ PassRefPtr<Structure> Structure::addPropertyTransitionToExistingStructure(Struct
return existingTransition;
}
} else {
- if (Structure* existingTransition = structure->m_transitions.table->get(make_pair(propertyName.ustring().rep(), make_pair(attributes, specificValue)))) {
+ if (Structure* existingTransition = structure->m_transitions.table->get(make_pair<RefPtr<UString::Rep>, std::pair<unsigned, JSCell*> >(propertyName.ustring().rep(), make_pair(attributes, specificValue)))) {
ASSERT(existingTransition->m_offset != noOffset);
offset = existingTransition->m_offset;
return existingTransition;
@@ -459,9 +459,9 @@ PassRefPtr<Structure> Structure::addPropertyTransition(Structure* structure, con
structure->m_usingSingleTransitionSlot = false;
StructureTransitionTable* transitionTable = new StructureTransitionTable;
structure->m_transitions.table = transitionTable;
- transitionTable->add(make_pair(existingTransition->m_nameInPrevious.get(), make_pair(existingTransition->m_attributesInPrevious, existingTransition->m_specificValueInPrevious)), existingTransition);
+ transitionTable->add(make_pair<RefPtr<UString::Rep>, std::pair<unsigned, JSCell*> >(existingTransition->m_nameInPrevious.get(), make_pair(existingTransition->m_attributesInPrevious, existingTransition->m_specificValueInPrevious)), existingTransition);
}
- structure->m_transitions.table->add(make_pair(propertyName.ustring().rep(), make_pair(attributes, specificValue)), transition.get());
+ structure->m_transitions.table->add(make_pair<RefPtr<UString::Rep>, std::pair<unsigned, JSCell*> >(propertyName.ustring().rep(), make_pair(attributes, specificValue)), transition.get());
return transition.release();
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h
index 3de5ee6..8ff9170 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashMap.h
@@ -178,7 +178,10 @@ namespace WTF {
HashMap<T, U, V, W, X>::inlineAdd(const KeyType& key, const MappedType& mapped)
{
typedef HashMapTranslator<ValueType, ValueTraits, HashFunctions> TranslatorType;
- return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+ typename HashMap<T, U, V, W, X>::iterator temp = p.first;
+ return make_pair<typename HashMap<T, U, V, W, X>::iterator, bool>(temp, p.second);
+// return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
index 990670d..ec809e5 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/HashSet.h
@@ -204,7 +204,12 @@ namespace WTF {
template<typename T, typename U, typename V>
pair<typename HashSet<T, U, V>::iterator, bool> HashSet<T, U, V>::add(const ValueType& value)
{
- return m_impl.add(value);
+ pair<typename HashTable<T, T, IdentityExtractor<T>, U, V, V>::iterator, bool> p = m_impl.add(value);
+ typename HashSet<T, U, V>::iterator temp = p.first;
+ pair<typename HashSet<T, U, V>::iterator, bool> p2 = make_pair<typename HashSet<T, U, V>::iterator, bool>(temp, p.second);
+ // p2.first = p.first;
+ // p2.second = p.second;
+ return p2;
}
template<typename Value, typename HashFunctions, typename Traits>
@@ -213,7 +218,8 @@ namespace WTF {
HashSet<Value, HashFunctions, Traits>::add(const T& value)
{
typedef HashSetTranslatorAdapter<ValueType, ValueTraits, T, HashTranslator> Adapter;
- return m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template addPassingHashCode<T, T, Adapter>(value, value);
+ return make_pair<iterator, bool>(p.first, p.second);
}
template<typename T, typename U, typename V>
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.h b/src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.h
index 01ce804..b8305b5 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/MainThread.h
@@ -34,7 +34,9 @@ namespace WTF {
class Mutex;
-typedef void MainThreadFunction(void*);
+extern "C" {
+ typedef void MainThreadFunction(void*);
+}
void callOnMainThread(MainThreadFunction*, void* context);
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
index 12291cc..070b76c 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/MessageQueue.h
@@ -41,7 +41,7 @@ namespace WTF {
enum MessageQueueWaitResult {
MessageQueueTerminated, // Queue was destroyed while waiting for message.
MessageQueueTimeout, // Timeout was specified and it expired.
- MessageQueueMessageReceived, // A message was successfully received and returned.
+ MessageQueueMessageReceived // A message was successfully received and returned.
};
template<typename DataType>
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
index e531a63..e1e4ba3 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
@@ -106,6 +106,9 @@
/* regardless of operating environment */
#if defined(hpux) || defined(__hpux)
#define WTF_PLATFORM_HPUX 1
+#ifndef MAP_ANON
+#define MAP_ANON MAP_ANONYMOUS
+#endif
#endif
#if defined (__SYMBIAN32__)
@@ -301,6 +304,30 @@
#define WTF_PLATFORM_BIG_ENDIAN 1
#endif
+/* PLATFORM(HPPA) */
+/* a.k.a. PA-RISC */
+#if defined(__hppa) || defined(__hppa__)
+#define WTF_PLATFORM_HPPA 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
+/* PLATFORM(IA64) */
+/* a.k.a. Itanium Processor Family, IPF */
+#if defined(__ia64) || defined(__ia64__) || defined(_M_IA64)
+#define WTF_PLATFORM_IA64 1
+
+/* Itanium can be both big- and little-endian
+ we need to determine at compile time which one it is.
+ - HP's aCC compiler only compiles big-endian (so HP-UXi is always big-endian)
+ - GCC defines __BIG_ENDIAN__ for us (default on HP-UX)
+ - Linux is usually little-endian
+ - I've never seen AIX or Windows on IA-64, but they should be little-endian too
+*/
+#if defined(__BIG_ENDIAN__) || defined(__HP_aCC)
+# define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+#endif
+
/* PLATFORM(WINCE) && PLATFORM(QT)
We can not determine the endianess at compile time. For
Qt for Windows CE the endianess is specified in the
@@ -474,7 +501,7 @@
#endif
#if !PLATFORM(WIN_OS) && !PLATFORM(SOLARIS) && !PLATFORM(QNX) \
- && !PLATFORM(SYMBIAN) && !COMPILER(RVCT)
+ && !PLATFORM(SYMBIAN) && !COMPILER(RVCT) && !PLATFORM(AIX)
#define HAVE_TM_GMTOFF 1
#define HAVE_TM_ZONE 1
#define HAVE_TIMEGM 1
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h b/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h
index 1cbebb4..b3ccd3a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/RefPtrHashMap.h
@@ -42,7 +42,7 @@ namespace WTF {
};
template<typename T, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg>
- class HashMap<RefPtr<T>, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> {
+ class RefPtrHashMap {
private:
typedef KeyTraitsArg KeyTraits;
typedef MappedTraitsArg MappedTraits;
@@ -67,7 +67,7 @@ namespace WTF {
typedef HashTableIteratorAdapter<HashTableType, ValueType> iterator;
typedef HashTableConstIteratorAdapter<HashTableType, ValueType> const_iterator;
- void swap(HashMap&);
+ void swap(RefPtrHashMap&);
int size() const;
int capacity() const;
@@ -115,109 +115,123 @@ namespace WTF {
HashTableType m_impl;
};
+ template<typename T, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg>
+ class HashMap<RefPtr<T>, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg> :
+ public RefPtrHashMap<T, MappedArg, HashArg, KeyTraitsArg, MappedTraitsArg>
+ {
+ };
template<typename T, typename U, typename V, typename W, typename X>
- inline void HashMap<RefPtr<T>, U, V, W, X>::swap(HashMap& other)
+ inline void RefPtrHashMap<T, U, V, W, X>::swap(RefPtrHashMap& other)
{
m_impl.swap(other.m_impl);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline int HashMap<RefPtr<T>, U, V, W, X>::size() const
+ inline int RefPtrHashMap<T, U, V, W, X>::size() const
{
return m_impl.size();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline int HashMap<RefPtr<T>, U, V, W, X>::capacity() const
+ inline int RefPtrHashMap<T, U, V, W, X>::capacity() const
{
return m_impl.capacity();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline bool HashMap<RefPtr<T>, U, V, W, X>::isEmpty() const
+ inline bool RefPtrHashMap<T, U, V, W, X>::isEmpty() const
{
return m_impl.isEmpty();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::iterator HashMap<RefPtr<T>, U, V, W, X>::begin()
+ inline typename RefPtrHashMap<T, U, V, W, X>::iterator RefPtrHashMap<T, U, V, W, X>::begin()
{
return m_impl.begin();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::iterator HashMap<RefPtr<T>, U, V, W, X>::end()
+ inline typename RefPtrHashMap<T, U, V, W, X>::iterator RefPtrHashMap<T, U, V, W, X>::end()
{
return m_impl.end();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::const_iterator HashMap<RefPtr<T>, U, V, W, X>::begin() const
+ inline typename RefPtrHashMap<T, U, V, W, X>::const_iterator RefPtrHashMap<T, U, V, W, X>::begin() const
{
return m_impl.begin();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::const_iterator HashMap<RefPtr<T>, U, V, W, X>::end() const
+ inline typename RefPtrHashMap<T, U, V, W, X>::const_iterator RefPtrHashMap<T, U, V, W, X>::end() const
{
return m_impl.end();
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::iterator HashMap<RefPtr<T>, U, V, W, X>::find(const KeyType& key)
+ inline typename RefPtrHashMap<T, U, V, W, X>::iterator RefPtrHashMap<T, U, V, W, X>::find(const KeyType& key)
{
return m_impl.find(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::iterator HashMap<RefPtr<T>, U, V, W, X>::find(RawKeyType key)
+ inline typename RefPtrHashMap<T, U, V, W, X>::iterator RefPtrHashMap<T, U, V, W, X>::find(RawKeyType key)
{
return m_impl.template find<RawKeyType, RawKeyTranslator>(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::const_iterator HashMap<RefPtr<T>, U, V, W, X>::find(const KeyType& key) const
+ inline typename RefPtrHashMap<T, U, V, W, X>::const_iterator RefPtrHashMap<T, U, V, W, X>::find(const KeyType& key) const
{
return m_impl.find(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline typename HashMap<RefPtr<T>, U, V, W, X>::const_iterator HashMap<RefPtr<T>, U, V, W, X>::find(RawKeyType key) const
+ inline typename RefPtrHashMap<T, U, V, W, X>::const_iterator RefPtrHashMap<T, U, V, W, X>::find(RawKeyType key) const
{
return m_impl.template find<RawKeyType, RawKeyTranslator>(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline bool HashMap<RefPtr<T>, U, V, W, X>::contains(const KeyType& key) const
+ inline bool RefPtrHashMap<T, U, V, W, X>::contains(const KeyType& key) const
{
return m_impl.contains(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline bool HashMap<RefPtr<T>, U, V, W, X>::contains(RawKeyType key) const
+ inline bool RefPtrHashMap<T, U, V, W, X>::contains(RawKeyType key) const
{
return m_impl.template contains<RawKeyType, RawKeyTranslator>(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
- HashMap<RefPtr<T>, U, V, W, X>::inlineAdd(const KeyType& key, const MappedType& mapped)
+ inline pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>
+ RefPtrHashMap<T, U, V, W, X>::inlineAdd(const KeyType& key, const MappedType& mapped)
{
typedef HashMapTranslator<ValueType, ValueTraits, HashFunctions> TranslatorType;
- return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
+// typename RefPtrHashMap<T, U, V, W, X>::iterator temp = p.first;
+ return make_pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>(
+ typename RefPtrHashMap<T, U, V, W, X>::iterator(p.first), p.second);
+
+// return m_impl.template add<KeyType, MappedType, TranslatorType>(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
- HashMap<RefPtr<T>, U, V, W, X>::inlineAdd(RawKeyType key, const MappedType& mapped)
+ inline pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>
+ RefPtrHashMap<T, U, V, W, X>::inlineAdd(RawKeyType key, const MappedType& mapped)
{
- return m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped);
+ pair<typename HashTableType::iterator, bool> p = m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped);
+ return make_pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>(
+ typename RefPtrHashMap<T, U, V, W, X>::iterator(p.first), p.second);
+
+ // return m_impl.template add<RawKeyType, MappedType, RawKeyTranslator>(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>
- pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
- HashMap<RefPtr<T>, U, V, W, X>::set(const KeyType& key, const MappedType& mapped)
+ pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>
+ RefPtrHashMap<T, U, V, W, X>::set(const KeyType& key, const MappedType& mapped)
{
pair<iterator, bool> result = inlineAdd(key, mapped);
if (!result.second) {
@@ -228,8 +242,8 @@ namespace WTF {
}
template<typename T, typename U, typename V, typename W, typename X>
- pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
- HashMap<RefPtr<T>, U, V, W, X>::set(RawKeyType key, const MappedType& mapped)
+ pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>
+ RefPtrHashMap<T, U, V, W, X>::set(RawKeyType key, const MappedType& mapped)
{
pair<iterator, bool> result = inlineAdd(key, mapped);
if (!result.second) {
@@ -240,22 +254,22 @@ namespace WTF {
}
template<typename T, typename U, typename V, typename W, typename X>
- pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
- HashMap<RefPtr<T>, U, V, W, X>::add(const KeyType& key, const MappedType& mapped)
+ pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>
+ RefPtrHashMap<T, U, V, W, X>::add(const KeyType& key, const MappedType& mapped)
{
return inlineAdd(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename X>
- pair<typename HashMap<RefPtr<T>, U, V, W, X>::iterator, bool>
- HashMap<RefPtr<T>, U, V, W, X>::add(RawKeyType key, const MappedType& mapped)
+ pair<typename RefPtrHashMap<T, U, V, W, X>::iterator, bool>
+ RefPtrHashMap<T, U, V, W, X>::add(RawKeyType key, const MappedType& mapped)
{
return inlineAdd(key, mapped);
}
template<typename T, typename U, typename V, typename W, typename MappedTraits>
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType
- HashMap<RefPtr<T>, U, V, W, MappedTraits>::get(const KeyType& key) const
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType
+ RefPtrHashMap<T, U, V, W, MappedTraits>::get(const KeyType& key) const
{
ValueType* entry = const_cast<HashTableType&>(m_impl).lookup(key);
if (!entry)
@@ -264,8 +278,8 @@ namespace WTF {
}
template<typename T, typename U, typename V, typename W, typename MappedTraits>
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType
- inline HashMap<RefPtr<T>, U, V, W, MappedTraits>::inlineGet(RawKeyType key) const
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType
+ inline RefPtrHashMap<T, U, V, W, MappedTraits>::inlineGet(RawKeyType key) const
{
ValueType* entry = const_cast<HashTableType&>(m_impl).template lookup<RawKeyType, RawKeyTranslator>(key);
if (!entry)
@@ -274,14 +288,14 @@ namespace WTF {
}
template<typename T, typename U, typename V, typename W, typename MappedTraits>
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType
- HashMap<RefPtr<T>, U, V, W, MappedTraits>::get(RawKeyType key) const
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType
+ RefPtrHashMap<T, U, V, W, MappedTraits>::get(RawKeyType key) const
{
return inlineGet(key);
}
template<typename T, typename U, typename V, typename W, typename X>
- inline void HashMap<RefPtr<T>, U, V, W, X>::remove(iterator it)
+ inline void RefPtrHashMap<T, U, V, W, X>::remove(iterator it)
{
if (it.m_impl == m_impl.end())
return;
@@ -290,45 +304,45 @@ namespace WTF {
}
template<typename T, typename U, typename V, typename W, typename X>
- inline void HashMap<RefPtr<T>, U, V, W, X>::remove(const KeyType& key)
+ inline void RefPtrHashMap<T, U, V, W, X>::remove(const KeyType& key)
{
remove(find(key));
}
template<typename T, typename U, typename V, typename W, typename X>
- inline void HashMap<RefPtr<T>, U, V, W, X>::remove(RawKeyType key)
+ inline void RefPtrHashMap<T, U, V, W, X>::remove(RawKeyType key)
{
remove(find(key));
}
template<typename T, typename U, typename V, typename W, typename X>
- inline void HashMap<RefPtr<T>, U, V, W, X>::clear()
+ inline void RefPtrHashMap<T, U, V, W, X>::clear()
{
m_impl.clear();
}
template<typename T, typename U, typename V, typename W, typename MappedTraits>
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType
- HashMap<RefPtr<T>, U, V, W, MappedTraits>::take(const KeyType& key)
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType
+ RefPtrHashMap<T, U, V, W, MappedTraits>::take(const KeyType& key)
{
// This can probably be made more efficient to avoid ref/deref churn.
iterator it = find(key);
if (it == end())
return MappedTraits::emptyValue();
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType result = it->second;
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType result = it->second;
remove(it);
return result;
}
template<typename T, typename U, typename V, typename W, typename MappedTraits>
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType
- HashMap<RefPtr<T>, U, V, W, MappedTraits>::take(RawKeyType key)
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType
+ RefPtrHashMap<T, U, V, W, MappedTraits>::take(RawKeyType key)
{
// This can probably be made more efficient to avoid ref/deref churn.
iterator it = find(key);
if (it == end())
return MappedTraits::emptyValue();
- typename HashMap<RefPtr<T>, U, V, W, MappedTraits>::MappedType result = it->second;
+ typename RefPtrHashMap<T, U, V, W, MappedTraits>::MappedType result = it->second;
remove(it);
return result;
}
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/TypeTraits.h b/src/3rdparty/webkit/JavaScriptCore/wtf/TypeTraits.h
index 6ce6a3e..56659a8 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/TypeTraits.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/TypeTraits.h
@@ -70,30 +70,30 @@ namespace WTF {
template <> struct IsPod<long double> { static const bool value = true; };
template <typename P> struct IsPod<P*> { static const bool value = true; };
- template<typename T> class IsConvertibleToInteger {
- // Avoid "possible loss of data" warning when using Microsoft's C++ compiler
- // by not converting int's to doubles.
- template<bool performCheck, typename U> class IsConvertibleToDouble;
- template<typename U> class IsConvertibleToDouble<false, U> {
- public:
- static const bool value = false;
- };
+ // Avoid "possible loss of data" warning when using Microsoft's C++ compiler
+ // by not converting int's to doubles.
+ template<bool performCheck, typename U> class CheckedIsConvertibleToDouble;
+ template<typename U> class CheckedIsConvertibleToDouble<false, U> {
+ public:
+ static const bool value = false;
+ };
- template<typename U> class IsConvertibleToDouble<true, U> {
- typedef char YesType;
- struct NoType {
- char padding[8];
- };
-
- static YesType floatCheck(long double);
- static NoType floatCheck(...);
- static T& t;
- public:
- static const bool value = sizeof(floatCheck(t)) == sizeof(YesType);
+ template<typename U> class CheckedIsConvertibleToDouble<true, U> {
+ typedef char YesType;
+ struct NoType {
+ char padding[8];
};
+ static YesType floatCheck(long double);
+ static NoType floatCheck(...);
+ static U& t;
+ public:
+ static const bool value = sizeof(floatCheck(t)) == sizeof(YesType);
+ };
+
+ template<typename T> class IsConvertibleToInteger {
public:
- static const bool value = IsInteger<T>::value || IsConvertibleToDouble<!IsInteger<T>::value, T>::value;
+ static const bool value = IsInteger<T>::value || CheckedIsConvertibleToDouble<!IsInteger<T>::value, T>::value;
};
template <typename T, typename U> struct IsSameType {
diff --git a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
index e3cb718..7decc4a 100644
--- a/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
+++ b/src/3rdparty/webkit/JavaScriptCore/wtf/Vector.h
@@ -67,10 +67,11 @@ namespace WTF {
template <size_t size, size_t> struct AlignedBuffer
{
AlignedBufferChar oversizebuffer[size + 64];
- AlignedBufferChar *buffer;
- inline AlignedBuffer() : buffer(oversizebuffer)
+ AlignedBufferChar *buffer()
{
- buffer += 64 - (reinterpret_cast<size_t>(buffer) & 0x3f);
+ AlignedBufferChar *ptr = oversizebuffer;
+ ptr += 64 - (reinterpret_cast<size_t>(ptr) & 0x3f);
+ return ptr;
}
};
#endif
@@ -128,7 +129,7 @@ namespace WTF {
template<typename T>
struct VectorMover<false, T>
{
- static void move(const T* src, const T* srcEnd, T* dst)
+ static void move(T* src, const T* srcEnd, T* dst)
{
while (src != srcEnd) {
new (dst) T(*src);
@@ -137,7 +138,7 @@ namespace WTF {
++src;
}
}
- static void moveOverlapping(const T* src, const T* srcEnd, T* dst)
+ static void moveOverlapping(T* src, const T* srcEnd, T* dst)
{
if (src > dst)
move(src, srcEnd, dst);
@@ -156,11 +157,11 @@ namespace WTF {
template<typename T>
struct VectorMover<true, T>
{
- static void move(const T* src, const T* srcEnd, T* dst)
+ static void move(T* src, const T* srcEnd, T* dst)
{
memcpy(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
}
- static void moveOverlapping(const T* src, const T* srcEnd, T* dst)
+ static void moveOverlapping(T* src, const T* srcEnd, T* dst)
{
memmove(dst, src, reinterpret_cast<const char*>(srcEnd) - reinterpret_cast<const char*>(src));
}
@@ -253,12 +254,12 @@ namespace WTF {
VectorInitializer<VectorTraits<T>::needsInitialization, VectorTraits<T>::canInitializeWithMemset, T>::initialize(begin, end);
}
- static void move(const T* src, const T* srcEnd, T* dst)
+ static void move(T* src, const T* srcEnd, T* dst)
{
VectorMover<VectorTraits<T>::canMoveWithMemcpy, T>::move(src, srcEnd, dst);
}
- static void moveOverlapping(const T* src, const T* srcEnd, T* dst)
+ static void moveOverlapping(T* src, const T* srcEnd, T* dst)
{
VectorMover<VectorTraits<T>::canMoveWithMemcpy, T>::moveOverlapping(src, srcEnd, dst);
}
@@ -440,7 +441,11 @@ namespace WTF {
using Base::m_capacity;
static const size_t m_inlineBufferSize = inlineCapacity * sizeof(T);
+ #ifdef WTF_ALIGNED
T* inlineBuffer() { return reinterpret_cast<T*>(m_inlineBuffer.buffer); }
+ #else
+ T* inlineBuffer() { return reinterpret_cast<T*>(m_inlineBuffer.buffer()); }
+ #endif
AlignedBuffer<m_inlineBufferSize, WTF_ALIGN_OF(T)> m_inlineBuffer;
};
diff --git a/src/3rdparty/webkit/WebCore/bridge/npapi.h b/src/3rdparty/webkit/WebCore/bridge/npapi.h
index 07fed86..2ff657e 100644
--- a/src/3rdparty/webkit/WebCore/bridge/npapi.h
+++ b/src/3rdparty/webkit/WebCore/bridge/npapi.h
@@ -350,9 +350,10 @@ typedef enum {
NPPVpluginWantsAllNetworkStreams = 18,
/* Checks to see if the plug-in would like the browser to load the "src" attribute. */
- NPPVpluginCancelSrcStream = 20,
+ NPPVpluginCancelSrcStream = 20
#ifdef XP_MACOSX
+ ,
/* Used for negotiating drawing models */
NPPVpluginDrawingModel = 1000,
/* Used for negotiating event models */
diff --git a/src/3rdparty/webkit/WebCore/dom/ExceptionCode.h b/src/3rdparty/webkit/WebCore/dom/ExceptionCode.h
index 58b18e2..08bffa6 100644
--- a/src/3rdparty/webkit/WebCore/dom/ExceptionCode.h
+++ b/src/3rdparty/webkit/WebCore/dom/ExceptionCode.h
@@ -57,7 +57,7 @@ namespace WebCore {
NETWORK_ERR = 19,
ABORT_ERR = 20,
URL_MISMATCH_ERR = 21,
- QUOTA_EXCEEDED_ERR = 22,
+ QUOTA_EXCEEDED_ERR = 22
};
enum ExceptionType {
diff --git a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
index 3f8febc..f95f0045 100644
--- a/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
+++ b/src/3rdparty/webkit/WebCore/dom/ScriptExecutionContext.h
@@ -45,7 +45,7 @@ namespace WebCore {
enum MessageDestination {
InspectorControllerDestination,
- ConsoleDestination,
+ ConsoleDestination
};
class ScriptExecutionContext {
diff --git a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
index 9737e92..dcb3326 100644
--- a/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/CompositeEditCommand.cpp
@@ -795,7 +795,7 @@ void CompositeEditCommand::moveParagraphs(const VisiblePosition& startOfParagrap
// FIXME: This is an inefficient way to preserve style on nodes in the paragraph to move. It
// shouldn't matter though, since moved paragraphs will usually be quite small.
- RefPtr<DocumentFragment> fragment = startOfParagraphToMove != endOfParagraphToMove ? createFragmentFromMarkup(document(), createMarkup(range.get(), 0, DoNotAnnotateForInterchange, true), "") : 0;
+ RefPtr<DocumentFragment> fragment = startOfParagraphToMove != endOfParagraphToMove ? createFragmentFromMarkup(document(), createMarkup(range.get(), 0, DoNotAnnotateForInterchange, true), "") : PassRefPtr<DocumentFragment>(0);
// A non-empty paragraph's style is moved when we copy and move it. We don't move
// anything if we're given an empty paragraph, but an empty paragraph can have style
diff --git a/src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h b/src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h
index 5b732dc..b8b137d 100644
--- a/src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h
+++ b/src/3rdparty/webkit/WebCore/editing/EditorInsertAction.h
@@ -32,7 +32,7 @@ namespace WebCore {
enum EditorInsertAction {
EditorInsertActionTyped,
EditorInsertActionPasted,
- EditorInsertActionDropped,
+ EditorInsertActionDropped
};
} // namespace
diff --git a/src/3rdparty/webkit/WebCore/editing/markup.cpp b/src/3rdparty/webkit/WebCore/editing/markup.cpp
index 6b6d326..1c737a0 100644
--- a/src/3rdparty/webkit/WebCore/editing/markup.cpp
+++ b/src/3rdparty/webkit/WebCore/editing/markup.cpp
@@ -970,7 +970,7 @@ String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterc
Node* body = enclosingNodeWithTag(Position(commonAncestor, 0), bodyTag);
// FIXME: Do this for all fully selected blocks, not just the body.
Node* fullySelectedRoot = body && *VisibleSelection::selectionFromContentsOfNode(body).toNormalizedRange() == *updatedRange ? body : 0;
- RefPtr<CSSMutableStyleDeclaration> fullySelectedRootStyle = fullySelectedRoot ? styleFromMatchedRulesAndInlineDecl(fullySelectedRoot) : 0;
+ RefPtr<CSSMutableStyleDeclaration> fullySelectedRootStyle = fullySelectedRoot ? styleFromMatchedRulesAndInlineDecl(fullySelectedRoot) : PassRefPtr<CSSMutableStyleDeclaration>(0);
if (annotate && fullySelectedRoot) {
if (shouldIncludeWrapperForFullySelectedRoot(fullySelectedRoot, fullySelectedRootStyle.get()))
specialCommonAncestor = fullySelectedRoot;
diff --git a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
index cc3627d..fdd854c 100644
--- a/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
+++ b/src/3rdparty/webkit/WebCore/generated/CSSPropertyNames.h
@@ -275,7 +275,7 @@ enum CSSPropertyID {
CSSPropertyGlyphOrientationVertical = 1268,
CSSPropertyKerning = 1269,
CSSPropertyTextAnchor = 1270,
- CSSPropertyWritingMode = 1271,
+ CSSPropertyWritingMode = 1271
};
const int firstCSSProperty = 1001;
diff --git a/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp b/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp
index 722f4e2..928a1bf 100644
--- a/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp
+++ b/src/3rdparty/webkit/WebCore/html/HTMLParser.cpp
@@ -137,7 +137,7 @@ HTMLParser::HTMLParser(HTMLDocument* doc, bool reportErrors)
, m_reportErrors(reportErrors)
, m_handlingResidualStyleAcrossBlocks(false)
, m_inStrayTableContent(0)
- , m_parserQuirks(m_document->page() ? m_document->page()->chrome()->client()->createHTMLParserQuirks() : 0)
+ , m_parserQuirks(m_document->page() ? m_document->page()->chrome()->client()->createHTMLParserQuirks() : PassOwnPtr<HTMLParserQuirks>(0))
{
}
@@ -155,7 +155,7 @@ HTMLParser::HTMLParser(DocumentFragment* frag)
, m_reportErrors(false)
, m_handlingResidualStyleAcrossBlocks(false)
, m_inStrayTableContent(0)
- , m_parserQuirks(m_document->page() ? m_document->page()->chrome()->client()->createHTMLParserQuirks() : 0)
+ , m_parserQuirks(m_document->page() ? m_document->page()->chrome()->client()->createHTMLParserQuirks() : PassOwnPtr<HTMLParserQuirks>(0))
{
if (frag)
frag->ref();
diff --git a/src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp b/src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp
index 87cb725..812d17b 100644
--- a/src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/DocumentLoader.cpp
@@ -519,7 +519,7 @@ ArchiveResource* DocumentLoader::archiveResourceForURL(const KURL& url) const
PassRefPtr<Archive> DocumentLoader::popArchiveForSubframe(const String& frameName)
{
- return m_archiveResourceCollection ? m_archiveResourceCollection->popSubframeArchive(frameName) : 0;
+ return m_archiveResourceCollection ? m_archiveResourceCollection->popSubframeArchive(frameName) : PassRefPtr<Archive>(0);
}
void DocumentLoader::clearArchiveResources()
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
index 58bf2c0..c41e491 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoader.h
@@ -355,7 +355,7 @@ namespace WebCore {
enum LocalLoadPolicy {
AllowLocalLoadsForAll, // No restriction on local loads.
AllowLocalLoadsForLocalAndSubstituteData,
- AllowLocalLoadsForLocalOnly,
+ AllowLocalLoadsForLocalOnly
};
static void setLocalLoadPolicy(LocalLoadPolicy);
static bool restrictAccessToLocal();
diff --git a/src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h b/src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h
index c264b47..b3823ba 100644
--- a/src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h
+++ b/src/3rdparty/webkit/WebCore/loader/FrameLoaderTypes.h
@@ -42,7 +42,7 @@ namespace WebCore {
enum PolicyAction {
PolicyUse,
PolicyDownload,
- PolicyIgnore,
+ PolicyIgnore
};
enum FrameLoadType {
diff --git a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp
index dc73353..fd6a8b4 100644
--- a/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/appcache/ApplicationCacheGroup.cpp
@@ -772,7 +772,7 @@ void ApplicationCacheGroup::checkIfLoadIsComplete()
ASSERT(cacheStorage().isMaximumSizeReached() && m_calledReachedMaxAppCacheSize);
}
- RefPtr<ApplicationCache> oldNewestCache = (m_newestCache == m_cacheBeingUpdated) ? 0 : m_newestCache;
+ RefPtr<ApplicationCache> oldNewestCache = (m_newestCache == m_cacheBeingUpdated) ? RefPtr<ApplicationCache>(0) : m_newestCache;
setNewestCache(m_cacheBeingUpdated.release());
if (cacheStorage().storeNewestCache(this)) {
diff --git a/src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp b/src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp
index 1322dbb..753c3c3 100644
--- a/src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/archive/ArchiveFactory.cpp
@@ -75,7 +75,7 @@ bool ArchiveFactory::isArchiveMimeType(const String& mimeType)
PassRefPtr<Archive> ArchiveFactory::create(SharedBuffer* data, const String& mimeType)
{
RawDataCreationFunction* function = archiveMIMETypes().get(mimeType);
- return function ? function(data) : 0;
+ return function ? function(data) : PassRefPtr<Archive>(0);
}
void ArchiveFactory::registerKnownArchiveMIMETypes()
diff --git a/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp b/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp
index 691f66a..b6317da 100644
--- a/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/archive/ArchiveResource.cpp
@@ -35,17 +35,17 @@ namespace WebCore {
PassRefPtr<ArchiveResource> ArchiveResource::create(PassRefPtr<SharedBuffer> data, const KURL& url, const ResourceResponse& response)
{
- return data ? adoptRef(new ArchiveResource(data, url, response)) : 0;
+ return data ? adoptRef(new ArchiveResource(data, url, response)) : PassRefPtr<ArchiveResource>(0);
}
PassRefPtr<ArchiveResource> ArchiveResource::create(PassRefPtr<SharedBuffer> data, const KURL& url, const String& mimeType, const String& textEncoding, const String& frameName)
{
- return data ? adoptRef(new ArchiveResource(data, url, mimeType, textEncoding, frameName)) : 0;
+ return data ? adoptRef(new ArchiveResource(data, url, mimeType, textEncoding, frameName)) : PassRefPtr<ArchiveResource>(0);
}
PassRefPtr<ArchiveResource> ArchiveResource::create(PassRefPtr<SharedBuffer> data, const KURL& url, const String& mimeType, const String& textEncoding, const String& frameName, const ResourceResponse& resourceResponse)
{
- return data ? adoptRef(new ArchiveResource(data, url, mimeType, textEncoding, frameName, resourceResponse)) : 0;
+ return data ? adoptRef(new ArchiveResource(data, url, mimeType, textEncoding, frameName, resourceResponse)) : PassRefPtr<ArchiveResource>(0);
}
ArchiveResource::ArchiveResource(PassRefPtr<SharedBuffer> data, const KURL& url, const ResourceResponse& response)
diff --git a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
index b78291d..7201661 100644
--- a/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
+++ b/src/3rdparty/webkit/WebCore/loader/icon/IconDatabase.cpp
@@ -511,7 +511,7 @@ void IconDatabase::setIconDataForIconURL(PassRefPtr<SharedBuffer> dataOriginal,
if (!isOpen() || iconURLOriginal.isEmpty())
return;
- RefPtr<SharedBuffer> data = dataOriginal ? dataOriginal->copy() : 0;
+ RefPtr<SharedBuffer> data = dataOriginal ? dataOriginal->copy() : PassRefPtr<SharedBuffer>(0);
String iconURL = iconURLOriginal.copy();
Vector<String> pageURLs;
diff --git a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
index e8f9004..c54aab2 100644
--- a/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
+++ b/src/3rdparty/webkit/WebCore/page/DOMWindow.cpp
@@ -582,7 +582,7 @@ Storage* DOMWindow::localStorage() const
return 0;
StorageNamespace* localStorage = page->group().localStorage();
- RefPtr<StorageArea> storageArea = localStorage ? localStorage->storageArea(document->securityOrigin()) : 0;
+ RefPtr<StorageArea> storageArea = localStorage ? localStorage->storageArea(document->securityOrigin()) : PassRefPtr<StorageArea>(0);
if (storageArea) {
page->inspectorController()->didUseDOMStorage(storageArea.get(), true, m_frame);
m_localStorage = Storage::create(m_frame, storageArea.release());
diff --git a/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp b/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
index dad763c..8769a59 100644
--- a/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
+++ b/src/3rdparty/webkit/WebCore/page/animation/AnimationBase.cpp
@@ -144,7 +144,7 @@ static inline TransformOperations blendFunc(const AnimationBase* anim, const Tra
for (unsigned i = 0; i < size; i++) {
RefPtr<TransformOperation> fromOp = (i < fromSize) ? from.operations()[i].get() : 0;
RefPtr<TransformOperation> toOp = (i < toSize) ? to.operations()[i].get() : 0;
- RefPtr<TransformOperation> blendedOp = toOp ? toOp->blend(fromOp.get(), progress) : (fromOp ? fromOp->blend(0, progress, true) : 0);
+ RefPtr<TransformOperation> blendedOp = toOp ? toOp->blend(fromOp.get(), progress) : (fromOp ? fromOp->blend(0, progress, true) : PassRefPtr<TransformOperation>(0));
if (blendedOp)
result.operations().append(blendedOp);
else {
diff --git a/src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h b/src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h
index 4a6bc9e..d9701b7 100644
--- a/src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h
+++ b/src/3rdparty/webkit/WebCore/platform/PlatformKeyboardEvent.h
@@ -81,7 +81,7 @@ namespace WebCore {
AltKey = 1 << 0,
CtrlKey = 1 << 1,
MetaKey = 1 << 2,
- ShiftKey = 1 << 3,
+ ShiftKey = 1 << 3
};
Type type() const { return m_type; }
diff --git a/src/3rdparty/webkit/WebCore/platform/ScrollTypes.h b/src/3rdparty/webkit/WebCore/platform/ScrollTypes.h
index eba9055..b0df470 100644
--- a/src/3rdparty/webkit/WebCore/platform/ScrollTypes.h
+++ b/src/3rdparty/webkit/WebCore/platform/ScrollTypes.h
@@ -53,7 +53,7 @@ namespace WebCore {
enum ScrollbarControlStateMask {
ActiveScrollbarState = 1,
EnabledScrollbarState = 1 << 1,
- PressedScrollbarState = 1 << 2,
+ PressedScrollbarState = 1 << 2
};
enum ScrollbarPart {
@@ -67,7 +67,7 @@ namespace WebCore {
ForwardButtonEndPart = 1 << 6,
ScrollbarBGPart = 1 << 7,
TrackBGPart = 1 << 8,
- AllParts = 0xffffffff,
+ AllParts = 0xffffffff
};
enum ScrollbarButtonsPlacement {
diff --git a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h
index 8b770a1..a3a0493 100644
--- a/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h
+++ b/src/3rdparty/webkit/WebCore/platform/graphics/BitmapImage.h
@@ -150,7 +150,7 @@ protected:
enum RepetitionCountStatus {
Unknown, // We haven't checked the source's repetition count.
Uncertain, // We have a repetition count, but it might be wrong (some GIFs have a count after the image data, and will report "loop once" until all data has been decoded).
- Certain, // The repetition count is known to be correct.
+ Certain // The repetition count is known to be correct.
};
BitmapImage(NativeImagePtr, ImageObserver* = 0);
diff --git a/src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h b/src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h
index 9c2a9d7..494e2bb 100644
--- a/src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h
+++ b/src/3rdparty/webkit/WebCore/platform/image-decoders/ImageDecoder.h
@@ -52,7 +52,7 @@ namespace WebCore {
DisposeNotSpecified, // Leave frame in framebuffer
DisposeKeep, // Leave frame in framebuffer
DisposeOverwriteBgcolor, // Clear frame to transparent
- DisposeOverwritePrevious, // Clear frame to previous framebuffer contents
+ DisposeOverwritePrevious // Clear frame to previous framebuffer contents
};
#if PLATFORM(SKIA)
typedef uint32_t PixelData;
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h b/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h
index 9a73cff..b7d4574 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ProtectionSpace.h
@@ -46,7 +46,7 @@ enum ProtectionSpaceAuthenticationScheme {
ProtectionSpaceAuthenticationSchemeHTTPDigest = 3,
ProtectionSpaceAuthenticationSchemeHTMLForm = 4,
ProtectionSpaceAuthenticationSchemeNTLM = 5,
- ProtectionSpaceAuthenticationSchemeNegotiate = 6,
+ ProtectionSpaceAuthenticationSchemeNegotiate = 6
};
class ProtectionSpace {
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h
index c99be54..b8a8cbb 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceHandleClient.h
@@ -56,7 +56,7 @@ namespace WebCore {
enum CacheStoragePolicy {
StorageAllowed,
StorageAllowedInMemoryOnly,
- StorageNotAllowed,
+ StorageNotAllowed
};
class ResourceHandleClient {
diff --git a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
index 2d87d6e..740ebed 100644
--- a/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
+++ b/src/3rdparty/webkit/WebCore/platform/network/ResourceRequestBase.h
@@ -41,7 +41,7 @@ namespace WebCore {
UseProtocolCachePolicy, // normal load
ReloadIgnoringCacheData, // reload
ReturnCacheDataElseLoad, // back/forward or encoding change - allow stale data
- ReturnCacheDataDontLoad, // results of a post - allow stale data and only use cache
+ ReturnCacheDataDontLoad // results of a post - allow stale data and only use cache
};
const int unspecifiedTimeoutInterval = INT_MAX;
diff --git a/src/3rdparty/webkit/WebCore/platform/text/StringImpl.h b/src/3rdparty/webkit/WebCore/platform/text/StringImpl.h
index 38439ed..4325925 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/StringImpl.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/StringImpl.h
@@ -199,7 +199,7 @@ private:
enum StringImplFlags {
HasTerminatingNullCharacter,
- InTable,
+ InTable
};
unsigned m_length;
diff --git a/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h b/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h
index 3c74165..36d7c6e 100644
--- a/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h
+++ b/src/3rdparty/webkit/WebCore/platform/text/TextCodec.h
@@ -51,7 +51,7 @@ namespace WebCore {
// Encodes the character as en entity as above, but escaped
// non-alphanumeric characters. This is used in URLs.
// For example, U+6DE would be "%26%231758%3B".
- URLEncodedEntitiesForUnencodables,
+ URLEncodedEntitiesForUnencodables
};
typedef char UnencodableReplacementArray[32];
diff --git a/src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h b/src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h
index b652c6e..8183050 100644
--- a/src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h
+++ b/src/3rdparty/webkit/WebCore/plugins/PluginQuirkSet.h
@@ -45,7 +45,7 @@ namespace WebCore {
PluginQuirkDontClipToZeroRectWhenScrolling = 1 << 9,
PluginQuirkDontSetNullWindowHandleOnDestroy = 1 << 10,
PluginQuirkDontAllowMultipleInstances = 1 << 11,
- PluginQuirkRequiresGtkToolKit = 1 << 12,
+ PluginQuirkRequiresGtkToolKit = 1 << 12
};
class PluginQuirkSet {
diff --git a/src/3rdparty/webkit/WebCore/plugins/npapi.cpp b/src/3rdparty/webkit/WebCore/plugins/npapi.cpp
index 4135b64..d275a39 100644
--- a/src/3rdparty/webkit/WebCore/plugins/npapi.cpp
+++ b/src/3rdparty/webkit/WebCore/plugins/npapi.cpp
@@ -171,7 +171,9 @@ void NPN_PopPopupsEnabledState(NPP instance)
pluginViewForInstance(instance)->popPopupsEnabledState();
}
+extern "C" {
void NPN_PluginThreadAsyncCall(NPP instance, void (*func) (void *), void *userData)
{
PluginMainThreadScheduler::scheduler().scheduleCall(instance, func, userData);
}
+}
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
index 4b6d291..d92746b 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.cpp
@@ -3211,7 +3211,7 @@ void RenderLayer::styleChanged(StyleDifference diff, const RenderStyle*)
void RenderLayer::updateScrollCornerStyle()
{
RenderObject* actualRenderer = renderer()->node() ? renderer()->node()->shadowAncestorNode()->renderer() : renderer();
- RefPtr<RenderStyle> corner = renderer()->hasOverflowClip() ? actualRenderer->getUncachedPseudoStyle(SCROLLBAR_CORNER, actualRenderer->style()) : 0;
+ RefPtr<RenderStyle> corner = renderer()->hasOverflowClip() ? actualRenderer->getUncachedPseudoStyle(SCROLLBAR_CORNER, actualRenderer->style()) : PassRefPtr<RenderStyle>(0);
if (corner) {
if (!m_scrollCorner) {
m_scrollCorner = new (renderer()->renderArena()) RenderScrollbarPart(renderer()->document());
@@ -3227,7 +3227,7 @@ void RenderLayer::updateScrollCornerStyle()
void RenderLayer::updateResizerStyle()
{
RenderObject* actualRenderer = renderer()->node() ? renderer()->node()->shadowAncestorNode()->renderer() : renderer();
- RefPtr<RenderStyle> resizer = renderer()->hasOverflowClip() ? actualRenderer->getUncachedPseudoStyle(RESIZER, actualRenderer->style()) : 0;
+ RefPtr<RenderStyle> resizer = renderer()->hasOverflowClip() ? actualRenderer->getUncachedPseudoStyle(RESIZER, actualRenderer->style()) : PassRefPtr<RenderStyle>(0);
if (resizer) {
if (!m_resizer) {
m_resizer = new (renderer()->renderArena()) RenderScrollbarPart(renderer()->document());
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
index 1772c66..541002f 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderLayer.h
@@ -298,7 +298,7 @@ public:
enum UpdateLayerPositionsFlag {
DoFullRepaint = 1,
CheckForRepaint = 1 << 1,
- UpdateCompositingLayers = 1 << 2,
+ UpdateCompositingLayers = 1 << 2
};
typedef unsigned UpdateLayerPositionsFlags;
void updateLayerPositions(UpdateLayerPositionsFlags = DoFullRepaint | UpdateCompositingLayers);
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp
index db24a06..32cea92 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderScrollbar.cpp
@@ -183,7 +183,7 @@ void RenderScrollbar::updateScrollbarPart(ScrollbarPart partType, bool destroy)
if (partType == NoPart)
return;
- RefPtr<RenderStyle> partStyle = !destroy ? getScrollbarPseudoStyle(partType, pseudoForScrollbarPart(partType)) : 0;
+ RefPtr<RenderStyle> partStyle = !destroy ? getScrollbarPseudoStyle(partType, pseudoForScrollbarPart(partType)) : PassRefPtr<RenderStyle>(0);
bool needRenderer = !destroy && partStyle && partStyle->display() != NONE && partStyle->visibility() == VISIBLE;
diff --git a/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp b/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp
index 7da9e5a..1d8fca6 100644
--- a/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp
+++ b/src/3rdparty/webkit/WebCore/rendering/RenderTextFragment.cpp
@@ -28,7 +28,7 @@
namespace WebCore {
RenderTextFragment::RenderTextFragment(Node* node, StringImpl* str, int startOffset, int length)
- : RenderText(node, str ? str->substring(startOffset, length) : 0)
+ : RenderText(node, str ? str->substring(startOffset, length) : PassRefPtr<StringImpl>(0))
, m_start(startOffset)
, m_end(length)
, m_firstLetter(0)
diff --git a/src/3rdparty/webkit/WebCore/svg/SVGElement.cpp b/src/3rdparty/webkit/WebCore/svg/SVGElement.cpp
index 3a7d3d4..a04b095 100644
--- a/src/3rdparty/webkit/WebCore/svg/SVGElement.cpp
+++ b/src/3rdparty/webkit/WebCore/svg/SVGElement.cpp
@@ -214,7 +214,7 @@ void SVGElement::sendSVGLoadEventIfPossible(bool sendParentLoadEvents)
event->setTarget(currentTarget);
currentTarget->dispatchGenericEvent(event.release());
}
- currentTarget = (parent && parent->isSVGElement()) ? static_pointer_cast<SVGElement>(parent) : 0;
+ currentTarget = (parent && parent->isSVGElement()) ? static_pointer_cast<SVGElement>(parent) : RefPtr<SVGElement>(0);
}
}
diff --git a/src/3rdparty/webkit/WebCore/workers/Worker.cpp b/src/3rdparty/webkit/WebCore/workers/Worker.cpp
index 866687f..22c7d71 100644
--- a/src/3rdparty/webkit/WebCore/workers/Worker.cpp
+++ b/src/3rdparty/webkit/WebCore/workers/Worker.cpp
@@ -74,7 +74,7 @@ void Worker::postMessage(const String& message, ExceptionCode& ec)
void Worker::postMessage(const String& message, MessagePort* messagePort, ExceptionCode& ec)
{
// Disentangle the port in preparation for sending it to the remote context.
- OwnPtr<MessagePortChannel> channel = messagePort ? messagePort->disentangle(ec) : 0;
+ OwnPtr<MessagePortChannel> channel = messagePort ? messagePort->disentangle(ec) : PassOwnPtr<MessagePortChannel>(0);
if (ec)
return;
m_contextProxy->postMessageToWorkerContext(message, channel.release());
diff --git a/src/corelib/arch/alpha/qatomic_alpha.s b/src/corelib/arch/alpha/qatomic_alpha.s
index 9363b35..44fa932 100644
--- a/src/corelib/arch/alpha/qatomic_alpha.s
+++ b/src/corelib/arch/alpha/qatomic_alpha.s
@@ -1,3 +1,43 @@
+;/****************************************************************************
+;**
+;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+;** 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$
+;**
+;****************************************************************************/
.set noreorder
.set volatile
.set noat
diff --git a/src/corelib/arch/ia64/qatomic_ia64.s b/src/corelib/arch/ia64/qatomic_ia64.s
index 6b8a204..f6be4dd 100644
--- a/src/corelib/arch/ia64/qatomic_ia64.s
+++ b/src/corelib/arch/ia64/qatomic_ia64.s
@@ -1,3 +1,43 @@
+;/****************************************************************************
+;**
+;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+;** 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$
+;**
+;****************************************************************************/
.pred.safe_across_calls p1-p5,p16-p63
.text
.align 16
diff --git a/src/corelib/arch/macosx/qatomic32_ppc.s b/src/corelib/arch/macosx/qatomic32_ppc.s
index 13fff67..f87a152 100644
--- a/src/corelib/arch/macosx/qatomic32_ppc.s
+++ b/src/corelib/arch/macosx/qatomic32_ppc.s
@@ -1,3 +1,43 @@
+;/****************************************************************************
+;**
+;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+;** 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$
+;**
+;****************************************************************************/
.section __TEXT,__text,regular,pure_instructions
.section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
.section __TEXT,__text,regular,pure_instructions
diff --git a/src/corelib/arch/mips/qatomic_mips32.s b/src/corelib/arch/mips/qatomic_mips32.s
index e7a449b..2bd2dc3 100644
--- a/src/corelib/arch/mips/qatomic_mips32.s
+++ b/src/corelib/arch/mips/qatomic_mips32.s
@@ -1,3 +1,43 @@
+;/****************************************************************************
+;**
+;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+;** 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$
+;**
+;****************************************************************************/
.set nobopt
.set noreorder
.option pic2
diff --git a/src/corelib/arch/mips/qatomic_mips64.s b/src/corelib/arch/mips/qatomic_mips64.s
index d2bd8fe..08dc76f 100644
--- a/src/corelib/arch/mips/qatomic_mips64.s
+++ b/src/corelib/arch/mips/qatomic_mips64.s
@@ -1,3 +1,43 @@
+;/****************************************************************************
+;**
+;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+;** 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$
+;**
+;****************************************************************************/
.set nobopt
.set noreorder
.option pic2
diff --git a/src/corelib/arch/parisc/q_ldcw.s b/src/corelib/arch/parisc/q_ldcw.s
index f901ad9..99205fc 100644
--- a/src/corelib/arch/parisc/q_ldcw.s
+++ b/src/corelib/arch/parisc/q_ldcw.s
@@ -1,3 +1,43 @@
+;/****************************************************************************
+;**
+;** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+;** 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$
+;**
+;****************************************************************************/
.SPACE $PRIVATE$
.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
diff --git a/src/corelib/arch/powerpc/qatomic32.s b/src/corelib/arch/powerpc/qatomic32.s
index 811ba84..a84e0a3 100644
--- a/src/corelib/arch/powerpc/qatomic32.s
+++ b/src/corelib/arch/powerpc/qatomic32.s
@@ -1,3 +1,43 @@
+############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## 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$
+##
+############################################################################
.machine "ppc"
.toc
.csect .text[PR]
diff --git a/src/corelib/arch/powerpc/qatomic64.s b/src/corelib/arch/powerpc/qatomic64.s
index 88c2bbd..e56a239 100644
--- a/src/corelib/arch/powerpc/qatomic64.s
+++ b/src/corelib/arch/powerpc/qatomic64.s
@@ -1,3 +1,43 @@
+############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## 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$
+##
+############################################################################
.machine "ppc64"
.toc
.csect .text[PR]
diff --git a/src/corelib/arch/qatomic_windows.h b/src/corelib/arch/qatomic_windows.h
index 9b7ff5d..6082d0b 100644
--- a/src/corelib/arch/qatomic_windows.h
+++ b/src/corelib/arch/qatomic_windows.h
@@ -144,7 +144,6 @@ extern "C" {
#endif // QT_INTERLOCKED_DECLARE_PROTOTYPES
#undef QT_INTERLOCKED_PROTOTYPE
-#undef QT_INTERLOCKED_VOLATILE
////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -215,13 +214,13 @@ extern "C" {
# define QT_INTERLOCKED_COMPARE_EXCHANGE_POINTER(value, newValue, expectedValue) \
QT_INTERLOCKED_FUNCTION(InterlockedCompareExchangePointer)( \
- QT_INTERLOCKED_REMOVE_VOLATILE( value ), \
+ reinterpret_cast<void * QT_INTERLOCKED_VOLATILE *>( QT_INTERLOCKED_REMOVE_VOLATILE( value ) ), \
newValue, \
expectedValue )
# define QT_INTERLOCKED_EXCHANGE_POINTER(value, newValue) \
QT_INTERLOCKED_FUNCTION(InterlockedExchangePointer)( \
- QT_INTERLOCKED_REMOVE_VOLATILE( value ), \
+ reinterpret_cast<void * QT_INTERLOCKED_VOLATILE *>( QT_INTERLOCKED_REMOVE_VOLATILE( value ) ), \
newValue )
# define QT_INTERLOCKED_EXCHANGE_ADD_POINTER(value, valueToAdd) \
@@ -471,6 +470,7 @@ Q_INLINE_TEMPLATE T *QBasicAtomicPointer<T>::fetchAndAddRelease(qptrdiff valueTo
#undef QT_INTERLOCKED_PREFIX
#undef QT_INTERLOCKED_NO_VOLATILE
+#undef QT_INTERLOCKED_VOLATILE
#undef QT_INTERLOCKED_REMOVE_VOLATILE
#undef QT_INTERLOCKED_INCREMENT
diff --git a/src/corelib/arch/sparc/qatomic32.s b/src/corelib/arch/sparc/qatomic32.s
index f0ab0d1..6e6b199 100644
--- a/src/corelib/arch/sparc/qatomic32.s
+++ b/src/corelib/arch/sparc/qatomic32.s
@@ -1,3 +1,43 @@
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!
+!! Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+!! 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$
+!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.section ".text"
.align 4
diff --git a/src/corelib/arch/sparc/qatomic64.s b/src/corelib/arch/sparc/qatomic64.s
index edd1716..64560a0 100644
--- a/src/corelib/arch/sparc/qatomic64.s
+++ b/src/corelib/arch/sparc/qatomic64.s
@@ -1,3 +1,43 @@
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!
+!! Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+!! 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$
+!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.section ".text"
.align 4
diff --git a/src/corelib/arch/x86_64/qatomic_sun.s b/src/corelib/arch/x86_64/qatomic_sun.s
index 37969e6..4517fe4 100644
--- a/src/corelib/arch/x86_64/qatomic_sun.s
+++ b/src/corelib/arch/x86_64/qatomic_sun.s
@@ -1,3 +1,43 @@
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+!!
+!! Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+!! 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$
+!!
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.code64
.globl q_atomic_increment
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 935c99b..787eba7 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -1189,6 +1189,7 @@ bool qSharedBuild()
\value SV_S60_3_2 S60 3rd Edition Feature Pack 2
\value SV_S60_5_0 S60 5th Edition
\value SV_S60_Unknown An unknown and currently unsupported platform
+ \omitvalue SV_S60_None
\sa SymbianVersion, WinVersion, MacVersion
*/
diff --git a/src/corelib/global/qglobal.h b/src/corelib/global/qglobal.h
index c34fc31..a2c532f 100644
--- a/src/corelib/global/qglobal.h
+++ b/src/corelib/global/qglobal.h
@@ -1364,6 +1364,9 @@ inline void qt_noop() {}
#ifdef QT_BOOTSTRAPPED
# define QT_NO_EXCEPTIONS
#endif
+#if defined(Q_CC_GNU) && !defined (__EXCEPTIONS) && !defined(Q_MOC_RUN)
+# define QT_NO_EXCEPTIONS
+#endif
#ifdef QT_NO_EXCEPTIONS
# define QT_TRY if (true)
@@ -2161,7 +2164,7 @@ public:
inline bool operator!() const { return !i; }
- inline bool testFlag(Enum f) const { return (i & f) == f && (f != 0 || i == f ); }
+ inline bool testFlag(Enum f) const { return (i & f) == f && (f != 0 || i == int(f) ); }
};
#define Q_DECLARE_FLAGS(Flags, Enum)\
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index a6f5907..8f34e30 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -501,6 +501,8 @@ public:
WA_WState_AcceptedTouchBeginEvent = 122,
WA_TouchPadAcceptSingleTouchEvents = 123,
+ WA_DontUseStandardGestures = 124,
+
// Add new attributes before this line
WA_AttributeCount
};
@@ -1652,7 +1654,8 @@ public:
Pbuffer = 0x06, // GL pbuffer
FramebufferObject = 0x07, // GL framebuffer object
CustomRaster = 0x08,
- MacQuartz = 0x09
+ MacQuartz = 0x09,
+ PaintBuffer = 0x0a
};
enum RelayoutType {
RelayoutNormal,
diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc
index ace70ff..06eea68 100644
--- a/src/corelib/global/qnamespace.qdoc
+++ b/src/corelib/global/qnamespace.qdoc
@@ -612,6 +612,12 @@
*/
/*!
+ \enum Qt::CoordinateSystem
+ \value DeviceCoordinates
+ \value LogicalCoordinates
+ */
+
+/*!
\enum Qt::CaseSensitivity
\value CaseInsensitive
@@ -1216,6 +1222,8 @@
\value WA_TouchPadAcceptSingleTouchEvents Allows touchpad single
touch events to be sent to the widget.
+ \value WA_DontUseStandardGestures Disables standard gestures on Qt widgets.
+
\omitvalue WA_SetLayoutDirection
\omitvalue WA_InputMethodTransparent
\omitvalue WA_WState_CompressKeys
diff --git a/src/corelib/io/qfile_p.h b/src/corelib/io/qfile_p.h
index f35cdeb..781c6d5 100644
--- a/src/corelib/io/qfile_p.h
+++ b/src/corelib/io/qfile_p.h
@@ -72,7 +72,6 @@ protected:
QString fileName;
mutable QAbstractFileEngine *fileEngine;
- bool isOpen;
bool lastWasWrite;
QRingBuffer writeBuffer;
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 5ff0716..a5ed95c 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -89,7 +89,8 @@ typedef INT_PTR intptr_t;
# define INVALID_FILE_ATTRIBUTES (DWORD (-1))
#endif
-#if !defined(REPARSE_DATA_BUFFER_HEADER_SIZE) && !defined(Q_OS_WINCE)
+#if !defined(Q_OS_WINCE)
+# if !defined(REPARSE_DATA_BUFFER_HEADER_SIZE)
typedef struct _REPARSE_DATA_BUFFER {
ULONG ReparseTag;
USHORT ReparseDataLength;
@@ -115,8 +116,9 @@ typedef struct _REPARSE_DATA_BUFFER {
} GenericReparseBuffer;
};
} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;
+# define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
+# endif // !defined(REPARSE_DATA_BUFFER_HEADER_SIZE)
-# define REPARSE_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_DATA_BUFFER, GenericReparseBuffer)
# ifndef MAXIMUM_REPARSE_DATA_BUFFER_SIZE
# define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384
# endif
@@ -126,7 +128,7 @@ typedef struct _REPARSE_DATA_BUFFER {
# ifndef FSCTL_GET_REPARSE_POINT
# define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
# endif
-#endif
+#endif // !defined(Q_OS_WINCE)
QT_BEGIN_NAMESPACE
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 5b6830c..1e3b6eb 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -1572,7 +1572,7 @@ void QProcess::setProcessEnvironment(const QProcessEnvironment &environment)
\note The environment settings are ignored on Windows CE,
as there is no concept of an environment.
- \sa setProcessEnvironment(), setEnvironment(), QProcessEnvironment::isValid()
+ \sa setProcessEnvironment(), setEnvironment(), QProcessEnvironment::isEmpty()
*/
QProcessEnvironment QProcess::processEnvironment() const
{
diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp
index 72388b5..c70804a 100644
--- a/src/corelib/io/qtextstream.cpp
+++ b/src/corelib/io/qtextstream.cpp
@@ -937,7 +937,7 @@ inline bool QTextStreamPrivate::putString(const QString &s, bool number)
// handle padding
int padSize = fieldWidth - s.size();
if (padSize > 0) {
- QString pad(padSize > 0 ? padSize : 0, padChar);
+ QString pad(padSize, padChar);
if (fieldAlignment == QTextStream::AlignLeft) {
tmp.append(QString(padSize, padChar));
} else if (fieldAlignment == QTextStream::AlignRight
diff --git a/src/corelib/io/qtextstream.h b/src/corelib/io/qtextstream.h
index c922833..d83455a 100644
--- a/src/corelib/io/qtextstream.h
+++ b/src/corelib/io/qtextstream.h
@@ -274,7 +274,7 @@ class Q_CORE_EXPORT QTextStreamManipulator
{
public:
QTextStreamManipulator(QTSMFI m, int a) { mf = m; mc = 0; arg = a; }
- QTextStreamManipulator(QTSMFC m, QChar c) { mf = 0; mc = m; ch = c; }
+ QTextStreamManipulator(QTSMFC m, QChar c) { mf = 0; mc = m; ch = c; arg = -1; }
void exec(QTextStream &s) { if (mf) { (s.*mf)(arg); } else { (s.*mc)(ch); } }
private:
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 4d9d3b2..c0c97b8 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -3364,10 +3364,10 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
&& (currentThreadData != sender->d_func()->threadData
|| receiver->d_func()->threadData != sender->d_func()->threadData))
|| (c->connectionType == Qt::QueuedConnection)) {
- queued_activate(sender, signal_absolute_index, c, argv);
+ queued_activate(sender, signal_absolute_index, c, argv ? argv : empty_argv);
continue;
} else if (c->connectionType == Qt::BlockingQueuedConnection) {
- blocking_activate(sender, signal_absolute_index, c, argv);
+ blocking_activate(sender, signal_absolute_index, c, argv ? argv : empty_argv);
continue;
}
@@ -3442,7 +3442,7 @@ void QMetaObject::activate(QObject *sender, const QMetaObject *m, int local_sign
void QMetaObject::activate(QObject *sender, int signal_index, void **argv)
{
const QMetaObject *mo = sender->metaObject();
- while (mo && mo->methodOffset() > signal_index)
+ while (mo->methodOffset() > signal_index)
mo = mo->superClass();
activate(sender, mo, signal_index - mo->methodOffset(), argv);
}
@@ -3706,7 +3706,7 @@ void QObject::dumpObjectInfo()
const QMetaObject *mo = metaObject();
int signalOffset, methodOffset;
computeOffsets(mo, &signalOffset, &methodOffset);
- while (mo && signalOffset > signal_index) {
+ while (signalOffset > signal_index) {
mo = mo->superClass();
offsetToNextMetaObject = signalOffset;
computeOffsets(mo, &signalOffset, &methodOffset);
diff --git a/src/corelib/kernel/qsharedmemory_unix.cpp b/src/corelib/kernel/qsharedmemory_unix.cpp
index e411681..f62577e 100644
--- a/src/corelib/kernel/qsharedmemory_unix.cpp
+++ b/src/corelib/kernel/qsharedmemory_unix.cpp
@@ -283,7 +283,6 @@ bool QSharedMemoryPrivate::detach()
// If there are no attachments then remove it.
if (shmid_ds.shm_nattch == 0) {
// mark for removal
- struct shmid_ds shmid_ds;
if (-1 == shmctl(id, IPC_RMID, &shmid_ds)) {
setErrorString(QLatin1String("QSharedMemory::remove"));
switch (errno) {
diff --git a/src/corelib/statemachine/qsignaltransition.cpp b/src/corelib/statemachine/qsignaltransition.cpp
index ac2aac8..2fc6a58 100644
--- a/src/corelib/statemachine/qsignaltransition.cpp
+++ b/src/corelib/statemachine/qsignaltransition.cpp
@@ -249,17 +249,15 @@ void QSignalTransitionPrivate::callOnTransition(QEvent *e)
{
Q_Q(QSignalTransition);
- QSignalEvent *se = static_cast<QSignalEvent *>(e);
- int savedSignalIndex;
if (e->type() == QEvent::Signal) {
- savedSignalIndex = se->m_signalIndex;
+ QSignalEvent *se = static_cast<QSignalEvent *>(e);
+ int savedSignalIndex = se->m_signalIndex;
se->m_signalIndex = originalSignalIndex;
- }
-
- q->onTransition(e);
-
- if (e->type() == QEvent::Signal)
+ q->onTransition(e);
se->m_signalIndex = savedSignalIndex;
+ } else {
+ q->onTransition(e);
+ }
}
QT_END_NAMESPACE
diff --git a/src/corelib/tools/qbytearray.cpp b/src/corelib/tools/qbytearray.cpp
index 840f6a5..145b631 100644
--- a/src/corelib/tools/qbytearray.cpp
+++ b/src/corelib/tools/qbytearray.cpp
@@ -1467,8 +1467,19 @@ QByteArray &QByteArray::prepend(const QByteArray &ba)
QByteArray &QByteArray::prepend(const char *str)
{
+ return prepend(str, qstrlen(str));
+}
+
+/*!
+ \overload
+ \since 4.6
+
+ Prepends \a len bytes of the string \a str to this byte array.
+*/
+
+QByteArray &QByteArray::prepend(const char *str, int len)
+{
if (str) {
- int len = qstrlen(str);
if (d->ref != 1 || d->size + len > d->alloc)
realloc(qAllocMore(d->size + len, sizeof(Data)));
memmove(d->data+len, d->data, d->size);
@@ -1679,6 +1690,22 @@ QByteArray &QByteArray::insert(int i, const char *str)
/*!
\overload
+ \since 4.6
+
+ Inserts \a len bytes of the string \a str at position
+ \a i in the byte array.
+
+ If \a i is greater than size(), the array is first extended using
+ resize().
+*/
+
+QByteArray &QByteArray::insert(int i, const char *str, int len)
+{
+ return qbytearray_insert(this, i, str, len);
+}
+
+/*!
+ \overload
Inserts character \a ch at index position \a i in the byte array.
If \a i is greater than size(), the array is first extended using
@@ -4099,6 +4126,10 @@ QByteArray QByteArray::toPercentEncoding(const QByteArray &exclude, const QByteA
\internal
*/
+/*! \typedef QByteArray::value_type
+ \internal
+ */
+
/*!
\fn QByteArray::QByteArray(int size)
diff --git a/src/corelib/tools/qbytearray.h b/src/corelib/tools/qbytearray.h
index f7e790d..34dd44f 100644
--- a/src/corelib/tools/qbytearray.h
+++ b/src/corelib/tools/qbytearray.h
@@ -224,6 +224,7 @@ public:
QByteArray &prepend(char c);
QByteArray &prepend(const char *s);
+ QByteArray &prepend(const char *s, int len);
QByteArray &prepend(const QByteArray &a);
QByteArray &append(char c);
QByteArray &append(const char *s);
@@ -231,6 +232,7 @@ public:
QByteArray &append(const QByteArray &a);
QByteArray &insert(int i, char c);
QByteArray &insert(int i, const char *s);
+ QByteArray &insert(int i, const char *s, int len);
QByteArray &insert(int i, const QByteArray &a);
QByteArray &remove(int index, int len);
QByteArray &replace(int index, int len, const char *s);
diff --git a/src/corelib/tools/qcache.h b/src/corelib/tools/qcache.h
index b369e53..8621908 100644
--- a/src/corelib/tools/qcache.h
+++ b/src/corelib/tools/qcache.h
@@ -131,7 +131,7 @@ private:
template <class Key, class T>
inline QCache<Key, T>::QCache(int amaxCost)
- : f(0), l(0), mx(amaxCost), total(0) {}
+ : f(0), l(0), unused(0), mx(amaxCost), total(0) {}
template <class Key, class T>
inline void QCache<Key,T>::clear()
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index ded36c2..623d63e 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -636,6 +636,9 @@ static QString winSystemPMText()
return QString();
}
+/*!
+ Returns the fallback locale obtained from the system.
+ */
QLocale QSystemLocale::fallbackLocale() const
{
return QLocale(QString::fromLatin1(getWinLocaleName()));
diff --git a/src/corelib/tools/qscopedpointer.cpp b/src/corelib/tools/qscopedpointer.cpp
index 44238a8..7dcac71 100644
--- a/src/corelib/tools/qscopedpointer.cpp
+++ b/src/corelib/tools/qscopedpointer.cpp
@@ -219,4 +219,8 @@ QT_BEGIN_NAMESPACE
\sa isNull()
*/
+/*! \fn void QScopedPointer::swap(QScopedPointer<T, Cleanup> &other)
+ Swap this pointer with \a other.
+ */
+
QT_END_NAMESPACE
diff --git a/src/corelib/xml/make-parser.sh b/src/corelib/xml/make-parser.sh
index 0e2cbe1..e18dda3 100755
--- a/src/corelib/xml/make-parser.sh
+++ b/src/corelib/xml/make-parser.sh
@@ -1,4 +1,44 @@
#!/bin/sh
+#############################################################################
+##
+## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+## Contact: Nokia Corporation (qt-info@nokia.com)
+##
+## This file is the build configuration utility 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$
+##
+#############################################################################
me=$(dirname $0)
mkdir -p $me/out
diff --git a/src/corelib/xml/qxmlstream.g b/src/corelib/xml/qxmlstream.g
index b9659ba..39edcbc 100644
--- a/src/corelib/xml/qxmlstream.g
+++ b/src/corelib/xml/qxmlstream.g
@@ -37,9 +37,6 @@
--
-- $QT_END_LICENSE$
--
--- This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
--- WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
---
----------------------------------------------------------------------------
%parser QXmlStreamReader_Table
diff --git a/src/gui/accessible/qaccessible_mac_cocoa.mm b/src/gui/accessible/qaccessible_mac_cocoa.mm
index dd02f6c..9a50036 100644
--- a/src/gui/accessible/qaccessible_mac_cocoa.mm
+++ b/src/gui/accessible/qaccessible_mac_cocoa.mm
@@ -1,4 +1,3 @@
-
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
@@ -40,6 +39,7 @@
**
****************************************************************************/
+
#include "qaccessible.h"
#include "qaccessible_mac_p.h"
#include "qdebug.h"
diff --git a/src/gui/dialogs/qdialog_p.h b/src/gui/dialogs/qdialog_p.h
index 5239d09..a90d6e6 100644
--- a/src/gui/dialogs/qdialog_p.h
+++ b/src/gui/dialogs/qdialog_p.h
@@ -98,7 +98,7 @@ public:
#endif
#ifdef Q_WS_MAC
- virtual void mac_nativeDialogModalHelp(){};
+ virtual void mac_nativeDialogModalHelp() {}
#endif
int rescode;
diff --git a/src/gui/dialogs/qfiledialog_embedded.ui b/src/gui/dialogs/qfiledialog_embedded.ui
index 454af4b..f134f64 100644
--- a/src/gui/dialogs/qfiledialog_embedded.ui
+++ b/src/gui/dialogs/qfiledialog_embedded.ui
@@ -2,6 +2,7 @@
<comment>*********************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
@@ -37,9 +38,6 @@
**
** $QT_END_LICENSE$
**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
*********************************************************************</comment>
<class>QFileDialog</class>
<widget class="QDialog" name="QFileDialog" >
diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp
index 54e0046..cb19511 100644
--- a/src/gui/dialogs/qprintdialog_unix.cpp
+++ b/src/gui/dialogs/qprintdialog_unix.cpp
@@ -193,12 +193,12 @@ public:
description(desc),
selected(-1),
selDescription(0),
- parentItem(pi) {};
+ parentItem(pi) {}
~QOptionTreeItem() {
while (!childItems.isEmpty())
delete childItems.takeFirst();
- };
+ }
ItemType type;
int index;
@@ -238,8 +238,8 @@ class QPPDOptionsEditor : public QStyledItemDelegate
{
Q_OBJECT
public:
- QPPDOptionsEditor(QObject* parent = 0) : QStyledItemDelegate(parent) {};
- ~QPPDOptionsEditor() {};
+ QPPDOptionsEditor(QObject* parent = 0) : QStyledItemDelegate(parent) {}
+ ~QPPDOptionsEditor() {}
QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const;
void setEditorData(QWidget* editor, const QModelIndex& index) const;
diff --git a/src/gui/effects/qgraphicseffect.cpp b/src/gui/effects/qgraphicseffect.cpp
index f60e80e..6629a6d 100644
--- a/src/gui/effects/qgraphicseffect.cpp
+++ b/src/gui/effects/qgraphicseffect.cpp
@@ -256,7 +256,8 @@ QPixmap QGraphicsEffectSource::pixmap(Qt::CoordinateSystem system, QPoint *offse
}
/*!
- Constructs a new QGraphicsEffect instance.
+ Constructs a new QGraphicsEffect instance having the
+ specified \a parent.
*/
QGraphicsEffect::QGraphicsEffect(QObject *parent)
: QObject(*new QGraphicsEffectPrivate, parent)
diff --git a/src/gui/effects/qgraphicseffect.h b/src/gui/effects/qgraphicseffect.h
index aee7834..61aa21a 100644
--- a/src/gui/effects/qgraphicseffect.h
+++ b/src/gui/effects/qgraphicseffect.h
@@ -292,7 +292,7 @@ class QGraphicsOpacityEffectPrivate;
class Q_GUI_EXPORT QGraphicsOpacityEffect: public QGraphicsEffect
{
Q_OBJECT
- Q_PROPERTY(int opacity READ opacity WRITE setOpacity NOTIFY opacityChanged)
+ Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged)
Q_PROPERTY(QBrush opacityMask READ opacityMask WRITE setOpacityMask NOTIFY opacityMaskChanged)
public:
QGraphicsOpacityEffect(QObject *parent = 0);
diff --git a/src/gui/embedded/directfb.pri b/src/gui/embedded/directfb.pri
new file mode 100644
index 0000000..7dae9d5
--- /dev/null
+++ b/src/gui/embedded/directfb.pri
@@ -0,0 +1,39 @@
+# These defines might be necessary if your DirectFB driver doesn't
+# support all of the DirectFB API.
+#
+#DEFINES += QT_NO_DIRECTFB_SUBSURFACE
+#DEFINES += QT_DIRECTFB_WINDOW_AS_CURSOR
+#DEFINES += QT_NO_DIRECTFB_IMAGEPROVIDER
+#DEFINES += QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE
+#DEFINES += QT_DIRECTFB_IMAGECACHE
+#DEFINES += QT_NO_DIRECTFB_WM
+#DEFINES += QT_NO_DIRECTFB_LAYER
+#DEFINES += QT_NO_DIRECTFB_PALETTE
+#DEFINES += QT_NO_DIRECTFB_PREALLOCATED
+#DEFINES += QT_NO_DIRECTFB_MOUSE
+#DEFINES += QT_NO_DIRECTFB_KEYBOARD
+#DEFINES += QT_DIRECTFB_TIMING
+#DEFINES += QT_NO_DIRECTFB_OPAQUE_DETECTION
+#DIRECTFB_DRAWINGOPERATIONS=DRAW_RECTS|DRAW_LINES|DRAW_IMAGE|DRAW_PIXMAP|DRAW_TILED_PIXMAP|STROKE_PATH|DRAW_PATH|DRAW_POINTS|DRAW_ELLIPSE|DRAW_POLYGON|DRAW_TEXT|FILL_PATH|FILL_RECT|DRAW_COLORSPANS
+#DEFINES += \"QT_DIRECTFB_WARN_ON_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
+#DEFINES += \"QT_DIRECTFB_DISABLE_RASTERFALLBACKS=$$DIRECTFB_DRAWINGOPERATIONS\"
+
+HEADERS += $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.h \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
+
+SOURCES += $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp \
+ $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
+
+
+QMAKE_CXXFLAGS += $$QT_CFLAGS_DIRECTFB
+LIBS += $$QT_LIBS_DIRECTFB
diff --git a/src/gui/embedded/embedded.pri b/src/gui/embedded/embedded.pri
index 255a504..eb13d8d 100644
--- a/src/gui/embedded/embedded.pri
+++ b/src/gui/embedded/embedded.pri
@@ -139,6 +139,10 @@ embedded {
SOURCES += embedded/qscreentransformed_qws.cpp
}
+ contains( gfx-drivers, directfb ) {
+ INCLUDEPATH += $$QT_SOURCE_TREE/src/plugins/gfxdrivers/directfb
+ include($$PWD/directfb.pri)
+ }
#
# Keyboard drivers
#
diff --git a/src/gui/embedded/qscreendriverfactory_qws.cpp b/src/gui/embedded/qscreendriverfactory_qws.cpp
index 21058af..99ee8f2 100644
--- a/src/gui/embedded/qscreendriverfactory_qws.cpp
+++ b/src/gui/embedded/qscreendriverfactory_qws.cpp
@@ -51,7 +51,9 @@
#include <stdlib.h>
#include "private/qfactoryloader_p.h"
#include "qscreendriverplugin_qws.h"
-
+#ifndef QT_NO_QWS_DIRECTFB
+#include "qdirectfbscreen.h"
+#endif
#ifndef QT_NO_QWS_VNC
#include "qscreenvnc_qws.h"
#endif
@@ -118,6 +120,10 @@ QScreen *QScreenDriverFactory::create(const QString& key, int displayId)
if (driver == QLatin1String("linuxfb") || driver.isEmpty())
return new QLinuxFbScreen(displayId);
#endif
+#ifndef QT_NO_QWS_DIRECTFB
+ if (driver == QLatin1String("directfb") || driver.isEmpty())
+ return new QDirectFBScreen(displayId);
+#endif
#ifndef QT_NO_QWS_TRANSFORMED
if (driver == QLatin1String("transformed"))
return new QTransformedScreen(displayId);
@@ -130,7 +136,6 @@ QScreen *QScreenDriverFactory::create(const QString& key, int displayId)
if (driver == QLatin1String("multi"))
return new QMultiScreen(displayId);
#endif
-
#if !defined(Q_OS_WIN32) || defined(QT_MAKEDLL)
#ifndef QT_NO_LIBRARY
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
index 8065526..871f009 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
+++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.cpp
@@ -525,23 +525,33 @@ bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutP
endOfSequence = true;
}
}
- if (endOfSequence && candidates.count() >= 2) {
+ if (endOfSequence && candidates.count() >= 1) {
int i;
AnchorVertex *afterSequence= 0;
- QList<AnchorVertex *> adjacentOfSecondLastVertex = g.adjacentVertices(candidates.last());
- Q_ASSERT(adjacentOfSecondLastVertex.count() == 2);
- if (adjacentOfSecondLastVertex.first() == candidates.at(candidates.count() - 2))
- afterSequence = adjacentOfSecondLastVertex.last();
- else
- afterSequence = adjacentOfSecondLastVertex.first();
-
AnchorVertex *beforeSequence = 0;
- QList<AnchorVertex *> adjacentOfSecondVertex = g.adjacentVertices(candidates.first());
- Q_ASSERT(adjacentOfSecondVertex.count() == 2);
- if (adjacentOfSecondVertex.first() == candidates.at(1))
- beforeSequence = adjacentOfSecondVertex.last();
- else
- beforeSequence = adjacentOfSecondVertex.first();
+ // find the items before and after the valid sequence
+ if (candidates.count() == 1) {
+ QList<AnchorVertex *> beforeAndAfterVertices = g.adjacentVertices(candidates.at(0));
+ Q_ASSERT(beforeAndAfterVertices.count() == 2);
+ // Since we only have one vertex, we can pick
+ // any of the two vertices to become before/after.
+ afterSequence = beforeAndAfterVertices.last();
+ beforeSequence = beforeAndAfterVertices.first();
+ } else {
+ QList<AnchorVertex *> adjacentOfSecondLastVertex = g.adjacentVertices(candidates.last());
+ Q_ASSERT(adjacentOfSecondLastVertex.count() == 2);
+ if (adjacentOfSecondLastVertex.first() == candidates.at(candidates.count() - 2))
+ afterSequence = adjacentOfSecondLastVertex.last();
+ else
+ afterSequence = adjacentOfSecondLastVertex.first();
+
+ QList<AnchorVertex *> adjacentOfSecondVertex = g.adjacentVertices(candidates.first());
+ Q_ASSERT(adjacentOfSecondVertex.count() == 2);
+ if (adjacentOfSecondVertex.first() == candidates.at(1))
+ beforeSequence = adjacentOfSecondVertex.last();
+ else
+ beforeSequence = adjacentOfSecondVertex.first();
+ }
// The complete path of the sequence to simplify is: beforeSequence, <candidates>, afterSequence
// where beforeSequence and afterSequence are the endpoints where the anchor is inserted
// between.
@@ -583,34 +593,37 @@ bool QGraphicsAnchorLayoutPrivate::simplifyGraphIteration(QGraphicsAnchorLayoutP
// start and the end of the sequence. We never want to simplify internal
// center anchors where there is an external anchor connected to the center.
AnchorVertex *intervalVertexFrom = intervalFrom == 0 ? beforeSequence : candidates.at(intervalFrom - 1);
+ int effectiveIntervalFrom = intervalFrom;
if (intervalVertexFrom->m_edge == centerEdge
- && intervalVertexFrom->m_item == candidates.at(intervalFrom)->m_item) {
- ++intervalFrom;
- intervalVertexFrom = candidates.at(intervalFrom - 1);
+ && intervalVertexFrom->m_item == candidates.at(effectiveIntervalFrom)->m_item) {
+ ++effectiveIntervalFrom;
+ intervalVertexFrom = candidates.at(effectiveIntervalFrom - 1);
}
AnchorVertex *intervalVertexTo = intervalTo <= candidates.count() ? candidates.at(intervalTo - 1) : afterSequence;
+ int effectiveIntervalTo = intervalTo;
if (intervalVertexTo->m_edge == centerEdge
- && intervalVertexTo->m_item == candidates.at(intervalTo - 2)->m_item) {
- --intervalTo;
- intervalVertexTo = candidates.at(intervalTo - 1);
- }
-
- QVector<AnchorVertex*> subCandidates;
- if (forward) {
- subCandidates = candidates.mid(intervalFrom, intervalTo - intervalFrom - 1);
- } else {
- // reverse the order of the candidates.
- qSwap(intervalVertexFrom, intervalVertexTo);
- do {
- ++intervalFrom;
- subCandidates.prepend(candidates.at(intervalFrom - 1));
- } while (intervalFrom < intervalTo - 1);
+ && intervalVertexTo->m_item == candidates.at(effectiveIntervalTo - 2)->m_item) {
+ --effectiveIntervalTo;
+ intervalVertexTo = candidates.at(effectiveIntervalTo - 1);
}
- if (simplifySequentialChunk(&g, intervalVertexFrom, subCandidates, intervalVertexTo)) {
- dirty = true;
- break;
+ if (effectiveIntervalTo - effectiveIntervalFrom >= 2) {
+ QVector<AnchorVertex*> subCandidates;
+ if (forward) {
+ subCandidates = candidates.mid(effectiveIntervalFrom, effectiveIntervalTo - effectiveIntervalFrom - 1);
+ } else {
+ // reverse the order of the candidates.
+ qSwap(intervalVertexFrom, intervalVertexTo);
+ do {
+ ++effectiveIntervalFrom;
+ subCandidates.prepend(candidates.at(effectiveIntervalFrom - 1));
+ } while (effectiveIntervalFrom < effectiveIntervalTo - 1);
+ }
+ if (simplifySequentialChunk(&g, intervalVertexFrom, subCandidates, intervalVertexTo)) {
+ dirty = true;
+ break;
+ }
+ // finished simplification of chunk with same direction
}
- // finished simplification of chunk with same direction
}
if (forward == (prev == data->from))
--intervalTo;
diff --git a/src/gui/graphicsview/qgraphicsanchorlayout_p.h b/src/gui/graphicsview/qgraphicsanchorlayout_p.h
index b64f787..098407c 100644
--- a/src/gui/graphicsview/qgraphicsanchorlayout_p.h
+++ b/src/gui/graphicsview/qgraphicsanchorlayout_p.h
@@ -170,7 +170,7 @@ struct AnchorData : public QSimplexVariable {
skipInPreferred(0), type(Normal), hasSize(false),
isLayoutAnchor(false) {}
- virtual void updateChildrenSizes() { };
+ virtual void updateChildrenSizes() {}
virtual void refreshSizeHints(qreal effectiveSpacing);
virtual ~AnchorData() {}
@@ -299,7 +299,7 @@ struct ParallelAnchorData : public AnchorData
class GraphPath
{
public:
- GraphPath() {};
+ GraphPath() {}
QSimplexConstraint *constraint(const GraphPath &path) const;
#ifdef QT_DEBUG
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 822c208..cdcb0c4 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -198,20 +198,19 @@
\o hoverEnterEvent(), hoverMoveEvent(), and hoverLeaveEvent() handles
hover enter, move and leave events
\o inputMethodEvent() handles input events, for accessibility support
- \o keyPressEvent() and keyReleaseEvent handle key press and release events
+ \o keyPressEvent() and keyReleaseEvent() handle key press and release events
\o mousePressEvent(), mouseMoveEvent(), mouseReleaseEvent(), and
mouseDoubleClickEvent() handles mouse press, move, release, click and
doubleclick events
\endlist
- You can filter events for any other item by installing event
- filters. This functionaly is separate from from Qt's regular
- event filters (see QObject::installEventFilter()), which only
- work on subclasses of QObject. After installing your item as an
- event filter for another item by calling
- installSceneEventFilter(), the filtered events will be received
- by the virtual function sceneEventFilter(). You can remove item
- event filters by calling removeSceneEventFilter().
+ You can filter events for any other item by installing event filters. This
+ functionality is separate from Qt's regular event filters (see
+ QObject::installEventFilter()), which only work on subclasses of QObject. After
+ installing your item as an event filter for another item by calling
+ installSceneEventFilter(), the filtered events will be received by the virtual
+ function sceneEventFilter(). You can remove item event filters by calling
+ removeSceneEventFilter().
\section1 Custom Data
@@ -304,13 +303,17 @@
drop shadow effects and for decoration objects that follow the parent
item's geometry without drawing on top of it.
- \value ItemUsesExtendedStyleOption The item makes use of either the
- exposedRect or matrix member of the QStyleOptionGraphicsItem. Implementers
- of QGraphicsItem subclasses should set that flag if this data is required.
- By default, the exposedRect is initialized to the item's boundingRect and
- the matrix is untransformed. Enable this flag for more fine-grained values.
- Use QStyleOptionGraphicsItem::levelOfDetailFromTransform() for a more
- fine-grained value.
+ \value ItemUsesExtendedStyleOption The item makes use of either
+ \l{QStyleOptionGraphicsItem::}{exposedRect} or
+ \l{QStyleOptionGraphicsItem::}{matrix} in QStyleOptionGraphicsItem. By default,
+ the \l{QStyleOptionGraphicsItem::}{exposedRect} is initialized to the item's
+ boundingRect() and the \l{QStyleOptionGraphicsItem::}{matrix} is untransformed.
+ You can enable this flag for the style options to be set up with more
+ fine-grained values.
+ Note that QStyleOptionGraphicsItem::levelOfDetail is unaffected by this flag
+ and always initialized to 1. Use
+ QStyleOptionGraphicsItem::levelOfDetailFromTransform() if you need a higher
+ value.
\value ItemHasNoContents The item does not paint anything (i.e., calling
paint() on the item has no effect). You should set this flag on items that
@@ -414,11 +417,11 @@
(same as transform()), and QGraphicsItem ignores the return value for this
notification (i.e., a read-only notification).
- \value ItemSelectedChange The item's selected state changes. If the item
- is presently selected, it will become unselected, and vice verca. The
- value argument is the new selected state (i.e., true or false). Do not
- call setSelected() in itemChange() as this notification is delivered();
- instead, you can return the new selected state from itemChange().
+ \value ItemSelectedChange The item's selected state changes. If the item is
+ presently selected, it will become unselected, and vice verca. The value
+ argument is the new selected state (i.e., true or false). Do not call
+ setSelected() in itemChange() as this notification is delivered; instead, you
+ can return the new selected state from itemChange().
\value ItemSelectedHasChanged The item's selected state has changed. The
value argument is the new selected state (i.e., true or false). Do not
@@ -10358,10 +10361,14 @@ QPixmap QGraphicsItemEffectSourcePrivate::pixmap(Qt::CoordinateSystem system, QP
effectRect.setY(0);
}
// NB! We use +-1 for historical reasons (see QRect documentation).
- if (right + 1 > info->widget->width())
- effectRect.setRight(info->widget->width() - 1);
- if (bottom + 1 > info->widget->height())
- effectRect.setBottom(info->widget->height() -1);
+ QPaintDevice *device = info->painter->device();
+ const int deviceWidth = device->width();
+ const int deviceHeight = device->height();
+ if (right + 1 > deviceWidth)
+ effectRect.setRight(deviceWidth - 1);
+ if (bottom + 1 > deviceHeight)
+ effectRect.setBottom(deviceHeight -1);
+
}
if (effectRect.isEmpty())
diff --git a/src/gui/graphicsview/qgraphicsitem_p.h b/src/gui/graphicsview/qgraphicsitem_p.h
index 49361cf..1bf8993 100644
--- a/src/gui/graphicsview/qgraphicsitem_p.h
+++ b/src/gui/graphicsview/qgraphicsitem_p.h
@@ -517,17 +517,20 @@ struct QGraphicsItemPrivate::TransformData
return transform * *postmultiplyTransform;
}
- QMatrix4x4 x(transform);
- for (int i = 0; i < graphicsTransforms.size(); ++i)
- graphicsTransforms.at(i)->applyTo(&x);
+ QTransform x(transform);
+ if (!graphicsTransforms.isEmpty()) {
+ QMatrix4x4 m;
+ for (int i = 0; i < graphicsTransforms.size(); ++i)
+ graphicsTransforms.at(i)->applyTo(&m);
+ x *= m.toTransform();
+ }
x.translate(xOrigin, yOrigin);
- x.rotate(rotation, 0, 0, 1);
- x.scale(scale);
+ x.rotate(rotation);
+ x.scale(scale, scale);
x.translate(-xOrigin, -yOrigin);
- QTransform t = x.toTransform(); // project the 3D matrix back to 2D.
if (postmultiplyTransform)
- t *= *postmultiplyTransform;
- return t;
+ x *= *postmultiplyTransform;
+ return x;
}
};
diff --git a/src/gui/graphicsview/qgraphicsscene.cpp b/src/gui/graphicsview/qgraphicsscene.cpp
index 2ac1dca..5dd71e2 100644
--- a/src/gui/graphicsview/qgraphicsscene.cpp
+++ b/src/gui/graphicsview/qgraphicsscene.cpp
@@ -4616,7 +4616,8 @@ void QGraphicsScenePrivate::markDirty(QGraphicsItem *item, const QRectF &rect, b
return;
}
- bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents;
+ bool hasNoContents = item->d_ptr->flags & QGraphicsItem::ItemHasNoContents
+ && !item->d_ptr->graphicsEffect;
if (!hasNoContents) {
item->d_ptr->dirty = 1;
if (fullItemUpdate)
@@ -4706,11 +4707,15 @@ void QGraphicsScenePrivate::processDirtyItemsRecursive(QGraphicsItem *item, bool
return;
}
- const bool itemHasContents = !(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents);
+ bool itemHasContents = !(item->d_ptr->flags & QGraphicsItem::ItemHasNoContents);
const bool itemHasChildren = !item->d_ptr->children.isEmpty();
- if (!itemHasContents && !itemHasChildren) {
- resetDirtyItem(item);
- return; // Item has neither contents nor children!(?)
+ if (!itemHasContents) {
+ if (!itemHasChildren) {
+ resetDirtyItem(item);
+ return; // Item has neither contents nor children!(?)
+ }
+ if (item->d_ptr->graphicsEffect)
+ itemHasContents = true;
}
const qreal opacity = item->d_ptr->combineOpacityFromParent(parentOpacity);
diff --git a/src/gui/graphicsview/qsimplex_p.h b/src/gui/graphicsview/qsimplex_p.h
index 9ee3863..eac74ac 100644
--- a/src/gui/graphicsview/qsimplex_p.h
+++ b/src/gui/graphicsview/qsimplex_p.h
@@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE
struct QSimplexVariable
{
- QSimplexVariable() : result(0), index(0) {};
+ QSimplexVariable() : result(0), index(0) {}
qreal result;
uint index;
@@ -80,7 +80,7 @@ struct QSimplexVariable
*/
struct QSimplexConstraint
{
- QSimplexConstraint() : constant(0), ratio(Equal), artificial(0) {};
+ QSimplexConstraint() : constant(0), ratio(Equal), artificial(0) {}
enum Ratio {
LessOrEqual = 0,
diff --git a/src/gui/gui.pro b/src/gui/gui.pro
index eb3a33f..7c24002 100644
--- a/src/gui/gui.pro
+++ b/src/gui/gui.pro
@@ -17,7 +17,10 @@ x11:include(kernel/x11.pri)
mac:include(kernel/mac.pri)
win32:include(kernel/win.pri)
embedded:include(embedded/embedded.pri)
-symbian:include(kernel/symbian.pri)
+symbian {
+ include(kernel/symbian.pri)
+ include(s60framework/s60framework.pri)
+}
#modules
include(animation/animation.pri)
diff --git a/src/gui/image/qbitmap.cpp b/src/gui/image/qbitmap.cpp
index 8c3b9be..b5ffeed 100644
--- a/src/gui/image/qbitmap.cpp
+++ b/src/gui/image/qbitmap.cpp
@@ -92,13 +92,15 @@ QT_BEGIN_NAMESPACE
\sa QPixmap, QImage, QImageReader, QImageWriter
*/
+/*! \typedef QBitmap::DataPtr
+ \internal
+ */
/*!
Constructs a null bitmap.
\sa QPixmap::isNull()
*/
-
QBitmap::QBitmap()
: QPixmap(QSize(0, 0), QPixmapData::BitmapType)
{
diff --git a/src/gui/image/qicon.cpp b/src/gui/image/qicon.cpp
index e23677f..1140cd8 100644
--- a/src/gui/image/qicon.cpp
+++ b/src/gui/image/qicon.cpp
@@ -879,20 +879,20 @@ void QIcon::setThemeSearchPaths(const QStringList &paths)
}
/*!
- \since 4.6
+ \since 4.6
- Returns the search paths for icon themes.
+ Returns the search paths for icon themes.
- The default value will depend on the platform:
+ The default value will depend on the platform:
- On X11, the search path will use the XDG_DATA_DIRS environment
- variable if available.
+ On X11, the search path will use the XDG_DATA_DIRS environment
+ variable if available.
- By default all platforms will have the resource directory
- ":\icons" as their fallback. You can use "rcc -project"
- to generate a resource file from your icon theme.
+ By default all platforms will have the resource directory
+ \c{:\icons} as a fallback. You can use "rcc -project" to generate a
+ resource file from your icon theme.
- \sa setThemeSearchPaths(), fromTheme(), setThemeName()
+ \sa setThemeSearchPaths(), fromTheme(), setThemeName()
*/
QStringList QIcon::themeSearchPaths()
{
diff --git a/src/gui/image/qiconloader_p.h b/src/gui/image/qiconloader_p.h
index ba05a54..8c1cd4e 100644
--- a/src/gui/image/qiconloader_p.h
+++ b/src/gui/image/qiconloader_p.h
@@ -139,7 +139,7 @@ class QIconTheme
{
public:
QIconTheme(const QString &name);
- QIconTheme() : m_valid(false) {};
+ QIconTheme() : m_valid(false) {}
QStringList parents() { return m_parents; }
QList <QIconDirInfo> keyList() { return m_keyList; }
QString contentDir() { return m_contentDir; }
diff --git a/src/gui/inputmethod/qinputcontext.cpp b/src/gui/inputmethod/qinputcontext.cpp
index 2422355..ed30810 100644
--- a/src/gui/inputmethod/qinputcontext.cpp
+++ b/src/gui/inputmethod/qinputcontext.cpp
@@ -176,7 +176,7 @@ QWidget *QInputContext::focusWidget() const
/*!
- Sets the widget that has an input focus for this input context.
+ Sets the \a widget that has an input focus for this input context.
\warning Ordinary input methods must not call this function
directly.
diff --git a/src/gui/itemviews/qabstractitemview.cpp b/src/gui/itemviews/qabstractitemview.cpp
index 07c5454..ea98cb2 100644
--- a/src/gui/itemviews/qabstractitemview.cpp
+++ b/src/gui/itemviews/qabstractitemview.cpp
@@ -956,6 +956,7 @@ QModelIndex QAbstractItemView::currentIndex() const
void QAbstractItemView::reset()
{
Q_D(QAbstractItemView);
+ d->delayedReset.stop(); //make sure we stop the timer
QList<QEditorInfo>::const_iterator it = d->editors.constBegin();
for (; it != d->editors.constEnd(); ++it)
d->releaseEditor(it->editor);
@@ -2208,7 +2209,9 @@ void QAbstractItemView::timerEvent(QTimerEvent *event)
Q_D(QAbstractItemView);
if (event->timerId() == d->fetchMoreTimer.timerId())
d->fetchMore();
- if (event->timerId() == d->autoScrollTimer.timerId())
+ else if (event->timerId() == d->delayedReset.timerId())
+ reset();
+ else if (event->timerId() == d->autoScrollTimer.timerId())
doAutoScroll();
else if (event->timerId() == d->updateTimer.timerId())
d->updateDirtyRegion();
@@ -3132,9 +3135,8 @@ void QAbstractItemViewPrivate::_q_columnsInserted(const QModelIndex &, int, int)
*/
void QAbstractItemViewPrivate::_q_modelDestroyed()
{
- Q_Q(QAbstractItemView);
model = QAbstractItemModelPrivate::staticEmptyModel();
- QMetaObject::invokeMethod(q, "reset", Qt::QueuedConnection);
+ doDelayedReset();
}
/*!
diff --git a/src/gui/itemviews/qabstractitemview_p.h b/src/gui/itemviews/qabstractitemview_p.h
index 4517941..434d644 100644
--- a/src/gui/itemviews/qabstractitemview_p.h
+++ b/src/gui/itemviews/qabstractitemview_p.h
@@ -328,6 +328,15 @@ public:
QStyleOptionViewItemV4 viewOptionsV4() const;
+ void doDelayedReset()
+ {
+ //we delay the reset of the timer because some views (QTableView)
+ //with headers can't handle the fact that the model has been destroyed
+ //all _q_modelDestroyed slots must have been called
+ if (!delayedReset.isActive())
+ delayedReset.start(0, q_func());
+ }
+
QAbstractItemModel *model;
QPointer<QAbstractItemDelegate> itemDelegate;
QMap<int, QPointer<QAbstractItemDelegate> > rowDelegates;
@@ -389,6 +398,7 @@ public:
QBasicTimer updateTimer;
QBasicTimer delayedEditing;
QBasicTimer delayedAutoScroll; //used when an item is clicked
+ QBasicTimer delayedReset;
QAbstractItemView::ScrollMode verticalScrollMode;
QAbstractItemView::ScrollMode horizontalScrollMode;
diff --git a/src/gui/itemviews/qcolumnview_p.h b/src/gui/itemviews/qcolumnview_p.h
index 97def07..ca1d334 100644
--- a/src/gui/itemviews/qcolumnview_p.h
+++ b/src/gui/itemviews/qcolumnview_p.h
@@ -174,8 +174,8 @@ class QColumnViewDelegate : public QItemDelegate
{
public:
- explicit QColumnViewDelegate(QObject *parent = 0) : QItemDelegate(parent) {};
- ~QColumnViewDelegate() {};
+ explicit QColumnViewDelegate(QObject *parent = 0) : QItemDelegate(parent) {}
+ ~QColumnViewDelegate() {}
void paint(QPainter *painter,
const QStyleOptionViewItem &option,
diff --git a/src/gui/itemviews/qtreewidget.cpp b/src/gui/itemviews/qtreewidget.cpp
index 7d6439f..6a7b27c 100644
--- a/src/gui/itemviews/qtreewidget.cpp
+++ b/src/gui/itemviews/qtreewidget.cpp
@@ -622,6 +622,10 @@ void QTreeModel::ensureSorted(int column, Qt::SortOrder order,
QTreeWidgetItem *item = lst.takeAt(oldRow);
lit = sortedInsertionIterator(lit, lst.end(), order, item);
int newRow = qMax(lit - lst.begin(), 0);
+
+ if ((newRow < oldRow) && !(*item < *lst.at(oldRow - 1)))
+ newRow = oldRow;
+
lit = lst.insert(lit, item);
if (newRow != oldRow) {
// we are going to change the persistent indexes, so we need to prepare
@@ -2074,7 +2078,7 @@ void QTreeWidgetItemPrivate::sortChildren(int column, Qt::SortOrder order, bool
{
QTreeModel *model = (q->view ? qobject_cast<QTreeModel*>(q->view->model()) : 0);
if (!model)
- return;
+ return;
model->sortItems(&q->children, column, order);
if (climb) {
QList<QTreeWidgetItem*>::iterator it = q->children.begin();
diff --git a/src/gui/kernel/qaction.cpp b/src/gui/kernel/qaction.cpp
index d2a25fd..2a28c71 100644
--- a/src/gui/kernel/qaction.cpp
+++ b/src/gui/kernel/qaction.cpp
@@ -269,6 +269,26 @@ void QActionPrivate::setShortcutEnabled(bool enable, QShortcutMap &map)
MenuRole for the actions in that submenu have no effect. They will never be moved.
*/
+/*! \enum QAction::SoftKeyRole
+ \value OptionsSoftKey
+ \value SelectSoftKey
+ \value BackSoftKey
+ \value NextSoftKey
+ \value PreviousSoftKey
+ \value OkSoftKey
+ \value CancelSoftKey
+ \value EditSoftKey
+ \value ViewSoftKey
+ \value BackSpaceSoftKey
+ \value EndEditSoftKey
+ \value RevertEditSoftKey
+ \value DeselectSoftKey
+ \value FinishSoftKey
+ \value MenuSoftKey
+ \value ContextMenuSoftKey
+ \value ExitSoftKey
+ */
+
/*!
Constructs an action with \a parent. If \a parent is an action
group the action will be automatically inserted into the group.
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index f049a58..511c797 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -3625,6 +3625,7 @@ bool QApplication::notify(QObject *receiver, QEvent *e)
case QEvent::MouseButtonRelease:
case QEvent::MouseButtonDblClick:
d->toolTipFallAsleep.stop();
+ // fall-through
case QEvent::Leave:
d->toolTipWakeUp.stop();
default:
diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h
index 92cf0f8..f1e3cb0 100644
--- a/src/gui/kernel/qapplication.h
+++ b/src/gui/kernel/qapplication.h
@@ -327,7 +327,7 @@ public:
{ if (replace) changeOverrideCursor(cursor); else setOverrideCursor(cursor); }
# endif
inline static QT3_SUPPORT bool hasGlobalMouseTracking() {return true;}
- inline static QT3_SUPPORT void setGlobalMouseTracking(bool) {};
+ inline static QT3_SUPPORT void setGlobalMouseTracking(bool) {}
inline static QT3_SUPPORT void flushX() { flush(); }
static inline QT3_SUPPORT void setWinStyleHighlightColor(const QColor &c) {
QPalette p(palette());
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 1bbf332..220b222 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -63,10 +63,13 @@
#include "apgwgnam.h" // For CApaWindowGroupName
#include <MdaAudioTonePlayer.h> // For CMdaAudioToneUtility
-#if !defined(QT_NO_IM) && defined(Q_WS_S60)
-#include "qinputcontext.h"
-#include <private/qcoefepinputcontext_p.h>
-#endif // !defined(QT_NO_IM) && defined(Q_WS_S60)
+#if defined(Q_WS_S60)
+# if !defined(QT_NO_IM)
+# include "qinputcontext.h"
+# include <private/qcoefepinputcontext_p.h>
+# endif
+# include <private/qs60mainapplication_p.h>
+#endif
#include "private/qstylesheetstyle_p.h"
@@ -347,21 +350,21 @@ void QSymbianControl::HandleLongTapEventL( const TPoint& aPenEventLocation, cons
QApplicationPrivate::mouse_buttons = QApplicationPrivate::mouse_buttons | Qt::RightButton;
QMouseEvent mEvent(QEvent::MouseButtonPress, alienWidget->mapFrom(qwidget, widgetPos), globalPos,
Qt::RightButton, QApplicationPrivate::mouse_buttons, Qt::NoModifier);
-
+
bool res = sendMouseEvent(alienWidget, &mEvent);
#if !defined(QT_NO_CONTEXTMENU)
QContextMenuEvent contextMenuEvent(QContextMenuEvent::Mouse, widgetPos, globalPos, mEvent.modifiers());
qt_sendSpontaneousEvent(alienWidget, &contextMenuEvent);
-#endif
-
+#endif
+
m_previousEventLongTap = true;
}
void QSymbianControl::HandlePointerEventL(const TPointerEvent& pEvent)
{
m_longTapDetector->PointerEventL(pEvent);
- QT_TRYCATCH_LEAVING(HandlePointerEvent(pEvent));
+ QT_TRYCATCH_LEAVING(HandlePointerEvent(pEvent));
}
void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent)
@@ -396,15 +399,6 @@ void QSymbianControl::HandlePointerEvent(const TPointerEvent& pEvent)
if (!alienWidget)
alienWidget = qwidget;
S60->mousePressTarget = alienWidget;
- //pointer grab
- SetGloballyCapturing(ETrue);
- SetPointerCapture(ETrue);
- }
- else if (type == QEvent::MouseButtonRelease)
- {
- //release pointer grab
- SetGloballyCapturing(EFalse);
- SetPointerCapture(EFalse);
}
alienWidget = S60->mousePressTarget;
@@ -724,6 +718,22 @@ TTypeUid::Ptr QSymbianControl::MopSupplyObject(TTypeUid id)
void qt_init(QApplicationPrivate * /* priv */, int)
{
+ if (!CCoeEnv::Static()) {
+ // The S60 framework has not been initalized. We need to do it.
+ TApaApplicationFactory factory(NewApplication);
+ CApaCommandLine* commandLine = 0;
+ TInt err = CApaCommandLine::GetCommandLineFromProcessEnvironment(commandLine);
+ // After this construction, CEikonEnv will be available from CEikonEnv::Static().
+ // (much like our qApp).
+ CEikonEnv* coe = new CEikonEnv;
+ QT_TRAP_THROWING(coe->ConstructAppFromCommandLineL(factory,*commandLine));
+ delete commandLine;
+
+ S60->qtOwnsS60Environment = true;
+ } else {
+ S60->qtOwnsS60Environment = false;
+ }
+
#ifdef QT_NO_DEBUG
if (!qgetenv("QT_S60_AUTO_FLUSH_WSERV").isEmpty())
#endif
@@ -775,6 +785,13 @@ void qt_cleanup()
// it dies.
delete QApplicationPrivate::inputContext;
QApplicationPrivate::inputContext = 0;
+
+ if (S60->qtOwnsS60Environment) {
+ CEikonEnv* coe = CEikonEnv::Static();
+ coe->PrepareToExit();
+ // The CEikonEnv itself is destroyed in here.
+ coe->DestroyEnvironment();
+ }
}
void QApplicationPrivate::initializeWidgetPaletteHash()
@@ -801,14 +818,27 @@ bool QApplicationPrivate::modalState()
void QApplicationPrivate::enterModal_sys(QWidget *widget)
{
+ if (widget) {
+ widget->effectiveWinId()->DrawableWindow()->FadeBehind(ETrue);
+ // Modal partial screen dialogs (like queries) capture pointer events.
+ // ### FixMe: Add specialized behaviour for fullscreen modal dialogs
+ widget->effectiveWinId()->SetGloballyCapturing(ETrue);
+ widget->effectiveWinId()->SetPointerCapture(ETrue);
+ }
if (!qt_modal_stack)
qt_modal_stack = new QWidgetList;
qt_modal_stack->insert(0, widget);
- app_do_modal = true;
+ app_do_modal = true;
}
void QApplicationPrivate::leaveModal_sys(QWidget *widget)
{
+ if (widget) {
+ widget->effectiveWinId()->DrawableWindow()->FadeBehind(EFalse);
+ // ### FixMe: Add specialized behaviour for fullscreen modal dialogs
+ widget->effectiveWinId()->SetGloballyCapturing(EFalse);
+ widget->effectiveWinId()->SetPointerCapture(EFalse);
+ }
if (qt_modal_stack && qt_modal_stack->removeAll(widget)) {
if (qt_modal_stack->isEmpty()) {
delete qt_modal_stack;
@@ -824,18 +854,31 @@ void QApplicationPrivate::openPopup(QWidget *popup)
QApplicationPrivate::popupWidgets = new QWidgetList;
QApplicationPrivate::popupWidgets->append(popup);
- if (QApplicationPrivate::popupWidgets->count() == 1 && !qt_nograb()) {
+
+ // Cancel focus widget pointer capture and long tap timer
+ if (QApplication::focusWidget()) {
+ static_cast<QSymbianControl*>(QApplication::focusWidget()->effectiveWinId())->CancelLongTapTimer();
+ QApplication::focusWidget()->effectiveWinId()->SetPointerCapture(false);
+ }
+
+ if (!qt_nograb()) {
+ // Cancel pointer capture and long tap timer for earlier popup
+ int popupCount = QApplicationPrivate::popupWidgets->count();
+ if (popupCount > 1) {
+ QWidget* prevPopup = QApplicationPrivate::popupWidgets->at(popupCount-2);
+ static_cast<QSymbianControl*>(prevPopup->effectiveWinId())->CancelLongTapTimer();
+ prevPopup->effectiveWinId()->SetPointerCapture(false);
+ }
+
+ // Enable pointer capture for this (topmost) popup
Q_ASSERT(popup->testAttribute(Qt::WA_WState_Created));
WId id = popup->effectiveWinId();
id->SetPointerCapture(true);
- id->SetGloballyCapturing(true);
}
// popups are not focus-handled by the window system (the first
// popup grabbed the keyboard), so we have to do that manually: A
// new popup gets the focus
- if (QApplication::focusWidget())
- static_cast<QSymbianControl*>(QApplication::focusWidget()->effectiveWinId())->CancelLongTapTimer();
QWidget *fw = popup->focusWidget();
if (fw) {
fw->setFocus(Qt::PopupFocusReason);
@@ -854,14 +897,16 @@ void QApplicationPrivate::closePopup(QWidget *popup)
return;
QApplicationPrivate::popupWidgets->removeAll(popup);
+ // Cancel pointer capture and long tap for this popup
+ WId id = popup->effectiveWinId();
+ id->SetPointerCapture(false);
+ static_cast<QSymbianControl*>(id)->CancelLongTapTimer();
+
if (QApplicationPrivate::popupWidgets->isEmpty()) { // this was the last popup
delete QApplicationPrivate::popupWidgets;
QApplicationPrivate::popupWidgets = 0;
if (!qt_nograb()) { // grabbing not disabled
Q_ASSERT(popup->testAttribute(Qt::WA_WState_Created));
- WId id = popup->effectiveWinId();
- id->SetPointerCapture(false);
- id->SetGloballyCapturing(false);
if (QWidgetPrivate::mouseGrabber != 0)
QWidgetPrivate::mouseGrabber->grabMouse();
@@ -880,6 +925,7 @@ void QApplicationPrivate::closePopup(QWidget *popup)
}
}
} else {
+
// popups are not focus-handled by the window system (the
// first popup grabbed the keyboard), so we have to do that
// manually: A popup was closed, so the previous popup gets
@@ -889,6 +935,11 @@ void QApplicationPrivate::closePopup(QWidget *popup)
QFocusEvent e(QEvent::FocusOut, Qt::PopupFocusReason);
q_func()->sendEvent(fw, &e);
}
+
+ // Enable pointer capture for previous popup
+ if (aw) {
+ aw->effectiveWinId()->SetPointerCapture(true);
+ }
}
}
@@ -972,11 +1023,14 @@ void QApplication::beep()
beep=NULL;
}
-/*! \fn int QApplication::s60ProcessEvent(TWsEvent *event)
- This function does the core processing of individual s60
- \a{event}s. It returns 1 if the event was handled, 0 if
+/*!
+ \warning This function is only available on Symbian.
+
+ This function processes an individual Symbian window server
+ \a event. It returns 1 if the event was handled, 0 if
the \a event was not handled, and -1 if the event was
- not handled because the event handle was not in the map.
+ not handled because the event handle (\c{TWsEvent::Handle()})
+ is not known to Qt.
*/
int QApplication::s60ProcessEvent(TWsEvent *event)
{
@@ -1065,7 +1119,16 @@ int QApplication::s60ProcessEvent(TWsEvent *event)
}
/*!
- Returns false. Does nothing with the TWsEvent \a aEvent.
+ \warning This virtual function is only available on Symbian.
+
+ If you create an application that inherits QApplication and reimplement
+ this function, you get direct access to events that the are received
+ from the Symbian window server. The events are passed in the TWsEvent
+ \a aEvent parameter.
+
+ Return true if you want to stop the event from being processed. Return
+ false for normal event dispatching. The default implementation
+ false, and does nothing with \a aEvent.
*/
bool QApplication::s60EventFilter(TWsEvent * /* aEvent */)
{
@@ -1073,9 +1136,11 @@ bool QApplication::s60EventFilter(TWsEvent * /* aEvent */)
}
/*!
+ \warning This function is only available on Symbian.
+
Handles \a{command}s which are typically handled by
CAknAppUi::HandleCommandL(). Qts Ui integration into Symbian is
- partially achieved by deriving from CAknAppUi. Currently, exit,
+ partially achieved by deriving from CAknAppUi. Currently, exit,
menu and softkey commands are handled.
\sa s60EventFilter(), s60ProcessEvent()
@@ -1107,7 +1172,12 @@ void QApplication::symbianHandleCommand(int command)
}
/*!
+ \warning This function is only available on Symbian.
+
Handles the resource change specified by \a type.
+
+ Currently, KEikDynamicLayoutVariantSwitch and
+ KAknsMessageSkinChange are handled.
*/
void QApplication::symbianResourceChange(int type)
{
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp
index a3de120..729b791 100644
--- a/src/gui/kernel/qapplication_win.cpp
+++ b/src/gui/kernel/qapplication_win.cpp
@@ -1903,11 +1903,9 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
QHideEvent e;
qt_sendSpontaneousEvent(widget, &e);
widget->hideChildren(true);
-#ifndef Q_WS_WINCE
const QString title = widget->windowIconText();
if (!title.isEmpty())
widget->setWindowTitle_helper(title);
-#endif
}
result = false;
break;
@@ -1926,11 +1924,9 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
widget->showChildren(true);
QShowEvent e;
qt_sendSpontaneousEvent(widget, &e);
-#ifndef Q_WS_WINCE
const QString title = widget->windowTitle();
if (!title.isEmpty())
widget->setWindowTitle_helper(title);
-#endif
}
result = false;
break;
@@ -1943,7 +1939,7 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
QWindowStateChangeEvent e(oldstate);
qt_sendSpontaneousEvent(widget, &e);
}
-#endif
+#endif // #ifndef Q_OS_WINCE
break;
}
@@ -2030,13 +2026,15 @@ LRESULT CALLBACK QtWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam
// WM_ACTIVATEAPP handles the "true" false case, as this is only when the application
// loses focus. Doing it here would result in the widget getting focus to not know
// where it got it from; it would simply get a 0 value as the old focus widget.
-#ifndef Q_WS_WINCE_WM
- if (!(widget->windowState() & Qt::WindowMinimized)) {
- // Ignore the activate message send by WindowsXP to a minimized window
-#else
+#ifdef Q_WS_WINCE
{
if (widget->windowState() & Qt::WindowMinimized)
widget->dataPtr()->window_state &= ~Qt::WindowMinimized;
+#else
+ if (!(widget->windowState() & Qt::WindowMinimized)) {
+#endif
+ // Ignore the activate message send by WindowsXP to a minimized window
+#ifdef Q_WS_WINCE_WM
if (widget->windowState() & Qt::WindowFullScreen)
qt_wince_hide_taskbar(widget->winId());
#endif
diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 0056b9e..a7a6504 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -79,6 +79,7 @@
#include <private/qcolor_p.h>
#include <private/qcursor_p.h>
#include <private/qiconloader_p.h>
+#include <private/gtksymbols_p.h>
#include "qstyle.h"
#include "qmetaobject.h"
#include "qtimer.h"
@@ -2287,6 +2288,12 @@ void qt_init(QApplicationPrivate *priv, int,
if (X11->desktopEnvironment == DE_KDE)
X11->desktopVersion = QString::fromLocal8Bit(qgetenv("KDE_SESSION_VERSION")).toInt();
+#if !defined(QT_NO_STYLE_GTK)
+ if (X11->desktopEnvironment == DE_GNOME) {
+ static bool menusHaveIcons = QGtk::getGConfBool(QLatin1String("/desktop/gnome/interface/menus_have_icons"), true);
+ QApplication::setAttribute(Qt::AA_DontShowIconsInMenus, !menusHaveIcons);
+ }
+#endif
qt_set_input_encoding();
qt_set_x11_resources(appFont, appFGCol, appBGCol, appBTNCol);
diff --git a/src/gui/kernel/qcocoaapplication_mac.mm b/src/gui/kernel/qcocoaapplication_mac.mm
index ed62d02..2f1d88d 100644
--- a/src/gui/kernel/qcocoaapplication_mac.mm
+++ b/src/gui/kernel/qcocoaapplication_mac.mm
@@ -37,9 +37,6 @@
**
** $QT_END_LICENSE$
**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
****************************************************************************/
/****************************************************************************
diff --git a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
index cbf5cb6..b6aa454 100644
--- a/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
+++ b/src/gui/kernel/qcocoaapplicationdelegate_mac.mm
@@ -37,9 +37,6 @@
**
** $QT_END_LICENSE$
**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
****************************************************************************/
/****************************************************************************
diff --git a/src/gui/kernel/qcocoamenuloader_mac.mm b/src/gui/kernel/qcocoamenuloader_mac.mm
index 1bdb123..14e4510 100644
--- a/src/gui/kernel/qcocoamenuloader_mac.mm
+++ b/src/gui/kernel/qcocoamenuloader_mac.mm
@@ -37,9 +37,6 @@
**
** $QT_END_LICENSE$
**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
****************************************************************************/
#include "qmacdefines_mac.h"
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index bc32078..59494a7 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -201,7 +201,6 @@ extern "C" {
composingText = new QString();
composing = false;
sendKeyEvents = true;
- inKeyDown = false;
currentCustomTypes = 0;
[self setHidden:YES];
return self;
@@ -1037,7 +1036,6 @@ extern "C" {
- (void)keyDown:(NSEvent *)theEvent
{
- inKeyDown = true;
sendKeyEvents = true;
QWidget *widgetToGetKey = qwidget;
@@ -1057,7 +1055,6 @@ extern "C" {
if (!keyOK && !sendToPopup)
[super keyDown:theEvent];
}
- inKeyDown = false;
}
@@ -1104,13 +1101,7 @@ extern "C" {
};
}
- if ([aString length] && !inKeyDown) {
- // Handle the case where insertText is called from somewhere else than the keyDown
- // implementation, for example when inserting text from the character palette.
- QInputMethodEvent e;
- e.setCommitString(commitText);
- qt_sendSpontaneousEvent(qwidget, &e);
- } else if ([aString length] && composing) {
+ if ([aString length] && composing) {
// Send the commit string to the widget.
composing = false;
sendKeyEvents = false;
diff --git a/src/gui/kernel/qcocoaview_mac_p.h b/src/gui/kernel/qcocoaview_mac_p.h
index 9d4e3d0..3810a2b 100644
--- a/src/gui/kernel/qcocoaview_mac_p.h
+++ b/src/gui/kernel/qcocoaview_mac_p.h
@@ -86,7 +86,6 @@ Q_GUI_EXPORT
bool composing;
int composingLength;
bool sendKeyEvents;
- bool inKeyDown;
QString *composingText;
QStringList *currentCustomTypes;
NSInteger dragEnterSequence;
diff --git a/src/gui/kernel/qcocoawindow_mac.mm b/src/gui/kernel/qcocoawindow_mac.mm
index 59e8254..57dca6d 100644
--- a/src/gui/kernel/qcocoawindow_mac.mm
+++ b/src/gui/kernel/qcocoawindow_mac.mm
@@ -37,9 +37,6 @@
**
** $QT_END_LICENSE$
**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
****************************************************************************/
#include "qmacdefines_mac.h"
diff --git a/src/gui/kernel/qcocoawindowdelegate_mac.mm b/src/gui/kernel/qcocoawindowdelegate_mac.mm
index 0a7a00f..6704fda 100644
--- a/src/gui/kernel/qcocoawindowdelegate_mac.mm
+++ b/src/gui/kernel/qcocoawindowdelegate_mac.mm
@@ -37,9 +37,6 @@
**
** $QT_END_LICENSE$
**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
****************************************************************************/
#import "private/qcocoawindowdelegate_mac_p.h"
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp
index a61b6fa..0b282bc 100644
--- a/src/gui/kernel/qevent.cpp
+++ b/src/gui/kernel/qevent.cpp
@@ -3648,13 +3648,13 @@ QMenubarUpdatedEvent::QMenubarUpdatedEvent(QMenuBar * const menuBar)
\i As mentioned above, enabling touch events means multiple widgets can be receiving touch
events simultaneously. Combined with the default QWidget::event() handling for QTouchEvents,
this gives you great flexibility in designing multi-touch user interfaces. Be aware of the
- implications. For example, is is possible that the user is moving a QSlider with one finger and
+ implications. For example, it is possible that the user is moving a QSlider with one finger and
pressing a QPushButton with another. The signals emitted by these widgets will be
interleaved.
\i Recursion into the event loop using one of the exec() methods (e.g., QDialog::exec() or
QMenu::exec()) in a QTouchEvent event handler is not supported. Since there are multiple event
- recipients, unexpected recursion may cause problems, including but not limited to lost events
+ recipients, recursion may cause problems, including but not limited to lost events
and unexpected infinite recursion.
\i QTouchEvents are not affected by a \l{QWidget::grabMouse()}{mouse grab} or an
diff --git a/src/gui/kernel/qgesture.cpp b/src/gui/kernel/qgesture.cpp
index d5e7167..7831893 100644
--- a/src/gui/kernel/qgesture.cpp
+++ b/src/gui/kernel/qgesture.cpp
@@ -133,21 +133,22 @@ private:
/*! \fn void QGesture::cancelled()
- The signal is emitted when the gesture is cancelled, for example the reset()
- function is called while the gesture was in the process of emitting a
- triggered() signal. Extended information about the gesture is contained in
- the sender object.
+ The signal is emitted when the gesture is cancelled, for example the
+ reset() function is called while the gesture was in the process of
+ emitting a triggered() signal. Extended information about the
+ gesture is contained in the sender object.
*/
-
/*!
- Creates a new gesture handler object and marks it as a child of \a parent.
+ Creates a new gesture handler object and marks it as a child of \a
+ parent. \a gestureTarget is the object that the gesture will watch
+ for events.
- The \a parent object is also the default event source for the gesture,
- meaning that the gesture installs itself as an event filter for the \a
- parent.
+ The \a parent object is also the default event source for the
+ gesture, meaning that the gesture installs itself as an event filter
+ for the \a parent.
- \sa setGraphicsItem()
+ \sa setGraphicsItem()
*/
QGesture::QGesture(QObject *gestureTarget, QObject *parent)
: QObject(*new QGesturePrivate, parent)
@@ -173,7 +174,7 @@ QGesture::~QGesture()
/*!
\property QGesture::gestureTarget
- Gesture target is the object that the gesture will observe for events.
+ Gesture target is the object that the gesture will watch for events.
Typically this means that the gesture installs an event filter on the
target object.
*/
@@ -240,15 +241,18 @@ void QGesture::updateState(Qt::GestureState state)
return;
}
const Qt::GestureState oldState = d->state;
- d->state = state;
if (state != Qt::NoGesture && oldState > state) {
// comparing the state as ints: state should only be changed from
// started to (optionally) updated and to finished.
+ d->state = state;
qWarning("QGesture::updateState: incorrect new state");
return;
}
- if (oldState == Qt::NoGesture)
+ if (oldState == Qt::NoGesture) {
+ d->state = Qt::GestureStarted;
emit started();
+ }
+ d->state = state;
if (state == Qt::GestureUpdated)
emit triggered();
else if (state == Qt::GestureFinished)
diff --git a/src/gui/kernel/qgesture_p.h b/src/gui/kernel/qgesture_p.h
index 2cfabef..ddca79e 100644
--- a/src/gui/kernel/qgesture_p.h
+++ b/src/gui/kernel/qgesture_p.h
@@ -70,7 +70,7 @@ class QGesturePrivate : public QObjectPrivate
public:
QGesturePrivate()
: gestureTarget(0), graphicsItem(0), eventFilterProxyGraphicsItem(0),
- state(Qt::NoGesture)
+ state(Qt::NoGesture), implicitGesture(false)
{
}
@@ -81,6 +81,9 @@ public:
QGraphicsItem *eventFilterProxyGraphicsItem;
Qt::GestureState state;
+
+ // the flag specifies if the gesture was created implicitely by Qt.
+ bool implicitGesture;
};
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qstandardgestures.cpp b/src/gui/kernel/qstandardgestures.cpp
index cc30049..8e76715 100644
--- a/src/gui/kernel/qstandardgestures.cpp
+++ b/src/gui/kernel/qstandardgestures.cpp
@@ -47,6 +47,7 @@
#include <private/qapplication_p.h>
#include <private/qevent_p.h>
#include <private/qwidget_p.h>
+#include <qmath.h>
QT_BEGIN_NAMESPACE
@@ -90,9 +91,12 @@ QPanGesture::QPanGesture(QWidget *gestureTarget, QObject *parent)
void QPanGesturePrivate::setupGestureTarget(QObject *newGestureTarget)
{
Q_Q(QPanGesture);
+ QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
+
if (gestureTarget && gestureTarget->isWidgetType()) {
QWidget *w = static_cast<QWidget*>(gestureTarget.data());
- QApplicationPrivate::instance()->widgetGestures[w].pan = 0;
+ if (qAppPriv->widgetGestures[w].pan == q)
+ qAppPriv->widgetGestures[w].pan = 0;
#if defined(Q_WS_WIN)
qt_widget_private(w)->winSetupGestures();
#elif defined(Q_WS_MAC)
@@ -103,7 +107,7 @@ void QPanGesturePrivate::setupGestureTarget(QObject *newGestureTarget)
if (newGestureTarget && newGestureTarget->isWidgetType()) {
QWidget *w = static_cast<QWidget*>(newGestureTarget);
- QApplicationPrivate::instance()->widgetGestures[w].pan = q;
+ qAppPriv->widgetGestures[w].pan = q;
#if defined(Q_WS_WIN)
qt_widget_private(w)->winSetupGestures();
#elif defined(Q_WS_MAC)
@@ -133,8 +137,13 @@ bool QPanGesture::event(QEvent *event)
bool QPanGesture::eventFilter(QObject *receiver, QEvent *event)
{
-#ifdef Q_WS_WIN
Q_D(QPanGesture);
+
+ if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() &&
+ static_cast<QWidget*>(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures))
+ return false;
+
+#ifdef Q_WS_WIN
if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) {
QNativeGestureEvent *ev = static_cast<QNativeGestureEvent*>(event);
QApplicationPrivate *qAppPriv = QApplicationPrivate::instance();
@@ -164,11 +173,12 @@ bool QPanGesture::eventFilter(QObject *receiver, QEvent *event)
return false;
}
if (state() == Qt::NoGesture) {
- d->lastOffset = d->totalOffset = QSize();
+ d->lastOffset = d->totalOffset = d->offset = QSize();
} else {
- d->lastOffset = QSize(ev->position.x() - d->lastPosition.x(),
- ev->position.y() - d->lastPosition.y());
- d->totalOffset += d->lastOffset;
+ d->lastOffset = d->offset;
+ d->offset = QSize(ev->position.x() - d->lastPosition.x(),
+ ev->position.y() - d->lastPosition.y());
+ d->totalOffset += d->offset;
}
d->lastPosition = ev->position;
updateState(nextState);
@@ -181,23 +191,29 @@ bool QPanGesture::eventFilter(QObject *receiver, QEvent *event)
/*! \internal */
bool QPanGesture::filterEvent(QEvent *event)
{
-#if defined(Q_WS_WIN)
Q_D(QPanGesture);
+
+ if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() &&
+ static_cast<QWidget*>(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures))
+ return false;
+
+#if defined(Q_WS_WIN)
const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
if (event->type() == QEvent::TouchBegin) {
QTouchEvent::TouchPoint p = ev->touchPoints().at(0);
d->lastPosition = p.pos().toPoint();
- d->lastOffset = d->totalOffset = QSize();
+ d->lastOffset = d->totalOffset = d->offset = QSize();
} else if (event->type() == QEvent::TouchEnd) {
if (state() != Qt::NoGesture) {
if (ev->touchPoints().size() == 2) {
QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0);
QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1);
- d->lastOffset =
+ d->lastOffset = d->offset;
+ d->offset =
QSize(p1.pos().x() - p1.lastPos().x() + p2.pos().x() - p2.lastPos().x(),
p1.pos().y() - p1.lastPos().y() + p2.pos().y() - p2.lastPos().y()) / 2;
- d->totalOffset += d->lastOffset;
+ d->totalOffset += d->offset;
}
updateState(Qt::GestureFinished);
}
@@ -206,10 +222,11 @@ bool QPanGesture::filterEvent(QEvent *event)
if (ev->touchPoints().size() == 2) {
QTouchEvent::TouchPoint p1 = ev->touchPoints().at(0);
QTouchEvent::TouchPoint p2 = ev->touchPoints().at(1);
- d->lastOffset =
+ d->lastOffset = d->offset;
+ d->offset =
QSize(p1.pos().x() - p1.lastPos().x() + p2.pos().x() - p2.lastPos().x(),
p1.pos().y() - p1.lastPos().y() + p2.pos().y() - p2.lastPos().y()) / 2;
- d->totalOffset += d->lastOffset;
+ d->totalOffset += d->offset;
if (d->totalOffset.width() > 10 || d->totalOffset.height() > 10 ||
d->totalOffset.width() < -10 || d->totalOffset.height() < -10) {
updateState(Qt::GestureUpdated);
@@ -219,7 +236,6 @@ bool QPanGesture::filterEvent(QEvent *event)
#elif defined(QT_MAC_USE_COCOA)
// The following implements single touch
// panning on Mac:
- Q_D(QPanGesture);
const int panBeginDelay = 300;
const int panBeginRadius = 3;
const QTouchEvent *ev = static_cast<const QTouchEvent*>(event);
@@ -252,8 +268,9 @@ bool QPanGesture::filterEvent(QEvent *event)
QPointF mousePos = QCursor::pos();
QPointF dist = mousePos - d->lastPosition;
d->lastPosition = mousePos;
- d->lastOffset = QSizeF(dist.x(), dist.y());
- d->totalOffset += d->lastOffset;
+ d->lastOffset = d->offset;
+ d->offset = QSizeF(dist.x(), dist.y());
+ d->totalOffset += d->offset;
updateState(Qt::GestureUpdated);
}
} else if (state() == Qt::NoGesture) {
@@ -273,7 +290,7 @@ bool QPanGesture::filterEvent(QEvent *event)
void QPanGesture::reset()
{
Q_D(QPanGesture);
- d->lastOffset = d->totalOffset = QSize(0, 0);
+ d->lastOffset = d->totalOffset = d->offset = QSize(0, 0);
d->lastPosition = QPoint(0, 0);
#if defined(QT_MAC_USE_COCOA)
@@ -298,8 +315,7 @@ QSizeF QPanGesture::totalOffset() const
/*!
\property QPanGesture::lastOffset
- Specifies a pan offset since the last time the gesture was
- triggered.
+ Specifies a pan offset the last time the gesture was triggered.
*/
QSizeF QPanGesture::lastOffset() const
{
@@ -307,6 +323,18 @@ QSizeF QPanGesture::lastOffset() const
return d->lastOffset;
}
+/*!
+ \property QPanGesture::offset
+
+ Specifies the current pan offset since the last time the gesture was
+ triggered.
+*/
+QSizeF QPanGesture::offset() const
+{
+ Q_D(const QPanGesture);
+ return d->offset;
+}
+
//////////////////////////////////////////////////////////////////////////////
/*!
@@ -360,8 +388,13 @@ bool QPinchGesture::event(QEvent *event)
bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event)
{
-#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
Q_D(QPinchGesture);
+
+ if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() &&
+ static_cast<QWidget*>(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures))
+ return false;
+
+#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
if (receiver->isWidgetType() && event->type() == QEvent::NativeGesture) {
QNativeGestureEvent *ev = static_cast<QNativeGestureEvent*>(event);
#if defined(Q_WS_WIN)
@@ -380,39 +413,80 @@ bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event)
// next we might receive the first gesture update event, so we
// prepare for it.
d->state = Qt::NoGesture;
- d->scaleFactor = d->lastScaleFactor = 1;
- d->rotationAngle = d->lastRotationAngle = 0;
+ d->changes = 0;
+ d->totalScaleFactor = d->scaleFactor = d->lastScaleFactor = 1.;
+ d->totalRotationAngle = d->rotationAngle = d->lastRotationAngle = 0.;
d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPointF();
#if defined(Q_WS_WIN)
d->initialDistance = 0;
+ d->lastSequenceId = ev->sequenceId;
#endif
return false;
- case QNativeGestureEvent::Rotate:
- d->scaleFactor = 0;
+ case QNativeGestureEvent::Rotate: {
+ d->lastScaleFactor = d->scaleFactor;
d->lastRotationAngle = d->rotationAngle;
-#if defined(Q_WS_WIN)
- d->rotationAngle = -1 * GID_ROTATE_ANGLE_FROM_ARGUMENT(ev->argument);
-#elif defined(Q_WS_MAC)
- d->rotationAngle = ev->percentage;
-#endif
+#if defined(Q_WS_MAC)
+ d->rotationAngle += ev->percentage;
nextState = Qt::GestureUpdated;
+#elif defined(Q_WS_WIN)
+ // This is a workaround for an issue with the native rotation
+ // gesture on Windows 7. For some reason the rotation angle in the
+ // first WM_GESTURE message in a sequence contains value that is
+ // off a little bit and causes the rotating item to "jump", so
+ // we just ignore the first WM_GESTURE in every sequence.
+ bool windowsRotateWorkaround = false;
+ if (!d->lastSequenceId) {
+ windowsRotateWorkaround = true;
+ d->lastSequenceId = ev->sequenceId;
+ }
+ if (d->lastSequenceId > 0 && d->lastSequenceId != (ulong)-1 && ev->sequenceId != d->lastSequenceId) {
+ // this is the first WM_GESTURE message in a sequence.
+ d->totalRotationAngle += d->rotationAngle;
+ windowsRotateWorkaround = true;
+ // a magic value to mark that the next WM_GESTURE message is
+ // the second message in a sequence and we should clear the
+ // lastRotationAngle
+ d->lastSequenceId = (ulong)-1;
+ }
+ if (!windowsRotateWorkaround) {
+ d->rotationAngle = -1 * GID_ROTATE_ANGLE_FROM_ARGUMENT(ev->argument) * 180. / M_PI;
+ if (d->lastSequenceId == (ulong)-1) {
+ // a special case since we need to set the lastRotationAngle to
+ // rotationAngle when the first WM_GESTURE is received in each
+ // sequence.
+ d->lastRotationAngle = d->rotationAngle;
+ }
+ d->lastSequenceId = ev->sequenceId;
+ }
+ if (!windowsRotateWorkaround)
+ nextState = Qt::GestureUpdated;
+#endif
+ d->changes = QPinchGesture::RotationAngleChanged;
event->accept();
break;
+ }
case QNativeGestureEvent::Zoom:
- d->rotationAngle = 0;
+ d->lastRotationAngle = d->rotationAngle;
+ d->lastScaleFactor = d->scaleFactor;
#if defined(Q_WS_WIN)
if (d->initialDistance != 0) {
- d->lastScaleFactor = d->scaleFactor;
int distance = int(qint64(ev->argument));
- d->scaleFactor = (qreal) distance / d->initialDistance;
+ if (d->lastSequenceId && ev->sequenceId != d->lastSequenceId) {
+ d->totalScaleFactor *= d->scaleFactor;
+ d->initialDistance = int(qint64(ev->argument));
+ d->lastScaleFactor = d->scaleFactor = (qreal) distance / d->initialDistance;
+ } else {
+ d->scaleFactor = (qreal) distance / d->initialDistance;
+ }
+ d->lastSequenceId = ev->sequenceId;
} else {
d->initialDistance = int(qint64(ev->argument));
}
#elif defined(Q_WS_MAC)
- d->lastScaleFactor = d->scaleFactor;
- d->scaleFactor = ev->percentage;
+ d->scaleFactor += ev->percentage;
#endif
nextState = Qt::GestureUpdated;
+ d->changes = QPinchGesture::ScaleFactorChanged;
event->accept();
break;
case QNativeGestureEvent::GestureEnd:
@@ -427,6 +501,8 @@ bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event)
d->startCenterPoint = d->centerPoint;
d->lastCenterPoint = d->centerPoint;
d->centerPoint = static_cast<QWidget*>(receiver)->mapFromGlobal(ev->position);
+ if (d->lastCenterPoint != d->centerPoint)
+ d->changes |= QPinchGesture::CenterPointChanged;
updateState(nextState);
return true;
}
@@ -438,6 +514,12 @@ bool QPinchGesture::eventFilter(QObject *receiver, QEvent *event)
/*! \internal */
bool QPinchGesture::filterEvent(QEvent *event)
{
+ Q_D(QPinchGesture);
+
+ if (d->implicitGesture && d->gestureTarget && d->gestureTarget->isWidgetType() &&
+ static_cast<QWidget*>(d->gestureTarget.data())->testAttribute(Qt::WA_DontUseStandardGestures))
+ return false;
+
Q_UNUSED(event);
return false;
}
@@ -446,16 +528,44 @@ bool QPinchGesture::filterEvent(QEvent *event)
void QPinchGesture::reset()
{
Q_D(QPinchGesture);
- d->scaleFactor = d->lastScaleFactor = 0;
- d->rotationAngle = d->lastRotationAngle = 0;
+ d->changes = 0;
+ d->totalScaleFactor = d->scaleFactor = d->lastScaleFactor = 1.;
+ d->totalRotationAngle = d->rotationAngle = d->lastRotationAngle = 0.;
d->startCenterPoint = d->centerPoint = d->lastCenterPoint = QPointF();
QGesture::reset();
}
/*!
+ \property QPinchGesture::whatChanged
+
+ Specifies which values were changed in the gesture.
+*/
+QPinchGesture::WhatChanged QPinchGesture::whatChanged() const
+{
+ return d_func()->changes;
+}
+
+/*!
+ \property QPinchGesture::totalScaleFactor
+
+ Specifies a total scale factor of the pinch gesture since the gesture
+ started.
+*/
+qreal QPinchGesture::totalScaleFactor() const
+{
+ Q_D(const QPinchGesture);
+ return d->totalScaleFactor * d->scaleFactor;
+}
+
+/*!
\property QPinchGesture::scaleFactor
Specifies a scale factor of the pinch gesture.
+
+ If the gesture consists of several pinch sequences (i.e. zoom and rotate
+ sequences), then this property specifies the scale factor in the current
+ sequence. When pinching changes the rotation angle only, the value of this
+ property is 1.
*/
qreal QPinchGesture::scaleFactor() const
{
@@ -473,9 +583,29 @@ qreal QPinchGesture::lastScaleFactor() const
}
/*!
+ \property QPinchGesture::totalRotationAngle
+
+ Specifies a total rotation angle of the gesture since the gesture started.
+
+ The angle is specified in degrees.
+*/
+qreal QPinchGesture::totalRotationAngle() const
+{
+ Q_D(const QPinchGesture);
+ return d->totalRotationAngle + d->rotationAngle;
+}
+
+/*!
\property QPinchGesture::rotationAngle
Specifies a rotation angle of the gesture.
+
+ If the gesture consists of several pinch sequences (i.e. zoom and rotate
+ sequences), then this property specifies the rotation angle in the current
+ sequence. When pinching changes the scale factor only, the value of this
+ property is 0.
+
+ The angle is specified in degrees.
*/
qreal QPinchGesture::rotationAngle() const
{
@@ -486,6 +616,8 @@ qreal QPinchGesture::rotationAngle() const
\property QPinchGesture::lastRotationAngle
Specifies a previous rotation angle of the gesture.
+
+ The angle is specified in degrees.
*/
qreal QPinchGesture::lastRotationAngle() const
{
diff --git a/src/gui/kernel/qstandardgestures.h b/src/gui/kernel/qstandardgestures.h
index bb6f3b6..53c4416 100644
--- a/src/gui/kernel/qstandardgestures.h
+++ b/src/gui/kernel/qstandardgestures.h
@@ -61,6 +61,7 @@ class Q_GUI_EXPORT QPanGesture : public QGesture
Q_PROPERTY(QSizeF totalOffset READ totalOffset)
Q_PROPERTY(QSizeF lastOffset READ lastOffset)
+ Q_PROPERTY(QSizeF offset READ offset)
public:
QPanGesture(QWidget *gestureTarget, QObject *parent = 0);
@@ -69,6 +70,7 @@ public:
QSizeF totalOffset() const;
QSizeF lastOffset() const;
+ QSizeF offset() const;
protected:
void reset();
@@ -78,6 +80,7 @@ private:
bool eventFilter(QObject *receiver, QEvent *event);
friend class QWidget;
+ friend class QAbstractScrollAreaPrivate;
};
class QPinchGesturePrivate;
@@ -86,31 +89,48 @@ class Q_GUI_EXPORT QPinchGesture : public QGesture
Q_OBJECT
Q_DECLARE_PRIVATE(QPinchGesture)
- Q_PROPERTY(qreal scaleFactor READ scaleFactor)
+public:
+ enum WhatChange {
+ ScaleFactorChanged = 0x1,
+ RotationAngleChanged = 0x2,
+ CenterPointChanged = 0x4
+ };
+ Q_DECLARE_FLAGS(WhatChanged, WhatChange)
+
+ Q_PROPERTY(WhatChanged whatChanged READ whatChanged)
+
+ Q_PROPERTY(qreal totalScaleFactor READ totalScaleFactor)
Q_PROPERTY(qreal lastScaleFactor READ lastScaleFactor)
+ Q_PROPERTY(qreal scaleFactor READ scaleFactor)
- Q_PROPERTY(qreal rotationAngle READ rotationAngle)
+ Q_PROPERTY(qreal totalRotationAngle READ totalRotationAngle)
Q_PROPERTY(qreal lastRotationAngle READ lastRotationAngle)
+ Q_PROPERTY(qreal rotationAngle READ rotationAngle)
Q_PROPERTY(QPointF startCenterPoint READ startCenterPoint)
Q_PROPERTY(QPointF lastCenterPoint READ lastCenterPoint)
Q_PROPERTY(QPointF centerPoint READ centerPoint)
public:
+
QPinchGesture(QWidget *gestureTarget, QObject *parent = 0);
bool filterEvent(QEvent *event);
void reset();
+ WhatChanged whatChanged() const;
+
QPointF startCenterPoint() const;
QPointF lastCenterPoint() const;
QPointF centerPoint() const;
- qreal scaleFactor() const;
+ qreal totalScaleFactor() const;
qreal lastScaleFactor() const;
+ qreal scaleFactor() const;
- qreal rotationAngle() const;
+ qreal totalRotationAngle() const;
qreal lastRotationAngle() const;
+ qreal rotationAngle() const;
private:
bool event(QEvent *event);
diff --git a/src/gui/kernel/qstandardgestures_p.h b/src/gui/kernel/qstandardgestures_p.h
index 270f307..354ebee 100644
--- a/src/gui/kernel/qstandardgestures_p.h
+++ b/src/gui/kernel/qstandardgestures_p.h