summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* turn off exceptions by default where they aren't requiredLars Knoll2012-05-1716-119/+33
| | | | | | | | | | | | | This significantly reduces the size of the generated code in places where we don't need exceptions. The -(no-)exceptions configure flag has been removed in the process, as there is now a fine grained way to control this on a per module level, and Qt is being compiled without exceptions in most places. Change-Id: I99a15c5d03339db1fbffd4987935d0d671cdbc32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix cursorToX for right to left text with trailing whitespace.Andrew den Exter2012-05-173-15/+449
| | | | | | | | | | | | | | | | QTextLine::cursorToX returned the line width for cursor positions outside the width of a wrapped right to left line because the leading space width was always calculated as 0. Returning a non-zero width for the leading space does cause problems for other uses of QTextEngine::alignLine() though as the textAdvance already doesn't include the leading/trailing space so subtracting it there double accounts for it. Task-number: QTBUG-24801 Change-Id: I56cbb139814c32813bebb49de8c045b29154a958 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* QDoc: Generate correct relative paths and links when using -installdir.Casper van Donderen2012-05-162-6/+9
| | | | | | | | This change will generate working links between all modules in qtbase. Some testing needs to be done on the other modules. Change-Id: Ic65a9c753f891ac51427ca7c1cdcab13611d2f5b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Fix bug when destruction fields in QWizardCarl Schumann2012-05-164-1/+233
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Maintain the consistency of QWizardPrivate's two members: QVector<QWizardField> fields; QMap<QString, int> fieldIndexMap; during and after calls to QWizardPrivate's void _q_handleFieldObjectDestroyed(QObject *) member function. The failure to maintain this consistency caused an out of bounds access and core dump in QWizard's field(const QString &name) member function. QWizard's field(const QString &name) member function expects the values in the QMap fieldIndexMap to be indexes into the QVector fields. Prior to this change _q_handleFieldObjectDestroyed only removed the appropriate entry from the map and erased it from the vector. It did not decrement by one all the indexes greater than the index that was removed from the map and erased from the vector in the rest of the map. For example ... So if initially have the following mapping ... "field0" -> 0, "field1" -> 1, and "field2" -> 2 with fields of size 3. After destruction of "field1" have ... "field0" -> 0, and "field2" -> 2 with fields of size 2. Now attempts to look up "field2" using QWizard::field will have an out of bounds error and possibly core dump or trigger an internal Qt assert because an attempt to access this->fields[2] will be made. It should be accessing this->fields[1], but does not because the map is no longer consistent with the vector. This change adds a decrement by one for all the indexes greater than the index that was removed from the map and erased from the vector. Task-number: QTBUG-25691 Change-Id: Ia2a41027628a65faec4ecdd5da235ddd19746a57 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* enable the text layout's cache where it is seems to be missedKonstantin Ritt2012-05-168-3/+62
| | | | | | | | | | | e.g. in QStaticText, the data is used just to get the line's y-position and re-calculates just after the loop to determine the bounding rect and to draw the text; in QWidgetLineControl, the data re-calculated over and over while the result is seems to remain the same; probably the caching is needed here too Change-Id: I0f7eb291532f63eccb9c5f749daebb73ff90632f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* qdoc: Include QML type name in method quidMartin Smith2012-05-162-6/+6
| | | | | | | | | | | | A case was found where a method inherited from a QML type marked abstract had the same name as a method in the inheriting class, and these two methods received the same quid. This was fixed by including the QML type name in the guid for QML methods. Change-Id: I110eb254b3c6be014cb67fdc5b57b5aa2f575220 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add header qtest_widgets.h, similar to qtest_gui.h, but for QApplication.David Faure2012-05-162-1/+62
| | | | | | | | | | | | The current alternative is to define QT_WIDGETS_LIB before including qtest.h, but this is not convenient/intuitive when using other build systems than qmake. If one forgets the define, crashes happen when using QApplication-related code. Use <QTestWidgets> in one of the widgets autotests, for testing. Change-Id: Id96be4976723aea3e8a28c9d0d594daab25a6d90 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* Populate the font database when calling fallbacksForFamily().Zeno Albisser2012-05-161-0/+2
| | | | | | | | The Mac platform requires populating the font database to build the fallback list for font families. Change-Id: I5bd63cd3c5fa6216c312d439390681f160a716fb Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Add focusWindowChanged signal to QGuiApplicationJames Turner2012-05-162-0/+10
| | | | | | | | Required for Cocoa platform menus support, we need a way to update state after focusWindow() result changes. Change-Id: Idc573888c3d75bcbff2252e243c4b57b15fc2fcd Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Handle EglDisplay and EglContext in the native interface of eglfs.Samuel Rødal2012-05-163-1/+39
| | | | | Change-Id: I793176204f12eea9d915fb7fe489bd3450a283cd Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Add eglfs cursor supportGirish Ramakrishnan2012-05-169-1/+381
| | | | | | | | cursor-atlas.png was generated from existing cursor images (qttools/src/shared/qtpropertybrowser/images/) Change-Id: Ic4b396590eaec93e14a4b0915b15f735f5b1a5f5 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QCoreApplication: No longer hardcode arguments to be filtered out.Friedemann Kleint2012-05-162-29/+40
| | | | | | | | | | | | On Windows, Unicode command line arguments are re-created from the original command line filtering out the known arguments. To avoid having to hard-code all arguments of derived application classes, keep the original argv-array and use that to verify if an argument is still present. Task-number: QTBUG-25724 Change-Id: I5d7bbd9530b1b74e1dcd22a0edc4f323ef687d23 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Correct a mistake about non-characters in the documentation.Thiago Macieira2012-05-161-2/+2
| | | | | | | | | | | The Unicode non-characters are 32 characters, from U+FDD0 to U+FDEF. The code matching these comments was fixed in 9327bc87c3abf58bb471693b5448cd78e3db1b46, but the comment wasn't fixed. Change-Id: I5bde0ab9d70c1c6623893de36d31235cbd9fb152 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add Visual Studio 11 mkspecAndreas Holzammer2012-05-166-4/+146
| | | | | | | | | | | This adds the Visual Studio 11 mkspec and the corresponding changes to configure and qmake makesystem. Change-Id: I3a7e82a6f7f90aa0a94dedd493ebaa66bf100923 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qdoc: Fix some QString usage issues (Krazy warnings).Friedemann Kleint2012-05-1617-94/+94
| | | | | | | | - Avoid single-character constants. - Use QString() instead of "". Change-Id: If04eff389e7b6d4a18201365b711708fdf545d00 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Fix warnings about unused variables.Friedemann Kleint2012-05-162-5/+5
| | | | | Change-Id: I2052da55022334362efb5765335f00692f4c65fa Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Remove duplicate include for the macros.Stephen Kelly2012-05-161-2/+0
| | | | | | | | The basic config file includes the macros file already if needed. Change-Id: I8b03360ce1e9fff4a3be5270f659dbe22fc1b295 Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Properly quote all variables which are paths.Stephen Kelly2012-05-163-7/+7
| | | | | | | | This is required if Qt is installed into a directory with spaces. Change-Id: I1d6874265558d712ac98a3aef670c2934a632ab1 Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add a non-implicit copy constructor to QEventThiago Macieira2012-05-162-0/+43
| | | | | | | | | | | | | | | | | | | | | Copying events is a bad idea but it is permitted, used at least in the state machine framework and QApplication, which somehow found it amusing to clone events. We can't forbid it because it would be source-incompatible with Qt 4, and other ill-advised developer may be doing this. In the new copy functions and in the destructor, ensure that the d pointer is null. We can't copy it if it isn't. The exception is for DeferredDelete events, which use the d pointer to store the loop level count. Such value must not be deleted. In the future, if QEvent::d is used at the QEvent level, make sure to adapt QCoreApplication::postEvent to store the counter somewhere else. Task-number: QTBUG-25070 Change-Id: I1f2d3f3cfc891ec216df2e8b7dbe531524d21b26 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Avoid using iconv for text conversion where possibleLars Knoll2012-05-164-43/+44
| | | | | | | | | | | | Try to use a builtin codec as codecForLocale() if possible first. Fall back and instantiate the iconv codec only if that failed. In addition, make sure we initialize the locale correctly before we try to setup the codec. Change-Id: I86d635f9d11e8ff93093f162e79fb37f3d85731b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Limit the nesting depth of the Json parserLars Knoll2012-05-164-4/+107
| | | | | | | | | | | | | | | The parser is recursive and too deeply nested json would cause it to exhaust the available stack space leading to crashes. We now abort parsing with a DeepNesting parse error if the document is too deeply nested. The current nesting limit is set to 1024, which should be more then enough for any real JSON data set. Change-Id: I4adea3fd727149f7342536d73cf4530361a0a3a1 Reviewed-by: Jamey Hicks <jamey.hicks@nokia.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* QElfParser: double check section size before using it.Arvid E. Picciani2012-05-161-1/+1
| | | | | | | | | In rare cases, if the section is empty, we're reading the whole object into memory because size -1 = UINT_MAX. Change-Id: Ibf9a1534159ce626e4f2327536076d0cc1ebf0ba Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* MIPS DSPR2 optimization of routine fetchUntransformedRGB16Damir Tatalovic2012-05-163-0/+92
| | | | | | | Change-Id: I109deb969009214c4d81677e127f50120443acd2 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Revert "Temporarily disable -Woverloaded-virtual in headersclean test"Kent Hansen2012-05-161-1/+1
| | | | | | | | | This reverts commit a17523805e56511465550a6a93a88b3fc3c8325a The compatibility overloads were removed in change Icf108a80177155f21bb73c165fb8ab5d4e997bc2. Change-Id: I4861f281451d66a1aa5f3525eea1773dfef0540e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Support specifying fallbacks in font request on QPAEskil Abrahamsen Blomfeldt2012-05-163-7/+18
| | | | | | | | | | | | | Because the QPA font database would query fallback families inside findFont(), support for requesting multiple font families in order of preference (like QFont("Times New Roman, Arial")) did not work, because the Arial fallback was never attempted. To fix this, we pass in the queried fallbacks and make sure they are tried before any platform specific fallbacks. Task-number: QTBUG-20986 Change-Id: Idb2b717856f013ce2874f00a8debaff60176d2fc Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* QChar: add isSurrogate() and isNonCharacter() to the public APIKonstantin Ritt2012-05-1611-119/+112
| | | | | | | | + QChar::LastValidCodePoint enum value that supercede the UNICODE_LAST_CODEPOINT macro replace uses of hardcoded values with the new API; remove leftovers Change-Id: I1395c9840b85fcb6b08e241b131794a98773c952 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QChar: add missing UCS-4 overloads, get rid of UCS-2 onesKonstantin Ritt2012-05-163-224/+231
| | | | | | | | | | inline all non-static members to a static ones (declared with QT_FASTCALL), ushort converts automatically to uint and the conversion cost is minimal. Task-Number: QTBUG-13052 Change-Id: I189a6f205736766adcd3de2d61cee71f30cc64f3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QJpegHandler: add an embedded text supportKonstantin Ritt2012-05-164-30/+119
| | | | | | | | | | | texts for the textKeys are stored each in a separate COM(ment) section so that the maximum text's size is almost 65KB Task-number: QTBUG-10568 Task-number: QTBUG-111 Change-Id: I7d693741e10e5d78d497cb0af448160077350bb2 Reviewed-by: aavit <qt_aavit@ovi.com>
* Fix QFile::permissions for long filenamesShane Kearns2012-05-162-8/+60
| | | | | | | | | | When qt_ntfs_permission_lookup is used, QFile::permissions failed for files with long filenames. Also created a test case for this API, which revealed another bug. Task-number: QTBUG-25629 Change-Id: I73b7676a9d059c0e782b3f701b2e6bbc92f671ed Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* tst_QNetworkReply: enable the ioGetFromBuiltinHttp test.Martin Petersson2012-05-161-6/+5
| | | | | | | | | | This can be enabled again now. The sender transfer test is still not re-enabled since the test would take to long to run if sending enough data to overwhelm the reciever's kernel buffers. Change-Id: I4056fdca53ec8ebbcc53dfdc814d8bfdbc73f7ce Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
* QHttpNetworkReply:readBodyFast return early if nothing to read.Martin Petersson2012-05-161-0/+2
| | | | | | | | | Incase there is no bytesAvailable on the socket there is no need to try to read. Change-Id: Ied9e4b8d86854b356a733fab4948739db206b6ad Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* QNetworkAccessManager: Read all from socket on remote host closeMartin Petersson2012-05-161-0/+26
| | | | | | | | | | When we get a remoteHostClosed we should try to read everything from the socket before we close the channel. Change-Id: Iaa87d79ea16d69735f6ba3e8b3b4a0f86fbd5f73 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix cases where functions are called with a drive and no slashAndy Shaw2012-05-162-10/+34
| | | | | | | | | | | | | | | When a file is specified on a path that includes a drive letter followed by a colon but no slash then it didn't always account for the fact that this refers to the current path on that drive. This fixes the problems in completeBaseName(), baseName() and path(). Tests are also added for these three cases and some others too. Task-number: QTBUG-25353 Change-Id: I47a197c6af066f532442ad269be57597ec61303a Reviewed-by: Irfan Omair <irfan.omair@gmail.com> Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* udev: improve device discovery with udev for add/removeJohannes Zellner2012-05-151-5/+10
| | | | | | | | | | As the udev device tree structure varies between distros and udev versions, first probe the actual leaf node for device properties. If leaf does not contain needed properties, walk up the tree to the next node matching the queried submodule. Change-Id: I09329d5a76a1a2a797513f4a787cb27fed5293c7 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* printsupport: set duplex setting correctly to CUPS printerTeemu Katajisto2012-05-151-14/+14
| | | | | | | | If CUPS printer default is not DuplexNone then setting duplex to None for printer did not have any effect on duplex setting. Change-Id: Ifdd82241952c9a63cdf9b53fe787f7503b8049bd Reviewed-by: John Layt <jlayt@kde.org>
* Use IF(NOT TARGET ...) before creating imported targets.Stephen Kelly2012-05-154-3/+13
| | | | | | | | | | | | | | | | | | Initially we didn't do this because someone could accidentally create another target of a conflicting name, and used a variable to store whether we have created the target already or not. That wasn't adequeate to deal with finding the package in a scope like a function, so we used a directory property. However, the directory property is not valid in the same scopes as the defined target. For example, finding a Qt module in both a directory and a subdirectory causes a conflict. As it is already unlikely that a target would be accidentally created with a name like Qt5::Core, we should simply use the IF(TARGET) form. Change-Id: If64f25d45f51edcd1edb0d4bfb5ed3bb2479bd27 Reviewed-by: David Faure <faure@kde.org>
* Add Q_UINT64_C to 64 bit integer literal.Carl Schumann2012-05-151-1/+1
| | | | | | | | | | On some systems prior to this change the code would not build with the following error reported by gcc: error: integer constant is too large for 'long' type Change-Id: I778bce9a72ccf3a41cdf17883d734082ed3fb4b3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* input: Use UDev or specific device pathsJohannes Zellner2012-05-153-19/+23
| | | | | | | | | Keyboard,mouse and touch plugins using evdev now either use udev for device discovery or the plugin arguments for fixed device paths. Change-Id: I72606ad48c15c55a49724a82f7bc285dd3984c43 Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Restore the QEvent::d pointer to null after we're done using itThiago Macieira2012-05-151-1/+4
| | | | | | | Change-Id: I2fd6ebd80bf47456d74e939d49bff4ac9f199e8b Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QElfParser: fix type of sh_sizePino Toscano2012-05-152-3/+3
| | | | | | | | | The type of the sh_size field of a section header is either Elf32_Word or Elf64_Xword, so the type used cannot be qelfword_t (always 32 bits) but qelfoff_t. Change-Id: Ia380b6823913fee7a96b39f742630ae3a9ca0cb8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Arvid Picciani <arvid.picciani@nokia.com>
* qdoc: Improve fileToOpen detection for examples manifestAlessandro Portale2012-05-151-1/+1
| | | | | | | | | When looking for a suitable "fileToOpen", do a case insensitive file name comparision. So that it also works in this scenario: AnExample/anexample.qml Change-Id: Ic4cd1d59a7a35e534bfd26cd174a3c2ab5383025 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Windows: Trim filter specification of the native file dialog.Friedemann Kleint2012-05-151-1/+2
| | | | | | | | In the event customer code (namely Qt Creator) does not pass a clean specification (corresponding to 4.8 behaviour). Change-Id: I8271e3a45bea4bea912fcdf0b7c0aae6c022c6a8 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Do not limit mingw mkspec to "win32-g++" only.kb2012-05-151-1/+1
| | | | | | | | | | | | The Qt configure script and various qmake project files interpret mkspecs with a win32-g++ prefix as needing special mingw treatment. This patch corrects one instance of the too-specific "win32-g++" qmake platform scope and broadens it to "win32-g++*" -- bringing it in line with the rest of the Qt project files -- thus re-enabling custom mkspecs for crosscompilation. Change-Id: I8c5107053ce9e0c499002b1990b492bda0eec52b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Set QMAKE_DOCS_INSTALLDIR to $$[QT_INSTALL_DOCS] to allow overriding in .proMarius Storm-Olsen2012-05-152-1/+6
| | | | | | | | | | | | Normally you want to pass -installdir $$[QT_INSTALL_DOCS] to qdoc by default. However, if you want to force the generation of URL links to the documentation, the option cannot be specified. By setting the QMAKE_DOCS_INSTALLDIR variable in default_pre.prf a project may override it at will, as for example Qt Creator would do. Change-Id: Ib31f03acf4e8050cf2dd3aa33f3a10ed027f1df7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix font printing on Windows using the native engine.Friedemann Kleint2012-05-154-28/+55
| | | | | | | | | | | - Add HFONT, LOGFONT, trueType as properties of the Windows font engine, make it a real Q_OBJECT. - Query properties in the Windows print engine and use the HFONT, LOGFONT there. Change-Id: I5c35275b32ef6580d7fa15ed83c6e79e33dc3334 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Rename QMimeDatabase method for consistency.David Faure2012-05-154-13/+22
| | | | | | | | Name is about mimetype names, while FileName is about, well, file names. Task-number: QTBUG-25748 Change-Id: I34a9ac1a5fc06dc3e3855365e19c4dc7a1aa2671 Reviewed-by: Wolf-Michael Bolle <wolf-michael.bolle@nokia.com>
* qdoc: Don't include internal QML properties in outputMartin Smith2012-05-155-8/+18
| | | | | | | | | QML properties marked internal were still appearing in the the HTML output. Also, the title for QML type pages was not correct in the help project writer. Change-Id: Icaad7cefce77a4af70796bc185c99a3035fb17c8 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Use capitalized navtitles in ditamap.Casper van Donderen2012-05-151-10/+10
| | | | | | | | The auto-generated ditamap used titles like "articles", this now becomes "Articles". Change-Id: I32fa6353443aaa66cbfc2b2fea1fea26e3e33684 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Fixed some terminology output by qdocMartin Smith2012-05-152-2/+2
| | | | | | | | | | There were still a few places where qdoc generated "element" instead of "type" or "class" instead of "type." These have been fixed. Change-Id: Id75156810212edb468198b6f269e3a91c55ac22c Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix include path to fb_base.priGirish Ramakrishnan2012-05-152-2/+2
| | | | | | | Also fixes a typo in fb_base.pri. Change-Id: I4fae156640325a7a2894ea0d1fbe96936f190bdb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>