Commit Graph

4629 Commits

Author SHA1 Message Date
Bradley T. Hughes
43a6739beb Use Q_PROCESSOR_* when chosing an atomic implementation
Use the new Q_PROCESSOR_* macros to decide which headers to include in
the atomic implementation. This also removes qatomic_arm.h, which isn't
needed anymore, just select the correct qatomic_armv*.h from
qbasicatomic.h

Change-Id: I954848feafb8c420949d066ffcee1dd2b271e13b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 12:33:26 +01:00
Bradley T. Hughes
eebc124f4c Add qprocessordetection.h
This detects the target processor based on preprocessor #defines,
setting Q_PROCESSOR_${FAMILY} accordingly. Optional
Q_PROCESSOR_${FAMILY}_${REVISION/VARIANT} #defines are also provided,
usually dependent on how the compiler is invoked.

Currently detected families (and variants) include:

ARM (v5, v6, and v7)
X86 (i386 and x86_64, as X86_32 and X86_64 respectively)
IA-64
MIPS (I, II, III, IV, 32, 64)

Other families that currently are not detected, but Qt has (or had)
support for include:

Alpha
AVR32
Blackfin
PA-RISC
PowerPC (optional 64-bit variant)
S390 (and S390X 64-bit variant)
SH (and SH-4A)
SPARC (SPARC V9)

Detection for these is currently commented out, and can
be easily enabled later.

Change-Id: I571f245c189b9d80c7c3a5369ac595a271f37c8b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 12:33:11 +01:00
Andreas Holzammer
bf69cc9332 Fix QProcess compile for Windows CE.
There are no Pipes under Windows CE,
so take out the pipereader.

Change-Id: I3e6afd403ed36e86a8694674f6c4798f1226ff74
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 12:16:35 +01:00
Andreas Holzammer
e999156cb4 Disable Assertion messagebox for unittests.
A messagebox will be shown for an assertion in
debug mode. This introduces a need for user
interaction to proceed the execution of the
unit test. Setting the Report mode to debug,
will only print the assertion to stderr.

Change-Id: If8ae80ea96d6608cba77b9c6ca176f97d1680932
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 09:53:23 +01:00
Harald Fernengel
a2bea730c2 Fix qlocalsocket autotest
Lackey is currently not built due to a qscript dependency. Mark the
test as an expected failure, so we can resume testing QLocalSocket
again. See QTBUG-24142

Change-Id: I2642ed30cf7a2068f30f63801c632fea7dae7691
Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
2012-02-08 09:53:23 +01:00
Kim Motoyoshi Kalland
5240055e08 Fixed source composition with opacity in the raster paint engine.
Task-number: QTBUG-24075

Change-Id: I2b9263364bf30fb8c914823e80e7ea4a8af26035
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-08 09:53:23 +01:00
Andrew den Exter
979cb5a09e Initialize dynamic meta object extradata.
QMetaObject::invokeMethod attempts to deference the extradata for
meta objects versions 6 and greater which is causing a crash in some
of the qtquick1 tests.

Change-Id: If5b2ca83b15de2cd558976c6b681dd5457c404d1
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-08 09:53:23 +01:00
Jędrzej Nowacki
09900d3dc5 Fix position of a comment.
The comment was wrongly placed. It describes v_cast function.

Change-Id: I2390e4bf1fc19136bbbecbae4be83d5320ca244f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-08 09:53:23 +01:00
Jędrzej Nowacki
0da03ac969 Code cleanup and micro optimizations in QMetaType.
Change-Id: I0fbd713fcdf094f9d13acee855b6dd6986695e0d
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-08 09:53:23 +01:00
Andreas Holzammer
8e91e84e85 Don't include qguifunctions_wince.h in QtCore.
qguifunctions_wince.h does not live anymore in
QtCore, but instead in QtGui, so do not include
them in QtCore.

Change-Id: I22222ae7045ee0140924197ac583a3bf2e0f3d36
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 09:53:23 +01:00
José Millán Soto
4c9266fd16 Make copy and cut methods work in QAccessibleTextEdit
Correct the implementation of cutText and copyText in QAccessibleTextEdit so
they use cut() and copy() methods of QTextEdit

Cherry picked from Qt 4 - 36202cf8fca822492615d418bd563a40bee4af08

