Commit Graph

9923 Commits (02afd94ef4c1913735bd650ca93279cfb00dc534)

Author SHA1 Message Date
Thorbjørn Martsum 7ddf1b14ec QTreeWidget - iterator fix in QTreeModel::ensureSorted
We can not trust the iterator when we do erase. This patch
makes an index while we do a takeAt and then we restore
the iterator from that index.

This both ensures that we can merge an iterator check
and ensures consistent behavior.

Change-Id: Icbe67051cb055d24541475e826109212eba9dd30
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-21 18:59:37 +02:00
Thorbjørn Martsum d0e5215729 GTK-style - fix non-standard usage of QHash-iterator
Even if it currently works it is highly non standard to
modify (incl. free/delete) the key for the iterator and then
use it afterwards.

The current code prevents a merge of a patch that uses the
key to check if the iterator is valid.

Change-Id: Ia89553ea4ba53e24488a6bfe06b8d7d0e351c1ea
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-21 18:59:19 +02:00
Stephen Kelly 6fa9394c81 Generate the directory for the mkspec include in a helper file.
The cmake variable for the mkspec dir must specify the source
location if used in the build dir, and must specify the install
location if used in the install dir.

Change-Id: I2fee8cd0c7198e9fc5cbb63972e20c75636672d1
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-06-21 18:58:54 +02:00
Frederik Gladhorn e02c6dd1d3 Mac Accessibility: skip invisible children
Change-Id: I6c3da526ecef60447a658b6b5501282729e9c6f5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-06-21 17:42:09 +02:00
Jørgen Lind 531b7d303e Fix missing shortcuts for WindowContainers
Change-Id: Iee2d97e1ff2b1f0c56b1dde4f3ce22a427fbe554
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-06-21 09:26:45 +02:00
Jørgen Lind ad43d9a097 Fix missing focus events for mapped child windows
Its a bit brutal

Task-number: QTBUG-31776

Change-Id: I2d8b530646d1e2b2ba86f0e82d76f928c9a2bb11
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-06-21 09:26:41 +02:00
Paul Olav Tvete 07a727f8b8 Android: handle keyboard connect/disconnect
Even though the documentation says that "This should never normally
 happen", we do get a "navigation" change when an external keyboard
is connected or disconnected.

Thanks to BogDan for finding the solution.

Task-number: QTBUG-31806
Change-Id: Id92639800e617821976f842f93e09517529e14ef
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-06-21 09:26:35 +02:00
Frederik Gladhorn 6213b81457 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
	src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp
	tools/configure/configureapp.cpp

Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
2013-06-20 16:45:12 +02:00
Frederik Gladhorn 533820320c Merge remote-tracking branch 'origin/release' into stable
Change-Id: I94bb158562ae6b80a87b40139d7302ea7b9b9aa8
2013-06-20 16:13:38 +02:00
Kai Koehne d806944f06 Fix code indentation and comment formatting
Change-Id: Ic94200988add19d608648c8d3bd56bbfe74bde79
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-20 15:15:45 +02:00
Debao Zhang 25739bebba Doc: Fix spelling error
Change-Id: I9225ffeddfe17bc4f56ecd9a9c4656403840f828
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-20 10:34:58 +02:00
David Faure a4d41f6803 Doc: QTranslator::translate() isn't an overload anymore
Change-Id: Ib50044da48be3fb4f43300aa285e15403bd8d65e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-19 20:05:43 +02:00
Tasuku Suzuki 46106c4e16 hide placeholder text when QLineEdit has preedit text
Change-Id: Ica84e9ce715702b690906ef748970e16d9162c4b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Aurélien Gâteau <agateau@kde.org>
2013-06-19 20:05:24 +02:00
Liang Qi 0a55499c9a Doc: remove the duplicate for in QStyle documentation
Task-number: QTBUG-31739
Change-Id: I72ad52da7d7e6899148a91d22266e79dd3184d4c
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-19 20:03:12 +02:00
Oswald Buddenhagen 60a5a56359 fix auto-enabling of windows style
it needs to come after the vista and xp style blocks.

Change-Id: I66b5c1eff41b19a76802a77b6926552d7343b29c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-19 20:02:59 +02:00
Oswald Buddenhagen d4f89b5115 remove pointless positive QT_FOO_STYLE defines
they are not used. only the negative QT_NO_FOO_STYLE defines are used.

Change-Id: Ic39081240c78cf66bd50c300b4aad04abca6f38c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-19 20:02:49 +02:00
Oswald Buddenhagen deadf598f4 don't claim that mac style needs windows style
we have commonstyle for that for a while now.

Change-Id: I1ab3c86af994fc9cc7aaf65d28a2428b5e02be99
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-19 20:02:38 +02:00
Rafael Roquetto 0343b92660 QNX: Fix screen rotation
The behavior introduced by qtdeclarative's 475d1ed4f6a2 mandates that an
expose event follows a geometry change event. The fix for this uncovered a bug
on the raster backing store which caused the rotation to break on QtWidgets.
The problem was rooted on the assumption that the
QQnxRasterBackingStore::flush() method was only called after paints to the
backing store surface, which was discovered to be a false assumption. Flushing
the backing store can occur in other circunstances, which are out of scope on
the context of the QNX plugin.

Task-number: QTBUG-31329
Change-Id: Icfc3e85324f5a8745f6b5f189f27f8b763f770c7
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-06-19 12:20:39 +02:00
Sean Harmer 5f49467c52 QNX: Add option to disable screen power save from an envvar
Qt itself has no API for disabling screen power save, although this
might make an interesting addition at some point.

Instead we make the QNX QPA plugin determine if power save should be
disabled from the QQNX_DISABLE_POWER_SAVE environment variable. This
would typically be set in the application's bar descriptor file.

Change-Id: Ie195ecd0496efd533ad9a32b65883283f471c534
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-06-19 12:20:30 +02:00
Stephen Kelly 249c5f0689 If a QWidget is ignored for auto-quit, ignore its corresponding QWindow.
Unit test by Friedemann Kleint <Friedemann.Kleint@digia.com>

Task-number: QTBUG-31569
Change-Id: I526d33d4f88a41f6ac349098476bc45af6c841b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-19 12:16:03 +02:00
Giuseppe D'Angelo 5d439eb4ca Make PCRE's JIT work on Android devices
__clear_cache is missing from Android; use cacheflush instead.

Backport in Qt's own PCRE copy of the upstream fix:
http://vcs.pcre.org/viewvc?view=revision&revision=1340

Task-number: QTBUG-31754
Change-Id: I4996265f7b19343ba24983d4f8b2f75e2b578504
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-19 11:54:29 +02:00
Stephen Kelly 44630a6f42 Add note to remove unused private field.
Change-Id: I33c831de1eb6b687a9c033f83bc266bd33a3540e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-19 09:26:23 +02:00
Jens Bache-Wiig 93c0de7253 Fix QSpinBox clipping issue on Mac when frame=false
This was a regression from 5.0. Since we still require a minimum
height to be present in order for the spin buttons to draw correctly,
we require the same height from a spinbox without a frame as one
with a frame.

task-number: QTBUG-31538
Change-Id: I999f59a29e826e8e621faebffce9cccd9bedb8ca
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-19 06:21:32 +02:00
Friedemann Kleint 732dcfe7fd QFactoryLoader: Release unused libraries.
Task-number: QTBUG-31476

