Commit Graph

13939 Commits

Author SHA1 Message Date
Oswald Buddenhagen
7d4980f3ee make use of QT_MODULES to simplify code
Change-Id: I1124088f807023faf678e030cfb1fc4a4c8b40d7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:43:34 +02:00
Oswald Buddenhagen
65b749f5ea don't try to not build non-existing parts
Change-Id: I20896f15f7ab91aac8a9b6977fd3a253bc0e187d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:43:16 +02:00
Oswald Buddenhagen
7f709861ec don't claim that "make install" is needed for non-prefix shadow builds
Change-Id: I3a72fa8f5f849fba1a4bc79788b090c1a23b0198
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:58 +02:00
Oswald Buddenhagen
d0c9fb8585 normalize file list assignments
not quoting the variable references allows the shell to word-split the
contents and thus convert the embedded linebreaks into spaces.

Change-Id: Id834f02d7a501fb6fe48b45f409f599a8b70b7ed
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:52 +02:00
Oswald Buddenhagen
864b3b9918 don't write unused QT_INSTALL_* to qmake Makefiles
the installation has been moved to the qtbase top-level project a long
time ago.

Change-Id: I25f1658d1a6544da4bdaa5be6b19f9076c19b7f9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:44 +02:00
Oswald Buddenhagen
70805d852a wrap the horrendeous monster switch case
Change-Id: Ia8619a9e75006d9a95ae325de7aa326b5dd928a6
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:34 +02:00
Oswald Buddenhagen
4edf22ccd7 update comment
Change-Id: I6e5e53d0c7c48a3b859bc61299456f97a209af2a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-17 15:42:03 +02:00
Oswald Buddenhagen
e80841f113 make images non-executable
Change-Id: I7d6c28e7fd18125c95e56eca2d0d6d67003f9c5d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-06-17 15:42:00 +02:00
Oswald Buddenhagen
1c05791bd1 move qmake docs into qtbase
as of qttools/18a5e89623815f5355b4173a2e93609eb10289d1

Change-Id: I75cb55e0c404449a4e0d963e09185287a3f6343e
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-06-17 15:41:55 +02:00
Oswald Buddenhagen
36d42a0ede create a sub-tools target
for testing only.

Change-Id: I8ed63df9351bc40bbbbecd02489537a2daff768f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-17 15:41:08 +02:00
Mitch Curtis
8a680201f1 Fix roundtrip conversion of datetimes.
QDateTime.toString() is writing out milliseconds since change
15da0a5af2. Unfortunately this breaks
QDateTime::fromString() with Qt::TextDate which can't handle the new
format.

Fix by making QDateTime::fromString split up seconds and milliseconds
on a period, if any. Now
QDateTime dt = ...;
assert(QDateTime::fromString(dt.toString(), Qt::TextDate) == dt)
works again.

Change-Id: Ibfe9032e357ceaf894e33f3e33affe94f56dbf5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-06-17 13:21:49 +02:00
Stephen Kelly
d9fb6e6dbb Remove use of 'register' from Qt.
It is deprecated and clang is starting to warn about it.

Patch mostly generated by clang itself, with some careful grep
and sed for the platform-specific parts.

Change-Id: I8058e6db0f1b41b33a9e8f17a712739159982450
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-17 09:44:22 +02:00
Tasuku Suzuki
d9e722d856 Make qtbase compile with QT_NO_TEXTCODEC
Change-Id: I1614dc08c0dd1950020e415f37c97160431b2336
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-17 09:44:22 +02:00
Bernd Weimer
08d652ca67 QNX: Replaced physical screen size warning
On stock QNX it is quite common that libscreen doesn't provide the physical
screen size. The warning about this has been replaced with a debug statement,
because it was annoying especially when running auto tests.

Change-Id: Iab07f0d4a6293c40678f2ec3e77352e68797c8c7
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-06-17 09:04:06 +02:00
Leonard Lee
f730cd7542 Recognize separator item in QMenu.
The mouse over event on upper level menu separator should
automatically close the sub menu listing. Manual test is not
needed for this commit since it is easy to test it against common
examples.

