Commit Graph

4293 Commits

Author SHA1 Message Date
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
Jason McDonald
cfd8a9a448 Fix error in qcssparser autotest.
QTest::ignoreMessage() cannot be called when creating test data rows,
but rather must be called when executing a row.

Change-Id: Ifceaff4c5a7f1b6408ec57196298e3f3038910c9
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-07 08:29:06 +01:00
Bradley T. Hughes
4a1f1b9be0 Make syncqt ignore qsystemdetection.h and qcompilerdetection.h
Remove the #if 0'd blocks and instead add these headers to
sync.profile's @ignore_for_include_check, as documented at

http://wiki.qt-project.org/Creating_a_new_module_or_tool_for_Qt#other_fields

Change-Id: I3bd6e8cb21eca139fdca10fe970eeaf2e4e77c24
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-07 03:40:40 +01:00
Jan-Arve Saether
1564b393fe Compile MSVC2008
Change-Id: Ie89ec4095e8865dbc4781bff0db70f35d239664e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-06 20:43:54 +01:00
Samuel Rødal
dbe89db686 Fixed typo in QOpenGLContext warning message.
Change-Id: I967279f4b4875ae80ce45744d559fc7380bc0125
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
2012-02-06 16:49:55 +01:00
Laszlo Agocs
16c4224568 Destroy the QWindow children in destroy() instead of close()
When closing a window, destroy() ensures a setVisible(false) call only
for the window itself, not for other windows parented to it. With the
new quit lock ref feature this breaks code that creates a fake root
window parented to the main, visible window. (for example the
xcomposite backends of qtwayland do this)

Such apps do not anymore exit after closing their window because the
children do not receive a deref due to setVisible not getting called.
(At that point. It would get called after exiting the event loop but
that never happens due to the refcounting)

Change-Id: I124737c80ad59600ddc79261100f3904af0f410d
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-06 16:48:22 +01:00
João Abecasis
5d255789cd Remove dependency on QFSFileEngine
The code was hard-wired to use QFSFileEngine to determine platform
preference for file system case sensitivity. In this case it is cheaper
to use private API and directly access the information in
QFileSystemEngine.

This change is also necessary because file engines are being dropped
from the public API.

Change-Id: I5015d5fdb3979af9ff2d114084053ad06220d834
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-06 16:48:22 +01:00
João Abecasis
eeb9861a91 Inline information about FS case sensitivity
As far as Qt is concerned, this information is static and depends only
on the platform. By moving the definition to the header we allow the
information to be directly used by the compiler, forgoing the need to
export the function to interested users.

Change-Id: I43de585391d41204d3c3560ac6e65e5a88aee11c
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Shane Kearns <ext-shane.2.kearns@nokia.com>
2012-02-06 16:48:22 +01:00
jian liang
effbc9edc5 Fix memory leak of QFontEngineBox object
Delete QFontEngineBox object in QFontDatabase::load() if the object can not
be used.

Change-Id: Ifb055809703fb6be92f41fd56658198df30837fd
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-06 16:48:22 +01:00
Jędrzej Nowacki
1bc8af96c9 Add missing header in kernel.pri
qobject_impl.h file was missing.

Change-Id: I1701808595933c2462cbc8151961cf9bf9791b64
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-06 16:48:22 +01:00
Jiang Jiang
a3566649d1 Add distance field generation functions from Scenegraph
Since we may use distance field text rendering in raster, these
functions need to be moved from declarative to QtGui.

Change-Id: I158bc3bae02b5590ae812f06ad7a78a5914bcb9e
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-06 16:48:22 +01:00
Friedemann Kleint
8cb26f8511 Complete split of QtConcurrent.
- Fix exports.
- Fix tests.

Acked-by:  Thiago Macieira <thiago.macieira@intel.com>

Change-Id: I2df923ba74b468f5ee09b3a48ae3d09920751365
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-06 16:48:22 +01:00
Bradley T. Hughes
86ee853f47 Silence syncqt warnings for atomic implementation headers
Most of these headers are either forwarding headers, or we explicitly
stop syncqt so that it doesn't generate class includes for the atomic
implementation. Either way, syncqt doesn't see the QT_END_* (and
sometimes not QT_BEGIN_*), which this commit fixes.