Change-Id: Ib2eb076afaa21ab1fdc12944f80483e3de260d4b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-06-18 16:12:41 +02:00
Friedemann Kleint cf8647d6aa Remove unused member QFactoryLoaderPrivate::keyList.
Task-number: QTBUG-31476

Change-Id: Ife9b25ede67837152d94cd500a1d7c6dc6cd8ab8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-06-18 16:12:38 +02:00
Peter Hartmann 75e9c7d6bc HTTP internals: consider SSL sockets with pending encryption as usable
We do not decide which socket a HTTP request is sent on until the
socket is actually ready for sending a request (i.e. it is connected
for HTTP requests and encryption is done for HTTPS requests).

When deciding how many sockets we need for the queued requests, we
consider an in-flight socket as free if it is still connecting.
However, we considered a socket that was connected but needed to
complete encryption as busy, and would instead open another socket.
Now, we consider an encrypting socket as in-flight as well.

Change-Id: I93d6743da6fc430d1424c6965e1475865fd97243
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-06-18 13:41:03 +02:00
Konstantin Ritt e3dadce470 Ensure we don't repeat QTBUG-30931 in Qt5
The issue is already fixed in 5.0 but let's be nice and ensure the issue
won't be reintroduced later.

Task-number: QTBUG-30931

Change-Id: Ia6944acaf6e7217f8d0f1fa75d0e9977db11d892
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-06-18 13:36:23 +02:00
Thiago Macieira 41dbfd8888 Doc: there is no Q_OS_X11 (and has never been)
Change the example to Q_OS_UNIX.

Change-Id: I8aed12237408a0e526839a96867aceae33b993b9
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-18 06:26:00 +02:00
Tasuku Suzuki ae5b013233 Make qtbase compile with QT_NO_TRANSLATION
Change-Id: Iaa52ba41218b3ec8f36f0052230e0c2cc31c3ba5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-18 06:25:52 +02:00
J-P Nurmi 20d667983b QMacStyle: enable scroll style changes for non-QScrollBars
Task-number: QTBUG-31537
Change-Id: Iee2148609df5cb2c121da4088bcd79f26c2eedc4
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-06-17 15:46:03 +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
Allan Sandfeld Jensen a5ecb0bcfd Android Mute and FastForward keys mapped wrong
KEYCODE_MEDIA_FAST_FORWARD is mapped to Qt::Key_Forward,
which undoes Back. I believe the best match in Qt would be
Qt::Key_AudioForward which is also mapped by XCB from
XF86XK_AudioForward /* fast-forward audio track    */

KEYCODE_MUTE is mapped to Qt::Key_Volume_Mute, but the mute button is
for muting the microphone, the volume mute is called
KEYCODE_VOLUME_MUTE.

Change-Id: Id0b78c9bde78faef1f5d31019693e6c466941d70
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-06-17 13:59:44 +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
Shawn Rutledge 69554e4586 OSX: Disable window restoration for the Mac color panel
because if it is automatically restored it's out of the application's
control, so the user's interaction will be ignored.  Change
I8ce3cd94f5ae81d7877a346743ca4e0e188baa02 did this for normal windows
by default, but the dialog helpers generate windows which aren't
affected by that.

Task-number: QTBUG-31750
Change-Id: I636bd87b664a489a2dc8693dad5370a715b1cf7b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-06-15 19:06:26 +02:00
Shawn Rutledge e083aede62 Cocoa color dialog cannot be modal, but should show anyway
Silently failing doesn't seem the right way to handle this.
Updated docs for DontUseNativeDialog option: it's not just for
the Mac anymore.  Ensure that the Qt dialog and Mac panel
will never be shown at the same time.

Change-Id: Ia9e80754df6c7622d9039c8dd050ac4de771a030
Task-number: QTBUG-29161
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-06-15 19:06:21 +02:00
Shawn Rutledge cf98d1e607 OSX color dialog can be accepted repeatedly
QNSColorPanelDelegate::finishOffWithCode sets mResultSet = true
and it needs to be set false again the next time the dialog is shown.

Task-number: QTBUG-31566
Change-Id: If1d4bb9d4e76273c6423f5bf2ae37790e8a9704e
Reviewed-by: Liang Qi <liang.qi@digia.com>
2013-06-15 19:06:17 +02:00
Peter Hartmann dd050d35d7 network requests: do not access 1st byte of empty byte array
... because otherwise this would crash.
Apparently there are cases where the header name is empty.

Task-number: QTBUG-31667

Change-Id: I31b3e964502c05b7614c23876bb3752fa75ab22d
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-06-15 19:05:02 +02:00
Stephen Kelly 703cca8bb7 Adjust the cmake files to find the dlls in the bin dir.
Change-Id: I840f963c3648d123b31f79aa2c8902c0ad74e982
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-06-15 19:04:53 +02:00
Shawn Rutledge 3e2cd8ef6f fix QFileSystemEngine::createDirectory race condition
During a call to QDir::mkpath(), the same path could be created
by another process, in which case the OS mkdir will fail with EEXIST.
But the docs for mkpath() state that it's not an error if it
already exists, whereas for mkdir() it is an error.  So
QFileSystemEngine::createDirectory should accept the EEXIST error
silently if it occurs while creating the sequence of parent directories
and the final leaf directory, but should fail if EEXIST happens when
it was called from QDir::mkdir(), which is when the createParents
parameter is false.  We assume the operating system mkdir() and
CreateDirectory() are atomic, so there should be no race condition
in QDir::mkdir().  It's not necessary for mkpath() to call stat()
at each level, only to check whether an existing entry is a directory
or a file.  Also added to the autotest to verify that if the
path is an existing file, creating a dir with the same name will
fail in either mkdir or mkpath.

Task-number: QTBUG-30046
Change-Id: I926352f10654fdf3b322c8685bb85ad8b8844874
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-14 16:57:57 +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 0bc96d1d6b Widgets: Do not create QWindow in createTLExtra().
QWidget::setWindowIcon() and similar call createTLExtra()
which creates a QWindow without setting the native attributes
on the parent, which can cause crashes when setParent_sys()
decides to delete the window.

Task-number: QTBUG-31672

Change-Id: I4c40ee12741be88b2281df90329ffb698d4009eb
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-06-14 14:40:18 +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
Shawn Rutledge b6f2442371 Fix another type of crash when dragging QDockWidget in and out
QDockWidgetPrivate::mouseMoveEvent calls q->move() which can result
in a call to QDockWidgetPrivate::endDrag(), which will delete the
state struct.  Therefore mouseMoveEvent needs to check whether it's
null or not before accessing it.

Task-number: QTBUG-31672
Change-Id: I91a31620f16a80b31b65b2742e7937ae8960f0fd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-13 12:01: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 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
Frederik Gladhorn be4b80af82 Merge remote-tracking branch 'origin/release' into stable
Change-Id: If29ca1b27da4592d40a7678837c359f75dac1209
2013-06-12 14:43:55 +02:00
Kai Koehne eab6700ec0 Fix crash for pressing Ctrl+C in a message box
This fixes a regression introduced with e34dccc9e

Task-number: QTBUG-31635
Change-Id: I7c991f3b98f5c51e5fb3c12db04d3ace7be87010
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-06-12 14:11:58 +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
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
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
Martin Smith f2ea45363d qdoc: QGLFrameBufferObject::bindDefault() was marked \internal
The \internal is removed.

