summaryrefslogtreecommitdiff
path: root/src/declarative/qml/qdeclarativeexpression.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Update obsolete contact address.Jason McDonald2012-01-231-1/+1
| | | | | | | | Replace Nokia contact email address with Qt Project website. Change-Id: I6a730abc0c396fb545a48b2d6938abedac2e3f1c Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
* QDeclarativeExpression: storing column number in expression locationChristiaan Janssen2012-01-161-7/+19
| | | | | Change-Id: I2d69738158abfc76f80b1cfc0e0ccb145fda2245 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Update copyright year in license headers.Jason McDonald2012-01-051-1/+1
| | | | | Change-Id: I0a8d99909cac867dce72da70b1bbcb649989a51b Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Don't eval signal handler closure until signal is emittedAaron Kennedy2011-12-051-11/+18
| | | | | Change-Id: Ic3bd6ed53330b19567fa0bf34b8e4618e3f68ba5 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Rewrite Connections signal handlers at compile time.Michael Brasser2011-11-281-0/+6
| | | | | | Task-number: QTBUG-22726 Change-Id: I039d54661bbf7d44912c894bf0cc1d70023a9187 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Don't crash on invalid expressionAaron Kennedy2011-11-081-0/+1
| | | | | | Task-number: QTBUG-21310 Change-Id: I93de1c520b6f1c2aa3842e1091bcf2b34d9b0420 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Don't crash if contexts are deleted during refreshExpressionsAaron Kennedy2011-11-041-1/+1
| | | | | Change-Id: I23b59d33c07b017ef7355a7fe4a728d84c5d7eaa Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Skip the captured properties step in bindingsAaron Kennedy2011-11-041-58/+74
| | | | | | | | | | Objects and notifiers in the capturedProperties list were not guarded which can lead to crashes if they're deleted prior to the binding completing. Now the notifiers are connected to and guarded immediately to prevent this. Change-Id: I912e323c52bf6169fb5077e552d5d38d9aa7faec Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
* Declarative: Fix gcc 4.6 warnings about assigned/unused variables.Friedemann Kleint2011-11-011-1/+0
| | | | | | Change-Id: Iac4bb4a6b1aa4071a239bb25f25f01b71e36868b Reviewed-by: Alexis Menard <alexis.menard@openbossa.org> Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Simplify expression guard logicAaron Kennedy2011-10-181-34/+7
| | | | | | Change-Id: I7d191bc8786452c5a1f14d024ff62d223adebd8b Reviewed-by: Martin Jones <martin.jones@nokia.com> Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Clean up declarative includesKent Hansen2011-10-171-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (This commit is in preparation of moving several files to a separate library (QtQuick2).) Don't add all subfolders to the includepath (from the .pri files). There's no good reason to do that. For headers (both public and private) that are in the same folder as the file that includes them, prefer to use #include "foo.h" #include "bar_p.h" For public headers that are outside the current folder but have "unambiguous" names (e.g. qdeclarative prefix), use #include <foo.h> For private headers that are outside the current folder, use #include <private/baz_p.h> Also change #include <QtDeclarative/private/foo_p.h> to #include <private/foo_p.h> The header filenames already have a qdeclarative or qsg prefix; there's no need to prefix by module name to disambiguate. Finally, #include "private/foo_p.h" should be avoided. private/ is used for auto-generated (forwarding) headers, which never reside in the current (source) directory. Use angle brackets instead. Change-Id: I04f8477fdba043546064ee276475c09dc373f8f2 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Optimize signal handlingAaron Kennedy2011-10-121-65/+9
| | | | | | | | | | | | | | | Bindings connect to lots of signals that are never emitted. By managing signal connection lists ourselves, we can do a much better job than Qt's generic signal/slot connection logic. Also, by connecting to QDeclarativeNotifierEndpoint's rather than QObject slots, we can eliminate the need to instantiate a QObject for the V4 and V8 binding managers. Change-Id: I598667deaefdbd2860227bd74378a1b196761686 Reviewed-on: http://codereview.qt-project.org/6278 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com> Sanity-Review: Aaron Kennedy <aaron.kennedy@nokia.com>
* Fix some memory leaks in the compilerChris Adams2011-09-051-0/+2
| | | | | | | | Task-number: QTBUG-17770 Change-Id: I6d9d357bf529a9a3f414182fb6a818ddedda8e18 Reviewed-on: http://codereview.qt.nokia.com/2487 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Use the optimized QDeclarativeExpression constructor where possible.Michael Brasser2011-08-291-2/+2
| | | | | | | | | | | Pass in the QDeclarativeScriptString directly, to make use of the precompiled binding. Also does some minor cleanup of the related internal implementation. Change-Id: I4b199298c9da3ee11c51c9c98b384c8324f62c26 Reviewed-on: http://codereview.qt.nokia.com/3696 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Charles Yin <charles.yin@nokia.com>
* Merge the QJSEngine and QJSValue development branch into master.Simon Hausmann2011-07-291-10/+10
| | | | | | | | | | | | This replaces the dependency to QtScript with two new builtin classes QJSValue and QJSEngine. This is still work in progress, development continues now in the master branch. Change-Id: I7f5487feb45c972f25a22b10cc81b9218b9805de Reviewed-on: http://codereview.qt.nokia.com/2299 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Ouptut non-NOTIFYable warnings againAaron Kennedy2011-07-261-5/+5
| | | | | | | | Task-number: QTBUG-20280 Change-Id: Ia950c8c9dfa14e568a306beeb72474b2d5049db1 Reviewed-on: http://codereview.qt.nokia.com/2069 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Don't assert on incorrect file urlAaron Kennedy2011-07-251-4/+2
| | | | | | | | | | | | | | Exceptions thrown from within a QObject method have the same special origin "string" that we use to identify QObject function objects as QObject function objects. Until we can modify this, or switch to function objects in a later V8, we can't get correct source information for these exceptions. Task-number: QTBUG-20344 Change-Id: I02aa2d81ac78c2951d7ea714f33612160ded2476 Reviewed-on: http://codereview.qt.nokia.com/1475 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Enter context scopeAaron Kennedy2011-07-251-0/+1
| | | | | | | | Task-number: QTBUG-20485 Change-Id: Ifc7fa998a253b01d8114d00d537faca5df5c93c9 Reviewed-on: http://codereview.qt.nokia.com/2053 Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
* Evaluate all shared bindings together using a shared contextAaron Kennedy2011-06-171-28/+22
| | | | | | The vast majority of bindings are capable of being shared (that is, don't introduce closures themselves) and consequently this improves the performance of almost every app.
* CleanupAaron Kennedy2011-06-161-136/+115
|
* Merge branch 'qtquick2' into v8Aaron Kennedy2011-06-091-0/+53
|\ | | | | | | | | Conflicts: src/declarative/qml/qml.pri
| * Optimized QDeclarativeScriptString constructor for QDeclarativeExpression.Michael Brasser2011-06-091-0/+53
| | | | | | | | | | | | | | | | | | When the compiler sees a script string, it will attempt to rewrite it and store the id for the rewrite in the script string. We can then create a QDeclarativeExpression using the id, which saves us a rewrite at runtime. Reviewed-by: Aaron Kennedy
* | Minor XXX fixupsAaron Kennedy2011-06-091-9/+16
| |
* | Remove QtScript code from QDeclarativeExpressionAaron Kennedy2011-06-091-9/+0
| |
* | Implement global handle trackingAaron Kennedy2011-06-081-11/+7
| | | | | | | | | | This makes it easier to track down handles that have been double Dispose()'d. See qv8engine_p.h for details.
* | Allow methods to be changed by debuggerAaron Kennedy2011-06-081-44/+0
| |
* | Merge branch 'master' into v8Michael Brasser2011-06-071-17/+17
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/declarative/graphicsitems/qdeclarativeitem.cpp src/declarative/qml/qdeclarativecontextscriptclass.cpp src/declarative/qml/qdeclarativeengine.cpp src/declarative/qml/qdeclarativeengine_p.h src/declarative/qml/qdeclarativeglobalscriptclass.cpp src/declarative/qml/qdeclarativeinclude.cpp src/declarative/qml/qdeclarativelistscriptclass.cpp src/declarative/qml/qdeclarativeobjectscriptclass.cpp src/declarative/qml/qdeclarativeobjectscriptclass_p.h src/declarative/qml/qdeclarativetypenamescriptclass.cpp src/declarative/qml/qdeclarativevaluetypescriptclass.cpp
| * Merge branch 'qtquick2'Martin Jones2011-05-311-3/+4
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: demos/declarative/flickr/common/Progress.qml demos/declarative/flickr/common/RssModel.qml demos/declarative/flickr/common/ScrollBar.qml demos/declarative/flickr/common/Slider.qml demos/declarative/flickr/mobile/Button.qml demos/declarative/flickr/mobile/GridDelegate.qml demos/declarative/flickr/mobile/ImageDetails.qml demos/declarative/flickr/mobile/ListDelegate.qml demos/declarative/flickr/mobile/TitleBar.qml demos/declarative/flickr/mobile/ToolBar.qml demos/declarative/webbrowser/content/Button.qml demos/declarative/webbrowser/content/FlickableWebView.qml demos/declarative/webbrowser/content/Header.qml demos/declarative/webbrowser/content/ScrollBar.qml demos/declarative/webbrowser/content/UrlInput.qml demos/declarative/webbrowser/webbrowser.qml doc/src/snippets/declarative/mousearea/mousearea-snippet.qml examples/declarative/modelviews/webview/newwindows/qml/alerts.html examples/declarative/modelviews/webview/newwindows/qml/content/Mapping/map.html examples/declarative/modelviews/webview/newwindows/qml/content/pics/cancel.png examples/declarative/modelviews/webview/newwindows/qml/content/pics/ok.png examples/declarative/modelviews/webview/newwindows/qml/newwindows.html src/declarative/graphicsitems/qdeclarativetextinput.cpp src/declarative/qml/qdeclarativecompiledbindings.cpp src/declarative/qml/qdeclarativecompiledbindings_p.h src/declarative/qml/qdeclarativedom.cpp src/declarative/qml/qdeclarativedom_p.h src/declarative/qml/qdeclarativedom_p_p.h src/declarative/qml/qdeclarativeengine.cpp src/declarative/qml/qdeclarativetypeloader.cpp src/imports/particles/particles.cpp tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.png tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.png tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.png tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.png tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.png tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.png tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp Change-Id: I40df8a9403a58a6c03a0f1734f16a5cbed6c85ff
| * | Update licenseheader text in source files for qtdeclarative Qt moduleJyri Tahtela2011-05-241-17/+17
| | | | | | | | | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | | Initial V8 integrationAaron Kennedy2011-06-061-111/+134
| |/ |/|
* | Initial import from qtquick2.Qt by Nokia2011-04-271-3/+4
|/ | | | | Branched from the monolithic repo, Qt qtquick2 branch, at commit a4a585d2ee907746682846ae6e8a48e19deef469
* Initial import from the monolithic Qt.Qt by Nokia2011-04-271-0/+875
This is the beginning of revision history for this module. If you want to look at revision history older than this, please refer to the Qt Git wiki for how to use Git history grafting. At the time of writing, this wiki is located here: http://qt.gitorious.org/qt/pages/GitIntroductionWithQt If you have already performed the grafting and you don't see any history beyond this commit, try running "git log" with the "--follow" argument. Branched from the monolithic repo, Qt master branch, at commit 896db169ea224deb96c59ce8af800d019de63f12