Commit Graph

14651 Commits

Author SHA1 Message Date
David Faure
1de1470189 QUrl: Use decoded mode by default for individual getters/setters.
This fixes the wrong value for path() and fileName() when a
path or file name actually contains a '%'.

userInfo() and authority() are not individual getters, they combine
two or more fields, so full decoding isn't possible (e.g. username
containing a ':').

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery]QUrl now
defaults to decoded mode in the getters and setters for userName,
password, host, topLevelDomain, path and fileName. This means a '%'
in one of those fields is now returned (or set) as '%' rather than "%25".
In the unlikely case where the former behavior was expected, pass PrettyDecoded
to the getter and TolerantMode to the setter.

Change-Id: Iaeecbde9c269882e79f08b29ff8c661157c41743
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 23:50:44 +02:00
David Faure
f874a5dd8b QUrl: fix host(FullyDecoded), it shouldn't trigger EncodeUnicode.
Change-Id: I9a62d5eb8b099b659cfcfc591c983b3d73ca9569
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 23:50:33 +02:00
David Faure
028def2ada Add benchmark for QThreadPool.
The current question is whether activeThreadCount() should be lock-free
(using atomic ints) or mutex-protected, so this tests start()
and activeThreadCount() directly.

Change-Id: Ica4a2ad023c2002e3c7d81558e6b9ee64af7f690
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 23:50:23 +02:00
Nicolás Alvarez
683451e7c7 configure: Abort if Xlib isn't present when building for XCB.
The XCB port is still incomplete and needs Xlib in several places.
The configure script should reflect that and make sure Xlib is present.

Change-Id: I6d81ea6cacef56084cf7ccfbcf908d597aae918f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-21 23:50:18 +02:00
David Faure
37dc44d499 QThreadPool: fix typos
Task-number: QTBUG-31919
Change-Id: I2718566595622895f182191b5693e91c1ab1e7d0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 23:50:10 +02:00
David Faure
e8bc599a74 tst_qgraphicsproxywidget: fix memory leak
Change-Id: Ib449dc05cebd333310d6ea6b434c9db7082bdee9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-21 23:49:59 +02:00
Giuseppe D'Angelo
4fbe3eb2a8 Mark qFuzzy* and qIsNull as Q_REQUIRED_RESULT
Calling them and not using the return value makes no sense.
And it's even worse -- in autotests people might call those
functions without wrapping them in QVERIFY(), effectively
not testing anything.

Change-Id: I2c90d1c85963ff1f35f00653d536a9252c2fcc48
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 21:23:16 +02:00
Nicolás Alvarez
2e9345b627 configure: Check for Xrender only when building for XCB.
The XCB platform plugin is the only one that requires Xrender.

Change-Id: Iac2efa31b4b51e38305ee5f635fe38b75c7752de
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-21 21:13:09 +02:00
Thorbjørn Lund Martsum
7523bbb0c0 QComboBox - only react on a mouse-release if we had a mousepress
In delegates we get into trouble with calling showPopup in
setEditorData (edit by double click) - and that is not reasonable.
The user has requested edit - and therefore it is natural to save
a click for the user and show the popup at once.

However that fails since we have the mouse down and as soon as we
release the mouse we will call hidePopup.

This patch ensures that the mouseReleaseEvent, that caused the
problem is only considered if we have had a mousePressEvent.

Change-Id: Ibe031fcb9ad2158f6969e41127bbb5f651b9cae6
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 21:08:08 +02:00
David Faure
943ae90744 QHash: fix compilation with gcc-4.2.1 (Mac OS X)
The anonymous union isn't supported and can be replaced with a reinterpret_cast.

Change-Id: Ic76a31f36e61d910db16312d7a6c4bdc728aa825
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 21:08:01 +02:00
Peter Hartmann
fcd212e7ba QNetworkReply auto test: adapt to new session life time
... supported on the new test server. Once the new server image is in
place, we can only allow for the new life time hint of 300 seconds.

Task-number: QTBUG-33040
Change-Id: Id6ad9983789cc6badf3fc2f6628bf79379988201
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-08-21 14:48:04 +02:00
John Layt
6be9cb2068 QDateTime - Use the copy constructor in addDays/Months/Years
Currently the QDateTime::addDays/Months/Years methods copy all the
d member variables themselves, but this is bad practice as it means 3
more places where we have to get the copy code correct.  Instead use
the copy constructor to do what it's meant to.  This saves more changes
when we add proper OffsetFromUTC and TimeZone support.