Task-number: QTBUG-31638
Change-Id: Ib1b65783599fe50e907373e3223a0774f17ac65e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-06-10 23:29:44 +02:00
Stephen Kelly e1109df7a9 Remove the use of CMAKE_FIND_ROOT_PATH.
This is actually a list in CMake, not a value to be prepended
to paths. Specify the QT_SYSROOT instead to root the location
of include directories. CMake will soon get a CMAKE_SYSROOT
variable which will replace this.

Change-Id: I239f69f127f3676a3835aa4f29638f44ef209819
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-10 23:29:40 +02:00
Friedemann Kleint a90d93285a Windows save file dialog: Set default suffix only once.
IFileDialog::SetDefaultExtension() needs to be called for the dialog to
automatically update the suffix when the user chooses a new file type.
Calling it IFileDialogEvents::OnTypeChanged as introduced by
42760e43ea causes it to use the previous
suffix when switching.

Call in setNameFilters() using the first available suffix instead.

Task-number: QTBUG-31381
Task-number: QTBUG-30748
Change-Id: Idd532e4190c752aa80abce963dd0389be7d22a34
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 23:29:33 +02:00
Gatis Paeglis b2a0a14370 Fix issue when QKeyEvent::text() was returning empty string
The code that sets 'text' variable was executed only for KeyPress
events. This patch moves 'text' initialization higher up where it
will be run for both - KeyPress and KeyRelease events.

Task-number: QTBUG-31285
Change-Id: I140de9ef5d29beedad276d348bed964ecdf46f9d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-06-10 23:29:28 +02:00
Topi Reinio 074c5c94f6 Doc: Fixed snippet issues in QDoc documentation
QDoc uses .qdoc files as snippets in other .qdoc files. These snippet
.qdoc files are also parsed, which is not the intent. This change
resolves the issue by renaming the files to have a different
extension.

Task-number: QTBUG-31574
Change-Id: I399c8b714478b9c4b8fbe2db53f601e6a1386cea
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-10 23:29:24 +02:00
Topi Reinio 45d8bf327e Doc: Mark QOpenGLFunctions_4_1_Core as a wrapper class
The class documentation missing the \wrapper command, making QDoc
complain a lot.

Change-Id: Iad8fa3d2facadfb3393642dc08ff4dc416bdccc7
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-10 23:29:17 +02:00
Oswald Buddenhagen 4fd568fa06 redo include path logic for pre-generated headers
make the include dir in the source tree the "main" include path, as
that's where the majority of the headers is. then selectively add the
shadowed dirs.

Change-Id: I03ad13cfcf77175c141b94d41b1221740d851faf
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:29 +02:00
Oswald Buddenhagen b35ea875a1 put ANGLE includes in a QtANGLE subdir
otherwise even non-angle builds with pre-generated headers will get them
into their include path, which is Not Good (tm).

Change-Id: Ie98354297baf3564ef82b3d4a32e5763e625b8f2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-10 21:12:13 +02:00
Robert Griebl 809bd1db8c The SingleClickActivation setting was wired to the wrong platform setting
Change-Id: I24dacd6d6cbc22eaf29dc09a6f59bf4ee7d48f37
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-06-10 19:54:53 +02:00
Frederik Gladhorn 75067b56fa Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-10 19:54:53 +02:00
Albert Astals Cid f7dee7383d Q_DISABLE_COPY doesn't need a ; at the end
Fixes warnings when -Wpedantic is enabled

Change-Id: I8fcfbfa9bb3a5ab61c85f8cb74660f6f7e459fc0
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Alejandro Exojo Piqueras <suy@badopi.org>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2013-06-10 12:17:11 +02:00
Frederik Gladhorn 0eff16611f Merge remote-tracking branch 'origin/release' into stable
Change-Id: I89c251999ae2a82522b40471fd13f2e06b00ece8
2013-06-10 10:00:34 +02:00
Hannu Lyytinen 062974bf1f Use QUDeviceHelper instead of custom code.
Avoid duplicating udev handling code here.

Change-Id: I054b6616ead57aa8947dcf942177dfc8a14a00fe
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-06-08 15:14:00 +02:00
Friedemann Kleint 274e571be1 QtCore: Fix MSVC-64 warnings about integer truncation.
warning C4267: 'argument' : conversion from 'size_t' to ' int', possible
loss of data.

Change-Id: I79af7497420d468b5bc7c48c9ae21b86117519a9
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-06-08 10:29:34 +02:00
Lorn Potter 275c4b8403 code cleanup. make one way to access system dbus. remove dead uncommented code
Change-Id: Ia53cdc27f354269bb393ac137802b8807652cef9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-08 08:27:09 +02:00
Thiago Macieira 4d93393a6d QUrl stringprep: fix handling of U+0080: it's prohibited
Edge case: a > that should have been >=. Without it, we never ran the
rest of the IDN nameprepping.

Change-Id: I2276d660de3a70d0c561bb18816820d9a0f47e77
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-06-08 05:06:57 +02:00
Thiago Macieira 53388cd8e0 QUrl stringprep: avoid recalculating the surrogates we already know
Change-Id: Icac4e81fff6f7f7fa4f46ec2a08105f8d3d2b403
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-06-08 05:06:52 +02:00
Thiago Macieira 736a052d93 QUrl stringprep: fix handling of prohibited characters
RFC 3454 says about prohibited characters (section 2, "Preparation
Overview"):

   3) Prohibit -- Check for any characters that are not allowed in the
      output.  If any are found, return an error.  This is described in
      section 5.

In other words, we mustn't simply strip the output of prohibited
characters. We must generate an error if they are present. We do that by
clearing the data.

We already had tests for prohibited output, but they were
indistinguishable from being stripped. So instead add some extra
characters so that we can tell whether the label was cleared.

Change-Id: I2d95217c27be5e2d54deed0036cb009e3b7f4886
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-06-08 05:06:47 +02:00
Thiago Macieira 8631227519 QUrl stringprep: fix case folding from non-BMP to BMP
When uc > 0xffff (non-BMP character) and l == 1 (replacement is in the
BMP), we must use QString::replace so the correct number of characters
is replaced.

There's one case testing this in tst_qurlinternal, but it is being
obscured by another bug (false positive).

Change-Id: I32388dd5bef32d4d6804aeeec4904bd5f563e9b9
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-06-08 05:06:42 +02:00
Thiago Macieira 2ccf4c32cc QUrl stringprep: recalculate the current position if the size changes
If the case folding operation results in either expansion or reduction
of the string, we need to adapt. Reduction happens most often when a
non-BMP character is case-folded to a character in the BMP (example:
mathematical signs at U+1D400-1D7FF). Expansion happens in the rare
case of symbols containing words, like U+2121 ℡ (this is part of the
unit test), and one common case: the German sharp S (ß) is expanded to
"ss".

Change-Id: I1bdbdc908b958a89bf30e4bb648d65dfdd9097f8
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-06-08 05:06:28 +02:00
Rafael Roquetto 60df445d3b QNX: fix QQnxWindow
To ensure the correct event order, only set the geometry() once the window is
actually made visible.

We also need to post the expose event even for child windows (i.e.,
windows which have a parent).

Change-Id: Ief80778bc3202352bd194e4b3ba655f619350b1a
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-06-07 22:18:23 +02:00
Jørgen Lind 16eea84aa8 Fix for when we don't have XSettings
Task-number: QTBUG-31418
Task-number: QTBUG-31410
Task-number: QTBUG-31446

