Commit Graph

7317 Commits

Author SHA1 Message Date
Kent Hansen
1e778ebd06 Move implementation of QObject::senderSignalIndex() to QObjectPrivate
In preparation of changing the implementation to return an index in
the signals-only range, not all-methods range.

Change-Id: Ib743a4bc9da27ad776ade262b215ebf988e7ab28
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-06-01 01:21:43 +02:00
Kent Hansen
87d7545cd0 Fix To-Do in qstatemachine (use QObject::senderSignalIndex())
Change-Id: Id8a541878918f27a34595ff297d0f41b79275a96
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-06-01 01:21:40 +02:00
Girish Ramakrishnan
3aac6768f8 Move evdev to platformsupport
Also wraps various string literals with QLatin1String.

Change-Id: Ia0681bfae00006d9e9ad51f05d0e0d0f45cf2cec
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Donald Carr <donald.carr@nokia.com>
2012-06-01 01:21:24 +02:00
Miikka Heikkinen
32fa7a5410 Fix tst_qlistwidget::fastScroll test case
tst_qlistwidget::fastScroll fails if the mouse cursor happens to be
over the tested widget, because that causes an item to highlight,
resulting in unexpected region of widget to be painted. Fixed by
forcing the mouse cursor off the widget before the test.

Task-number: QTBUG-24299
Change-Id: I8f45541feda44681179d43eda67d970d5fea4e40
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-06-01 01:21:17 +02:00
Thiago Macieira
2a5ec0403c Remove the unnecessary comment about operator== not being necessary
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>
2012-05-31 17:57:50 +02:00
Thiago Macieira
6a6fd56e66 Move the sub-architecture feature to better places in qmake
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>
2012-05-31 17:55:49 +02:00
Thiago Macieira
05dc32ef6c Fix the confusion caused by the QT_ALWAYS_HAVE_xxx macros
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>
2012-05-31 17:55:43 +02:00
Thiago Macieira
398c8513b1 Overhaul the qsimd_p.h: rename macros and update conditionals
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>
2012-05-31 17:55:37 +02:00
Laszlo Agocs
5cbdba588a Fix int-long mismatch in device discovery
Change-Id: I506fc206e68d57b67524cedf99896db1cff1694f
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
2012-05-31 17:49:54 +02:00
Laszlo Agocs
115f45ff41 Prevent evdevkeyboard file opening from failing
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>
2012-05-31 17:49:50 +02:00
Girish Ramakrishnan
56cfd5d83f Add QObject parent parameter to constructors
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>
2012-05-31 17:49:39 +02:00
John Layt
f70924e9cc QtPrintSupport: Add CUPS printsupport plugin
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>
2012-05-31 17:40:55 +02:00
Kent Hansen
704bd68631 Include qobject_p.h from qmetaobject_p.h
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>
2012-05-31 09:38:07 +02:00
Kent Hansen
ec508e9a6a Don't call metaObject() redundantly
The desired meta-object is already stored in a local variable.

Change-Id: I40c7840f07f5dbd67110e2f7d5bb618cbb269047
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-31 09:37:57 +02:00
Kent Hansen
d0c0360392 Don't call metaObject()->method() redundantly
The desired method is already stored in a local variable.

Change-Id: Ibf0078813c7aebc83604b9c7ad9a8b6c596c5c65
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-31 09:37:50 +02:00
Girish Ramakrishnan
8710c900d6 eglfs: allow cursor to be created without a context
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>
2012-05-31 09:25:56 +02:00
Jiang Jiang
47462ffd68 Make fontconfig default font locale aware
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>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
94492d88a7 Remove QCursor::handle
This used to be the Qt/Embedded's QCursor handle implementation.

Change-Id: I31b8ed44ac9325defcb13d887949d9536a262be8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
8d27345327 QCursor: Remove doc of obsolete functions
These functions don't exist in QPA land.

Change-Id: I50c0588cf03ed64878c8ed864dc18a7558b20156
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-05-31 09:13:01 +02:00
Tasuku Suzuki
241992ad0d remove QT_NO_SOUND and QT_NO_RASTERCALLBACKS
These two defines are not used.

Change-Id: Iec4ae95a8a2222d3c6e9f35b08954cf30aa15bda
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-05-31 09:13:01 +02:00
Laszlo Agocs
b551d5e4f7 QPA tablet event support
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>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
ce7b3c9720 Remove QRegion::handle
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>
2012-05-31 09:13:01 +02:00
Girish Ramakrishnan
7a2f63feb6 Remove QFont::handle
This function is unavailable in QPA land.

