Commit Graph

4385 Commits

Author SHA1 Message Date
Thorbjørn Lund Martsum
73a5bc2aac QHeaderView - minor bug in visualIndexAt
This fixes a minor bug in VisualIndex triggered when calling
resizeSection with size 0 (but not hideSection).

It is mostly cosmetics - however hopefully there will soon
be a minor refactoring and there is really no need to make
strange code to keep a semantic bug.

However it is also doubtful to make a semantic change
while refactoring.

Change-Id: Ide153e421fd7a634062cb74867f4a49da4bf9cd6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 00:27:44 +01:00
Andreas Holzammer
2b42987d0a Dont build printer support for Windows CE.
Windows CE has no printing support, so we
can disable this.

Change-Id: I0ec83dff2d045de56d613cd676e9eb290145bf41
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-10 00:27:44 +01:00
Oswald Buddenhagen
dc810b81a3 compile without rtti
no point in it

Change-Id: Id6ad95c197095131c6c100afe37b3d48adb157d1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:13:34 +01:00
Oswald Buddenhagen
946501ab35 remove pointless include paths
we rely on a syncqt'd tree anyway

Change-Id: I23b288b98a5e9289993b058f7dce02e19564c67a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:13:19 +01:00
Oswald Buddenhagen
cb03577711 properly enable stl via qmake instead of hacking compiler flags
Change-Id: I2c037c9a28043afe53167a766bce7c9d09b8f3a3
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:13:06 +01:00
Oswald Buddenhagen
2091d4c33a build with QT_NO_GEOM_VARIANT
saves us some pointless code

Change-Id: I24e4fe4107f44ab579c0f951551c4138713a749f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:12:43 +01:00
Oswald Buddenhagen
2b969b89b9 add missing errno.h include
it was masked by the precompiled header

Change-Id: I9ba7b0faa716cfa6844b9a9f81fa2a3aa67f5da4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:12:37 +01:00
Oswald Buddenhagen
0678a7db8e remove bizarre magic from precompiled header
it doesn't serve any puropse (any more?) and it breaks the mingw build.

Change-Id: I02a5e7502586e7e9f5956991498ff602eff66e81
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:12:30 +01:00
Oswald Buddenhagen
af93c70de7 consolidate Read* options
this brings some clarity which combinations are actually possible, which
allows for some optimization later on.

Change-Id: I930027e426c5f9abea8d21eb1ebaa39bd29787b8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
2012-02-09 22:11:13 +01:00
Friedemann Kleint
41914453d3 Introduce QScreen::grabWindow(), deprecate QPixmap::grabWindow().
WId can be local to a screen.

Change-Id: I09ca71313836a34dbf33289b254c80207a956bb1
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-09 21:35:52 +01:00
Kai Koehne
be98fa32c7 Allow customization of qDebug output at runtime
Check the QT_OUTPUT_PATTERN environment variable in the default
message handler to customize the output of messages. Following
place holders are right now supported:
 %{message}, %{type}, %{file}, %{line}, %{function}

The original cleanupFuncinfo was written by Thiago Macieira.

Change-Id: I6ad25baaa0e6a1c9f886105d2a93ef3310e512a9
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: David Faure <faure@kde.org>
2012-02-09 18:11:21 +01:00
Nick Ratelle
e7e8799304 Initializes seqDumpPos on qiodevice.cpp
This was spotted by RIM static code checking team. seqDumpPos is a dummy
variable which is only used on sequential mode. It is used as a
simultaneous storage area of both pPos and pDevicePos when in sequential mode,
to keep both in sync. They just suggested that it would be a good practice to
initialize the variable, since it does not have any side effect, and there's
not much value on not doing it.

Change-Id: I8138729eb31df5779c91b368c2cfaecd39788f29
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
2012-02-09 17:45:38 +01:00
Laszlo Agocs
d5268eabfb Add event type for TouchCancel.
Change-Id: Id8b68e5cb19a2a325139e3241647cc36581cf6f8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-09 13:13:37 +01:00
Jiang Jiang
4af285c7d1 Preserve weight and style request for multi font engines
So that fallback fonts can pickup the weight/style requested instead
of using the weight and style of the primary font.

Change-Id: Ia592e079cad61334f21e0453412b198a900bb6b6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-09 12:54:29 +01:00
Miikka Heikkinen
581f079b04 Make "nmake check" pass for corelib tests in Windows.
- Marked four tests insignificant due to failures, these need to be
  fixed later and then re-enabled:
  - tst_qfilesystemwatcher
  - tst_qsettings
  - tst_qlibrary
  - tst_qsharedpointer