Change-Id: I3fbed40054f3e0720b50ada0dc4ad0ae4cb0412e
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-06-07 19:00:26 +02:00
Allan Sandfeld Jensen 21356b3ec3 RecalcAdvances and DoKerning should agree on when to use design metrics
QFontEngineFT::recalcAdvances uses design metrics if hinting is disabled
or slight. QFontEngine::doKerning only follows the QFontEngine::DesignMetrics
flag. This means in some instances the advances will be calculated in
subpixels but kerned in full pixels.

This patch makes QFontEngineFT decide if it should request design metrics
from QFontEngine::doKerning or not.

Change-Id: Ia0236efde2d7269623f690a6074afbe26e07c458
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
2013-06-07 18:07:21 +02:00
Simon Hausmann d8a6a67579 Add internal functions to QObjectPrivate for signal & slot connections in QML
In QML it is common to connect signals to slots that are implemented as
JavaScript functions. QML used to maintain separate data structures that
mirrored the QObject connection list and kept references to the JavaScript
objects necessary to perform the call on signal activation.

The recent addition of functor based QObject::connect makes it possible
to store this information in QSlotObjectBase sub-class instead, which
eliminates any extra bookkeeping.

This patch adds internal connect and disconnect overloads to QObjectPrivate
that allow for connecting QObject *sender, int signalIndex to a given
QSlotObjectBase and similar for disconnect.

Change-Id: I90f43d13eb95bd884d752484cf4faacc446f4d6a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-06-07 16:19:05 +02:00
Frederik Gladhorn cd756e5ed5 Cocoa Accessibility: fix ignoring of objects
On Mac it's expected that some elements are
filtered out of the a11y hierarchy.
We do this with the shouldBeIgnored function.
The problem is that we would ignore some objects
and then return them in the child attribute function.
This is inconsistent and leads to voice over not working.

For example having a plain QWidget with other widgets as
children would cut off all of these widgets, since the
plain QWidget would be ignored.

Change-Id: I5f6c26b272e5ca57d59c1ed1ef47e9a2b1181295
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-06-07 14:54:39 +02:00
Stephen Kelly aff03cbc27 Don't convert built-in types to strings for qDebug.
This was introduced by 7ed15da3 (Core: QDebug and comparison operator
support metatypes,, 2013-03-20).

Change-Id: Id89aaffeee8d519ca73f0b52b1ac8b9d233cb5f1
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-06-07 13:31:14 +02:00
Friedemann Kleint 1828ab8557 Windows: Send a geometry change after Window creation.
Task-number: QTBUG-30996

Change-Id: I03b5e1fdbbdd779f86541291c13e9eb6840ff3c6
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-06-07 11:47:12 +02:00
Friedemann Kleint 476dba9a9f Use QWindow::geometry() for size when sending resize before expose.
Task-number: QTBUG-30996

Change-Id: I9c3589ea67b563f6e588568ee54cc8bbd084f87c
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-06-07 11:47:09 +02:00
Jerome Pasion c889e28483 Doc: Fixed typo in QDialog.
Task-number: QTBUG-31493
Change-Id: I7bb7b249a0336dd949f8c74bcc22c0b7c39d0885
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2013-06-07 09:18:37 +02:00
Jerome Pasion 25a4405c69 Doc: Rearranged page titles in the <head> of HTML pages.
Before: <title>QtMultimedia 5.1: Camera</title>
After: <title>Camera | QtMultimedia 5.1</title>

"Camera" is page name and "QtMultimedia 5.1" is the assembled project
name.

-Regular page title is the same.
-It's a readability issue to not see the page title right away
-New arrangement conforms to Qt Project and blog name format:
 "<Title> | <Domain>"
-Tested with the tw-parser and it looks compatible with the
 qt-project.org site

Change-Id: Iae0eec9e66b5e21285bdad1e525923f60c72e56b
Reviewed-by: Sami Makkonen <sami.makkonen@digia.com>
Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-07 09:17:21 +02:00
Romain Perier 119882714f Cocoa:Fixed crash when sharing QMenu between two QMenuBar instances
Don't insert a NSMenuItem into a NSMenu if this one already belongs to another NSMenu, this is forbidden
in the Cocoa framework and raises an Exception. The solution consists in tagging the menu as sharable
and moving it from one menubar to another when the window gets focus.

Task-number: QTBUG-31342

Change-Id: Ic3bfadd4704f363ac26122ae15547543a0f6d44d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-06-07 09:17:11 +02:00
J-P Nurmi d9e50f203e Expose QKeySequence::StandardKey for QQuickKeyEvent
Change-Id: If3fff3bf1d61e8cd7f757d33637d15c931e21fb4
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2013-06-06 21:26:44 +02:00
Daiwei Li d4415cdd84 Fix themeHint typo in qcocoatheme: PasswordMaskDelay should be PasswordMaskCharacter
Task-number: QTBUG-31498

Change-Id: Ie6b1b0a2238923e37d52fa2e90782e874bb224b4
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2013-06-06 12:13:32 +02:00
Mikko Harju fdde071b06 Added rotation parameter to qevdevtouch
In some cases the event coordinates reported by evdev are in different
orientation compared to the primary orientation of the platform window.
This commit adds plugin parameter rotate=[90, 180, 270] to rotate the
normalized coordinate system before reporting the touch event.

Change-Id: Ic830a2d259f9d3c5fb63b80afb795d8b400c2ece
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-06-06 10:11:32 +02:00
Kai Koehne c9398312fe Print directories for QT_DEBUG_PLUGINS
So far we stayed completely silent if the user forgot to deploy all
plugins, or deployed them in the wrong way.

Change-Id: Idd776c4b4a2ddffd5da08985e5925248c97e0270
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-05 20:16:07 +02:00
Sérgio Martins 805031814b Initialize variable to quiet valgrind.
It's accessed by the Q_ASSERT in QArrayData::data().

Change-Id: I859ef9c736b24857cd3f57f9fa54aafd36e57afc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-05 18:24:10 +02:00
Bernd Weimer fd956af257 Fixed evaluation of application file path
Empty arguments list could lead to crash, due to access of first element.
Besides, empty application file path will be cached now universally.

Change-Id: Ibe1a668da364d87d8431567dfc999cb394686081
Reviewed-by: Sérgio Martins <sergio.martins.qnx@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
2013-06-05 16:11:02 +02:00
Frederik Gladhorn 248420904f Merge remote-tracking branch 'origin/release' into stable
Change-Id: Ic6e1ae60f891a6b2b568936204d2e84db4177fb4
2013-06-05 15:44:22 +02:00
Mikko Harju b73ad2dd19 Prevent touch coordinates outside target geometry
Previously, normalized positions with either of coordinates equal to
1.0 would be reported outside the screen / window geometry, which would
cause hit test to fail.

Change-Id: Ia5e083bd52254c7e05143eedf930be3bcba7a412
Initial-patch-by: Aaron Kennedy <aaron.kennedy@jolla.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-06-05 12:56:00 +02:00
Mikko Harju c97a1bc538 Fixed raw coordinate reporting for touch events
The raw coordinates were not reported by the evdevtouch plugin.

Change-Id: Ia06129edd771b12cc9f6a97dc678b545d226af70
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
2013-06-05 12:56:00 +02:00
Mitch Curtis bd01db4a98 Fix typo in QAlgorithms documentation.
Change-Id: Ic9107f427acc1e009779d39e0a204ea81d54aee7
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-05 12:56:00 +02:00
Valery Volgutov 1d8ec5fae2 Fix FBO restoring in QOpenGLTextureGlyphCache
QOpenGLTextureGlyphCache::restoreTextureData restores FBO which
was binded before restoreTextureData call. More specifically,
it restores QOpenGLContextPrivate's current_fbo member. This works
if FBO was binded by QOpenGLFramebufferObject but not if FBO was
binded using glBindFramebufferObject and rendering done via
QOpenGLPaintDevice.