Change-Id: Icc8da6f384f38b1ff4eb265c731ce2f2ed92a1a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:50:43 +01:00
Bradley T. Hughes
73e8ba9aff Change #include "qlogging.h" to <QtCore/qlogging.h> in qglobal.h
This silences the warning from syncqt:

QtCore: WARNING: qtbase/src/corelib/global/qglobal.h includes qlogging.h
when it should include QtCore/qlogging.h

Change-Id: I64bd92898190031eb0d3d1dfa5ba5bc56db01c00
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:50:36 +01:00
Bradley T. Hughes
475cef58f9 Move compiler detection from qglobal.h to a separate header
qcompilerdetection.h is included from qglobal.h, and does all Q_CC_*
and compiler feature detection.

Change-Id: Idd06054e172ef6fa73774e26fa38753996c4161b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:32:32 +01:00
Bradley T. Hughes
ba3dc5f3b5 Move operating system detection from qglobal.h to a separate header
qsystemdetection.h is included from qglobal.h, and does all Q_OS_*
detection

A side-effect of this change is that QT_BEGIN_HEADER and QT_END_HEADER
started being defined on Mac OS X, which ends up breaking the build
in some cases. Since QT_BEGIN_HEADER and QT_END_HEADER have been
defined to nothing in the past, even on Mac OS X, change these 2
to be unconditionally defined to nothing.

Change-Id: Ibc8a0aa2207664741c25627d7621e006c2ce80d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-06 14:32:09 +01:00
Friedemann Kleint
3282b060d1 Windows XP style: Fix warnings wrt retrieving HANDLE from 0-window.
Exclude invisible top level dialogs for whom a native
dialog is being shown from top-level search.

Change-Id: Ia94599905457d81d342c14d09ad0b0fc89ec4ab1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-06 10:15:09 +01:00
Jan-Arve Saether
1d18fd0164 Remove QAccessible::FocusChild, add focusChild()
Also cleanup (reduce) all implementations of navigate() in order
to make the final removal of navigate smoother.

Change-Id: I2c216db8f5b2e40afcce8f859fc775053adc2fe3
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
2012-02-06 10:15:09 +01:00
Frederik Gladhorn
fdf9ee1291 Add accessible role Terminal.
Forward ported from Qt 4.

This is used to mark the role of VTs, terminal emulators.
Needed in order to know about the special editing behavior.
In order to make for example KDE's Konsole accessible this is required.

reviewed-by: jan-arve sæther <jan-arve.saether@nokia.com>
(cherry picked from commit 8ca33c6f1643ab5e89699fbf8b80bfaae108b1e5)

Change-Id: Ic7beb2ae2ee70f2c526c7ec5bf982bec7ba9feda
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
2012-02-06 10:15:09 +01:00
Rafael Roquetto
c051d3350e Use available geometry when maximized.
Use the available geometry as a maximized window would fit on the
desktop in the available area (some space is used up by task bar,
system menu, etc.) as opposed to the fullscreen geometry which
would be the entire screen.

Change-Id: Ifa7046c5b13e162727a9b3a54178690c631cc969
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Anselmo L. S. Melo <anselmo.melo@openbossa.org>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-06 08:21:06 +01:00
Miikka Heikkinen
be7c760fb5 Enable basic gesture support for WEC7.
This commit adds basic gesture support to WEC7 Qt builds, which
enables developer to create custom gesture recognizers based on mouse
events.

Note that QTouchEvents are not yet generated in WEC7 Qt builds, so
recognizers based on those cannot be created.

Task-number: QTBUG-22517
Change-Id: Ic6218500b28b78ca8edec3edebd00d84c308a182
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-06 05:15:11 +01:00
Friedemann Kleint
9f54846d95 qmake: Work around MSVC compiler bug.
Disable optimization for getProjectUUID() as it triggers
ASSERT: "&other != this" at qstring.h:720 with -O2.

Change-Id: I51b31d4318ba9be187c186623099171d8f48235b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 19:03:18 +01:00
Mark Brand
60f24ec608 reduce cost of checking cache for data() and headerData()
Assume requested row is usually not cached.

Change-Id: I7727b431cc3841528aa6390400b93b1218773e65
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:44 +01:00
Mark Brand
e5c8927fe8 QSqlTableModel::setData(): comment historical idiosyncracies
Change-Id: I5c4782e18dc7a471dc294a4146db04f1efd3ed2e
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:39 +01:00
Mark Brand
f6e3f24683 refactor QSqlTableModel::setData()
-move logic out of switch statement
-clear cache more clearly for OnFieldChange
-call setValue() in one place instead of two
-eliminate extra return path

