summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-016-10/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| * Fix compilation with /Zc:strictStringsThiago Macieira2014-06-201-1/+1
| | | | | | | | | | | | | | You can't assign a wide-character literal to a non-const wchar_t*. Change-Id: I3ec8d4064f8e901bb1c6ff14cdf41550b04c593d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| * Windows: Mark only mouse events synthesized by touch as such.Friedemann Kleint2014-06-191-4/+5
| | | | | | | | | | | | | | | | | | | | Pass on mouse events from pen. Task-number: QTBUG-39353 Change-Id: I96c4e023ddb1c853d5228d00aa9604941556abb4 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| * Fixes QFontDataBase addApplicationFont on WEC.Bjoern Breitmeyer2014-06-191-2/+7
| | | | | | | | | | | | | | AddFontResourceExW was not implemented yet. Change-Id: Iffa3e49bdbb0176c10324ede6161fcf8b2a63902 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Windows: Fix maximizing frameless windows on secondary screens.Sérgio Martins2014-06-111-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | They would either disappear or be positioned at bogus coordinates. The MINMAXINFO structure works with coords from the primary screen then uses an "interesting" algorithm to adjust to secondary screen: Say you have a primary screen with width=1000 and secondary screen with width=2000, here's what you get when you set ptMaxSize to: ptMaxSize.x | Size window gets in second screen -------------------------------------------------- 500 | 500 1000 | 2000 1001 | 2001 1100 | 2100 So basically you can't get any value between 1000 and 1999 How many people use the taskbar on a second display and maximimize a frameless window anyway ? Task-number: QTBUG-39537 Change-Id: Ic9b3120e7fb5a9a5d97828a2e44be02ae587b92e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Do not crash with IA2 AT clients.Jan Arve Saether2014-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | Make sure all members of the IA2Locale we return are properly initialized. Only accProbe provoked this bug, and I have no idea why this haven't crashed earlier. nvda probably does not query the locale, therefore it was unaffected. Change-Id: I5a9d98eed5af56fd2a75f6cb7035ed613fd802d5 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * Windows: Added Comma to list of possible numpad keysOliver Wolff2014-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | Some keyboard layouts (German and Czech for example) have comma instead of period on the numpad, so this key should also be considered when setting the Qt::KeypadModifer state. Task-number: QTBUG-38248 Change-Id: I06847a02a9334c21784790eae6fd7e1bc6de4099 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Windows: Fix setting of geometries in minimized state.Friedemann Kleint2014-06-271-4/+26
| | | | | | | | | | | | | | | | | | Use SetWindowPlacement() to set the normal position when applicable as is done in Qt 4. Task-number: QTBUG-39544 Change-Id: Ia158b968ea15361d9937619f07b56eb8a0312a13 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Set fallback for QFont::System to be MS Sans Serif and not ArialAndy Shaw2014-06-261-1/+4
| | | | | | | | | | | | | | | | The system font for Windows should be MS Sans Serif which is what Qt 4 was using and not Arial. Change-Id: If3ed55bce87f6376b2897f1fc487bbc0627d1799 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* | Windows a11y: Publish synthetic increase and decrease actionsJan Arve Saether2014-06-201-33/+28
| | | | | | | | | | | | | | | | | | Increase and decrease actions can be generally applied to any value interface. We therefore make them available regardless of the existence of any action interface. Change-Id: I82ba01965dc869439b9d741ce681e0c0687263ca Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* | Windows: Expose helper functions for QWindowsMime to the native interface.Friedemann Kleint2014-06-134-4/+33
| | | | | | | | | | | | | | | | | | Enable QWindowsMimeConverter to use external mime handlers which it does not own. Task-number: QTBUG-39559 Change-Id: Ife6607dffd9571fa4aa12fffdc61b42662182b0a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-053-12/+29
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| * Windows: Fix another crash when creating QRawFont from invalid dataEskil Abrahamsen Blomfeldt2014-05-281-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | The sanity check added in d16508a285a5423ae9a5034e969801bce74ffb98 didn't actually catch the case where the invalid data is large enough to contain the offset table and table directory. Added sanity checks to all the code that accesses the font data now, so this should fix crashes with partial data as well as invalid data. Task-number: QTBUG-37190 Change-Id: Ie43f10d8cf0b09007783b9b1c4d91bfed8c6b0f0 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * Fix loss of precision warningsFrederik Gladhorn2014-05-261-2/+2
| | | | | | | | | | | | | | | | Found by http://www.viva64.com/en/b/0251 Change-Id: I2a0c3dba74fef07c3119c9e57b343a8253ee7daa Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Remove unused variable in qwindowsmousehandler.cpp.Friedemann Kleint2014-05-231-1/+0
| | | | | | | | | | Change-Id: Iacfeec396c2eeef973b62bf78c698aa206b01c41 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
* | Windows: Emit screen changed signal of top level windows.Friedemann Kleint2014-06-033-23/+60
| | | | | | | | | | | | | | | | | | | | | | | | Detect screen changes within virtual desktop in handleGeometryChange(). Move away windows from screens being destroyed. Task-number: QTBUG-36659 Change-Id: I5bf4842cc21873a93bce0f70929308f11bd4d2fd Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Load winsys and gl dynamically in the windows pluginLaszlo Agocs2014-05-2214-259/+1841
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dynamic builds (-opengl dynamic) are now functional on Windows. In such a build no components in Qt link to any OpenGL libraries directly and qmake will not automatically add any such libraries to the applications' makefiles. Instead, the libraries are chosen and loaded during runtime and applications are expected to use QOpenGLFunctions instead of direct OpenGLfunction calls. Set the environment variable QT_OPENGL to desktop or angle to skip testing and force the given implementation. The application attributes (AA_UseOpenGLES and such) are also taken into account. The testing logic is same as before: We try to load opengl32 and resolve a shader related function. If this fails, ANGLE is chosen. This allows utilizing full desktop OpenGL on systems that have proper drivers, while a transparent fallback to ANGLE will be done automatically for systems that don't. The latter includes also remote desktop connections. Software rendering via Mesa llvmpipe is supported too. The fallback is automatic on systems where the desktop test fails and ANGLE fails to load or initialize (e.g. due to missing libs like d3dcompiler), as long as a suitable patched build of Mesa is available. [ChangeLog][QtGui] Dynamic OpenGL implementation loading is now supported on Windows. This requires Qt to be configured with -opengl dynamic. Task-number: QTBUG-36483 Change-Id: Ie8bb25a6d55b3a1609b00150aeccd909aec27313 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-05-222-2/+26
|\| | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| * Windows QPA: Remove dependency on swprintf_s() pulled in via ↵Friedemann Kleint2014-05-191-1/+22
| | | | | | | | | | | | | | | | _com_error::ErrorMessage(). Task-number: QTBUG-35617 Change-Id: I0ad926ac564612ebd0eb38f16b3e69cbcd48e62f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix potential null pointer accessFrederik Gladhorn2014-05-191-1/+1
| | | | | | | | | | Change-Id: I7516ce88b38609ab9851419566141ba93a59aed3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
| * Fix crash when loading invalid font data in QRawFontEskil Abrahamsen Blomfeldt2014-05-141-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When passing invalid data to QRawFont, we need to fail gracefully and mark the font as invalid, instead of crashing. This crashed because of different missing sanity checks in the Windows and FontConfig font databases. [ChangeLog][Text] Fixed crash when trying to load a font from invalid data. Task-number: QTBUG-37190 Change-Id: I62c81217ec7d873350b575c9d4ae8e6f0a939540 Reviewed-by: Michael Bruning <michael.bruning@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Drop some qtextengine_win.cpp leftoversKonstantin Ritt2014-05-201-5/+0
| | | | | | | | | | Change-Id: Id0d39acfcb340b40e51b8d06a4308df809a8fc1b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Windows: Adapt custom cursors to observe the system metrics.Friedemann Kleint2014-05-201-10/+31
| | | | | | | | | | | | | | | | | | | | | | | | Change the cursors Qt provides to use freely scalable pixmap cursors and scale them to observe system metrics. Make it possible to use pre-saled bitmap data later by passing the system cursor size and the intended target size into the creation function createBitmapCursorFromData(). Task-number: QTBUG-37862 Change-Id: I23899a77f86d0b08b858a81870a57b2e6570ebbe Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* | Windows: Use new clipboard API for listening to changes.Friedemann Kleint2014-05-154-10/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The currently used clipboard chain API has various problems with non- responsive applications and requires checks for hung/debugged applications when sending on notifications. The new clipboard format listener API available from Windows Vista onwards requires less code and does not have these problems, however the change notifications now arrive asynchronously. Change the tst_qclipboard to be able to deal with asynchronous change notifications. Task-number: QTBUG-38670 Task-number: QTBUG-33492 Change-Id: I3c49e346a34310431c20f3051d12eaabf330a3ad Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Windows: Refactor cursor creation code.Friedemann Kleint2014-05-153-172/+154
| | | | | | | | | | | | | | | | Factor out a function creating bitmap cursors, streamline code. Task-number: QTBUG-37862 Change-Id: Id9d4af34acb2cf15d8553d5e5a6390fae6014ff6 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | qpa: Clean up and refactor qfontengine_qpaTor Arne Vestbø2014-05-153-4/+4
| | | | | | | | | | | | | | | | | | | | | | QFontEngineQPA was really QFontEngineQPF2, and has been renamed. The multi font engine in qfontengine_qpa.cpp was really a base implementation of a multi font engine, used by other multi font engines, and has been renamed and moved accordingly into qfontengine_p.h/cpp. Change-Id: Iac7409c4dbf0fdc3ee993ce4f7dc96cb00a422e6 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Friedemann Kleint2014-05-141-1/+1
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-131-1/+1
| |\| | | | | | | | | | | | | | | | | | | Conflicts: src/gui/kernel/qguiapplication.cpp Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
| | * Fix horizontal scrolling on Windows when ALT + mouse wheel is usedAndy Shaw2014-05-131-1/+1
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-30833 Change-Id: I366d2979060ba67f745f7c783dee8d7669ebdf57 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | | Windows: Improve checking of options to the QPA plugin.Friedemann Kleint2014-05-141-6/+30
|/ / | | | | | | | | Change-Id: I59129132c7caa13d5c9d8f1e6211da68505dd838 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-133-3/+28
|\| | | | | | | | | | | | | Manually changed enum to LibGL in src/plugins/platforms/xcb/qglxintegration.cpp Change-Id: If34ee6cce3d1d51fb4bb1fdfa59c30389ea0d207
| * Windows: Use Format_ARGB32_Premultiplied for backing store with alpha.Friedemann Kleint2014-05-061-3/+2
| | | | | | | | | | | | | | | | | | Following the logic in Qt 4's QRasterWindowSurface::setGeometry(). Task-number: QTBUG-30302 Change-Id: Ica571cfd5098e3d9faedefaff0880acfb2209958 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Add virtual function to QFontEngine report if outlines are reliableJørgen Lind2014-05-062-0/+26
| | | | | | | | | | | | | | | | | | GetGlyphOutline fails for ttf fonts with embedded bitmaps. This results in distancefield rendering not rendering glyphs (for the failed paths). We need to fall back to texture rendering if this is the case. Change-Id: Ibdf7dc5c1d34f513c436f88fabbdcc4089bb6fef Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-069-45/+99
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
| * Merge remote-tracking branch 'origin/release' into stableFrederik Gladhorn2014-05-014-6/+7
| |\ | | | | | | | | | | | | | | | This merge adds the opengl rename. Change-Id: I84ea0b6abee9780ebb2cf3f64ab9e3fdf2acab3e
| | * Rename new QOpenGLContext APIsLaszlo Agocs2014-04-253-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | isES() becomes isOpenGLES(). The library type enums are changed DesktopGL -> LibGL and GLES2 -> LibGLES. This removes the now unnecessary version number, the confusing "desktop" term and provides better readability. The old function/values are kept until the related qtdeclarative changes are integrated. Task-number: QTBUG-38564 Change-Id: Ibb0a1209985f1ce4bb9451f9b7b093c2b68a6505 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| | * deprecate import_qpa_plugin and qpa_minimal_pluginOswald Buddenhagen2014-04-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | they have been fully superseded by 4255ba40ab073afcf2a095b135883612859af4c2. Change-Id: If7ac14c8b7d3cf00fb0cb916036b62eb86c9cee0 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
| * | Windows: Reject focus-in caused by reparenting Windows.Friedemann Kleint2014-04-251-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Calling WinAPI SetParent() causes the window to be activated, which is not desired for native child widgets. Task-number: QTBUG-32867 Change-Id: Idf61931bc425a043a4b7a98eec9ae122e234dc37 Reviewed-by: Andy Shaw <andy.shaw@digia.com>
| * | Windows: Add missing colors to tooltip palette.Friedemann Kleint2014-04-251-1/+5
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-38183 Change-Id: Ic3581cc87c0d61140624ddaf6fa85d682120ad4f Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/release' into stable" into ↵Jani Heikkinen2014-04-252-5/+7
| |\ \ | | | | | | | | | | | | refs/staging/stable
| | * | Merge remote-tracking branch 'origin/release' into stableJani Heikkinen2014-04-232-5/+7
| | |\| | | | | | | | | | | | | Change-Id: Id13b4a3803664692f32f9d57549be8a0c4a08567
| | | * Fix font merging for complex scripts on WindowsKonstantin Ritt2014-04-162-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As long as QWindowsFontDatabase::fallbacksForFamily() does not take script parameter into account, we should prefer QFontEngineMultiQPA's loadEngine() implementation for complex scripts; otherwise we could fall into a situation where reported fallback fonts doesn't support the requested script at all. This finishes c3b2425791ec1e17a8b1e2f5b35b8e79176fc9c4. Task-number: QTBUG-37836 Change-Id: I2c43d97f1331ad05116856f9fe77560ed4dd02c7 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * | | Improve COM error handling in the Windows platform plugin.Friedemann Kleint2014-04-251-19/+51
| |/ / | | | | | | | | | | | | | | | | | | | | | Add error strings, print warning if OleInitialize() fails. Task-number: QTBUG-38398 Change-Id: I37f6b7003fd1cf524ce69d6843891943402b27a1 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * | Fix copy-paste error.Richard J. Moore2014-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix an error identified by static analysis from http://www.viva64.com/en/b/0251/ Change-Id: I3b69f8eb8c9e10772d5ca2afad75582e8a54beb7 Reviewed-by: Daniel Molkentin <daniel@molkentin.de> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * | Fix copy-paste error.Richard J. Moore2014-04-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix copy-paste error identified by static analysis at http://www.viva64.com/en/b/0251/ Change-Id: I214d6bf8494a946a6c772b6dca1395e4140a471f Reviewed-by: Daniel Molkentin <daniel@molkentin.de> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| * | XCB: fix that modal dialogs can go behind other process windowsJorgen Lind2014-04-162-12/+18
| |/ | | | | | | | | | | | | Task-number: QTBUG-35302 Change-Id: I1ad7a66e530710d5338a15057254360dae676451 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Windows: Start using High DPI API available from Windows 8.1 onwards.Friedemann Kleint2014-04-305-6/+94
| | | | | | | | | | | | | | | | | | | | Dynamically load shcore.dll, use SetProcessDpiAwareness() instead of SetProcessDPIAware() when available. Add command line parameter to control level. Task-number: QTBUG-37347 Change-Id: I1259b0943b41e50066e7e3870ed3136afd8f18fe Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-04-112-3/+5
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-armv7le-qcc/qplatformdefs.h src/printsupport/kernel/qcups.cpp src/widgets/styles/qstyle.h tests/auto/widgets/itemviews/qlistwidget/tst_qlistwidget.cpp Change-Id: Ia41e13051169a6d4a8a1267548e7d47b859bb267
| * QWindowsOpenGLContextFormat: Default to version 2.Friedemann Kleint2014-04-091-0/+2
| | | | | | | | | | | | | | | | | | glGetString() returns NULL when no current context exists. Task-number: QTBUG-38063 Change-Id: I5cdb265fb2d74bbc5f3e2c34528909323573b2e1 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Windows CE: Fix message about freetype font rendering.Friedemann Kleint2014-04-011-3/+3
| | | | | | | | | | | | | | Task-number: QTBUG-37976 Change-Id: Ib4bf6ba8f62e2dc4f3860313442fa57c67f06d9a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>