This patch fixes it by querying current FBO using
GL_FRAMEBUFFER_BINDING query and restoring it.

Change-Id: Ia97a21e62566dc39a5191b66d3ca0e3ad0845ce1
Reviewed-by: Valery Volgutov <valery.volgutov@lge.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-06-05 12:56:00 +02:00
Mitch Curtis 9aa24645eb Prevent negative size in QBitArray, QVector and QVarLengthArray ctors.
As shown in QTBUG-24345, QBitArray will exhibit invalid reads when
initialised with a negative size and run under valgrind.

QVector and QVarLengthArray both cause a crash if initialised with a
negative size.

This patch enforces sizes greater than or equal to 0 with asserts and
existing if statements, and hence impose no performance penalty for
release builds.

Task-number: QTBUG-24345
Task-number: QTBUG-30037

Change-Id: I9a969f6016e0a59904a60bbfe9e5360e6f523b87
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-05 10:46:51 +02:00
Mitch Curtis 4f2c96eaa8 Iterate over the smaller set in QSet::intersect().
When calling intersect() on a large (1000000 items) QSet, with a small
(1000 items) QSet as the argument, the function takes signifcantly
longer than when the operand and the argument are reversed. This is
because the operand set is always iterated over in its entirety.

This patch changes intersect() to iterate over the smaller set. This
reduces the large operand scenario's benchmark to ~0.000063
milliseconds, compared to the current ~134 milliseconds:

1000000.intersect(1000) = empty: 0.000063 (was 134)
1000.intersect(1000000) = empty: 0.000039 (was 0.000036)
1000000.intersect(1000) = 500: 0.10 vs (was 130)
1000.intersect(1000000) = 500: 0.023 vs (was 0.093)
1000000.intersect(1000) = 1000: 0.20 vs (was 139)
1000.intersect(1000000) = 1000: 0.017 vs (was 0.016)

Task-number: QTBUG-22026

Change-Id: I54b25c49c78c458fef355e9c6222da8a64c7681f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-05 09:35:42 +02:00
Frederik Gladhorn 80604a0786 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/global/qglobal.h
	src/plugins/platforms/cocoa/qnsview.mm

Change-Id: I6fe345df5c417cb7a55a3f91285d9b47a22c04fa
2013-06-04 19:34:36 +02:00
Thiago Macieira 76d75fd7df Use the GCC inline assembly when building for MinGW
MinGW has a longstanding problem of providing the MSVC intrinsics that
every Windows developer expects to be there. Other projects have run
into those problems.

So instead just use the GCC inline assembly.

Change-Id: I5651f97f9a4dfbf98ebbf063f91f221eab80b224
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-06-04 18:33:02 +02:00
aavit c11a7d16c7 Fixes QKeyEvent::count() on Windows
All other main platform plugins leave the count parameter at its
default value (1). For improved compatibility, make the Windows plugin
do the same, instead of hardcoding the value to 0.

Task-number: QTBUG-31285
Change-Id: Id87fd559d13f42391be3200d5ff2393285f0d2a6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2013-06-04 16:08:26 +02:00
hjk 55f01addb2 Adapt QtPrintSupport related uic rules
It's no more on QtWidgets.

Task-number: QTBUG-31508
Change-Id: Iba117a4103c2b32173816a4ecb5faa187f169b32
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-06-04 09:53:47 +02:00
Mitch Curtis 46e6bbd229 Mention QRect's int min/max constraints in detailed description.
Task-number: QTBUG-25732

Change-Id: If330768c3075568f09593ed17f26389d3dec3335
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-06-04 02:22:47 +02:00
Tasuku Suzuki 830cbb1aaf Make qtbase compile with QT_NO_TEMPORARYFILE
Change-Id: Ida2f59bb245ef70bf65f7e8944c4c315d5bc2f81
Reviewed-by: David Faure (KDE) <faure@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-04 00:05:55 +02:00
Peter Hartmann 1c901913c0 QNetworkAccessManager: add public methods to pre-TCP/pre-SSL-connect
If an app knows it needs to connect to a host beforehand, it can "warm up" the
connection cache by making DNS lookup, TCP (and if needed SSL) handshake before
the actual HTTP request is sent. When the HTTP request is made, it will be
considerably faster when there is already a working connection.

Here are some typical results from the benchmark:

* Linux desktop with Ethernet:
  "http://www.google.com" full request: 279 ms, pre-connect request: 61 ms,
    difference: 218 ms
  "https://www.google.com" full request: 344 ms, pre-connect request: 60 ms,
    difference: 284 ms

* mobile device (BlackBerry 10) with Wifi:
  "https://www.google.com" full request: 898 ms, pre-connect request: 159 ms,
    difference: 739 ms
  "http://www.google.com" full request: 707 ms, pre-connect request: 200 ms,
    difference: 507 ms

Task-number: QTBUG-30771
Change-Id: I3566b7f08216ab93a39e2024ae7d1ceb7ae21891
Reviewed-by: Jonas Gastal <gastal@intel.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-06-03 23:16:08 +02:00
Andy Nichols fb7e0e24c4 eglfs: Fix bug determining physical screen size
In the situation that the screenSize EGLFS hook had been defined, but
not the physicalScreenSize, the uninitialized contents of
fb_var_screeninfo vinfo would be used to calculate the fall-back
physical screen size.  Since this value is undefined, devices like the
Raspberry Pi would end unable to render DPI dependent fonts.

Change-Id: Ic9f67c1c646cc7b328b695b76a84d78577fefcd8
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-06-03 22:24:07 +02:00
Andy Nichols 51a35f5c02 eglfs: prevent expose/geometrychange loop
This prevents EGLFS from getting stuck after
exposing the first frame, by constantly generating
new Expose and GeometryChange events which are
synchronously processed.

Change-Id: Id3b09821ea31e9c1ddab7c520e782a4e42844a08
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-06-03 22:24:04 +02:00
Oswald Buddenhagen 8d69232b28 let configure create the forwarding qconfig.h again
this avoids that syncqt needs to forward to a yet unexisting file (which
will have a yet unknown location, when syncqt is run at packaging time
already).

the %inject_headers syncqt config variable remains, so it can be told
not to purge "foreign" files.

Change-Id: I127ff6e0b7d5702fb0acaee9a5b7940b482d3608
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:31 +02:00
Mitch Curtis 15da0a5af2 Make QTime::toString output milliseconds for Qt::TextDate, Qt::ISODate.
Section 4.2.2.4 of ISO 8601 allows for decimal fraction representations
of dates and times. Currently, when calling
QDateTime::toString(Qt::TextDate) or QDateTime::toString(Qt::ISODate),
the milliseconds will be omitted. However,
QDateTime::fromString(str, Qt::TextDate) and
QDateTime::fromString(str, Qt::ISODate) already support decimal
fraction representations, so this patch just adds this support to
QTime::toString, and hence QDateTime::toString().

Task-number: QTBUG-30250
Change-Id: If58e4b3d3105322c51d11a76b832e5e634d8991f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-03 17:05:12 +02:00
Frederik Gladhorn 7315b3ab2f Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-03 12:58:00 +02:00
Thiago Macieira 2cb5f1957a Silence warning in QtNetwork build
qnetworkconfigmanager.cpp:63:9: error: unused variable ‘shutdown’ [-Werror=unused-variable]