Task-number: QTBUG-31664
Change-Id: I323d7ba206352a5d533584543b9a2ebf842b4dfc
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-06-17 07:37:19 +02:00
Samuel Gaist
3ac5499a9e Cocoa save file dialog behavior fix
Currently, in save mode, if selectFile has not been called, the native
cocoa file dialog puts the folder name in the line edit. This patch
restores the old behavior where the line edit is presented empty to
the user.

Task-number: QTBUG-31619

Change-Id: I938eb6d968e0e2c343e70bc19f29663e112d0496
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-16 22:50:32 +02:00
Samuel Gaist
570cf51919 Fix for OS X QFileDialog showing bundle as directory
Also check if the selectedFile is a bundle to correctly
set currentDir.

Patch for Qt 4.8 has been submitted

Task-number: QTBUG-31562

Change-Id: I72b0e8484b3c3a610932c03cd7fdab4ddee70277
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-16 22:50:14 +02:00
Tasuku Suzuki
c492b2bffa Make qtbase compile with QT_NO_XMLSTREAMREADER
D-Bus depends on QXmlStreamReader instead of QDom

Change-Id: Ic435970af21ac6e45c4100359ff54bd5793ccce2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-16 17:18:15 +02:00
J-P Nurmi
bd4f92969a QKdeTheme: generate sensible disabled colors for the system palette
Task-number: QTBUG-31670
Change-Id: Icbd2f35d9c2f5c1ef05c9dfeae4922be01ff2751
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-16 10:57:40 +02:00
Dominik Holland
2e49b79564 Read SingleClickActivation from KDE settings file
Change-Id: Ia2ccea89cefb85a7641628d32f925b32ecd6bdc6
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-16 10:57:30 +02:00
Frederik Gladhorn
e5bcf68d30 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-15 22:39:25 +02:00
Jędrzej Nowacki
d57d184b6d Add basic conversion functions from QVariant(QJsonValue).
There is a mismatch how QML and C++ converts QJsonValue. This patch
unifies conversions by adding QJsonValue support in QVariant::convert().

Change-Id: I8a1db3d77c517945ef48064b4b66ba03aa4f2fd0
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-06-14 15:50:49 +02:00
Friedemann Kleint
af2deb85ca Add object names to QGLWidget-reparenting test.
Task-number: QTBUG-31762

Change-Id: I213b4f17aa04cc99df7183df547a52c2c2a68626
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-06-14 15:13:26 +02:00
David Faure
d226e0567c Manual test: fix compilation with namespaced Qt
Change-Id: I098bf2ec123e1b49fd04df5cea6fb7d5b1b62cfb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-14 11:26:21 +02:00
El Mehdi Fekari
686c94c892 QSystemLocale: Fix the time format on BlackBerry 10
The time format should depend on the device settings (24 hour format)

Change-Id: I452d9b7158d39c4a657adfd9e64c99549eeda4ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-06-14 10:21:42 +02:00
Rafael Roquetto
6a9333841d BlackBerry: fix delayed root window posting on OpenGL
The delayed root window posting introduced by
77a06e7e6c broke the OpenGL support. In that patch, the posting of
the root window is trigerred by QQnxRasterRasterBackingStore's call to
QQnxWindow::post(), that obviously does not happen when OpenGL is enabled,
therefore requiring the OpenGL context to explicitly post() the root window.

Change-Id: Ifd302c1dde612a03b79c778ec4586aa70f88260d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-06-14 10:09:01 +02:00
Tor Arne Vestbø
46667d604f Fix crash when re-creating QThreadData after initially destroying it
We destroy the thread data for the main thread when the QCoreApplication
is destructed, and then delete the pthread key for the thread data in
the global static destructor function 'destroy_current_thread_data_key'.

The user may have its own Q_DESTRUCTOR_FUNCTION though, which may or may
not run after we've destroyed the key. If it runs after we've destroyed
the key, we'll end up trying to re-create the tread-data, as expected,
but set_thread_data() will fail to persist it, as pthread_setspecific
is called with an invalid key. The result is an infinite recursion:

