Commit Graph

13915 Commits

Author SHA1 Message Date
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
J-P Nurmi
2d9cd8eef8 Fix xkbcommon.pri not to override QMAKE_CFLAGS
Task-number: QTBUG-31585
Change-Id: I6628a8eececc34aef4cd358ad2c8b246d8845602
Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-06-12 10:18:27 +02:00
Oswald Buddenhagen
6bf5ef044f remove overquoting of extra compiler arguments
qmake automatically escapes the ${expandos}.

Change-Id: If74b6d2f2c68ff50785fdcbb66351122a273051f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 10:10:50 +02:00
Oswald Buddenhagen
7f6c864157 remove overquoting of extra compiler commands
the commands are already quoted appropriately for the shell.

Change-Id: I746bb5fba2cd6548c5dc7ef81087c69a200ecbb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 10:10:47 +02:00
Oswald Buddenhagen
aa3f1cc8c6 fix QMAKE_COMPILER fallback for clang specs
in the actual specs, we also set 'gcc' for clang.

Change-Id: Ifc6b27d56596f34c944205795d665f545d090f80
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2013-06-12 10:10:44 +02:00
Oswald Buddenhagen
e2765098db don't claim that we need perl for shadow builds any more
amends 0a1b89bff, which took care only of the unix version.

Change-Id: Idb82881a9c47e67c973500721fd499bcf41a848b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-12 10:10:41 +02:00
Gabriel de Dietrich
d8f4abec71 Cocoa: Make QWidget::showNormal() work on minimized windows
Cocoa sets the NSWindow hidden when it's minimized, and we don't
propagate that further to QWindow or QWidget (QWidget's 'visible'
documentation is quite ambiguous about that state).

The obvious fix is to check for QWindow's visibility. However, this
might need to be corrected later if we truly want the visible state
to be in sync.

Task-number: QTBUG-31117
Change-Id: I457452eff75e6ea746a0ef5351104f8bbb65f98b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 10:09:18 +02:00
Gabriel de Dietrich
bfab741cb7 Cocoa: Make sure internal minimized state is up to date
Refactors some code from previous changes addressing the same issue
for maximized and fullscreen states.

Change-Id: I8a27274a90e6610b424ea7af3269369a1d724c48
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 10:09:16 +02:00
Gabriel de Dietrich
b8c007ede0 Cocoa: Update window state when maximizing from the title bar
There's no NSWindow notification we can listen to, but we can override
behavior from its delegate.

Change-Id: I61cebf4119f83c770fe4e7f45ff0d4e8bf9d0df9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 10:09:13 +02:00
Gabriel de Dietrich
7ee15bfbb8 Cocoa: Make sure we update internal window fullscreen state
We update the internal/synched state by assigning it its QWindow's
state. Since that one is not a flag, it can only be in one state at
a time, meaning that we may lose the maximized state (but we've been
losing it for some time).

Task-number: QTBUG-30139
Change-Id: Idf30713c6ae912cafe3bbdd7be18214cf4de34f7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 10:09:11 +02:00
Gabriel de Dietrich
3b5954e405 Cocoa: Remove compilation warning
Change-Id: Ib530e7ef4643de07aec91c4af0de8bbedef9882a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-12 10:09:07 +02:00
Jake Petroules
80d24a737a Update support status for older Mac OS X platforms.
Change-Id: Ifdf487fbae8acbffb32b6db5f8dd93e9eb213d77
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-06-12 10:08:45 +02:00
Nico Vertriest
c47b665893 Qdoc: replaced example file qt.qdocconf with qtgui.qdocconf
Task-number: QTBUG-31574
Change-Id: Idf8509395dd5f16c696473d1eeb91fb86f2b97e7
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-06-12 10:08:32 +02:00
Kai Koehne
70cb5db4f2 Fix gcc warnings about unused-value
Fix multiple gcc warnings about statements in accessibleDebug arguments
have no effect.

Change-Id: I34bf05d911707f0b50592bf76442a3805c560d56
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-06-12 10:08:17 +02:00
Gunnar Sletta
85b4f0d2d3 Avoid floating point exceptions in rasterizeLine.
Task-number: QTBUG-16757

