summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add QProcess::InputChannelModeOswald Buddenhagen2013-09-057-17/+94
| | | | | | | | | | | this enables forwarding standard input from the parent process. Change-Id: I7ee72b9842acc96320d4da693b95dd15d9a7b4d4 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* add QProcess::Forwarded{Output,Error}ChannelOswald Buddenhagen2013-09-056-15/+79
| | | | | | | Change-Id: Ifc5ed20c38f3228ef25c28681f296d0456b61abe Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* make the pipe setup code less convolutedOswald Buddenhagen2013-09-051-16/+21
| | | | | | | Change-Id: Ied870c892cc3dbbf24a3d9416f685e51a74e5c17 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* never create a console for command line tools launched from gui appsOswald Buddenhagen2013-09-051-3/+6
| | | | | | | | | | | | | | | commit 219b0d217 fixed forwarding of stdio to a console. unfortunately, it also forced the creation of a console in the first place if there was none, which is not part of the contract. instead, give the child process a window (== console) only we we already have one. this can be done irrespective of our channel mode, which has the nice side effect that an explicit redirection to a console would now also work. Change-Id: Id25cab5da1ac1cc8ce452127ff95bac8d0a0fea8 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* Remove qSort from QtWidgetsGiuseppe D'Angelo2013-09-057-11/+20
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: Iec5c10fc4c3b4e684b51f6223bf3cb56acc42b58 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Remove deprecated QtAlgorithms calls from the compose inputcontextGiuseppe D'Angelo2013-09-052-2/+6
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I75ecfb84befd5dcc44f2ffcbef2cb6f1cc39cfd8 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change QXcbConnection::atom() to be inline.Friedemann Kleint2013-09-052-6/+1
| | | | | | Change-Id: I88b5b2527808f7c603c5a041df9c8c9e8031a608 Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* qdoc: Removed declared but undefined member functionMartin Smith2013-09-051-1/+0
| | | | | | | | | The declaration for addToQmlModule() in class Tree is removed. Task-number: QTBUG-33350 Change-Id: I2278a67cd6daf0e7723b4bf6d33ff9ed33cf9266 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Remove deprecated algorithms usage from itemviewsGiuseppe D'Angelo2013-09-054-8/+10
| | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I68efdd1b08b94a737345644a5b588ffff5caac63 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Fix warning about unused variable.Friedemann Kleint2013-09-051-1/+1
| | | | | Change-Id: I557785911073a35100902aa631fcef81133615cc Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* QVariant: Make it possible to extract a QObject* from a wrapper without ↵Stephen Kelly2013-09-052-1/+4
| | | | | | | conversion. Change-Id: I3a054d87d12e08d72dd4c77b6d467dc63f9a2231 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QVariant: Don't crash when doing user-defined conversion to QObject*Stephen Kelly2013-09-052-0/+38
| | | | | | | | | The destructor of the ConverterFunctor calls unregisterConverter. If the instance is static (as it is in qmetatype.h), then this method can be called after the QGlobalStatic has already been destroyed. Change-Id: I33b70734cbe09dfa888e887280c349e43ad1b855 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QVariant::canConvert: Use the old type when checking for QObject* conversion.Stephen Kelly2013-09-051-1/+1
| | | | | Change-Id: I8450c74ecfdeee96e73b82438c5ef83c3acf4444 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Simplify the smart pointer metatype templateStephen Kelly2013-09-051-17/+6
| | | | | | | | | | Don't use ## concatenation to create an identifier. That won't work for types in namespaces: Q_DECLARE_SMART_POINTER_METATYPE(QtPrivate::FutureSmartPointer) Change-Id: I876ea93d817724005efc28413f09c01623c2a7a1 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Get QDoc to list the QT variable for namespaces.Jerome Pasion2013-09-051-13/+14
| | | | | | Task-number: QTBUG-32172 Change-Id: Id774b5d5036661a6f6b56b9c68f089031288eacc Reviewed-by: Martin Smith <martin.smith@digia.com>
* fix warnings - qprocess needs a qcoreapp instanceOswald Buddenhagen2013-09-051-1/+4
| | | | | Change-Id: Icf36c2e76595d8f2ed470da13e78c465cfa962f9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* remove redundant forwardedChannels() testOswald Buddenhagen2013-09-051-21/+0
| | | | | | | | | forwardedChannelsOutput() actually tests forwarding. also having the older test only eats CPU cycles. rename the new test to the old name for clarity. Change-Id: I16a326c8692bb594d7df7897bc53d31b23c66d90 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* make error reporting in forwardedChannelsOutput test more usefulOswald Buddenhagen2013-09-052-6/+16
| | | | | Change-Id: I0350ddfd6740d2a2cd3e0f49220cdaa83b854abf Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* micro-optimization/-clarificationOswald Buddenhagen2013-09-051-4/+4
| | | | | | | | | close stdin and let the process finish right away instead of first waiting for a reaction (which is not supposed to come) and then finishing. Change-Id: Ifcf200eead5ed95217843e105f9d2dbb5398d646 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* remove redundant conditionOswald Buddenhagen2013-09-051-3/+2
| | | | | | | ForwardedChannels implies that both stdoutReader and stderrReader are null. Change-Id: I9d5f02d3a1eac62316a6016b90c612d716ecaafc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Remove undesired pixel padding of glyphs on windows.Gunnar Sletta2013-09-051-4/+4
| | | | | | | | | | | The excessive padding has serious performance implications throughout Qt and need to go. The original reason for having them was to fix issues with GL text rendering and issues with unspecified OpenType fonts. There have been several other changes to the glyph cache since then and neither of the issues can be reproduced today. Change-Id: I6de67598a079c296daf48be07cc5c2d67768c384 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Rely solely on alphaMapBoundingBox in QTextureGlyphCacheGunnar Sletta2013-09-055-12/+44
| | | | | | | | | | | | | | | We're currently adding a lot of transparent pixels to the cache, wasting both memory and cpu cycles while drawing. AlphaMapBoundingBox was introduced to return the exact same bounds as the alphaMapForGlyph function so we should only rely on this instead of adding arbitrary padding and margins all over the place. Windows still has an arbitrary +4 in the its drawGDIGlyph() which means batching will not work on windows, but at least now other platforms do not need to suffer. Change-Id: I714903fa195004400c09c3bf6570e46179775f09 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* qimagereader: fix build on iOSRichard Moe Gustavsen2013-09-051-1/+1
| | | | | Change-Id: Ia928e449ecec49988e0af69da0a7aded5bf36871 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* qpluginloader: fix static build (on iOS)Richard Moe Gustavsen2013-09-051-0/+2
| | | | | | | | | | Since the function locatePlugin is unused when building Qt statically, the build fails on iOS. This patch will ensure that we only define it for shared builds. Change-Id: Idf3c3246d3cac94a3c001cc261f326e9a396aa31 Reviewed-by: David Faure <david.faure@kdab.com>
* Make tst_qalgorithms compliant with the StandardGiuseppe D'Angelo2013-09-051-0/+7
| | | | | | | | | | | | | | §24.4.1 [iterator.traits] of N3337 makes it *mandatory* to define the various types std::iterator_traits<Iterator>::{value,pointer,...} for any given iterator. §24.4.1.2 makes it enough to define them within our iterator class. Change-Id: I1305c8392d224889b09395e30ecc77b194020a15 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Compile fix in qxcbwindowhjk2013-09-051-1/+1
| | | | | | | | There was a error: narrowing conversion of 'Myns::XEMBED_VERSION' from 'unsigned int' to 'long int' inside { } [-Werror=narrowing] Change-Id: I1e155870b0b632bfe5ffa9deac69c4f151f5aa23 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix Clang 3.3 warning on using an undefined inline functionThiago Macieira2013-09-051-12/+16
| | | | | | | | | | | | | | | | Clang doesn't like forward-declared inline functions. qmetatype.h:70:29: error: inline function 'qMetaTypeId<QtMetaTypePrivate::QPairVariantInterfaceImpl>' is not defined [-Werror,-Wundefined-inline] inline Q_DECL_CONSTEXPR int qMetaTypeId(); ^ qmetatype.h:1463:30: note: used here const int toId = qMetaTypeId<QtMetaTypePrivate::QPairVariantInterfaceImpl>(); ^ Change-Id: I1454af5cce56512f0b3d63cfaf51a536207fc511 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Revert "Implement move-ctor and move-assignment-op for QScopedPointer"Stephen Kelly2013-09-054-194/+0
| | | | | | | | | | | | | | | This reverts commit 5b9006bbdba7dcab01b8e640554a7d7a4b64f76b. Also revert "Doc: Enable documentation for QScopedPointer's rvalue ref functions" This reverts commit 5f8416ec659b134db90df7e7f857db77fd27b6ab. Adding a move contructor to QScopedPointer makes no sense, because moving means 'escaping the scope', which breaks the fundamental point of QScopedPointer. Change-Id: I4ac1b108bf199af6e436fa1629aa2d3b93c27724 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add an advisory interruption mechanism to QThread.Corentin Jabot2013-09-056-1/+107
| | | | | | | | | | | | | | To ease interruption of long running tasks, a new method QThread::setInterruptionRequested() can be called. The task can check QThread::isInterruptionRequested() and act upon it by stopping itself. These methods are designed to replace the use of a global variable and other hacky ways to stop a task running in another thread. Change-Id: I17622dd60d2262078210e7e4294ad6c53a6dc179 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* ICC supports __builtin_unreachable(), so use itThiago Macieira2013-09-051-1/+1
| | | | | | | __assume(0) is not strong enough in some cases. Change-Id: Ifac42a58af891d636e3e0b2fa476da787bd0d1ce Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
* Don't assume processEvents(WaitForMoreEvents) will process timersTor Arne Vestbø2013-09-051-4/+2
| | | | | | | | | | | | | The WaitForMoreEvents flag only guarantees that we will process _some_ events -- either if they are in the event queue already, or by sleeping and then waking up to process an event. This event might be a system event, not the timer firing, so a single call to processEvents() is not enough to guarantee that the timer has fired. Instead we do a Q_COMPARE with a timeout, where we continiously process events until we see that the timer fired. Change-Id: I5dc04377f04190f3505be22e877af73d11b7547d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdatetime: fix build on iOSRichard Moe Gustavsen2013-09-051-1/+1
| | | | | | | Change-Id: I7c6225c54a863f29aa747caf2f57303b2bf6c398 Reviewed-by: John Layt <jlayt@kde.org> Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove qFill usages from the generic unix themeGiuseppe D'Angelo2013-09-051-4/+6
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I23719468e22e256caad977fce6c908059d4073ca Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* Remove qFind usages from QLinkedListGiuseppe D'Angelo2013-09-041-1/+3
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I00f5a2bf96e969b85d63479bab6497d6e1bd17b1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove qCopy from QVarLengthArrayGiuseppe D'Angelo2013-09-041-1/+2
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I854f64ebd6d83718b1bcb3c70a1697e38243296c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Enable XSync extension also for KWinMartin Gräßlin2013-09-041-1/+1
| | | | | | | | KWin supports the XSync extension. Since the check got added the XSync implementation in KWin got reworked (release KDE SC 4.8). Change-Id: I15c37fe4dd5501ca107b90a07ae8d70295ffaeda Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Introduce QAbstractTextDocumentLayout::unregisterHandler()J-P Nurmi2013-09-042-0/+19
| | | | | | | | | | Required for QQuickText & friends to implement image resource handling in a clean way - to get rid of QQuickTextDocumentWithImageResources and eventually make QQuickTextEdit's document interchangeable. Change-Id: I12305b68065a5990997ca4a47821fd29e0e17476 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Remove qSort usage from QIODeviceGiuseppe D'Angelo2013-09-041-1/+3
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: If9fbcaf714f10659a3571f9e55ab913a85538038 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Get rid of qSort usages in QDirGiuseppe D'Angelo2013-09-041-2/+2
| | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I951a2b9b16fce9d6d29cca0012cdeb06cad79fce Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Doc: Fixed QDoc's HTML generator to avoid creating blank pages.Jerome Pasion2013-09-041-8/+9
| | | | | | | | | | | -The qdb->findModule() call creates a module node even if the module name is empty. This creates the extra module.html pages in some doc projects. -The fix is to create a condition for calling findModule() Task-number: QTBUG-32990 Change-Id: I6c1d1c53f3814ea483df2cd05b8d39dc14b0fb7b Reviewed-by: Martin Smith <martin.smith@digia.com>
* Doc: Fixed information about the default modules when using qmake.Jerome Pasion2013-09-044-1/+17
| | | | | | | | | -Qt GUI and Qt Core are included by default -Added entry about disabling "gui" in the .pro file -Information placed in snippet files Change-Id: I1c70dcac9ca2d443e9f658e2a27727d24a25cae1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Unhide QObject::parent() from QAbstract{Table,List}model.Milian Wolff2013-09-041-0/+18
| | | | | | | | | Both overwrite QAbstractItemModel's parent taking a QModelIndex which hides the QObject::parent() method. This must be explicitly forwarded like e.g. QAbstractItemModel is doing. Change-Id: I6149ae365cd8467248f4ca79a3cb898e62068b10 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix qt_pixmapToWinHICON() not to return invalid HICON for null pixmapsJ-P Nurmi2013-09-041-0/+3
| | | | | | Change-Id: Ieda923bf27514a3daa8a5de7836511ab32346260 Reviewed-by: Ivan Vizir <define-true-false@yandex.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix layouts with expanding items with maximum sizePaul Olav Tvete2013-09-042-9/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | Layout items with a Preferred size policy would be treated as fixed size if they were in the same layout as an Expanding item (or one with a stretch factor). This occurred e.g. if a layout was configured similar to this: 1. One item with ExpandFlag/stretch but with a maximumSize set, e.g. (100x100). 2. Another item with 'just' GrowFlag, and a maximum size bigger than its size hint. If the above layout was resized to e.g. (200x50) it would cause the expanding item to correctly get the size (100x50), but the 'growing' item would not stretch beyond its size hint. Instead, it would distribute space around both items, behaving as if the 'growing' item was fixed'. The expected behavior is to continue to grow the 'growing' item after the expanding item has reached its size limit. Task-number: QTBUG-33104 Change-Id: Ie410653d905f7ca4d702528dafb269f30a0e4f61 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* QPluginLoader: add 'staticPlugins' functionRichard Moe Gustavsen2013-09-046-16/+67
| | | | | | | | | | | | | | | | | | Currently there is no API to extract the meta data from static plugins. This is needed in e.g QtDeclarative for loading static module plugins. This patch moves the 'staticPlugins' function from QLibraryPrivate into QPluginLoader, and makes it public. As such, we now also export QStaticPlugin. Since an application developer cannot do much with raw metadata, we add a new function QStaticPlugin::metaData() that returns the QJsonObject for the plugin. The old metaData function is renamed 'rawMetaData'. Change-Id: Idb0bf9ad8ebb13340565512e1998b26e762a357e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* eglfs: Check for a valid window handle before attempting to retrieve resources.Robin Burchell2013-09-041-1/+1
| | | | | | | | | In the case of a window that is not yet shown, or destroyed, there will not be a native handle, and this would crash. Change-Id: Ib8c1a4490d82654d04073dac240eaa1275cbc1b0 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Fix QSpinBox size calculation problem with stylesheetsCaroline Chao2013-09-042-12/+21
| | | | | | | | | Problem caused by change a317ee0a6fa76d1166f6da8593d39eaf7afce83c Task-number: QTBUG-31602 Change-Id: Ie8948445a58f51946f21d567ba91f9f10b848f8b Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* Enable -Werror for all of qtbaseThiago Macieira2013-09-041-0/+1
| | | | | | | | | | | | | | This change applies to all qtbase modules, tools and applications. It does not apply to examples or unit tests. This change complements the changes done to mkspecs/qt_common.prf (especially 043b80919747676c2df4b4423ed5950583233d30 and ebfd85a499a4382ace09d443b1f35cd6b1848af6). It enables -Werror checking in qtbase for GCC 4.6-4.8, Apple clang 4.0-4.2 and ICC 13.0-14.0. Change-Id: I6d29a7a1b3716960a149409f551363385991714c Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix ICC warnings about functions declared but not usedThiago Macieira2013-09-044-3/+3
| | | | | | | | | | | | | | | Added Q_DECL_UNUSED for the function used in Q_ASSERT; removed the functions that really weren't used and added the #ifdef for the function that was only used under #ifdef. qmetaobjectbuilder.cpp(93): warning #177: function "priv" was declared but never referenced qobject.cpp(2349): warning #177: function "check_and_warn_compat" was declared but never referenced qpathsimplifier.cpp(141): error #177: function "<unnamed>::Rational::isValid" was declared but never referenced qtextengine.cpp(2584): error #177: function "<unnamed>::QScriptItemComparator::operator()(const QScriptItem &, const QScriptItem &)" was declared but never referenced Change-Id: I89a140d59211f10ecd88d751f0bcc0ea2fedff7f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Fix -Wno-error=deprecated for GCC and ClangThiago Macieira2013-09-041-2/+2
| | | | | | | | | Commit a7ba0ad93e22d095f86c5faebd0b6ddf374656c8 introduced the -Wno- language. The warning about deprecated functions, variables or types is -Wdeprecated-declarations. Change-Id: I6d269851afefc6a3fc3bf6599c3c702eb164245e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>