Change-Id: I86a531ed7059b1a928cb8515c2743d4d8b596b36
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-08 07:48:46 +01:00
Giotis Nikos
6b807a283c Fix qmake evaluation of QMAKE_TARGET.arch on msvc2010 x86_64
This change is needed because msvc2010 tools have a '\' character at
the end of environment variable VCINSTALLDIR. This variable on msvc2008
does not have this '\' character at its end. Without this change
QMAKE_TARGET.arch on msvc2010 x64 evaluates to x86 instead of x86_64.

Task-number: QTBUG-22686

Change-Id: Ifba833e9361c97568b8b3de9976023e8537b208a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-08 07:48:43 +01:00
Bradley T. Hughes
b113644acb Add configure, sync.profile, and header.* to OTHER_FILES in qtbase.pro
This makes these files easily locatable when using Qt Creator.

Change-Id: Ie0c15ebf2cc7045954713265bf524f2ecf1eea34
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
2012-02-08 07:40:03 +01:00
Rick Stockton
389c5f4a52 Add 'AllButtons' into Qt::MouseButton enum, for use by QML
This allows the QML programmer to set 'acceptedButtons', for a
MouseArea, to accept all buttons with a single value. In
comparison with OR'ing a long list of Qt::MouseButton values,
this is shorter, easier, more clear, and less error-prone.

Task-number: QTBUG-24106
Change-Id: I0259969223c0b44b6ce8ae84aed37d20cb77999b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Reviewed-by: Martin Jones <martin.jones@nokia.com>
2012-02-08 05:16:33 +01:00
Friedemann Kleint
193caa4451 Rebuild configure.exe.
- Windows configure: make -mp affect the Qt build itself
- Change syncqt default parameters for shadow building
- Moving tiff image format support and libtiff out of qtbase
- Add concurrent to QT_CONFIG also on Windows
- QRegularExpression: configure support for PCRE
- Remove support for the MNG file format and the bundled libmng

Change-Id: I14232ed4bb6bd90bd1d77d657d426108b4a88f47
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-08 03:14:04 +01:00
Jonathan Liu
029bad8b5a Fix compilation with MinGW-w64
Fix compilation with MinGW-w64 with the following changes:
- Include intrin.h to fix __cpuid not declared error
- Include intrin.h before *mmintrin.h headers to avoid extern linkable
  mismatch
- Use quintptr instead of unsigned long to handle LLP64
- Do not declare winuser.h structs already provided with MinGW-w64
- Work around IID_IShellItem being declared but not defined with
  MinGW-w64
- Remove incorrect use of SUCCEEDED macro on pointer

Change-Id: Ia21f8e3a1d225cf501e646eacd968bfc744ce0a2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 03:13:32 +01:00
Friedemann Kleint
a313db2c81 Fix warnings in input contexts.
Change-Id: Idbd46b8bfe73015cce98d510992b3bb57c1e1ded
Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
2012-02-08 03:13:28 +01:00
Stephen Kelly
3a706b17d3 Add the mkspecs dir to the include dirs.
Change-Id: If844785d7d3645c33e0fcb1206cc52f8ab644070
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Alexander Neundorf <neundorf@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-08 03:13:26 +01:00
Jason McDonald
26c41ed918 testlib: Clear ignored messages after every data row
Previously, ignored messages were only cleared at the end of each test
function, i.e. after all data rows were finished. This meant that if a
data row in a data-driven test function didn't cause all of the expected
messages to be generated, the remaining messages would be carried over
to the next data row.  This would result in errors about missing
messages being associated with the last data row rather than with the
correct data row.

This commit makes testlib check for missing ignored messages after
running each data row rather than only doing so after the last data
row.

This commit also adds a regression test to demonstrate that ignored
messages can no longer be carried over from one data row to another.

Change-Id: Ibee51aa6e96866fbcbcb4acee1a8340a86a6a4ba
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-08 03:13:23 +01:00
Jason McDonald
da18ada6bf testlib: Clear expected failures after every data row.
Previously, expected failures were only cleared at the end of each test
function, i.e. after all data rows were finished.  This meant that if a
data-driven test function called QEXPECT_FAIL and then didn't perform
any further verification steps to trigger the expected failure, the
expected failure would be carried over to the next data row, probably
causing the first verification step in the test function to XPASS (with
a seemingly irrelevant error message) for the next data row.

This commit adds the new function QTestResult::finishedCurrentTestData()
to cleanup after each data row is executed.  This function treats calls
to QEXPECT_FAIL without subsequent verification steps as a test failure.

This commit also adds a regression test to demonstrate that expected
failures can no longer be carried over from one data row to another. If
run against the previous version of testlib, the new test would report a
pass instead of an error.