Existing idiosyncracies have been kept for the time
being.

Change-Id: Ia4c5a5fd3e374b53e3c4d870f2ee9d37b5090917
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:35 +01:00
Mark Brand
11bd543d90 refactor QSqlTableModel::setRecord()
-Do not use setData()
We're using ModifiedRow now so it makes sense to buffer the changes
and submit the row at once. This improves readability and
encourages further haromonization of the editing strategies.

-No longer need temporary change to OnRowChange
Previously, the strategy was temporarily changed from OnFieldChange
to OnRowChange in order to obtain the desired behavior from setData().
Now, since we don't use setData(), we can program the desired behavior
here and don't need this trick.

-Comment historical idiosyncracies/bugs

Change-Id: I6d9e2a69e1571a74c630ad1392e15b60fc0ad3f2
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:30 +01:00
Mark Brand
ccaa6734f1 merge private and public QSqlTableModel::setRecord()
Change-Id: I409bd32f85224db64363688d63fc372d1beaa0d3
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:26 +01:00
Mark Brand
48c68b0546 ModifiedRow: use for all edit strategies
Previously ModifiedRow was used only for OnManualSubmit and
a seperate buffer and utility methods were used for OnFieldChange
and OnRowChange.

Also, initialization of the edit buffer is done by ModifiedRow
instead of a helper function.

Change-Id: I3316498e5bb10c416138ca14c3a7f8b143c8e544
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-05 17:50:21 +01:00
John Layt
23457bd6d9 SIC: QLocale: Make QSystemLocale a private class
As discussed on list and approved by Lars and Thiago.

Make QSystemLocale private to give us time and space to change it to a
better implementation.

Change-Id: Ifd806972f3996c43a876f544f78c6557ad71cd75
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-05 17:50:04 +01:00
John Layt
29c4a27a94 SIC: QLocale: Remove base argument from conversion to number api
As discussed on list and approved by Lars and Thiago.

Remove the option to use QLocale to convert strings to non-decimal
numbers as they are not localised and the api is available in QString.

Change-Id: Ib810505ba86fb08ad23571b39f1520e86fde6787
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 17:49:56 +01:00
John Layt
1e3833bed8 QString: Make convert to number methods only use C locale
Ensure consistent conversions by not using the system default locale.

Change-Id: I60db9fc4f465c0254f3213419e57d7879aaddd65
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-05 17:49:42 +01:00
Lars Knoll
96501b0a18 Move QtConcurrent into its own module
Task-number: QTBUG-20892

Change-Id: I614500aafb6428915509983608bbb0ade4e4f016
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-05 17:49:16 +01:00
Samuli Piippo
c8156cab81 Exclude helloconcurrent when QtConcurrent is not configured
Task-number: QTBUG-23874
Change-Id: I374a08ce947e804ebb1da08c413e340e4719d9d0
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-05 17:49:10 +01:00
Jędrzej Nowacki
92b1124752 Add movability tests for QByteArray.
QByteArray is declared as movable but it was not tested before.

Change-Id: I4fb636f8705c3fd792a768872206203ee5fd4ddb
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-05 13:07:56 +01:00
Jędrzej Nowacki
c9319f17f4 Do not crash trying to load or save QModelIndex.
QModelIndex doesn't have data stream operators loading or saving this
type should gracefully fail.

Change-Id: I6a1a3bab3f83ff4921369a07fdb54ac462eff554
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-05 13:06:02 +01:00
Jędrzej Nowacki
d97fd99270 Reimplement QMetaType::destroy.
New implementation is using QMetaTypeSwitcher, which should reduce
maintenance costs.

Change-Id: Ibb7bb4b9de0e19c081c087d9eebf0c709118d3b4
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-05 12:33:30 +01:00
Nick Ratelle
72c0731122 Fixes QIconvCodec::convertToUnicode()
We need to hang onto the internal state of the utf16 converter
object whenever converting a long string to unicode. This was
failing with the text stream class -- the first read was okay,
but subsequent reads could not be correctly converted to unicode.

Change-Id: I9e2d445d51c9009591bfa7a1765ea2d09ae634a2
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
2012-02-05 10:07:48 +01:00