summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * iOS: Ensure that the cursor rect doesn't trigger an inverted scrollTor Arne Vestbø2017-12-111-10/+14
| | | | | | | | | | | | | | | | | | | | | | If the cursor is at the top of the screen, it may end up with a cursor rect that extends beyond the screen after we pad it. We need to make sure it's constrained by the screen geometry before checking if it's within the available geometry. Task-number: QTBUG-65041 Change-Id: I115f49d359b3c2e10219a6b8aa5ad051f44256a7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * iOS: Implement QIOSScreen::refreshRate to account for 120Hz displaysTor Arne Vestbø2017-12-112-0/+11
| | | | | | | | | | | | Task-number: QTBUG-64968 Change-Id: If96f6cde8f2fc6d91beb842d82a881fe057260b5 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * QWidgetResizeHandler - undo (potential) move breakThorbjørn Lund Martsum2017-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When the mode is center we are typically moving the dock widget, but we should however not stop if the mode is Center. Though the regression (in commit e662b4ed721ee36f0a17cc413494b7d09395d52e) is not easy to reproduce it is clear that the code later may call "mouseMoveEvent(e)" and the mode is also checked for being Center and in that case the eventfilter (function) returns true (not false). Change-Id: I3936ec56833d613f78920d9ccf8ddb66e19e9802 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * Add a "shim" to allow use of Clang 5's __builtin_available everywhereJake Petroules2017-12-087-9/+147
| | | | | | | | | | | | | | | | | | | | | | This is mostly relevant for Apple platforms, where we can use the new unguarded availability warnings to guarantee that proper version checks are present when using APIs that are not necessarily available on the deployment target. Change-Id: Ie408704b2924e1220491a9ea30f0141dfa4867d9 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry-picked from 70422449ef892d7cc3086d88e5e9e43c771e2bc3)
| * Android: Support caps lockMichael Dippold2017-12-081-1/+1
| | | | | | | | | | | | | | | | | | MetaKeyKeyListener augments the meta state of the keyboard, we need to also check the KeyEvent.getMetaState(). Task-number: QTBUG-61369 Change-Id: I07a5d7b1b741a958bc94e1f1677dc1f2256220b6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * iOS: Harden logic for when it's safe to use the graphics hardwareTor Arne Vestbø2017-12-074-11/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To fix QTBUG-52493 we tied the exposed state of a window to the application being in the foreground. This has the result of a visible flash of black between hiding the launch screen and showing the first frame of the application, as the application is still waiting for UIApplicationStateActive to begin rendering, which happens after iOS hides the launch screen. According to the iOS OpenGL ES Programming Guide, it should be safe to render GL in UIApplicationStateInactive as well, and even in UIApplicationStateBackground, as long as the rendering finishes before the UIApplicationDidEnterBackgroundNotification returns. To ensure that we catch any bugs in this area, checks have been added that verify that no rendering happens while in the background state. Task-number: QTBUG-63229 Task-number: QTBUG-52493 Task-number: QTBUG-55205 Change-Id: Ib42bedbeddd7479ab0fb5e5b7de9f5805658e111 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * iOS: Ignore view layouts while in the backgroundTor Arne Vestbø2017-12-062-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Despite the OpenGL ES Programming Guide telling us to avoid all use of OpenGL while in the background, iOS will perform its view snapshotting for the app switcher after the application has been backgrounded; once for each orientation. Presumably the expectation is that no rendering needs to be done to provide an alternate orientation snapshot, just relayouting of views. But in our case, or any non-stretchable content case such as a OpenGL based game, this is not true. Instead of continuing layout, which will send potentially expensive geometry changes (with isExposed false, since we're in the background), we short-circuit the snapshotting. iOS will still use the latest rendered frame to create the application switcher thumbnail, but it will be based on the last active orientation of the application. To ensure that we pick up the right geometry when rotating the device while the app is in the background, we treat applicationWillEnterForeground as Qt::ApplicationInactive, which matches the recommendations of the OpenGL ES Programming Guide to "re-create any objects and restart your animation timers". Change-Id: Ia9c27f85f996ecf30284c825b43447aa7099224e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * iOS: Harden application state change logicTor Arne Vestbø2017-12-063-66/+65
| | | | | | | | | | | | | | | | | | Make sure we catch application state changes as early as possible, and deal properly with any changes delivered before we have an app to send them to. Change-Id: I6d0ea0398f9fab88fc182342769b075cb144227f Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * iOS: Try to detect and deal with delayed touch delivery due to gesturesTor Arne Vestbø2017-12-063-2/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A UIGestureRecognizer may have its delaysTouchesBegan or delaysTouchesEnded properties set, which causes iOS to not deliver touch events to the view until the recognizer has failed recognition of its gesture. In that case, the touch event is not delivered via [UIWindow sendEvent:] as usual, but via _UIGestureEnvironmentSortAndSendDelayedTouches. The latter function is apparently not reentrant, as opening a native alert dialog in response to the touch delivery will result in the dialogs's buttons to stop working, probably because they themselves use gestures. Unfortunately iOS maintains two internal gesture recognizers on iPad, of type _UISystemGestureGateGestureRecognizer, probably related to the swipe-from-bottom gesture used for multitasking. Without any workaround, these two recognizers will result in any tap on the bottom part of the screen to be delivered delayed, which may introduce stuck alert dialogs as described above. UITouch has a gestureRecognizers property, but unfortunately this property does not give us any information in the cases where we need it, so we have to use an heuristic involving a UIWindow subclass to detect the case where event delivery is delayed. As there is no way to prevent the user from recursing into an event loop when delivering the event, our only hope is to deliver the event asynchronously. Task-number: QTBUG-64577 Change-Id: I11d9caa8c4542dc80426a9e58ea555914bed433e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * iOS: Implement QPlatformScreen::name for easier debuggingTor Arne Vestbø2017-12-062-0/+12
| | | | | | | | | | Change-Id: I077bec93fe2086c38ebe986b322977a50a1ab27d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Android: Reserve space for the QVarLengthArray, so we can use appendAndy Shaw2017-12-051-1/+2
| | | | | | | | | | | | | | | | | | | | When the QVarLengthArray was initialized with a size then append would add to the end of that. Therefore we need to use reserve to get the desired effect. Task-number: QTBUG-64905 Change-Id: Ia1ebeb26cd31bc5e92bd7f81079506a266b845bf Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
| * xcb_qpa_lib: Fix "undefined reference to `dlsym'" errorDongmei Wang2017-12-051-0/+2
| | | | | | | | | | Change-Id: I37515542571ef37f4361e72b8db4547ff1e1b86a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * QFileSystemModel::index(): Add a list size checkFriedemann Kleint2017-12-051-1/+4
| | | | | | | | | | | | | | | | | | | | | | This prevents an out of range assert when monitoring directory with activity (for example, temp). Task-number: QTBUG-62841 Change-Id: Id3aa4098e9bbd665c7b17a667516885fa7c7f473 Reviewed-by: Jesus Fernandez <Jesus.Fernandez@qt.io> Reviewed-by: Martin Rotter <rotter.martinos@gmail.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * QColor: write signed 64-bit integer in a platform-independent wayDongmei Wang2017-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building Qt 5.6.2 with gcc 4.1.2 on Fedora 8, a compilation error happened when compiling the code below QColor::name() { ... case HexArgb: return QLatin1Char('#') + QString::number(rgba() | 0x100000000, 16).rightRef(8); ... } qtbase/src/gui/painting/qcolor.cpp:527: error: integer constant is too large for ‘long’ type gcc 4.1.2 was unable to handle 0x100000000. The patch is to use Q_INT64_C to append "LL" to 0x100000000 to avoid the compilation error. Change-Id: I000e65a5c897ef2d78fcfe4e212d832eb488a762 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
| * Cocoa: Disable “Hide” menu item on open popupsMorten Johan Sørvig2017-12-041-2/+6
| | | | | | | | | | | | | | | | | | Follow native behavior and disable ⌘H and the “Hide” menu item if there are any open popup windows. Task-number: QTBUG-58727 Change-Id: Iad38cc5cce29e0081613417c53b154ae0f05857e Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| * QFusionStyle: fix the checkbox rendering in HiDPI situationYulong Bai2017-12-041-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Make the checkbox's box size hidpi scale-able. Making the size not only anchored to icon size, but also the menuItem's rect height in empty or too small icon cases. 2. Make the checkmark's pen width in propotion to the box's size to keep consistent visual effects among different dpi settings 3. Also make the radio button hidpi scale-able. Task-number: QTBUG-63576 Change-Id: I4369aaa18ee68908a26a118cf04292ee4c3e9847 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| * Use a custom QAnimationDriver to take control over timeJan Arve Sæther2017-12-021-2/+2
| | | | | | | | | | | | | | This should reduce flakyness of tests. Change-Id: I26e0a97f7cd3e7cee2ffb44188300c37578cddd7 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
| * Fix out of bounds reads in qdnslookup_unixTimur Pocheptsov2017-12-011-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the response from res_nquery is too big for the buffer used to receive it (of size PACKETSZ, a mere 512 bytes), the returned responseLength is the size of the data that would have been delivered, had there been enough space. Trying to process all of the data, including what wasn't delivered, leads to reading past the end of the buffer, which either causes a crash or leads to rubbish (from the stack) in the resulting QDnsRecords. Easy to reproduce using many long TXT records. Replace the array with a QVarLengthArray; when the response is big, resize() and retry, so as to actually get all of the data, so that we can process it all. A follow-up patch will fix the case when even the second call/resize buffer is not enough and we have to use TCP. Task-number: QTBUG-64742 Change-Id: I173beb531e11a3828fd9c97f437afc192766035e Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * QFutureWatcher: Use nullptr as a default value in constructorAlexander Volkov2017-12-011-1/+1
| | | | | | | | | | | | | | ... to make user code buildable with gcc [-Werror=zero-as-null-pointer-constant]. Change-Id: I309953acd7154511660302aa9826410276cfe41b Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Add EGLFS integration plugin for Qualcomm msm8996au boardKimmo Ollila2017-12-015-0/+370
| | | | | | | | | | | | Change-Id: I5bed1fd690daa72492e7ec5f24e80198a2592986 Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
| * Add configure test for INTEGRITY EGLFS openWFD integration pluginKimmo Ollila2017-12-012-2/+18
| | | | | | | | | | | | Change-Id: I846f9e555df4f64097b5634707515d45c13a521c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * macOS/iOS: Fix garbled text under some conditionsEskil Abrahamsen Blomfeldt2017-12-012-9/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There seems to be an issue in CoreText which may cause an existing font descriptor to give unreliable results if it refers to one of the system theme fonts. Since we do not know all function calls or events that may trigger this bug, the safe route is to always create fresh font descriptors when creating fonts for these descriptors. The impact on performance should be small, as Qt has its own internal caches. [ChangeLog][macOS/iOS][Text] Fixed an issue where text using one of the system theme fonts would under certain circumstances display random glyphs. Task-number: QTBUG-63476 Change-Id: I9e9b253018c63976345eec1439a6b78de2cab869 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * configure: make *_LIBS_{DEBUG|RELEASE} always workOswald Buddenhagen2017-11-301-8/+0
| | | | | | | | | | | | | | ... and not only when the source explicitly specifies build variants. Change-Id: Iac6c8fda8f431d5fb50fada8338d1b660ab040d7 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * work around flex bugOswald Buddenhagen2017-11-301-0/+3
| | | | | | | | | | | | | | | | | | flex emits code using isatty(), but fails to include the required unistd.h. we can work around it by including the header ourselves. Task-number: QTBUG-64771 Change-Id: I05313eeb79f7a0e25365dee5f05a0142f87209ae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix broken QNAM::networkAccessible()Filipe Azevedo2017-11-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When switching on/off multiple time the wifi (mainly, but not only) on ios/macos the QNAM may wrongly stay on a NotAccessible state while the configuration is Active. This change make sure the QNAM::networkAccessible() is correctly reporting the accessibility. Task-number: QTBUG-49751 Task-number: QTBUG-58275 Task-number: QTBUG-60366 Change-Id: I238ab32030fbaa8072cce341db8da6bcfc346035 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * iOS: Compute screen available geometry based on safe area insetsTor Arne Vestbø2017-11-303-5/+41
| | | | | | | | | | | | | | | | | | | | In addition to the (deprecated) applicationFrame property, we base the available geometry on the root view's safe area, which also takes into account system-reserved areas on iPhone X, and the screen's bezel in the case of tvOS. Change-Id: I252d960a0e486dd0c7e30843f88c0bf5684feb24 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * qprintengine_win.cpp: Fix -Wclazy-range-loopFriedemann Kleint2017-11-301-1/+1
| | | | | | | | | | | | | | qprintengine_win.cpp:1502: warning: Missing reference in range-for with non trivial type (QPrint::InputSlot) [-Wclazy-range-loop] Change-Id: If6e55c1748e05e32aaa32a16063ba491fe242952 Reviewed-by: Andy Shaw <andy.shaw@qt.io>
| * Build integrityhid support only if it is availableTimo Aarnipuro2017-11-301-4/+9
| | | | | | | | | | Change-Id: I6e0aa2f74516d4c0a1905b188f195834d395584b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | tst_QUdpSocket: always use an interface when binding to IPv6Thiago Macieira2017-12-292-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binding without an interface and expecting the OS to select something is not supported in all OSes. On FreeBSD, I keep getting EADDRNOTAVAIL. So modify our test to only join, leave and send to multicast groups with an interface selection. With this, all tests either pass or are skipped for me on Linux, FreeBSD, and macOS. On Windows, this revealed an inconsistency in behavior, which this commit adds a workaround for. Change-Id: Ifb5969bf206e4cd7b14efffd14fb6815456494d2 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | qrandom.h: actually #undef min and max instead of using parenthesesThiago Macieira2017-12-281-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Putting parentheses around the call to (std::numeric_limits<T>::min)() works, but the trick cannot apply to the min() function declaration on the same line. So we really need to #undef. I hope no one after the 1990s still needs these macros. Task-number: QTBUG-65414 Change-Id: I39332e0a867442d58082fffd15024f8edb293311 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Replace a few hardcoded paths with defaults from paths.hThiago Macieira2017-12-244-14/+34
| | | | | | | | | | | | | | | | This removes at least one special-case we had to have, in Android's lack of /etc/mnttab. Bionic's _PATH_MOUNTED is already /proc/mounts. Change-Id: I9407dcf22de6407c83b5fffd14fedc638586d0f9 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Doc: attempt to fix some qdoc errors for QRandomGeneratorThiago Macieira2017-12-241-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | This fixes only those that look fixable. There are a number of errors in the online documentation that look like qdoc tool bugs, like missing functions (operator==) and documentation text that does not exist in the source code. This fixes: - QRandomGenerator(System) constructor showing up - Links for C++ reference documentation not showing up as links Change-Id: I9e2892cb6c374e93bcb7fffd14fe21db5a6969d9 Reviewed-by: Martin Smith <martin.smith@qt.io>
* | QMacStyle: Minimize size of scrollbar transparency layerGabriel de Dietrich2017-12-211-1/+1
| | | | | | | | | | | | | | | | | | Instead of allocating the full backing store size for the transparency layer, we make sure we only allocate exactly as much as needed by the scrollbar. Change-Id: I55c3172fe3dd2a1f3fd46828463497f9f35cb1ae Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | QMacStyle: Use light color on expanding scrollbarGabriel de Dietrich2017-12-211-3/+4
| | | | | | | | | | Change-Id: I4e9c870c8acaaa690f530f847c9927d61a508a94 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | QMacStyle: Bring back submenu indicatorGabriel de Dietrich2017-12-211-19/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This one fell off the truck while we were removing HITheme calls. We add it back by simply rendering a BLACK RIGHT-POINTING TRIANGLE character. We also fix smaller issues, such as not displaying any shortcut related to a submenu action — this is simply not a thing. The spacing between the menu item's text and the submenu indicator has also been slightly improved. Change-Id: I6c768a5506a5eb9528b0dd76acd52b561266d67b Task-number: QTBUG-64405 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* | Fix drawing color fonts with shear and perspective transformsAllan Sandfeld Jensen2017-12-201-2/+20
| | | | | | | | | | | | | | | | | | Fixes the fallback painting used with complex transforms to be able to handle color bitmap fonts which can't be converted to a path. Change-Id: Id2851607f673b8fc1aea63f92043d0cdebc0fb9d Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Windows QPA: Check validity of device when handling tablet leaveFriedemann Kleint2017-12-191-0/+2
| | | | | | | | | | | | | | | | | | | | Huion GT-191 has been observed to send spurious leave events. Amends 127483b5e30de6c1905ea3280dd45a0b7d6a3813. Task-number: QTBUG-65120 Change-Id: I5dfa003a71be137a7b40cc9c27d7cf2cada6922d Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | bearermanagment: fix build for --no-feature-bearermanagementLorn Potter2017-12-191-2/+1
| | | | | | | | | | Change-Id: I9e3f44b924e09a8d1a5095dc55d585b3cab33c15 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix scan reply dbus signature in connman bearer backendLorn Potter2017-12-191-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-57844 Change-Id: I1f3035f32d213ec6da95650a946c17c64becf549 Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Mask potentially undefined alpha in blend_transformed_argbAllan Sandfeld Jensen2017-12-161-2/+3
| | | | | | | | | | | | | | | | Makes sure the ARGB32PM that is painted on always have a defined alpha. Task-number: QTBUG-55645 Change-Id: Ifcf5fcc2127d255518eca4763845a197da6c7914 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | macOS: Make retina OpenGL work on VMwareMorten Johan Sørvig2017-12-153-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt requests full resolution OpenGL surfaces by default. However, when running as a VMware guest it looks like the OS silently creates low-resolution surfaces. This is not possible to detect using the standard NSWindow APIs for converting to backing coordinates or for reading the backing scale factor. The result of this is that Qt will incorrectly display one quarter of the window content only. Fall back to detecting if the OpenGL renderer is the Apple software renderer, which it will be on VMware. Cancel the high-resolution surface request if this is the case. This needs to be done while we have a valid OpenGL context. Task-number: QTBUG-62357 Change-Id: I33bf12b3bb0408249e6d66e0a8ca86b044bea781 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Paint text decoration where the text isAllan Sandfeld Jensen2017-12-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | For multi text-item texts we should render the text decoration at the same position as the text-item part is, and not always from the beginning of the line. Task-number: QTBUG-60422 Change-Id: I9aa58fc164122ad1fae9716b8b18bdfbbbd778a9 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | QtGui/Windows: Fix wait cursors remaining activeFriedemann Kleint2017-12-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | In QWindowPrivate::applyCursor(), do not apply override cursors when the platform supports QPlatformCursor::OverrideCursor. Complements b05d1c2ebfebf0f427a92668c0a7b177d0952012. Task-number: QTBUG-65001 Change-Id: Ie84cc30ad99b22e037aae829a2ce847ec4bf900f Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Windows QPA: Fix handling of override cursorsFriedemann Kleint2017-12-122-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Override cursors were not restored when nested or in a dual monitor setups. The default cursor stored in QWindowsCursor::m_overriddenCursor was clobbered by subsequent calls to QWindowsCursor::setOverrideCursor(). This caused for example the wait cursor to remain active when switching to Help Mode in Qt Creator. Add a check preventing that. Make the variable static so that it is shared between the cursors of multiple screens. Amends b05d1c2ebfebf0f427a92668c0a7b177d0952012. Task-number: QTBUG-65001 Change-Id: Iead5804d317f73dedd78d22c1c85c62b5349ab83 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Fix Android Service thread getting stuck in service startupHeikki Haveri2017-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change allows services using QAndroidService to function properly. A service using a plain QCoreApplication is still affected. The original code uses postfix decrement, causing an off-by-one error in reference counting, which, in turn, fails to properly release a semaphore. Fix by using deref() instead, which is also more readable, and consistent with the use of ref() elsewhere in the code. Task-number: QTBUG-64728 Change-Id: I99b59307638d619506c594f86de6d7d202d755f2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | QStandardPaths: fall back to a default if PATH isn't setThiago Macieira2017-12-121-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change 28666d167aa8e602c0bea25ebc4d51b55005db13 simplified QProcess::start{Process,Detached} by using findExecutable() instead of using execvp, but this introduced an unintended side effect when the PATH environment variable isn't set. It turns out that most libc have a default fallback in that situation, which we didn't apply. This commit applies the default directly to findExecutable(), which seems sensible. [ChangeLog][QtCore][QProcess] Fixed a regression that made QProcess be unable to find executables when the PATH environment variable on some Unix systems wasn't set. This behavior should not be relied upon since many systems do not have sensible fallback values for PATH. [ChangeLog][QtCore][QStandardPaths] findExecutable() will now apply the default value for the PATH environment variable (as returned by the POSIX confstr(3) function or found in <paths.h>) if the variable isn't set in the environment. Task-number: QTBUG-65076 Change-Id: I9407dcf22de6407c83b5fffd14feda6c1f509210 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
* | Windows QPA: Emulate aboutToHide(), aboutToShow() signals of QPlatformMenuFriedemann Kleint2017-12-111-1/+8
| | | | | | | | | | | | | | | | | | | | | | Wrap the call to TrackPopupMenu accordingly. Complements 7849aa6e96aa923fca5523afc8cf88edcc0bcf90. Task-number: QTBUG-64628 Change-Id: Ia370e566266e96ab690ce5ed41d06dea7cafd4e4 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Merge remote-tracking branch 'origin/5.10.0' into 5.10Liang Qi2017-12-0849-159/+285
|\ \ | | | | | | | | | Change-Id: I6dcf85067ec226136c207ea69ca9d66736c84db5
| * | Android: use a canonical data dir for Qt environment variablesv5.10.0-rc3v5.10.0J-P Nurmi2017-11-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ApplicationInfo.dataDir holds "/data/user/0" (Blackberry PRIV running Android 6.0.1), which is in fact a soft link to "/data/data". This directory is used as a prefix for various Qt environment variables, including QML2_IMPORT_PATH, which in turn is used for resolving QML type URIs, looking up Qt Quick Controls 2 styles, and so on. The QML engine is not happy with "/data/data" and "/data/user/0" being wildly mixed for QML types in the same module. Use the canonical path instead to avoid such conflicts. Change-Id: I1fd45736728ee662942d7ef48c3fbc553981c59b Task-number: QTBUG-64868 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * | Improve readability of code that uses the Qt signed size typev5.10.0-rc2Simon Hausmann2017-11-2823-107/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the container BoF session at the Qt Contributor Summit 2017 the name of the signed size type became a subject of discussion in the context of readability of code using this type and the intention of using it for all length, size and count properties throughout the entire framework in future versions of Qt. This change proposes qsizetype as new name for qssize_t to emphasize the readability of code over POSIX compatibility, the former being potentially more relevant than the latter to the majority of users of Qt. Change-Id: Idb99cb4a8782703c054fa463a9e5af23a918e7f3 Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: David Faure <david.faure@kdab.com>