summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Only Android API < 11 needs o set the surface type.BogDan Vatra2014-01-311-1/+3
| | | | | Change-Id: I290d7273624ce4853a137c00263fa9a169ea0cf9 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Remove unused variable.BogDan Vatra2014-01-311-2/+0
| | | | | Change-Id: I30c6bea769df436f41275df60552b9616e8d5547 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Fix MSVC-warning about unused variable eventdispatcher.Friedemann Kleint2014-01-311-1/+1
| | | | | Change-Id: Ic7c12f16c310cc681bba39a7969de235afcf0f44 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* remove doubled specificationMaurice Kalinowski2014-01-311-1/+0
| | | | | | | | | DLLDESTDIR is set in config.pri already, hence no need to set it twice Change-Id: I84a5ecd0a3db41ff3920a295644e3d169deed264 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Add install rulesMaurice Kalinowski2014-01-311-0/+2
| | | | | | | | | Otherwise d3dcompiler will not be installed using -prefix in configure Change-Id: I3054969cc5d8b7c2378b12bbaef3dc4ca0194711 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Optimize drawing to and from generic formatsAllan Sandfeld Jensen2014-01-313-108/+495
| | | | | | | | | | | | | | | | | When drawing to and from the less common formats most of the cpu time is spend in conversion. The conversion method is rather slow due to using variable shifts and masks that the compiler does not have a chance to optimize. This patch changes the conversion methods to being templates fed by constexpr methods. This allows the compiler to fully optimize the methods yielding 2x->5x speedups. The reliance on constexpr however means the optimized methods are only used under C++11. Change-Id: I2ec77c4c1c03f12ee463a694a2b59db0f0b52db1 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* QTextEngine: Make FontEngineCache inaccessible from outsideKonstantin Ritt2014-01-311-0/+2
| | | | | | | | This is really an implementation detail and shouldn't be accessible in any way. Change-Id: Icd9f2ea6f9a1d5ebd613ce65eebe2823301f87ea Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Allow QTextCharFormat::setFont() to skip unresolved font propsKonstantin Ritt2014-01-315-52/+332
| | | | | | | | | This makes the font merging possible and solves an issue with the default font properties inheritance when used in conjunction with QTextFormatCollection. Change-Id: If8b543c011122dde9f086f5d696df3b042f7b90c Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* tst_qpauseanimation: Fix condition in QEXPECT_FAIL.Friedemann Kleint2014-01-301-1/+1
| | | | | | | | introduced by b0b22e8d496e753642fa8ddb05f167a722c65c00 . Change-Id: Ia57331ce9373a414f2bc56962412f20ef83bd7ca Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* WinRT winmain: handle -qdevel parameter for additional debugging toolingAndrew Knight2014-01-301-5/+24
| | | | | | | | | | | This adds an additional command line argument, -qdevel, for tooling support. Since Windows Phone deployment APIs don't return the PID, this writes the PID to a lock file that can be read by deployment tools. Since arguments may be passed from one of several entry points, the special argument checks are now done in Run() instead of onActivated(). Change-Id: Ib3af157ccf687769d43d60adef9a0ab480e835b7 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* qmake: Add DISTCLEAN_DEPS variableAndrew Knight2014-01-303-2/+4
| | | | | | | | This variable works like CLEAN_DEPS, but applies to the distclean target. Change-Id: Ia30e8932b9acd6529298728dd5d0e038b0208d66 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Fix WinRT timer dispatchAndrew Knight2014-01-301-17/+17
| | | | | | | | This fixes the event dispatcher lookup on timer callbacks, which was incorrectly using only the gui event dispatcher to look up timers. Change-Id: Ia01a07f6505afd0adfc0641e9c60199f258138a1 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Use full-barrier in the "non-atomic" API in QAtomic{Int,Integer,Pointer}Thiago Macieira2014-01-301-4/+4
| | | | | | | This is more in line with what std::atomic does. Change-Id: I6fe96102995a3fda8f82475758995593358735bc Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Replace the type-based QAtomicIntegerTraits with a size-based oneThiago Macieira2014-01-3031-83/+533
| | | | | | | | This simplifies the code a lot and avoids silly mistakes where a specific integer type is missing (such as char16_t). Change-Id: Id91dfd1919e783e0a9af7bfa093ca560a01b22d1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Centralize support for QBasicAtomic for ints and longsThiago Macieira2014-01-3012-60/+39
| | | | | | | No need to redefine everywhere, since they're required to be supported. Change-Id: I2bdbbd0b0c44871e3bd0edcf0289fc58dd50ff31 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Ensure that the pointer-sized QAtomicInteger specialization existsThiago Macieira2014-01-304-1/+78
| | | | | | | | | | | | | | | | | | | This is already implemented in qatomic_x86.h, qatomic_ia64.h, qatomic_mips.h, qatomic_armv6.h, and qatomic_cxx11.h. For qatomic_msvc.h, we've just fixed it. For qatomic_gcc.h, we know that the compiler supports it, so just add it. According to the GCC manual, it might print a warning on some platforms, so we only enable that on 64-bit builds. For qatomic_unix.h, the support was missing (along with support for unsigned 32-bit), so this commits adds it. For qatomic_armv5.h, the platform does not always support 64-bit atomics, but ARMv5 cannot compile in 64-bit mode anyway. Change-Id: Ia8b3b5c641f11e5df05937fe7442be0a223174ef Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Introduce QAtomicInteger<T> and derive QAtomicInt from itThiago Macieira2014-01-302-145/+241
| | | | | | | | | | | | | | | | QAtomicInteger<T> is to QBasicAtomicInteger<T> what QAtomicInt was to QBasicAtomicInt: just a little more syntactic sugar. The Basic classes do not always have a constructor, since they depend on compiler support. The constructor is always present in the non-Basic class, at the expense of making it non-POD for C++98 code. This commit also repurposes most of QAtomicInt's documentation for QAtomicInteger. It adds only the Q_ATOMIC_INTnn_IS_SUPPORTED macro that explains whether the given type is supported on this platform. Change-Id: I58886d6fa49fea4de24015c40dae29c9fa534e00 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
* Add support for 16- and 64-bit atomics with MSVCThiago Macieira2014-01-301-38/+151
| | | | | | | | | | MSVC provides the necessary functions / intrinsics for 16- and 64-bit operations. It has some support for 8-bit too, but the most important functions seem to be missing... Change-Id: I177b4eb2a2cf14d716b78c94f9d6a9b11aea1b84 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Declare qregister[u]int, an integer the size of the machine's wordThiago Macieira2014-01-302-0/+23
| | | | | | | | | | | | | | | In almost all platforms, sizeof(qregisterint) == sizeof(void*) == sizeof(qptrdiff). It's different for architectures that have a pointer with a size different from the machine word. This allows us to declare variables of the most optimal size, even if the pointers are too wide or too narrow. The only currently-known architectures to match that case are the ILP32 builds on x86-64 (a.k.a "x32") and IA-64 (option -milp32, only available on HP-UXi), which have 64-bit registers but 32-bit pointers. Change-Id: I0f126b70ea9ea326bd3143797287e4b98210d36d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Revert "test: marked tst_qlocale as insignificant on Windows"Friedemann Kleint2014-01-301-1/+0
| | | | | | | | | | | | | | This reverts commit b7486591cd114351c755b9e8b2bfe5d175461ec9. Conflicts: tests/auto/corelib/tools/qlocale/test/test.pro Task-number: QTBUG-25284 Task-number: QTBUG-36306 Change-Id: If4a335c114302f7af999d7a254e1aa55b2df7176 Reviewed-by: Simo Fält <simo.falt@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Android: Don't skip first file in assets entry listEskil Abrahamsen Blomfeldt2014-01-301-0/+1
| | | | | | | | | | | | | | | We're using AAssetDir_getNextFileName() to verify that the directory exists and has content, and this moves the current file pointer to the second file in the dir, so we need to reset the pointer before iterating to populate the entry list. [ChangeLog][Android] Fixed QDir::entryList() for assets scheme to no longer skip the first file in the directory. Task-number: QTBUG-36528 Change-Id: I9938c669658330b0e11d6fbe3df8c6566fd79f5f Reviewed-by: BogDan Vatra <bogdan@kde.org>
* Warn the user when compiling Objective-C files (.m) that includes QtTor Arne Vestbø2014-01-302-0/+8
| | | | | | | | | | | | | | Xcode project templates will by default create source files that ends with .m (obj-c). If you try to include Qt from such files, you will get a bunch of compile errors, since the compiler will not understand C++ concepts, such as namespaces. To ease mixing native iOS and OS X apps with Qt, we print a warning to the console, so that the error messages are easier to understand and fix, by renaming the offending file to .mm. Change-Id: I192f460f9ca53145b7193dec1cfe7c095ae149a1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add QWindowPrivate::topLevelWindow() helper functionTor Arne Vestbø2014-01-305-22/+27
| | | | | | | | Might be useful to expose to QWindow in 5.3, but for now it's private so it can be used by platform plugins. Change-Id: Iad96d7e249a7b85695668f8d7e8918164ec67442 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Fixed assert in blend_transformed_tiled_argbOliver Wolff2014-01-301-2/+2
| | | | | | | | | | px16 and py16 might be <0 in the first iteration of the loop. In order to avoid accessing an invalid index the values have to be corrected before px and py are accessed. Change-Id: I790faeacc2b77ae8af52bf5e69a2d801c9fe973d Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
* QWindowsFontDatabaseFT: Code deduplicationKonstantin Ritt2014-01-304-124/+11
| | | | | | | | Re-use a private helper API from QWindowsFontDatabase. This also helped in consolidating the behavior between these two. Change-Id: I93ba0a486a2c11fdefd328af090497dde5b0fbdb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add CoreText HB-NG shaper backend on MacKonstantin Ritt2014-01-303-0/+869
| | | | | | Change-Id: Ida705b9fc59d41a04cb754faae58774bfc2e656c Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Introduce QTextBlock::textFormats()Konstantin Ritt2014-01-302-1/+53
| | | | | | | | A convenient way to obtain the block format ranges that should be applied to the block text. Change-Id: I220429b7c9c592c4880357c0d7b1b21f6c1c11f3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* [QFontEngineBox] Fix incorrect advances for SMP code pointsKonstantin Ritt2014-01-301-4/+11
| | | | | | | | In UTF-16, SMP code point is encoded with a pair of surrogates, thus making SMP code point twice wider than BMP code point. Change-Id: Ifb0e78cff50cca7231d07097a730188bd98c54cb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Update HB to 7691a154e50f8c8c77bbd94787686262955bf5d4Konstantin Ritt2014-01-3032-1457/+2307
| | | | | Change-Id: I7dae9d74f338d3beeb1677a1676a07b66c05bb93 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Get rid of QGlyphLayout::advances_yKonstantin Ritt2014-01-3016-176/+110
| | | | | | | | | | | | | | | ...and thus consume 4 bytes less per glyph and increase the performance a bit. It seems, the only CTFontGetAdvancesForGlyphs() returns both x and y advances, though y advances are always equal to 0 for horizontal orientation and x advances are always equal to 0 for vertical orientation. Also, rename `advances_x` to `advances` for consistency and declare QGlyphLayout's data size in a single place. Change-Id: I56b20f893f8a6feb7aa870e3edbca99dd93ba2e2 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* linuxfb: Report WindowManagement capability as falseLaszlo Agocs2014-01-301-0/+1
| | | | | | | | Just like eglfs does. This will result in dialogs, like file dialogs, showing up properly centered on the screen. Change-Id: I2682c7792e4bc66773e31f602a4bee4cf525a6a1 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add more specific HTTP error codes to QNetworkReply::NetworkErrorMandeep Sandhu2014-01-304-4/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few more HTTP status codes from the 4xx and 5xx series have been added to QNetworkReply::NetworkError. For content errors, the following codes have been added: 1. 409 - Resource Conflict 2. 410 - Resource Gone For server related errors, the following codes have been added: 1. 500 - Internal Server Error 2. 501 - Operation Not Implemented 3. 503 - Service Unavailable Few of the above codes are quite possible when communicating with REST based services. NOTE: ===== * HTTP error status 400 is interpreted as QNetworkReply::ProtocolInvalidOperationError. * QNetworkReply::UnknownServerError is returned for all server related errors (5xx) not listed above. [ChangeLog][QtNetwork][QNetworkReply] Added more (specific) HTTP status codes to NetworkError enum. Task-number: QTBUG-30880 Change-Id: I9d2a133f6b3869f26710c6eb930dd8b08df31108 Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* Regenerate the Unicode tablesKonstantin Ritt2014-01-292-1464/+1465
| | | | | Change-Id: Ic64cfb1197cae100e3816d0425f11fdd728d0df9 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Introduce QChar::JoiningType enum and QChar::joiningType() methodKonstantin Ritt2014-01-296-56/+159
| | | | | | | | | | | | | | This aimed to disctinct joining types "L", "T", and "U" from just "U". Unicode 6.3.0 has introduced a character with joining type "L" and Unicode 7.0 will add a few more characters of joining type "L", so we'll have to deal with it anyways. [ChangeLog][QtCore][QChar] Added JoiningType enum and joiningType() method that deprecates the old QChar::Joining enum and joining() method. Change-Id: I4be3a3f745d944e689feb9b62d4ca86d1cf371b0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* REG: Fix font matching in FontConfigEskil Abrahamsen Blomfeldt2014-01-291-0/+4
| | | | | | | | | | | | | | | Change a4ff400e25c76a32ec8252285dda043f07b19c15 exposed a bug in the font matching in the FontConfig engine. FcFontMatch is documented to not work unless you call FcConfigSubstitute() and FcDefaultSubstitute() on the pattern first. We were neglecting to do this, but hiding the bug before since we were doing our own font matching and never reading back the file name from FC's match. When we started doing this, suddenly DejaVu Sans (for instance) would match its bold variant instead. Change-Id: Ie6b7026de24cfb0353dc892fa862d6ee79604f38 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* Ensure QImage::pixel() on RGB32 images returns valid QRgb valuesAllan Sandfeld Jensen2014-01-292-17/+13
| | | | | | | | | | | | | Currently QImage::pixel() returns the raw underlying pixel values for RGB32. For all other pixel formats the returned value is either valid ARGB32 or ARGB32PM. This patch masks the undefined alpha field in RGB32 so that the return value is well defined QRgb. It also fixes one test that relied on the previous behavior. Change-Id: If37463528268b7419733499d1f7bfd0d1097d21e Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Round evenly in INV_PREMULAllan Sandfeld Jensen2014-01-292-1/+24
| | | | | | | | | | | | | | Currently INV_PREMUL rounds strictly down. While PREMUL rounds evenly. This patch adds 0x8000 to the intermediate results in INV_PREMUL before right shifting, thereby achieving even rounding. The rounding also makes PREMUL(INV_PREMUL()) into an identify operation, which means we can safely convert ARGB32PM to ARGB32 and back without ever losing color details. A test is added to verify this. Change-Id: I1267e109caddcff0c01d726cb5c1c1e9fa5f7996 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* QColorDialog: Streamline painting code of QColorLuminancePicker.Friedemann Kleint2014-01-291-7/+5
| | | | | | Task-number: QTBUG-36078 Change-Id: Iea7dcb1fdae955615345aa835dc0b1a67840f39d Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Fix usage of QObjectPrivate::connect when q_func() is private.Olivier Goffart2014-01-292-3/+3
| | | | | | | | | | q_func() which is declared in Q_DECLARE_PUBLIC is usually private. We should use q_ptr directly in QObjectPrivate::connect, otherwise it does not compile when trying to access the private q_func Change-Id: I235165a0994327102dbb31c390c2cafdffe806dc Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* resolve include paths against source dirOswald Buddenhagen2014-01-291-1/+4
| | | | | | | | | this hasn't happened yet at this point of processing, so we'd pass bogus paths when shadow-building. Change-Id: I9f9633c0dbc2aadeff1eb555a8e598ddb0837e37 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* shell-quote include paths when not using a response fileOswald Buddenhagen2014-01-291-1/+3
| | | | | | Change-Id: I7557480dcd8ba1e0b5ecf88318c53cdfb3519f92 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use the response file also for the default incdirsOswald Buddenhagen2014-01-291-2/+2
| | | | | | Change-Id: I328cdd32d43f263992af206c66b502564e954d53 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* use write_file() to create the response file with the includesOswald Buddenhagen2014-01-291-36/+11
| | | | | | | | it's much shorter and faster. Change-Id: I6a37e9ece4ac550d1887fa53523b85046d398c8c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Windows: Simplify cursor code.Friedemann Kleint2014-01-291-44/+8
| | | | | | | | | | Streamline code, remove unused arrays (Qt::PointingHandCursor is handled in other switch-clause). Task-number: QTBUG-36266 Change-Id: I533965ca4910230deefa8150d50b3ac677baaf1a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Document Qt::NoFormatConversionAllan Sandfeld Jensen2014-01-291-2/+3
| | | | | | | | | | The Qt::ImageConversionFlag Qt::NoFormatConversion is necessary to generate QPixmaps not in ARGB32PM which can be useful when not used as a paint device. Task-number: QTBUG-36031 Change-Id: Ic2d3ccd59285dd18890f07f3205a2a219ce3aa40 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* [QNX] Implement the requestActivate functionFabian Bumberger2014-01-292-3/+52
| | | | | | | | This allows manually transferring focus from one window to another, if the application has focus. Change-Id: If73ddca6ffbb735eaf4ee9fd322d978f9366fb4c Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Tests for semi transparent blend on opaque formatsAllan Sandfeld Jensen2014-01-291-0/+110
| | | | | | | | | This patch adds tests for the consistent handling of transparent drawing results on opaque formats that was introduced with commit 6f7d370adec3054656f36b0d2a0777a8a1df3602 Change-Id: If5d11d0f2e111ef88490a4dc20a64b0858ad5426 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Fix performance regression in mirroring QBitmapAllan Sandfeld Jensen2014-01-291-1/+2
| | | | | | | | | | The recent split of qimage.cpp meant mirror_horizonal_bitmap had to access the bitflip array using a function call. The function call was placed in the inner loop, but should have been moved out of the loop as it can not be inlined. Change-Id: Id771b2fb7e6c2bfa59670ee96a857a529da13c0b Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* QNX: Cleanup some issues in QPABernd Weimer2014-01-294-5/+9
| | | | | | | | | | | * Avoided crash, if root window is reparented * Corrected video window name * Made parent window member private again Change-Id: Icef9fad5495413e0de87c4366f25dad6c4fd5775 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Fix tst_QLocale::windowsDefaultLocale().Friedemann Kleint2014-01-281-16/+35
| | | | | | | | | | Adapt to Windows-version-specific changes. Task-number: QTBUG-36306 Task-number: QTBUG-33718 Change-Id: I8275423f6f79ede3c3903a646b731eba2182e83c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>