- Skipped one invalid case (tst_QCoreApplication::argc())
- Ifdeffed around vsprintf issue in MSVC (tst_QByteArray::qvsnprintf())

Task-number: QTBUG-24157
Task-number: QTBUG-24146
Task-number: QTBUG-24128
Change-Id: I4db957a65fbf0093f5ae3dc1a04d792492818104
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
2012-02-09 12:52:28 +01:00
Teemu Katajisto
7aca5aa910 Various documentation fixes ported from 4.8
Selected documentation fixes for qtbase from 4.8 commit
40fb4750910e23d3e7128ca8e0f1c5920b05bd5a

Task-number: QTBUG-8625
Task-number: QTBUG-19808
Task-number: QTBUG-1231
Task-number: QTBUG-21073
Task-number: QTBUG-8939
Task-number: QTBUG-20399
Task-number: QTBUG-20944
Task-number: QTBUG-22095
Task-number: QTBUG-11278
Task-number: QTBUG-15653

Change-Id: Ia4f59fce7c85f04b6da953a3988f705d9d9a658a
Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
2012-02-09 12:51:57 +01:00
Albert Astals Cid
651016020f Take into account shaping in findRealWindow
It can happen that there is a window covering all the screen but it is shaped
to only take part of the screen. If that happens, besides the condition of
   QRect(attr.x,attr.y,attr.width,attr.height).contains(pos)
we also need to query the server for its region rectangles and make
sure the cursor is inside one of those rectangles. If that does not happen
we have to return 0 so the hierarchical xcb_query_tree_children xcb_query_tree_childrenntinues

Change-Id: I67327672e3d854d064190b55a07bd56ade4dfddb
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-09 10:50:20 +01:00
Rohan McGovern
5cd73e5088 Fixed tst_qfileinfo::group crash if getgrgid fails
QVERIFY2 and gracefully fail with an error message, rather than
crashing, if getgrgid() fails.

Change-Id: I82a7290f83208486577988cc831d5d3cba20f98e
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
2012-02-09 10:47:33 +01:00
Jiang Jiang
3e720809b0 Eliminate a warning
Change-Id: I984821d90df272b85d02c6ee0db5a89174d80873
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
2012-02-09 10:46:34 +01:00
Andreas Holzammer
ef7fd67845 Replace Q_WS_WINCE against Q_OS_WINCE.
Window system Macros where deprecated so use
Q_OS_WINCE for now. This code will need
some refactoring, but this is the first
step to it.

Change-Id: I5876b80ee45d4b38ac63fc7d51e775dc70bbd485
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-09 10:45:38 +01:00
Rohan McGovern
adfca27ac0 Fixed tst_qobject::property for clang
The test was failing at:

  QCOMPARE(property.userType(), qMetaTypeId<CustomType*>());

The CustomType* metatype was not registered before this part of the
test.

qMetaTypeId<T> will register the metatype for T before returning it if
it is not yet registered, while QMetaProperty::userType() returns 0 if
the metatype is not yet registered.  However, the order of evaluation of
these two expressions in the above statement is technically undefined.

Apparently, gcc evaluates the arguments in order from right to left,
allowing the test to pass, while clang evaluates the arguments in order
from left to right, causing the test to fail.

Change-Id: I5059556e860cec29b57c31e4e26f46cf9e6055da
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-02-09 10:45:38 +01:00
Mark Brand
68cee5258b QSqlTableModel::insertRecord(): clean up after failed setRecord()
Change-Id: Ic9f314144bd3ccf4b59b9cb3f0d79f8d6f97a824
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-09 10:45:38 +01:00
Andreas Holzammer
9c99f23ffb Remove leftover show() prototype.
In Qt4.8 this was declared in qwidget_wince.cpp. It
was for auto maximizing. This would need to go
into lighthouse if needed. This fixes the Windows CE
compile.

Change-Id: I6fe8361f745e16d9e8053ab58eb76ead0b22d261
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-09 10:45:38 +01:00
Mark Brand
a58e630b61 QSqlTableModel::setRecord(): improve handling of field mapping
-Only use fields where generated flag is set to true.

-Require all fields to map correctly. If fields don't map, that is a
sign of a programming or user error.

Change-Id: Ie8474393005de6c9926b4e46985d62b194eafde2
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-09 10:45:38 +01:00
Mark Brand
40afbf3deb QSqlTableModel::insertRecord(): correct documentation
Change-Id: I35680f842a650493cf530c0b74894e2b45aa3c6e
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>
2012-02-09 10:45:38 +01:00
Andreas Holzammer
76804c842f Don't link shell32 for Windows CE.
Windows CE normally don't come with a shell32,
so its better to don't use it.

