summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* beautify "aux" targetOswald Buddenhagen2012-08-171-8/+10
| | | | | | | it works better when it castrates the app template, rather than staticlib Change-Id: If52960fb48d770e8ec096c66b579539512b8d299 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove unnecessary magicOswald Buddenhagen2012-08-171-2/+0
| | | | | | | getXQMakeConf now gives properly expanded variables Change-Id: I17d82a1889fc4e1ee6b74c90aa0e4179ece0e415 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix compilation of QThread on QNXSean Harmer2012-08-171-4/+6
| | | | | | | | | | Commit 3ef51efbe75bfb9f1dfbe7df073e9eb745a72ad8 broke compilation of qthread_unix.cpp on QNX. This fixes it by passing in the threadId to setCurrentThreadName(). Change-Id: I24f32d8054baedbd9a65b6a80fb1f6f37e07092d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* QNX: Allow app to run when spurious 2nd screen is reportedSean Harmer2012-08-171-4/+4
| | | | | | | | | | | | | | On the PlayBook, libscreen always seems to report the presence of a 2nd display even when none is connected. This of course leads to the failure to query this display for its physical size. This patch relaxes the demand for a physical size to being for the primary screen only. Change-Id: If30b1fd704e7a194a426a0a9f0b85557478105f7 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* WinCE: Fix call of GetAncestor in setParent_sys()Kevin Funk2012-08-171-0/+9
| | | | | | | | | | There is no GetAncestor under Windows CE. Use GetParent instead. Change-Id: I87b86961dade0d5c7c8bf6a470f777d32188dcd2 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix setParent_sys() to use native methods when checking for toplevelMiikka Heikkinen2012-08-171-1/+8
| | | | | | | | | | | QWindowsWindow::setParent_sys() was checking if window was toplevel using non-native method, which caused wrong result in some cases involving native windows. Changed the toplevel check to utilize native method instead. Task-number: QTBUG-26826 Change-Id: I72ca17c53c1ed7611f141cee17b2edaaa80c6c17 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fix GDI object leakMiikka Heikkinen2012-08-171-1/+1
| | | | | | | | DeleteObject parameter must be a handle, not a pointer to a handle. Task-number: QTBUG-26835 Change-Id: Id5de2b0b067bd9fc45c1c8ead4f7d67f0162f070 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove install/removeEventFilter from QRollEffectJoerg Bornemann2012-08-161-3/+0
| | | | | | | | This class doesn't have an eventFilter method. Change-Id: Ibd7b3b5b954dd2467c9b4dadd85d3613964d9f7c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
* qmake: support incremental linking when embedding manifestsJoerg Bornemann2012-08-164-29/+72
| | | | | | | | | | | | | | | | | | | | When embedding manifests we modified the EXE/DLL after linking using the manifest tool. This breaks the incremental linking feature of MSVC. The MS way to embed a manifest without breaking incremental linking is: - let the linker create the manifest file, - create a resource that contains the manifest file, - invoke the linker again to embed the resource. The embed_manifest_{exe|dll}.prf files have been removed. All manifest logic is now in qmake's nmake makefile generator. With QMAKE_MANIFEST one can specify a custom manifest file that gets embedded without disturbing incremental linking. Task-number: QTBUG-22718 Change-Id: Idb9d2644a0577b2002cbdd2d62b695b9171b1bd5 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QSlotObjectBase: re-enable tail-call optimisation in impl()Marc Mutz2012-08-151-19/+19
| | | | | | | | | | | | | | | | | | | | | Two of the three operations in impl() return void, among them the most common one, call(). Having impl() return bool prevents tail- call optimisations for these. Fix by passing the bool return value for Compare as an out-parameter. Results in a nice decrease in text size (GCC 4.8-pre -O2 -std=c++11, stripped): text data bss dec hex filename 507343 13984 48 521375 7f49f tst_qobject (old) 505551 13984 48 519583 7ed9f tst_qobject (new) Reported-by: Thiago Macieira <thiago.macieira@intel.com> Change-Id: I7538c5b3f0992970c089e44f07244e6b62794a1d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QSlotObjectBase: combat virtual function "bloat"Marc Mutz2012-08-154-72/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In C++, the compiler creates extra functions and data for classes with virtual functions. This can lead to "virtual function bloat": http://www.boost.org/doc/libs/1_47_0/doc/html/function/misc.html#id1382504 This is especially true when the number of instances is of the same order of magnitute as the number of derived classes, such as is common with type erasure techniques. One such case is the QSlotObjectBase hierarchy, which this patch tackles. The mechanics of this optimisation are simple: re-implement the virtual function call mechanism by hand, with function pointers. But we go one step further and collapse the vtable into a single pointer to a function that implements all three currently-defined operations, swtching on an 'int which' argument. This even allows us to extend this in a BC way, should that become necessary later, by adding a new Operation and using the void** argument to transport arguments, if any. This approach was inspired by: Ulrich Drepper: How To Write Shared Libraries, Section 2.4.4 http://www.akkadia.org/drepper/dsohowto.pdf Also move the QSlotObjectBase hierarchy out of QObject so as not to export all the derived classes. This was pointed out in review by Thiago. Results (Linux amd64, GCC 4.8-pre -O2 -std=c++11, stripped): size tst_qobject* text data bss dec hex filename 523275 21192 48 544515 84f03 tst_qobject (old) 507343 13984 48 521375 7f49f tst_qobject (new) relinfo.pl tst_qobject* (old) tst_qobject: 473 relocations, 0 relative (0%), 240 PLT entries, 240 for local syms (100%), 0 users (new) tst_qobject: 323 relocations, 0 relative (0%), 238 PLT entries, 238 for local syms (100%), 0 users Change-Id: I40ad4744dde8c5c29ef62ed2d82d4b1ede178510 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Avoid an expensive call to toLocal8Bit upon thread creationThiago Macieira2012-08-151-10/+18
| | | | | | | | | | | | | | | QString::toLocal8Bit() will need to call QTextCodec::codecForLocale(), which isn't the cheapest of the functions, at least the first time it's run. So avoid calling it when in most scenarios, the name of the QObject isn't set, and the information is purely for debugging. Additionally, avoid allocating memory when setting the thread name to the class name. The class name coming from the meta object is a static constant string and we can use it directly. Change-Id: Ief643bad87a51487b1d41c0a2f323e80bb53e8a7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Remove trailing comma in enumThiago Macieira2012-08-153-3/+3
| | | | | | | | | | | Spotted by ICC: qfreelist_p.h(127): warning #271: trailing comma is nonstandard BlockCount = 4, ^ Change-Id: Ib64d1d19ca0514e7582a295da48cbf6705aa8c44 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* QUrl is not necessary for configure.exe, drop it from the .proThiago Macieira2012-08-151-1/+0
| | | | | | | | | | | qurl.cpp was removed from the Makefiles on 6ab6b0fc1c594a589d96d17b5ab7, but I missed the .pro file. You're not supposed to use the .pro file anyway, it's just for opening in Creator. But if you forget to remove the qmake build step, it would get compiled. Change-Id: Ia52ae7349e195df58f76f8d2c5f8b46adfdc7454 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Silence a false-positive warning about uninitialised variable with ICCThiago Macieira2012-08-153-3/+3
| | | | | | | | | | | | | | | | ICC complains like so: harfbuzz-gpos.c(95): warning #592: variable "error" is used before its value is set return error; ^ However, line 95 is never executed because the condition on line 94 is always false. That's why it's a false positive. The same construct happens in the other two places. Still, silence the warning. Change-Id: I168d916d6837d4ac346facfd22b3e5b4e22ef7f0 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Made eglfs work with backing store based applications again.Samuel Rødal2012-08-153-4/+10
| | | | | | | | | Make sure we pick the same config for the context and window surface, and do not create unnecessary window surfaces for the desktop widget. Change-Id: I3c8fb3df9ab8a658196e41dfa1705cfca625a2d7 Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com> Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* Documentation for QWidgetItem::controlTypes.Frederik Gladhorn2012-08-151-0/+6
| | | | | | Change-Id: I673b884ac8513714d733411729a7418c19f05682 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Update docs.Frederik Gladhorn2012-08-151-1/+6
| | | | | Change-Id: I7bd1f1efe2d6ce3aee8cb7454f43cfef2979f525 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Remove docs for removed enum values.Frederik Gladhorn2012-08-151-5/+0
| | | | | Change-Id: I225ea48606d60894a851c1dd620983b7a65d234d Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Move docs for QSessionManager to the right file.Frederik Gladhorn2012-08-152-293/+256
| | | | | Change-Id: Ia3735ac14fe91de8cfbb58fc68f1a37f04d7b668 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Remove outdated docs.Frederik Gladhorn2012-08-151-35/+0
| | | | | Change-Id: Ic878226c3b627b445ac45f56497a6a4ae77b2d38 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Remove deprecated docs for QActionGroup.Frederik Gladhorn2012-08-151-32/+0
| | | | | Change-Id: If086395d3e1d151324df3cc1c59152715cb4af40 Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Add parameter docs for QAbstractEventDispatcher::filterNativeEvent.Frederik Gladhorn2012-08-151-2/+4
| | | | | Change-Id: If028d2560d7bb18c9dd3e0f5fa6677c42fbf7d4b Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Disable CPUID checking with GCC 4.2 or olderThiago Macieira2012-08-151-0/+22
| | | | | | | | | | | | | | | | | | | | | | | This is not the first time that GCC 4.2 on Mac has produced bad code surrounding the CPUID instruction (see also commit 81d1f79a7f4b0f67d71). So declare it broken beyond repair and don't run the instruction at all. Instead, initialise the set of features found to be exactly that which we detected at compile-time. For that reason, we can also disable the runtime checking of the processor (minFeatures == detected features). At the time of this commit, only the draw helpers and one QImage helper make use of the runtime detection. Since the detection now switches to compile-time, QtGui will start carrying dead code for GCC 4.2 and earlier: it will never run the SSE2/SSSE3 code on 32-bit builds. (GCC 4.2 does not support AVX, so that code won't be built) Note: all Clang versions report that they are GCC 4.2, so we need to exclude it from the test; ICC reports the same version as the system's GCC. Change-Id: I43f168a9480a2479c6444eea175782b2eadc2ab2 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Fix tst_qbytearray on QNXRafael Roquetto2012-08-151-3/+3
| | | | | | | | qUncompressCorruptedData() no longer hangs on QNX 650 and Blackberry OS sytems. Change-Id: Id131f9f1c6dcd358c152675c7e29ab937052c1d0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Only emit headerDataChanged for valid proxy intervals.Stephen Kelly2012-08-154-8/+100
| | | | | | | | | | Modeltest asserts before the patch, and passes afterward. Task-number: QTBUG-26515 Change-Id: I08a89cd5c9c59613badcddbd056a3d0b8fbbca13 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* tst_QUdpSocket: Remove unneeded ./ in application name printingMarc Mutz2012-08-151-2/+2
| | | | | | | Reported-by: Shane Kearns <shane.kearns@accenture.com> Change-Id: I12f2a23b98c3b0161a2961a9117c196cd7d72a6d Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Fix "might be used uninit'ed" warningMarc Mutz2012-08-151-3/+7
| | | | | | | | | | | GCC 4.8 warns: main.cpp:165:60: warning: ‘type’ may be used uninitialized in this function [-Wmaybe-uninitialized] app.arguments().at(3).toInt()); ^ Change-Id: Ib0f6847031437b588e14c6708fdddea5fd474b58 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Emit the highlighted signal if the model changes.Stephen Kelly2012-08-152-1/+34
| | | | | | | | | | | | | | | | | The bug is that the connection to emit that signal can be made obsolete if the connection is made too early and the model is replaced. In the bug report, the connection is made by calling view() early (thereby causing the creation of a view and a QItemSelectionModel which operates on the built-in QItemSelectionModel, and then connecting to that QItemSelectionModel), and then when QComboBox::setModel() is called later the built-in view creates a new QItemSelectionModel for it. The bug was that that new QItemSelectionModel is not connected to. This patch fixes that bug. Task-number: QTBUG-4454 Change-Id: Ibbdb8731f16ab071008b4a19dc2cc7ae03cebc84 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix QMessageLogger and associated qdoc errorsJeremy Katz2012-08-151-5/+100
| | | | | Change-Id: I4b9555c8a15a698ef5ce270288c88a0aa88e0033 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Doc: Fix broken return codes for a few examplesGeir Vattekar2012-08-155-5/+5
| | | | | | | | This reverts remnants of 79747d38987ce42adc510be0c5bb1565f55fd3d6. Task-number: QTBUG-25571 Change-Id: I1dbf64cfcba889fb0c70ceaeeeffad8334a8aab1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add a module page for QtConcurrentLars Knoll2012-08-153-4/+42
| | | | | | | | Fix some foward references from QtCore in addition. This will require more work. Change-Id: Ib1bade18c2cc220a7afe25e9fca6a3f50cb1174b Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Ignore Q_DECL_NOEXCEPT in qdocLars Knoll2012-08-151-1/+2
| | | | | | | This fixes a large bunch of qdoc errors in Qt Core. Change-Id: Ie3c3cebc730081a0927a0998d8937d721719c1c6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Mark QCollator as internal.Lars Knoll2012-08-151-0/+2
| | | | | | | The class is private in 5.0, we'll publish it in 5.1 Change-Id: Ia7511db0393528aafa8c8059b4eb1657c8cdcc64 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix QPointer qdoc errorsLars Knoll2012-08-152-16/+1
| | | | | Change-Id: I54082a87f076aa511329cfb7a6ed6ecabcfb40f7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Make the "\internal" qdoc command stand on its own lineLaszlo Papp2012-08-1532-144/+312
| | | | | | | | | | The qdoc manual currently claims that the command must stand on its own line. The change follows the consistency with the rest and how the example looks like inside the qdoc manual for this command. Change-Id: I6b653dc95cf9d84e4adf32220dace5d313678419 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix undo and redo in QLineEdit when in password modeJani Honkonen2012-08-153-2/+90
| | | | | | | | | | | There are some security issues with undo/redo. User should not be able to get the erased password back in any situation. Therefore redo must be disabled completely and undo is limited only for erasing previously entered text. Task-number: QTBUG-14226 Change-Id: I2b38aca84adbad1c14db76b56ad6303d56b35b4d Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Make selectAll() do nothing if the mode is NoSelection.Stephen Kelly2012-08-152-1/+7
| | | | | | | | Task-number: QTBUG-26687 Change-Id: Iaa0197efe64c61505e22e4a63a1f5c012af0bc78 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* set QT_PLUGIN_PATH for toolsOswald Buddenhagen2012-08-152-3/+17
| | | | | | Change-Id: Ie76b25b605ab4271eff161ee9bfc4f54df640f4a Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* make .private_includes in module pri files "self-contained"Oswald Buddenhagen2012-08-152-9/+3
| | | | | | | | this puts the whole logic of assembling those paths into qt_module. Change-Id: Iafbe3969e3092e294bdb8243b2dffa7a899a7eb8 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Speed up construction of basic QVariantsHarald Fernengel2012-08-152-38/+100
| | | | | | | | | | | | | | | | | Instead of first creating an initialized Private struct, then overwrite the member variables, we added an internal constructor that initializes the private struct sanely. In the new (inlined, internal) constructor, both the MSB bits in the bitfield are 0, and since the value of internal meta-type ID is so low that the two MSB bits should never be set, the compiler can (hopefully) optimize away the bit-fiddling initialization of the bit-field. Callgrind shows about 33% speed-up in e.g. QVariant::QVariant(int) Change-Id: I706773a71c0d8dcbe119ad15411578b81892deb5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* revamp preparation of command line for qmake calls in makefilesOswald Buddenhagen2012-08-144-55/+22
| | | | | | | | | | | | | instead of re-assembling a list from the variables, take the original command line minus some explicitly stripped out options. this is way less code and poses no synchronization problem between the two parts. as a "side effect", variables obtained from $QMAKEFLAGS won't multiply with each makefile nesting level, as the generated command line won't replicate data obtained from the environment. Change-Id: I5d1ce0f11efb338f60405529f9818910103b1b0e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make command line parser use qt containersOswald Buddenhagen2012-08-142-54/+44
| | | | | | | way more legible code Change-Id: I7ba5a66f1f0bc7ae78ba0537ef8e5c780506a149 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* take parsing of qmake mode out of parseCommandLine()Oswald Buddenhagen2012-08-141-26/+24
| | | | | | | | it wouldn't do anything particularly useful when parsing QMAKEFLAGS, so take it out of the common path. Change-Id: I60f1215c4645707e1f99932dd19160e1d1c9d953 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* remove rather pointless parameter from parseCommandLine()Oswald Buddenhagen2012-08-142-4/+5
| | | | | Change-Id: I97998555c41e8eab2438ac355950abf9dace24a0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* rcc: use new qEnvironmentVariableIsEmpty()Marc Mutz2012-08-141-1/+1
| | | | | Change-Id: I48dd9b7b8dd51e1c662273eb37ac2e1f4c1c4d15 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtTestLib: use new qEnvironmentVariableIsEmpty()Marc Mutz2012-08-141-7/+10
| | | | | | | | | | Except where using the contents of the variable, in which case collapse two calls to qgetenv() for the same variable into one that stores the result in a temporary QByteArray and continues working with that one instead. Change-Id: I6c09a20ae946327ccb85e4833a60a373a8a07355 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtGui: use new qEnvironmentVariableIsEmpty()Marc Mutz2012-08-144-5/+5
| | | | | | | | In particular, static bool showRasterOverlay is safer. Change-Id: I9df6c9a9a56d2e61b13391b6889c0ac6e259e801 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtDBus: use new qEnvironmentVariableIsEmpty()Marc Mutz2012-08-141-1/+1
| | | | | Change-Id: If983083cc7f360199716a060464344340c089236 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtCore: use new qEnvironmentVariableIs{Set,Empty}()Marc Mutz2012-08-146-8/+8
| | | | | | | | | | | | In particular, qEmergencyOut() is now completely exception-free. Incidentally, this patch shows that Qt isn't consistent in how it treats empty environment variables used as flags, but that is something for a separate commit. This patch aims to be behaviour-preserving, except in exceptional circumstances, of course. Change-Id: Ie106e7b430e1ab086c40c81cc1e56cd0e5400cb4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>