Change-Id: I43bb95d64e3abaa2fbcd8de07ca39c1d28f46f42
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
2012-05-31 09:13:01 +02:00
Friedemann Kleint
e7f1106edb Windows: Add ANGLE support.
- 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>
2012-05-31 09:13:01 +02:00
Rohan McGovern
b63e101a90 Make tst_qnetworkdiskcache parallel-safe
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>
2012-05-31 05:37:28 +02:00
Rohan McGovern
c09b5f5ad8 Improved stability of tst_qstatemachine, mark as parallel-safe
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>
2012-05-31 05:37:25 +02:00
Rohan McGovern
af8fa2794b Make tst_qtextstream parallel-safe.
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>
2012-05-31 05:37:25 +02:00
Rohan McGovern
26631bec9f Marked tst_qtemporaryfile as parallel-safe
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>
2012-05-31 05:37:22 +02:00
Rohan McGovern
489dd2804b Marked tst_qfile as parallel-safe
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>
2012-05-31 05:37:19 +02:00
Jiang Jiang
604fe65cb3 Eliminate a warning in unsigned integer comparison
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>
2012-05-31 02:06:42 +02:00
Janne Anttila
adbf443c47 Fix digiflip example build.
digiflip examples depends on qtwidgets, let's link to it also.

Change-Id: I4f4434c747d143942909797491153a4f358e6fef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-05-31 02:06:42 +02:00
kb
baed7bd5a7 Fix typo in temporary filename
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>
2012-05-31 02:06:42 +02:00
Casper van Donderen
62fc26df0d QDoc: Remove fatal exit when not finding an index directory.
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>
2012-05-30 23:58:56 +02:00
Donald Carr
dce42ebd23 Add hard float-abi support to Raspberry Pi spec
Change-Id: I1bed28bdb5f84e61605972713a20359cc6deeaa6
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-05-30 23:55:35 +02:00
Bradley T. Hughes
6deebc8170 Compile with clang when C++11 support is enabled
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>
2012-05-30 19:30:58 +02:00
Holger Hans Peter Freyther
44bc32d9c5 directfb: Allocate a special surface for OpenGL
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>
2012-05-30 19:29:35 +02:00
Thiago Macieira
735f7e6248 Record the sub-architecture (CPU features enabled in the compiler)
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>
2012-05-30 17:28:07 +02:00
Thiago Macieira
1533bfc5fc Improve the architecture-detection mechanism
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>
2012-05-30 17:27:56 +02:00
Jędrzej Nowacki
d17cf14185 Implement QVector with QArrayData interface.
Change-Id: I109f46892aed2f6024459812d24922b12358814d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-05-30 17:07:27 +02:00
Jiang Jiang
5131aefc1f Fix text decoration width rounding
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>
2012-05-30 16:34:25 +02:00
Casper van Donderen
60fb770fa7 QDoc: Add support for 'all subfolders' in dependant modules.
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>
2012-05-30 11:13:55 +02:00
Casper van Donderen
28ae5aa332 QDoc: Force writing \n before a snippet in DITAXML.
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>
2012-05-30 11:13:46 +02:00
Samuel Rødal
4f539b2671 KMS platform plugin: Introduce default cursor for better usability.
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>
2012-05-30 11:11:02 +02:00
Girish Ramakrishnan
e18569ee1d eglfs: keep context active only during flush
The OpenGL context needs to be current only while flushing
the backing store.

Change-Id: I4d6a10f22bcfe04f35a14a690180237f6c691829
Reviewed-by: Andy Nichols <andy.nichols@nokia.com>
2012-05-30 11:10:42 +02:00
Girish Ramakrishnan
0cb7dac534 Add minimalegl QPA platform plugin
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>
2012-05-30 08:30:42 +02:00
Holger Hans Peter Freyther
9e424adbdd directfb: Allow a window subclass to allocate a different kind of surface
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>
2012-05-30 08:30:42 +02:00
Girish Ramakrishnan
56fca8ce14 Fix compile error in eglconvenience
Change-Id: Ic20d890a9c59e21a5f0c81f961074ab02083a266
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
2012-05-30 06:29:10 +02:00
Rohan McGovern
46ae50a5d0 Marked tst_qprocess as parallel-safe
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>
2012-05-30 06:29:10 +02:00
Holger Hans Peter Freyther
717ca1a2a6 directfb: description.surface_caps was already assigned conditionally
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>
2012-05-30 04:27:50 +02:00
Johannes Zellner
e6a4d6054d evdev: Cleanup mouse and keyboard plugins
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>
2012-05-30 04:25:48 +02:00