Change-Id: Ida5c7f080815b0dca9531131fed582b0918334cb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-08 03:13:21 +01:00
Laszlo Agocs
684a1559f0 Reorganize evdev plugins
linuxinput becomes evdevmouse. The experimental touch code is removed,
now the plugin's purpose is solely to generate mouse events from
absolute and relative pointer events.  The plugin key is EvdevMouse.

touchscreen becomes evdevtouch. The plugin key is EvdevTouch.

In case keyboard support appears some day, it will fit nicely in the
system by the name of evdevkeyboard or similar.

Some little udev code is moved to platformsupport so it can be shared
between the plugins. This may be extended later if more sophisticated
udev support is needed. N.B. the intention is to keep this as simple
as possible. We are shipping these plug-ins as reference examples, not
as full-featured drivers.

evdev and udev support has configure time tests from now on. This
means the "drivers" (generic plugins) will get built automatically
when the support is available.

Change-Id: Iaf6260b5c2edfb9f25d070d2764466725adc6b4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-08 03:13:18 +01:00
José Millán Soto
009cd671ec Do not check isActiveWindow in QAccessibleWidget::state
QWidget::isActiveWindow() was being checked in QAccessibleWidget::state
to determine if a widget is focusable. As a result, focusable widgets
were reported to be not focusable when the window was not active.

Change-Id: I73c47181ed132a84f0251cb67d0e20912e29a1a6
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-08 03:13:10 +01:00
Rohan McGovern
3ae3aa0e51 Improved stability of tst_qsemaphore (especially on mac)
Timers are not entirely precise; if we ask for a timeout of
10000 milliseconds, we might time out in 9999 instead.
Also, we know the expected elapsed time in each case, so do a fuzzy
comparison against that time.

Previously the test was verifying that the elapsed time was greater than
or equal to the timeout in the case where a timeout was expected, which
means the test would not detect bugs which incorrectly caused the
timeout to occur later than it should.

(cherry picked from qt4 commit 9a2573dc13b3e8df6cd15bef64370ea407480fc7)

Change-Id: I91d0c81f989ab43a3c48f6abbb4c5b28e2b35402
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-08 02:10:51 +01:00
Rohan McGovern
f50a84008e Improved stability of tst_qhttpsocketengine
This autotest assumed that various network operations could always be
completed within 5 seconds.  Notably, it assumed that an attempt to
resolve a nonexistent hostname would always result in an error within
5 seconds.  In my testing, it usually takes 4-6 seconds to complete,
but occasionally takes as much as 13 seconds.

(cherry picked from qt4 commit c85faef67b6a7e8fcedb4ce800282d41f5b79ec1)

Change-Id: I982ecf6ebc1bb8ee2184cf5592cb2684474c870b
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-08 02:10:44 +01:00
Mark Brand
269ef14215 QSqlTableModel::removeRows(): require valid full range of rows
If an invalid range of rows is specified, it's likely to be a
programming or user error. The old behavior of ignoring out of range
rows seems dangerous and complicates the code.

Also implement the documented behavior of returning false if
changes are unsuccessful for OnFieldChange and OnRowChange.
Previously the return value of submit() was ignored.

Updated and improved documentation.

Change-Id: Iaaf51c6d9a0c8c06fd5d186b4b88358fbeab9936
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Mark Brand
f5e1da12f0 QSqlTableModel::removeRows(): don't emit extra beforeDelete
Qt 5 seems like a welcome opportunity to stop emitting this
spurious beforeDelete signal.

Change-Id: Ib8628343ca9b8fdd85c154a206c7e2bf2c4c9dc1
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Jonas Gastal
63f634322b Don't allow cd'ing to above root.
Task-number: QTBUG-23893
Change-Id: Ifc6e22f135a1f6bff7c0fa8bef3ea7e1042ae819
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2012-02-07 22:05:51 +01:00
Mark Brand
763d0a55e9 QSqlTableModelPrivate::ModifiedRow guard private data
Even though ModifiedRow is not part of the public API, guarding its
data helps make clear the intended patterns of use.

"op" and "primaryValues" are read-only after construction.

setValue() encourages maintainers to let ModifiedRow manage the
"generated" flags of the record.

The primeInsert() signal still exposes the actual record, including
the "generated" flags, which is the justification for recRef().

