summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
* use private linkage where possibleOswald Buddenhagen2013-10-311-1/+1
| | | | | | Change-Id: Ie8eaa71bee87654c21218a23efd7e9d65b71f022 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Keep web fontdata alive as long as CG uses itAllan Sandfeld Jensen2013-10-291-4/+13
| | | | | | | | | | | With OS X 10.9 font decoding appears to happen lazily, this means we have to ensure the data we provide CG is kept alive until it dereferences it itself. Task-number: QTBUG-34332 Change-Id: I8fc38fafba746b062c4ad16314b0a410fd0b668d Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
* Android/LinuxFb: fix QWidget::showFullScreen()Paul Olav Tvete2013-10-232-0/+23
| | | | | | | | | | | | | Previously, showFullScreen() had a race condition: it depended on QFbScreen::setGeometry() being called after the window state was set (that would trigger QPlatformScreen::resizeMaximizedWindows(), which was the only part of the code that reacted to WindowFullScreen). On Android this caused random behaviour. Task-number: QTBUG-33294 Change-Id: I228e6af4139af1a47387e7d80757d7b46e859580 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* evdevtouch: Make it work with am335xLaszlo Agocs2013-10-171-0/+15
| | | | | | | | | | | The driver for the resistive touchscreen of these boards tends to report ABS limits 0..4095 even tough it never sends coordinates outside a certain range (e.g. approximately 165..4016 for X). This breaks the mapping of hardware coordinates to screen space. Apply a workaround to make it work properly. Change-Id: I3eb5d76002acba1972061f3add44d797349c8ec8 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* linuxfb: Do not crash with GL windowsLaszlo Agocs2013-10-151-2/+3
| | | | | | | | | We will show an error message saying no platform context is available but the crash (due to GL windows having a null backingstore) is not desirable. Change-Id: Iba3a61bfc4eeeb89b4a0017a58c87a7dbd0895e7 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Update keycode mappings of multimedia keysAllan Sandfeld Jensen2013-10-151-1/+27
| | | | | | | Updates keycode mappings for evdev, directfb and android. Change-Id: I6789f13dbb662da4261a3c947757644e12306dd9 Reviewed-by: BogDan Vatra <bogdan@kde.org>
* linuxfb: Make the mouse cursor visible and workingLaszlo Agocs2013-10-144-10/+24
| | | | | Change-Id: I58bae7235ae714da551da1337ee6340fc712aaa5 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* eglfs: Show the mouse cursor when a mouse is connectedLaszlo Agocs2013-10-111-1/+1
| | | | | | | | | | | | | | | | | Currently the mouse cursor is shown by default and it can be turned off by setting QT_QPA_EGLFS_HIDECURSOR to a non-zero value. This is now enhanced with an automatic detection step via QDeviceDiscovery (the helper the input code use anyway). From now on if QT_QPA_EGLFS_HIDECURSOR is not set, the cursor is shown only if a mouse device is present in the system. This could later be enhanced further by showing and hiding the cursor dynamically during runtime although that will not be of much use for embedded platforms without libudev. Change-Id: I7e4b85ea8807200871c88fc42b11ab2adac90d32 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Doc: Adding mark-up to boolean default values.Jerome Pasion2013-10-081-2/+2
| | | | | | | | | | | | | | | | | Default values should have mark-up to denote that they are code. This commit changes: -"property is true" to "property is \c true". -"Returns true" to "Returns \c true". -"property is false" to "property is \c false". -"returns true" to "returns \c true". -"returns false" to "returns \c false". src/3rdparty and non-documentation instances were ignored. Task-number: QTBUG-33360 Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Fallback to the original application font handlingAndy Shaw2013-10-072-10/+8
| | | | | | | | When Qt is built for 10.8 but then used on a machine before 10.8 then it was not falling back correctly when an application font was added. Change-Id: I0f05226cdbcfa36621bb1b3aa2f2cd60e714dfdf Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* evdevtouch: Do not print device information by defaultLaszlo Agocs2013-09-301-13/+26
| | | | | | | Do it only when requested by having QT_QPA_EVDEV_DEBUG set. Change-Id: I0e28808ae972bf681db3c0878ee53732611d11af Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* evdevtouch: Fix ABS limit queriesLaszlo Agocs2013-09-261-2/+11
| | | | | | | | | Add the missing parentheses around the conditional expression. EVIOCGABS and similar macros do not have guarding parentheses in older kernel headers. Change-Id: I5f464351e9407d90643d4e73d4afdbb2ad88b02b Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* evdevtouch: Avoid duplicating points in released stateLaszlo Agocs2013-09-261-3/+10
| | | | | | | | | Points in released state should only be removed from m_contacts after the disappeared-since-last-sync is done. Otherwise the same point can appear twice (both times in released state) in the same event. Change-Id: Ia751054c3fe893006a090bdce96a64738d8388ac Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Remove jniconvenience from platformsupport.Christian Strømme2013-09-206-3626/+0
| | | | | | | | | The jniconvenience api is replaces with private API's in core and public API's in the qtandroidextras module. Change-Id: Iaf4b4343f8022197e7ec3fdde2406eb3c881208d Reviewed-by: Yoann Lopes <yoann.lopes@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* test: fix tst_QFont::defaultFamily on Mac OS X 10.8Liang Qi2013-09-201-30/+30
| | | | | | Task-number: QTBUG-32834 Change-Id: Iac771eb0a544ae58d203717c39a13d2d21e3c3ed Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* evdevtouch: Make TouchPointReleased working with certain driversLaszlo Agocs2013-09-201-21/+40
| | | | | | | | | | | The plugin failed to handle releases with protocol type A with some drivers. There is no requirement to emit ABS_MT_TOUCH_MAJOR or BTN_TOUCH to indicate a release. If the point is gone from the report, it is a release as well. Change-Id: I9527fbfb200fde3b160148e076357a29bf610427 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* evdevtouch: Handle single-touch devicesLaszlo Agocs2013-09-201-23/+23
| | | | | | | | Such touchscreens emit no MT events, only ABS_X and ABS_Y. Change-Id: I7db3d2fbb948eadb23c659e45bbbc5017f1a4f9d Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Make Accessibility publicFrederik Gladhorn2013-09-191-1/+0
| | | | | | | | | There is no point in having QAccessible2, so merge it with the normal QAccessible. The header will be removed in a subsequent commit as it is still needed by declarative at this point in time. Change-Id: I1fc47d484d482f25387eba827bc5a373536b7a8b Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Don't send posted events from QWindowSystemInterface::sendWindowSystemEventsTor Arne Vestbø2013-09-162-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The responsibility of sendWindowSystemEvents() is to process events from the window system. Historially that logic was part of the QPA/QWS event dispatcher, which naturally also sent posted events. Through refactoring, the code at some point ended up in in the QWindowSystemInterface class, still with the posting of events in place. This resulted in QPA event dispatchers adopting a pattern of just calling sendWindowSystemEvents(), as that would cover both posted and window system events. Other event dispatchers would call sendWindowSystemEvents(), and then use a base-class implementation from QtCore for processing events, resulting in two calls to QCoreApplication::sendPostedEvents() per iteration of processEvents(). This breaks the contract that processEvents will only process posted events that has been queued up until then. We fix this entanglement by removing the sendPostedEvents() call from QWindowSystemInterface::sendWindowSystemEvents() and move it to the respective event dispatchers. For some EDs it means an explicit call to sendPostedEvents, while others were already doing sendPostedEvents though a separate source (GLib), or using a base-class (UNIX/BB), and did not need an extra call. We still keep the ordering of the original sendWindowSystemEvents() function of first sending posted events, and then processing any window system events. Task-number: QTBUG-33485 Change-Id: I8b069e76cea1f37875e72a034c11d09bf3fe166a Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* remove unnecessary beginPaint and endPaint overridesShawn Rutledge2013-09-162-12/+0
| | | | | | | | | | | | | QPlatformBackingStore::endPaint does not take a QRegion parameter. 6ce6b8a378b0d97ba950240ffb048a4b7e485235 set the API, but the platform implementations were not all synced up since then. There was anyway no point in overriding beginPaint and endPaint on platforms which don't need to do anything there. This fixes clang warnings of the form QXcbBackingStore::endPaint hides overloaded virtual function Change-Id: Id6cd0fc2c831a34576ac2c73eeb0d5741d26e622 Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Merge branch 'stable' into devSergio Ahumada2013-09-131-0/+8
|\ | | | | | | | | | | | | | | Conflicts: src/concurrent/qtconcurrentmedian.h src/corelib/itemmodels/qabstractitemmodel.cpp Change-Id: Iac46a90bbb2958cef7670031a4b59c3becd8538a
| * QRawFont::fromFont does not get antialias setting from fontconfigAllan Sandfeld Jensen2013-09-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | When creating a fontengine in QFontconfigDatabase::fontEngine we solely base the antialias setting on the QFont StyleStrategy and forget to ask fontconfig it has an overriding definition for this font match. This patch will now let fontconfig decide the antialias setting unless the NoAntialias stylestrategy has been set. Change-Id: I67981582a37cfd3c59aa1db929095585af554088 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
* | iOS: Interleave Qt application main() with iOS startup sequenceTor Arne Vestbø2013-09-131-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our previous event loop integration had two unfortunate flaws: 1. We would call qt_user_main() from a timer, after returning from didFinishLaunchingWithOptions. This had the effect of showing the iOS application window long before the Qt application UI had been set up, resulting in a 1-2 second flash of black/pink between the launch image disappearing and the actual application showing. 2. We spun a nested event loop, where our implementation of the different event loop modes did not perfectly match the Apple implementation. This resulted in scrolling being busted in some cases such as when showing the virtual keyboard for Emoji characters. These two issues have now been solved by calling the user's main() from didFinishLaunchingWithOptions. Normally this would not work, as the user's main would call QApplication::exec() at the end of their main(), which would block and we would never return back from the didFinishLaunchingWithOptions callback, resulting in no UI on screen. We work around this by longjmp'ing out of QApplication::exec(), back into didFinishLaunchingWithOptions, so that it can return. Again, this would normally not work, as the call stack where QApplication and friends would live would get smashed as the application continued executing. We work around this by allocating a block of stack space at the start of main(), which we then redirect the stack pointer to before calling the user's main. This results in the whole stack of the user's main() and below being preserved, even if we longjmp out of the call stack (which then restores the stack pointer). This approach should work fine together with garbage-collection as well, since the mark-and-sweep phase will walk the stack from the stack pointer to the stack base, including sections of the stack that were part of qt_user_main() and live in the reserved area. One case where GC will fail though is if it happens as part of the qt_user_main() call, where the GC will not mark anything in the 'real' callstack below UIApplicationMain(), but this is not expected to happen. The size of the reserved stack can be controlled through the Info.plist key 'QtRunLoopIntegrationStackSize', as well as the 'QtRunLoopIntegrationDisableSeparateStack' key to disable the separate stack approach completely. This will fall back to the old approach. The amount of stack space used by the user's main can be determined by enabling a special debugging mode, using the 'QtRunLoopIntegrationDebugStackUsage' key. Change-Id: I2af7a6cfe1a006a80fd220ed83d8a66d4c45b523 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* | Warn if OpenType support missing for script of interestKonstantin Ritt2013-09-132-0/+2
| | | | | | | | | | | | Change-Id: I076cfc5244ca3c060fd005cc3fbf30b357604bc7 Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | Decrease code duplication in QFontDatabase-sKonstantin Ritt2013-09-132-22/+6
| | | | | | | | | | | | | | | | Move scriptRequiresOpenType() body right into QFontEngine::supportsScript(), thus centralizing use of this performance cheat. Change-Id: I5f494b086f8f900b631c491f41e9cb800002c0f6 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | QFontConfigDatabase: Minor code clean-upKonstantin Ritt2013-09-131-22/+10
| | | | | | | | | | | | | | | | Get rid of duplicated includes, useless defines, and private enums that just duplicate a public ones; avoid variable names collisions. Change-Id: I540e812b6cd510eb1ed441d97e9af377611d804a Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* | iOS: Implement hasPendingEvents() in the event dispatcherTor Arne Vestbø2013-09-121-2/+11
| | | | | | | | | | | | | | | | | | | | | | As we're using CFRunLoopIsWaiting() to check for the possible presence of system events hasPendingEvents() will never return false if called on the main thread. We assume clients will not use this function to determine whether or not to call processEvents(), but instead use the return value from processEvents. Change-Id: Ifd63892c6d35bb7da204072616bfe3ee69ca1d85 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | iOS: Teach event-dispatcher to handle changes to run-loop mode at runtimeTor Arne Vestbø2013-09-122-2/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UIKit changes the run-loop mode during scrolling to UITrackingMode, which presumably prioritizes touch events and other sources related to a smooth scrolling experience. It signals this change by interrupting the current run-loop pass, and the outer loop is responsible for re-entering the run-loop in the new mode. Failing to enter the run-loop with this new mode results in UIScrollViews losing their kinetic feel when flicking. This can be observed by e.g. bringing up the Emoji keyboard and scrolling it horizontally. We keep track of the current run-loop mode by listening for push and pop notifications on the UIApplication object. The current mode is then used in our Q_FOREVER-loop when re-entering CFRunLoopRunInMode. For now we don't add our posted event source or timer source to the new modes, under the assumption that the system prefers to limit the number of sources that will fire during scrolling. If this turns out to give a bad user-experience for Qt applications we should consider changing it. Change-Id: I3a612b3cfc77c74b658963057732dc4d61684df8 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* | iOS: Rewrite CoreFoundation event-dispatcherTor Arne Vestbø2013-09-122-205/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having separate code-paths for QEventLoop::EventLoopExec and the non-blocking processEvent() we now have a single Q_FOREVER loop where the logic can be shared. We make multiple loop-passes, each time calling CFRunLoopRunInMode with potentially different arguments, depending on the result of the previous run. For the EventLoopExec case we'll continue making loop-passes until the event-loop has been interrupted. For the non-EventLoopExec case, we respect interruption, but will continue making loop-passes only until we've processed all events in the queue, optionally waiting for the initial event if WaitForMoreEvents is set. Limitations in the CoreFoundation APIs unfortunately force us to keep some state on whether or not we've processed events and timers for a given processEvents() pass (with corresponding deferred scheduling of timers and event source signaling). The way we handle timers has also been rewritten to no longer defer the timer activation to a special timer source. The constraint of CoreFoundation timers is that they can not recurse (re-fire) in a callback, but that only applies per timer, so using multiple CF timers allows us to recurse. We still only use a single CF timer for all the Qt timers though, and only spawn a new CF timer if the user calls processEvents() inside a timer callback. This commit removes the logic related to dealing with UITrackingMode, as that logic was slighly problematic, but the feature will be added back in a follow-up commit, in line with the new approach. The result of this commit is that we're passing all event-loop, event-dispatcher, and timer auto-tests, both for the QtCore dispatcher and the GUI event-dispatcher. Change-Id: I3c56fbc7857a25110064681257abb47075b5bd2d Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* | 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>