summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * don't install modules-inst dirOswald Buddenhagen2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for in-source builds, we end up attempting to install the modules-inst dir in case we re-run qmake after some modules have been built. Change-Id: I50d4d394bfd6f48b9a5f5faa584919710a03dea9 Reviewed-by: Robin Burchell <robin+qt@viroteck.net> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| | | * Document that disconnectNotify may be called with a mutex lockedOlivier Goffart2013-12-041-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And that connectNotify and disconnectNotify might be called from another thread Task-number: QTBUG-34829 Change-Id: Id118b97b92e9aa085a1d4368282294f90cfb1706 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
| | | * QComboBox: Don't do anything if wheel event delta is zeroGabriel de Dietrich2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a consequence of us wanting to show the OS X transient scrollbars as soon as the user touches the trackpad with two fingers. Task-number: QTBUG-35120 Change-Id: Icf63b0ec8c32ac66108822804bb06a0762547ef1 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
| | | * QStyle: Fix painting of pixmaps with non-integer devicePixelRatioEike Ziller2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example QIcon can return pixmaps with non-integer devicePixelRatio, if there is no pixmap that exactly matches the requested size. Task-number: QTBUG-35125 Change-Id: I76bfa2766979a454c24b1abcf9e18930f5671c1e Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | | * Android: Fix crash caused by QJNIs classLoader code.Christian Strømme2013-12-041-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases the classLoader is not able to resolve fully-qualified names that contains forward slashes. Unlike FindClass() which expects the fully-qualified name to contain slashes, the classLoader expects the binary name, i.e., with '.' as separator. This caused a crash in QtMultimedia when accessing a nested class. Task-number: QTBUG-35298 Change-Id: I77728352fbab930ae1914bc1cb2189e458e179e2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: BogDan Vatra <bogdan@kde.org>
| | | * iOS: move infoPlistValue to qiosglobalRichard Moe Gustavsen2013-12-043-7/+8
| | | | | | | | | | | | | | | | | | | | Change-Id: If237f08683290105413dc47923e23a496765bb22 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * iOS: don't show statusbar if hidden from Info.plistRichard Moe Gustavsen2013-12-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is no way to always hide the statusbar on iOS other than showing a window in fullscreen. This patch will check if the statusbar is (initially) hidden from the Info.plist, and respect that in the application. SubAttack is an example of an app that (because of styling issues with MainWindow margins) manually sets the geometry larger than fullsreen, and calls showNormal(). In that case we still want the statusbar to be hidden. Change-Id: Ia365d14971978360d0b39621ff0f8f82f74b57e2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * iOS: Handle statusbar changes to child windowsTor Arne Vestbø2013-12-043-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Going through the platform window failed when the parent wasn't created yet. We can still get the window state of an yet-to-be-created top level window. Change-Id: Iaa61ddc50df037ac0bd2fd0884884c2bfce1dd9a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * Doc: Adjust description of the qreal typedefhjk2013-12-041-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I038df8034ee00868eeee18b1ed09f7a70e3dd77a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | | * Revert "Cocoa (OpenGL): If no view is attached, makeCurrent() should return ↵Morten Johan Sørvig2013-12-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | false" This reverts commit 2eb1e28a90eaf82f4405dc65584021f16415014b, which makes several of the OpenGL examples crash on startup. (textures, hellogl_es2) Change-Id: Id47d2df6f57b2396c333e478b3c062f4cb4becb5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | | * iOS: fix assert when using QOffscreenSurfaceRichard Moe Gustavsen2013-12-041-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt defaults to creating a QWindow as offscreen surface if QPlatformIntegration::createPlatformOffscreenSurface returns 0. Using an offscreen surface is often done in a background thread, which is problematic, since then a QIOSWindow will also be created in a background thread. According to Apple docs, working with a UIView from other threads than the main thread should not be done. In our case, we instead hit an assert in QApplication that checks for the same. As a quick fix for Qt 5.2, we remove the offending call that causes the assert, since we anyway will call the same function lazily when becoming first responder. Task-number: QTBUG-35378 Change-Id: Id35462f99783a9748c688b163f6497de9bfff73e Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * iOS: Disable drag and drop completely instead of enabling simple d'n'dTor Arne Vestbø2013-12-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The drag and drop event filters do not play nicely with touch events or virtual keyboards. Task-number: QTBUG-35348 Change-Id: Id4d079ae72882f48750d394f13e10700d60e4532 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | | * Improve expose event handling.Morten Johan Sørvig2013-12-043-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prevent the cocoa platform plugin from sending expose events for windows that are off-screen or has invalid geometry. Differentiate between initial exposes and geometry update exposes, in order that e.g. geometry updates that happen before setVisible() don't trigger expose events. After the initial expose geometry updates to and from invalid geometry will trigger obscure and expose events. Task-number: QTBUG-35143 Task-number: QTBUG-35091 Change-Id: Ibbff20c69974f098ea7635e9ca38620597840a05 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | * Make layoutDirection pass with new expose behaviorMorten Johan Sørvig2013-12-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QMenu with no actions gets a size of (0, 0) on OS X. With the new stricter expose event behavior this is considered invalid geometry and the platform plugin won't send an expose event, causing the qWaitForWindowExposed test to fail. Add a menu entry since the layoutDirection test is not really interested in testing the special case of empty menus. Change-Id: I5221dc3f0472ac13edf821df08bacc3a4eb5cd9d Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | * added buildsystem/qmake changelogOswald Buddenhagen2013-12-041-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ic1549b97fd4f71ac41f66432d40ff12bfa9d6897 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * iOS: fix crash when focusWindow changes while keyboard is openRichard Moe Gustavsen2013-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out we cannot rely on QGuiApplication::focusWindow() to be non-zero at all times (e.g when pop-ups are closing etc). So instead use m_focusView.qwindow which points to a valid QWindow. This window is the same as QGuiApplication::focusWindow most of the time, except when a focus window closes. For those cases we get a new call to scrollRootView immediately after with m_focusView updated to reflect the new focusWindow. Task-number: QTBUG-35339 Change-Id: Icb3a8d3140af1f1904495a9289c8c26ab79e70f6 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * iOS: fix crash when application quitsRichard Moe Gustavsen2013-12-041-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An application will sometimes crash if the keyboard is told to hide while the application is about to quit. This patch will ensure that we set m_qioswindow (and [UIView qwindow]) to 0 when the window is destroyed. We also check this pointer before telling QUIView to resign first responder when closing the keyboard. The latter will fix the crash. Task-number: QTBUG-35356 Change-Id: I934088beb7e877c5b33d96225cb215a8ffd4dbb2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * qdoc: Fix output filenames for QML basic type documentationTopi Reinio2013-12-041-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc intends to prepend all html files related to QML with a 'qml-' prefix. This doesn't work for basic QML types, as those nodes do not have valid qml module name information. This change fixes the issue by removing the requirement for a qml module name, thereby always using the qml prefix for a qml (basic) type. Task-number: QTBUG-35229 Change-Id: If61572b2dc8a39be08140c37aa59646b88e99b29 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | | * Fix style animations to stop when the animation target is hiddenJ-P Nurmi2013-12-044-13/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QStyleAnimation automatically stopped for hidden QWidgets, but didn't know anything about QQuickItems and kept animating regardless of their visibility. This change ensures that style animations stop as soon as the animation target no longer accepts the animation update eg. it has become hidden or the window was minimized. Task-number: QTBUG-35319 Change-Id: Ie48191fd918c626c0d9afe2e7d2390c495efb071 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
| | | * qdoc: Replaced hard-coded href with computed hrefMartin Smith2013-12-032-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For enum types that have QFlags versions, qdoc was outputting the documentation with a hard-coded link to qflags.html, which only workjed in the single directory mode. When qdoc outputs modular documentation, the href for the link should be "../qtcore/qflags.html" . Now qdoc computes this href correctly before it writes the docs. The href is no longer hard-coded. Task-number: QTBUG-35209 Change-Id: Ibdf5b11dbd063726eb77048de78f8874c65752ca Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | | * iOS: fix application hangs when opening keyboardRichard Moe Gustavsen2013-12-031-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QIOSInputContext controls QUIViews first responder status based on whether or not the keyboard should be open. But since QGuiApplication updates focusObject before focusWindow (when e.g a popup closes), we sometimes ended up activating the old window upon a call to becomeFirstResponder. This in turn led the application to hang because of recursive dependencies in qioscontext when the focus window changed. So the solution for now is to avoid activating the window when the view becomes first responder. This should be fine since we now activate the window from QIOSWindow::requestActivateWindow (ref: 6272a816d1) Task-number: QTBUG-35340 Change-Id: I3068c14fec18d84d4b0b348a043c4c054e366c75 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| | | * QtConcurrent: Workaround GCC bug 58800 in median calculationNikolai Kosjar2013-12-034-0/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Revert 880b614 for libstdc++ <= 4.7.3 || (4.8.0 >= ... <= 4.8.2) 2) Fix off-by-one error in reverted code for Median::_bufferSize <= 2. Task-number: QTBUG-35058 Change-Id: I9d226c2806c1cf06c3d5b9c9f371262d2d69bf2b Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | | * Stabilize tst_QGraphicsItemMarc Mutz2013-12-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cursor() test was missing a QTest::moveMouse() before sending of the mouse event (as all the following subtests do). When run on a desktop with the panel on the left side of the screen, the mouse pointer would land over the left item instead of in between them, as assumed by the subtest, and the following QCOMPARE failed. Change-Id: Ib74fdf0cfbfbc8ecb79a906610a2da5cb50c89d0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| | | * iOS: Use DWARF instead of DWARF with dSYM for debug buildsTor Arne Vestbø2013-12-031-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generating the dSYM file takes a long time due to our relatively large static libraries, and is not really useful for a debug build where you are likely to have the object files and Qt libraries available on your host system for debugging anyways. Change-Id: Ie7549975f271de8c56ca04bd28b29e6ed65f16cb Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
| | | * Revert "configure: Abort if Xlib isn't present when building for XCB."Oswald Buddenhagen2013-12-031-11/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the change is wrong for multiple reasons: - it is possible to build qt (the offscreen plugin) with xlib but without xcb, which was impossible after the change - the check was built in a way that if xcb is auto-detected but xlib is missing, configure would abort (instead of disabling xcb), which is unreasonable (cf. linked task) - it should be possible to build the xcb plugin without xlib - it's testing for xcb-xlib and should have the correct #ifdefs. if these are broken, they should be fixed. if this is unrealistic, the build system should be adjusted to this fact ... differently. This reverts commit 683451e7c74d23abb0268a187d28cf7dc7afd032. Task-number: QTBUG-34382 Change-Id: I1c5811e2fb1f09b084b6aeb7350e5f376e1b9b82 Reviewed-by: Nicolás Alvarez <nicolas.alvarez@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| | | * Use Q_QDOC for Qt namespace declaration in Qt GuiTopi Reinio2013-12-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a workaround for letting qdoc to successfully generate documentation for the Qt namespace. qdoc doesn't properly handle multiple declarations for the same namespace spread across multiple modules. Task-number: QTBUG-35230 Change-Id: I449b17e1171d1a4481b9cf07cd48c803feed5be9 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| | | * Stabilize tst_QColumnView::dynamicModelChanges().Friedemann Kleint2013-12-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QTest::qWaitForWindowExposed() and QTRY_COMPARE() instead of hardcoded timeout. Task-number: QTBUG-35308 Change-Id: I27eee9932dd3b6087db4ad13b1a4fb184a487f57 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
| | | * Cocoa: Mouse enter events on window activation.Christoph Schleifenbaum2013-12-033-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch tells the window system that it should create a mouse enter event if a window was activated when the mouse was inside. This wasn't working and was a regression. Task-number: QTBUG-35109 [ChangeLog][Cocoa] Fix enterEvent not being called on activate. Change-Id: I4e4662b4a4c58dafa8d0a2c09458ab88f678d243 Reviewed-by: Liang Qi <liang.qi@digia.com>
| | | * Add PBXCopyFilesBuildPhases to main target, not preprocessing stepTor Arne Vestbø2013-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the 'Wrapper' destination of the PBXCopyFilesBuildPhase will be empty, and the files end up outside of the application bundle. Task-number: QTBUG-34457 Change-Id: I799db28185a6c5d3d940602914fd8ba14c538bf2 Reviewed-by: Caroline Chao <caroline.chao@digia.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
| | | * Default to 5.2 source repository for Qt 5.2.xBogDan Vatra2013-12-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can't use latest anymore because the qreal change is not back compatible and all the apps that used latest will stop to run when Ministro will upgrade the libs. Change-Id: I5286e72eccf86b4dead773a637aa28e29d120605 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | QNetworkCookie: allow cookies for IPv6 domainsPeter Hartmann2013-12-132-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For IPv6 addresses don't call toAce as it returns the empty string. We should reflect the behavior of browsers here, which all accept cookies from IPv6 addresses. Original-patch-by: David Tapuska <dtapuska@blackberry.com> Task-number: QTBUG-35022 Change-Id: Ic00369e923d044ec459822b2405865c13e4185b6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | QNetworkCookie: allow cookies for IPv4 domainsPeter Hartmann2013-12-132-7/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the domain is an IP address, we should not do any magic regarding leading dots etc. Task-number: QTBUG-35022 Change-Id: I7722de4e6027666dde27e9e37b6353e3da775d94 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Richard J. Moore <rich@kde.org>
* | | | PCH stands for "precompiled header", not "prefix"Thiago Macieira2013-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ied8148be931992247e446719a0eaeec0dc868330 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | | | Add the UTF16-to-Latin1 in-place converterThiago Macieira2013-12-133-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is only possible for two important reasons: 1) QString and QByteArray d pointers are both done with QArrayData and that class does not care that the alignof(T) changes from 2 to 1, so we can give the pointer from QString to QByteArray (after adapting the allocated size, which is now double) 2) conversion from UTF16 to Latin1 always has fewer bytes (exactly half) Change-Id: I17b2690c910f3de8db55156c6d6b5f55be06d827 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Improve the Latin1 conversion in QString a littleThiago Macieira2013-12-131-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First, use Qt::Uninitialized, since we're about to overwrite the memory anyway with the new Latin 1 string. Second, move the actual body of the conversion to a static void function, which seems to improve code generation a little and, of course, paves the way for the in-place conversion. Change-Id: Iaed99ba1e52facad676510aa98443223e188d70a Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Implement support for ref-qualified QString::toLatin1 & friendsThiago Macieira2013-12-1311-24/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the first step in implementing an in-place conversion of QString to QByteArray. This requires ref-qualifiers in member functions so we know that we have an rvalue QString. Converting from UTF-16 to Latin1 always requires half the memory. For conversion from UTF-16 to UTF-8, the typical string will also need the same memory or less: characters from U+0000 to U+007F consume one fewer byte; characters from U+0080 to U+07FF and from U+10000 to U+1FFFFF occupy the same space in UTF-8 and UTF-16; it's only the ones from U+0800 to U+FFFF that consume more space in the UTF-8 string. For the locale's 8-bit codec, we can't be sure and the code (currently) needs to go through QTextCodec anyway. This requires a #define set before #include'ing "qstring.h". However, since qstring.h is included by the QtCore PCH, we need an extra qmake compiler without the PCH flags to compile this .cpp. After this change, the distribution of calls in QtCore, Network, Gui, and Widgets is as follows: const & && toUtf8 31 (74%) 11 (26%) toLatin1 79 (77%) 24 (23%) toLocal8Bit 26 (16%) 138 (84%) Change-Id: Idd96f9ddb51b989bc59f6da50054dd10c953dd4f Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | tst_qlinedit: Create a new test widget on demand for each test.Friedemann Kleint2013-12-121-36/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test used a member testWidget that was cleared and reset after each test, which caused focus fights and side effects. The widget is now created and shown only when necessary. Change-Id: I0dc635e9d4cdf4f899994b88206bb0125526f6df Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | | | Fix erroneous exclusion of classes from related meta objects in mocSimon Hausmann2013-12-128-22/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assume an unrelated class that declares an enum and uses Q_ENUMS. Consider then a class that uses UnrelatedClass::Enum as a Q_PROPERTY. We used to include UnrelatedClass in the primary class's related meta objects, in order to support use-cases like obj->setProperty("enumProperty", "ValueOfEnumAsString"); If however moc happens to see Q_DECLARE_METATYPE(UnrelatedClass::Enum), then it would exclude it from the related meta objects, which would silently break the string based enum value conversion. This was meant as an optimization, but it isn't apparent to the developer why sometimes the string conversion would work and sometimes not (depending on whether somebody declares that macro). This also becomes visible in QML, which relies on the same embedded type information for enum assignments. This patch removes that check in moc's code generator and cleans up the code a little. However always including the prefix of Q_PROPERTY(SomePrefix::Enum ...) is not correct either, because it may be that SomePrefix is a namespace, which would cause compilation issues. Therefore we limit the inclusion of related meta objects only to Q_OBJECT decorated classes the moc has seen, and for these we save the fully qualified name in the related meta objects array (for QTBUG-2151). While this patch makes the previous workaround for namespace issues by using a Q_DECLARE_METATYPE not workable anymore, by saving the fully qualified name we are making a hopefully sufficient effort to not require a workaround in the first place. There's always the new workaround of fully qualifying the type in Q_PROPERTY. One side-effect of this change is that in the autoPropertyMetaTypeRegistration test of tst_moc, the CustomQObject for Q_PROPERTY(CustomQObject::Number enumValue ...) is now a related meta object, and therefore when querying for the type of this property via QMetaProperty::userType(), we are now aware of this being an enum and try to resolve CustomQObject::Number via QMetaType::type(qualfiedName). As there is no guarantee for this to succeed, we must now also do what is done in the non-enum code path in ::userType(), which is to call the moc generated type registration function. Task-number: QTBUG-33577 Task-number: QTBUG-2151 Change-Id: Ibf20e7421cba464c558a25c76a7e1eef002c6cff Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | QNX: Fix focus handling for secondary screenFabian Bumberger2013-12-124-26/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the activaton aand deactivation of a window when we get the window group activated event from the navigator. This event is sent to both the primary and secondary screen and does not state if a window should be active from a Qt perspective. A window should only be active if it has screen keyboard focus. Change-Id: Ibbed0dd76a21d86f4b580265f996357a8eef5192 Reviewed-by: Roger Maclean <rmaclean@qnx.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | | | Automatically create QPainterPathStroke based on QPenAllan Sandfeld Jensen2013-12-122-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based a recent problem where one property of QPen was not properly copied to QPainterPathStroke, I believe we should add a method to automatically create a QPainterPathStroke based on all the relevant information in a QPen. This patch adds a constructor that automatically does so. Change-Id: Id2849b36426f2e3b06b4b508292063a0917ca61c Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | | | Moved d3dcompiler from src/angle to src/angle/srcOliver Wolff2013-12-126-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though it is not really part of the angle implementation, having it in source is more consistent with the rest of Qt and makes browsing the code easier. There was also an issue, that only a debug build was done when calling nmake or jom. While moving the implementation this issue was fixed by including config.pri to d3dcompiler's .pro file. Change-Id: I3e3630865c94adbe1a1f1af2ccfc2bcb046002a8 Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | | QLineEdit: hide placeholder text when h-centered & focusedJ-P Nurmi2013-12-113-3/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [ChangeLog][QtWidgets][QLineEdit] A blinking cursor in the middle over horizontally centered placeholder text looks bad. Thus, horizontally centered content is now considered as an exception and the placeholder text is hidden when the line edit is focused. Task-number: QTBUG-31669 Change-Id: I17aa1e6656673f81545a8437f90814b188ad484a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | qmake vcxproj: Provide saner defaults for certain WinRT optionsAndrew Knight2013-12-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default values for PCH, the -ZW switch, and CharacterSet aren't ideal for WinRT projects, so adjust these accordingly. Task-number: QTBUG-35328 Change-Id: I78021d0785fa84e15b1f17264daa599a9418f92e Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | | | tst_QObject: separate QSignalBlocker testsMarc Mutz2013-12-115-129/+319
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tst_QObject is getting big, so make a separate test for QSignalBlocker, but leave parts of signalsBlocked() in tst_QObject as that seemed to have been the only check for blockSignals(true) actually blocking signal emission. Change-Id: I1cfac035e0e39203eea8626d43f316cc6244ee86 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Move-enable QSignalBlockerMarc Mutz2013-12-113-1/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QSignalBlocker was reviewed, move semantics were asked for. This patch add them. This makes QSignalBlocker usable as a by-value argument (to transfer control of signal blocking into a function) as well as as a return value (to transfer control of signal blocking out of a function). Change-Id: I714aa2a283bb33dba76e860649e88ed202e913c5 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | | Remove the files building AVX codeThiago Macieira2013-12-108-238/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature was never completely implemented. Sure, it's nice to build the SSE2 + SSSE3 code with the VEX prefix, which results in better code. But the leap isn't that big anyway. This is the first step to removing the runtime detection for the drawhelpers. They create timebombs when we use inline functions. Task-number: QTBUG-30440 Change-Id: Ic53b2cf5261106a1c940d4a36eb6111b7d998be1 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | | Remove all "old atomic" code from QtThiago Macieira2013-12-1013-3702/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new atomic code was introduced in Qt 5.0. The platforms that did not get ported were announced as deprecated in Qt 5.2. The code is now removed in Qt 5.3. The status for the platform/compiler/OS combinations affected is: * Linux with GCC or Clang: still compiles on all platforms (via qatomic_cxx11.h or qatomic_gcc.h) * INTEGRITY with Green Hills compiler: no longer compiles * Solaris on UltraSPARC, with Sun Studio: no longer compiles * AIX on POWER5 or 6, with IBM Visual Age: no longer compiles (probably did not compile Qt 5.0 either) * VxWorks in kernel mode: no longer compiles [ChangeLog][General] Support for the following platforms has been removed, due to lack of interest in updating support: INTEGRITY, VxWorks, Solaris on UltraSPARC (with the Sun Studio compiler suite), AIX on POWER processors (with IBM Visual Age compiler suite). Change-Id: I8a961385fd95011c016b2b1eec52034794dae3e1 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | | | Add Asset Locations to QStandardPaths::DataLocationAlan Alpert2013-12-104-5/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The locations of UI assets are deployed to is being added as a read-only location under DataLocation. As such a path is located differently on certain mobile platforms, such as Android and BlackBerry, having an entry in StandardPaths will make it easier to write cross-platform code. Change-Id: I4533c90ed7157725a8604591595b350c7f616723 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | | Allow the platform to specify a press and hold delay.Michael Brasser2013-12-107-3/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Press and hold is an interaction available on many platforms, particularly when touch is involved. In Qt Quick this is exposed to the user via MouseArea::onPressAndHold. This value should not be hard-coded, but rather use a platform-specified default. This commit adds the low-level hooks necessary for that to happen. Task-number: QTBUG-24793 Change-Id: I621a8ac9de66b881e34336228056bffbb6306a70 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | | qmake: remove bogus commentJ-P Nurmi2013-12-101-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the respective code was removed in 375edf7 Change-Id: Ie31ef4bc8970b5396f50f1c4963f378df816242a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>