summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Rename a test class to a bit more verbose name.Jędrzej Nowacki2014-01-201-1/+1
| | | | | | | | That way we can avoid name conflict with a namespace defined in a different moc test Change-Id: Id631d7c5556c9d6940e16dc53eb438dbcd0095eb Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Add missing header guardsJędrzej Nowacki2014-01-2039-10/+162
| | | | | Change-Id: I515313289c0a4af0f675131760ad4ccd0c6e6149 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Document qRemovePostRoutine() function and update qAddPostRoutine() docBartosz Brachaczek2014-01-201-3/+23
| | | | | | | | | | | | | | | | The qRemovePostRoutine() function has been added as publicly exported function in Qt 2.2.0 with behavior equivalent to that of today. It has never been documented for unknown reasons, possibly simply forgotten. This function provides needed symmetry for the already documented qAddPostRoutine() function and is used in some real world applications. Change-Id: Ied4709505d8335c883e9791ea634df8fb406d995 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
* Remove duplicated code from moc generatorJędrzej Nowacki2014-01-201-6/+0
| | | | | Change-Id: I0d603ac39068f796fc7397a74230d544a16e0371 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Do not close string data by a double null terminator.Jędrzej Nowacki2014-01-201-2/+3
| | | | | | | | | There is no point in saving \0 twice. Any code that could relay on it is broken anyway, because moc saves \0\0 for an empty string. Change-Id: I28fa4f78aae8c883c088df43ec89d608a99b3bdd Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Android: Don't crash on 100+ combo box itemsEskil Abrahamsen Blomfeldt2014-01-201-7/+8
| | | | | | | | | | | | | | | | Local references are valid until the original native method returns (if it's a Java thread), or until the current thread is detached from the VM. This means that we have to manually manage local references and delete them when they are no longer in use, otherwise we will leak memory and flood JNI's local reference array. [ChangeLog][Android] Fixed crash on populating large combo boxes or menus. Task-number: QTBUG-36074 Change-Id: I7095bd1472f759be98183737a8d3912fa9763f30 Reviewed-by: Christian Stromme <christian.stromme@digia.com>
* Make xcb QPA plugin link on FreeBSDGabriel de Dietrich2014-01-201-1/+1
| | | | | | | | dlopen, etc. are defined in libc on FreeBSD. Change-Id: Iad47113ec77029f8e300e4f08f454d70b3070b5a Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Revert commit 0893d2d7e5cadcbea5caca8a027ae3e28b6c5410Louai Al-Khanji2014-01-201-4/+2
| | | | | | | | | Commit 0893d2d7e5cadcbea5caca8a027ae3e28b6c5410 causes a lot of build warnings on Windows with MSVC. Change-Id: Ic857b36bf77d4f536a45cec337f4b813b9974107 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* introduce qlalr featureOswald Buddenhagen2014-01-201-0/+49
| | | | | | | | this makes it possible to compile grammars at build time. Change-Id: Ia74383c4f29873ee7324bd5f14d72ef14faef460 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* move and build qlalrOswald Buddenhagen2014-01-2040-9/+14
| | | | | Change-Id: I852e1a33fc056a52f6dbba8aaf7dd75274bbe815 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* port to std::algorithmOswald Buddenhagen2014-01-203-6/+7
| | | | | Change-Id: I537b9ffc3eed0891bed0fcae3e0d79d70cc46cec Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* fix includesOswald Buddenhagen2014-01-2013-38/+48
| | | | | | | | use style suitable for bootstrapping. while we're at it, order the includes the usual way. Change-Id: I4fe96bfb73442c8a5de6dfe52d1a8c7eb22104c8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* re-import qlalr into qtbaseOswald Buddenhagen2014-01-2039-0/+6979
| | | | | | | | | | | | | | | | | we have a bunch of qlalr-generated sources all over the place. it would be much nicer to actually generate them at build time, rather than checking them in. this obviously requires building qlalr early on ... this commit restores the sources at their pre-modularization location and makes no attempt at integrating them into the build process yet. this is a measure to overcome git stupidity. this imports qt/qlalr at commit 4071d86e82b299f26e335a7faf662b5a676e2279 with some style fixes on top. Change-Id: I83472bc492440ecb96a8a0d5bf74cf968a1e17d2 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't scan system includes for dependencies and don't list themThiago Macieira2014-01-202-3/+5
| | | | | | | | | | | | | | | | | | | | | | | Assume that C and C++ headers found in system paths will not change, so we don't need to tell Make about them, nor do we need to scan their contents either. The previous qmake behavior matched gcc's -M switch; it now matches the -MM switch: -M Instead of outputting the result of preprocessing, output a rule suitable for make describing the dependencies of the main source file. -MM Like -M but do not mention header files that are found in system header directories, nor header files that are included, directly or indirectly, from such a header. This goes hand-in-hand with our use of -isystem to pass system paths to the compiler. Change-Id: I3346b6da496fe6495ac89c5286d066b343116f0e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Add support for using -isystem in qmakeThiago Macieira2014-01-209-3/+51
| | | | | | | | | This commit will make qmake use -isystem automatically for any compilers that declare support for it for any paths that are listed in QMAKE_DEFAULT_INCDIRS. Change-Id: I36fefc6d5bba61671f65669f0ea42704b3c3cf31 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Make conversion of semi-transparency to opaque formats consistentAllan Sandfeld Jensen2014-01-202-32/+63
| | | | | | | | | | | | | | Currently the non-standard opaque formats all perform inverse premultiply on semi transparent pixels when saving. This is only performed on RGB16 and RGB32 when explicitly converting to the formats, but not when drawing. This patch changes the conversion to be consistent across the board so less common formats are treated the same as the most common ones. This also makes drawing and converting to the these formats much faster. Task-number: QTBUG-36143 Change-Id: I877ddb1c1dbb4d2dd9b4b9192525e50375a1ae60 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Reduce code duplicationKonstantin Ritt2014-01-202-15/+4
| | | | | Change-Id: I077963fcb910fa705b087e35e99cd07436c034b1 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Add convenience method QTextFormat::isEmpty()Konstantin Ritt2014-01-202-0/+10
| | | | | Change-Id: I30e74de6853908d1fec399131637848e3c2faabe Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* iOS: Fix simulator build by enabling SSE2 code pathsTor Arne Vestbø2014-01-182-9/+12
| | | | | | | | | | | Commit 3c375a76a13e151496ccfea0a2b3ff9fdc75784f enabled SSE2 in Qt, but we failed to build the files that implemented the SSE2 specific drawhelpers and image functions. Since we know what the iOS simulator supports and the platforms it runs on we can safely enable this ourselves without it being based on a configure test. Change-Id: I0cfc43de80068b89aa47c34ffa84ee1c1734886c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Add generic inplace converterAllan Sandfeld Jensen2014-01-183-0/+37
| | | | | | | | | | | | The generic converter can easily be modified to work inplace. Such an inplace converter can ensure we can do direct conversion between formats of similar pixel depth. Inplace conversion is currently only used by QPixmaps, but will be used by ref qualified versions of QImage::convertToFormat in a future patch. Change-Id: Idbdaf087b53deecdee8258ba0b5d80edd37cfe79 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Optimize blend_transformed_tiled_argb().Sami Liedes2014-01-181-6/+14
| | | | | | | | | | | | Profiling indicates that this function is one of two hot spots causing a noticeable latency when changing KDE virtual desktops. Instead of computing two modulos per pixel in the inner loop, it is possible to compute the modulos outside the loop and compute a modulo sum in the inner loop for a reasonable speedup. Change-Id: Ic4217b7686e031d7673b3e10aa977dae263096dc Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* QNX: Fix build on BB10 caused by missing linux fbWolfgang Bremer2014-01-181-2/+2
| | | | | | | | QNX/BB10 does not support linux framebuffer Change-Id: Ic25f69fc16cbcd27cbaa6db08c2b6556e4def965 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Introduce function for standard button texts to QPlatformTheme.Friedemann Kleint2014-01-1813-133/+133
| | | | | Change-Id: I91eec04a95b5047d893490a70152237b2991f662 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* Testlib/generate_expected_output.py: Fix encoding.Friedemann Kleint2014-01-181-1/+1
| | | | | | | | | | | | | | | Do not apply additional encoding when reading process output. Fixes errors when encountering UTF-8: Traceback (most recent call last): File "./generate_expected_output.py", line 117, in <module> generateTestData(path) File "./generate_expected_output.py", line 106, in generateTestData out.write(data.decode('utf-8')) UnicodeEncodeError: 'ascii' codec can't encode character u'\xdc' in position 5485: ordinal not in range(128) Change-Id: Ib827787a59a18b4d3d0601645856517f43c01fc3 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Testlib/generate_expected_output.py: Pass tests as command line arguments.Friedemann Kleint2014-01-181-3/+8
| | | | | | | Evaluate command line arguments and use directories only when empty. Change-Id: I818ec13c686018a3f607e91174e57d8f8bbf15f7 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* QNX: Allow creation of parentless child windowsRoger Maclean2014-01-181-3/+12
| | | | | | | | | | | | | | | | | | | | | There is no reason why a parentless window from a Qt perspective needs to be a screen application window. There are some cases, such as the BB10 dialog service whose windows are always parented by a window in another process. Ideally one would have a means to indicate a child window was wanted that had no other side effect (i.e. the rest of Qt would ignore). The use of Qt::Dialog is not ideal as some code does pay attention to this type given the number of bits available for window type, it is not reasonable to add a new one. The use of Qt::Dialog seems safe since it is hard to conceive of a window of type Qt::Dialog wanting to be a top level window. If in future it is required to have a parentless, child window that is not of type Qt::Dialog one can simply define some additional way of signalling this. Change-Id: Ie7035980ac2efd5bc722a8371c834f21ea7755f4 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Abuse const_cast in QStringBuilder to get a little more performanceThiago Macieira2014-01-181-1/+3
| | | | | | | | | | | | Without this const_cast, the call to QString::data() or QByteArray::data() will cause a call to detach(), which is totally unnecessary since we've just allocated data a couple of lines before. Since we know we're the owner of the only reference, we can skip the detach attempt. Change-Id: If40f66100f85cc9b405025f21c562828ead23475 Reviewed-by: hjk <hjk121@nokiamail.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Improve caching in ensureColumnAndRowData()Jan Arve Saether2014-01-182-1/+14
| | | | | Change-Id: I02d9f818f8e1d6fcb8c25d1b73c08171cfc1f74d Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* d3dcompiler_qt: Place compiler options in the shader file nameAndrew Knight2014-01-182-14/+36
| | | | | | | | | | | | | | | | The compiler service needs to know what options to pass to the compiler, and these options can affect the outcome of the shader blob. Runtime compiled shader output must match this file name in the binary directory. Pre-compiled shader blobs (e.g. those placed in a resource file) are permitted to drop options from the file name if the implementor can ensure the blob is compatible with the target. Defines are not written out as options, but written into the shader source, and therefore affect the cache key. Change-Id: I11e4a43fcf6818ddb29aca5eba3d8647ba4021a1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* Update test result generator script to set duration to 0Frederik Gladhorn2014-01-181-1/+1
| | | | | | | | The actual code in testlib now indents the duration tag when it is for a function. Change-Id: Iee62db9c81f11dc54e57f166bf9fb2b7012b7e03 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* Don't pass -mfpmath=sse to Clang < 3.4, it's not supportedTor Arne Vestbø2014-01-181-1/+11
| | | | | Change-Id: I875f72802d8745488d34f836818b21aafe69dcff Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QNX: Avoid crashing on exit when have a cover windowRoger Maclean2014-01-171-0/+3
| | | | | | | | | | | QQnxScreen destructor was leaving the cover window to a reference to it leading to a crash when the cover window itself was destroyed. Change-Id: Id82097d54fea79b0b9ec1cef439bd704da9ca453 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Bernd Weimer <bweimer@blackberry.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* QNX: Make window groups work reliablyRoger Maclean2014-01-174-13/+50
| | | | | | | | | | | | | | | | | | | | | | | | Window group related code worked previously only for the 'root' window and other windows that had no parents (which then joined the window group of the root). Introduced a new function joinGroup that makes the group related calls, this can both join and leave groups. Default group joining is performed in setVisible now rather than setScreen. The advantage of setVisible is that one can rely on it getting called at some point but it is also possible to create and interact with a QQnxWindow before it is called. This allows the default group handling to be overridden via the native interface. If the group is set (or explicitly not set) then the default handling is not done. joinGroup is also called from setParent so that if the parent window is changed the window joins the parent group. Change-Id: I03e3801ecb4e4cf901c02e45f00472a87692c2ec Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* qmake: cleanup DISTFILESJ-P Nurmi2014-01-172-3/+6
| | | | | | | | | Do not include the project file twice or other .pr? files outside the project tree. Task-number: QTBUG-21910 Change-Id: I62af842282ccdc5b9099d9227d5395ebe3f0698c Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* eglfs: Move reusable functionality to eglconvenienceLaszlo Agocs2014-01-1733-731/+1288
| | | | | | | | | | | | | | | | | | | | | | | | The cursor implementation is generic GL(ES) code that should be shared by all the present and future egl-based embedded platform plugins. Follow the pattern of QEGLPlatformContext and move this class into eglconvenience as QEGLPlatformCursor. Similarly, the common bits from the context implementation context are moved back to EGLPlatformContext. eglconvenience has now base classes for integration, screen, window, etc. too. By using these, eglfs becomes much smaller and cleaner. This also paves the way for creating new, separate EGL-based platform plugins for Android, embedded Linux, etc. Also added some documentation to each of the base classes. devicediscovery is now fixed to be usable on any platform. The implementation in this case is naturally a dummy one. This finally allows using it from anywhere without myriads of ugly ifdefs. Change-Id: I02946e360c04e02de7fe234a23a08320eff4ccf5 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* Fix BlackBerry10 build on NDKs prior to 10.2.1Wolfgang Bremer2014-01-171-0/+7
| | | | | | | | | | | | | | | | This commit adds a dependency checking for a recently introduced define. On NDKs 10.2.1 and later it compiles with support for VIRTUALKEYBOARD_LAYOUT_ALPHANUMERIC. NDKs 10.2.0 and earlier do not know this define and therefore it will be ignored. This is necessary because there is no newer NDK publicly available than 10.2.0. Assuming pure QNX SDKs are missing the define completely, we are only including it on recent BB NDKs. Change-Id: I6f814e5c2d77c50edf8534f3567b157f71147555 Reviewed-by: Peter Hartmann <phartmann@blackberry.com> Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
* Cocoa Helpers: Add qt_mac_flipRect(const QRect &)Gabriel de Dietrich2014-01-172-0/+7
| | | | | | | Task-number: QTBUG-33082 Change-Id: If72b2744d3694b3899c124c7a6a6ccc6e6397165 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Replace win32-g++ with mingw scopeKai Koehne2014-01-1732-34/+34
| | | | | | | | Commit 773dd01 introduced a general mingw platform scope, which is cleaner and more flexible than matching the spec name. Change-Id: Ie3a9cb791a83f7c8a51bc4e23069190c452ab521 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QObject: fix connection to function pointer with non-copyable references ↵Olivier Goffart2014-01-172-2/+16
| | | | | | | | | | | | | argument For example, QObject is non copyable (its copy constructor is deleted or private via Q_DISABLE_COPY). It should still be allowed to pass a reference to a QObject as an argument to as signal (or slot). This fixes a compilation failure. Task-number: QTBUG-36119 Change-Id: I9bcf477e347d69fdae2543c99781b6421883be78 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS: Fix compilation of some basic testsTor Arne Vestbø2014-01-172-2/+6
| | | | | | | | | The tests themselves may not actually pass, but it's a start, and allows us to sanity-build a few things in the CI that actually produces a final binary. Change-Id: I02643b6ffa1522de1a7d17d737c8ab45ffac6a93 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* iOS: Remove unused fileTor Arne Vestbø2014-01-172-72/+0
| | | | | Change-Id: If082be4b5c50cd5e1d5660bbe26136b9a0ee0352 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Improve code in sizeHint()Jan Arve Saether2014-01-171-30/+9
| | | | | | | | The plan is to do better caching in ensureColumnAndRowData(), and this patch will benefit for any such changes later Change-Id: Id1662e3fe7f70079e29ddb6e3d64e6e580ad9e0f Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
* qmake: prepare TARGET/VERSION/DISTFILES for sub targetsJ-P Nurmi2014-01-172-18/+19
| | | | | | | | | | | | | This is a preparation step for 'make dist' target for subdir projects. UnixMakefileGenerator needs these variables while extending writeSubTargets() and writeDefaultVariables() for 'make dist'. Partial cherry-pick of https://qt.gitorious.org/qt/jpnurmi-qt/commit/8c4ef19 Task-number: QTBUG-21910 Change-Id: I02a616a98448bc3041ef0f4fd034bfb4c2199e41 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* QNX: Fixed window positioningBernd Weimer2014-01-172-36/+4
| | | | | | | | | | Child windows have to keep their relative position when the parent is moved. Change-Id: I7d24d67578c9aaa332136d18ad9b478b120e4696 Reviewed-by: Roger Maclean <rmaclean@qnx.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Support multiple native surfaces on Android.BogDan Vatra2014-01-1767-1297/+1383
| | | | | | | | | | | | | | | | Support for multiple native surfaces is needed by applications that need to mix raster windows with GL windows. Rework the raster and opengl implementation, get rid of eglfs and fbconvenience dependencies. Create a single android platform plugin. [ChangeLog][Android] Rework the raster and opengl implementation. [ChangeLog][Android] Create a single android platform plugin. Task-number: QTBUG-34650 Change-Id: I9b1ab51554823329dda8cfbf8fef27c38f917c7b Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* QNX: Fixed some window issuesBernd Weimer2014-01-172-6/+11
| | | | | | | | Corrected EGL error code query and cover windows creation in the "no-rootwindow" case. Change-Id: I86aaa4b59283f7153f8ab63c5bf231bc9da7538c Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
* Suppress warnings for Qt builds only.Kurt Pattyn2014-01-171-2/+4
| | | | | | | | Qt should not dictate which warnings are disabled for client code. Therefore warnings will only be suppressed when building Qt. Change-Id: I1c470ba346c8272bae2a38385e425afa6eb50170 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QWizard: Fix frame when using Vista style/MSVC2012Friedemann Kleint2014-01-172-8/+30
| | | | | | | | | | | | | Work around GetSystemMetrics() returning the wrong value using MSVC2012 and later. The special handling of Windows 8 and later is then no longer required. [ChangeLog][QtWidgets][QWizard] Fixed frame when using Vista style/MSVC2012. Task-number: QTBUG-36192 Change-Id: I39c2ab70a266f12cd65fa740b10b86edffa60417 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* iOS: Don't try to use NEON drawhelpers, we don't build themTor Arne Vestbø2014-01-161-0/+7
| | | | | | | | | | | On iOS we don't build the NEON drawhelpers as they are implemented using GAS syntax assembly, so prevent drawhelpers.cpp from trying to use them. Follow-up to 01c59ac857927043e49d4725062faea715ed49a3. Change-Id: I3e3dc9b0e1d780db3184413d2ff3010ac8dcd37b Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove last traces of QT_COMPILER_SUPPORTS_NEONTor Arne Vestbø2014-01-168-13/+10
| | | | | | | | | | | Fixes ARM build, as the NEON drawhelpers and image conversion functions were ifdef'ed out. Follow-up to 1b12c0608be2359baa2f96ae28b135a84abd388c. Change-Id: I0b5e89c8f445741432db2dfe1f8d971b971c8605 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>