Change-Id: I7198b5fadb0dfe37d1321800371110b7b407f577
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-09 08:40:18 +01:00
Kurt Korbatits
805d895978 Fixed qstandardpaths unittest to handle being run as root
- testCustomRuntimeDirectory test skips if run as root

Change-Id: Idcc2a1db5d8a96b2ec0248b8b1c392fffc0b2e11
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-09 06:53:10 +01:00
Kurt Korbatits
951c0b7afa Fixed qdir unittest to handle being run as root
- Added checks to see if running as root and skip as needed

Change-Id: I4f94d5bfe511c6dfda315854b7cd1f64efe6e4f4
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-09 06:53:05 +01:00
Kurt Korbatits
7f403f368e Fixed qfile unittest rename() failing as root
When run as root was able to move file to /etc directory but was
expecting a failure.

Change-Id: Ic2ac5506253f2a3395ed56e88a856542bf82ad6d
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-09 06:53:00 +01:00
Stephen Kelly
2ba0700ebf Update note about metatype fully defined requirement.
There is now public API to re-allow forward declared types
as metatypes.

Change-Id: I6c956ea2dc96f66eccfcfa81fcbb833b58b58d61
Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
Reviewed-by: Jonas Gastal <jgastal@profusion.mobi>
2012-02-09 04:08:17 +01:00
Jason McDonald
1fe0a4cc68 Make selftest.pri more readable/maintainable.
Change-Id: Ic5a74beebb718df4cce5a9b02cdfd6f6d4cec97d
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-09 04:07:53 +01:00
Jason McDonald
52744f5053 Improve float selftest
Correct a bug in the test and use unique names for data rows.  The bug
was that the test assumed that QCOMPARE for float values 100001 and
100002 would fail, but it actually succeeds.  QCOMPARE for floats uses
qFuzzyCompare(), which succeeds if the numbers differ by no more than
1/100,000th of the smaller value.  Thus QCOMPARE(100001, 100002) passes,
while QCOMPARE(99998, 99999) fails.

Change-Id: Ia35d3126c2e3ebe91d64daa309048514a365d9fb
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-09 04:07:50 +01:00
Jason McDonald
7b7b58ae09 Remove unused test results from testlib selftests.
Some of the subtests are only run with plain-text output format.  For
those subtests, the other output formats were unused and gradually
becoming out-of-date.

Change-Id: I4c10f7f5bab2d2cc7d2d2ad641fbf5d4df02b798
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-09 04:07:48 +01:00
Jason McDonald
7aa5a89eef Add data tag names to datetime selftest.
Change-Id: I73a0faab06df99521a48f106d93dd7b9a620148d
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-09 04:07:45 +01:00
Jason McDonald
95d0b27711 testlib: Add selftests for skip and fail inside cleanupTestCase().
Change-Id: I9bbe774c3259338d452cd1eb1a6f37a85db15921
Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
2012-02-09 04:07:33 +01:00
Rohan McGovern
931f4501a6 Fixed tst_selftests on OSX 10.7
Our OSX 10.7 test machines send a SIGILL rather than a SIGSEGV to a
process which attempts to dereference a null pointer.

Change the "crashes" test to dereference an invalid pointer with a
value slightly greater than 0 so that we get the same crash behavior on
all (unix) platforms.

Change-Id: I700a2c7d654a9468af5e5996010a258695ed2ae5
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
2012-02-09 03:31:08 +01:00
Gunnar Sletta
0efb8a7ee3 Avoid advancing animations outside the animation "tick"
We have logic to prevent animations from starting in the middle of
an animation as a result of a previously slow frame. This was
based on current time, not the animation driver time and would
cause severe jumping when custom animation drivers were being used.

Also, this logic would trigger multiple animation runs per frame,
which is very bad for performance, so this change introduces a
threshold of 50ms to compensate for that. 50ms because that is
triplebuffer limit.

Change-Id: I1c7ebac30060e849d03c14d62411c2b953854d98
Reviewed-by: Michael Brasser <michael.brasser@nokia.com>
2012-02-09 00:32:41 +01:00
Andreas Holzammer
88f15faa4a Fix compile with QT_NO_OPENGL.
Change-Id: Icade54a6e3b43fdc9c151efbc25adcef6b7e41d6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
2012-02-09 00:32:41 +01:00
João Abecasis
0c97840708 Introduce Q_DECLARE_OPAQUE_POINTER
To hide the IsPointerToTypeDerivedFromQObject monstruosity :-)