Change-Id: Ie2641d0cb58405335206edcce2e2db30702b78bf
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 14:25:07 +02:00
Eskil Abrahamsen Blomfeldt
c8b0c428d2 Android: Add default values for min and target SDKs
The minimum SDK version supported should be set to 9, since this
is required by Qt. We also set the target SDK version to 14, since
this will remove certain compatibility features, like the overflow
button in the action bar.

Task-number: QTBUG-30860
Change-Id: Iddd0eba2e802d03c5fe6e9b5da626808bbbad71d
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2013-08-21 11:45:08 +02:00
Friedemann Kleint
a4d4e18c31 XCB: Suppress warnings about unhandled client messages.
Introduced by the tray icon refactoring
d8090022f6 among other things.

Task-number: QTBUG-33068
Change-Id: I7c536c68acc2fae39ca30afb401500d0dc8701b1
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-21 11:13:56 +02:00
Frederik Gladhorn
c8ca300e49 Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
	qmake/doc/src/qmake-manual.qdoc
	src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
	src/src.pro

Change-Id: I0a560826c420e46988da3776bd8f9160c365459a
2013-08-21 11:03:18 +02:00
Jerome Pasion
31c96d34d2 Doc: Renamed list of example page to "Item Views Example".
Previous name caused a conflict with another page with the same name.
This page will replace the one in qtdoc.

Task-number: QTBUG-32580
Change-Id: Ifda8841feaab4def6c16972a027947f75ccb7739
Reviewed-by: Martin Smith <martin.smith@digia.com>
2013-08-21 01:20:01 +02:00
John Layt
2f2a799f3d QDateTime - Fix tests to correctly restore time zone
The unit tests were caching the original TZ value to restore later
after testing with different TZ values.  The problem is reading TZ will
return a null value if no override TZ value is set, and if you then set
the TZ to null the system assumes UTC and not the system time zone.
Instead we need to unset TZ if it was null to start with.

Change-Id: Ib0625b1712e565f9fdfa99e2ffe1e5d74f059354
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 01:20:01 +02:00
Sergio Ahumada
1696f45d92 configure: Remove v8snapshot vestiges
Change-Id: I0a43320ca0ab7cc416b07396ebc795215d84fe10
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-20 23:00:34 +02:00
Oswald Buddenhagen
ca06fcfb43 don't include non-framework include paths when using frameworks
Change-Id: Ia72d5b611b9870b83846299bc7642841b09b84b1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 22:56:20 +02:00
Oswald Buddenhagen
b4c0d9166e change reporting of missing files
use the new parser flags to report all i/o errors directly.

as a notable side effect, the "WARNING" prefix is gone (even though
it is still treated like that, which is mildly insane to start with).

Change-Id: I084375d5e7a3314ae763795f7c318804a9fb84b6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 22:56:12 +02:00
Oswald Buddenhagen
15981b985f complain about absent files to -pro argument (in lupdate)
this doesn't actually do anything in qmake.

Change-Id: I908fc3792bdc321370e51be98adf7a9c81e37a85
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/e1f3732197ef77a29cb7f3c1ce094b3f31a7b689)
(cherry picked from qttools/226f013441990aa4a58f7c82e284057cff659959)
2013-08-20 22:56:07 +02:00
Oswald Buddenhagen
0a1faaa9eb avoid boolean argument trap: introduce QMakeParser::ParseFlag
Change-Id: I26ce032a1aa044e9a4da0c8708a4490b07374992
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/066b08fc62c67d586996ea4e272ef05dd3865fac)
(cherry picked from qttools/226f013441990aa4a58f7c82e284057cff659959)
2013-08-20 22:55:59 +02:00
David Edmundson
725bdc3fd2 Fetch StandardKey shortcuts from QPlatformTheme
This allows platforms to dynamically alter their keyboard
shortcuts, for example if they are user-configurable on that
platform. Current behavior remains the same.

QEvent previously used the hardcoded values in QKeySequencePrivate so
this was modified to use QKeySequence::keyBindings().

In order to keep the speed of QEvent's former binary search, we moved
this code to QPlatformTheme::keyBindings(), making it faster for all
keyBinding lookups.

As we now need to search by StandardKey instead of by shortcut the list
is reordered and a test is changed to reflect that.