This warning was introduced by f273d6fbc0

Change-Id: Ied650a4d94d18495684a8f08ab5f2cd628026fb7
Reviewed-by: Jonas Gastal <gastal@intel.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2013-06-03 09:56:04 +02:00
Ivan Komissarov 1840400a9a Fix leak in QNSView.
Change-Id: Ide0e826bf068340c86d87a8ccbb3bd58b60f6d8c
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-31 23:19:16 +02:00
Martin Smith d12c045a95 qdoc: excludedirs works again
It was comparing an absolute path to a relative path.
These could never be the same. Instead of the relative
path, it now gets the canonical absolute path, so the
comparison succeeds when it should.

Task-number: QTBUG-31404
Change-Id: I9c482d4649d493ce6d4f9a522cb61f2c8a5eb21f
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-05-31 15:08:39 +02:00
Frederik Gladhorn 883951928f Merge remote-tracking branch 'origin/release' into stable
Change-Id: I0a8fe79a80b7720f76e3c0b03cc2c9a769d4009b
2013-05-31 13:47:45 +02:00
Gatis Paeglis 468a37fa20 Support Mac key equivalent Cmd+Period
On Mac Cmd+Period isa special key combination which never got delived
to Qt application. We can intercept these special keyboard shortcuts in
the performKeyEquivalent function.

Task-number: QTBUG-11386
Change-Id: I680385bde07b2810e8bde86ec9fbbe7e09156c84
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-31 12:28:24 +02:00
Mitch Curtis 530c475d90 Fix typo in QSettings docs.
Change-Id: I96dc2d57f5cc52c162ba0fd38d20141683847423
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-05-31 11:43:33 +02:00
Thiago Macieira cef67cc8db Fix the host_bins variable in the QtCore pkg-config file
The qmake HOST_BINS property has no /raw variant. We need to use the
regular one.

Change-Id: I38254f77d1039c312913a987353342ce5ed3feec
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-31 08:04:46 +02:00
Gatis Paeglis 9e36747786 Use [NSEvent characters] to retrieve the input character.
This is how it was done in Qt 4.

An issue with the current approach was that it did not consider
modifiers when setting a Qt::Key_* value, which would assign the same
Qt keycode for:

a = a(65)
Alt + a = ā(65) [here it should return a unicode value for 'ā']

This is inconsistent with the other platform plugins.

Also in the combination with a dead keys it was returning nothing in
the output.

Task-number: QTBUG-29005

(cherry picked from commit 6730413fcac1d7eb39af3683b87f965c5823cb6c)

Change-Id: Ic28eb55b3a9798ecb6012cc2e3fb18589b8b0392
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-30 17:01:19 +02:00
Gabriel de Dietrich 12ae86119c Mac style: Remove yet another reference to widgets
Change-Id: I545cfe22c6307864cdb18093a37e09a8ad042347
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-05-30 17:01:16 +02:00
Janne Anttila 20d08a96c8 Fix tst_qtendian autotest build for WEC7.
MSVC2008 compiler fo ARM targets fail to compile qToUnaligned when
using sizeof(T) inside memcpy fynction. The compiler fails at least
when the code is reached through the following macros and templates:
    -> tst_QtEndian::toLittleEndian
        -> qToLittleEndian(T src, uchar *dest)
            -> qToUnaligned(const T src, uchar *dest)

The above sequence produces internal compiler error with
MSVC2008/ARM builds when called from tst_endian.

As a workaround sizeof(T) is called outside memcpy function.

Change-Id: Ib4d382c2cebecb6e54bb99fc8fad72db93825fcd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-30 17:01:12 +02:00
Mitch Curtis f587d1de6b Refer to setDragEnabled in QLineEdit's detailed description.
It's currently not obvious how to drag text from a QLineEdit.

Task-number: QTBUG-22413

Change-Id: I5b92ce5c7425a1cb8ee6f401c685424eb9396592
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-05-30 15:01:35 +02:00
Mitch Curtis 49d9fd1935 Fix incorrect statement in QTreeWidgetItem docs.
Task-number: QTBUG-25598

Change-Id: Ib90578081d4e52877ce4842ebbc824ef74179341
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-05-30 15:00:55 +02:00
Friedemann Kleint de3d449dcf Windows: Suppress mouse events synthesized by OS.
Change the hint for
QPlatformIntegration::SynthesizeMouseFromTouchEvents to false
for Windows and suppress the events synthesized by OS.

The synthesized events cause touch events to generate 2 clicks
in Quick2.

Leave code as is for Windows CE.

Task-number: QTBUG-31386
Change-Id: Ia0987342dcdd55c8540810da5e4b90518a501ce6
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-30 12:49:54 +02:00
Samuel Rødal 1df7a6a50a Move QBasicDrag and QSimpleDrag to QtGui.
These are useful as default implementations of
QPlatformIntegration::drag(), instead of having it return 0 which will
lead to crashes in Qt Quick 2 and widgets applications that use drag
and drop.

Task-number: QTBUG-31288

Change-Id: I70efa139306ced5d879def0f74e3a72d3bcd64f7
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2013-05-30 12:49:51 +02:00
Friedemann Kleint aa1b4c0943 Disable precision timers when running MSVC2012 code on pre-Windows 8.
Precision timers can cause the event loop to lock up
when running MSVC2012 code on pre-Windows 8.

Task-number: QTBUG-27266

Change-Id: Idd73731e82843d0d140859bab825bc1a54eccf1a
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-30 12:49:45 +02:00
Topi Reinio 389b6f5161 qdoc: Handle collision nodes when building index files
Currently qdoc skips collision nodes (and their children)
when reading index files. This means that cross-linking
between modules does not work for nodes that are defined
under a collision page node. Most notably, the QML global
object 'Qt' cannot be linked to from outside Qml module
as it collides with Qt namespace.

This change fixes the issue by skipping collision nodes
and only processing their children when writing index
files. In addition, we need to adjust the function that
searches for nodes to the possibility that there may be
multiple nodes with the same name but different type.

Task-number: QTBUG-31096
Change-Id: Ic71d714f85539d8537021c73d8f1a527006a6f23
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-05-30 12:49:42 +02:00
Gabriel de Dietrich 75cdce283f QMenu: Remove last references to QMacWindowFader
It was never ported to Qt 5, and 10.7 has simple API for that.

Task-number: QTBUG-31336
Change-Id: Ie00c4ed3af9cd098c9e63eba1c654f1801aa83aa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-30 09:55:57 +02:00
Gabriel de Dietrich a09a867de0 Cocoa: Allow delayed title setting in menu items
This is what happens in uic generated code. Therefore, we should not
mark an item as text-synced until it's got its text set.

Task-number: QTBUG-31378
Change-Id: I7bb7db8abad922b50546c7669d285369ebf01394
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-30 09:55:52 +02:00
Gabriel de Dietrich 1faafdbe4a Cocoa: Hide empty menus from the menubar
Task-number: QTBUG-31378

Change-Id: I33ab2979a26166fb07e836c85dfc8089af5e1fda
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-30 09:55:47 +02:00
Martin Smith a4fdd382e4 qdoc: "All Overview and HOWTOs" no longer lists internal pages
This page is generated by a function in qdoc
that was wwrriten especially for this page.
It wasn't checking to see of the group member
pages were marked with \internal. Now it does.

