summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* QIconLoader: enable an easy case of transactional processingMarc Mutz2014-09-021-3/+4
| | | | | | | | | It's easy to do the work on the side and then commit. This is strongly exception safe, but in Qt, we don't care. But transactional code, when this easy to achieve, is also clearer. Change-Id: I30f1badec7745d62a09af4eede234cb312b373aa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix radioButton height for Windows styleMaks Naumov2014-09-021-1/+1
| | | | | | Change-Id: I755ed32f7458fec0fcbc5243d25fb1f6ecf46492 Task-number: QTBUG-32420 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* direct2d: Fix translucent/frameless window renderingAndrew Knight2014-09-014-41/+135
| | | | | | | | | | | | | | | | | | | | When using WA_TranslucentBackground/FramelessWindowHint, the backing store must paint to an offscreen texture instead of the swap chain in order to achieve the desired results. This texture is then presented to the screen using UpdateLayeredWindowIndirect(). As the swap chain is not needed in this mode, its construction is skipped if indirect rendering is active. Furthermore, the layering options were updated to fix an issue with transparent layers overpainting the background. The layer options were switched to D2D1_LAYER_OPTIONS1_NONE, which appears to work for both translucent and non-translucent rendering modes. Task-number: QTBUG-40601 Change-Id: I656f7cdfb424d1eda6f82c2c69500e78d8c1726a Reviewed-by: Louai Al-Khanji <louai.al-khanji@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* winrt: Fix mouse coordinates on high-DPI displaysAndrew Knight2014-09-011-3/+5
| | | | | | | The scale factor was only being applied to touch coordinates. Change-Id: I7fc2793b1514c73986a574a95478306c1eb54c5e Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Fix no-opengl buildLaszlo Agocs2014-09-016-1/+28
| | | | | | Change-Id: I577bd5d10e52571c95c9e646327264cf95ac6eb1 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Fix -angle-d3d11 on MSVC2010Andrew Knight2014-09-015-3/+257
| | | | | | | | Allow the D3D11 renderer to build with the June 2010 DirectX SDK. Change-Id: I2343acedab16845d6a0d4a53cf3145f583efc4a7 Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* ANGLE: Don't directly link to DirectX 11Andrew Knight2014-09-012-7/+2
| | | | | | | These libraries are dynamically loaded on desktop Windows. Change-Id: I3a0d17a48a3bd4930690d20d387df0d92906662d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Prevent current context from becoming inconsistent upon create()Laszlo Agocs2014-09-014-7/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Platform plugins have a tendency to make the newly created native context current with a temporary surface. This is usually needed to query some information related to the new context. Afterwards most of them just reset to having nothing current. This has two issues: It unexpectedly changes the current context/surface. A call into QOpenGLContext::create() does not imply that the current context will get changed. This is the minor issue and we could probably live with it (at least if it had been documented). However, the real issue is that QOpenGLContext::currentContext() will become inconsistent: it will still report whatever was current before the create() even though on the EGL/WGL/GLX level that's not the case anymore. To prevent all this confusion the platform plugins can easily be changed to restore whatever context/surface was current before they altered it. Change-Id: I6a5b4597c86571327524ddb13e0d02538593cc7b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* iOS: Initialize QScreen properties before setting up root viewcontrollerTor Arne Vestbø2014-09-011-19/+19
| | | | | Change-Id: I5fd899030b0557e9b0d96f2c065c8be5cfadd5de Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Windows QPA plugin: Streamline code to find window at a position.Friedemann Kleint2014-09-016-49/+10
| | | | | | | Task-number: QTBUG-40815 Change-Id: I0efcc2cfcafdee04bda20afa88a7f6aaabd57210 Reviewed-by: Kai Koehne <kai.koehne@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Fix advance of zero-width spaces in fonts that omits the glyphAllan Sandfeld Jensen2014-09-012-7/+21
| | | | | | | | | | | | | | | Some fonts appear to include zero-width space in the CMAP table, but not include an actual definitions of the glyph they point to. The missing glyph causes a warning, but isn't handled making the character end up being giving the same metrics as whatever character it came after. This patch adds explicit handling of missing glyphs, and also caches their missing state when caching is enabled. Task-number: QTBUG-40912 Change-Id: I06fba9c01df59548e750e36babfdd5a6bafd6bd0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* Remove superfluous "break" in QWindowsNativeFileDialogBase::setLabelText()Maks Naumov2014-09-011-1/+0
| | | | | Change-Id: I889dfa00daf60e393e3d95ee2d0ecb73f7871e4c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Fix memset() for "alphaValues" in supportsSubPixelPositions()Maks Naumov2014-08-311-1/+1
| | | | | | | Fix reversed memset arguments. Change-Id: I1601fecb24068fa601e919a9fd8bb1e991ef70ec Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* QDoc: fix Node::setPageType() when type name is "faq"Maks Naumov2014-08-311-2/+2
| | | | | | | "HowToPage" has been verified above. Change-Id: If8ca9b375029d5b018936b04a2a313cf5b8788b6 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Avoid trying convert to RGB32(ARGB32) when image already RGB32 while writing ↵Maks Naumov2014-08-311-1/+1
| | | | | | | | | | | | XPM image "sourceImage.format() != QImage::Format_RGB32 || sourceImage.format() != QImage::Format_ARGB32 || sourceImage.format() != QImage::Format_ARGB32_Premultiplied)" This condition always "true". Change-Id: I67b3dfac135985a75bcd697b4c1a84ec3c0b66f5 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* IBus Input Method: Check in commit whether we need to commitDaniel Teske2014-08-311-3/+5
| | | | | | Task-number: QTBUG-40755 Change-Id: I283d48cc6d4390a02d0df63ac6e38fa5f73a0ec0 Reviewed-by: Pekka Vuorela <pvuorela@iki.fi>
* Fix headercheck failure introduced by 67c83f329e7fb6fbf5d8e402f42Thiago Macieira2014-08-301-0/+4
| | | | | | | | | That commit exposed part of qfunctions_winrt.h for non-WinRT use (Windows 8) without wrapping with Q_OS_WIN. That meant the headercheck pass failed to compile when outside of Windows. Change-Id: Ie731cce21e5102f5e5879b147b7738a7d0a91ecd Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Doc: Fixed typo "lamda".Jerome Pasion2014-08-301-1/+1
| | | | | | Change-Id: I17a3b324927407b64cabc39a0b90f0ab2e0676be Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* ssl: disable (broken) i/o on DER encoded keysJeremy Lainé2014-08-305-29/+31
| | | | | | | | | | | | | | | | | | | | | QSslKey currently has methods which supposedly allow decoding and encoding private keys as DER protected by a passphrase. This is broken by design as explained in QTBUG-41038, as storing the encrypted DER data alone makes no sense: such a file lacks the necessary information about the encryption algorithm and initialization vector. This change: - explicitly stops using the passphrase when decoding DER in the constructor. The behavior is unchanged, it is not possible to read the encrypted DER alone. - refuses to honor the passphrase to DER encode a private key. The toDer method now outputs an empty QByteArray instead of garbage. Task-number: QTBUG-41038 Change-Id: I4281050cf1104f12d154db201a173633bfe22bd9 Reviewed-by: Richard J. Moore <rich@kde.org>
* winrt: Implement missing SSL socket methodsAndrew Knight2014-08-302-68/+562
| | | | | | | | | | | | | | | | | | | | Move from a stub to a functional SSL socket implementation. This implementation has some limitations. Due to the way the native SSL upgrade works, it is not possible to ignore SSL errors after the handshake has begun. The user must set the ignore flags before connecting to the host. Due to missing implementation in the underlying native socket, the synchronous methods (waitForConnected(), waitForDisconnected()) are not functional either. Users must rely on the asynchronous methods instead. This is not a problem in the general case, as HTTP(S) is not affected. SSL server sockets are not supported by the native API, so it is not possible to bind an SSL server socket. Change-Id: Id0b323f273892580b294aa5a6ff601a8241470df Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* winrt: complete QSslCertificate implementationOliver Wolff2014-08-305-0/+129
| | | | | | | | | The native handle and import functions are now available for use in other parts of the winrt backend. Change-Id: I07e6f95b3411c3dc7c1a7a164544b18e5e435d01 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* ssl: Add common key parser for backendsJeremy Lainé2014-08-295-140/+212
| | | | | | | | | | | | | | | | This internal implementation of QSslKey can be used when OpenSSL is not available. Encrypted keys are not supported, as the cryptography must be supplied by a separate library. With this commit, WinRT is migrated to the new implementation, but qsslkey_winrt.cpp is left in place so that the missing crypto implementation can be added later. This also means most of the expected failures for that platform can be removed from the autotest. Change-Id: I24a3ad1053bb72311613b28b3ae845aa1645a321 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* Add Q_ENUMS to QStyle's enumerations.Friedemann Kleint2014-08-291-0/+3
| | | | | | | | | This makes it significantly easier to obtain debug output for style functionality. Task-number: QTBUG-38858 Change-Id: I19edc834a55fa369b6830abeb4697ae5e5ded995 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Windows: Fix QPlatformCursor::pos()/setPos() for DPR scaling.Friedemann Kleint2014-08-292-2/+9
| | | | | | Task-number: QTBUG-38858 Change-Id: Ibb0355ae19a382e4eb3805fe6d6afab2a2a603e6 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Fix nativeRead() for maxlen greater than UINT_MAXLars Knoll2014-08-291-4/+4
| | | | | | | | | | Don't truncate the maxlen to a DWORD. Instead read all data incrementally up t maxlen. Task-number: QTBUG-27796 Change-Id: I21c34d11046f1106244dcd77420cc472e7240e68 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QListView: Catch stack overflow on mutual scrollbar calculation.Christoph Schleifenbaum2014-08-291-2/+32
| | | | | | Task-number: QTBUG-39902 Change-Id: Ie850371098070e8ce485d5cb122aa89c18d97359 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* qdoc: Use qdoc error logging for warnings related to index filesTopi Reinio2014-08-291-12/+14
| | | | | | | | | | | | | Make the warnings that are displayed during the reading of index files and dependencies more consistent by using QDoc's error logging functions. This means that warnings are not generated in prepare phase, but they are generated for projects that call qdoc directly, running prepare and generate phases in one go. Change-Id: I645c3feb1cbf471fd3ca6034f94e7dc1ea35b875 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Windows: Detect Surface Pro 2 tablets.Friedemann Kleint2014-08-281-0/+2
| | | | | | Task-number: QTBUG-39571 Change-Id: I9cb7fe2dee9a0701912ea639cdcc66a198e5b65c Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QLineEdit: Disable standard key 'cut' when there is no selection.Friedemann Kleint2014-08-281-1/+1
| | | | | | Task-number: QTBUG-40477 Change-Id: I0741a1a769c9e7e0d19e8aec231acc29461d44ea Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Doc: properties, add missing parenthesisSamuel Gaist2014-08-281-1/+1
| | | | | Change-Id: I97b5a96b29416ca7af145edb1a6a96595c9524da Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
* Windows: Prevent hidden transient children from being re-shown by Windows.Friedemann Kleint2014-08-282-3/+12
| | | | | | | | | Bring back code from Qt 4 to handle WM_SHOWWINDOW / SW_PARENTOPENING correctly. Task-number: QTBUG-40696 Change-Id: If018bf90573f495dbe32d0c46f522ccde0691ebb Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Adapt the Vista-style wizard for device pixel ratio scaling.Friedemann Kleint2014-08-282-28/+57
| | | | | | | Task-number: QTBUG-38993 Task-number: QTBUG-388583 Change-Id: I1e3f1b5c82b9751e7f2aa6aed3d89d4388ecf1ce Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* QWidget::save/restoreGeometry(): Check screen size.Friedemann Kleint2014-08-281-4/+27
| | | | | | | | | | | Bump minor version of the saved geometry and append the screen width in version 1.1. Use that to check and bail out should large differences occur due to scaling or different levels of DPI awareness. Task-number: QTBUG-38858 Change-Id: Iad8ae0705297118b4237c9a41469cb97d7eab549 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Code cleaning in qt_gl_resolve_extensionsAllan Sandfeld Jensen2014-08-281-34/+42
| | | | | | | | | Moves feature checks so OpenGL vs OpenGLES is only tested one way and extensions so they are not tested if already required by their version. Change-Id: Ia77f6ea924559fa7a428beb6316ae392063dfc4f Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Let ANGLE use multithreaded devices if necessary.Michael Brüning2014-08-284-0/+90
| | | | | | | | | | | This is needed to prevent lock-ups in application that use ANGLE from multiple threads, as e.g. QtWebEngine based applications do. The environment variable QT_D3DCREATE_MULTITHREADED is used to communicate this from the QtWebEngine module. Change-Id: Ibd5a5c75eb68af567d420d9a35efb3490c93b27c Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
* Mark QByteArrayList as metatype built-in type.Jędrzej Nowacki2014-08-285-3/+25
| | | | | | | As a side effects it also adds core templates types to the tests Change-Id: I0e3338e0bffdf21982aa83d404c83288e54411f4 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* QWindowsNativeInterface: don't allocate memory just to compare stringsMarc Mutz2014-08-281-3/+3
| | | | | Change-Id: I691d2629a78aaaee3d1741b9ab4c55b16c95bde9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Micro-optimize QVector::count()Marc Mutz2014-08-281-1/+3
| | | | | | | | | | | ...by instantiating std::count() not with QVector::const_iterator, which is a class, but with const T*, thus increasing the chance that the instantiation can be shared with other instantiations in the executable. It might also enable STL implementations to choose a hand-optimized version of the algorithm for C++ builtin types. Change-Id: I93df4e58f76838d98b565f229c19e317774b7b4c Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QList: check d for equality before d->size for inequalityMarc Mutz2014-08-281-2/+2
| | | | | | | Same change as was already applied to QVector::operator==(). Change-Id: Ic2e140a52ee95f2e215668077951de0b4450d194 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QVector: check d for equality before d->size for inequalityMarc Mutz2014-08-281-2/+2
| | | | | | | | | | | | | | | | Assuming the CPU has already loaded 'this', the value of 'd' is just an indirect load away. The value of d->size, however, is two indirect loads away, one of which is the load of 'd'. So it makes more sense to check for d-pointer equality first, as that can proceed in parallel with the fetch for d->size, which the CPU may speculatively trigger. In addition, at least GCC in release mode after this change doesn't set up the stack frame if the d-pointer check succeeds. Change-Id: I61f9b245070dd1742fca6ccb8d4936a0b1aa7c07 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* winrt: Refactor internal socket bufferAndrew Knight2014-08-282-121/+70
| | | | | | | | Simplify the temporary buffer usage by using the built-in WinRT Buffer class. This also allows one use of the local event loop to be removed. Change-Id: Ice552910227ffbe31c6e8716ff7896af7c4532ef Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* winrt: Fix socket descriptor storage in native socket engineAndrew Knight2014-08-282-79/+126
| | | | | | | | | | | | | This stores the socket pointer in the descriptor, rather than an abitrary handle, so that it is easier to access from e.g. SSL socket. To further support SSL sockets, a special case for SSL sockets is made so that the the socket reader installation can be delayed until after the socket is encrypted (as this is the only supported mode of operation with StreamSocket). Change-Id: I693229189722dc43b221b167e8256f5497a50346 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
* network: Add pending close on disconnect for non-empty write bufferAndrew Knight2014-08-281-1/+3
| | | | | | | | | | Similarly to 1b19f660 (which added socket flushing before close), the socket should have a chance to disconnect if the write buffer is not empty. Instead of flushing, the pendingClose is added so that the backend may disconnect the socket once these bytes have been written. Change-Id: I2d85b6356c3e158bade3d5d86161d3e33649cad6 Reviewed-by: Richard J. Moore <rich@kde.org>
* ssl: Share the host name matching utilitiesAndrew Knight2014-08-274-61/+61
| | | | | | | | | This moves the socket backend's host name matching functions up to QSslSocketPrivate so that they can be shared between backends. This works, as there is no OpenSSL-specific code here. Change-Id: I73c2081fdc2e60a44c90e90800d1e1877391a626 Reviewed-by: Richard J. Moore <rich@kde.org>
* Doc: language corrections QStorageInfo classNico Vertriest2014-08-271-55/+55
| | | | | | | Task-number: QTBUG-40984 Change-Id: Idf8c6ecedb25f6c55b3fe8db69e6de9d9f2eaf74 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* Enables remap of NumpadKeys when Numlock is on and using evkeyboard.Risto Avila2014-08-271-0/+70
| | | | | | Task-number: QTBUG-32823 Change-Id: I80841a965c61a117e8b50a2775431bb723ca8eca Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Use ctor-init-list in QRegionPrivate(QRect) ctorMarc Mutz2014-08-261-5/+6
| | | | | | Change-Id: I531b862db7bdec0a504c6022c1a15635aaf3fc8d Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QRegionPrivate: remove copy ctor and assignment operatorMarc Mutz2014-08-261-17/+0
| | | | | | | | They're identical to the compiler-generated ones, and probably inhibit move operators here and there. Change-Id: I918f2946f6b6aa49aa883420dc87df44013938a5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qdoc: Enable listing of example files with .html extensionTopi Reinio2014-08-262-2/+6
| | | | | | | | | | | | | If a (non-external) link string ends in '.html', qdoc assumed it is a direct link to a generated html page. However, it could also refer to an example file with .html extension. This commit fixes a corner case where links to an example file page were broken for such files. Task-number: QTBUG-40831 Change-Id: I31acc141970b6768f0a93964723be82611d37a3d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Restore navigation bar title for module pages and groupsTopi Reinio2014-08-261-5/+4
| | | | | | | | | | | | | Adapt the code that generates the navigation bar to the recent changes in node hierarchy - Module pages, QML module pages and groups are no longer DocNodes. This change will ensure that if a page has a title, it will be visible in the navigation bar regardless of the the page (node) type. Change-Id: I697a12d5904d88f91771764ab7ed607b79e4eab1 Reviewed-by: Martin Smith <martin.smith@digia.com>