Change-Id: I3ef988f1e039c12529d62197d85a62f201e4ae12
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-06-12 10:08:11 +02:00
Laszlo Papp
0715dc9ee3 Mark the Q_DECLARE_OPAQUE_POINTER macro as introduced in 5.0
Change-Id: Ida52c9f1f72b628d9a7faaf7998798e781b53df2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-12 07:40:58 +02:00
Tor Arne Vestbø
0c313b3adb Xcode: Don't set TARGET_BUILD_DIR; that's handled by a copy phase
This reverts an earlier change that tried to fix the relationship between
Qt's concept of output directories with what Xcode expects, but it broke
DESTDIR. The relationship between Qt and Xcode is still a mess, but at
least DESTDIR now works.

Change-Id: I44f056d48c87359a609e0337da266120ba4eb155
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-06-11 16:35:53 +02:00
Benjamin Port
ba1aefa85d Fix setPlaceholderText in QLineEdit
Since we don't use focus to show/hide place holder text, we don't need
to check widget focus but if text is empty.

Change-Id: I37f2fdb9e20a64ca38c61e60190f95635695c613
Reviewed-by: Aurélien Gâteau <agateau@kde.org>
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-06-11 15:08:47 +02:00
Martin Smith
fabd791bcc doc: QOpenGLFramebufferObject::bindDefault() was marked internal
The \internal was removed.

Task-number: QTBUG-31645
Change-Id: I98b57ec3816b6d9c49e3488accb65f147aeb15f1
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-11 14:33:00 +02:00
Martin Smith
505a10baf7 qdoc: qdoc was confused by namespace and module with same name
When qdoc searched for QtConncurrent::blockingFilter(),
it found the module node for QtConcurrent instead of the
namespace. This was because qdoc wasn't given specific
enough instructions on how to perform the search. Now
it searches for the namespace first, then the C++ class,
then the module.

Task-number: QTBUG-31535
Change-Id: I4f8aec503903508789738f2a77c76f47a3e80a93
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-11 14:33:00 +02:00
Kai Koehne
0d7d53fd46 Improve error output when platform plugin cannot be loaded
Forgetting to deploy the platform plugin, or deploying it to the wrong
folder, is a common mistake. The old error message didn't made it however
explicit what was happening. Make the log more verbose, and explicitly
state that the missing plugin is the reason for termination.

Change-Id: I810a0ef8da5f8e898e7e0c6f853972514a05c75d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-11 12:29:24 +02:00
Ivan Komissarov
9ddcd900f6 Fix leak in QCocoaDrag.
Change-Id: I2961d08f95c68446a2893721dc79ba56bf98c0de
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-06-11 10:15:56 +02:00
Andy Shaw
01b6eea415 When the file could not be accessed, we should return 0 for the size
Some functions rely on the size to be sure that the file can be read
from. Therefore when nativeSize() fails to access the file we should
return 0 instead of a random size to prevent these functions from
acting as if there is a valid file to read from.

Task-number: QTBUG-31571

Change-Id: I589fc199760ba40ef2e63047b2f226cb196f7e56
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
2013-06-11 07:46:29 +02:00
Paul Olav Tvete
425af59f53 Disable long press on Android
Remove the mapping from press-and-hold to right-mouse-button
press. This logic was implemented in the android plugin, and
there was no way to disable it for applications that needed
to handle long presses in a different way.

Add an environment variable to enable the mapping for those
who really need it, but do not advertise it. (We want to
add a proper API for this in 5.2)

Task-number: QTBUG-31644

Change-Id: Ia5ae75d6147485b73c78b7c3fa88d11af5d84c06
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-06-10 23:30:02 +02:00
Gunnar Sletta
900cccfd45 Fix drawing of 0-width polylines from outside the devicerect.
This was broken by a previous fix which aimed to fix gaps in
polylines with tiny line segments. The result was that we
skipped updating the origin point when stroke() didn't produce
pixels which accidentally included the case of the line
being completely outside the deviceRect. I fixed this
by returning the value of clipLine in drawLine to the caller
so we could still update the origin for this case.

Task-number: QTBUG-31579
Change-Id: Iac29436f042da7658bbeaf9370351dc6f2c95065
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-06-10 23:29:58 +02:00