...
6  in QThreadData::current () at qthread_unix.cpp:216
7  in QObject::QObject (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qobject.cpp:703
8  in QThread::QThread (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qthread.cpp:396
9  in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:120
10 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:130
11 in QThreadData::current () at qthread_unix.cpp:219
12 in QObject::QObject (this=0x48e1a20, dd=@0x48e1a30, parent=0x0) at qobject.cpp:703
...

To solve this, we reset current_thread_data_once when destroying the key,
so that subsequent calls to pthread_once to potentially create the key
will call create_current_thread_data_key once more. This means we'll leak
the key for this particular use-case, since we don't end up calling
pthread_key_delete a second time, but this leak is small and happens
typically only for a short duration during application shutdown.

Change-Id: I580484a3239849e891172e24e7f77b75afd2c51b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-14 10:07:14 +02:00
Friedemann Kleint
5fc9898237 Fix format in platform plugin loading error reporting.
qguiapplication.cpp:792:133: warning: format not a string literal and
no format arguments [-Wformat-security].

Introduced  by 0d7d53fd46 .

Change-Id: I70268a8b597be33226efb9bb4d7d9f672f0d7440
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-06-14 07:40:16 +02:00
Ian Dean
71b8f12aaa Correct implementation of nested runloop to match UIApplicationMain()
The previous implementation of the nested runloop was derived from the
Mac Cocoa implementation(?), and did not correctly deal with UI
animations and other UIKit functions which are run in a different mode
to the default mode. This version corrects that (in most cases) and
switches the implementation to use CoreFoundation instead of NextStep
APIs.

Change-Id: I45802d22044465749a1e5b6207d745268f6ae8a1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-13 12:41:05 +02:00
Ian Dean
c172ae81c9 Move iOS event dispatcher from platform plugin to platform support.
Move iOS event dispatcher from platform plugin to platform support, so
that it can be used by multiple iOS platform plugins.

Change-Id: I9041b2de5e00e5fe8f30af2dfd922b4f5c594802
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-13 12:40:08 +02:00
Frederik Gladhorn
9b102e953f Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-06-13 10:05:49 +02:00
Frederik Gladhorn
e2776b44a0 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoamenubar.mm

Change-Id: I4a699fc8a7f30b2af9de8e496c3d5f027b7495bb
2013-06-12 19:17:07 +02:00
Oswald Buddenhagen
23d8a7fb23 don't copy/symlink doc/global to build dir
instead, use the files directly from the source dir.

Change-Id: I03b728c66de6e03cade6dc153dcc78cea8e3f606
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:28 +02:00
Oswald Buddenhagen
0d463c05fc don't copy mkspecs to build directory
instead, teach qmake to use the mkspecs dir from the source dir as well.

Change-Id: I9edac11f8997fcb0594d0a67419d4733dd4ed86b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:24 +02:00
Oswald Buddenhagen
d795e9ff5f introduce /src qmake property variants
this is for shadow builds during build time, where the respective files
are expected in the source dir.

Change-Id: I18dcfbdef99e1562a51dacac333642cae8105ebd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:21 +02:00
Oswald Buddenhagen
40880ed440 remove pointless string conversion
Change-Id: I1640083007ed0c428dfb8ab5ce8b68a7d7e2a749
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:18 +02:00
Oswald Buddenhagen
4e30c5f706 make .qmake.{super,cache,conf} find "anchored" features
these files function as "anchors" for mkspecs/ and features/ directories
used by projects which load these files. ironically, these files didn't
see these feature files themselves.

Change-Id: I590855eb4a9d2c72b9abfcaa431d2f85a719c6e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:15 +02:00
Oswald Buddenhagen
75aa1f0ce9 find features/ under mkspecs/ of source & build root
we were finding features/ directly in the source & build root, and we
were finding features/ under mkspecs/ from $QMAKEPATH and other mkspecs
locations, but we omitted the "transitive hull". this was
counterintuitive.

Change-Id: I9823e6606467c98f264c81385250da92311f51ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:12 +02:00
Oswald Buddenhagen
da8504b2ac add missing ifdefery
sync up implementation with qtcreator.

Change-Id: I6a1578818512fa3b0773faf276a1d56881eb06d7
(cherry picked from qttools/582cbddc6ba1b74a7e4e07e0b5c23d47de6838cb)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 16:27:10 +02:00
Oswald Buddenhagen
52f28060d6 fetch all properties from qmake
sync up implementation with lupdate & creator. no actual effect on
qmake.

don't filter out ^QMAKE_.*:
- QMAKE_MKSPECS is not printed any more, so needs no filtering
- QMAKE_VERSION can be simply used now, as we are now rather close to the
  real qmake
- QMAKE_SPEC and QMAKE_XSPEC need to be fetched
  - this fixes the default spec resolution

Change-Id: Ifcfa8b5b9e2bbf5d995940e1bb7f55e7d67aed3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/0037bef09ca77c5ae4d20bd09294ba1d57537e09)
2013-06-12 16:27:07 +02:00
Oswald Buddenhagen
fe8dcfaef1 make stubs for dangerous/useless qmake functions in limited mode
sync up implementation with lupdate & creator. no actual effect on
qmake.

Change-Id: I1bdeb759e895e4200f09332dadf8a6cef348182f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/94ab2efb2d155d3c1ca7b91c1daf443a149bcf1f)
2013-06-12 16:27:04 +02:00
Frederik Gladhorn
be4b80af82 Merge remote-tracking branch 'origin/release' into stable
Change-Id: If29ca1b27da4592d40a7678837c359f75dac1209
2013-06-12 14:43:55 +02:00
Oswald Buddenhagen
af2f1e14f6 don't touch deprecated headers unless they actually change
Change-Id: Iabeec90c2a6549cf92b3b8369a41764a576fd0aa
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 13:03:06 +02:00
Oswald Buddenhagen
ad52be1acc purge dead uic class map code.
Change-Id: I9b67924a66c847cd4cf2ce9f2996017ae7eb61a4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 13:03:01 +02:00
Oswald Buddenhagen
f5a5272bc7 remove unused symlinkFile() function
Change-Id: Ie235fe65020ed7c4870d9c8784a181bf880b9e28
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 13:02:58 +02:00
Oswald Buddenhagen
49bee21d57 don't make qconfig.h read-only
not much point in it, really.

