summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Move the statemachine documentation into qtcoreLars Knoll2012-08-1816-0/+1163
| | | | | | | | | Moved the documentation from qtdoc to here, so the statemachine class docs can link to it. Change-Id: I49a10cc7c418d415c64ea538376eb9bd7b031c27 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Move the animation overview doc into QtCoreLars Knoll2012-08-182-0/+364
| | | | | | | Moved here from the qtdoc module. Change-Id: Ib263848e0637204ec3b0cba973076ca79a25a953 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix qdoc erros in qfile and related classesLars Knoll2012-08-185-9/+8
| | | | | Change-Id: I56b66e6eeb06c84e1157a701a814aebb1ddf4845 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Pass NEON_ASM directly to SOURCES.Rafael Roquetto2012-08-181-1/+2
| | | | | | | | | This guarantees that qmake gives them the proper flags (non C++) while building these asm files. Change-Id: I41150f543b8fac81bcd0da963b4d0e0a19b9db2f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Mark simple static methods in QThread as Q_DECL_NOTHROWThiago Macieira2012-08-183-6/+6
| | | | | | | | | | These methods aren't often used, but currentThreadId() gets used in the recursive mutex code to store the identity of the thread with multiple locks. Change-Id: I031cf3893aa6e7fd7a53733fc1088d295bdb9079 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Emit layoutChange signals when changing QPersistentModelIndexes.Stephen Kelly2012-08-183-1/+49
| | | | | | | | | | | | | | | This is necessary whenever QPersistentModelIndexes are changed. Omitting it means that views are not able to react to the change, such as QTreeView clearing its (manually held) QModelIndex cache, and the QItemSelectionModel clearing the item from its storage. It is necessary to change a QSortFilterProxyModel test which assumed setItem does not have any such effect. That test is ported to setData instead. Task-number: QTBUG-18539 Change-Id: Id7a602f18b9773ba4d11019418de886860d26d3e Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QAbstractSlider: fix qdoc warningsJ-P Nurmi2012-08-181-1/+1
| | | | | Change-Id: I996d45513a0239d0ed11669ce6e238955ec8a31b Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QSlider: fix qdoc warningsJ-P Nurmi2012-08-181-24/+2
| | | | | | | | Removed some Qt3 support leftovers and docs for qt_qsliderStyleOption() that qdoc wasn't able to tie to anything. Change-Id: I49bb886b639fe11e4923ef8486e0b9f8a966b10c Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* QLCDNumber docs: cleanup Qt3 support leftoversJ-P Nurmi2012-08-182-21/+0
| | | | | Change-Id: I22378c5334ac830e94060f20568e200f0ee49280 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Remove docs for removed functions.Frederik Gladhorn2012-08-181-34/+0
| | | | | Change-Id: I75ec0137c56581653ee0dd6fd84f10f0a6c3429c Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* Reference proper example.Frederik Gladhorn2012-08-182-1/+8
| | | | | Change-Id: Icda7e21f7e1eee8d4a6939ce3a50d1874ecda1e6 Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* Remove outdated docs.Frederik Gladhorn2012-08-184-149/+1
| | | | | Change-Id: I6eaffdad3b800b7d90478cb7c4044ec27e659ec9 Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
* QMessageLogger: mark noDebug() as nothrowMarc Mutz2012-08-182-2/+2
| | | | | Change-Id: Ib01ad955844e8da376c687876141ad8f21776613 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QMessageLogger: make member functions constMarc Mutz2012-08-182-17/+17
| | | | | | | | | | Just because we can :) It looks a bit weird that QMessageLogger has a constexpr constructor, but no const methods... Change-Id: I794dd2b3326c45be17b29decb47c9cac4778d397 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Moved guibooks.qdoc from qtdoc to qtwidgetsJ-P Nurmi2012-08-181-0/+103
| | | | | Change-Id: I69e07b7a343c99ebafc7bf4587041b6f9ddbd37e Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
* Exclude snippetsJan-Arve Saether2012-08-171-0/+2
| | | | | Change-Id: Ia31d7923e9a121eb7c16a1fe059dc8c9a5b61bd1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Doc: Fix spelling errorsSergio Ahumada2012-08-1711-15/+15
| | | | | Change-Id: Ibae8d10183f6b15a16b1499daa2df8802dbb014e Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* Make qdoc ignore Q_WIDGETS_EXPORT.Frederik Gladhorn2012-08-171-0/+1
| | | | | Change-Id: Ic76ba6260a219f5a7f336e6bc15654bc827dfcd3 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QTabWidget docs: cleanup Qt3 support left oversJ-P Nurmi2012-08-171-2/+0
| | | | | Change-Id: If73848b0b8dc424b3429f845aff383d088a6a367 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QTabBar docs: cleanup Qt3 support left oversJ-P Nurmi2012-08-171-17/+0
| | | | | Change-Id: If2c9245ad454b1f34c44f1d0a0c61700cea53cf3 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QDate/TimeEdit: fix qdoc warningsJ-P Nurmi2012-08-171-0/+12
| | | | | | | | | | | | Warnings caused by c3e1ab: ../widgets/qdatetimeedit.h:208: No documentation for 'QTimeEdit::time' ../widgets/qdatetimeedit.h:220: No documentation for 'QDateEdit::date' Both 'date' and 'time' are declared and documented in QDateTimeEdit. Change-Id: I287b5f20568e4055e6922eb1a70aeedf220de823 Reviewed-by: Shawn Rutledge <shawn.rutledge@nokia.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QMenuBar: fix qdoc warningsJ-P Nurmi2012-08-171-85/+3
| | | | | | | | | Removed Qt3 support left overs, marked QMenuBar::platformMenuBar() as internal, and removed the reference to qt_mac_set_native_menubar() that was removed in 2922f8. Change-Id: Ia6af9bd399c88fafab26789278b4c82312d6d9c7 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QScrollBar: fix qdoc warningsJ-P Nurmi2012-08-171-6/+0
| | | | | | | Removed some Qt3 support leftovers Change-Id: Idd8e05fd96f5eb0816f79e6684293c9477d4d52f Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* QFrame docs: cleanup Qt3 support leftoversJ-P Nurmi2012-08-171-10/+0
| | | | | | Change-Id: I8c51f0a379c03e4bdd9dbdccc6cdc98a7013c40e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix a bug in qdocs handling of excludedirsJan-Arve Saether2012-08-176-13/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug was there because the way qdoc tries to exclude the directories given in the "excludedirs" variable: It did a simple string comparision on the candidate path (to include) with every string in the "excludedirs" variable. However, this did not work for all cases, since the paths are not canonicalized. For instance, the problem I faced was that the following qdocconf fragment: (config file located in doc/qtwidgets.qdocconf) sourcedirs += .. excludedirs += snippets Since qdoc would recursively parse all subfolders of sourcedirs, it would at one point visit the snippets folder, but it would have the relative path "../doc/snippets", which did not match with "snippets", causing snippets to not be excluded. In addition, it seems that qdoc tries hard not to use absolute paths (maybe because of more human-friendly error messages). I therefore chose to canonicalize the relative paths. As a side-effect this also give a better output from qdoc, as ../doc/foo.qdoc:42: Missing link will become foo.qdoc:42: Missing link Change-Id: If9c25fa569abd03542bd12675acd44d8f4e0282c Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Clean up docs for graphicsview.Jan-Arve Saether2012-08-176-10/+128
| | | | | | | | | | | | * doc/snippets/graphicsview.cpp is moved from the qtdoc repo * doc/images/graphicsview-parentchild.png is taken from 4.8 There are still some problems with references to examples, but Casper meant that Jerome was working on that, so I'll leave those fixes out. Change-Id: Ieac8e6564344851fe8e77f2b346b152e57f8485c Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QComboBox docs: cleanup Qt3 support leftoversJ-P Nurmi2012-08-171-79/+2
| | | | | Change-Id: I59352edee99321c6119aee9c0f5e428a5371c997 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Decouple -lang-c++ from CXX command on QNX mkspecsRafael Roquetto2012-08-174-6/+7
| | | | | | | | | | Making -lang-c++ integral part of the $CXX command was wrong, because there are cases where $CXX must be called without the -lang-c++ file (when building asm files for instance). This commit moves the -lang-c++ to $CXX_FLAGS where it belongs. Change-Id: I667c8d722105c6117fcd8ff3102dbdfcb890b24f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QThreadPool: fix race on 'queue' in stealRunnable()Marc Mutz2012-08-171-1/+1
| | | | | | | | The code under mutex protection already implicitly handles the case where queue.empty(), so just removing the pre-lock check suffices. Change-Id: I01467aff62e61bb4efd16359dd64546ff51c6bad Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QThreadPool: use swap() when making a copy of allThreadsMarc Mutz2012-08-171-3/+3
| | | | | | | This is the C++98 version of std::move(). Change-Id: Icb73da16bb05bf07114a38e4fd48732b612e2d51 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QThreadPool: don't loop unless neededMarc Mutz2012-08-171-2/+2
| | | | | | | The resulting code is easier to understand, too. Change-Id: I3cd84d85b3186860dd3ccd67c3771b82695e7f83 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QFutureInterface<void>: const-correct reportFinished()Marc Mutz2012-08-171-1/+1
| | | | | | | | The primary QFutureInterface::reportFinished() takes a const T *, so should the void sepecialisation. Change-Id: I4d3173f4fd4f8d27baecd407369659a42445aed7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qmake: object_with_source feature removedJoerg Bornemann2012-08-171-6/+1
| | | | | | | | | | | By putting object_with_source into CONFIG one could force qmake to output each object file into the same directory as its source file came from. This was a rather nasty work-around from Qt 3 times to support source files with the same file name in a project. Unfortunately this doesn't play nicely with shadow builds. Change-Id: Ie79e14d36ba6eac4219edc14ea75ab6a96f9ea96 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* unbreak "aux" template for mingw & msvcOswald Buddenhagen2012-08-172-13/+2
| | | | | | | | we cannot just completely stub it out, as then there are no dependencies on whatever targets we actually *want* to be built. Change-Id: I32a92fa937d099c153a0082feae5d23e3998ba48 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* 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>