summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* If DblClick, do not deliver 'duplicated' MouseButtonPressRick Stockton2014-01-278-7/+81
| | | | | | | | | | | | | | | | | | | | | | | QWidgetWIndow: In Qt4, when Qt created a MouseButtonDblClick event, Qt would consume the causing MouseButtonPress. It would send only the derived dblclick event to widget windows and their children. This change makes Qt5.3 and higher emulate Qt4 delivery of double click-related events to widget windows and their children. QML objects (e.g. mousearea) continue to receive the second MouseButtonPress. [ChangeLog][QtGui][QWidget] MouseButtonDblClick: Do not send the 2nd MouseButtonPress event to Widgets. Restore Qt4 behavior in sequence of mouse events delivered to widget windows and their children. Task-number: QTBUG-25831 Change-Id: Iff0f9c592bceacb2ca844d30f8180081e136a889 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix nested template declarations for non-C++11 buildsTor Arne Vestbø2014-01-271-4/+4
| | | | | Change-Id: Ie38aae09033a47106a4a1cf2e9997f90961a4e33 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* moc: Make error message 'too many input files' more verbose.Friedemann Kleint2014-01-271-1/+1
| | | | | | | Make it easier to diagnose quoting errors in scripts. Change-Id: I17894a426faa5cdf50f5ace4ed422ab2bd202558 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Improve direct2d backing store implementationLouai Al-Khanji2014-01-2711-206/+340
| | | | | | | | | | | | | | | | | | | | | | Add a per-window swap chain to a QPlatformWindow subclass instead of tying it to the backing store. This is needed to support native widgets (as opposed to alien widgets). Change the backing store to draw to an intermediate pixmap and flush to the requested window by using the per-window swap chain. This also opens the door for faster window presentation later on by using the swap chain more intelligently. Also add a changelog entry for the direct2d plugin, which was omitted earlier. [ChangeLog][QtGui][Windows] Introduce experimental direct2d platform plugin for Windows. This plugin shares most code with the current windows plugin, but substitutes a direct2d-based paint engine for window backing stores and pixmaps. Change-Id: I5f54e7e4c1fb15b1639bd26b712fb40ac141e4ac Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Enable adding/removing application fonts on iOSTor Arne Vestbø2014-01-252-18/+51
| | | | | | | | | | | As CTFontManagerCreateFontDescriptorsFromURL is not available on iOS < 7.0 we unfortunately need to fall back to the old behavior of only adding a single font on older iOS versions. Task-number: QTBUG-34490 Change-Id: I9c37a5cada067a4ebfaa9f04e7a30d41b8945990 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Teach CoreText font db to handle application font files with multiple fontsTor Arne Vestbø2014-01-251-67/+59
| | | | | | | | | | | | | | | | | The ATS code path already did this, by enumerating all the fonts in the resolved collection. The CoreText code path assumed that registering a font URL would only add a single font. We now use CTFontManagerRegisterFontsForURL to enumerate all fonts that were added. This functionality is not available for fonts based on a data provider. As part of implementing the patch the code was simplified to re-use logic between the different ways of resolving font descriptors from a file or byte array. Change-Id: I6eb15df939d03dc588a87e46f39bd54e56b50643 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Use shared list of application fonts in CoreText font databaseTor Arne Vestbø2014-01-252-22/+24
| | | | | | | | Instead of three separate lists depending on the font type. This makes enables sharing more code between the different implementations. Change-Id: If090d1b4a32f035b6344cbadd4c5ba66e0cb99f7 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fix OS X/iOS SDK macros to be usable in combined expressionsTor Arne Vestbø2014-01-251-4/+4
| | | | | | | | The macros need parentheses around them so that you can use them as #if A && B without wrapping (A) and (B). Change-Id: I8a004eb64e8cd3f4fc0370d772565c8d84eb9f7b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Disable terminal keyboard on eglfs and linuxfbLaszlo Agocs2014-01-2410-50/+80
| | | | | | | | | | | | | | | | | | | | | Unify the behavior for eglfs, linuxfb and kms. The relevant code is now moved from kms into fbconvenience. From now on, on all three platforms, terminal keyboard input is turned off by default. This feature can be disabled by setting QT_QPA_ENABLE_TERMINAL_KEYBOARD to 1. This is similar to what the evdev-based keyboard handler did in QWS in Qt4. [ChangeLog][QtGui] The main Embedded Linux platform plugins (eglfs, linuxfb, kms) are changed to behave identically with regards to terminal keyboard input: it is turned off by default on all of these platforms. If this feature is not desired, it can be disabled by setting the environment variable QT_QPA_ENABLE_TERMINAL_KEYBOARD. Task-number: QTBUG-36394 Change-Id: I69e47ed7580464dc5e703e9a0e23891c7c8b7790 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* eglfs: Fix physical screen size regression for some hooksLaszlo Agocs2014-01-243-4/+6
| | | | | | | | | | | | On boards that provide their own custom ways of querying the screen size the resolution of widget apps became somewhat incorrect after the recent eglfs/eglconvenience refactor. This is because the physical size query helper was not able to access the screenSize() provided by the hooks, it was instead falling back to the default fb query which in turn returned the default screen size (e.g. 800x600). Change-Id: I46d487b61341d69dd9cb76d93198b1f44b64f195 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* eglfs: Upload only damaged areas into the texturesLaszlo Agocs2014-01-241-1/+0
| | | | | | | | | Uploading the pixel data for the entire window on every update is not nice. Not sure why the line in question was added, it is most likely a leftover from some debugging session. Change-Id: I161af536c42ac24b299fc674039f2318f0fb8c4f Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* eglfs: Fix quad coordinatesLaszlo Agocs2014-01-241-2/+3
| | | | | | | | | Prevent artifacts on raster windows by properly mapping the coordinates to [-1,1]. Task-number: QTBUG-36370 Change-Id: I95d0d03952f597ef4ce6a950c6533a3af2df964a Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Defer HarfBuzz face loading up until it gets usedKonstantin Ritt2014-01-241-2/+6
| | | | | | | | This didn't work for a loooong time already; not it is possible to re-introduce this optimization once again. Change-Id: I35c40e68933227bda6cbc038c2d8f6709db62451 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Windows: Reconstruct MSG-structure properly.Friedemann Kleint2014-01-241-2/+14
| | | | | | | | | | | The MSG structure is supposed to contain screen coordinates of the mouse position. Use GET_X/Y_LPARAM for mouse events and transform for client coordinates. Use GetCursorPos() for other events. Task-number: QTBUG-36337 Change-Id: I3ad4de20e1a460ee58f22645a4339a2444d129ed Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Windows: Remove unused function QWindowsBackingStore::rasterWindow().Friedemann Kleint2014-01-242-12/+2
| | | | | | | | | | It was only used to access the QWindow which can be retrieved using QPlatformBackingStore::window(), potentially causing a crash when QWindowsBackingStore::resize() was called before the window is shown. Change-Id: I7c1bfce0f2c371d5d8847fd15fd1dc760b769a8f Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Fix rounding issueKonstantin Ritt2014-01-241-1/+1
| | | | | | | | The correct rounding that respects ForceIntegerMetrics flag is done just a few lines below. Change-Id: I8e79ebaded90753092ecd3e99eece8df4c824362 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Fix Q_ASSERT in direct2d qpa pluginLouai Al-Khanji2014-01-241-1/+1
| | | | | | | | When calling end the refcount should be greater than zero, as calls to begin/end should match. Change-Id: I49adbf6f9f1c21cb60985ba4e02574e6c0841b74 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Silence failed xcbxsettings initializationJorgen Lind2014-01-233-3/+11
| | | | | | | | also add a boolean flag indicating if xsettings is initialized and can be used Change-Id: I9dae83b8fef224171744d2b940767cbf54ce4f55 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
* Work around a binary incompatibility in MSVCThiago Macieira2014-01-233-2/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix in b8fe5e1bbc7f341d03d2704a6110d6e3240589bb (for bug QTBUG-27277) created two sets of begin() and end() functions for QVector. That was required because QTypedArrayData::iterator and QTypedArrayData::const_iterator have non-implicit copy constructors, which means the variants returning a strict iterator need to pass the storage pointer as an implicit first parameter. With the fix, the compiler would emit functions with two different names for each variant, which couldn't be merged. If we remove those copy constructors, the compiler might be able to generate the same code (no implicit first parameter) for both functions. Now, enter MSVC. Due to QPolygon, QVector<QPoint> and QVector<QPointF> are "extern templates". That is, the compiler is not allowed to inline anything, it must generate calls into QtCore (which we must fix for Qt 6, if we can). That means QtCore would only have one set of begin() / end() functions. If an application tried to use the other set by defining QT_STRICT_ITERATORS, you'd get a linker error for: ?begin@?$QVector@VQPoint@@@@QEAA?AViterator@?$QTypedArrayData@VQPoint@@@@V23@@Z (class QTypedArrayData<class QPoint>::iterator QGenericArray<class QPoint>::begin(class QTypedArrayData<class QPoint>::iterator)) Change-Id: I5c10a7d0a4855f4ba84056d313c6a800ecdcfe37 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Ref qualified version of QImage::convertToFormatAllan Sandfeld Jensen2014-01-233-1/+35
| | | | | | | | | | | Add ref qualified versions of QImage::convertToFormat, so that a temporary QImage can be converted in-place to a format of equal depth. [ChangeLog][QtGui][QImage]Added rvalue qualified convertToFormat method for in-place conversion Change-Id: I2eed5ffd63f5aea4ffa1147bf7607b02a49d9c5d Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Update QStandardPaths documentation with Android paths.Christian Strømme2014-01-231-1/+42
| | | | | | | | Adds example paths for the various locations returned on Android. Change-Id: I55a4e23570c252cbf643596d166c7c43f023ba9c Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add a placeholderText property to QPlainTextEditMikhail Svetkin2014-01-233-1/+44
| | | | | | | | Setting this property makes the editor display a grayed-out placeholder text as long as the document() is empty. Change-Id: I997edb867419613ff7cedc760a87c684a2ded711 Reviewed-by: David Faure <david.faure@kdab.com>
* Update the qHash function for strings to use the CRC32 instructionThiago Macieira2014-01-231-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to my profiling of Qt Creator, qHash and the SHA-1 calculation are the hottest spots remaining in QtCore. The current qHash function is not really vectorizable. We could come up with a different algorithm that is more SIMD-friendly, but since we have the CRC32 instruction that can read 32- and 64-bit entities, we're set. This commit also updates the benchmark for QHash and benchmarks both the hashing function itself and the QHash class. The updated benchmarks for the CRC32 on my machine shows that the hashing function is *always* improved, but the hashing isn't always. In particular, the current algorithm is better for the "numbers" case, for which the data sample differs in very few bits. The new code is 33% slower for that particular case. On average, the improvement (including the "numbers" case) is: compared to qHash only QHash Qt 5.0 function 2.54x 1.06x Qt 4.x function 4.34x 1.34x Java function 2.71x 1.11x Test machine: Sandybridge Core i7-2620M @ 2.66 GHz with turbo disabled for the benchmarks Change-Id: Ia80b98c0e20d785816f7a7f6ddf40b4b302c7297 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: Fixed window opacityBernd Weimer2014-01-221-2/+3
| | | | | | | | | Opacity was not set initially and not committed to libscreen when changed. Change-Id: Icf24be833de28bd72275cf93a3ab2fb344726023 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Declare flags for Qt::EdgeJ-P Nurmi2014-01-221-1/+4
| | | | | | | Task-number: QTBUG-36174 Change-Id: I11424b79b6762764095cbb3b25527373e2b6fd1b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Add comment to moc output to simplify slots flags reading.Jędrzej Nowacki2014-01-221-9/+22
| | | | | | Change-Id: I5b8f63b6fa561c108abed4c2726b3aff99144fe2 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Windows: Observe Qt::NoDropShadowWindowHint.Friedemann Kleint2014-01-221-1/+1
| | | | | | | Task-number: QTBUG-36230 Change-Id: I8a9956c4b0ccd98b92f98107ea6dbbb08b296d09 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Support negative layout spacings (do not assert)Jan Arve Saether2014-01-221-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | This tests * default spacing * explicit positive spacing * negative spacings Negative spacings that causes the layout to shrink down to 0 or a negative spacing are not supported. (But make sure they don't crash the whole engine) This is a partial cherry picked from qtquickcontrols.git/bc973dcf2163b25f2db74d974b252384bbee8d80) Only the Q_ASSERT had to be cherry-picked. This is because of that the qgridlayoutengine* is moved to qtbase. Therefore, any changes to qgridlayoutengine* won't be merged properly to dev (they will be lost). Task-number: QTBUG-35741 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com> Change-Id: I834f1efc11aca59a93c8d870f1a776f2f8810485 Reviewed-by: Caroline Chao <caroline.chao@digia.com>
* Port Windows QPA plugin to new logger API.Friedemann Kleint2014-01-2227-541/+352
| | | | | | | | | | | | | | | | Introduce logging categories and change most debug statements to qCDebug(). Retrieve the filter rules from the environment variable QT_QPA_VERBOSE (should be removed once the logging framework offers a more convenient way of configuring). Replace the old per-category variables controlling verboseness of the output by a single variable which can be set on the command line. Change-Id: Iae55ecdb0e150efd165b7d3e90b371f72853f194 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* QWindowsVistaStyle: Fixed position of menu gutter when using a custom widget ↵Friedemann Kleint2014-01-221-2/+4
| | | | | | | | | | | | | | | | action. The gutter position was hardcoded to 28 which fits when drawing on the QMenu with a left margin of 3. It became offset when drawing on a custom widget with no margin. Calculate position relative to margin for left to right. [ChangeLog][QtWidgets][QMenu][Windows] Fixed position of menu gutter when using a custom widget action. Task-number: QTBUG-36218 Change-Id: Ibb34a9fba2bab7257482b80d2e51e76a9755345c Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Fix lack of deterministic behavior in moc.Jędrzej Nowacki2014-01-221-6/+16
| | | | | | | | Moc should check full scope of any related objects or gadget when it constructs extra data. Change-Id: Ibd1b607a389cd4e788c0916984464cd9103d9c59 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Merge "Merge remote-tracking branch 'origin/stable' into dev" into ↵Frederik Gladhorn2014-01-2181-847/+2871
|\ | | | | | | refs/staging/dev
| * Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-01-2081-847/+2871
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qstring.cpp src/gui/image/image.pri src/gui/image/qimage.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/eglfs/qeglfshooks_stub.cpp tests/auto/corelib/io/qstandardpaths/tst_qstandardpaths.cpp Change-Id: I3b9ba029c8f2263b011f204fdf68c3231c6d4ce5
| | * Mac: Improve transformed QGraphicsProxyWidgetsMorten Johan Sørvig2014-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Restore Mac code paths from Qt 4. Task-number: QTBUG-29139 Change-Id: I2893ddf6015e2bda92d4a16980dbe2c9021eeef7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Fix cd(), cdUp() QDir member functions docs regarding nonreadable dirsBartosz Brachaczek2014-01-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The documentation implies that cd() and cdUp() functions return false if the new directory is not readable, but that is not the case. It is an obvious mistake in the documentation, because cd'ing into a nonreadable directory is perfectly valid. Provided also with a test to verify that cd() actually returns true with nonreadable directories. Change-Id: I4aa3e859b35c64266df510a203574e3701aea77c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Fix QPixmap and OpenGL threading warnings when paintingAleix Pol2014-01-181-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the QPA supports threaded pixmaps, don't print out a message warning the user about painting a pixmap in the non-main thread. Likewise, if the QPA supports threaded OpenGL, don't print out a warning when the user is about to paint on OpenGL from a non-main thread. Change-Id: I5b4928ee49b1d6c1b638b036fade12dc794258df Reviewed-by: Albert Astals Cid <albert.astals@canonical.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| | * Fix typos in QUrl::toAce() documentation.Mitch Curtis2014-01-181-1/+1
| | | | | | | | | | | | | | | Change-Id: I6b101c57c537523fb48e57985e1d69c4327a67aa Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| | * Fix crash when constructing a QVector with an empty initializer list.Volker Krause2014-01-181-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | Data::allocate(0) returns a pointer to read-only memory, updating d->size will segfault. The safety check for this exists in all other QVector ctors already. Change-Id: Ida0fe4182de56ee62c7f91e8652cfafbfd7b8410 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QNX: Fix compilation of qdatetime.cppSergio Ahumada2014-01-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Adding std:: to pow() to make it compile for BlackBerry 10. Change-Id: I9ab3cc626eb2ba872c09df33cdb820b50d075428 Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QCocoaTheme: Fix size of pixmap returned by fileIconPixmapEike Ziller2014-01-171-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code assumed that CGImageForProposedRect would return a sensible sized image, but that can return basically any size (depending on the NSImage's image representations). In the case of the bug report this is a 1024x1024 pixmap when requesting a pixmap of size 64x64 and larger. Make sure that we return a pixmap of the exact requested size. For this, themeHint must also return sizes in device coordinates. Task-number: QTBUG-35009 Change-Id: Iaae11023bab6d4122815ca4010aab6967dfb18a0 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| | * Fix QtTest function-unused warnings found by Clang 3.4Thiago Macieira2014-01-172-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | The front-end functions in the QTest namespace are declared static inline, so the compiler can complain. Make it not do so. Change-Id: I4036c85010e02ef22a8071ed05e49173dfc64729 Reviewed-by: Jason McDonald <macadder1@gmail.com>
| | * moc: Fix parsing of complex defines defined via command lineOlivier Goffart2014-01-173-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since now in Qt5 the moc does full macro substitution, it needs to handle the defines passed is command argument, even if they span over multiple tokens, or if they do not have any token. Example: moc '-DCOMPLEX=QVector<int>' '-DEMPTY=' foo.h [ChangeLog][moc] Fixed passing -D of a macro defined to something more complex than a single identifier. Task-number: QTBUG-33668 Change-Id: Ie8131de215f1659a24af4778d52ee40cda19759f Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
| | * Optimize QDateTime string parsingJędrzej Nowacki2014-01-171-11/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch reduces amount of allocations during string parsing by using QStringRef. The operation is safe as neither QDate nor QTime uses QString as a storage type Change-Id: Ib9f40d86e8e420653ac4fe8ba883d554331ffc32 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Prevent spurious SSL errors from local certificates.Richard J. Moore2014-01-161-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt since approximately 4.4 has set the verify callback on both the SSL store and the SSL context. Only the latter is actually needed. This is normally not a problem, but openssl prior to 1.0.2 uses the verify code to find the intermediate certificates for any local certificate that has been set which can lead to verification errors for the local certificate to be emitted. Task-number: QTBUG-33228 Task-number: QTBUG-7200 Task-number: QTBUG-24234 Change-Id: Ie4115e7f7faa1267ea9b807c01b1ed6604c4a16c Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Make QCommandLineParser not crash if passed a bad QCommandLineOptionThiago Macieira2014-01-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This otherwise crashed: QCommandLineOotion opt("with=equals"); parser.isSet(opt); Can't write a unit test because it produces a warning. Change-Id: Ifc67f20bb4b16b96d93dffbe4e82e6cc8a17584d Reviewed-by: David Faure <david.faure@kdab.com>
| | * Do not consider a signal to be connected if only a signal spy is installed.Volker Krause2014-01-162-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes QtQuick key handling not propagating key events beyond the specific onXPressed handlers, due to erroneously thinking those exist, when signal spy callbacks are present. Considering signal spies for isSignalConnected() goes back to 87239ef6 in Qt4, and seems to be there just due to this code being based on activate(), where this check obviously makes sense. Change-Id: Iad41e42a8d3ee2a16a55be7d1a7cdc51484981ce Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * eglfs: Allow using a different framebuffer deviceLaszlo Agocs2014-01-162-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now /dev/fb0 is hardcoded. This is not ideal. Therefore QT_QPA_EGLFS_FB is introduced. This environment variable can be set to a different framebuffer device. Once it is set, eglfs will use the specific device. This is similar to linuxfb's fb=... plugin parameter. The actual behavior depends on the board-specific implementations. For now only iMX6 has real support. It extracts the index from the device name as bind the EGL display to the corresponding framebuffer using the vendor-specific fbGetDisplayByIndex(). Other hooks can follow suit later on. With this patch eglfs is at least on par with linuxfb, meaning that, if the board supports it, different apps can run on different screens. Task-number: QTBUG-36113 Change-Id: Ia3c88bd06e108bc668433e3c5c3fce34a5a0e73d Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
| | * Android: Don't register main thread on loading libraryEskil Abrahamsen Blomfeldt2014-01-164-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with debug, all SLOT or SIGNAL macros will expand to a function call, and then function will call QThreadData::current(), which will set QCoreApplication::theMainThread if it has not already been done. Since Qt Widgets has these macros in the static initialization of the library, we would register the Android main thread as the main thread of Qt, which would mean that the actual application object was created on a different thread than the main thread. This caused warnings to appear, and also triggered a race condition which caused widget applications to sometimes show a black screen instead of content on startup when run with the OpenGL plugin. Task-number: QTBUG-35048 Change-Id: Ie8979f5e7cd5662f8d7dd276de9f94f27cc120b5 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * Android: QStandardPaths implementationChristian Strømme2014-01-162-0/+333
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds standard paths implementation for Android. [ChangeLog][QtCore][QStandardPaths] Added QStandardPaths implementation for Android. Task-number: QTBUG-34631 Change-Id: I38673204a521a990438470c4e165105a2b02b7ad Reviewed-by: BogDan Vatra <bogdan@kde.org> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
| | * Android: Add convenience function to get the API level.Christian Strømme2014-01-162-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | It's common to check the Android API level at runtime to determine what functionality is available. This change provides a convenient way to get the Android SDK version (API level) from c++. Change-Id: I88f65ae87e0fa8ac0affefffbd1b1bba855c9f46 Reviewed-by: BogDan Vatra <bogdan@kde.org>