Change-Id: If984aa137993ae6b95cb3591fceac729ae3aa819
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 13:02:55 +02:00
Sebastian Eifert
7ae6e48d57 Windows: Prevent spurious leave events.
When behind a mouse-event-transparent window, synthesized leave events
are emitted, because the transparent window is considered as the window
under the mouse, not the Qt window.
This change skips transparent windows when searching for the window
under the mouse.

Task-number: QTBUG-31464

Change-Id: I85c8b46a1af37b4d1c5d1d77566ab045657aa9ae
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-12 12:42:59 +02:00
Friedemann Kleint
0d459619a9 QDockWidget: Keep position when undocking.
Initialize undockedGeometry to roughly the current position.

Task-number: QTBUG-31044
Change-Id: I03cbe280d1215bb58ab721b60e29b45359cde76d
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-06-12 12:42:51 +02:00
Tor Arne Vestbø
5c8aa27111 iOS: Remove need for separate qtiosmain library
We can combine the hybrid and non-hybrid use-cases into a single static
library if we are careful about which symbols are included in which
object files. By limiting the main() and qt_user_main() functions to
their own translation units, the linker will only pick them up if they
are missing at link time (the user's program do not provide them).

This technique is resilient to the -ObjC linker flag, which includes all
object files that implement an ObjectiveC class or category, but will
fail if the -all_load flag is passed to the linker, as we'll then have
duplicate symbols for either main() or qt_user_main(). The latter should
not happen unless the user provides the flag manually, and in the case
he or she does, there's ways to work around it by providing less global
flags such as -ObjC or -force_load.

Change-Id: Ie2f8e10a7265d007bf45cb1dd83f19cff0693551
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 12:35:02 +02:00
Tor Arne Vestbø
e99fc91c58 iOS: Remove need for -force_load of platform plugin
Instead of force-loading the whole static library of the platform plugin
we tell the linker to look for the missing symbol qt_registerPlatformPlugin.
This symbol is provided by the same object file as the plugin's static
initializer, so the object file is included in the final binary and
the static initializer is run, resulting in the plugin registering with
Qt.

We could have marked the actual static initializer wrapper provided by
Q_IMPORT_PLUGIN(QIOSIntegrationPlugin) as undefined, but due to the C++
mangling this would look less intuitive on the linker command line than
the custom dummy function that we provide, which has C linkage.

Change-Id: I6805537e1f49260a41d48c555376964cb1fe75d8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 12:34:44 +02:00