Change-Id: Iefb402fbbe8768be2208ce036f3c2deed72dcc6c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-20 22:22:21 +02:00
Rohan Garg
e2322c885f Extend QStyle API with a SH_Splitter_OpaqueResize styleHint
Currently the default for QSplitter::opaqueResize is hard coded,
which is less than ideal. Instead this should be provided as a
style hint via QStyle so as to give a more uniform look to all
applications.

Change-Id: I5711811f7b672e36aafcd292ed320308570a0390
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-20 20:09:20 +02:00
Stephen Kelly
692bee634e Add missing PLUGIN_CLASS_NAME
Change-Id: Ic2d59ac9194d6756c9f978fb1c13baf3fa7009b7
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2013-08-20 20:09:20 +02:00
Konstantin Ritt
227e9a40cf Get rid of HB dependency in FT font engine
Instead of loading HB face in QFreetypeFace::getFace(), defer allocation
until the first FT font engine for that face gets initialized;
then, QFreetypeFace "reparents" and manages the loaded HB face.

Change-Id: I2ac8ead4c6ed25d341af9c9cf0c34dfb979f8390
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-08-20 20:09:20 +02:00
Frederik Gladhorn
cbb4a88262 Skip tst_QGraphicsProxyWidget::deleteProxyForChildWidget on Win
This tests crashes a lot lately.

Task-number: QTBUG-29684

Change-Id: I6892238dc071f050b0208dd5b4843629fa707347
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-08-20 17:59:39 +02:00
David Faure
2ccf995725 tst_qgraphicsproxywidget: skip crashing test on Mac/Windows.
Created QTBUG-33067 for tracking the issue, after some debugging.

Change-Id: Iaf5556db2e0858e40a7cf6c9dbbe7e6fd6120bac
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-20 17:59:27 +02:00
Mitch Curtis
8b540f68a8 Tidy up QJsonObject documentation.
Change-Id: I445e0573c3c4fdb86ef535299a4eb299e225c15d
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-08-20 15:31:22 +02:00
Nico Vertriest
1e47a9594c Doc: qtgui configuration file with comments
Task-number: QTBUG-31801

Change-Id: I225edf67f586cc5822269c643020d5666465712d
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-08-20 14:35:15 +02:00
Friedemann Kleint
54f1d7e2e4 Use correct mask constant in the Windows event dispatcher.
Mask out QS_TOUCH, QS_POINTER when running a VS2012-compiled binary
on pre-Windows 8 systems.

Task-number: QTBUG-32257
Task-number: QTBUG-28513
Task-number: QTBUG-29097
Task-number: QTBUG-29435
Change-Id: I33ce3a659a234cb04d3b5ae9d668d193d681be7f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 10:22:45 +02:00
Friedemann Kleint
882e01a94f Revert "Disable precision timers when running MSVC2012 code on pre-Windows 8."
This reverts commit aa1b4c0943.

It turns out that the bug is caused by a different mask constant
in Windows 8 which should not take effect in pre-Windows 8.

Change-Id: I1ad502262dae42856c07d48ee3bc9dc032ab379b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 10:22:39 +02:00
Mat Sutcliffe
1d0715fde1 Give the extra compiler a unique name for the vcproj generation
The first word of the .name variable of each extra compiler is
used as a key in a container that keeps track of them. See also:
qmake/generators/win32/msvc_objectmodel.cpp: VCProjectSingleConfig::filterForExtraCompiler
qmake/generators/win32/msvc_vcproj.cpp: VcprojGenerators::initExtraCompilerOutputs

Task-number: QTBUG-32912
Change-Id: I7ea5c58884db559621f50740075b7f2e4e3ef7f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-20 06:35:04 +02:00
Friedemann Kleint
eb2ae61cb4 Windows: Add hit test handling for non-client areas.
Suppress resize cursor for fixed size windows.

Task-number: QTBUG-32663
Change-Id: I9579bb13d494fe21e5db7b75d01a3cf1b693c7f6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-19 21:56:12 +02:00
Simo Fält
d91afa1558 QtBase: Skip some tst_qwidget steps in Ubuntu 11.10
Same steps keeps failing on Ubuntu 11.10 without valid reason.

Task-number: QTBUG-30566
Change-Id: Ic7bf65496ff9ad9c4fdef42a30b808aa2c45a1e5
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-19 14:24:28 +02:00
Frederik Gladhorn
6a040d5c81 Fix potential division by zero
Since it's possible to call the function on an
empty model, return failure in that case.

