summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Adds qgraphicsgridlayout & qgraphicstransform to autotest buildLeonardo Sobral Cunha2009-08-051-16/+18
| | | | | | Also removed tabs from auto.pro Reviewed-by: trustme
* Autotest: add QSharedPointer and QWeakPointer tests for QWidget tooThiago Macieira2009-08-053-1/+155
| | | | | | | | I don't want to link the tst_qsharedpointer test to QtGui, so I created a new test. This is testing only the basic manipulations. In special, it's not testing invalid constructs.
* Restore symmetry between QSharedPointer and QWeakPointer on QObjects.Thiago Macieira2009-08-051-0/+31
| | | | | | | | | | | | | | | | | | | | | | | With the previous commit, you could create a QWeakPointer from any QObject-derived object. It's possible because QObject now has a pointer to the QWeakPointer's d-pointer. However, if you did: QSharedPointer<QObject> obj(new QObject); QWeakPointer<QObject> weak1(obj); QWeakPointer<QObject> weak2(obj.data()); Then weak1 would shared d-pointers with QSharedPointer, but weak2 wouldn't. Also, weak1.toStrongRef() would work, but weak2.toStrongRef() wouldn't. This change makes QObject know where the d-pointer created by QSharedPointer is, so weak2 would get the same d-pointer. As a nice side-effect, you can check if a given QObject is shared by trying to promote its QWeakPointer to QSharedPointer. Reviewed-by: Bradley T. Hughes
* Add support for using QWeakPointer with QObject, replacing QPointer.Thiago Macieira2009-08-051-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | The problem with QPointer is that it's a simple QObject*. So the only way for QPointer to do what it's supposed to do is if the object it's pointing to clears all QPointers when getting deleted. That means the QObject must know each and every QPointer pointing to it. To make matters worse, QPointers can be deleted while the object they're pointing to also gets deleted. So deleting QObjects must do locking. The solution to the QPointer problem is that both QObject and the "QPointer" reference something outside the QObject. This way, QObject doesn't have to lock anything to destroy itself: it's simply setting a volatile integer to zero when it gets deleted. Since the integer is outside the QObject, the integer is also refcounted. It's also O(1), so there's no problem having as many "QPointer". The two-atomic-ints structure is exactly what QSharedPointer and QWeakPointer use internally. We just abuse this structure for QObject needs, setting the strong reference count to -1 to indicate that it's a QObject that cannot be managed by a QSharedPointer. But QWeakPointer can still work and replace QPointer neatly. Reviewed-by: Bradley T. Hughes Reviewed-by: Jarek Kobus
* Fix failing autotest tst_QPlainTextEdit::lineWrapModes()mae2009-08-051-1/+6
| | | | | | QPlainText edit does lazy line wrapping only for the visible blocks. Resizing the editor in the auto test thus has to make it wide enough that at least some characters are visible for the block to be laid out.
* Fixed setting a style shet on a QSpinBox to change the arrow possitionOlivier Goffart2009-08-051-0/+83
| | | | | | | If you only set the position, of the button without setting a geometry, it did not work. Task-number: 259226
* Fix regressions introduced by 31edb4d5a63b9b3c28cce1c4ca6eb99f62a09759Alexis Menard2009-08-051-0/+43
| | | | | | | | | | The commit 31edb4d5a63b9b3c28cce1c4ca6eb99f62a09759 introduced regressions in filters which breaks the mac native dialog, the non native dialog with HideNameFilterDetails activated. Task-number:259105 Reviewed-by:olivier Reviewed-by:prasanth
* sequential animation group: add autotest for pause/resumeThierry Bastian2009-08-051-0/+36
|
* Add benchmark for deleting an item with many children.Andreas Aardal Hanssen2009-08-051-0/+11
| | | | | Task-number: 229124 Reviewed-by: TrustMe
* Add benchmarks for QGraphicsItem::setParenItem().Andreas Aardal Hanssen2009-08-052-1/+26
| | | | | | | | | | Ensure we test simple and deep constructs of setParentItem(). These benchmarks don't cover slowness in ancestor flag updating. QVariant is already identified as a contributor to this slowness, as is updating of the depth value (a deep tree crawl). Reviewed-by: Aaron Kennedy
* Compile fix (QGraphicsItem::setXRotation was removed).Andreas Aardal Hanssen2009-08-051-13/+1
| | | | | | | a6ea9ce6990003856ecadcca8ce9ddf37949363d removed this function; the benchmark was not updated. Reviewed-by: TrustMe
* Merge AudioServices into mainline.Justin McPherson2009-08-0513-0/+765
|
* Merge branch '4.5'Bill King2009-08-053-4/+34
|\ | | | | | | | | | | Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
| * Get more database tests working/passing.Bill King2009-08-052-4/+18
| |
| * Fix ancestor flags that are not correctly update when reparenting.Alexis Menard2009-08-041-0/+16
| | | | | | | | | | | | | | | | | | updateAncestorFlags was not reseting the flags if you change the parent that have for instance itemsClipChildrenToShape to a new one that doesn't have that flag. Task-number:258956 Reviewed-by:bnilsen
* | Fixed bug where Q[Styled]ItemDelegate edition wouldn't terminate whenGabriel de Dietrich2009-08-041-0/+33
| | | | | | | | | | | | | | | | | | the item lost focus to an unrelated dialog. The tests against the active modal window was unnecessary. Task-number: 257859 Reviewed-by: olivier
* | Added input hints to QGraphicsItem.jasplin2009-08-041-0/+13
| | | | | | | | | | | | | | | | | | This patch allows for input hints to be set on a QGraphicsItem. Input methods use such hints to define its appearance/behavior (e.g. to allow for numerical input only). Reviewed-by: ahanssen Task-number: 254493
* | QParallelAnimationGroup pause resume fixedThierry Bastian2009-08-041-0/+33
| | | | | | | | | | | | | | | | | | If you resumed a parallel animation group, it would always restart (ie. stop and start) the animation which would reset its current time to 0 and trigger flickering. autotest included. Task-Number: 259102
* | QMenu now takes minimum width into account for the action rectsThierry Bastian2009-08-041-0/+12
| | | | | | | | | | | | | | The action now try to take advantage of the space given by a minimum width. Patch proposed initially by Aron Seigo and improved later on. Reviewed-by: Trustme
* | Fixes selectionModel::hasSelection return value after model::resetLeonardo Sobral Cunha2009-08-041-1/+1
| | | | | | | | | | | | | | | | | | | | After resetting the model, the selectionModel::hasSelection() of the view should return false. Fixed the corresponding autotest, which was wrong. Task-number: 256502 Reviewed-by: thierry
* | Fixed "Hightlighted menu items not always selected" bug.Gabriel de Dietrich2009-08-031-0/+36
| | | | | | | | | | | | | | | | Menu paintEvent was not called when the mouse cursor lied between the menu item area and the menu frame border. Task-number: 258920 Reviewed-by: olivier
* | Ensure that we never increase the strong reference count up from zero.Thiago Macieira2009-08-031-1/+124
| | | | | | | | | | | | Also add some thread stress tests to try and detect doing it wrong. Reviewed-By: Bradley T. Hughes
* | Change the pointer-tracking code to work everywhere.Thiago Macieira2009-08-034-2/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, if you create a QSharedPointer in code with pointer-tracking, you must ensure it gets deleted in code with pointer-tracking, otherwise the internal safety tracker will be "leaking" objects. The pointers would never get removed. And if any new pointer happened to have the same pointer address (which happens quite often), the tracker code would promptly abort the application. With this change, the untracking of the pointer is scheduled by the same code that creates the tracking. This is done by "abusing" the custom deleter code: - for the QSharedPointer that used ExternalRefCountWithDestroyFn already, we intercept the call to the destroy function and call the untracking function - for a normal QSharedPointer, we use the "normalDeleter" function as custom deleter and chain up above Note: the autotest only *really* works in release mode. Otherwise functions don't get inlined and do get merged by the linker. Reviewed-By: Bradley T. Hughes
* | Don't forget to delete the deleter object too in QSharedPointer.Thiago Macieira2009-08-031-0/+13
| | | | | | | | | | | | Destructors have to be run for the subobjects we initialise. Reviewed-By: Bradley T. Hughes
* | Remove the need for internal API in QSharedPointer.Thiago Macieira2009-08-032-41/+55
| | | | | | | | | | | | | | That way, this code can be compiled with an earlier version of Qt and should still work in new ones. Reviewed-by: Trust Me
* | Autotest: add a way to ensure that there are no safety-check pointers leakingThiago Macieira2009-08-031-0/+42
| | | | | | | | | | In the future, it would be nice to split the autotest in multiple functions at every check().
* | Merge branch '4.5'Thiago Macieira2009-08-0311-44/+369
|\ \ | |/ | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qsharedpointer.cpp src/corelib/tools/qsharedpointer_impl.h src/gui/dialogs/qcolordialog.cpp src/gui/painting/qwindowsurface_raster.cpp src/network/access/qnetworkaccessmanager.cpp tests/auto/qsharedpointer/externaltests.cpp
| * Autotest: disable the pointer-tracking tests in 4.5Thiago Macieira2009-08-031-0/+2
| | | | | | | | | | | | | | The functionality these tests tested was broken in 4.5 and has been disabled. Therefore, these tests simply cannot pass. It's fixed in 4.6.
| * Fix more database autotests.Bill King2009-08-032-4/+6
| |
| * Autotest: add a newline after the user program headers.Thiago Macieira2009-07-301-0/+1
| | | | | | | | | | | | | | | | If the user forgot to end their headers with a newline, the compilation would fail because the next line is #include <QtCore/QtCore>. Reviewed-by: Jesper Thomschütz
| * Disable benchlibtickcounter test by default.Rohan McGovern2009-07-291-3/+4
| | | | | | | | | | | | | | This test depends on some low-level features of the CPU and the OS scheduler which seem impractical to automatically verify independently of the test. So turn it off to stop its intermittent failures in our test farm.
| * Fixed failure of tst_qmake::simple_app_shadowbuild.Rohan McGovern2009-07-291-0/+1
| | | | | | | | Test needs a placeholder file to make sure its build directory exists.
| * Fixed failure of tst_moc.Rohan McGovern2009-07-291-1/+1
| | | | | | | | os9-newlines.h's lack of newline at end of file is significant.
| * Skip uic3 test when qt3support is disabled.Rohan McGovern2009-07-291-0/+3
| |
| * Fixed compile of tst_qitemeditorfactory.Rohan McGovern2009-07-281-5/+5
| |
| * Fixed failure of tst_q3urloperator.Rohan McGovern2009-07-281-5/+7
| | | | | | | | Make test use network-settings.h correctly.
| * Fixed failure of tst_q3socket.Rohan McGovern2009-07-281-6/+8
| | | | | | | | Make the test use network-settings.h correctly.
| * Fixed drawImage() so that it doesn't sample outside the source image.Kim Motoyoshi Kalland2009-07-281-19/+327
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In qt_scale_image_16bit() and qt_scale_image_32bit(), when a sample point was located on the border between two pixels in the source image, the sample point was rounded up instead of down. If a sample point was exactly on the bottom or right edge of the source image, the function would therefore sample a pixel outside the image. Because of how the target rectangle is rounded, a sample point will never be exactly on the top or left edge of the source image, so we will not get a similar problem there. I extended the lance test pixmap_scaling.qps. Task-number: 258533 Reviewed-by: Samuel
| * Fixed failure of tst_qlocale if run when LC_ALL is set.Rohan McGovern2009-07-271-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test tried to be unaffected by the locale environment variables set by the user by explicitly overwriting them and spawning a new process. However this was only done for LANG and not the other variables which can affect the locale. Do it for all the locale variables. Also, the previous approach (store the current value with qgetenv, then put it back with qputenv later) doesn't really work because that effectively takes variables which weren't set and sets them to an empty string, which is not the same thing. Use QProcess::setEnvironment instead. Reviewed-by: Andy Shaw
| * Fix a running external tests: user program headers must come first.Thiago Macieira2009-07-261-2/+2
| | | | | | | | | | | | No wonder QT_SHAREDPOINTER_TRACK_POINTERS was having no effect: there was an #include <QtCore/QtCore> before it. (cherry picked from commit 4c12010fac555bce0a6c8d69a267a56f4c15087f)
* | remove constructors that are not usefulKent Hansen2009-08-032-19/+16
| | | | | | | | | | | | | | The constructors that take a list of target states produce hard-to-read code, and they're rarely useful in practice since 99% of transitions take a single target state; so it's better to enforce that setTarget{State,States}() be used instead.
* | Fixes casing fails for databases that have variable casing support.Bill King2009-08-031-3/+5
| |
* | Revert "Fix QFormLayout which allowed fields to be smaller that their ↵Olivier Goffart2009-07-311-30/+0
| | | | | | | | | | | | | | | | | | | | | | minimum size" This reverts commit 244f5ee9c2c34ddee200e4d5cdc1345762a5901b. Valgrind complains about the label fields that are not inisialized yet, and indeed. They are initialized right after, and need the maxLabelWidth to be computed. This is a chicken and egg problem difficult to solve, so I rather revert the change as the bug is not critical
* | add private goToState() function to state machineKent Hansen2009-07-311-0/+41
| | | | | | | | Needed for Declarative UI integration.
* | test that activation and this-object can be inherited from parent contextKent Hansen2009-07-311-0/+30
| |
* | Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qtAaron Kennedy2009-07-3141-266/+1085
|\ \
| * | Added the windowflags manualtest which is based on the windowflags example.Denis Dzyubenko2009-07-306-0/+662
| | |
| * | Autotest: reduce the amout of data transferred to 128 MB, otherwise theThiago Macieira2009-07-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test wouldn't finish. Running under valgrind and slow operating systems, the transfer rate is only a couple of MB per second. As long as you can reach 3.2 MB/s now, it should still work Also, don't kill the thread, for any reason. That causes trouble. Reviewed-by: Markus Goetz
| * | Autotest: reorganise the HTTP performance testsThiago Macieira2009-07-301-125/+124
| | |
| * | Autotest: fix crash caused by deleting a QSharedPointerThiago Macieira2009-07-301-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The delete reply; was introduced by a conflicted merge in the VxWorks port. It should not have appeared. But take this opportunity to convert the two other uses of QNetworkReply* without lifetime management to QSharedPointer too. Reviewed-by: Markus Goetz