summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * Win: Prevent crash in qt_message_fatal()Kai Koehne2016-02-261-1/+2
| | | | | | | | | | | | | | | | | | The source argument can be nullptr, e.g. if debug information has been stripped out. Task-number: QTBUG-51195 Change-Id: Ie229c82278c420200cad33c19e8c3f52ab7f12c3 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| * Windows Accessibility: Fix warnings as shown by Qt Creator's Clang based ↵Friedemann Kleint2016-02-265-59/+65
| | | | | | | | | | | | | | | | | | | | | | | | code model. Introduce C++ casts and add some conversions. Where possible, increase const-correctness. Remove trivial conversion function BSTRToQString(). Task-number: QTBUG-50804 Change-Id: I1820d4693db8bc0dfa6c4a5fecd768cf64a4405c Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Windows Accessibility: Refactor code creating COM arrays.Friedemann Kleint2016-02-261-18/+29
| | | | | | | | | | | | | | | | | | Introduce a convenience function for allocating arrays and use algorithms. Task-number: QTBUG-50804 Change-Id: Iead75f8297923fd13efcfc7987f76262777d074b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Fix potential crash in QWindowsIA2Accessible::QueryInterface().Friedemann Kleint2016-02-261-2/+0
| | | | | | | | | | | | | | | | | | | | QWindowsIA2Accessible does not implement IAccessibleRelation (found when replacing the C-style casts by static_cast<>). Remove the corresponding branch. Task-number: QTBUG-50804 Change-Id: I80901634044f85e413666f34b91be2e6ad70da91 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * Windows QPA: Apply scaling when fixing maximized/frameless geometry.Friedemann Kleint2016-02-261-4/+5
| | | | | | | | | | | | | | Task-number: QTBUG-8361 Task-number: QTBUG-51327 Change-Id: I590702df8f6313701fe69d0873657c6af53fee16 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * Fix QHighDpi::fromNative(QRect, QScreen *, QPoint).Friedemann Kleint2016-02-261-1/+1
| | | | | | | | | | | | | | | | Call fromNative() instead of toNative(). Task-number: QTBUG-46615 Change-Id: I1e648a2680126d1f560e71573f7346b053fe676b Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * Windows QPA: Fix scrolling down with mouse wheel.Friedemann Kleint2016-02-261-1/+1
| | | | | | | | | | | | | | | | | | Use GET_WHEEL_DELTA_WPARAM() instead of HIWORD and casting. Fix breakage introduced by b20548f9999d8c111268f3f2287c0801c6c5cbb0 . Change-Id: I11bd97d73c12d72e824e3f769e9c402975f27d48 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QWindowsTheme: Run SHGetFileInfo() in a thread.Friedemann Kleint2016-02-264-12/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | Windows 10: SHGetFileInfo() (as called by item views on file system models has been observed to trigger a WM_PAINT on the mainwindow for totally obscure reasons, causing a recursive repaint. Suppress this by running it via QThreadPool. Task-number: QTBUG-45298 Task-number: QTBUG-48823 Task-number: QTCREATORBUG-14888 Change-Id: I7479102b9b8fb0771681260298c3d735e66f220f Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
| * QScreen::grabWindow(): Scale the coordinates.Friedemann Kleint2016-02-261-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The coordinates need to be scaled before calling QPlatformScreen::grabWindow() On return, set a devicePixelRatio on the pixmap. Adapt the QWidget test to scale the grabbed pixmaps. Fixes pixeltool displaying the wrong part of the screen when High DPI scaling is in effect. Task-number: QTBUG-46615 Change-Id: I12de7df0da669230cf0fae74f4a42d43f061d5ff Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * QMacPrintEngine: Really set the printer resolutionKai Pastor2016-02-251-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | As already reported in 2009 (Qt 4.6) QPrinter never actually set the printer resolution. This change adds the necessary call to PMPrinterSetOutputResolution (available since OS X 10.5). [ChangeLog][QtPrintSupport][OS X] QMacPrintEngine now really sets the printer resolution. Task-number: QTBUG-7000 Change-Id: I3e851b62e1a7ed78564a8a6fd576b0a18d7eff63 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
| * Add missing initializations in QWheelEventJan Arve Sæther2016-02-251-3/+6
| | | | | | | | | | Change-Id: I77f014934b97aa6729d568996f0e6c03feb44588 Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| * Fix QDBusPlatformMenu::menuItemAt()J-P Nurmi2016-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | Other platform menu implementations check that the index is not out of bounds, so make QDBusPlatformMenu::menuItemAt() do the same. Change-Id: I1d2e42681f2dbfff8b80044141d620bddbc3b6aa Task-number: QTBUG-51372 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
| * QWindow: Use scaling when calling QPlatformWindow::mapTo/FromGlobal().Friedemann Kleint2016-02-251-2/+2
| | | | | | | | | | | | | | | | The platform window API uses native pixels. Task-number: QTBUG-50206 Change-Id: I1385d34bb0eacd61d77cad483e2a863d129ed129 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
| * QSqlDriver::sqlStatement: documentation fixMark Brand2016-02-241-0/+11
| | | | | | | | | | | | Change-Id: I12bd612c48020594b5377b04aeccc51f7c4be53d Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Vyacheslav Grigoryev <armagvvg@gmail.com>
| * QPixmap: check data ptr in isQBitmap()Anton Kudryavtsev2016-02-241-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-51271 Change-Id: I670e074ced1217d2614fa334eb365e40ef80b8b1 Reviewed-by: Edward Welbourne <edward.welbourne@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QtTest: eradicate all Q_FOREACH loopsMarc Mutz2016-02-293-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 ramge-for loops. In one case, I took the liberty to remove a useless if(isEmpty()) check around a for loop. Now that we don't use Q_FOREACH anymore, we don't incur the copy for empty containers anymore. Left the indention of the loop level to avoid code churn. Saves 1.8KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I1b1fb34847f6a631f0d580fd5261c7f5fed8475c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QVector: preserve capacity in clear()Marc Mutz2016-02-2911-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is what std::vector implementations usually do, because it minimizes memory fragmentation and useless allocations since no user will call clear() unless she intends to append new data afterwards. Fix calls to resize(0) that show how existing code tried to work around the issue. Adjust test. Port from QVERIFY(==) to QCOMPARE as a drive-by. [ChangeLog][QtCore][QVector] clear() now preserves capacity. To shed capacity, call squeeze() or swap with a default-constructed QVector object, see the documentation for an example. Change-Id: I9cebe611a97e027a89e821e64408a4741b31f1f6 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | QtWidgets: eradicate Q_FOREACH loops [rvalues]Marc Mutz2016-02-289-22/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. This is the simplest of the patch series: Q_FOREACH took a copy, so we do, too. Except we don't, since we're just catching the return value that comes out of the function (RVO). We can't feed the rvalues into range-for, because they are non-const and would thus detach. Saves 2.2KiB in test size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I914aa20fe65577b2e32ea7ea89d51a8d003a57ba Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: eradicate Q_FOREACH loops [QVarLengthArray, std containers]Marc Mutz2016-02-282-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Q_FOREACH over a QVarLengthArray or std containers is a particularly bad idea (because of the deep copy that Q_FOREACH then performs). Use C++11 range-for (without qAsConst(), because neither QVLA nor std containers are CoW). Saves 5.7KiB in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I4c1fb0b488bb08726912528b559840a45c1397df Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: prevent detach attempts from first()/etc. use [dialogs, kernel, ↵Marc Mutz2016-02-2614-42/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | util, widgets] The algorithm used was: - If possible, just declare the container const - Otherwise, for first()/last(), use constFirst()/constLast() and for front()/back(), to not destroy the use of the STL API subset, use qAsConst() Did some caching of function returns here and there, and converted one 0 to nullptr as a drive-by. Also saves almost 4KiB in text size on optimized GCC 4.9 Linux AMD64 builds. Change-Id: I04b7bfd68dc85c22de247cb65a310e1cbbca1e8c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | ItemModels: replace QLatin1String with QStringLiteralAnton Kudryavtsev2016-02-262-4/+9
| | | | | | | | | | | | | | | | | | | | | | ... wherever it allocates memory. Since the string literal is used in more than one function, to avoid duplication of .rodata, wrap the QStringLiteral in an inline function. Change-Id: If4fca7443b3150b1c8360c850da32f5c567c1065 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QCocoaKeyMapper - correctly update key layoutsTimur Pocheptsov2016-02-251-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | QCocoaKeyMapper has 2 bugs: - fails to update layouts even if input source changed - while looking for the possible keys it clears bits for neededMods thus making later shortcut match impossible Change-Id: Ie230b973acd5ca6f50b97ca4901ede61b581d273 Task-number: QTBUG-50865 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
* | Add We-mean-it comment to qnetworkdatagram_p.h.Friedemann Kleint2016-02-251-0/+11
| | | | | | | | | | | | | | | | Fix warning: WARNING: qtbase/src/network/kernel/qnetworkdatagram_p.h does not have the "We mean it." warning Change-Id: I65fc2dc9129b194b08865e3486fae4d0cad3f3d3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Improve QCOMPARE output of char comparisonsAllan Sandfeld Jensen2016-02-251-1/+47
| | | | | | | | | | | | | | | | | | Make actual and expected values of char tests more useful by using C syntax. This means we can actually read non-printable characters. Task-number: QTBUG-51294 Change-Id: I031e15916a2882c0499b6217ae1649d4eea09eb4 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add QResource to the bootstrap libraryErik Verbruggen2016-02-253-0/+4
| | | | | | | | | | | | | | | | | | It's very useful for bootstrapped tools to be able to include resources. Those can now be accessed through the QResource API. Change-Id: Ie8247877a9a4a81cec006bab2b58331270487aef Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | QtPlatformHeaders/Windows: Add function to set window activation behavior.Friedemann Kleint2016-02-2510-3/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Windows OS by default does not activate windows when the calling process is not active; only the taskbar entry is flashed as not to distract the user. Nevertheless, for some use cases, it is desirable to activate the window also in the inactive state. Introduce an enumeration specifying the behavior to QtPlatformHeaders and employ a workaround using the Win32 API AttachThreadInput() to attach to other processes while setting the foreground window to achieve the AlwaysActivateWindow behavior. Task-number: QTBUG-14062 Task-number: QTBUG-37435 Change-Id: I79cb6cd3fab29d55b5d3db7f9af01bbaa5096a37 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | QtGui: use reserve to optimize memory allocation.Anton Kudryavtsev2016-02-253-1/+5
| | | | | | | | | | Change-Id: I34a571b67840557de19ab496cadebd698c7f4f6a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | QtCore: replace QStringLiteral with QLatin1String when appendingMarc Mutz2016-02-255-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to use QStringLiteral for strings which are immediately appended to, or which are appended to other strings, because no dynamic memory allocation is saved by doing so. But if the only advantage of QStringLiteral does not apply, all its disadvantages dominate, to wit: injection of calls to qstring dtor, non-sharability of data between C strings and QStringLiterals and among QStringLiterals, and doubled storage requirements. Fix by replacing QStringLiteral with QLatin1String. Saves 1156B in text size on stripped optimized Linux AMD64 GCC 4.9 builds. Change-Id: If805e431f570ec1d2ac62c548f516f1b17390c3a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtNetwork: don't use Boyer-Moore for single-character needlesMarc Mutz2016-02-242-11/+4
| | | | | | | | | | | | | | | | | | | | | | Using Boyer-Moore for single-character search strings makes no sense since there can be no skipping beyond the normal sequential search anyway. So, port to QByteArray::indexOf(char). Change-Id: I848e2ceea5ceafd0ebae402798b410f682348a75 Reviewed-by: Richard J. Moore <rich@kde.org>
* | Perfect (almost) Qt on Android splash screen.BogDan Vatra2016-02-246-26/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | There is no need to show the splash image immediately when the application starts, because it will be removed shortly in QtActivityDelegate.java, therefore show the splash in QtActivityDelegate.java. This patch also adds a new option to AndroidManifest.xml which keeps the splash screen visible until user to decides to hide it, by using the QtAndroid::hideSplashScreen() function. Change-Id: I8a29a5a757d626c4c9d6a2748a60ca3091ebf82d Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* | QMimeTypeParser: scope a variable betterMarc Mutz2016-02-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | The variable being a QVector, this means replacing default construction followed by one move-assignment per loop iteration with a StartElement state with RVO-catching a return value. Saves ~320b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I618d31ad0816f9ad1a89a6b2e39481258f1e0878 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMimeTypeParser: don't use the heap to create QMimeMagicRulesMarc Mutz2016-02-241-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The function createMagicMatchRule() returned a heap-allocated QMimeMagicRule, and the caller code did not check the return value for nullptr, but copied the rule into a container before deleting the original again. Fix by returning by-value instead. Every C++ compiler will use RVO for this. On top, add an optimistic std::move() when inserting the rule into the container (currently QList, so no rvalue-push_back, yet). While touching the return value, also remove an unholy out-parameter with just local effects by returning a Result struct instead. The rest of the code remains full of out- parameters, of course. Add one Q_UNLIKELY and two qUtf16Printable() as drive-bys. Saves ~300b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I4374ab41f38502cd5c64ac37d106ca4bc6e00327 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMimeTypeParser: use QStringBuilder moreMarc Mutz2016-02-242-11/+7
| | | | | | | | | | | | | | | | | | | | | | Replace QString::arg() with QStringBuilder, use QStringLiteral where appropriate, and remove it where it isn't (e.g. in QStringBuilder expressions). Saves ~750b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I2471c849db79f477677213f9a155053248800590 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QMimeTypeParser: use QStringRef moreMarc Mutz2016-02-243-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep the return values of QXmlStream*::value() around as QStringRefs for as long as possible. Avoids conversions to QString, among other things, for: - comparison to another string - conversion to int - conversion to UTF-8 or Latin-1 byte arrays Add a pair of Q_UNLIKELY as a drive-by. Saves ~900b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I17d440a11aeb8675979483f89e66d0a088ccc605 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtGui: replace QStringLiteral with QLatin1String when appendingMarc Mutz2016-02-242-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to use QStringLiteral for strings which are immediately appended to, or which are appended to other strings, because no dynamic memory allocation is saved by doing so. But if the only advantage of QStringLiteral does not apply, all its disadvantages dominate, to wit: injection of calls to qstring dtor, non-sharability of data between C strings and QStringLiterals and among QStringLiterals, and doubled storage requirements. Fix by replacing QStringLiteral with QLatin1String. Saves 104B in text size on stripped optimized Linux AMD64 GCC 4.9 builds. Change-Id: I36b6a9bb1963b69361cc3a3db0971e1db92f0080 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QtWidgets: replace QStringLiteral with QLatin1String when appendingMarc Mutz2016-02-242-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It makes little sense to use QStringLiteral for strings which are immediately appended to, or which are appended to other strings, because no dynamic memory allocation is saved by doing so. But if the only advantage of QStringLiteral does not apply, all its disadvantages dominate, to wit: injection of calls to qstring dtor, non-sharability of data between C strings and QStringLiterals and among QStringLiterals, and doubled storage requirements. Fix by replacing QStringLiteral with QLatin1String. Saves 288B in text size on stripped optimized Linux AMD64 GCC 4.9 builds. Change-Id: Ie632f25883163f57991264b29e8753fe4c4f738e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | QSqlDriver:sqlStatement: respect generated flags for WHERE tooMark Brand2016-02-241-1/+6
| | | | | | | | | | Change-Id: I90034cd1a8dc0473c36d788c6737493a51641b02 Reviewed-by: Andy Shaw <andy.shaw@theqtcompany.com>
* | xcb: Remove unneeded null pointer checksBłażej Szczygieł2016-02-243-14/+4
| | | | | | | | | | | | | | | | | | | | Since a094af001795c9651b299d700a992150d1aba33a we don't need any null pointer checks for xcb screens. This reverts patch 7532fb4e61fc4102fd11022f57f7d8195414167b Change-Id: I8b90ed538aad4403650ef42aab6f39de5861d9ed Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
* | Merge "Merge remote-tracking branch 'origin/5.6' into 5.7" into refs/staging/5.7Liang Qi2016-02-2448-349/+516
|\ \
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-02-2448-349/+516
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java src/plugins/platforms/windows/qwindowsfontengine.cpp src/plugins/platforms/windows/qwindowsnativeimage.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I649b32b260ce0ed2d6a5089021daa0d6a8db85f7
| | * Fix font dialog with missing font family and pixel sizesEskil Abrahamsen Blomfeldt2016-02-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two related errors: When a non-existent font was set on the font dialog, the GTK native font dialog would just pick a default one. Also, if the font size was specified with pixel size, we would request -1 as the point size from Pango. The fix for both is to resolve the font before applying it to the font dialog, and set the actually resolved family, as well as point size. Note that if the point size is explicitly set, then we pass this to the font dialog, since the one returned by QFontInfo will always be calculated based on the (rounded) pixel size, so it will usually not match the request. This fixes tst_qfontdialog::setFont(). [ChangeLog][GTK2][Dialogs] Fixed requesting a font from font dialog with a non-existent family name and/or pixel size. Task-number: QTBUG-51148 Change-Id: Id9c783407778546b0cf3f9c3ab19f124e76c878e Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com> Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| | * QtWidgets: Always deliver the wheel event to submenusBłażej Szczygieł2016-02-241-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When mouse events are delivered using XInput2 then the wheel event is missing on submenus, because XInput2 delivers the wheel event only to the root menu. Task-number: QTBUG-50996 Change-Id: I757c0b5e3aea4606d2e45dfc8180c263e02167ca Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| | * xcb: Deliver mouse enter event to window when closing modal windowBłażej Szczygieł2016-02-241-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a modal window is closed and the mouse is not under the modal window - find a proper window and send a fake enter event. Added auto test for checking enter event on window when modal window is closed. Task-number: QTBUG-35109 Change-Id: I370b52d386503820ac9de21e6d05fd019ca456ec Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| | * Disable ligatures using existing mechanism in HB, not workaroundEskil Abrahamsen Blomfeldt2016-02-243-25/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a partial revert of fef629cd9191bb73f22c5efb6f943e6b672953c1. When doing the original fix, I didn't realize that there was a mechanism for disabling specific OpenType features in Harfbuzz. This commit reverts the hack to disable GSUB completely and disables the ligature features instead. Task-number: QTBUG-44393 Change-Id: I30f0080eb3897f37219df7f2d50843f3a4556e13 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | * QtWidgets: Proper delivery of enter/leave event to context menusBłażej Szczygieł2016-02-241-12/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | First-level context menu grabs the mouse, so all mouse events are delivered to it. This menu passes the mouse events to submenus. Any platform delivers mouse enter/leave event differently when window is grabbed. This patch unifies event delivery to context menus - it can block some unwanted events and it emulates fake events if necessary. This patch can reduce duplicated events and can provide proper enter or leave event to additional widgets in the context menu. It can also prevent submenu from unwanted close on Windows and X11. Added autotest. Task-number: QTBUG-45565 Task-number: QTBUG-45893 Task-number: QTBUG-47515 Change-Id: I7dd476d0be23afa34e947e54aef235012d173dcf Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| | * Windows QPA: Send synthesized expose events when window shrinks.Friedemann Kleint2016-02-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the condition to check for plain move events and gain in one dimension in which case Windows will send events. Task-number: QTBUG-51038 Change-Id: I60433657f37275ee302f745291e79e465d52064d Reviewed-by: Błażej Szczygieł <spaz16@wp.pl> Reviewed-by: Shawn Rutledge <shawn.rutledge@theqtcompany.com>
| | * Windows QPA: Use window flags stored in QWindowsWindow for frame geometry.Friedemann Kleint2016-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Querying the flags of the QWindow fails when inside QWindowsWindow::setWindowFlags() since the new flags do not take effect. Task-number: QTBUG-40578 Task-number: QTBUG-51224 Change-Id: Ida8c23b64ddfde34ebc0af95c84954e666865240 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
| | * QFontEngineFT: Fix Clang warning about using uninitialized variables.Friedemann Kleint2016-02-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gui/text/qfontengine_ft.cpp(1743,5) : warning: variable 'bytesPerLine' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized] gui/text/qfontengine_ft.cpp(1743,5) : warning: variable 'format' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized] The default branch is marked Q_UNREACHABLE, but apparently Clang does not recognize it. Task-number: QTBUG-50804 Change-Id: Idfce8cb2b9a481dd67a18d9952b920ad4f71e0f4 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | * QCocoaMenuItem: Use the right Objective C class forwarding macrosGabriel de Dietrich2016-02-191-11/+4
| | | | | | | | | | | | | | | Change-Id: Icdde469e6854c250d44c88fc79b7615647f0783a Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>
| | * QMenu: Add delegate related notes to OS X-only APIGabriel de Dietrich2016-02-191-2/+8
| | | | | | | | | | | | | | | Change-Id: I88bb4fdb2c11da0602e4c9f6637bbdeaa715aba0 Reviewed-by: Jake Petroules <jake.petroules@theqtcompany.com>