summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Introduce QScreen::grabWindow(), deprecate QPixmap::grabWindow().Friedemann Kleint2012-02-095-54/+64
| | | | | | | WId can be local to a screen. Change-Id: I09ca71313836a34dbf33289b254c80207a956bb1 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Allow customization of qDebug output at runtimeKai Koehne2012-02-093-21/+337
| | | | | | | | | | | | | Check the QT_OUTPUT_PATTERN environment variable in the default message handler to customize the output of messages. Following place holders are right now supported: %{message}, %{type}, %{file}, %{line}, %{function} The original cleanupFuncinfo was written by Thiago Macieira. Change-Id: I6ad25baaa0e6a1c9f886105d2a93ef3310e512a9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: David Faure <faure@kde.org>
* Initializes seqDumpPos on qiodevice.cppNick Ratelle2012-02-091-1/+2
| | | | | | | | | | | | | This was spotted by RIM static code checking team. seqDumpPos is a dummy variable which is only used on sequential mode. It is used as a simultaneous storage area of both pPos and pDevicePos when in sequential mode, to keep both in sync. They just suggested that it would be a good practice to initialize the variable, since it does not have any side effect, and there's not much value on not doing it. Change-Id: I8138729eb31df5779c91b368c2cfaecd39788f29 Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
* Add event type for TouchCancel.Laszlo Agocs2012-02-093-3/+12
| | | | | | Change-Id: Id8b68e5cb19a2a325139e3241647cc36581cf6f8 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Preserve weight and style request for multi font enginesJiang Jiang2012-02-092-5/+7
| | | | | | | | So that fallback fonts can pickup the weight/style requested instead of using the weight and style of the primary font. Change-Id: Ia592e079cad61334f21e0453412b198a900bb6b6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Various documentation fixes ported from 4.8Teemu Katajisto2012-02-0910-11/+38
| | | | | | | | | | | | | | | | | | | Selected documentation fixes for qtbase from 4.8 commit 40fb4750910e23d3e7128ca8e0f1c5920b05bd5a Task-number: QTBUG-8625 Task-number: QTBUG-19808 Task-number: QTBUG-1231 Task-number: QTBUG-21073 Task-number: QTBUG-8939 Task-number: QTBUG-20399 Task-number: QTBUG-20944 Task-number: QTBUG-22095 Task-number: QTBUG-11278 Task-number: QTBUG-15653 Change-Id: Ia4f59fce7c85f04b6da953a3988f705d9d9a658a Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Take into account shaping in findRealWindowAlbert Astals Cid2012-02-091-3/+25
| | | | | | | | | | | | | | It can happen that there is a window covering all the screen but it is shaped to only take part of the screen. If that happens, besides the condition of QRect(attr.x,attr.y,attr.width,attr.height).contains(pos) we also need to query the server for its region rectangles and make sure the cursor is inside one of those rectangles. If that does not happen we have to return 0 so the hierarchical xcb_query_tree_children xcb_query_tree_childrenntinues Change-Id: I67327672e3d854d064190b55a07bd56ade4dfddb Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Uli Schlachter <psychon@znc.in> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Eliminate a warningJiang Jiang2012-02-091-2/+2
| | | | | Change-Id: I984821d90df272b85d02c6ee0db5a89174d80873 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Replace Q_WS_WINCE against Q_OS_WINCE.Andreas Holzammer2012-02-092-2/+2
| | | | | | | | | | Window system Macros where deprecated so use Q_OS_WINCE for now. This code will need some refactoring, but this is the first step to it. Change-Id: I5876b80ee45d4b38ac63fc7d51e775dc70bbd485 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QSqlTableModel::insertRecord(): clean up after failed setRecord()Mark Brand2012-02-091-1/+4
| | | | | Change-Id: Ic9f314144bd3ccf4b59b9cb3f0d79f8d6f97a824 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Remove leftover show() prototype.Andreas Holzammer2012-02-091-4/+0
| | | | | | | | | | | | In Qt4.8 this was declared in qwidget_wince.cpp. It was for auto maximizing. This would need to go into lighthouse if needed. This fixes the Windows CE compile. Change-Id: I6fe8361f745e16d9e8053ab58eb76ead0b22d261 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QSqlTableModel::setRecord(): improve handling of field mappingMark Brand2012-02-091-12/+22
| | | | | | | | | | -Only use fields where generated flag is set to true. -Require all fields to map correctly. If fields don't map, that is a sign of a programming or user error. Change-Id: Ie8474393005de6c9926b4e46985d62b194eafde2 Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* QSqlTableModel::insertRecord(): correct documentationMark Brand2012-02-091-3/+3
| | | | | Change-Id: I35680f842a650493cf530c0b74894e2b45aa3c6e Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
* Don't link shell32 for Windows CE.Andreas Holzammer2012-02-091-1/+3
| | | | | | | | | Windows CE normally don't come with a shell32, so its better to don't use it. Change-Id: I7198b5fadb0dfe37d1321800371110b7b407f577 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Avoid advancing animations outside the animation "tick"Gunnar Sletta2012-02-093-2/+9
| | | | | | | | | | | | | | | We have logic to prevent animations from starting in the middle of an animation as a result of a previously slow frame. This was based on current time, not the animation driver time and would cause severe jumping when custom animation drivers were being used. Also, this logic would trigger multiple animation runs per frame, which is very bad for performance, so this change introduces a threshold of 50ms to compensate for that. 50ms because that is triplebuffer limit. Change-Id: I1c7ebac30060e849d03c14d62411c2b953854d98 Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
* Fix compile with QT_NO_OPENGL.Andreas Holzammer2012-02-093-0/+9
| | | | | | Change-Id: Icade54a6e3b43fdc9c151efbc25adcef6b7e41d6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Introduce Q_DECLARE_OPAQUE_POINTERJoão Abecasis2012-02-096-40/+40
| | | | | | | | | | | | To hide the IsPointerToTypeDerivedFromQObject monstruosity :-) Documentation for Q_DECLARE_METATYPE and qRegisterMetaType was updated to mention requirements on registered types and how they can be circumvented for pointer types with the new macro. Change-Id: If83b037a8e2f28761eb903525e87008107298801 Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Build with QT_NO_CAST_FROM_BYTEARRAYStephen Kelly2012-02-081-1/+1
| | | | | | Change-Id: I9069b61c6247bdff323e2e5e93b70e42c3504201 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: David Faure <faure@kde.org>
* Fix compilation of Menubar for Windows CE.Andreas Holzammer2012-02-083-4/+7
| | | | | | | | | | | Use QApplicationPrivate::getHWNDForWidget for getting the HWND for Widgets. The Menubar needs refactoring, but the API for native Menubars is not in place yet, so fix it temporarily. Change-Id: I090cca99d19aa881c2f41b54005a65f3ae67ae68 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add missing include of qdrawutil.hAndreas Holzammer2012-02-081-0/+1
| | | | | | Change-Id: Ifda1e3a0fbe1ee3431374722878d5cde86ef3916 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* realpath(X,0) IS supported on QNX.Nick Ratelle2012-02-081-1/+1
| | | | | | | | | Adds check for Q_OS_QNX to force QFileSystemEntry QFileSystemEngine::canonicalName() use realpath(X, 0) on QNX as well. Change-Id: Id0a32277e6d043753c42101c91a393ebedb48a0a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fixed CustomDashLine drawing bug.Samuel Rødal2012-02-081-1/+3
| | | | | | | | | | | The bug was caused by attempting to stroke an empty subpath. If there have been no line-to's emitted we should not try to join the start and end of that line segment. Task-number: QTBUG-23248 Change-Id: I38b7e955ed6683f8fc25f9551e93b4f472c022bf Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com> (cherry picked from commit 593947ba70188df3d33efe031fab2fd255faa8b9)
* Use qgetenv instead of getenv.Andreas Holzammer2012-02-081-1/+1
| | | | | | | | | Use the Qt Version because platforms like Windows CE don't support getenv. Change-Id: I95ca4d7194e09889ab228af80e679a3c34479e41 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Treat pointers to QObject derived types in QVariant specially.Stephen Kelly2012-02-081-10/+62
| | | | | | | | | | | | | | | | It is possible to do this for example: QVariant v = QVariant::fromValue<MyCustomQObject*>(); QObject *object = v.value<QObject*>(); This means that if a QVariant contains a pointer to a QObject derived type, third parties can extract a QObject* and use its properties without knowing the concrete type. This is a source compatible change. Change-Id: Iee9a9437e99cc2f40d1a4bfea47275482ef7161f Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Mac: Fix compilation with -qtnamespaceKai Koehne2012-02-081-0/+4
| | | | | Change-Id: I85559b6698103eef865464a355d9b00012dcbd5f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* QSqlTableModel::setRecord(): emit dataChanged() consistentlyMark Brand2012-02-081-10/+5
| | | | | | | | | | | | | | | Previously, if any fields in the supplied record could not be matched with a column in the target table, dataChanged() was supressed for all columns for OnManualSubmit. This is not good because it prevents other views from noticing the fields that *do* change. It's simplest and probably more efficient just to emit dataChanged() once for the whole row. Fewer signals need to be processed and in typical cases much or all of the row is likely to be changed anyway. Change-Id: Ib56bf9a18e51b9cb85771acefcb2bf26e295a54e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QSqlTableModel::setRecord(): do not try to detect value changesMark Brand2012-02-081-9/+2
| | | | | | | | | | | | | | | | | | | | | | | In an apparent attempt to be economical with emitting dataChanged() and submitting SQL to the databse, setRecord() compares each field value of the record with the old value, taking action only when a difference is detected. Several complaints against this code are: -The comparision does not work on float type. -It is really up to the application and database to decide this. The model should make few assumptions. The application has the option to omit fields from the record that should be ignored. -The current behavior seems to assume that the "old" values are the current state of the database, but the database may have changed since the model was last refreshed. -The code compares the value from record(), which probably corresponds to the EditRole, with the DisplayRole value from data(). Change-Id: I11477c185eb411d442144dc682893d0df12d03d5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QSqlTableModel::setData(): submit() instead of updateRowInTable()Mark Brand2012-02-081-10/+3
| | | | | | | | | | Use submit() instead of calling updatRowInTable(). The effect is exactly the same. Submit() invokes submitAll() which invokes updateRowInTable(). The cache is purged and select() is called only on success. Change-Id: I3de9a3d6acf802ee6594d034a9e261e53637995d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QSqlTableModel::setData(): call dataChanged() before select()Mark Brand2012-02-081-2/+1
| | | | | | | | | Emit dataChanged() before a possible new select instead of after. The select reinserts all the rows, emitting signals for that, so there isn't any point to dataChanged() afterwards. Change-Id: I698a0d385f97104891343d94cc27e4ecf3a7233c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QSqlTableModel: do not suppress dataChanged() on inserted recordMark Brand2012-02-082-18/+16
| | | | | | | | | | | | | | | | | | | Affects setData() and setRecord(). Previously dataChanged() was suppressed when editing an inserted record, except for OnManualSubmit. The motivation was probably to allow setData() to be used while handling primeInsert(). Suppressing dataChanged() is not a good idea since views other than the one which made the change will not know of the change. It is a terrible idea to call setData() or setRecord() while handling primeInsert(), so this is now expressly forbidden. setData() and setRecord() now do nothing and return false if called while rows are being inserted. Change-Id: I96738c09a6268704c5626d95b72bfb46378e3242 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QSqlTableModel::setRecord(): use submit for OnFieldChangeMark Brand2012-02-081-1/+1
| | | | | | | submitAll() is supposed to be for OnManualSubmit. Change-Id: Id0335fe731669bd24e1da72ab4724f88d6f1d905 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* fix msvc 2008 warning about downcasting to boolOswald Buddenhagen2012-02-081-1/+1
| | | | | | | | | | | | the compiler doesn't have static_assert yet, so we ran into the path which was not fixed by 10229ae. use !!() pattern instead of bool() cast, as the latter throws off macx (see 95d7abb). the other alternative - a c-style cast - would cause autotest failures (see 92464fa), and would be ugly anyway. Change-Id: Idbe9a3b60e17ae1f566f938d9b9be04f0c977492 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* QTextEdit cursor position fix when moving left/right with selectionPasi Matilainen2012-02-081-6/+20
| | | | | | | | | | | | When text has been selected in a QTextEdit and the left or right arrow key is pressed, the cursor moves one character beyond the start or end of the selection, when it shouldn't move past the selection. Fixed by moving the cursor to the right place when a selection is active. Task-number: QTBUG-22853 Change-Id: I9ea1863436db98627a6fd041ce554cf10be26493 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com> (cherry picked from commit 1b031759ddfdab9703dfecac13f1ed318da3dafe)
* Fix compilation with -Werror -WshadowDavid Faure2012-02-082-6/+6
| | | | | Change-Id: I2ef8f288415820fa08e5bab8b99a00b1ad0f2988 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use Q_PROCESSOR_* when chosing an atomic implementationBradley T. Hughes2012-02-084-84/+12
| | | | | | | | | | Use the new Q_PROCESSOR_* macros to decide which headers to include in the atomic implementation. This also removes qatomic_arm.h, which isn't needed anymore, just select the correct qatomic_armv*.h from qbasicatomic.h Change-Id: I954848feafb8c420949d066ffcee1dd2b271e13b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add qprocessordetection.hBradley T. Hughes2012-02-083-0/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This detects the target processor based on preprocessor #defines, setting Q_PROCESSOR_${FAMILY} accordingly. Optional Q_PROCESSOR_${FAMILY}_${REVISION/VARIANT} #defines are also provided, usually dependent on how the compiler is invoked. Currently detected families (and variants) include: ARM (v5, v6, and v7) X86 (i386 and x86_64, as X86_32 and X86_64 respectively) IA-64 MIPS (I, II, III, IV, 32, 64) Other families that currently are not detected, but Qt has (or had) support for include: Alpha AVR32 Blackfin PA-RISC PowerPC (optional 64-bit variant) S390 (and S390X 64-bit variant) SH (and SH-4A) SPARC (SPARC V9) Detection for these is currently commented out, and can be easily enabled later. Change-Id: I571f245c189b9d80c7c3a5369ac595a271f37c8b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix QProcess compile for Windows CE.Andreas Holzammer2012-02-082-4/+6
| | | | | | | | There are no Pipes under Windows CE, so take out the pipereader. Change-Id: I3e6afd403ed36e86a8694674f6c4798f1226ff74 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Disable Assertion messagebox for unittests.Andreas Holzammer2012-02-081-0/+1
| | | | | | | | | | | | | A messagebox will be shown for an assertion in debug mode. This introduces a need for user interaction to proceed the execution of the unit test. Setting the Report mode to debug, will only print the assertion to stderr. Change-Id: If8ae80ea96d6608cba77b9c6ca176f97d1680932 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fixed source composition with opacity in the raster paint engine.Kim Motoyoshi Kalland2012-02-081-0/+2
| | | | | | | Task-number: QTBUG-24075 Change-Id: I2b9263364bf30fb8c914823e80e7ea4a8af26035 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Initialize dynamic meta object extradata.Andrew den Exter2012-02-081-0/+1
| | | | | | | | | | QMetaObject::invokeMethod attempts to deference the extradata for meta objects versions 6 and greater which is causing a crash in some of the qtquick1 tests. Change-Id: If5b2ca83b15de2cd558976c6b681dd5457c404d1 Reviewed-by: Chris Adams <christopher.adams@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Fix position of a comment.Jędrzej Nowacki2012-02-081-3/+2
| | | | | | | The comment was wrongly placed. It describes v_cast function. Change-Id: I2390e4bf1fc19136bbbecbae4be83d5320ca244f Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Code cleanup and micro optimizations in QMetaType.Jędrzej Nowacki2012-02-082-61/+67
| | | | | | Change-Id: I0fbd713fcdf094f9d13acee855b6dd6986695e0d Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Don't include qguifunctions_wince.h in QtCore.Andreas Holzammer2012-02-081-1/+0
| | | | | | | | | | qguifunctions_wince.h does not live anymore in QtCore, but instead in QtGui, so do not include them in QtCore. Change-Id: I22222ae7045ee0140924197ac583a3bf2e0f3d36 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Make copy and cut methods work in QAccessibleTextEditJosé Millán Soto2012-02-081-4/+11
| | | | | | | | | | Correct the implementation of cutText and copyText in QAccessibleTextEdit so they use cut() and copy() methods of QTextEdit Cherry picked from Qt 4 - 36202cf8fca822492615d418bd563a40bee4af08 Change-Id: I86a531ed7059b1a928cb8515c2743d4d8b596b36 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Add 'AllButtons' into Qt::MouseButton enum, for use by QMLRick Stockton2012-02-081-0/+1
| | | | | | | | | | | | This allows the QML programmer to set 'acceptedButtons', for a MouseArea, to accept all buttons with a single value. In comparison with OR'ing a long list of Qt::MouseButton values, this is shorter, easier, more clear, and less error-prone. Task-number: QTBUG-24106 Change-Id: I0259969223c0b44b6ce8ae84aed37d20cb77999b Reviewed-by: Alan Alpert <alan.alpert@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
* Fix compilation with MinGW-w64Jonathan Liu2012-02-085-3/+22
| | | | | | | | | | | | | | | Fix compilation with MinGW-w64 with the following changes: - Include intrin.h to fix __cpuid not declared error - Include intrin.h before *mmintrin.h headers to avoid extern linkable mismatch - Use quintptr instead of unsigned long to handle LLP64 - Do not declare winuser.h structs already provided with MinGW-w64 - Work around IID_IShellItem being declared but not defined with MinGW-w64 - Remove incorrect use of SUCCEEDED macro on pointer Change-Id: Ia21f8e3a1d225cf501e646eacd968bfc744ce0a2 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix warnings in input contexts.Friedemann Kleint2012-02-082-2/+2
| | | | | Change-Id: Idbd46b8bfe73015cce98d510992b3bb57c1e1ded Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Add the mkspecs dir to the include dirs.Stephen Kelly2012-02-081-0/+2
| | | | | | | Change-Id: If844785d7d3645c33e0fcb1206cc52f8ab644070 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* testlib: Clear ignored messages after every data rowJason McDonald2012-02-083-5/+11
| | | | | | | | | | | | | | | | | | | | Previously, ignored messages were only cleared at the end of each test function, i.e. after all data rows were finished. This meant that if a data row in a data-driven test function didn't cause all of the expected messages to be generated, the remaining messages would be carried over to the next data row. This would result in errors about missing messages being associated with the last data row rather than with the correct data row. This commit makes testlib check for missing ignored messages after running each data row rather than only doing so after the last data row. This commit also adds a regression test to demonstrate that ignored messages can no longer be carried over from one data row to another. Change-Id: Ibee51aa6e96866fbcbcb4acee1a8340a86a6a4ba Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* testlib: Clear expected failures after every data row.Jason McDonald2012-02-083-2/+10
| | | | | | | | | | | | | | | | | | | | | | Previously, expected failures were only cleared at the end of each test function, i.e. after all data rows were finished. This meant that if a data-driven test function called QEXPECT_FAIL and then didn't perform any further verification steps to trigger the expected failure, the expected failure would be carried over to the next data row, probably causing the first verification step in the test function to XPASS (with a seemingly irrelevant error message) for the next data row. This commit adds the new function QTestResult::finishedCurrentTestData() to cleanup after each data row is executed. This function treats calls to QEXPECT_FAIL without subsequent verification steps as a test failure. This commit also adds a regression test to demonstrate that expected failures can no longer be carried over from one data row to another. If run against the previous version of testlib, the new test would report a pass instead of an error. Change-Id: Ida5c7f080815b0dca9531131fed582b0918334cb Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>