Change-Id: I0a0eabe917da3e6294bdd616a85579f6dc894ec8
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2013-08-19 14:24:28 +02:00
Jocelyn Turcotte
7495b59dbd xcb: Fix TouchPointPressed being sent multiple times.
XI2 sends events for individual touch points, but QTouchEvent
sends all of them with a stationary state if they didn't change.
If a touch pressed event is received, and the next XI2 event
is about a different touch point, we wouldn't update the state
of the previously pressed touch point.

Change-Id: I1ebcbea1cea54872064ef7710e2aac7b0b41cd70
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-19 14:24:28 +02:00
Giuseppe D'Angelo
76f32cadb2 Fix QGraphics(Ellipse)Item autotest
Change-Id: I6d5d702e97a0186979bd3bdcd0526d53afeecbd8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-19 14:24:28 +02:00
Giuseppe D'Angelo
a45d8edb6c Fix QPointF::division autotest
Change-Id: I567c1252b63aff4273bf15c0d52817f058ea0703
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-19 14:24:28 +02:00
Gatis Paeglis
641d33273e Add manual test for shortcuts
Change-Id: I98ba26d97ca60c4a4e22da3b856d0e7e366e6690
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-19 12:13:56 +02:00
Sze Howe Koh
b314b2b844 Rename template parameter: "I" -> "II"
C99 defines the "I" macro in complex.h. qobjectdefs_impl.h can be
indirectly included in user code, which raises the possibility of a name
clash if the user's compiler supports C99 and the user includes
complex.h

Change-Id: Ie79ec7baf2d49a34b66a01556c7e57324303dc04
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-18 14:55:33 +02:00
Martin Jones
c210668346 Fix mouse test event in window warning message.
The tests use local coordinates, but window->geometry() gives the
global position on the window, i.e. offset by the size of the
decoration.

Change-Id: Id63ffd7e160b77ddb0f5563d8c3c65c36ad45e89
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-18 07:52:54 +02:00
Frederik Gladhorn
d20f003f36 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-08-17 16:50:09 +02:00
Jonas Gastal
49af23e776 Add documentation about reconnect attempts.
Task-number: QTBUG-18082
Change-Id: I3cf667bcd9929d1fc3e8d3c5f9d4e612dddd181e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-17 14:34:43 +02:00
Sergio Ahumada
b1b1cec687 Merge remote-tracking branch 'origin/release' into stable
Change-Id: Id404864b00962efd9f9eaea33437ae3924a17000
2013-08-16 20:52:46 +02:00
Sergio Ahumada
b0b754632e test: Skip some more qsslsocket flaky tests [part 2]
Task-number: QTBUG-29941
Change-Id: I28e71f952fcade6ab0aa76db71a1e2f408952830
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-08-16 17:08:24 +02:00
Shawn Rutledge
6281acaf8f XI2 touch support: must call deviceForId to create the device
After change 4dbf574b7a touch worked
only if XI2_DEBUG is turned on.  That is because it creates the
QTouchDevice and calls QWindowSystemInterface::registerTouchDevice,
which must be done at startup so we can receive events.

Change-Id: I9446d72bc702fbd819bf26bcdc2a3d657180f642
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2013-08-16 16:23:17 +02:00
Kai Koehne
07502898e9 ANGLE: Fix MSVC compiler warning
We don't use exceptions anyway, so we can safely ignore this warning.

Task-number: QTBUG-32833

Change-Id: Id78cb99770f37a076de3a95721ba40795a8a7b57
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-08-16 16:04:49 +02:00
Frederik Gladhorn
e727855476 Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-08-16 16:02:19 +02:00
Uli Schlachter
ac5c64fccd XCB: Ignore _NET_WM_PING on the root window
With a _NET_WM_PING message, a window manager can check if an
application still works or if it froze. The WM sends such a message to
the application window and the application sends the message back to the
root window.

Since change Ia04268b0 / commit d8090022f "Move the X11 system tray code
from widgets into XCB-plugin.", Qt selects StructureNotifyMask on the
root window. Due to this, we now also receive replies to _NET_WM_PING
and treat them like a _NET_WM_PING request.

This caused an endless loop as soon as any _NET_WM_PING was seen where
Qt would send a _NET_WM_PING to itself and handle it again and again.

Fix this by ignoring _NET_WM_PING messages that are sent to the root
window. According to EWMH, such messages can only be replies to
_NET_WM_PING and GTK does this, too.

Task-number: QTBUG-32957
Change-Id: I1b0aa682f99b17d633baacc14b18b3adca7a1aba
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-16 15:54:30 +02:00