summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
...
| * D-Bus system tray: properly check whether StatusNotifierHost availableShawn Rutledge2015-02-204-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "org.kde.StatusNotifierWatcher" is just a watcher/helper, whereas the actual systray object is "org.kde.StatusNotifierHost-$PID". The org.kde.StatusNotifierWatcher.IsStatusNotifierHostRegistered property can tell us whether there is an actual system tray. Also renamed the accessor to isStatusNotifierHostRegistered since we are checking for the host, and also because it can be confusing that it's a member of QDBusMenuConnection if the name isn't clear. See also KDE bug 339707 Change-Id: I218c5357b9cc5a62e5cc07abe980893b826f98f4 Reviewed-by: Martin Klapetek <mklapetek@kde.org> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
| * Fixed license headersJani Heikkinen2015-02-175-5/+5
| | | | | | | | | | Change-Id: Ibebe1318d1c2de97601aa07269705c87737083ee Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* | Merge remote-tracking branch 'origin/dev' into 5.5Frederik Gladhorn2015-02-171-1/+3
|\| | | | | | | | | | | Needed due to license header patch. Change-Id: Id7e30490132a7c487687a0a376419e9f9b97ea41
| * Use C++ <cmath> instead of <math.h>Allan Sandfeld Jensen2015-02-161-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Including math.h can pollute the default namespace, and break some compilers if cmath versions of the method are declared as using. Switching to C++ math functions also greatly simplifies handling of float qreal as C++ automatically chooses the right method. [ChangeLog][QtCore][QtMath] qmath.h no longer includes math.h, so any sources depending on that indirect inclusion may fail to build. Change-Id: I4d0e331dafba354ec05dc5052e61ef4ff8d387fe Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* | Fix compilation with ICC: failure to parse placement of Q_DECL_OVERRIDEThiago Macieira2015-02-171-1/+1
|/ | | | | | | | | | | | | | | | | This is the right way: void (*getProcAddress(const QByteArray &procName)) () Q_DECL_OVERRIDE; However, ICC and GCC do not get it. They expect it in the form: void (*getProcAddress(const QByteArray &procName) Q_DECL_OVERRIDE) (); ICC complains with an error, so this needs a workaround. GCC ignores the incorrectly-placed "override", so it just looks to GCC like no "override" was added. See also: https://groups.google.com/a/isocpp.org/forum/#!topic/std-discussion/IjVB8CWiS5A Change-Id: I1a800c709d3543699131ffff13c2ffc9cee46245 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Do not mark non-existent touch points as stationaryMikko Harju2015-02-141-0/+4
| | | | | | | | | | | | Make sure touches that were already released on an earlier SYN_REPORT are not re-marked as TouchPointStationary. This change has no effect on type A event processing since there the contact state is never zeroed. Change-Id: I2d4d705d2b3fae424b6245a75d4015dc2d86ad35 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* FreeType: Support RGB rendering when not using FontConfigSérgio Martins2015-02-141-2/+12
| | | | | | | | | | | | | | | | | Windows+FreeType, Linux with -no-fontconfig and the forthcoming OSX FreeType engine can now use sub pixel rendering. The function to get the subpixel type is in QPlatformScreen because we're moving to per screen font settings in the future. This patch is safe, as no functionality is changed for existing users, if one wants sub pixel rendering they'll still have to pass -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING to configure. Task-number: QTBUG-44269 Change-Id: Ib6c22d48a1b7c7b85ee316d5d9e3b6eae0c1ecc0 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
* Pass params of shareable type by const-ref rather than by valueKonstantin Ritt2015-02-132-2/+2
| | | | | | | | ...where passing them by value was not intentional. Change-Id: Ifd5036d57b41fddeeacfbd3f5890881605b80647 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Cocoa: Improve QT_MAC_WANTS_LAYER for GL windowsMorten Johan Sørvig2015-02-121-0/+9
| | | | | | | | | | | | | | | | | Add the NSOpenGLPFANoRecovery pixel format attribute. This disables the software rendering fallback and makes compositing OpenGL and raster NSViews using Core Animation layers possible. With QT_MAC_WANTS_LAYER enabled, native NSViews now stack correctly with QWindows with OpenGL content. One known limitation is that this mode currently supports main-thread rendering only. Change-Id: I2060cceda846b305b33b47f2eba3cb7cb838039c Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
* D-Bus tray icons: try to use them with QGenericUnixThemeShawn Rutledge2015-02-122-0/+16
| | | | | | | | | | | | | | | | Until now, only the Gnome and KDE themes have done this. But the gtk2 theme is not the same as the gnome theme. Further, Ubuntu sets the environment variable QT_QPA_PLATFORMTHEME=appmenu-qt5 if that plugin is installed on the system; and then with a custom build of Qt which cannot load the module (e.g. a static build), it will again fall back to QGenericUnixTheme instead of the gnome theme. In both cases we want to still try to use D-Bus StatusNotifier protocol instead of XEmbed. In general it should always be safe to check whether or not that is possible, before falling back to the XEmbed tray icon implementation. Change-Id: I86d6c6f6ad410ea31770d39166d0a7e3330365a0 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Update copyright headersJani Heikkinen2015-02-11123-936/+896
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-02-1011-54/+129
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/3rdparty/harfbuzz-ng/harfbuzz-ng.pro src/gui/image/qimage_conversions.cpp src/gui/opengl/qopenglextensions_p.h src/gui/text/qtextengine.cpp src/network/ssl/qsslsocket_openssl.cpp src/plugins/platforms/eglfs/qeglfshooks_stub.cpp src/plugins/platforms/eglfs/qeglfsscreen.cpp src/plugins/platforms/eglfs/qeglfswindow.cpp src/plugins/platforms/windows/qwindowsfontdatabase.cpp src/plugins/platforms/windows/qwindowsfontdatabase_ft.cpp src/plugins/platforms/windows/qwindowsnativeinterface.cpp src/plugins/platforms/windows/qwindowsscreen.cpp src/plugins/platforms/windows/qwindowswindow.cpp src/plugins/platforms/windows/qwindowswindow.h src/plugins/platforms/xcb/qxcbdrag.h src/widgets/itemviews/qabstractitemview.cpp src/widgets/kernel/qwidget.cpp src/widgets/util/qsystemtrayicon_p.h tests/auto/corelib/itemmodels/qsortfilterproxymodel/tst_qsortfilterproxymodel.cpp Thanks to Friedemann Kleint for resolving the qwindowsfontdatabase.cpp conflicts. Change-Id: I937232c30523d5121c195d947d92aec6f129b03e
| * Fix build of egl integrationStephan Binner2015-02-022-1/+2
| | | | | | | | | | | | | | Add missing includes and reorder includes to avoid X defines breakage Change-Id: Iaf95ae2488df3d3301436262ed79f7091b4be0a9 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
| * Only use Xft font settings as defaults, and let fontconfig overrideAllan Sandfeld Jensen2015-02-021-38/+38
| | | | | | | | | | | | | | | | | | | | | | | | On a GNOME or UNITY desktop, Qt will currently read font-settings from Xft and use those ignoring any fontconfig instructions. This patch changes the behavior so the Xft settings are only used as default, but any explicit overrides by fontconfig will take precedence. Task-number: QTBUG-43660 Change-Id: Ie10d5828cbfdd95fe5364c63a625d455d9213936 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| * Merge remote-tracking branch 'origin/5.4.1' into 5.4Frederik Gladhorn2015-01-291-1/+13
| |\ | | | | | | | | | Change-Id: Idadb5639da6e55e7ac8cc30eedf76d147d8d5d23
| | * Merge 5.4 into 5.4.1Oswald Buddenhagen2015-01-161-0/+5
| | |\ | | | | | | | | | | | | Change-Id: I78d848c0bb396584a205a8066d253f2bcac8da56
| | * | QMacPasteboardMimeFileUri: Use file paths instead of file referencesGabriel de Dietrich2015-01-121-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I732d94bc6add2814c8ebd2c7fe80592024dd1b9a Task-number: QTBUG-40449 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
| * | | OS X/iOS: Fix stretched font renderingEskil Abrahamsen Blomfeldt2015-01-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting the stretch of a QFont did not work correctly on OS X or iOS. Two things are needed to make it work: First of all, we need to properly set the transform when creating the CTFont. In addition, we need to manually scale the advances, as CTRunGetPositions() does not do this for us. On OS X 10.6, however, there was a regression and CTRunGetPositions() would return scaled positions, so we exclude the step to scale the advances on this particular version. This is an adaptation of bc25cfdd65452efa226cbd544c9ae9803eb6748a in Qt 4. [ChangeLog][QtGui][OS X/iOS] Fixed a bug when rendering fonts that were set to be stretched. Task-number: QTBUG-43801 Change-Id: I4902a9f5e29299761e3c2c5c6d6d80ee1dea1a25 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| * | | Do not include accessibility.pri twiceFrederik Gladhorn2015-01-211-1/+0
| | | | | | | | | | | | | | | | | | | | Change-Id: Id4b312a57b098ad893ba08e7a3c7f1a0fb891eef Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * | | Accessibility: Fix selection change notifications on LinuxFrederik Gladhorn2015-01-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The selection update is not implemented on other platforms (if needed at all). Task-number: QTBUG-39440 Change-Id: I8eb8c4eb1c23ba2d246bc95f1c77dc9da9e22495 Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
| * | | Make threaded rendering possible with LinuxFBAndy Nichols2015-01-194-10/+63
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | It was previously not possible to render to a QBackingStore with the linuxfb platform plugin because of both the use of a QTimer created on the main thread and there was no lock on the backing store surface (which would lead to copy content to screen that being rendered in another thread). Change-Id: I0ea3600316ce29eb89f6595997847afe7086116f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | D-Bus tray icons: save temp file with size 22pxShawn Rutledge2015-02-081-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | Gnome Classic on Ubuntu shows this icon but fails to scale it down. So if we do not pre-scale the icon, it will be too wide, and cropped. Change-Id: If8cf98de3672deff77b99b17da5491bd6c45cfdb Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | | Fix build of egl integrationStephan Binner2015-02-052-0/+2
| | | | | | | | | | | | | | | | | | | | | Add qtextstream.h includes before header files define Status Change-Id: I02e1fe710d4371100509a7fafac1eda8f436d80f Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Set some state before rendering the EGL/GLES mouse cursorLaszlo Agocs2015-02-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Custom OpenGL rendering code often sets these and, unlike the Quick scenegraph, may not reset it before calling swapBuffers(). Play nice with the most commmon settings. Resetting the active texture unit is critical in particular, since frameworks like Qt3D will change this. Change-Id: I86acaf7e0b2ce67a23c731fffce4f20375614321 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* | | D-Bus tray icons: get devicePixelRatio at runtimeShawn Rutledge2015-02-041-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In static builds of Qt, static initialization may not work because we need an initialized list of screens before devicePixelRatio() can use them to find the value. Anyway, it's better to know the dpr at the time the tray icon will be shown rather than when the application is started, just in case it changes. Change-Id: Iedffb674d8e8818c2a4e64d7c7a3c89a2dca77f3 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Update for libinput 0.8Laszlo Agocs2015-02-022-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't yet have API compatibility, apparently, so we need to keep up with those changes. Dropping support for older versions is not yet acceptable since some distros (in particular current version of some embedded ones) may ship these versions. Change-Id: Ibea780abd76c4b89661012dfea46868b432ded42 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | Utilize EGL_KHR_surfaceless_context in QOffscreenSurface when availableLaszlo Agocs2015-02-022-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use it also in the context initialization code which also relied on pbuffers until now. This is safe to do since QOffscreenSurface is deliberately kept minimal: we only support it for rendering to FBOs or uploading textures, it is quite useless for any rendering type of operation. Therefore simply not creating a surface when the extension is available is viable and should not break anything. While we should have done this a long time ago, the real inspiration now is to avoid crashes with some bad EGL implementations. Mesa in particular tends to crash in its interal configuration handling when trying to create a pbuffer surface with more exotic attributes, for example with multisampling enabled. Just getting rid of those properties is not an option since the resulting pbuffer would not be compatible with the existing context. Therefore our only option is to avoid the pbuffer altogether. There's a so-far-ignored patch for Mesa http://patchwork.freedesktop.org/patch/38100/ which tries to solve some of this but it turns out it is not sufficient to avoid problems with the multisampled case. So to avoid more headache, we just stop using pbuffers there. [ChangeLog][QtGui] QOffscreenSurface is now relying on EGL_KHR_surfaceless_context when available, and avoids creating a pbuffer surface when the extension is present. Change-Id: Id18742768b8e66c8d92ce65a9bf64b0296e14db7 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | | Get rid of Q_GUI_EXPORT occurrences in QPlatformSupportKonstantin Ritt2015-01-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes GCC warning on MinGW, when built with -Wattribute (the default) Change-Id: I8e2b56a4a8fe9db0ec821f346a523b670df80f85 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | | Don't build WinCE specific code on other platformsKonstantin Ritt2015-01-232-120/+0
| | | | | | | | | | | | | | | | | | | | | Change-Id: I7ade08e57ea0c9c496e316ff0f856b8951eab61e Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | | D-Bus tray icons: make endian conversion work againShawn Rutledge2015-01-232-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Endian conversion needs to be done on aligned data, but the data is stored unaligned in the QByteArray. So the new qFromUnaligned() function is needed. Change-Id: I12f9e52cea81d06129b306709bb9d2cd004f04e1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | D-Bus tray icon: when eliminating large icons, scale to medium sizeShawn Rutledge2015-01-231-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | 22px is not always large enough: KDE5 seems to like to make icons up to 28px, and they could be even larger on high-DPI screens. Change-Id: Ifa8e0d49b310e4b4304207596f0f32c36a5db6a7 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | | D-Bus tray icon: ensure that the image is square before sendingShawn Rutledge2015-01-231-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes KDE doesn't render non-square icons properly when they have been received over the D-Bus protocol. Change-Id: Icc6fa3d64a1598ea8f719192ae18d32f287d6a79 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | | QSystemTrayIcon uses D-Bus org.freedesktop.Notifications on LinuxShawn Rutledge2015-01-235-1/+226
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If StatusNotifier is working, then QSystemTrayIcon::showMessage() will send notifications using the org.freedesktop.Notifications protocol. https://developer.gnome.org/notification-spec/ Task-number: QTBUG-4011 Task-number: QTBUG-31762 Change-Id: Ia1925ec3dd81b1b7b8f3b490b6364aaf8f93f395 Reviewed-by: Dmitry Shachnev <mitya57@gmail.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | | QSystemTrayIcon uses D-Bus StatusNotifier on Linux when possibleShawn Rutledge2015-01-2219-13/+2217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implementing org.kde.StatusNotifier DBus interface http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/ as well as org.canonical.dbusmenu for the limited purpose of showing the tray icon's context menu. If a desktop environment (such as KDE or Unity) has a StatusNotifierWatcher listening, then tray icon information is sent to be displayed by the tray implementation instead of being rendered directly in an XEmbed window. This is necessary because some modern tray implementations no longer provide XEmbed "hosting". [ChangeLog][QPA][Xcb] QSystemTrayIcon uses StatusNotifier D-Bus protocol when the desktop environment supports it Task-number: QTBUG-31762 Done-with: Marco Martin <mart@kde.org> Change-Id: I3b1f744d621eefc7e9c61d1469460ebfcc77fc54 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
* | | Unify input device hotplugging support for embeddedLaszlo Agocs2015-01-2110-53/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On embedded the mouse cursor will now appear and reappear regardless of how the input handling code is loaded (via a generic plugin or compiled-in to the platform plugin). Instead of passing around QDeviceDiscovery instances that only works when compiling-in the code into the platform plugin, introduce a new internal central QInputDeviceManager. The single instance of this provides a place to store any future input device related signals and properties. Also introduce mouse hotplugging support to linuxfb. [ChangeLog][QtGui] The mouse cursor on Embedded Linux is now handling hotplugging correctly with eglfs and linuxfb regardless of how the input handling code is loaded (via a generic plugin or built in to the platform plugin). Change-Id: I147c1b04a193baf216598015264f2c06e1b20f84 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* | | Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/devSimon Hausmann2015-01-212-1/+12
|\ \ \
| * | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2015-01-212-1/+12
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/global.pri src/corelib/global/qcompilerdetection.h src/corelib/global/qglobal.h src/corelib/tools/qdatetime.cpp src/plugins/platforms/xcb/qxcbscreen.h src/plugins/platforms/xcb/qxcbwindow.h src/widgets/dialogs/qcolordialog.cpp src/widgets/dialogs/qcolordialog_p.h tools/configure/configureapp.cpp Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
| | * | Turn off font hinting when we do high DPI scalingPaul Olav Tvete2015-01-161-0/+5
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | Font hinting depends on the specific pixel size, and ends up very wrong when the painter is scaled. Change-Id: I2007ec7e7ad8d52358d76e88e030ea4df7e91455 Task-number: QTBUG-43809 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
| | * QCoreTextFontDatabase: close memory leak in themeFontTim Blechmann2015-01-071-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | if the CTFontDescriptorRef is already contained in m_systemFontDescriptors we leak a reference, unless we explicitly release it. Change-Id: I5b263aa52b4433e7e28cc01164098892cc9cd2ae Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
| | * QCoreTextFontDatabase: release CTFontDescriptorRef references in dtorTim Blechmann2015-01-071-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | QCoreTextFontDatabase::m_systemFontDescriptors owns the references to the underlying CTFontDescriptorRef objects. in order to avoid a leak, we should release them Change-Id: I8fc6c158908e0173696cd91058ac34efb3de01d5 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
* | | MSVC: Disable warning C4996 for freetypeKai Koehne2015-01-191-1/+3
|/ / | | | | | | | | Change-Id: I22be0faca29989142cd2fa0eaed6846fc40d3f4b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Fix bugs generating PDF on CocoaJames Turner2015-01-172-3/+67
| | | | | | | | | | | | | | | | | | | | Provide real implementations of: properties(), faceId() and getUnscaledGlyph Task-number: QTBUG-10094 Change-Id: I5899f247742406de53c68c5cd04fee6fb9b6b7d2 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Add D-Bus types marshalling for Linux tray icon supportMarco Martin2015-01-122-0/+244
| | | | | | | | | | | | | | | | | | | | | | | | Add marshalling for icon pixmaps to be used in DBus tray icon support according to the specification http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/Icons/ Task-number: QTBUG-31762 Change-Id: I16e66c272eef413a7c94345c273e5fd3a8c0f771 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Avoid exposing dependencies from libinput supportLaszlo Agocs2015-01-092-22/+29
| | | | | | | | | | | | | | | | | | | | | | Do not include other headers from the main qlibinputhandler_p.h that serves as the external interface to the generic plugin for example. This way the clients do not need to care about xkbcommon headers and such. Task-number: QTBUG-43498 Change-Id: I56335cb19200fee830bdf4b1d203904f741f7489 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | eglfs: Make sure there is a platform window for the backing storeLaszlo Agocs2015-01-061-0/+2
| | | | | | | | | | | | | | | | | | Some example code creates the backing store before the platform window. Make this case working by calling create(). Task-number: QTBUG-43543 Change-Id: I29c260f38eddd15ea09931e814c5dbd031b65505 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* | Compile in evdev code to linuxfbLaszlo Agocs2015-01-052-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make it compatible with eglfs. The behavior is the same: By default mouse, keyboard and touch will all be initialized and, when having libudev support, discovered automatically. The environment variables QT_QPA_FB_DISABLE_INPUT and QT_QPA_FB_TSLIB can be used to used to disable the built-in input handlers and to force tslib instead of evdev, respectively. This allows embedded systems and applications to easily fall back from eglfs to linuxfb on devices that are not rendering via OpenGL. Dynamic hiding/showing of the mouse cursor is to be done separately, here we provide the necessary device discovery hooks only. [ChangeLog][QtGui] The linuxfb platform plugin's input device handling is now compatible with eglfs. The evdev keyboard, mouse and touch code is compiled in by default. Change-Id: I44bc661c53ae78c39b0f30486a475b4e639ab2d6 Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@theqtcompany.com> Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
* | Support multiple desktop names in XDG_CURRENT_DESKTOPDmitry Shachnev2014-12-211-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to the Desktop Entry Specification, “If $XDG_CURRENT_DESKTOP is set then it contains a colon-separated list of strings”. For example, on GNOME Flashback session that variable is set to “GNOME-Flashback:GNOME”. The value returned by QGenericUnixServices::desktopEnvironment() is in most cases the uppercase variant of $XDG_CURRENT_DESKTOP variable. In qgenericunixthemes.cpp, we need to support multiple names in the return result of that function. If at least one part is in the list of Gtk+-based desktop environments, then we should use gtk2 platform theme. Change-Id: I0c9de68756d41b031e822be8cf100ca5c0b202ae Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Add libinput supportLaszlo Agocs2014-12-2010-0/+1099
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Supports relative pointer, axis, keyboard and touch events. libinput support is only available in combination with libudev. libxkbcommon is required to perform key mapping. For now the default keymap is used always (selected when building xkbcommon). [ChangeLog][QtGui] Added a plugin to get mouse, keyboard and touch events via libinput. Change-Id: I469d8992c0cd3e79225cefaeb931697baf86a92b Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devSimon Hausmann2014-12-183-6/+6
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/platformsupport/platformcompositor/qopenglcompositor.cpp src/platformsupport/platformcompositor/qopenglcompositorbackingstore.cpp tests/auto/gui/kernel/qwindow/tst_qwindow.cpp Change-Id: I5422868500be695584a496dbbbc719d146bc572d
| * Prevent continuous painting with viewport QOpenGLWidgetLaszlo Agocs2014-12-182-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the source widget to the texture list (may be null for custom compositor implementations that add textures not belonging to actual widgets). This allows us to do proper checks with the dirtyRenderToTextureWidgets list. As a result paint events are only sent to a QOpenGLWidget if (1) there was an update() for it or (2) it was actually marked dirty. (2) was previously behaving differently: the widget got a paint event when anything in the window has changed. This is fine for naive animating OpenGL code but less ideal for QGraphicsView. Bool properties like stacksOnTop are now stored in a flags value to prevent future explosion of texture list fields and parameters. Task-number: QTBUG-43178 Change-Id: I48cbcf93df72ac682c9b5d64982a8b648fe21ef3 Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>