The mysterious comment was just suggesting that they weren't
necessary. Turns out the comment is wrong: they are necessary for
non-strict iterator modes.
Task-number: QTBUG-25063
Change-Id: I20ada17035642ee656c431d6bf2152a5243cecdb
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Instead of saving the ability of the compiler to produce SSE2, AVX,
Neon, etc. code in .qmake.cache (Unix) or qconfig.pri (Windows), move
everything to qmodule.pri. Accordingly, move the DEFINES += settings
to qt_module.prf instead of qt.prf.
This allows us to re-use these settings in other Qt modules (other
than qtbase), if necessary. Though currently the extra compiler
definitions are found only in src/gui/gui.pro. They can be moved
elsewhere when it becomes necessary.
As a side-effect of this change, some other flags are moved from
.qmake.cache to qmodule.pri (on Unix). The flags that are getting
moved should probably be moved anyway.
Change-Id: Ibc3ab0111e148d81870772f9357273660aa93417
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The QT_ALWAYS_HAVE_xxx macros are gone: they were hard to use and not
defined properly. It indicated that the compiler was producing code
that required that particular instruction set, so we could use it in
our code unconditionally. Instead, let's use the GCC-style __SSE2__
and __ARM_NEON__. MSVC does not generate the __SSE2__ macro, so let's
do it for the compiler. Also, define __AVX__ and the macros for the
technologies leading to it when we manage to detect an /arch:AVX build
(currently not possible, see note in the header).
ICC and MSVC allow one to use the intrinsics anywhere, but for Qt all
uses of the intrinsics are either in specially-built files, protected
by runtime checks, or they are unconditional (qstring.cpp). So we only
use the intrinsics when the compiler was instructed to generate code
for that instruction set anyway.
Change-Id: If8382f30422cee0e5831d051b003acf036824abf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The QT_HAVE_xxx macros are replaced with QT_COMPILER_SUPPORTS_xxx.
They indicate that the compiler supports those intrinsics, but not
necessarily that they can be used right now.
ICC and MSVC allow one to use the intrinsics anywhere, but for Qt all
uses of the intrinsics are either in specially-built files, protected
by runtime checks, or they are unconditional (qstring.cpp). So we only
use the intrinsics when the compiler was instructed to generate code
for that instruction set anyway.
Change-Id: Ie58eebbc0518ad1d5420a85174fd84153bb9abaa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
On many systems the device nodes will not be writable normally. There
is no reason to open for writing in any case. Also switched back to
non-blocking I/O.
Change-Id: I9290e6b1ce7e3bc6cb0e75069b3968f647ffbeee
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Also drop the explicit keyword in constructors with multiple
args since it has no effect on multi-arg constructors.
Change-Id: I48af6ede6cc968c52720c6107cadf3aa4dbfc7f7
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Move CUPS code around to create a new CUPS printsupport plugin, this
fixes QPrinterInfo for CUPS which depends on the plugin to work.
It QT_NO_CUPS is defined then the plugin is not built and only Print
to PDF is supported under Linux.
* Move unused genericiunixprintersupport plugin to start new CUPS
printsupport plugin
* Split QPdfPrintEngine to create QCupsPrintEngine
* Remove LPR related code from QPdfPrintEngine
* Move CUPS specific code from plugin base class to derived CUPS class
* Remove forcing CUPS print engine to use PDF mode as PDF is now Native
* Move qt_getCupsPrinterPaperSizes from qprinterinfo_unix to
QCUPSSupport
* Remove qprinterinfo_unix as no longer used
* Remove all QT_NO_LPR uses
There is now no CUPS specific code left in printsupport/kernel except
QCUPSSupport which is needed for the dialogs.
Task-number: QTBUG-23060
Change-Id: Ie8fa4512a2424edc8943068e0fa9fb714cc42db9
Reviewed-by: Teemu Katajisto <teemu.katajisto@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: John Layt <jlayt@kde.org>
Needed for QObjectPrivate::Connection. Since it's a nested class,
it's not possible to merely forward declare it.
Change-Id: Ie2ad1b3972df5433cdb49ee443f053ba2d613779
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The desired meta-object is already stored in a local variable.
Change-Id: I40c7840f07f5dbd67110e2f7d5bb618cbb269047
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The desired method is already stored in a local variable.
Change-Id: Ibf0078813c7aebc83604b9c7ad9a8b6c596c5c65
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Textures are now created and uploaded on demand on first render()
call where we are guaranteed to have a current GL context.
Change-Id: I352c876dd1d8b7ed73536de21fa2880cdc6bdb60
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Application default font should be locale aware in fontconfig db
as in other font databases. We use a hack to obtain the system
default language parsed by fontconfig and use that to find out
the preferred font for a given language (such font list is edited
by fontconfig from fonts.conf in FcConfigSubstitute() process).
Change-Id: I99bb8dd29d2dde2c8019ed8e77f5bfc09ddf3ca5
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
This used to be the Qt/Embedded's QCursor handle implementation.
Change-Id: I31b8ed44ac9325defcb13d887949d9536a262be8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Should be sufficient to allow implementing the actual functionality in
xcb/cocoa/windows to match the Qt 4 level of tablet event support.
Task-number: QTBUG-25864
Change-Id: Iebcca256dfba841d8976b58fda1b76026d3133a3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
This function is unavailable in QPA land (it currently returns
the QRegionPrivate as the handle()).
Change-Id: I4e81e29d4546a4737c1aaab4ee1fb97e28a473f5
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
- Add QWindowsEGLContext usable for ANGLE and Windows CE.
- Add QWindowsEGLStaticContext containing the display
for resource cleanup.
- Add EGLSurface to QWindowsWindow.
- Add a -angle option specifying the path to the external
ANGLE installation to configure, add libraries to
the mkspecs.
Initial-patch-by: Jabot Corentin <corentinjabot@gmail.com>
Task-number: QTBUG-24207
Change-Id: I5f80b1efb6996da7c5d70aa3720f7801c9e4c6af
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Use a QTemporaryDir for a unique test cache directory for each process,
rather than a fixed path.
Change-Id: I64df8422d01282bbc108e942947c1b55368bd941
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
tst_QStateMachine::postEventFromOtherThread() assumed that 10,000
iterations of the event loop in a separate thread could always be
completed successfully within the default QTRY_COMPARE timeout.
This may be false if the CPU load is already high - such as when running
other tests concurrently.
Decrease the iteration count.
Change-Id: I780523f73c0c16fa0b2ab3201b2b0affdebc198d
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
Write to a QTemporaryDir instead of the test's build directory.
Change-Id: Ib65a0d58fbdf8caf8f2cb7002aeed1ce34742183
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
This test failed a parallel stress test, but seemingly only because it
writes to its own build directory. This should not interfere with other
running autotests.
Change-Id: I27a2f31e32a5b8157ef1082cf0e939bcc0c61c70
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
This test failed a parallel stress test, but seemingly only because it
writes to its own build directory. This should not interfere with other
running autotests.
Change-Id: I80e548fdb0e915ebe86dcd2205537cb6fee09cff
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
The length we cast is from int QTextEngine::length() so it's safe
to do so.
Change-Id: I60fdbcb5a96c99b767093102a30e97951ef5b6ea
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
digiflip examples depends on qtwidgets, let's link to it also.
Change-Id: I4f4434c747d143942909797491153a4f358e6fef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
The configure script uses the bash $"..." string internationalization
syntax; this generates an error in other shells.
Since this feature is only used in one place it is likely a typo.
Change-Id: I076a785c3901b04175b8669e32c55989385720e3
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
QDoc would exit with exit code 1 when an index directory is not found,
this behaviour was probably a bit too strict.
Change-Id: If62fe1aeac4392002fa7419f6abcb62ed41c2beb
Reviewed-by: Martin Smith <martin.smith@nokia.com>
text/qtextdocument_p.cpp:1070:43: error: non-constant-expression cannot
be narrowed from type 'int' to 'quint32' (aka 'unsigned int') in
initializer list [-Wc++11-narrowing]
text/qtextdocument_p.cpp:1070:43: note: override this message by
inserting an explicit cast
Change-Id: I16127aef2171324135b5c0c2ac611b8b4f03d7b7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Allocate an RGB16 surface when we need to use OpenGL, set the
custom DSCAPS_GL for this EGL mode. The broadcom hardware would
allow us to use ABGR but we have some issues with the QSurfaceFormat
to select the right kind of surface.
Change-Id: I0fff7906154f3d7afb35b2b5d2bb91510cf3aa4d
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
If the system's compiler has extra features on top of the base
settings enabled or if the mkspec or $CXXFLAGS variable included some,
record them.
This will allow us to choose whether or not to use our own special
compilers, based on whether the system default compiler contains it or
not.
Change-Id: I87cada9fab4cfa58846a831d0a7c7b50d8fa87fd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
For the Unix part, this now obeys the -v option, printing the full
command-line it used to compile, allowing testers to identify why
something went wrong.
Unfortunately, it requires a full compilation cycle, instead of just
preprocessing. Just one more among the many on Unix, but maybe a
noticeable slow-down on Windows.
Change-Id: I654b70d99887e04c96731a5b91be9ad555e4d8fe
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
width passed in qreal should be set with setWidthF instead of
setWidth, otherwise the fractional part is lost.
Also remove the raster paint engine hack that has been removed in
Qt 4.8, it's no longer needed.
This fixed the drawUnderline and drawRightToLeft auto tests in
tst_qglyphrun.
Change-Id: Iace46fc27ff156c07fb4d08a145269fad36e9fdb
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
It is now possible to use '*' when specifying the 'depends' qdocconf
variable, this will automatically load all index files found in
subdirectories of the index dirs.
Change-Id: I94b140df27da8d987824005a1dcf2a9348d5cd9e
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Previously the snippet text would be indented, which causes an XSLT to
render the first line of a snippet at the indentation level of the .dita
file.
Change-Id: Iead8d07277f83ca5ccbf463f1cdb1c8210459d56
Reviewed-by: Martin Smith <martin.smith@nokia.com>
Similar to the default cursor in eglfs, not having it makes it hard to
interact with Qt applications using the evdevmouse plugin.
Change-Id: I9638267c7d790d91b66620e4a82d86f299061922
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
The OpenGL context needs to be current only while flushing
the backing store.
Change-Id: I4d6a10f22bcfe04f35a14a690180237f6c691829
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
The EGLFS platform plugin was originally meant to be an example
and thus to be kept simple. However, EGLFS is becoming more
and more complex with the addition of hooks for board support,
cursor integration, built-in evdev support etc.
minimalegl is a new platform plugin that intends to follow
the original intentions of EGLFS.
The code is an adaptation of EGLFS as of f913859f8
Change-Id: I3d4cf84cde380cdcc7e0e8bfefff4df6be731b8d
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
A subclass of QDirectFbWindow might need to allocate a window with
different surface flags. This is the case for the DirectFB EGL plugin
and QSurface::OpenGLSurface type of surfaces. Add createDirectFBWindow,
make it virtual and call it from the platform integration classes. Add
an assert to verify that this method is only called once. Remove the
pre DirectFb 1.1 code as it was never really tested.
Change-Id: Icf3d262f40bca70e376043935eeb292958f6df5d
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
This autotest appears to be parallel-safe. It fails our parallel stress
test, but only because it writes to its own build directory. This
should not interfere with other autotests.
Change-Id: Ie99dde24edc0fda0c8ec4352a6e44abb7cbc54f8
Reviewed-by: Toby Tomkins <toby.tomkins@nokia.com>
Reviewed-by: Kalle Lehtonen <kalle.ju.lehtonen@nokia.com>
We have already assigned this flag in case the IDirectFBSurfaceLayer
has the capability of premultiplied alpha. Do not set it unconditionally.
Change-Id: Id5f9bd6bdfa29dc9cd35d913b61fb55c09f54864
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Remove fallback event0 device usage. All available devices should be
detected automatically from DeviceDiscovery either through udev or the
static fallback discovery method. This also removes the never used 'key'
argument, which was pulled over from Qt4.
Change-Id: Iffe8bd80f0770664024019a220cbbc6f98843340
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Task-number: QTBUG-25052
Since upgrading to Qt 5 forces a recompile there
are no longer inline versions of the acquire/release
functions in play.
Change-Id: I6ce6abe0f16f810891f32c7e8c5c94726e5de873
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
setUnifiedTitleAndToolBarOnMac will not be supported
on Qt 5, which removes the point of having this example.
The replacement for setUnifiedTitleAndToolBarOnMac
will be a NSToolBar wrapper in the MacExtras module,
and this example will probably re-appear in some form
there.
Change-Id: I46d5e70a7c45625d9334911bb48059e86f05282d
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Set NSWindowCollectionBehaviorFullScreenAuxiliary
for Qt::Popup windows. This will make them show
on the same desktop as their parent full-screen
window.
Change-Id: Ice1bd50976ef0cd66b01a683a43e08e782573153
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>