summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* CoreText: Use QCFType to track CoreFoundation member variablesTor Arne Vestbø2018-11-283-15/+10
| | | | | | | | | The operator T() function of QAppleRefCounted should be const so that the underlying type can be accessed from const member functions just like the naked underlying type could. Change-Id: I0819c5795d28442a6ff4db2732e211b183574f9f Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CoreText: Share code by using delegate constructorTor Arne Vestbø2018-11-282-6/+10
| | | | | Change-Id: If3d5d533f98552335517ef61cb748d0117fe3053 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CoreText: Simplify and share code for loading glyph advancesTor Arne Vestbø2018-11-282-40/+27
| | | | | | | | | | | | | | | | | | | | The function doesn't need the flags argument, nor does it need the ctfont or fontdef arguments if it's a normal const member function. It can also be used from QCoreTextFontEngine::stringToCMap(), instead of duplicating the code. This was originally the case before b4aa5d97 which improved surrogate pair handling, but for some reason the change introduced the duplicate code instead of just changing the arguments in the function call slightly. The use of 0xff000000 to skip certain glyphs looks dubious, and is probably related to QFontEngineMulti's use of the high byte to indicate which engine the glyph came from, but the multi engine strips this away before calling out to the concrete engine so it could potentially be removed in a later patch. Change-Id: I6c693595616da1b69fdbe3d7a31e392a8443369d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* CoreText: Localize getTraitValue helper functionTor Arne Vestbø2018-11-281-11/+10
| | | | | | | | It's only used in a single function (twice), so let's keep it closer to the call site. Change-Id: I7f8ceadc380171237eef3fa6b03ccd6bc89e99af Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* xcb: free leaking clipboard eventsKirill Burtsev2018-11-281-3/+4
| | | | | | | The leak has been there since the beginnings of Qt 5.0. Change-Id: I238181dcc63cb4cf8a60b5c565b184d8278d0315 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* QDBusConnection: prevent leaking connection/server on destroyKirill Burtsev2018-11-281-2/+3
| | | | | | | | Amends fix 68964b1023 Change-Id: I05816f4b4d2128ed0b669e124d9c9eef92122ec0 Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* xcb: Fix leaking events on destroyKirill Burtsev2018-11-281-1/+4
| | | | | | | This patch amends 243c3044b647357ca6df79ac1497ae43de957d31 Change-Id: Ieeebb1e2b94d7c191bf80a1f439c826c406a0c08 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* Destroy QWindowContainer's fake parent window when not neededTor Arne Vestbø2018-11-281-0/+2
| | | | | | | | | | | | Keeping the fake parent window around in a created state means we're wasting system resources such as native platform views/windows, and makes it harder to debug the lifetime of these resources. The fake window will be re-created if re-parented into at a later point. Change-Id: Ib82560e7e565af19d58afe121fd087669a6ffb95 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* QWindowContainer: Fix warning triggered by QT_ASCII_CAST_WARNFriedemann Kleint2018-11-281-1/+1
| | | | | | | Amends 52bd707f0d6a585c2f5da9565834eb91f1d3dbc8. Change-Id: Icc42edc7a943099b36bfa92fe7cd1a92db344991 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* qobject_p.h: Use nullptr everywhereKevin Funk2018-11-281-1/+1
| | | | | Change-Id: I605e44607cc09775548c1e6b781d476c1627c9c7 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Ensure alignment of image-dataAllan Sandfeld Jensen2018-11-281-3/+11
| | | | | | | | Instead of relying on the return value of malloc having the correct alignment, use proper non-throwing new[] operators. Change-Id: I06c6c619e21c848f3d184bdb7cef8c5589c1c7ab Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix calculation of the string tab size in QElfParserThiago Macieira2018-11-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | First of all, we were using the wrong size variable: instead of the size of the section, found in the section header, we were using the size of each section entry in the section table. Since that's usually smaller, we weren't hitting a problem. Second, if the string table is the last thing in the file and there's nothing else after it, not even padding, then offset + section_size can be equal to the file size. In fact, the .shstrtab section is usually the last one, as it contains the section names themselves, so it stands to reason that it's the second to last thing written. For generic linkers, the last data in the file is the section table itself, so usually the file is larger by at least a kilobyte, which is why we haven't hit this bug. It could only manifest as deciding that certain specially-crafted but valid ELF files were invalid. I can't think of a way to trick it into thinking an invalid ELF is valid. That's another reason why this code needs to be rewritten with more modern coding styles and actually using <elf.h> Fixes: QTBUG-71443 Change-Id: I1bd327aeaf73421a8ec5fffd156162f2df5557b8 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Optimize QSharedPointer::getAndRef with the three-operand testAndSetThiago Macieira2018-11-281-4/+7
| | | | | | | | | | | | | | | | | | | | Originally QAtomicPointer didn't have the three-operand version, resulting in code like: if (!atomic.testAndSetXxx(expected, newvalue)) expected = atomic.load(); The three-operand version gives us the current value of the atomic in case the test failed and it's free in all architectures, unlike the extra load. I have to use testAndSetOrdered here because I need the failing load to use the Acquire memory order, even though that has an extra Acquire for the successful case we don't need. QAtomicPointer does not have testAndSetReleaseAcquire. Change-Id: I1bd327aeaf73421a8ec5fffd1560fe30d3bfd9b8 Reviewed-by: Romain Pokrzywka <romain.pokrzywka@gmail.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* QFocusFrame: protect it from being moved around by accidentRichard Moe Gustavsen2018-11-271-1/+19
| | | | | | | | | | | | | | | | | | | If a focus frame is set around a widget that exist inside a QAbstractItemView, both the focus frame and the widget will be scrolled when the table is scrolled (since the focus frame is a child of the view). The result is that after the widget has been scrolled (which will move the focus frame to the correct position as well), the focus frame will be scrolled next, and therefore away from the widget. This patch will catch this case by always adjusting the focus frame position when someone tries to move it. Trying to move the focus frame away from the widget it tracks will anyway be flaky. Fixes: QTBUG-63877 Change-Id: Ic2aacc4fafc219280e32092c258a7539d0db9cd0 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* QDateTimeEdit: fix setDate() if time is in a spring-forwardEdward Welbourne2018-11-271-1/+7
| | | | | | | | | | | | If the time the widget is set to use falls in the gap skipped by a spring-forward, setting the date to the day of the spring-forward turned a valid date into an invalid date-time. So use the usual trick to map the "draft" date-time to a valid one. Fixes: QTBUG-64485 Fixes: QTBUG-58947 Change-Id: Ib8f0f092cd5d6dce3da31eb52cd42150ca0d1fcb Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Documention: Use const-ref in the snippets for qOverload()Friedemann Kleint2018-11-271-7/+7
| | | | | | | | | This makes it clearer that const-ref needs to be specified in the template arguments of qOverload() and related. Change-Id: I527c8ca853be159af8665e9759d9549df10573b3 Reviewed-by: Martin Smith <martin.smith@qt.io> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Merge remote-tracking branch 'origin/5.11' into 5.12Qt Forward Merge Bot2018-11-277-26/+80
|\ | | | | | | Change-Id: I12bcee17e349edd0dd4fd08da76361d1ffb1a727
| * Recognize E along with e as exponent character in asciiToDoubleEdward Welbourne2018-11-231-1/+1
| | | | | | | | | | | | | | | | | | Fixed a misguided condition in the check for bogus texts in the sscanf branch of the decoder; it checked for 'e' but neglected 'E', which is just as valid. Change-Id: I9236c76faea000c92df641930e401bce445e06c8 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Fix toFloat()s between float and double ranges and documentEdward Welbourne2018-11-234-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revised some toFloat()s to be consistent with the matching toDouble()s; previously, they would return infinity if toDouble() did but return 0 if toDouble() got a finite value outside float's range. That also applied to values that underflowed float's range, succeeding and returning 0 as long as they were within double's range but failing if toDouble() underflowed. Now float-underflow also fails. Amended their documentation to reflect this more consistent reality. Added some tests of out-of-range values, infinities and NaNs. [ChangeLog][QtCore][toFloat] QString, QByteArray and QLocale returned an infinity on double-overflow (since 5.7) but returned 0 on a finite double outside float's range, while setting ok to false; this was at odds with their documented behavior of returning 0 on any failure. They also succeeded, returning zero, on underflow of float's range, unless double underflowed, where they failed. Changed the handling of values outside float's range to match that of values outside double's range: fail, returning an infinity on overflow or zero on underflow. The documentation now reflects the revised behavior, which matches toDouble(). Change-Id: Ia168bcacf7def0df924840d45d8edc5f850449d6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Change documentation of some toDouble()s to reflect realityEdward Welbourne2018-11-233-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They actually return infinity if conversion overflows, while still setting ok to false; they were documented to return 0 on failure, with no mention of this special handling of overflow. Documented reality rather than changing the behavior. Gave underflow as an example of failure other than overflow (toDouble()s do indeed fail on it). Added some tests of out-of-range values, infinities and NaNs. [ChangeLog][QtCore][toDouble] QString, QByteArray and QLocale return an infinity on overflow (since 5.7), while setting ok to false; this was at odds with their documented behavior of returning 0 on failure. The documentation now reflects the actual behavior. Fixes: QTBUG-71256 Change-Id: I8d7e80ba1f06091cf0f1480c341553381103703b Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
| * Make QCOMPARE()'s handling of non-finite float match doubleEdward Welbourne2018-11-231-1/+10
| | | | | | | | | | | | | | | | | | The qCompare() implementation for double was handling infinities and NaN the way tests need, but the one for float didn't; it has just the same need, so apply the same fix. Extends 79493a3ee1. Change-Id: I8425026acb61d535e449f579b77fdcd609157f7c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Fix hang in QMacPasteboard::formats()Andrew Smolko2018-11-221-5/+23
| | | | | | | | | | | | | | | | PasteboardGetItemCount() can return -1 as result to unsigned variable, so the further loop will iterate "forever". Return early to avoid hang. Change-Id: Ie91dba1c193d04513f0496d20bd0b6b0b5b6c151 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Fix calculation of text margin if line edit contains side widgetsVitaly Fanaskov2018-11-263-30/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation leads to infinite chain of showing/hidden line edit under circumstances described in QTBUG-54676. We basically got the situation when size hint were calculated differently depending on the line edit visibility state. In this case toolbar layout have to show/hide extension button and line edit a lot of times and can never leave this "loop" (please note, that the chain is much more complicated in reality): Resize toolbar -> Set layout geometry -> Size is OK to display line edit -> Set layout geometry -> Hide extension button -> Set layout geometry (wrong size is calculated here, so "run out of space") -> Hide line edit -> Set layout geometry -> Show extension button -> Set layout geometry - > Size is OK to display line edit ... And we're in the "loop" Clear button is hidden if there is no text in a line edit. In the previous implementation, the button was always visible, only opacity was changing in order to "hide" the button. It resulted to incorrect size hints (regular and minimum). In the current implementation the button is really hidden/shown, and size hints calculated correctly. Also updated unit test for line edit. Remove code duplication in functions for calculation text margin Fixes: QTBUG-54676 Change-Id: I4549c9ea98e10b750ba855a07037f6392276358b Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Windows: Fix embedded application not getting focus after clicking outsideFriedemann Kleint2018-11-241-9/+14
| | | | | | | | | | | | | | | | | | | | Amend the check introduced by bde6a049494f40cd71004d6926899f115af0c3e6 to not apply to embedded windows and plugin applications. Fixes: QTBUG-71991 Task-number: QTBUG-7081 Change-Id: I80b3dc0fa20ee3447a4bc4bbb41e66d4d90ab726 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | Fix build errors in OpenSSL 1.1 backendTimur Pocheptsov2018-11-231-0/+2
| | | | | | | | | | | | | | | | SSL_CTX_set_ciphers is new in 1.1.1. Task-number: QTBUG-71983 Change-Id: If0ae9f95dcc867c62ed0d3a6a60c22c7f5e1cc9f Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | Add translator's comment to the copyright noteFriedemann Kleint2018-11-231-2/+3
| | | | | | | | | | | | | | | | | | | | State the policy that so far only exists in the localization wiki and is currently not followed by all translators. Task-number: QTBUG-57697 Change-Id: I2aa9f1bbd244b53e48e59f625520a7f86d2df347 Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | macOS accessibility: fix crash for NSAccessibilityVisibleCharacterRangeAttributeFrederik Gladhorn2018-11-231-2/+3
| | | | | | | | | | | | | | | | | | VoiceOver or other tools may query this property even when there is no text interface. Make sure not to crash by verifying that the interface is supported. Found while using AccessibilityInspector to verify other changes. Change-Id: If7ee21b7616f091b71e86bab03a871ddbabe9200 Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
* | Remove unused inRepaint member of QWidgetPrivateTor Arne Vestbø2018-11-232-6/+1
| | | | | | | | | | | | | | The code that used it was removed in 55fa3c189f889 6 years ago. Change-Id: I76e42f147342feb1bda9bc2c5aa882af62757812 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Improve logging of QWindowContainer operationsTor Arne Vestbø2018-11-231-0/+6
| | | | | | | | | | | | | | | | By explicitly identifying the fake window created for the window container. Change-Id: Id67a6e22588d04e68f5ede09bc078bb387c12e0b Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | macOS: Track changes to our NSView's superview and window propertiesTor Arne Vestbø2018-11-231-6/+67
| | | | | | | | | | | | | | | | As a start, we just log the changes, but going forward we can use this to report parent changes to QPA or get rid of old QNSWindows. Change-Id: Id3625fb0b7608d85240f58bdecc70a5892075da3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | macOS: Allow raising and lowering child windowsTor Arne Vestbø2018-11-231-20/+22
| | | | | | | | | | Change-Id: Ic598d200e2f774ced489a37c33b7a02767db4402 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | QGraphicsProxyWidget: Don't crash within setWidget() when a child proxy has ↵Christian Ehrlicher2018-11-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | no assigned widget QGraphicsProxyWidget::setWidget() is checking if the newly assigned widget is already assigned to a child proxy widget without checking if the child has a widget assigned at all which lead to a nullptr reference if it is not the case. Therefore check if the assigned widget is a valid pointer. Fixes: QTBUG-15442 Change-Id: I006877f99895ca01975bdcad071cfcf90bea22ad Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | qnetworkinterface_unix: Use qstrncpy instead of strlcpyDmitry Shachnev2018-11-221-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | strlcpy is not available on some UNIX platforms, such as GNU/kFreeBSD. qstrncpy is available everywhere and has similar semantics (in addition it fills the rest of buffer size with NULL bytes, but that does not cause extra work as our buffer sizes are small). Change-Id: I76c5905eba248fd9fbc1f63f05e88e0617f8407a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Remove need for glXGetProcAddressARBMichal Klocek2018-11-221-42/+1
| | | | | | | | | | | | | | | | We do already require glXGetProcAddress in line 241. Fixes: QTBUG-71488 Change-Id: Id0f3bc256a71097241b99d2dcba927c1165e980e Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
* | QLocalSocket (windows) - remove broken setErrorStringTimur Pocheptsov2018-11-222-11/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We report two types of errors - those found by our code and errors coming from the OS. setErrorString(), despite its name, does not just set a string, but extracts a windows error code via GetLastError() and then calls _q_winError(). This is wrong: some arbitrary error code (or no error) can be reported when it was actually an error found by Qt. Worse yet, string operations (allocations etc.) can potentially clear the real error code. So remove setErrorString(), set errors explicitly if it's the application code error or use _q_WinError directly. Task-number: QTBUG-71744 Change-Id: I67277d84006c4ad365f5636caf850e1f3ba4e1dc Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Remove macOS specific path that causes reverse vertical advanceAllan Sandfeld Jensen2018-11-221-4/+0
| | | | | | | | | | | | | | | | | | This special case of macOS appears to be outdated and now causes a bug. Change-Id: Ie9c074bb69eda7abfe3d123f807b517334cc2958 Fixes: QTBUG-69803 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | macOS: Don't assume platform input context is our ownTor Arne Vestbø2018-11-221-2/+2
| | | | | | | | | | | | | | | | | | A plugin (such as the Qt virtual keyboard) may provide a platform input context. Change-Id: I349ac6c4b96a3536bcde0d44a785cb7bb989fcc6 Fixes: QTBUG-68328 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Use msvc qmake scope where appropriateJoerg Bornemann2018-11-221-4/+4
| | | | | | | | | | | | | | | | | | Use 'msvc' instead of 'win32-msvc' or even 'win32-mscv*'. Change-Id: I21dc7748a4019119066aea0a88a29a61827f9429 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Fix crash when painting with pattern brush to print device on macOSEirik Aavitsland2018-11-221-1/+0
| | | | | | | | | | | | | | | | | | CGContextRelease was called twice, both manual and from the destructor of QMacCGContext. Change-Id: Icba7dcda37af7e1f7c72937b3dd2d2cc4ea22c63 Fixes: QTBUG-71934 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | wasm: fix qpa plugin build system integrationOswald Buddenhagen2018-11-212-2/+2
| | | | | | | | | | | | | | | | | | | | | | fix the plugin name (it was missing the leading 'q') and the name used in configure (the latter making it unnecessary to mess with it in the mkspec). the qt.prf override which forced linkage of the plugin is also removed due to being completely redundant. Change-Id: I94687a34a295c36754e36a298af902b656ba2ecc Reviewed-by: Kyle Edwards <kyle.edwards@kitware.com> Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* | Unbreak the build with ICC on WindowsThiago Macieira2018-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | qlogging.obj : error LNK2019: unresolved external symbol __fastfail referenced in function "void __cdecl qt_message_fatal(enum QtMsgType,class QMessageLogContext const &,class QString const &)" (?qt_message_fatal@@YAXW4QtMsgType@@AEBVQMessageLogContext@@AEBVQString@@@Z) Fixes: QTBUG-71868 Change-Id: I42a48bd64ccc41aebf84fffd156590a93fe9da53 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Don't start a new page when printing very large imagesLars Knoll2018-11-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | Don't start a new page to print a very high line of text if that line wouldn't fit on one page in any case. In that case we have to break the image up onto several pages anyway, so we might as well start it immediately. Change-Id: I823aa4961df179054476755c8f5df2e03874661f Fixes: QTBUG-59885 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | Add log output if library does not existsAndré Klitzing2018-11-211-0/+2
| | | | | | | | | | | | | | | | Any other method logs this here, too. This helped to find the problem of QTBUG-71027. Change-Id: I2d1f6199837d778ada62dac357764b0609e99692 Reviewed-by: BogDan Vatra <bogdan@kdab.com>
* | QMacStyle: account for QStyleSheetStyle using QTabBar directlyTimur Pocheptsov2018-11-211-1/+7
| | | | | | | | | | | | | | | | | | | | | | in this case w->parentWidget() is not QTabBar, but QTabWidget and we never draw PE_IndicatorTabClose control (before the recent major re-write in qmacstyle we never tested the actual type). Task-number: QTBUG-61092 Change-Id: I87c4813258cc2b483b2ef278c4a2f8796973af1c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* | macOS: Improve logging during QNSView/QNSWindow deallocationTor Arne Vestbø2018-11-202-2/+4
| | | | | | | | | | Change-Id: Ie6945f2a1f35db6d1259b77ee63137abcaf68318 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | macOS: Use shared NSWindowDelegate instead of one per windowTor Arne Vestbø2018-11-204-25/+27
| | | | | | | | | | | | | | | | | | | | | | All the delegate callbacks give us the relevant NSWindow, so we don't need one delegate per window just to be able to resolve the correct platform window. Change-Id: I8e44186da63bf01f029bb0b1fefcd8880f49dda6 Fixes: QTBUG-65693 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | macOS: Ensure NSWindow delegate is released in sync with its NSWindowTor Arne Vestbø2018-11-201-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Releasing it in [QNSWindow closeAndRelease] is wrong, as we only call that method from a few call sites, and can easily end up with a normal dealloc by means of e.g. the [m_nsWindow release] in ~QCocoaWindow. This still leaves Xcode thinking we have a single leaking delegate per active NSWindow, as it apparently doesn't realize we're calling release manually. This needs to be investigated further. Task-number: QTBUG-65693 Change-Id: I9105602274d8532465e5108aba2b05bf253268e9 Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | Correct QT_FEATURE_settings in qconfig-bootstrapped.hLiang Qi2018-11-201-1/+0
| | | | | | | | | | | | | | This amends 4d180586cddbd71a67c83246db3bec1caa595e05. Change-Id: Ia008e618f726f113f84cf4caa8d5f30442dbbb64 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Documentation: update Q_DISABLE_COPY documentationChristian Ehrlicher2018-11-191-11/+9
| | | | | | | | | | | | | | | | | | | | Q_DISABLE_COPY annotates the functions as deleted but this was not mentioned in the documentation. As a drive-by adjust some indentations. Change-Id: I808fe3f1ce9f949d2ba41436661569ab0f2a9f73 Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* | QScrollBar: fix horizontal scrollbars in RTL modeChristian Ehrlicher2018-11-191-10/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a QScrollBar had a stylesheet the subControlRect() was not properly mirrored which lead to a wrong scrolling behavior. Fix it by adjusting the resulting rect with visualRect(). This reverts 00c9ec63a552d040e851b561c11428fabf1a2b08 since it did not completely fixed the issue for all use cases. Fixes: QTBUG-27279 Fixes: QTBUG-38748 Fixes: QTBUG-40443 Change-Id: I19718287be7b4cfc9dbe6951fff99ae48264a855 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>