summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Sergio Ahumada2013-09-101-2/+3
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devSergio Ahumada2013-09-071-2/+3
| |\ | | | | | | | | | Change-Id: I9ee4176f0a0078908d49896508826154c9f71530
| | * build glxconvenience also without XrenderOswald Buddenhagen2013-09-051-2/+3
| | | | | | | | | | | | | | | | | | | | | it contains #ifdefs for that, no need to disable it completely. Change-Id: I4a7d03e09fefded966e2c3fec58a470b4f1d3300 Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* | | Make QFontEngine not derive from QObjectKonstantin Ritt2013-09-102-2/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Whilst having the objectName set for each engine is somewhat handy when debugging, deriving from QObject just for that is a wasting of memory in all other cases. This also broke the font engine abstraction by allowing qobject_cast() to access some private data; the only sane way to distinguish engines is querying their Type value. Change-Id: Ib1d195692859eb39089f6d8d9016cb8f9dcc0400 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Rely solely on alphaMapBoundingBox in QTextureGlyphCacheGunnar Sletta2013-09-052-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently adding a lot of transparent pixels to the cache, wasting both memory and cpu cycles while drawing. AlphaMapBoundingBox was introduced to return the exact same bounds as the alphaMapForGlyph function so we should only rely on this instead of adding arbitrary padding and margins all over the place. Windows still has an arbitrary +4 in the its drawGDIGlyph() which means batching will not work on windows, but at least now other platforms do not need to suffer. Change-Id: I714903fa195004400c09c3bf6570e46179775f09 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Remove qFill usages from the generic unix themeGiuseppe D'Angelo2013-09-051-4/+6
| | | | | | | | | | | | | | | | QtAlgorithms is getting deprecated, see http://www.mail-archive.com/development@qt-project.org/msg01603.html Change-Id: I23719468e22e256caad977fce6c908059d4073ca Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-273-144/+189
|\| | | | | | | | | | | | | Conflicts: examples/widgets/doc/src/addressbook-fr.qdoc Change-Id: Id1196e8e0c6445f1616c3f29234c974d809f8e48
| * JNI Convenience: Make single argument ctors explicit.Christian Strømme2013-08-261-3/+3
| | | | | | | | | | Change-Id: I330e4acf9b944fc72066b608653edd4686620b7e Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * JNI Convenience: Print exceptions in debug mode.Christian Strømme2013-08-261-0/+9
| | | | | | | | | | | | | | | | The exception message might contain valuable information about what went wrong, so we should print the message. Change-Id: I50c986d4c18cf6115017fcc92363c946be45024d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * JNI Convenience: Make it possible to copy QJNIObjects.Christian Strømme2013-08-262-138/+168
| | | | | | | | | | Change-Id: I692242147d5f908381ea9d3b393b3c591385efd4 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
| * JNI Convenience: Use isSameObject() when comparing jobjects.Christian Strømme2013-08-261-6/+12
| | | | | | | | | | | | | | | | | | | | Comparing the value of two jobjects are not safe, as it's not guaranteed that two jobjects that is referencing the same object, will have the same value. To make things worse two jobjects might have the same value even though they reference two different objects... Change-Id: I997ea8abfb8c687c342b261bba3848cbbd741633 Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
* | iOS: Make the event dispatcher properly emit aboutToBlock() and awake()Tor Arne Vestbø2013-08-232-0/+72
| | | | | | | | | | | | | | | | This approach follows the same one used by the Cocoa event dispatcher. Change-Id: I2813b09beae07d90477c9ca506924058ace13f34 Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Share named time-interval constants in CoreFoundation event dispatcherTor Arne Vestbø2013-08-231-9/+12
| | | | | | | | | | | | Change-Id: Ie9ae40e3f7e2631c461ad01b6e5a4640c0b773c9 Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | iOS: Wrap CFRunLoopSource in C++ class for easier code legibilityTor Arne Vestbø2013-08-232-60/+77
| | | | | | | | | | | | Change-Id: If34953b171676f0246c2fb5e60c59f59350863ec Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Rename QIOSEventDispatcher to QEventDispatcherCoreFoundationTor Arne Vestbø2013-08-233-41/+42
| | | | | | | | | | | | | | | | | | | | Now that it lives in QPlatformSupport, will be fleshed out more, and might be used on OSX at some point in time. Still iOS specific, as none of the iOS API usages have been ifdef'ed. Change-Id: Ib7fde6403ef2dfef175a6f306a85d58027569a30 Reviewed-by: Ian Dean <ian@mediator-software.com> Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | Remove rowColumnExtents from QAccessibleTableCellInterfaceFrederik Gladhorn2013-08-221-2/+5
| | | | | | | | | | | | | | | | | | The API is broken and available in individual functions. Don't make it more complicated than necessary to implement the interfaces for new widgets. Change-Id: Ie408c369ef05b2b8e7ac666b25153d090fcf3aae Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-211-8/+13
|\| | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/src.pro Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
| * Fix potential division by zeroFrederik Gladhorn2013-08-191-8/+13
| | | | | | | | | | | | | | | | Since it's possible to call the function on an empty model, return failure in that case. Change-Id: I0a0eabe917da3e6294bdd616a85579f6dc894ec8 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-08-142-420/+425
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configure mkspecs/macx-xcode/Info.plist.app mkspecs/macx-xcode/Info.plist.lib qmake/doc/qmake.qdocconf src/corelib/global/qglobal.h tests/auto/other/exceptionsafety/exceptionsafety.pro tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I3c769a4a82dc2e99a12c69123fbf17613fd2ac2a
| * Fix CapsLock handling in EvdevKeyboard pluginSamuli Piippo2013-08-022-420/+425
| | | | | | | | | | | | | | | | | | | | | | CapsLock was incorrectly handled in EvdevKeyboard, which led non-letter keys to be masked with Qt::ShiftModifier. The default builtin keymap is modified to have IsLetter flags for correct keys. Task-number: QTBUG-32560 Change-Id: I561bbad7bcffe1f4c4bbed7bf72106b689e57fe0 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Find primary GPU onlyPier Luigi Fiorini2013-08-062-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | Some systems may have multiple DRM devices attached to a single seat and we are not guaranteed to pick up the primary GPU. With this flag we can control how DRM devices are detected and consider only the primary GPU. This is very useful for the kms plugin or QtCompositors running on kms in order to use the right DRM device. Change-Id: I8b91e78f148b25aaa4e40724e39e0ed0918ca100 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Bypass eglMakeCurrent where possible.Robin Burchell2013-08-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | This has the possibility to be very slow on some GPUs. A nicer alternative would have been to fix this in QOpenGLContext, but with makeCurrent and updateContext having been merged in Qt 5, makeCurrent is required every frame call, and thus cannot be fixed there. Change-Id: Ib17dbb3a1e4e89c60dfd4f12a55eeff353f9075f Done-with: Carsten Munk <carsten.munk@jollamobile.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* | Fix application font population on OS XSimon Hausmann2013-07-312-66/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes two issues that prevented the application font related tests of tst_QFontDatabase from passing: * The code for creating the font descriptor after the registration of an app font with file name using CTFontDescriptorCreateWithAttributes must create a dictionary with kCTFontURLAttribute as key and the CFURLRef pointing to the on-disk file as value. Unfortunately the code mixed up keys and values in the dictionary. * Registration of app fonts within QFontDatabase itself on Windows and Fontconfig platforms works by QFontDatabase calling addApplicationFont on the platform db after calling populateFontDatabase(). It assumes that addApplicationFont on the platform db is capable of registering the font right away. This part was also missing from the Mac implementation and this patch implements it by moving the common registration code from a CTFontDescriptorRef out into a separate method, called from populateFontDatabase() as well as addApplicationFont(). Task-number: QTBUG-23062 Change-Id: Ide5e6bf277d99f3cab50ee0d4631cc3fba6d0d45 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | API-cleanup: Add QPlatformFontDatabase::registerAliasToFontFamily().Friedemann Kleint2013-07-161-3/+1
| | | | | | | | | | | | | | | | Unexport free function qt_registerAliasToFontFamily() and Make it a static member of QPlatformFontDatabase instead. Change-Id: I1df49a8e37a24b3961f92288d67b6f1108a7d520 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-151-1/+4
|\| | | | | | | Change-Id: I0218a1f08b89f2d56757ab35eec06799d2a1492f
| * Windows font database: Resolve aliases for extra fonts.Friedemann Kleint2013-07-111-1/+4
| | | | | | | | | | | | | | | | | | Ensure QFontDataBase::hasFamily() deals with aliases. Task-number: QTBUG-31689 Change-Id: Ia59bfcb93362ac9343c6d30dab1091a4db482dfa Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* | Merge branch 'stable' into devSergio Ahumada2013-07-111-89/+7
|\| | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/mac/pbuilder_pbx.cpp src/corelib/json/qjsonwriter.cpp src/corelib/kernel/qeventdispatcher_blackberry.cpp src/plugins/platforms/cocoa/qcocoacolordialoghelper.mm Change-Id: I24df576c4cbd18fa51b03122f71e32bb83b9028f
| * Speed up font database loading with fontconfigLars Knoll2013-07-061-89/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Trust fontconfig if it claims that the font supports a language and don't use the expensive check for a symbol font in this case. Speeds up app startup if the system has many latin only fonts installed by a big amount. Also remove some compat handling for fontconfig versions from 2003 and earlier... :) Change-Id: I5de0812685ae76090b2c0ef5b6c2dcf430249bb8 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | Add API to let applications integrate with the system fontsAleix Pol2013-07-051-11/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does 2 things mainly: - Adds a QPlatformTheme font type for fixed fonts. It's important because some OS provide specific monospaced fonts and we want to let our applications to use the preferred fonts by default. - Adds a new method and enum to QFontDatabase that expose the font types that applications might need, so that they can make the applications use the specific fonts that the system recommends. This data was already available within Qt through the QPlatformTheme, but it was not possible to use this data by Qt users. This new method exposes such data. Change-Id: Ic194c1e4bc07a70640672afd82ba756b87606985 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: David Faure (KDE) <faure@kde.org>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-272-5/+5
|\| | | | | | | | | | | | | | | Conflicts: configure mkspecs/features/create_cmake.prf Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
| * Further followup to Q_OS_MACX changes.Jake Petroules2013-06-242-5/+5
| | | | | | | | | | | | | | | | Flip !Q_OS_IOS conditions to Q_OS_MACX where it seems appropriate, remove a redundant condition in qtextcodec_p.h. Change-Id: I21c8c0c490f1eb4a9337a7f2f3e907c125489438 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-201-0/+42
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * QKdeTheme: generate sensible disabled colors for the system paletteJ-P Nurmi2013-06-161-0/+36
| | | | | | | | | | | | | | Task-number: QTBUG-31670 Change-Id: Icbd2f35d9c2f5c1ef05c9dfeae4922be01ff2751 Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
| * Read SingleClickActivation from KDE settings fileDominik Holland2013-06-161-0/+6
| | | | | | | | | | | | Change-Id: Ia2ccea89cefb85a7641628d32f925b32ecd6bdc6 Reviewed-by: J-P Nurmi <jpnurmi@digia.com> Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
* | Correct implementation of nested runloop to match UIApplicationMain()Ian Dean2013-06-131-6/+40
| | | | | | | | | | | | | | | | | | | | | | | | The previous implementation of the nested runloop was derived from the Mac Cocoa implementation(?), and did not correctly deal with UI animations and other UIKit functions which are run in a different mode to the default mode. This version corrects that (in most cases) and switches the implementation to use CoreFoundation instead of NextStep APIs. Change-Id: I45802d22044465749a1e5b6207d745268f6ae8a1 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Move iOS event dispatcher from platform plugin to platform support.Ian Dean2013-06-133-0/+462
| | | | | | | | | | | | | | | | Move iOS event dispatcher from platform plugin to platform support, so that it can be used by multiple iOS platform plugins. Change-Id: I9041b2de5e00e5fe8f30af2dfd922b4f5c594802 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-121-5/+29
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoamenubar.mm Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
| * Added rotation parameter to qevdevtouchMikko Harju2013-06-061-2/+23
| | | | | | | | | | | | | | | | | | | | In some cases the event coordinates reported by evdev are in different orientation compared to the primary orientation of the platform window. This commit adds plugin parameter rotate=[90, 180, 270] to rotate the normalized coordinate system before reporting the touch event. Change-Id: Ic830a2d259f9d3c5fb63b80afb795d8b400c2ece Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Prevent touch coordinates outside target geometryMikko Harju2013-06-051-3/+4
| | | | | | | | | | | | | | | | | | | | Previously, normalized positions with either of coordinates equal to 1.0 would be reported outside the screen / window geometry, which would cause hit test to fail. Change-Id: Ia5e083bd52254c7e05143eedf930be3bcba7a412 Initial-patch-by: Aaron Kennedy <aaron.kennedy@jolla.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
| * Fixed raw coordinate reporting for touch eventsMikko Harju2013-06-051-0/+2
| | | | | | | | | | | | | | The raw coordinates were not reported by the evdevtouch plugin. Change-Id: Ia06129edd771b12cc9f6a97dc678b545d226af70 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-046-676/+0
|\| | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/plugins/platforms/cocoa/qnsview.mm Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
| * Move QBasicDrag and QSimpleDrag to QtGui.Samuel Rødal2013-05-306-676/+0
| | | | | | | | | | | | | | | | | | | | | | | | These are useful as default implementations of QPlatformIntegration::drag(), instead of having it return 0 which will lead to crashes in Qt Quick 2 and widgets applications that use drag and drop. Task-number: QTBUG-31288 Change-Id: I70efa139306ced5d879def0f74e3a72d3bcd64f7 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-05-2318-23/+39
|\| | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/corelib/json/qjsonwriter.cpp src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/xcb/qxcbkeyboard.cpp Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
| * Android: Fix crash when using QBackingStorePaul Olav Tvete2013-05-223-1/+21
| | | | | | | | | | | | | | | | | | | | When making a QBackingStore for a QWindow that was not created yet, Qt would try to dereference the (null) platform window pointer. Task-number: QTBUG-31022 Change-Id: I866c71cce9d401ebb598ea4cc91f7cf9bbb30982 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
| * mark private dependencies as suchOswald Buddenhagen2013-05-2010-11/+11
| | | | | | | | | | | | Change-Id: Ic93c8dc5aaad3973e4d4fc6bb3b70ad7c0a632b0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * remove redundant QT statementsOswald Buddenhagen2013-05-202-3/+0
| | | | | | | | | | | | | | the top-level file already adds core-private and gui-private Change-Id: Ic3e3a9c5683cc43f5e7a1075efbd7ce7c2f41e1a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * make sure that dependencies added by the pri files become visibleOswald Buddenhagen2013-05-201-2/+2
| | | | | | | | | | | | Change-Id: I0ec56a0a7bd13cd09451cfc27afde1f75cd37cba Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * QCFSocketNotifier: initialize member variable to avoid crashRichard Moe Gustavsen2013-05-131-0/+1
| | | | | | | | | | | | | | | | | | | | The function pointer "maybeCancelWaitForMoreEvents" was never initialized to any value. This caused qt_mac_socket_callback to call that "function" when it had a non-zero value, which caused a crash under some circumstances. Change-Id: I1d31be7b5b7c103fdc0204ffa6e9a5ecbb28d062 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Restore cursor before sending QDropEventGatis Paeglis2013-05-132-6/+4
| | | | | | | | | | | | | | | | | | When users created a modal window in a dropEvent(QDropEvent* event), the cursor was not restored to its original shape until after the modal window had been dismissed. Change-Id: Id4723e3cb66b36a3ca18ff097a3993563816d9e1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Merge branch 'stable' into devSergio Ahumada2013-05-071-2/+2
|\| | | | | | | Change-Id: Ica003a10ede86914bbbb062a2dc277a2ce39a259