summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Windows QPA: Fix leaks in native file dialogsFriedemann Kleint2016-08-301-4/+9
| | | | | | | | | | | | Release the IShellItem instances according to the documentation of IFile[Open]Dialog. Task-number: QTBUG-55509 Task-number: QTBUG-55459 Change-Id: Ib79622cde21982b1bda0be7d0483c6e652a1d5fe Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* DirectWrite: Fix calculating bounding box of glyphsEskil Abrahamsen Blomfeldt2016-08-181-1/+1
| | | | | | | | | | | | | | | | | | We don't support vertical text layouts in Qt, so the vertical advance should always be 0 (like it is in other engines). Since we were setting this, we would calculate the bounding box of strings in the DirectWrite engine as if the layouts were diagonal, adding up both the horizontal and vertical advances. [ChangeLog][QtGui][Windows] Fixed height of text bounding box when using no or vertical hinting preference, or when the device pixel ratio is different from 1. Task-number: QTBUG-51024 Change-Id: I329917eb8da71fdfdffe9651ca8f0f48d26b6a60 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Support stretch when using DirectWrite font engineEskil Abrahamsen Blomfeldt2016-08-171-3/+13
| | | | | | | | | | | | | | | | | | The DirectWrite font we get when converting the GDI font does not respect the stretch we have set, as this is an attribute of the text layout in DirectWrite and not the font description. To compensate for this, we scale advances and glyphs in the engine if the stretch is different from 100%. [ChangeLog][QtGui][Windows] Fixed stretch when combined with either no or vertical hinting preference or a device pixel ratio different from 1. Task-number: QTBUG-54494 Change-Id: Icc06d1457191782d1a281c99da2da3081a82c542 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* QWindowsServices::openUrl(): Don't convert URLs with fragments/queries to ↵Friedemann Kleint2016-08-161-2/+3
| | | | | | | | | | local files Pass the URL instead. Task-number: QTBUG-55300 Change-Id: I4ce9171db5c1a9e07b17911729b165c115329664 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows QPA: Handle key event sequences of surrogatesFriedemann Kleint2016-08-032-0/+17
| | | | | | | | | | | Emoji characters as input by the virtual keyboard are received as a sequence of surrogates. Store state internally when a high surrogate is received and send off the sequence when the matching low surrogate is received via input method. Task-number: QTBUG-50617 Change-Id: I91e763ec3e0747d6852f7c5c2057a67b0c24e0f5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Windows QPA: Pass ExcludeUserInputEvents to QWSI::flushWindowSystemEvents()Friedemann Kleint2016-07-271-5/+5
| | | | | | | | | User Input events flushed out by those calls have been observed to cause crashes. Task-number: QTBUG-39842 Change-Id: I950b80f2863def5b28e9fe46ef2b73aa6db2592f Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* QWindowsTheme::themeHint(): Handle special value of SPI_GETWHEELSCROLLLINESFriedemann Kleint2016-07-261-2/+7
| | | | | | | | | | | | When the mouse wheel step is set to "Scroll one screen", querying SPI_GETWHEELSCROLLLINES returns the special value unsigned(-1). Return the default instead of converting it to int in that case since Qt does not implement it. Task-number: QTBUG-52384 Change-Id: I793e5c09103fe0c7c4a378aba97e9f63ae1c2f35 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Windows QPA: Add warning to setHasBorderInFullScreen()Friedemann Kleint2016-07-151-3/+4
| | | | | | | | | | | Emit a warning when the function is called before show() as it does not have any effect in that case. Amends change 69839e55c13000ee9bf8d8e9d74b70096a92ae51. Task-number: QTBUG-41309 Change-Id: I7c2bb21735d8e41d525c5e00213b0e278ae5c774 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QWindowsTheme: Fix the available file icon sizesFriedemann Kleint2016-07-153-12/+45
| | | | | | | | | | | | | Previously, QWindowsTheme had a hardcoded list of of available file icon sizes. As the sizes depend on the Windows display scale factor, this can lead to undesired scaling of icons. Maintain an array of the standard sizes against which the sizes are matched; refresh in display change. Task-number: QTBUG-54561 Change-Id: If36de2f30c8a230cc7bd8eeb4dfc9f201aeda5e4 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* QWindowsTabletSupport: fix new[]/delete mismatchMarc Mutz2016-07-111-2/+2
| | | | | | | | | | QScopedPointer deletes with delete, but a pointer returned from new[] needs to be deleted with delete[]. Fix by using QVarLengthArray instead of QScopedPointer(new TCHAR[]). Change-Id: I2f1f252379a9ac1ee919901b5efcec9cec31261e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix URL to ANGLEFriedemann Kleint2016-06-301-1/+1
| | | | | | | | | Point to the README.md of the project; the old URL http://code.google.com/p/angleproject is now redirected to the bugtracker. Change-Id: I293fc150d5b6c08f16effe8921010050faa264b5 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* Windows QPA: Improve warning about SetProcessDpiAwareness() failureFriedemann Kleint2016-06-301-1/+6
| | | | | | | | | Silence warning in case DPI awareness was set externally unless debug is enabled. Task-number: QTBUG-54416 Change-Id: Id48769e3d4be3047f582e331633905c640930f21 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Fix bugs causing Thin font weights to be ignored or mishandled.Jake Petroules2016-06-011-4/+2
| | | | | | Task-number: QTBUG-53196 Change-Id: If12b3cab3d8de5e0e452fca844b0a484c29e9e86 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* QWindowsTheme: Suppress error dialogs when calling SHGetFileInfo().Friedemann Kleint2016-05-241-1/+10
| | | | | | | | | | | Set the error mode flag SEM_NOOPENFILEERRORBOX when calling Win32 API SHGetFileInfo() to prevent it from prompting to insert media as does QStorageInfoPrivate::mountedVolumes(). Task-number: QTBUG-32457 Task-number: QTBUG-48823 Change-Id: I01a2f99b5a75b39dd729509ca319f634e3dcd695 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
* windows: Fall back to D3D9 when 11 failsLaszlo Agocs2016-05-232-24/+45
| | | | | | | | | | It is assumed that this happens automatically but that is not always the case. Do not become stuck with a non-functional D3D11-backed EGL environment. Instead, try again as if QT_ANGLE_PLATFORM=d3d9 was requested. Task-number: QTBUG-52056 Change-Id: I12ac6ca5f1d06f9504d05120d8e1053e97edfab3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Windows QPA: Improve workaround for non-Areo theme GL rendering.Friedemann Kleint2016-05-191-3/+4
| | | | | | | | | | | | Reportedly, clearing the clip region is sufficient to fix the issue. InvalidateRect() should be avoided when handling WM_PAINT as it may cause events. Task-number: QTBUG-7865 Change-Id: Id9a7c280fcc2c8242bb34c34e73e53c3146e7a6e Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* ANGLE: fall back to warp mode in case of standard VGA driverOliver Wolff2016-05-121-0/+12
| | | | | | | | | | | | | | | The combination of vendor and device ID being 0000 indicates, that the standard VGA driver is used, and happens when using Qt in a: - Windows 7 machine without proper GPU drivers - Windows 7 machine with disabled GPU - HyperV vm The default driver does neither support D3D9 nor D3D11 properly so that we have to fall back to warp mode for ANGLE. Change-Id: Ia766e32d680c910a50ec3d6b5002892cdb90fdbb Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Add FreeType libraries for Windows -system-freetype buildsJames McDonnell2016-05-091-0/+1
| | | | | | | | | Add a "CONFIG += qpa/basicunixfontdatase" to the -system-freetype block so that the FreeType libraries are included in LIBS. Task-number: QTBUG-35767 Change-Id: I81e18e72e068d5ac240cba79bab880e50a033860 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* Fix threading issue in creating static opengl contextMäättä Antti2016-05-091-2/+4
| | | | | | | | Add mutex lock for static opengl context creation. Task-number: QTBUG-53202 Change-Id: Iba22339776ec8885efd82b13ae56f6781a426f4b Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Windows Accessibility: Use QWindowsAccessibility::windowHelper().Friedemann Kleint2016-05-091-11/+4
| | | | | | | | | Amends changes ee516381873857e833b53b175fd3c40e4c45a5fd, d7a3b6145999d015997e26e12a7345f774b053f3. Task-number: QTBUG-52943 Change-Id: Icdf9d99c327bdd38dfb084e6cf77b14cd5ce073b Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Windows Accessibility: Recurse up to find a window.Friedemann Kleint2016-05-061-2/+11
| | | | | | | | | | | | | | | Not all classes inheriting QAccessibleInterface implement QAccessibleInterface::window(), so, go up the hierarchy to find one that does. The window is required to be able to determine the correct scale factor for the screen when High DPI scaling is active. Fixes multimonitor issues for QtWidgets. Amends change d7a3b6145999d015997e26e12a7345f774b053f3. Task-number: QTBUG-52943 Change-Id: I81733765faee4d296bd6ea046bc2cecb018eb28d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
* Silence MSVC warnings when using certain std algorithmsMarc Mutz2016-04-263-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MSVC STL warns when passing naked pointers as non-bounded iterators to algorithms such as std::equal and std::copy, in an attempt to inform users that the range specified by that iterator has an implicit minimum size that the caller of the algorithm must ensure is met: warning C4996: 'std::_Equal1': Function call with parameters that may be unsafe - \ this call relies on the caller to check that the passed values are correct. To \ disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to \ use Visual C++ 'Checked Iterators' When building Qt, as well as when building user projects with qmake (cf. 0a76b6bc7f98900ea884cd10ccca1a332e5bdba5), we globally disable this warning (with -D_SCL_SECURE_NO_WARNINGS), but since we started using STL algorithms in public headers (e.g. in qvector.h), users get this warning in their own projects now, unless they, too, define said macro. But such a requirement is against the Qt policy to have headers that are warning-free as much as possible. The suggested way of fixing this warning is to wrap the naked pointer in a stdext::unchecked_array_iterator before passing it to the algorithm, cf. examples in https://msdn.microsoft.com/en-us/library/ttcz0bys%28v=vs.120%29.aspx or, together with the capacity-made-explicit, in a stdext::checked_array_iterator. To avoid ifdefs for platforms that don't have these extensions (which, incidentally, for the unchecked case, includes MSVC 2012), wrap the calls in macros. The end game here is to drop -D_SCL_SECURE_NO_WARNINGS, at least for public headers, even though this commit also adds the wrapper to implementation and private header files. An alternative to the wrapper would have been the version of std::equal that takes four iterators. However, that is a C++14 library feature, while this version of Qt still needs to compile with a C++98 compiler, and, more importantly, there isn't, and never will be, a corresponding 4-iterator version of std::copy. Task-number: QTBUG-47948 Done-with: Stephen Kelly <steveire@gmail.com> Change-Id: I1bbab257fb5f1c5042939c382a412b596112ff26 Reviewed-by: Stephen Kelly <ske@ableton.com>
* Windows QPA/High DPI: Scale accessibility coordinates.Friedemann Kleint2016-04-262-4/+9
| | | | | | | | | Use High DPI when interfacing with the Accessibility API. Task-number: QTBUG-52943 Task-number: QTBUG-50991 Change-Id: Ica4489222dca5d58864172470e634f709deb69f8 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Windows QPA/GL: Avoid crash in GL driver.Friedemann Kleint2016-04-221-3/+2
| | | | | | | | | | | | QWindowsStaticOpenGLContext::doCreate(): Invoke QWindowsOpenGLTester::supportedRenderers() only when needed; specifically, do not unnecessarily call it when GLES/SW renderer is specified. Amends change b4c8e1517455becb138876c08b3bdd880a80770d. Task-number: QTBUG-49541 Task-number: QTBUG-52693 Change-Id: I58d1c584d194f8e7fee35ee16b77575f86d3c22e Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* QWindowsTheme::standardPixmap(): Do not create pixmaps with DPR.Friedemann Kleint2016-04-201-8/+2
| | | | | | | | | | | | | The given size is mostly ignored and the resulting pixmaps typically end up in a QIcon, which will clobber the DPR anyways when returning a pixmap for a given size. Moreover, returning a message box icon with a DPR > 1 when high DPI scaling is active and Qt::AA_UseHighDpiPixmaps is not set causes the pixmap to become too small due to some scaling error. Task-number: QTBUG-52622 Change-Id: I8aaaa97667d6c168040e19b7edad9dfb7517f70f Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* Windows QPA: Fix top level flags for Qt::SplashScreen.Friedemann Kleint2016-04-161-0/+2
| | | | | | | | | Set Qt::FramelessWindowHint so that the translucency logic triggers correctly (raster windows). Fixes the splash screen of Qt Linguist to be transparent. Change-Id: I3d50129b7f15bee0eff6ce3318c7f0fec055dc45 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Windows QPA: Scale hotspot of custom cursors correctly.Friedemann Kleint2016-04-061-5/+5
| | | | | | | | | | Separate factors in QWindowsCursor::createPixmapCursor() and apply factor to the hotspot. Task-number: QTBUG-52276 Change-Id: Ia5a5db39ddc2bc4215a23ff8625431af9b4a76d8 Reviewed-by: Adam Light <aclight@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Windows QPA: Check QWindowsStaticOpenGLContext in ↵Friedemann Kleint2016-04-061-2/+4
| | | | | | | | | | nativeResourceForIntegration(). The instance of QWindowsStaticOpenGLContext has been observed to be 0. Task-number: QTBUG-52387 Change-Id: I1ca97c6df0d96e732ae62354e03f465cd461bcb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Windows QPA: Don't send geometry change after window creation for ↵Friedemann Kleint2016-04-051-2/+6
| | | | | | | | | | | | maximized/fullscreen. For these states, geometry change will be sent from the code called by setWindowState(); the geometry obtained immediately after window creation is then no longer valid. Task-number: QTBUG-52231 Change-Id: Ia7cbe95e73c5dd4126bb63d448b83f2cab6a53a1 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Windows QPA: Scale the cursor rectangle of the input method.Friedemann Kleint2016-03-312-6/+14
| | | | | | | | | Fixes the position of the input method window when High DPI scaling is active. Task-number: QTBUG-51923 Change-Id: I35ee4bcf320f8c2b7d5cc7fb8484348b18e1d833 Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
* QFontEngine: Add handle() functionGabriel de Dietrich2016-03-294-0/+12
| | | | | | | | | | | | | | | | | | | | | | | Both QFont::handle() and QFont::freetypeFace() used to be available in Qt 4 but were removed in Qt 5. There's currently no API to get access to the native font handle, which the font engine holds in a way or another. Similar to the way it was in Qt 4, the actual handle type depends on the font engine currently in use. The types map as follows: Font Engine Native Handle ------------------------------------ DirectWrite IDWriteFontFace * Freetype FT_Face Mac CTFontRef Win HFONT All other font engines return a null handle. Change-Id: I3bea8259ac1378fd24079723aa6603bf9e74834c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* wince: Disable Native Filedialogs for WEC2013Andreas Holzammer2016-03-291-0/+8
| | | | | | | | Qt crashes when opening a native file dialog. Disable this feature to fix this issue. Change-Id: I1ee17d858238c2531964a63ddbe3e11c5a85483c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Windows QPA: Fix regular expression to match CLSIDs in file dialog.Friedemann Kleint2016-03-241-1/+1
| | | | | | | | | | Match correct number of digits and entire string, amending change 4347e811611ab15e544765a3a34761d2f5c68cb3. Task-number: QTBUG-33962 Task-number: QTBUG-51373 Change-Id: I56de00bd5ffb3a3a700efbb20970154faf86f923 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Ported Qt 4 fix when getting an invalid native key on WindowsSamuel Gaist2016-03-101-1/+6
| | | | | | Task-number: QTBUG-36061 Change-Id: Ibde65735d861af4e1ef768e9e4314d30fed534a1 Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* Clean up WINVER, _WIN32_WINNT macros for MinGW.Friedemann Kleint2016-03-072-14/+0
| | | | | | | | | | | Define WINVER, _WIN32_WINNT as 0x501 (Windows XP) in qt_windows.h. Remove definitions of the same/lower versions and unneeded definitions in other places. Remove definition for Borland compiler. Task-number: QTBUG-51673 Change-Id: I2a344a7f7cf78b2afbf45dcdf8bf2a19b93f0a07 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-03-071-5/+5
| | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: Icbce502dcbcb4d4b4d922c42679f44e2cc930bf3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Fix application fonts with DirectWrite font engineEskil Abrahamsen Blomfeldt2016-03-043-72/+19
| | | | | | | | | | | | | | | | | | | | | | There is no way to add fonts to the system font collection with DirectWrite. Instead you have to write custom collections. But that would mean keeping two instances of the same font data in memory since we are already registering them for the GDI engine, and we have no way of knowing which engine will be used. When we at some point replace the GDI engine completely, we could implement this in the proper way, but for now, instead of looking up the equivalent to the LOGFONT in DirectWrite's system font collection, we look it up using GDI and then convert the HFONT to DirectWrite. [ChangeLog][Windows][Text] Fixed disabling hinting for application fonts, e.g. when automatic scaling by device pixel ratio is in effect. Task-number: QTBUG-18711 Change-Id: I5c1365ab956dfa23d4d687877d7440473ee03bb0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* DirectWrite: Output correct error code on failureEskil Abrahamsen Blomfeldt2016-03-041-2/+2
| | | | | | | | | GetLastError() does not return the correct error code for the DirectWrite functions, they are returned by the function itself. Task-number: QTBUG-18711 Change-Id: I3931f58bb29a5f2dc4a5aa911ff16a873267d185 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* [Windows] Blacklist AMD FirePro V5900 cards for angle.Michael Bruning2016-03-041-0/+12
| | | | | | | They seem to cause crashes on Windows 7 and 8. Change-Id: I6e91a195077313610a79358d6787ed211357b56a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Windows: Extract the suffix from the simple file filter caseAndy Shaw2016-03-021-3/+6
| | | | | | | | Since the filter can either be something like "*.txt" or "Text Files (*.txt)" then it should have the suffix default to "txt" in both cases. Change-Id: I36a72f5bf0fb12c84db103f91c4fca94d0d933ae Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Windows QPA: QWindowsWindow - always treat WM_ERASEBKGND as handledTim Blechmann2016-03-011-2/+2
| | | | | | | | | | under certain conditions, a WM_ERASEBKGND message is sent, to a window without update region. in this case we declare the message as 'handled' to avoid flickering. Task-number: QTBUG-48235 Change-Id: I2ed27e020db4b54ec93a445cb219de00f38a62fd Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.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>
* 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>
* 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>
* Windows DirectWrite: Improve error messages for font engine creation.Friedemann Kleint2016-02-191-7/+24
| | | | | | | | | Fix up debug operator for QFontDef, add one for LOGFONT and output both should creation fail. Task-number: QTBUG-51260 Change-Id: I5cbcd392edd811c6b9470ddbb095d41a9185d208 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>