Task-number: QTBUG-31197
Change-Id: If3f0e90f1a3748c47b3975373047b04d011d6748
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-05-30 09:55:42 +02:00
Martin Smith 8230a0d38d qdoc: QML property lists were not shown
For grouped properties, the property list in
the summary section was not shown owing to a
bug introduced when implementing the abstract
base class concept for QML types. This has
now been fixed.

Task-number: QTBUG-31317
Change-Id: Idc2344539ecf3da53e1be6816f59e01922c5c6fc
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-05-30 09:55:39 +02:00
Tor Arne Vestbø 0fd442aebe iOS: Look up OpenGL symbols using RTLD_DEFAULT instead of RTLD_NEXT
Even if the call site is in the application binary, it's safer to use
RTLD_DEFAULT as that implies using the default library search order.

Change-Id: I1b30bded92b95fc7451fcdbf7afd7444dcecea71
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-05-29 15:00:40 +02:00
Sergio Ahumada 78511a8afc Bump Qt version to 5.1.1
Change-Id: Id5e2e1c69f09e43460e45d8ccf7a430f3052149b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-05-29 12:23:55 +02:00
Samuel Rødal 89f219da0c Disable "QBackingStore::flush() called with non-exposed window" warning
This warning is pretty annoying and doesn't necessarily imply that an
application is not working properly.

Task-number: QTBUG-28613
Change-Id: Id0a2ebd91f9e4d59dce3e3e29637988d8e6175a9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-29 08:15:17 +02:00
Samuel Rødal 72768c089a Fixed crashes in QGLTextureDestroyer.
QGLTextureDestroyer will try to make the context current on the GUI
thread, regardless of whether it is owned by another thread. Use
QOpenGLSharedResourceGuard instead which does the right thing and takes
shared contexts into account.

Task-number: QTBUG-31403
Change-Id: I1377f9284995a7ba5af32c85296eef152fc035c8
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-29 08:15:13 +02:00
Friedemann Kleint 81e981a704 Fix QPlatformWindow::initialGeometry() to not touch large windows.
Do not touch windows whose geometry (including the  unknown frame
size) is likely to be larger than the screen.

Remove fix-up in the Windows plugin.

Task-number: QTBUG-30142
Task-number: QTBUG-31071
Change-Id: I13a8ffb9fb9d8c71d35de75094275388fa427f2c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-28 19:56:50 +02:00
Gabriel de Dietrich 85a6446164 Cocoa: Use actual modifiers when sending ShortcutOverride event
Probably a typo since keyCode clearly has no modifiers encoded.

Change-Id: I1c7908b06a759baf7b2c3462861a5d61f8c52b9f
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-05-28 19:56:46 +02:00
Benjamin Port aedeb1cca6 Added a placeholderText property to QTextEdit.
This commit adds a placeholder text for text edit. If text edit doesn't
have focus and the document() is empty, this placeholder will be shown.

Change-Id: I8b51f1a246452b63d6390e94853cf2864a7ff05f
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-05-28 10:53:32 +02:00
Richard Moe Gustavsen 875480ed99 iOS: bugfix function portraitToPrimary()
The old implementation was wrong since it did not use the
screen's height (which was already in primary orientation) to
calculate what the new y value of the target rect (which was in
portrait) should be.

Change-Id: Ie5b2241119e244d099e06d85f69953c1d64979aa
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-28 10:17:56 +02:00
Gunnar Sletta 7f1ad7c7c9 Fix transparent toplevels on Mac OS X again..
We're using QWindow::format() to decide opacity or not in
a few places, but this used to resolve to
QPlatformFormat::format() which would in turn return a default
format without alpha set. Instead, return the format requested
by the user.

Masked windows were always broken as converting a 32-bit image
to an Indexed8, doesn't give a grayscale image, but rather
a randomly spreadout set of indices based on the colortable
generated by the converToFormat function.

Task-number: QTBUG-28531
Change-Id: I537288f85c70b1e6194785b9ebcb5ea1f9581cee
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-28 08:07:26 +02:00
Tor Arne Vestbø 9fdb9b269b iOS: Use right DPI for all iPad Minis, not just the WiFi version
The 3G versions are iPad2,6 and iPad2,7.

Change-Id: I43a00e84535d494550bca8a533a6d16af4be6722
Reviewed-by: Ian Dean <ian@mediator-software.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-05-27 23:50:55 +02:00
Christoph Schleifenbaum 7ed15da3c1 Core: QDebug and comparison operator support metatypes.
This patch adds a way to enable operator<, operator== and operator<<
into QDebug for QVariants with custom types.

Change-Id: I3d12d891bd7252ad2b8f1de69bced354800a1f29
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-05-27 19:58:19 +02:00
Thorbjørn Martsum 63354e0d09 QToolTip - add static showText with time.
It is nice to be able to control how long time a tooltip is shown.
This is the first part of solving:

Task-number: QTBUG-1016

Change-Id: I8e313df8a2acdc5ccc91d9c8ce956c30c76daf4b
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-05-27 19:58:19 +02:00
Gunnar Sletta 991b817e75 Avoid double-highdpi scaling for attached painters.
updateMatrix will us both redirection matrix and highdpi
scale matrix, so make sure we don't multiply it in twice.

Change-Id: I7394e504746a8de54b4dc79492264deba320538f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-05-27 17:56:17 +02:00
Ian Dean 27e0ddcd29 Set current directory to application bundle on startup.
Set the current directory to application bundle on startup. This allows
Qt examples etc. that load resources from the deployment path to work
correctly without modification.

Change-Id: I5846de135c39d2158ee6c1ae21493739c3532239
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-27 17:47:20 +02:00
Richard Moe Gustavsen 130ee40b5e iOS: take orientation into account when reporting touch positions
This implementation will look at the orientation of the main
screen to convert the touch coordinates. This will most
likely change in future work, where we might look at a views view
controller instead to decide orientation etc.

Change-Id: Ic7875c5ecc4f21538f82a4f0467350bdf8ecc0b0
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-27 15:48:13 +02:00
Gabriel de Dietrich 60768a0af9 Windows: Respect geometry set before native window creation
Task-number: QTBUG-31071
Change-Id: Idab21c5996d1dc31b0a6fab4960c3c48a50d4966
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-27 15:46:48 +02:00
Giuseppe D'Angelo cada1fb4ef Add QComboBox::currentData
Convenience function that returns user data for the current item,
analogous to currentText().

This avoids to having to write the cumbersome

  QVariant variant = comboBox->itemData(comboBox->currentIndex());

(It's quite common to put strings as text and the corresponding
enum values as user data.)

Change-Id: I8c7632c647c5583d18e4e22703aeb4447d73162d
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2013-05-27 15:19:41 +02:00
Jan Arve Saether cf366e8b86 Made sure items with preferred width of 0 could also stretch
If no stretch factors were specified, we used the preferred size as a
stretch factor. Obviously, that didn't work if the preferred size was
actually 0.

This patch works around this by actually setting the stretch factor to
1.0 if this is the case.
This should work fine in most cases, except for the case where there
are also other items with a preferred size close to 0.
In this case, the item with preferred size 0 will just grow
faster than an item with e.g. preferred size 0.1.

Task-number: QTBUG-31217

Change-Id: I966455da0bdd00308591c7f7cfbc4e134d423e57
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2013-05-27 12:38:53 +02:00
David Gil 24466d3542 Add web color QLineEdit to QColorDialog.
This web color QLineEdit shows the hex number of the selected color.

Besides, it can be edited and accepts 3 and 6 digit hex numbers.

