summaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add a way to reproduce testlib selftest dataFrederik Gladhorn2014-01-061-0/+119
| | | | | | | | | | | | | | | | | | | | | | | | This makes testlib a lot more hackable since when the output is changed in a defined way we can regenerate the expected output (eg adding the test duration which will be a follow-up patch). Note that the script does not work properly on Windows and not all benchmarks work, but at least it reduces the work of adapting files to a few lines. Change-Id: I910387cd92ff82aa629747a3a3033dae17fbd711 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Update tests to normalizes the paths by using script.Frederik Gladhorn2014-01-0686-537/+533
| | | | | | | | | | | | | | | | The newly added generate_expected_output.py was used to get the expected output into a more reproducible state. Change-Id: I1ca75c8e0c5778d25c1df531bd298007aac0ff4a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | OSX: support fake fullscreen and etcLiang Qi2014-01-031-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | * Fix QCocoaWindow::setGeometry() to respect WindowFrameInclusive * Support fake fullscreen on 10.6 or WindowFullscreenButtonHint was not set on 10.7 and later * Fix tst_qwindow on 10.6 and later Task-number: QTBUG-23059 Task-number: QTBUG-34629 Change-Id: I6e032ca55b45674388b00506a424d3bd7ece429f Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-01-031-0/+30
|\| | | | | | | Change-Id: Id13badc270db98806048753fd7fb658aa17f1ede
| * Avoid crash due to accessing deleted QWidgetWindow objectJian Liang2013-12-241-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change childWidget->windowHandle() to childWidget->internalWinId() in q_createNativeChildrenAndSetParent() to determine whether should we call childWidget->winId(). This is because in some circumstances Qt will crash due to accessing deleted QWidgetWindow object if we use windowHandle(). Think about the following scenario: 1) create a widget A without parent and add two child widgets B and C to A 2) create a native widget D as the child of B, note that when we set Qt::WA_NativeWindow attribute to it, its QWidgetWindow will be created which means its windowHandle() is not null. 3) create a top level widget E as the child of C and show it. This will make Qt call createWinId() to A and then q_createNativeChildrenAndSetParent() will be called to create A's native children recursively and finally make D's QWidgetWindow object become a child of A's QWidgetWindow object. Please note here that B will not become a native widget just because at that moment windowHandle() of D is not null and Qt will not call winId() to its parent B 4) Set A's parent to another widget which has been shown, setParent_sys() will be called to A and then Qt will call destroy() to A. in destroy() Qt will try to call destroy() to its children recursively with a condition that the child has Qt::WA_NativeWindow been set. But D's parent B is not a native widget right now so B and D is not destroyed. Qt will then deleted the QWidgetWindow object of A, since E's QWidgetWindow object is a child of A's QWidgetWindow object, it will also be deleted. Now E hold a deleted pointer of QWidgetWindow object. This is the source of crash later. Task-number: QTBUG-35600 Change-Id: I97a20a68e626ee62b15bb4eae580e26f8948923b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2013-12-246-13/+47
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-246-13/+47
| |\| | | | | | | | | | Change-Id: I2defae1904154283446b069d151c3ef57302ec7b
| | * Use the short time format of the current locale on WindowsThiago Macieira2013-12-162-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | Windows 7 and later have LOCALE_SSHORTTIME, which is what we need. Task-number: QTBUG-33718 Change-Id: I4c3f113d17102a37fb752de56f06b312f27c7887 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-12-161-2/+3
| | |\ | | | | | | | | | | | | refs/staging/stable
| | | * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-121-2/+3
| | | |\ | | | | | | | | | | | | | | | Change-Id: I0cd3b1b33e6d9bec729d941b06aeeb3d21851820
| | | | * Windows command line parsing: Do escape backslash.Friedemann Kleint2013-12-061-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will break network paths passed as command line arguments. Introduced by 4ff6951550cb6e39c3b31895c3af57037e90c9ac . Task-number: QTBUG-35432 Task-number: QTBUG-30628 Change-Id: Ice9ce15275ef69e9e9e82daf5a303e7c56294368 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * | | fix parsing of bound SQL statements for PostgreSQLIsrael Lins Albuquerque2013-12-163-5/+26
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PostgreSQL allows bound variables inside square braces. Task-number: QTBUG-34541 Change-Id: I4f069b3f1078d4cdf172fbac9e0d7d23d20d167a Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | / / Fix regression in property handling with enums from gadgetsSimon Hausmann2013-12-244-1/+119
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | When declaring a Q_PROPERTY(SomeType::SomeEnum foo ...) and SomeType is not a QObject but a gadget, then we must still include SomeType's meta object in the list of related meta objects. Task-number: QTBUG-35657 Change-Id: I46195140cb5d180c4f03bb1fe06a876e3fe11267 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-2321-8/+314
|\ \ \ | | | | | | | | | | | | refs/staging/dev
| * | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-1621-8/+314
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qplatformtheme.h tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp tests/auto/widgets/widgets/qspinbox/tst_qspinbox.cpp Change-Id: Iecd3343d6a050b8764f78d809c4a1532aeba69e5
| | * | Check if device is opened before trying to create image handler.ABBAPOH2013-12-121-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I60f1f6890fdd73e489da4aab9928370163f55f58 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: aavit <eirik.aavitsland@digia.com>
| | * | Stabilize tst_qabstractitemviewMarc Mutz2013-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Attempt to fix FAIL! : tst_QAbstractItemView::task200665_itemEntered() Compared values are not the same Actual (spy.count()): 0 Expected (1) : 1 Loc: [tst_qabstractitemview.cpp(1292)] which might have been introduced by removing the absolute qWait(200) in favor of qWaitForWindowExposed() in afe8e368, so trying to compensate with a QTRY_COMPARE. Change-Id: Id437acd810b54e005daaf66ffffd4dd586075ab6 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | QProcess/Win: allow child processes to change modes of the stdin pipeJoerg Bornemann2013-12-104-1/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be able to call SetNamedPipeHandleState on stdin in a child process, we must create a read-end pipe handle with the FILE_WRITE_ATTRIBUTES flag set. This can't be done with CreateNamedPipe but only with CreateFile. Therefore we're creating the handles for the child process always with CreateFile now. Besides, it's conceptually cleaner to have the server handle of the named pipe in the calling process. [ChangeLog][QtCore][Windows] Fix regression from Qt4 in QProcess. It wasn't possible anymore to alter pipe modes of stdin in child processes. Task-number: QTBUG-35357 Change-Id: I85f09753d0c924bdc8a6cef1ea5dbe6b2299c604 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * | QUdpSocket auto test: disable Socks5 over UDP for new test serverPeter Hartmann2013-12-101-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... because they fail on the new test server. This commit can be reverted once the Socks5 socket engine is fixed. Task-number: QTBUG-35490 Change-Id: I85635d4b44d26168d40a56b7a121693297564f0f Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
| | * | SSL: blacklist ANSSI intermediate certificatePeter Hartmann2013-12-101-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... because it was used to operate a man-in-the-middle proxy. Task-number: QTBUG-35474 Change-Id: Ic7f19708b278b866e4f06533cbd84e0ff43357e9 Reviewed-by: Richard J. Moore <rich@kde.org>
| | * | Add QFileDialog::ShowDirsOnly to manual dialog test.Friedemann Kleint2013-12-102-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-35396 Change-Id: I6ccb59d6bd3857aea66911e03200f28d093e57b4 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| | * | fix Windows CE commentsJoerg Bornemann2013-12-091-2/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib42c456c236f59727dddd6a111dfe0946fff1aef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | Fix quadratic behavior in QMetaObjectBuilder when writing string tableSimon Hausmann2013-12-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QHash::key() is O(n) and we're calling it n times. That can make repeated calls to the meta object builder very slow, as for example QQmlPropertyMap when inserting properties repeatedly. Fortunately this is easy to fix, as the value in the hash map is also the index, so we can simply iterate over the hash once. With the exception of the class name, which we have to treat specially to ensure that it is always the first entry in the string table. Task-number: QTBUG-32720 Change-Id: Ic954c45c454107feee83216131f601cc69d4c63b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * | Windows: Don't cover the taskbar when maximizing frameless windowsSérgio Martins2013-12-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Brings Windows QPA on par with other platforms. [ChangeLog][Windows] Don't cover the taskbar when maximizing frameless windows. Task-number: QTBUG-8361 Change-Id: Iba35132f697cb7379650a4c883b616c5c2023d4c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | * | QCommandLineParser: pluck some low-hanging fruit re: exception safetyMarc Mutz2013-12-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make QCommandLineParser::add{Help,Version}Option() QCommandLineOption::setDefaultValue() QCommandLineOptionPrivate::setNames() have transaction semantics: either they succeed, or they change nothing. It's trivial to provide this guarantee, so do it. Add a test for the surprising property that setDefaultValue("") resets defaultValues() to an empty QStringList instead of one that contains the empty string. Change-Id: I61623019de3c7d2e52c24f42cc2e23ec5fddc4da Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QTimeZone: Fix isValidId()John Layt2013-12-061-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix isValidId() which was failing valid IDs because it was splitting name parts by \ instead of /. it was also rejecting offset from UTC formats names. Add unit tests. Task-number: QTBUG-35025 Change-Id: I4d23d2e54f4a9fac9afcc4eff0a02d6f4af21385 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * | QSpinBox: allow positive values to be entered with the '+' prefix.Mitch Curtis2013-12-051-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was there to do it, but it was using minimumValue instead of maximumValue to test if the '+' should be allowed. Task-number: QTBUG-20691 [ChangeLog][QtWidgets][QSpinBox] Entering positive values with the '+' prefix is now allowed. Change-Id: Iff62d073e350dc9a33b7e06e4b492048c74437c4 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Frederik Gladhorn2013-12-056-2/+98
| | |\ \ | | | | | | | | | | | | | | | refs/staging/stable
| | | * | Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2013-12-056-2/+98
| | | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-ios-clang/features/default_post.prf tests/auto/widgets/widgets/qmenu/tst_qmenu.cpp Change-Id: Iaba97eed2272bccf54289640b8197d40e22f7bf5
| | | | * Make layoutDirection pass with new expose behaviorMorten Johan Sørvig2013-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QMenu with no actions gets a size of (0, 0) on OS X. With the new stricter expose event behavior this is considered invalid geometry and the platform plugin won't send an expose event, causing the qWaitForWindowExposed test to fail. Add a menu entry since the layoutDirection test is not really interested in testing the special case of empty menus. Change-Id: I5221dc3f0472ac13edf821df08bacc3a4eb5cd9d Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | | * QtConcurrent: Workaround GCC bug 58800 in median calculationNikolai Kosjar2013-12-033-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2) 2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2. Task-number: QTBUG-35058 Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | | | * Stabilize tst_QGraphicsItemMarc Mutz2013-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cursor() test was missing a QTest::moveMouse() before sending of the mouse event (as all the following subtests do). When run on a desktop with the panel on the left side of the screen, the mouse pointer would land over the left item instead of in between them, as assumed by the subtest, and the following QCOMPARE failed. Change-Id: Ib74fdf0cfbfbc8ecb79a906610a2da5cb50c89d0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | | | * Stabilize tst_QColumnView::dynamicModelChanges().Friedemann Kleint2013-12-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QTest::qWaitForWindowExposed() and QTRY_COMPARE() instead of hardcoded timeout. Task-number: QTBUG-35308 Change-Id: I27eee9932dd3b6087db4ad13b1a4fb184a487f57 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* | | | | Enable QSqlError to handle alphanumeric error codes.Marcel Krems2013-12-202-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some database systems (like PostgreSQL) use alphanumeric error codes. Introduce a new method nativeErrorCode() which replaces number(). If the error code cannot be converted to int, number() will return 0. Task-number: QTBUG-142 Change-Id: Ic7fba841737674b75c0c01c2263f51d2041da497 Reviewed-by: Mark Brand <mabrand@mabrand.nl>
* | | | | QAbstractSocket: fix setReadBufferSize from readyRead slot.David Faure2013-12-201-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a slot connected to readyRead, if the app detects that the buffer size is too small and increases it, it expects that readyRead() will be emitted again. setReadBufferSize() doesn't re-enable the socket notifier when calling from within readyRead, and readyRead itself was missing the code to do it. Change-Id: Ia00a3066ad3ba09d5cfae0716adc5691ae96c3fa Done-with: Thiago Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | | d3dcompiler_qt: Remove directory creation inside the proxy libraryAndrew Knight2013-12-191-8/+21
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use of mkpath/mkdir is removed in order to make the proxy less invasive when there is no compiler service running. Creation of the directory structure is fully the service's responsibility. Service availability is now only checked once, at the first invocation of D3DCompile, as it is expected to be started before the application. Change-Id: Ib8c4f062c418497c2253daf524654e1db30dae47 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | | QNetworkCookie: allow cookies for IPv6 domainsPeter Hartmann2013-12-131-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For IPv6 addresses don't call toAce as it returns the empty string. We should reflect the behavior of browsers here, which all accept cookies from IPv6 addresses. Original-patch-by: David Tapuska <dtapuska@blackberry.com> Task-number: QTBUG-35022 Change-Id: Ic00369e923d044ec459822b2405865c13e4185b6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | QNetworkCookie: allow cookies for IPv4 domainsPeter Hartmann2013-12-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the domain is an IP address, we should not do any magic regarding leading dots etc. Task-number: QTBUG-35022 Change-Id: I7722de4e6027666dde27e9e37b6353e3da775d94 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | Add the UTF16-to-Latin1 in-place converterThiago Macieira2013-12-131-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is only possible for two important reasons: 1) QString and QByteArray d pointers are both done with QArrayData and that class does not care that the alignof(T) changes from 2 to 1, so we can give the pointer from QString to QByteArray (after adapting the allocated size, which is now double) 2) conversion from UTF16 to Latin1 always has fewer bytes (exactly half) Change-Id: I17b2690c910f3de8db55156c6d6b5f55be06d827 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | tst_qlinedit: Create a new test widget on demand for each test.Friedemann Kleint2013-12-121-36/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test used a member testWidget that was cleared and reset after each test, which caused focus fights and side effects. The widget is now created and shown only when necessary. Change-Id: I0dc635e9d4cdf4f899994b88206bb0125526f6df Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | | | Fix erroneous exclusion of classes from related meta objects in mocSimon Hausmann2013-12-123-1/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assume an unrelated class that declares an enum and uses Q_ENUMS. Consider then a class that uses UnrelatedClass::Enum as a Q_PROPERTY. We used to include UnrelatedClass in the primary class's related meta objects, in order to support use-cases like obj->setProperty("enumProperty", "ValueOfEnumAsString"); If however moc happens to see Q_DECLARE_METATYPE(UnrelatedClass::Enum), then it would exclude it from the related meta objects, which would silently break the string based enum value conversion. This was meant as an optimization, but it isn't apparent to the developer why sometimes the string conversion would work and sometimes not (depending on whether somebody declares that macro). This also becomes visible in QML, which relies on the same embedded type information for enum assignments. This patch removes that check in moc's code generator and cleans up the code a little. However always including the prefix of Q_PROPERTY(SomePrefix::Enum ...) is not correct either, because it may be that SomePrefix is a namespace, which would cause compilation issues. Therefore we limit the inclusion of related meta objects only to Q_OBJECT decorated classes the moc has seen, and for these we save the fully qualified name in the related meta objects array (for QTBUG-2151). While this patch makes the previous workaround for namespace issues by using a Q_DECLARE_METATYPE not workable anymore, by saving the fully qualified name we are making a hopefully sufficient effort to not require a workaround in the first place. There's always the new workaround of fully qualifying the type in Q_PROPERTY. One side-effect of this change is that in the autoPropertyMetaTypeRegistration test of tst_moc, the CustomQObject for Q_PROPERTY(CustomQObject::Number enumValue ...) is now a related meta object, and therefore when querying for the type of this property via QMetaProperty::userType(), we are now aware of this being an enum and try to resolve CustomQObject::Number via QMetaType::type(qualfiedName). As there is no guarantee for this to succeed, we must now also do what is done in the non-enum code path in ::userType(), which is to call the moc generated type registration function. Task-number: QTBUG-33577 Task-number: QTBUG-2151 Change-Id: Ibf20e7421cba464c558a25c76a7e1eef002c6cff Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | QLineEdit: hide placeholder text when h-centered & focusedJ-P Nurmi2013-12-111-1/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtWidgets][QLineEdit] A blinking cursor in the middle over horizontally centered placeholder text looks bad. Thus, horizontally centered content is now considered as an exception and the placeholder text is hidden when the line edit is focused. Task-number: QTBUG-31669 Change-Id: I17aa1e6656673f81545a8437f90814b188ad484a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | tst_QObject: separate QSignalBlocker testsMarc Mutz2013-12-115-129/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QObject is getting big, so make a separate test for QSignalBlocker, but leave parts of signalsBlocked() in tst_QObject as that seemed to have been the only check for blockSignals(true) actually blocking signal emission. Change-Id: I1cfac035e0e39203eea8626d43f316cc6244ee86 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Move-enable QSignalBlockerMarc Mutz2013-12-111-0/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QSignalBlocker was reviewed, move semantics were asked for. This patch add them. This makes QSignalBlocker usable as a by-value argument (to transfer control of signal blocking into a function) as well as as a return value (to transfer control of signal blocking out of a function). Change-Id: I714aa2a283bb33dba76e860649e88ed202e913c5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Allow the platform to specify a press and hold delay.Michael Brasser2013-12-101-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Press and hold is an interaction available on many platforms, particularly when touch is involved. In Qt Quick this is exposed to the user via MouseArea::onPressAndHold. This value should not be hard-coded, but rather use a platform-specified default. This commit adds the low-level hooks necessary for that to happen. Task-number: QTBUG-24793 Change-Id: I621a8ac9de66b881e34336228056bffbb6306a70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | moc: move qt_meta_extradata data from .data.rel into .data.rel.roMarc Mutz2013-12-092-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's still a relocation, but at least it can be marked read-only after the relocation run, if indeed the dynamic linker goes to such a length. Change-Id: Ibadddac3ab99d2e58cc32cfd57311bddd3bdb0ef Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | | Introducing d3dcompiler_qtAndrew Knight2013-12-093-0/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d3dcompiler_qt is a DLL for use with ANGLE which replaces d3dcompiler_XX at runtime to proxy shader compilation calls. This is useful for: - Loading the newest D3D compiler DLL found, instead of loading the version specified when Qt was compiled - Reporting better debug information when the compiler cannot be loaded - Caching shader blobs for later use - Returning cached shader blobs - Deferring compilation to another mechanism, such as a D3D compilation service running on a host debugging machine * The above use cases are especially important for Windows Store apps, as they are not allowed to ship the d3dcompiler. On Windows Phone, where there is no runtime compiler, this is essential for handling QtQuick apps which require runtime shader compilation. * This requires a separate service which monitors a directory for shader source files, compiles these files into D3D bytecode, and places the bytecode in the qtd3dcompiler cache directory. This directory is monitored by qtd3dcompiler, which is then able to then load the blob. Change-Id: I9889c8d66d2ddbe5a7a1dc44bfe5d8ad229b0e43 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Simon Hausmann2013-12-093-14/+75
|\ \ \ \ | | | | | | | | | | | | | | | refs/staging/dev
| * | | | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-053-14/+75
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| | * | | QTextEngine: fix layouting of inline objects in right-aligned tabs.David Faure2013-12-051-0/+36
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (same thing for center- and delimiter-aligned tabs) The width of the inline object wasn't taken into account, the code in QTextEngine::calculateTabWidth only looked at glyph widths. Change-Id: I303a6561c67870ff2094a685698e642fc1b53b12 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>