summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix QJSEngine::evaluate using the wrong execution contextv5.3.0release5.3.0Simon Hausmann2014-05-092-4/+48
| | | | | | | | | | | | | | | | | | In contrary to what the documentation says, QJSEngine in Qt 5.x executes in the context of the global object (QScriptIsolate always called enter on the QV8Engine's "root" context, thus making it current). The v4 implementation unfortunately did what the documentation said and used the current context, which is wrong in many ways. For example it completely breaks the optimization of stack allocated contexts, because when a C++ callback is called from within a JS function with a stack allocated context and that C++ code calls QJSEngine::evaluate and creates new closures, the stack context would become an outter context and cause crashes during GC. This patch restores the behavior of Qt 5.0/5.1 and fixes the documentation. Task-number: QTBUG-38530 Change-Id: Ie6481f02e676954cc94b188a1c87c88e7c56dafa Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix crash on host/target word size mismatchesSimon Hausmann2014-05-092-11/+6
| | | | | | | | | | | When compiling on a 64-bit host and using the QV4::CompileData on a 32-bit target, the size of QArrayData is different. Therefore we cannot use it in the QV4::CompiledData and have to resort to storing only the characters in there. We can at least still use fromRawData when extracting strings, but the QStringData will have to be allocated now. Change-Id: Ia9dab1722ed72186451b65ba74457051c6ce3155 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update qmltypes filesAlan Alpert2014-05-066-24/+296
| | | | | | | | | | | | | Additionally, fixes some revisioning errors which a manual inspection of the qmltypes files diffs revealed. -mipmapChanged signal is new -windowTitleChanged signal is new -Matrix4x4 made 5.3, but was revisioned for 5.4 Task-number: QTBUG-29806 Change-Id: I4cb8bca6ac6fe8040871734c88aabcd392c1d696 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Android: Fix crash in String.replace() in release buildsv5.3.0-rc1Eskil Abrahamsen Blomfeldt2014-05-051-4/+7
| | | | | | | | | | | | | | | | | When enabling optimizations in the compiler, it produces bogus code for the regExp->value deref in the line nMatchOffsets += regExp->value->captureCount() * 2 This is a random refactoring to work around the compiler bug. The only line that actually needs to be touched is the one mentioned above, but I replaced all uses of regExp->value so that it wouldn't look too weird. Task-number: QTBUG-38692 Change-Id: Ib33a523a86ce51ebc6c7095a803fedaebcaa8e63 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* StocQt demo improvementMika Salmela2014-05-0221-719/+850
| | | | | | | | | | | Along with general demo improvements, this task implements the new layout to the StocQt demo. Also few bugs on the functionality are corrected, like drawing the stock graph on right way and initial values reset on stock model when changing active stock. Task-number: QTBUG-38254 Change-Id: I9d3387ed0e3f23512b8e60c70246589c10237818 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Always implement text input "canPaste" propertyBernd Weimer2014-05-022-6/+4
| | | | | | | | | | | | | | | This is needed for TextField control for instance. If QT_NO_CLIPBOARD is defined, canPaste will always return false. Fixes dialogs auto test when QT_NO_CLIPBOARD is defined. [ChangeLog][QtQuick][Platform Specific Changes] Added canPaste property to TextInput element also on platforms that don't support a clipboard (QT_NO_CLIPBOARD is defined). Change-Id: Ia85205672ba59c1fce70852458c514b03d332de6 (cherry picked from commit c2d802049e48d1d6f0bce6eb0972fb26dc4d6ce3) Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
* Add [ChangeLog] tags to qtdeclarative changelog.Alan Alpert2014-05-021-34/+54
| | | | | Change-Id: Ia235b6b2397cfaeb20f0c7ea0d6196c603b2aaaa Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* v4: ignore quiet bit for NaNs in 32 bit value encodingFawzi Mohamed2014-04-301-10/+11
| | | | | | | | | | | on iOS x % 0 generates a NaN with the silent bit set, i.e. 0x7ffc_0000_0000_0000 which was interpreted as a null managed object which crashed the interpreter. Task-number: QTBUG-36859 Change-Id: Idf31ad9f0454f83d321b49b2f76bdbc2ee906189 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: Remove references to the unimplemented 'time' typeSze Howe Koh2014-04-301-3/+0
| | | | | | | Task-number: QTBUG-32295 Change-Id: Iedd61d0494aeebd6d99a39f4eb81e7461c20a079 Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* v4: assert when an unsupported double value is stored in a valueFawzi Mohamed2014-04-301-2/+2
| | | | | | | | | | | | | | | | | we assume that just few NaN values can be generated by the HW (currently 0x7ff800..00 and 0x7ffc00..00), and we use the other values to encode js values. If uninitialized memory is interpreted as double or another NaN is explicitly constructed and feed to the interpreter, it might crash (later when actually accessing that value). Adding an assertion to catch those values when assertions are active for the 32 bit encoding (64 bit already has it). Task-number: QTBUG-36859 Change-Id: I7ac7b2619f286ba19066729836af718014a515a6 Reviewed-by: Johannes Matokic <johannes.matokic@microchip.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix linking of qmlimportscanner in MSVC debug builds.Friedemann Kleint2014-04-281-1/+1
| | | | | | | | | | Qt5QmlDevToolsd.lib(qqmlirbuilder.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QmlIR::CompiledFunctionOrExpression::CompiledFunctionOrExpression(void)" Use Q_QML_PRIVATE_EXPORT so that it does not have effect when building qmldevtools. Change-Id: I138fe9cba518829d7ec1d0bfe9d4a9d657446c7d Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix translations in states causing failing assertionsSimon Hausmann2014-04-285-12/+111
| | | | | | | | | | | | | This is a smaller fix suitable for the release branch, merely adding support for translations to the bytearray compilation step for states and ensuring a consistent error message when qsTr is used in list models. The proper fix will be done in dev that eliminates the entire intermediate QByteArray storage for custom compilers. Task-number: QTBUG-38492 Change-Id: If5171f16eb742c718e48b8bbcb265b0c241cd5e7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix packaging buildsSimon Hausmann2014-04-281-2/+2
| | | | | | | | In order to access the js parser in release builds, we need to export these symbols (althoug they remain private API). Change-Id: Id534bfc8027f9a6feab53b09e7397d920e59e3f8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix marking of prototype objects in internal class poolSimon Hausmann2014-04-286-17/+74
| | | | | | | | | | As per reported bug, we have to protect ourselves against potential loops and can mark the internal classes much simpler by just walking through the memory pool they were allocated in. Task-number: QTBUG-38299 Change-Id: I3ae96e8082e76d06f4321c5aa6d2e9645d2830a0 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Follow QOpenGLContext API renamingLaszlo Agocs2014-04-2515-24/+24
| | | | | | Task-number: QTBUG-38564 Change-Id: Ice1170339f7d650fcb6accfccf325471629343d6 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Getting the render window of an offscreen windowPaul Olav Tvete2014-04-243-5/+51
| | | | | | | | | | When using a QQuickWidget, the QQuickWindow is hidden and the contents are displayed in another window. Some components need to query the actual window, e.g. when positioning a popup. Task-number: QTBUG-38116 Change-Id: I34452be2179ccc9e216e4d89264dc700e0cf42a0 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* V4 regalloc: fix register spill choice under high pressure.Erik Verbruggen2014-04-241-1/+9
| | | | | | | | | | | | When a register is needed for an input parameter of an operation, and all registers are already in use, do not select a register for spilling when it is also used in the current operation. Task-number: QTBUG-38451 Change-Id: I4a8f28cbaadce2dbb9d0c450ccac0ed572936c24 Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix crash when loading QML that tries to set non-existent group propertiesSimon Hausmann2014-04-244-1/+8
| | | | | | | | | | This happens when trying to search for implicit component definitions, which only makes sense if we have a property cache. Task-number: QTBUG-38466 Change-Id: I788159453efc24bcda1b9709a1933b49fd54d6a7 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix parsing of JS imports from JS filesSimon Hausmann2014-04-241-28/+30
| | | | | | | | | | | | | | | | | | | | | | | If a .js file had an import of another .js file itself, like so: .import "otherFile.js" as Blah then the import scanner would keep the quotes and store "\"otherFile.js\"" in the JSON as opposed to "otherFile.js" This is fixed by making use of the same code for extracting the .import statements from JS files that is also used by the engine itself. Additionally this fixes the use of comments in .import lines (and other whitespace characters not producing tokens). Change-Id: I4dd4a5217308f6fc93b6b148cd8e13392f97d2a6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Extend the QML bootstrap library by the IR buildersSimon Hausmann2014-04-2338-176/+448
| | | | | | | | | | | | | This is among other things needed to fix the qml import scanner to detect dependencies from .js files correctly. The patch also fixes the use of Q_QML_EXPORT towards Q_QML_PRIVATE_EXPORT where appropriate and corrects the wrong include path for the double conversion code to actually be relative to the file it is included from. This worked by accident because of other include paths present in the build. Change-Id: I338583dad2f76300819af8ab0dae8e5724c84430 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Make the Clocks example use the resource systemTopi Reinio2014-04-235-4/+74
| | | | | | | | | | Make the Clocks example use the Qt resource system and the shared main(), in order to have easy deployment to all platforms and support for shadow builds. Task-number: QTBUG-37203 Change-Id: Ia235b6b2397cfaeb20f0c7ea0d6196c603b20099 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Implement the new inputmethod query API for Qt QuickPaul Olav Tvete2014-04-222-0/+47
| | | | | | | | | Part fixing Android input methods. This change corresponds to 68a9229a97d358639 in the qtbase repository. Task-number: QTBUG-37511 Change-Id: I483abf6a9d5dec86dbd1ae2dff2a85bc19d126f1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* If a popup window is opened, do not change the focusShawn Rutledge2014-04-223-6/+9
| | | | | | | | | | | | | It's not working to have QQuickWindow lose focus every time a menu is opened. This doesn't happen on OSX because menus are implemented as special native ones, but on X11 a menu is another window. In QtQuick Controls it's useful for copy/cut/paste Actions to be enabled based on whether some text has focus. Change-Id: I092b46133b9a8a44639ad9d89ee2bdfe30206bd9 Task-number: QTBUG-36292 Task-number: QTBUG-36332 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* qmlplugindump: correctly merge composite typesFawzi Mohamed2014-04-181-48/+77
| | | | | | | | | | | When hiding part of the hierarchy during the merging of composite types properties/methods/signals that are hidden should not be dumped twice. Task-number: QTBUG-38354 Change-Id: I328cf25dd5a70e1c0fce017e8ae572e8a9e56245 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* QQuickItemView/QQuickPathView: Fix creation of delegatesAlbert Astals Cid2014-04-184-0/+62
| | | | | | | | | | When the delegate is set before the model and after the ItemView/PathView has been created Task-number: QTBUG-38368 Change-Id: I6963abe28087699cf4e8921153dc7641bae3b220 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Make sure the clipPath is retained as state of Context2DUlf Hermann2014-04-181-0/+2
| | | | | | | | | | | | | | The W3C spec doesn't say anything about the clip path getting reset automatically at any point and so I guess we should retain it. This of course is terribly annoying if the canvas element gets resized and ends up with a default clipPath that doesn't match the canvas anymore. You basically have to call reset() in every onPaint now. However, this just highlights a general problem with stateful canvas contexts and we cannot ignore user defined clipPaths like this. Task-number: QTBUG-38297 Change-Id: I233226af6458298ef3d752d08ecdebebae2e0a8f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Prevent a crash when the item is deleted but not removed from cacheAndy Shaw2014-04-181-1/+1
| | | | | | | | | | | | | | If the item is not removed from the cache when it is deleted then the cache can end up pointing to an invalid item which when accessed will cause a crash. Task-number: QTBUG-38430 [ChangeLog][QtQml] Prevent a crash when the item is deleted but is not removed from the QQmlDelegateModel's cache. Change-Id: I8cf76b014be62a432d909a3573231cec84a6d678 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Refine fix for dynamic properties on QObjects wrapped in JavaScriptSimon Hausmann2014-04-172-6/+30
| | | | | | | | | | | | | | This is an ammendment to commit 60730cbb5e5475b5db6a15641211aa6958a93197 to further restrict the ability to set dynamic properties on JS wrapped QObjects only on those that are associated with a qml context. Only one such association comes with the static property lookup rules of QML and therefore only those should be prohibited from dynamic properties. The previous implementation on using the "compiledData" field to detect QML association or not is not strong and reliable enough. Change-Id: I10c0e6e58a2727c01a6cb56fdf912bf250333e1f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* V4: fix register usage on ARM.Erik Verbruggen2014-04-173-7/+7
| | | | | | | | | | | JSC was using r3 as the address scratch register, which collides with the 4th parameter in a function call. This sometimes shows up when generateFunctionCall needs to do a calulated jump. Also fix the usage of r11, which seems to be the fp on some platforms. Change-Id: Ib2ea64b9342e5aa631db6a7641747f899b2fbd89 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Doc: Improved Qt Quick Demos documentationJerome Pasion2014-04-169-31/+78
| | | | | | | | | | | | | -added include from qtbase/doc/global about running the example. -added link to "QML Applications" (main landing page for QML) -highlighted the names with \e -various documentation changes Task-number: QTBUG-33597 Change-Id: I9e23b8b61862c424f2a17003b3d1f5b2ef931ceb Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Mark tst_qquicktextinput as insignificant on Mac OS XSimon Hausmann2014-04-151-0/+2
| | | | | | | This will allow further integrations until QTBUG-38363 is fixed. Change-Id: I277628c55b893d199bd1886ee6eb9ff466860a05 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Stabilize tst_qqmlxmlhttprequest::stateChangeCallingContext() on Mac.Friedemann Kleint2014-04-151-1/+1
| | | | | | | | | | | | Fix fails: tst_qqmlxmlhttprequest::stateChangeCallingContext() '(object->property("success").toBool() == true)' returned FALSE. () Debugging reveals that in most cases the function loadComponent() is only called with parameter which=1; the call with parameter which=0 never triggers. Change-Id: I3c9c2f618d52c2bc8dd584a5fc3ab2f115715381 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Regenerate mipmaps after changing the imagedata of a texture.Gunnar Sletta2014-04-151-0/+1
| | | | | | | | | | This has been a latent bug since the class was written, but has only surfaced after 15999f14f146b5c04fb40b31b69ceeeece273430 when mipmapping was allowed for all QSGPlainTextures. Task-number: QTBUG-38321 Change-Id: I058e554c4035c573d2ddb4ea793d8ad53e11e54b Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Disable mipmap filtering by default in texture materials.Gunnar Sletta2014-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 15999f14f146b5c04fb40b31b69ceeeece273430 changed QSGPlainTexture so it allows mipmap filtering by default. This requires a call to glGenerateMipmap() for textures to be valid, if mipmap filtering is used. Our texture materials follow the GL default which is to use the somewhat useless GL_NEAREST_MIPMAP_NEAREST. As a result we've had a number of bugs where textures are used and the call to glGenerateMipmap() is omitted. This happens for instance when using QQuickTexture::createTextureFromId(). Generating mipmaps by default is also a serious performance regression. To remedy this and minimize the impact on existing code, we disable mipmapping by default. [ChangeLog][QtQuick][SceneGraph] QSGTextureMaterial and QSGOpaqueTextureMaterial uses QSGTexture::None as default mipmap mode. Task-number: QTBUG-38321 Change-Id: Ia9d09fbcf710efb4575938053d0a2046f604a197 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix assignments of null strings in QML and JavaScriptSimon Hausmann2014-04-125-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | Assigning "" to a string based property would exhibit inconsistent behavior: * When assigned as a literal, it would assign an empty string * When assigned from JavaScript, it would assign a null string When the assignment was done _to_ a QByteArray property, it would hit the case of calling QVariant::convert where the incoming variant is either an empty or a null string and the target is a QByteArray. For historical reasons - as documented - QVariant::convert will return false when the incoming variant is a null variant. In V8 assignment from JavaScript would produce an empty string and thus hit the "succesfull" conversion code path in QVariant to convert to a seemingly empty QByteArray. With v4 a null string would result in a failed conversion and spurious warnings as seen in the reported task. This patch ensures that we consistently map "" to a null string, when it comes from JavaScript or QML as a literal string. We now also detect the situation of trying to convert a (valid) null variant to another target type. Task-number: QTBUG-37197 Change-Id: I68f9031262fdd287d69a38d5468fb38a20441d7b Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* V4 IR: only mark blocks after iterator calculation as loop blocks.Erik Verbruggen2014-04-121-4/+2
| | | | | | | | | | When the iterator calculation contains a condition, newly created basic-blocks were marked as loop blocks. However, their parent was not the loop header. Task-number: QTBUG-38187 Change-Id: I9ee7a3e0bd536c2a005b91f8333931ce929245af Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Avoid event propagation with Keys.forwardToJ-P Nurmi2014-04-123-2/+159
| | | | | | | | | | | | | | | | [ChangeLog][QtQuick][Important Behavior Changes] Keys.forwardTo no longer propagates key events to the target item's parents. This makes Keys.forwardTo act more as expected, like an event filter. This way Keys.forwardTo becomes usable for composite types that want to enable the Keys attached property handling by forwarding key events from an internal editor. Task-number: QTBUG-37924 Change-Id: I66d1b7245df39678767e79d4bdd46fc15e5c5c3f Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix the initial value of XmlListModel::countJ-P Nurmi2014-04-103-1/+34
| | | | | | | | | QAbstractItemModel::rowCount() should under no circumstances return -1 or it will crash QSortFilterProxyModel. Change-Id: Ib3d4a57d5fc3761a7fc6f6925c3d25bdea20ce78 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Document QJSEngine as reentrant.Michael Brasser2014-04-101-0/+1
| | | | | Change-Id: I7fc41b33036bca6736bc24fa62522ce5d30ef1f4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* qmlplugindump: set isCreatable true in composite typesFawzi Mohamed2014-04-091-3/+2
| | | | | | | | | | | the qmlengine defines isCreatable as "is creatable through the C++ interface", for the qmltypes and qml code model it makes sense to define isCreatable as "can appear as component in QML" Change-Id: Ib26cf25dd5a70e1c03ce017e8ae572e8a9e562c1 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
* Reduce memory pressure on JS stack when garbage collectingSimon Hausmann2014-04-091-3/+8
| | | | | | | | | | | | As the identifier table grows with long running programs, we may end up allocating more identifiers than we have space left on the JS stack for them alongside all the other objects in the environment. To mitigate this, we can simply treat the identifiers as roots, mark them manually and only end up putting sub-strings onto the JS stack if necessary. Task-number: QTBUG-36183 Change-Id: Ie6994555305c84b007860792d066a8df60089847 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix unreliable behavior of array methods on qml list propertiesSimon Hausmann2014-04-095-5/+27
| | | | | | | | | | | Array methods such as forEach rely on the hasProperty boolean of getIndexed to be set appropriately. Some getIndexed implementation - such as the QQmlListProperty one - didn't initialize it correctly and therefore the behavior was undefined. Task-number: QTBUG-38088 Change-Id: I34bc3136d8cc2bc280397d0c4d5051e7d72269e8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add support for dynamic properties for QObjects in JavaScriptSimon Hausmann2014-04-092-3/+21
| | | | | | | | | | | | | | | | | In QtScript you could add properties to a JS object that wraps a QObject. Depending on the wrap option the property was either stored on the JavaScript side or as dynamic QObject property. In QJSEngine/QJSValue, neither was supported - properties could not be added. For QObjects wrapped in JavaScript that weren't created by QML, we can restore the behavior of storing dynamically added properties as JavaScript properties. This makes porting from QtScript to QJS* much easier. Task-number: QTBUG-37408 Change-Id: I5ef1f379c08c3d84de9bdcac9b6a9397238064de Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* ListView: fix rounding errorsJ-P Nurmi2014-04-094-7/+197
| | | | | | | Task-number: QTBUG-37339 Change-Id: I223e4d6bcabb1daa705c0ed2212e7e2b2fc3f37c Reviewed-by: Andy Shaw <andy.shaw@digia.com> Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Fix remaining QQmlLocale auto-test failuresSimon Hausmann2014-04-082-5/+5
| | | | | | | | | | | | | | | | Thanks to improvements in QDateTime's parser, we can unskip a bunch of tests. What remained was dateFromLocaleTimeString, which failed because it relied on the earlier behavior of a failed conversion from a _time_ string to a date also returning an invalid date object. This behavior is restored by leaving the QDateTime object as invalid unless the converted time is valid. In Qt <= 5.1, QDateTime::setTime would make the entire datetime object invalid if the provided time was invalid. In Qt >= 5.2 it remains potentially valid if the date at least is correct - which was the case here as it was initialized from currentDateTime. Change-Id: I32a2cd2a9631cca3b12773e4c55169baa3eeaf1a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix wrong register usage for integer binopsSimon Hausmann2014-04-081-23/+8
| | | | | | | | | | | | | | | | | | | | | | When doing of integers where we use a three argument variant of masm (lhs/rhs/target), we need three general purpose registers. If the target temp of the binop is a register, we use that as a target, otherwise fall back to ReturnValueRegister (scratch). In that case we don't need to move from RVR to target register. Additionally we need to load lhs and rhs into registers, and for the lhs we use the target register and for the rhs the scratch register. So we start by loading the lhs into the target register and the rhs into the scratch register. However if the rhs is already assigned to a register and that register happens to be the target register, then the earlier load of the lhs into the target register overwrote our rhs! This is fixed by being more careful in the choice of the target temp's assigned register as "scratch" register for the lhs, i.e. don't use it if the target temp is also assigned to the same register as the rhs. Task-number: QTBUG-38097 Change-Id: I2ffec55cb98818fa9ebb5a76a32b6dca72175893 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Zero memory in WinRT allocatorAndrew Knight2014-04-081-0/+1
| | | | | | | | | The memory is assumed to be zero-initialized, and this wasn't happening on WinRT. Task-number: QTBUG-38132 Change-Id: I8686a40dacdc20bd702cc43a067209bfa997e7b2 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* make accessibility plugin declare that it extends QuickOswald Buddenhagen2014-04-081-0/+1
| | | | | Change-Id: I62789da1ec45ad0647705dc5a7b509ff36c388f8 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
* Fix XHR auto tests always failingSimon Hausmann2014-04-082-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | The test (rightly so) expects that even for a 400 response, the responseBody must be preserved - as per commit 0949071f13e7bcbc16a0f07f496e0b6a23b04edd. However before commit fd5dd2712656cbc674c8360754394e41dd82e40c in qtbase, 400 was mapped to QNetworkReply::UnknownContentError, which is "handled" by QQmlXMLHttpRequest::error in the sense that the body is preserved. After the qtbase behavioral change, 400 now maps to QNetworkReply::ProtocolInvalidOperationError, which was _not_ handled, the body was cleared and the test failed. The revdep of qtdeclarative for qtbase should've caught the behavioral change in qtbase, but unfortunately the auto-test was disabled (marked insignificant). This patch adjusts the xhr implementation to the behavioral change in qtbase and also re-activates the xhr auto-test (we really should be testing our xhr implementation in the CI system...). Task-number: QTBUG-38180 Change-Id: I7655fd9037752ad644a98d01257bf5f81e7daa15 Reviewed-by: Mandeep Sandhu <mandeepsandhu.chd@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* Fix memory corruption in XHR implementationSimon Hausmann2014-04-081-0/+1
| | | | | | | | | | | | Now that the member data of Object is also on the GC heap, it is even more important to call the base implementation of markObjects when re-implementing it ;-) Fixes also three XHR auto tests (text, cdata and stateChangeCallingContext) Change-Id: Ifd033cac64a8cf27a9186d8cd9eb94369d8a60a5 Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>