Documentation for Q_DECLARE_METATYPE and qRegisterMetaType was updated
to mention requirements on registered types and how they can be
circumvented for pointer types with the new macro.

Change-Id: If83b037a8e2f28761eb903525e87008107298801
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2012-02-09 00:32:41 +01:00
Stephen Kelly
14577726ee Build with QT_NO_CAST_FROM_BYTEARRAY
Change-Id: I9069b61c6247bdff323e2e5e93b70e42c3504201
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: David Faure <faure@kde.org>
2012-02-08 22:29:12 +01:00
Andreas Holzammer
22e0948bc3 Fix compilation of Menubar for Windows CE.
Use QApplicationPrivate::getHWNDForWidget for getting
the HWND for Widgets. The Menubar needs refactoring,
but the API for native Menubars is not in place yet,
so fix it temporarily.

Change-Id: I090cca99d19aa881c2f41b54005a65f3ae67ae68
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 19:44:07 +01:00
Andreas Holzammer
c85eeaec7c Add missing include of qdrawutil.h
Change-Id: Ifda1e3a0fbe1ee3431374722878d5cde86ef3916
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 19:40:38 +01:00
Nick Ratelle
ee592fc042 realpath(X,0) IS supported on QNX.
Adds check for Q_OS_QNX to force
QFileSystemEntry QFileSystemEngine::canonicalName() use realpath(X, 0) on QNX
as well.

Change-Id: Id0a32277e6d043753c42101c91a393ebedb48a0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-02-08 18:49:40 +01:00
Samuel Rødal
547a1f5305 Fixed CustomDashLine drawing bug.
The bug was caused by attempting to stroke an empty subpath. If there
have been no line-to's emitted we should not try to join the start and
end of that line segment.

Task-number: QTBUG-23248
Change-Id: I38b7e955ed6683f8fc25f9551e93b4f472c022bf
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
(cherry picked from commit 593947ba70188df3d33efe031fab2fd255faa8b9)
2012-02-08 16:42:20 +01:00
Andreas Holzammer
c95a953061 Use qgetenv instead of getenv.
Use the Qt Version because platforms
like Windows CE don't support getenv.

Change-Id: I95ca4d7194e09889ab228af80e679a3c34479e41
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
2012-02-08 16:42:20 +01:00
Stephen Kelly
ae85d7c965 Treat pointers to QObject derived types in QVariant specially.
It is possible to do this for example:

QVariant v = QVariant::fromValue<MyCustomQObject*>();
QObject *object = v.value<QObject*>();

This means that if a QVariant contains a pointer to a QObject
derived type, third parties can extract a QObject* and use its
properties without knowing the concrete type.

This is a source compatible change.

Change-Id: Iee9a9437e99cc2f40d1a4bfea47275482ef7161f
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
2012-02-08 14:43:18 +01:00
Kai Koehne
e85c0862d9 Mac: Fix compilation with -qtnamespace
Change-Id: I85559b6698103eef865464a355d9b00012dcbd5f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
7b726900ec QSqlTableModel::setRecord(): emit dataChanged() consistently
Previously, if any fields in the supplied record could not be matched
with a column in the target table, dataChanged() was supressed for all
columns for OnManualSubmit. This is not good because it prevents other
views from noticing the fields that *do* change.

It's simplest and probably more efficient just to emit
dataChanged() once for the whole row. Fewer signals need to be
processed and in typical cases much or all of the row is likely to
be changed anyway.

Change-Id: Ib56bf9a18e51b9cb85771acefcb2bf26e295a54e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
5953304bc5 QSqlTableModel::setRecord(): do not try to detect value changes
In an apparent attempt to be economical with emitting dataChanged()
and submitting SQL to the databse, setRecord() compares each field
value of the record with the old value, taking action only when
a difference is detected.  Several complaints against this code are:

-The comparision does not work on float type.

-It is really up to the application and database to decide this. The
model should make few assumptions. The application has the option to
omit fields from the record that should be ignored.

-The current behavior seems to assume that the "old" values are the
current state of the database, but the database may have changed since
the model was last refreshed.

-The code compares the value from record(), which probably
corresponds to the EditRole, with the DisplayRole value from data().

Change-Id: I11477c185eb411d442144dc682893d0df12d03d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00
Mark Brand
f5e58a1f69 QSqlTableModel::setData(): submit() instead of updateRowInTable()
Use submit() instead of calling updatRowInTable(). The effect is
exactly the same. Submit() invokes submitAll() which invokes
updateRowInTable(). The cache is purged and select() is called only
on success.

Change-Id: I3de9a3d6acf802ee6594d034a9e261e53637995d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-02-08 14:43:18 +01:00