Change-Id: Idf629fbdc203fc099d446b31cbb49f2ff56be810
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-27 09:49:41 +02:00
Jerome Pasion 3194df547e Doc: Removed pages from "technology-apis" group.
"technology-apis" doesn't serve a purpose anymore and its product
function is replaced by the new overviews on the landing page.

Change-Id: I1e959981fd163966a54bec0d697bed12007c39e6
Reviewed-by: Geir Vattekar <geir.vattekar@digia.com>
2013-05-27 02:45:21 +02:00
Sze Howe Koh e9723d9d31 QtTest: Output correct library name
"QTest" is the C++ namespace; "QtTest" is the library name

- Edited the logger output in qplaintestlogger.cpp
- Updated documentation
- Updated expected outputs for self-tests

Change-Id: I43c525c43221a8d4e843a00d6d55b0f06ef55fd7
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-05-27 00:41:46 +02:00
Romain Perier c886491ad0 Reduce the usage of QT_PREPEND_NAMESPACE in the Cocoa platform plugin
This is no longer required as QT_USE_NAMESPACE is used most of the time

Task-number: QTBUG-23946

Change-Id: Ia6225260531adbf34ec1846805b8fe1d66dbaef8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2013-05-26 20:09:00 +02:00
Lorn Potter c1d5f46d23 Need to register dbus metatypes to have them work correctly.
Change-Id: Ic994a0747c692fffe8a986eba6f754a6c0eddfa8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-05-26 01:03:49 +02:00
Richard Moe Gustavsen 683228f8de iOS: don't activate non-toplevel windows
Parts of the code seems to assume that all QWindows are
top-level windows. This will be false when not using
alien, as then, each widget will be wrapped inside a
QWidgetWindow. In that case, we should not tell QPA to
activate the "window".

This bug caused focus handling (and text input) to fall
apart for e.g graphicsview when using a QGLWidget as viewport.

Change-Id: I579db7a84d718973e02e96ed535fe6e25baf4bd5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2013-05-24 19:37:44 +02:00
Samuel Rødal 9ae5162b3c Prevent QOpenGLShaderProgram::link() from showing unnecessary warnings.
If the liking didn't fail there's no need to print out warnings. The
warnings can still be accessed by the application after calling link()
through the log() function.

This prevents warnings such as these from appearing:

QOpenGLShader:🔗 "No errors."

Task-number: QTBUG-31326
Change-Id: I03c9be5dfada8822c3ab1c3610eac2fc0a91410b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2013-05-24 11:53:09 +02:00
Matt Hoosier 6359f42064 QNX: fix buffer creation
During some coding style cleanup in 02311c07 ("QNX: normalize braces")
some braces which were actually necessary got removed.

The result was an spurious report of a fatal error when no underlying
error condition had occurred.

This change restores the braces to preserve the prior behavior.

Change-Id: Ic32fbd5961ce59f6c01476fd2cef6fec0bdae93e
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-05-24 11:53:09 +02:00
radman0x dff296c826 Fixed static linking against QtGui and QtOpenGL
When linking QtGui and QtOpenGL libraries on linux a multiple defined
symbols linker error causes failure. This change renames the offending
class in the QtOpenGL library. For more information see:

http://qt-project.org/forums/viewthread/27458

Change-Id: I05488bf2c5c612476432c11095b24bc2b29c78f2
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-05-24 09:48:08 +02:00
aavit a3a43abc04 Fixes: QtNetwork compilation for OpenSSL < 1.0.0
Incorporate some more of the API changes between OpenSSL versions
0.9.8 and 1.0.0.

Task-number: QTBUG-31140

Change-Id: Ie719b34e3ec8751f0fbc07d315e82816c110762c
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-05-23 22:00:46 +02:00
Lars Knoll 7878eb6ba3 Fix parsing of long latin strings in the json parser
Latin1 strings are usually stored as 8 bit data in the json binary
format. But that data structure has a size limitation of 16bit, so
we need to fall back to storing the string as 16 bit data if it is
too long.

Task-number: QTBUG-30946
Change-Id: I0069b1367030b0b2f819fd1f04e34c9e2534a2a3
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2013-05-23 22:00:46 +02:00
Frederik Gladhorn d3a8bc803c Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	src/corelib/io/qdatastream.cpp
	src/corelib/io/qdatastream.h
	src/corelib/json/qjsonwriter.cpp
	src/plugins/platforms/cocoa/qcocoawindow.mm
	src/plugins/platforms/xcb/qxcbkeyboard.cpp

Change-Id: I46fef1455f5a9f2ce1ec394a3c65881093c51b62
2013-05-23 21:27:07 +02:00
Friedemann Kleint d2ec7e05eb Fix crash in QCococaWindow::childWindowAt().
Task-number: QTBUG-31297

Change-Id: I96f4652e410334fae54a0012ed917a965becfe5c
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-05-23 20:01:40 +02:00
Matt Hoosier c1ca272f04 QNX: support underlain foreign windows
Previously, any foreign window was treated as an overlay, with its
z-order being forcibly set above the native Qt windows.

This change adjusts the strategy to treat foreign windows whose initial
z-order is less than -1 (the default z-order used by mmrender for its
overlay surfaces) as underlays; otherwise the foreign window is treated
as an overlay.

Change-Id: Ifbcfd3a956965fa1a347076e9845afa50a81edfd
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-05-23 20:01:40 +02:00
Matt Hoosier 77a06e7e6c QNX: Support window translucency
A few tactical changes were necessary to do this:

* The root window's buffer must be the full size of the window in
  order for transparency to work. We now transition this buffer
  to full-size upon first request of some QWindow to be translucent.

  At the same time the root window is transitioned to being full-
  screen, we also set its alpha blending mode to Source-Over in
  order to permit lower z-ordered apps to show through.

* Set the root window's buffer position to (0, 0) to avoid a momentary
  flicker of unpainted pixels on the far right-hand border as a
  translucent window comes on-screen.

* Use Source-Over alpha blending for normal child windows too.

The QtGui core logic for setting the backing surface pixel format to
something with an alpha channel if Qt::WA_TranslucentBackground is
set on the toplevel QWidget already accomplished the remainder of
the work.

Change-Id: I1c2b31aa6323b4555fa194313f0f5e06ada494fc
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
2013-05-23 20:01:40 +02:00
Gabriel de Dietrich 47a7628023 Cocoa: Amend 5d07a4d944 to avoid an assert in QWidget::mapTo()
For now, we only call 'flushWindowSystemEvents()' for top-level
QWindows.

Change-Id: Ie6f6d3f9b70241820d9c38bcc0caf832d521268b
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-23 17:47:54 +02:00
Mitch Curtis 964be00403 Fix regression when pasting into QTextEdit from Firefox.
Return the codec if one was found by QTextCodec::codecForUtfText,
instead of returning the default (UTF-8).

Task-number: QTBUG-31293

Change-Id: I95e3260376c00537006b7fbfdc3df5850e1ba657
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-05-23 16:55:30 +02:00
Friedemann Kleint 26ae24e20b Windows: Fix toplevel window flags for Qt::Dialogs/Qt::Tool.
Task-number: QTBUG-31111

Change-Id: I58dcf8101077f18c7867cae914026c692735fc15
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-05-23 16:21:43 +02:00
Friedemann Kleint de098e21d1 Improve error message in GL context creation.
Output format, glGetError(), shared context as well.

Task-number: QTBUG-30077
Change-Id: Ibc4a7f9ad99bdcdcb439e719394d2532445c3fbe
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
2013-05-23 12:49:39 +02:00