summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* A basic justification algorithm for HarfBuzz-NGKonstantin Ritt2014-07-271-0/+80
| | | | | | | | | This does mostly the same HB-old did, except of non-BMP codepoints support and better handling of space and punctuation characters. Change-Id: Iaf8565a35f27d5f4837128cec345eff3d9d2bdf0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Clean up tst_QPaletteMarc Mutz2014-07-261-37/+2
| | | | | | | Remove ctor, dtor, and empty test functions. Change-Id: I0cf60732258c4470f40ddb258d87f0ac2de64edf Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Windows: Use common code paths for default font families.Friedemann Kleint2014-07-263-53/+27
| | | | | | | | | | Factor out function to determine the font family for a style hint and use that for the FreeType font database as well. Task-number: QTBUG-39961 Change-Id: Ic5ec0928c7994b61e4d2b10d829826658b1aa1d5 Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* QUrl: fromLocalFile(QString()) should lead to an empty URL.David Faure2014-07-264-3/+13
| | | | | | | | | | | | | | This is much more useful than the URL "file:", it allows to use "empty path" and "empty URL" for the same meaning (e.g. not set). QFileDialog actually uses "file:" though, as the URL for the "My Computer" item in the sidebar. This patch preserves that. [ChangeLog][QtCore][QUrl] QUrl::fromLocalFile now returns an empty URL if the input string is empty. Change-Id: Ib5ce1a3cdf5f229368e5bcd83c62c1d1ac9f8a17 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use the 3-argument testAndSet in the fetchAndXxx operationsThiago Macieira2014-07-251-6/+6
| | | | | | | | | Saves us from an extra load in the loop when the result is already there. Change-Id: Ib65b5b13f27975b8fc88be9b888c19505bf5e07c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Integrate tst_bench_qringbuffer into the build tree.Alex Trotsenko2014-07-251-0/+1
| | | | | Change-Id: Id1d091889c3ba5e343d1237f016fdc22f7dfe413 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Remove non-existing function.Thiago Macieira2014-07-251-1/+0
| | | | | Change-Id: I1c201453d069dbc3d981e1ff3789570af09b662c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Rewrite simd.prf to share more codeThiago Macieira2014-07-253-302/+82
| | | | | | | | | | | | | | | | | This was a long-time coming. One innovation from this commit is that it will add the source to SOURCES if the compiler is already generating code for that specific target. That is currently always the case for Neon, and the MIPS DSPs since that is the only condition in which configure will enable those targets. And because of qt_module.prf, it's also always the case for SSE2 (but not for SSE3 or higher). So simplify the .pri files by removing always-true conditions. Change-Id: Ib24af74717b652c9a6be246e3c17a839470f37da Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Restore Neon "detection" in QtThiago Macieira2014-07-255-8/+17
| | | | | | | | | | | | | | | | | | | | | | We don't actually detect whether the compiler can create Neon code or provides Neon intrinsics. Most of them do, so that test would be mostly moot. We removed the detection previously because we couldn't automatically enable Neon due to leakage of instructions outside the areas protected at runtime. Instead, we rely on the mkspec properly passing the necessary flags that enable Neon support. This commit does not change that. All it does is verify whether the arch detection found "neon" as part of the target CPU features. In other words, it moves the test that was in simd.prf to configure. It does fix the Neon detection in configure.exe, which was always failing for trying to run a test that didn't exist (config.tests/unix/neon). Change-Id: Id561dfb2db7d3dca7b8c29afef63181693bdc0aa Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Use simd.prf for building MIPS DSP codeThiago Macieira2014-07-252-14/+1
| | | | | | | | No need to duplicate the extra compiler code. Change-Id: Ic5656d2f4500c19e0428a7eec1cbcef6c353e99b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation on ARM without ARMv6T2Thiago Macieira2014-07-251-3/+3
| | | | | | | | | | | | | | | | | | The "rbit" instruction requires ARMv6T2 or higher. This was found in the CI when building the imx6 target: Compiler: arm-poky-linux-gnueabi-g++ Flags: -mfloat-abi=hard -mfpu=neon Errors from the assembler: {standard input}:3078: Error: selected processor does not support ARM mode `rbit r3,r3' {standard input}:7341: Error: selected processor does not support ARM mode `rbit ip,ip' That compiler defaults to ARMv5T. That's obviously wrong for an i.MX 6, which is a Cortex-A9 (ARMv7), but the correction applies for older processors. Change-Id: I56c276fa411977dd7cd867d62adf021e4909302c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Remove redundant static_cast from QVariantAnimationJędrzej Nowacki2014-07-251-3/+3
| | | | | | | QVariant::convert accepts int as an argument, there was no need to cast. Change-Id: I774c9567972860d887e17acb91ec332ffcebd9d5 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* tst_qgraphicsproxywidget: Fix widget leaks.Friedemann Kleint2014-07-251-16/+24
| | | | | Change-Id: I953e308e2380c87a69ca1d22e6ac036c57deccda Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* tst_qmdiarea: Fix widget leaks.Friedemann Kleint2014-07-251-2/+13
| | | | | Change-Id: If2ecf2c080f9eb8416b9a3d4104584681862c266 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Fix QJsonValue comparison.Jędrzej Nowacki2014-07-252-2/+59
| | | | | | | | | QJsonValue, while comparing two QJsonArrays, should consult also length of the arrays, because a different than null base pointer doesn't mean that an array is not empty. Change-Id: If76739355a4e74b842e836289565f98d95c006d5 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix QJsonValue comparison.Jędrzej Nowacki2014-07-252-6/+14
| | | | | | | | | QJsonValue, while comparing two QJsonObjects, should consult also length of the objects, because a different than null base pointer doesn't mean that an object is not empty. Change-Id: Ibee1849ef9fed15d32f2c8f2aad9b053846e46b7 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Reading QJsonObject property should not modify the object itself.Jędrzej Nowacki2014-07-255-11/+207
| | | | | | | | | | | | | | | | | | | | | | | | | Before this change such code: QJsonObject o; o["blah"]; would create property "blah" and assign null value to it, while this code: const QJsonObject o; o["blah"]; would not. The change unifies the confusing behavior. Now reading a non-existing property, is not causing a property to be added in any visible way. Internally QJsonObject stores a special hash of undefined, but referenced values. Such reference is supposed to not live long, only to the first compacting or assignment. Change-Id: Ib022acf74ff49bad88d45d65d7093c4281d468f1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix QJsonObject const index operatorJędrzej Nowacki2014-07-252-1/+19
| | | | | | | | | The operator should always return an undefined values for an empty object Change-Id: Ic38f7660d77c64b2d001967bc5109df4185db74a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Reduce QtCoreLib size by not repeating "UTC" string too often.Jędrzej Nowacki2014-07-255-10/+21
| | | | | | | | It is a minor reduction, in release build it is ~200 bytes Change-Id: I4f7972c95769f2e0ca1ddc935ff7a0a6b4379e2a Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Re-implement QVector::countJoão Abecasis2014-07-251-7/+1
| | | | | | | | | | There is no need for a custom algorithm as we can use std::count Change-Id: Id1ab514c7cd8f52efe49b27712121415d7ca4455 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* tst_qwidget: Fix top level widget leaks.Friedemann Kleint2014-07-251-6/+9
| | | | | | | | | Fix tests widgets leaking widgets and ensure it stays that way by adding a check to cleanup(). Task-number: QTBUG-38858 Change-Id: I77a81d823c68cf0b4e51c2da55b1c473d6e4170b Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Enable building ANGLE with D3D11 in -opengl dynamic builds.Laszlo Agocs2014-07-251-3/+7
| | | | | | Task-number: QTBUG-40193 Change-Id: If70943355d650cd3f20f4ff25fa09417a28a2b93 Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* QRegularExpression: make optimize() constGiuseppe D'Angelo2014-07-252-2/+2
| | | | | | | | | | | | Although it may seem strange that such a method is const, optimizing doesn't affect the user-visible part of the object. Moreover, *not* having it const makes it asymmetrical with other methods (such as match()) which are const, and under certain conditions optimize as well. Change-Id: I0cd8d4a6909d00629fcc65c1c3a1f011f31db782 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QtDBus: Warn if blocking calls take too long.Robin Burchell2014-07-251-0/+87
| | | | | | | | | | | | | | | | | | | | | | | | | Blocking DBus calls have the potential to totally wreck user interactivity at best (actions taking too long) and make things appear completely broken at worst (the default timeout is 30 seconds, which is a huge amount of time, especially if you get unfortunate and have a repeated blocking call). Provide a warning when a call is found that takes too long, based on some preset durations (200ms for the main thread, 500ms for other threads on the basis that the main thread is generally more important). Also provide configuration knobs for these environment variables, in miliseconds: setting them to 0 will warn on all blocking DBus calls. Setting them to -1 (the default, on release builds) will disable the warning. [ChangeLog][QtDBus] Blocking calls that take a long time will now generate a warning. The time taken may be tuned using the environment variables Q_DBUS_BLOCKING_CALL_MAIN_THREAD_WARNING_MS and Q_DBUS_BLOCKING_CALL_OTHER_THREAD_WARNING_MS. The value represents (in milliseconds) how long before a blocking call is warned on. A value below zero disables the warning, a value of zero will warn on all blocking calls. Change-Id: I0ab4c34aa01670a154d794d9f2694b3235e789db Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QLineEdit: Emit textEdited() when the clear button is clicked.Friedemann Kleint2014-07-244-5/+22
| | | | | | | | | | [ChangeLog][QtWidgets][QLineEdit] The signal textEdited() is now emitted when the user clicks the clear button created by setClearButtonEnabled() as well. Task-number: QTBUG-40287 Change-Id: Iacd303ffd1533f27cfa68a6120cdd370e3d31ddc Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-07-2426-41/+263
|\
| * Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-2226-41/+263
| |\ | | | | | | | | | | | | | | | | | | | | | Conflicts: src/widgets/kernel/qwidget_qpa.cpp src/widgets/widgets.pro Change-Id: I697eec936c4e1a6c360edc8f0b472e23c0461ecb
| | * tst_qurl: add tests for mailto parsing and toString. No bug.David Faure2014-07-221-0/+7
| | | | | | | | | | | | | | | | | | | | | This was prompted by https://git.reviewboard.kde.org/r/119221 Change-Id: Ia148f07f6d711df533693918bbedfa5e7dc02cd5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Windows: Fix window geometry when transiting from fullscreen to maximized.Friedemann Kleint2014-07-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workaround added for QTBUG-8361 also needs to trigger in the restore-from-fullscreen logic, set flag accordingly. Task-number: QTBUG-40254 Task-number: QTBUG-8361 Change-Id: I6d6c35bb7004c84c6b8feea05ad974c23ca205d2 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| | * Windows printing: Preserve painter when syncing state.Friedemann Kleint2014-07-211-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a performance regression introduced by 58bb42dc2c338338b7b6079993ace3d55c2e1d7e . The picture painter was replaced by another painter. Task-number: QTBUG-40068 Task-number: QTBUG-38329 Change-Id: Ida51edd61c197f862adebdcdc685ebc105fe07a8 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | * Android: Fix tests in gui/text requiring test dataEskil Abrahamsen Blomfeldt2014-07-2111-10/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several tests require test data to be deployed with the application. The easiest way to achieve this on Android is to add them to a qrc file and use the QFINDTESTDATA macro to look up the files. This fixes several test failures in the gui/text subdirectory for Android. Change-Id: If944bb1fc93434a1b2d6487da829d21bd6b84e87 Reviewed-by: BogDan Vatra <bogdan@kde.org>
| | * generate QGL header file from qgl.hLiang Qi2014-07-181-0/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-16838 Change-Id: I511d0c18a13c5dc9b9ae7a28587440f48bc53427 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | * Ensure transient parents are top level widgets.Friedemann Kleint2014-07-183-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a dialog was parented on a native child widget, its window handle was used as a transient parent. This confused QPlatformWindow::initialGeometry() among other things. Use top level window as is in Qt 4. Task-number: QTBUG-40195 Change-Id: Ic82adc276175f92adde825fb2551274351e41f30 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| | * Windows: Send QTabletLeaveProximity events.Friedemann Kleint2014-07-171-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Proximity leave comes without packets, do not bail out. Task-number: QTBUG-40019 Change-Id: I4e6b4ca13ad875bdfdcd31f86b08de4a596e76cb Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| | * Added stream version into network cache file formatNikita Krupenko2014-07-172-1/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At the moment, there is no stream information in the cache file. This can lead to a problem when current stream version differs from version cache file written with. As an example, if file written with Qt 5.1.1, QTimeDate in the metadata stored as 13-bytes value, but Qt 5.2 and later can read additional 4 bytes which breaks following data, leading to network request just hangs forever. Adding stream version fixes this problem. As cache format changed, cache version bumped. Task-number: QTBUG-36219 Change-Id: I467d8c9fda82bcf9302192f51e7a00d2f6a9ff66 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * make QtWidgets claim style pluginsOswald Buddenhagen2014-07-161-0/+1
| | | | | | | | | | | | | | | Change-Id: Ibb3fea65d59c2a43cd024fd34abfe558956bec69 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| | * CMake: Don't check the existence of GL files in the Qt5Gui package.Stephen Kelly2014-07-161-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL libraries are optional, so they should not be added to the DEPENDENT libraries of Qt5::Gui if not found. Task-number: QTBUG-39859 Change-Id: Ib0e01da56a9fb5048a6ad8e0e9cede07fe0cf43b Reviewed-by: Lisandro Damián Nicanor Pérez Meyer <perezmeyer@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | * QSplitter: Exclude top level widgets from child event handling.Friedemann Kleint2014-07-152-3/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent the splitter from adding them to the layout or showing them. Task-number: QTBUG-40132 Change-Id: Ife2be0bbd7e489570ef41f6f72a034b356c65f18 Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| | * Doc: Hide QTextInlineObject constructor from the documentationTopi Reinio2014-07-141-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The constructor takes an internal class instance as a parameter, and is not meant to be used externally. Add a note in the description and hide the constructor. Task-number: QTBUG-39785 Change-Id: Ice850f0968880f3933ebb7ae83efeaeed85441cb Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | Add missing 8_8_8_8 pixel types to QOpenGLTextureSean Harmer2014-07-242-0/+4
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-36843 Change-Id: Ief4ab9b00b075abe2e04c6d29c8d1279406b5033 Reviewed-by: Liang Qi <liang.qi@digia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | Add checks for widget/window leaks to kernel tests.Friedemann Kleint2014-07-244-1/+20
| | | | | | | | | | | | | | | Change-Id: I52af87279e37e49ce2206c5c823fe8fb4caef338 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | | QSettings: use QSaveFile and QLockFile to write the settingsOlivier Goffart2014-07-242-238/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old unix locking code is no longer working on unix since it locks on a file descriptor, but QSaveFile creates a new file, and as a result we get the lock on the wrong file. Also there is no need to keep the lock held only for reading as QSaveFile is atomic. It just needs to be held when doing a read before writing. As a result, since we don't hold the same lock, there could be a race with an application running an older version of Qt if they are writing on the same configuration file. [ChangeLog][QtCore][QSettings] Fixed data loss while writing the config to the disk fails. [ChangeLog][Important behavior changes] The locking mechanism inside QSettings has changed and is no longer compatible with the one of previous versions of Qt. There might be corruption if two applications running different versions of Qt are writing to the same config file at the same time. You must also now have write permissions in the directory containing the settings file in order to write settings Task-number: QTBUG-21739 Change-Id: I0844a5e96c8bc1e1222a3dac6cc48170ca77fe1b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | get rid of pointless MSVC security warningsJoerg Bornemann2014-07-241-1/+1
| | | | | | | | | | | | | | | Change-Id: I546a30bddec8e3c5c9a42745f8458573b6db1bdf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | remove qsystemlibrary.obj from clean targetJoerg Bornemann2014-07-241-1/+0
| | | | | | | | | | | | | | | | | | | | | This file is already listed in QTOBJS. Change-Id: I5c77620dc5e441435bd31a87a08178e0c82e9c05 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | fix qmake warning about unknown /Zc:strictStrings optionJoerg Bornemann2014-07-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Make /Zc:strictStrings known to qmake's MSVC compiler option parser. Change-Id: I5a4494096fc1d67c96c6de52bb0f1e94eff46136 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | Rewrite QRingBufferAlex Trotsenko2014-07-244-191/+299
| | | | | | | | | | | | | | | | | | | | | | | | | | | QRingBuffer is a fully inlined class used in many I/O classes. So, it must be as fast and small as possible. To this end, a lot of unnecessary special cases were replaced by generic structures. Change-Id: Ic189ced3b200924da158ce511d69d324337d01b6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | Android: fix Switch & CalendarView text appearancesJ-P Nurmi2014-07-241-10/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts the extractTextAppearanceInformations() changes done in f7ac2b4 and introduces another method extractTextAppearance() for extracting a specific TextAppearance. The problem was that extractTextAppearanceInformations() was overriding the TextAppearance attributes with TextView attributes. This resulted in wrong text colors for Switch & CalendarView: - Switch_switchTextAppearance - CalendarView_dateTextAppearance - CalendarView_weekDayTextAppearance Change-Id: Ib300b6eb14649319b2f07012803a4d031a717b50 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* | | QFileDialog: emit urlsSelected+urlSelected in accept().David Faure2014-07-243-12/+17
| | | | | | | | | | | | | | | | | | | | | Not just filesSelected+fileSelected (which only happens for local files). Change-Id: Ife592c3c921231356f96cbc2871b6d724a15d2c8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | QMainWindow:::restoreDockWidget(): Restore to correct screen.Friedemann Kleint2014-07-241-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use the placeholder top level geometry to determine the screen. Task-number: QTBUG-40155 Change-Id: If56b239200e9daf754b0963574367cf7891c5f40 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | Show timing of all executed SQL queriesRobin Burchell2014-07-241-3/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | This also coincidentally fixes logging of prepared queries, which previously weren't logged. Change-Id: I41b3559080662284699ac3dfa4fa4236342c61d2 Done-by: John Brooks <john.brooks@jollamobile.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>