Change-Id: I16d1610a8f9233af78b90662b08706b48ea19c41
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Mark Brand
1247683d40 QSqlTableModelPrivate: deduplicate field stripping logic
Change-Id: Ic969a192644e84d78558da0f19e588033e4af43d
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-07 22:05:51 +01:00
Bradley T. Hughes
7e4232f10a Fix src/concurrent/concurrent.pro
First, heed the warning from qmake and add load(qt_module) to the
top of src/concurrent/concurrent.pro

Second, qtconcurrentversion.h is in src/concurrent, not src/xml

Change-Id: If4fc55ac2fe21c093023b377195ed82a54d8c963
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 20:05:12 +01:00
Andreas Holzammer
194d2ca5c3 Use Q_OS_WINCE instead of Q_WS_WINCE
Window system defines have been deprecated,
so use Q_OS_WINCE instead.

Change-Id: I52059d0f854fe783ac20610ab248800c3e1e827c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:04:44 +01:00
Andreas Holzammer
3cb871241a Fix compilation with QT_NO_PRINTER.
Change-Id: Iacfa47b8d384461ce08202a9a8e1642288cbe1e6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:04:04 +01:00
Jonathan Liu
b03cabc4cd Change WId to be a quintptr.
Fix compilation with MinGW-w64: Use quintptr instead of
unsigned long as WId needs to be able to cast to
HWND which is a 64-bit pointer on Windows 64-bit.

Acked-by: Samuel Rødal <samuel.rodal@nokia.com>

Change-Id: I7bbe83ce02b739eb04218ca4b6b478509347d515
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:03:50 +01:00
Andreas Holzammer
de7e3a7db7 Fix include of resource file.
The file was moved, but got never renamed.

Change-Id: I4f13d87976cf35a1e14b9a8c178050332f45b7ee
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 20:03:43 +01:00
Friedemann Kleint
8e1107fb22 Fix compiler warnings in accessible code.
- Add missing return value.
- Remove unused static functions.

Change-Id: I0271cacc2a01b33209c4d9d2d958ad89924f8951
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-07 20:03:43 +01:00
Shane Kearns
deea48ef6a Fix QFile autotest not to require elevated privilege to pass
The open test case tests opening a device path on windows.
As this requires privilege elevation, the test fails when running
nmake check from a console.
As the CI machines appear to run tests with admin privileges, first
check opening the device using the windows API. If that succeeds, then
opening using QFile should succeed. If that fails, the opening using
QFile should fail.
(Since Windows vista, members of the "administrators" group do not run
at elevated privilege all the time. The user needs to opt in via a
UAC prompt or "run as administrator". This is similar to using the
sudo command on unix)

Ran the test as administrator and normally. Now passes in both cases.

Change-Id: Ibd7682eceb61e35d4912fa0392df536f4331f6ed
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-07 20:03:43 +01:00
Stephen Kelly
1de30075a2 Add missing subdirectory test.
Change-Id: If59f124ce8be520c8c8692ac4f1400552749557b
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-07 18:05:06 +01:00
Stephen Kelly
8aeb70ed36 Add special casing for static modules.
QtUITools is a static library, so we need to mark that in its
CMakeConfig.cmake file.

Change-Id: I4e3684f7c62f4af28956a6e8f58edce7724f50dd
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 17:55:33 +01:00
Kim Motoyoshi Kalland
9c31f6793e Fixed jagged lines when drawing scaled image with raster engine.
Task-number: QTBUG-24055

Change-Id: I97a0bf3711e1b4423e2c76ec907c9e2a57522ff9
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-07 15:52:31 +01:00
Kim Motoyoshi Kalland
ba1cf5dae3 Removed image format specific template functions in raster engine.
Simplified the raster engine by treating image formats in a more
generic way and removed some unused code.

Change-Id: Ib3979a1a6e3e6f17c5002248545779ec36fff7c9
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-07 15:52:01 +01:00
Andreas Holzammer
fe2344bd44 Use the QNX implementation of mkdtemp for win and wince.
There is no mktemp for Windows CE, nor mkdtemp. So use the
implementation for QNX for Windows CE too, to simplify
the implementation use it for windows too.

Change-Id: Icddaf474a2d696752d8f9774fb4f033454e34e83
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 12:48:23 +01:00
jian liang
e09025c1b6 fix memory leak of QLibraryPrivate
this commit is aimed to fix QTBUG-4341. now QFactoryLoaderPrivate's
destructor will call unload() to QLibaryPrivate object which will destory
the plugin's root instance if its refcount reach zero.

Task-number: QTBUG-4341
Change-Id: I3cd3e071b34271bf5802ab09f6c125beda5e9844
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2012-02-07 12:48:06 +01:00
Bradley T. Hughes
3722bc5d3c Ensure that posted events are sent by Q*Application::processEvents()
Commit b7ca6a81db removed a call to
sendPostedEvents() that deemed unnecessary. Unfortunately, it is
necessary, as shown by the
tst_QScriptEngine::processEventsWhileRunning() test in the QtScript
module. Re-add the call, but only when not waiting for more events.

Change-Id: I648d66dd3ba484ad9e9a93fc03a9792cca5035c6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@nokia.com>
2012-02-07 12:47:25 +01:00
Caroline Chao
36f5cc848d CodeCoverage: Save coverage data in QTestLog::stopLogging()
Currently when tests are crashing, aborting or hanging, their status are
reported with a status "Unknown" because SaveCoverageTool is never called
for them. The status of the test given by the coverage tool should be the
same as the one reported in the log output when the test is run. This change
will allow more accuracy in the status reported.

Add QTestResult::setCurrentAppname and QTestResult::currentAppname.
To retrieve the name of the current application running.

Task-number: QTQAINFRA-460

Change-Id: Icc476dc2d6cb28185e5447f1e79da6a8a31cad54
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-07 12:43:34 +01:00
Friedemann Kleint
6a75785f49 Compile with -no-freetype.
Fix breakage introduced by
3f75fb8d8f.

Task-number: QTBUG-24091
Change-Id: I322bbab382a5e375dccd4273c70a0ed8b525d125
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-07 10:12:33 +01:00
João Abecasis
5a92dd6124 Detect incompatibilities in repeated type registration
QMetaType used to register a typeName and factory functions for
creation/destruction of objects. While it would be possible for a single
type name to be registered matching different actual types and memory
layouts, there was little that could be done about it.

Now that QMetaType is tracking type information with a direct impact on
data layout and ABI (size and type flags) it is important that we check
and detect binary incompatibilities as early as possible.

[Such incompatibilities could arise from type name re-use (technically,
ODR violations) or, more commonly, as version mismatch between different
shared libraries or plugins.]

Only type size and flags are checked as function pointers to inline and
template or otherwise non-exported functions could trivially differ
across translation units and shared libraries.

When registering typedef types, a check is made to ensure the same name
doesn't get registered as different types.

Change-Id: I8211c3de75d4854ce8fafdb620d3a931c206e0c3
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-07 09:47:51 +01:00
Jędrzej Nowacki
b8cf1d6bdc Remove QMetaType::unregisterType().
The function hasn't been working properly. It was not well tested, for
example it is undefined how QVariant should behave if it contains an
instance of an unregistered type.

Concept of unregistering types was inspired by plug-in system, but in
most supported platforms we do not unload plug-ins.

Idea of type unregistering may block optimizations in meta object
system, because it would be not possible to cache a type id.
QMetaType::type() could return different ids for the same name.

Currently QMetaType::unregisterType() is not used in Qt.

Change-Id: I878b6e8d91de99f9bcefeab73af2e2ba0bd0cba0
Reviewed-by: Prasanth Ullattil <prasanth.ullattil@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
2012-02-07 08:53:18 +01:00
Jędrzej Nowacki
56265031b7 Align QVariant::UserType and QMetaType::User
There is no point in keeping separate values which should mean the
same.

QVariant::UserType was used also to construct a valid, null QVariant,
containing an instance of unknown custom type. The concept was strange
and useless as there was no operation that could be done on such
QVariant. Therefore it was dropped.

Please note that the patch slightly changes behavior of different
functions accepting a type id as parameter. Before QVariant::UserType
was an invalid type from QMetaType perspective (id 127 was not assigned
to any built-in type), but QMetaType::User points to the first registered
custom type.

Change-Id: I5c7d541a9affdcdacf53a4eda2272bdafaa87b71
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
2012-02-07 08:52:32 +01:00
Martin Petersson
a650500729 tst_qnetworkreply: remove no such signal warnings
The QNetworkReply finished signal does not have a bool parameter.

Change-Id: I87bd0410545f7a2fc2ab63cca90548f0585bf7a0
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
2012-02-07 08:42:58 +01:00
Jason McDonald
9221757cde Fix error in qgraphicsanchorlayout1 autotest.
QTest::ignoreMessage() cannot be called when creating test data rows,
but rather must be called when executing a row.

Change-Id: Ic958c4e5c15dd53a48479099b6b07803af6cb789
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-07 08:29:19 +01:00