Commit Graph

14771 Commits

Author SHA1 Message Date
Thorbjørn Martsum
e7168ff9fe QMessageBox - merge some mac and non-mac code
I have not located any significant behavior changes in this,
and it is annoying having too much similar code in different
branches.

The main change is a removal of Qt::AlignLeft, but
the icon Label should be in its own column.

Change-Id: Iaf07fc503075e61e2af1a93d5fc9e6e34a24451d
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-08-22 06:47:19 +02:00
Thorbjørn Martsum
5ba72276c4 QMessageBox - move layout handling
This patch moves some layout handling to a new function.
That will be helpful later since we can re-use the new function.

Change-Id: I4cc846f9958d9530ec2b07292093b94bd27ee055
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
2013-08-22 06:47:05 +02:00
Thiago Macieira
04bc63f2d6 Add x86 arch detection support for AVX512 and SHA instructions
The flags come from GCC commit 201219:
http://gcc.gnu.org/viewcvs/gcc/branches/avx512/gcc/config/i386/i386-c.c?limit_changes=0&r1=201219&r2=201218&pathrev=201219

Clang and ICC don't seem to have support for this yet.

Change-Id: Ic941654a5c56ed110d0e754e436a92dc5deaeb17
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-22 02:04:39 +02:00
Thiago Macieira
065cff8311 Define Q_PROCESSOR_X86 to the x86 family
They are:
 3      Intel 80386 or equivalent
 4      Intel 80486 or equivalent
 5      Intel Pentium, Pentium MMX, AMD K6 and a few others
 6      everything since the Intel Pentium Pro and AMD Athlon

By necessity, this means all 64-bit builds have a family of 6. That
matches the family number that the CPUID instruction produces.

Change-Id: I5dc7344976f8da65938f44310b89ade4fe3f1a28
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-22 02:04:39 +02:00
Thiago Macieira
c374f4441a Merge "Merge remote-tracking branch 'origin/stable' into dev" into refs/staging/dev 2013-08-22 02:04:39 +02:00
David Faure
85b24bb2de QThreadPool: fix data races in activeThreadCount()
Rather than trying to make it lock-free (which requires double-bookkeeping of
4 atomic ints!), just lock the mutex before calling it.
tst_bench_qthreadpool shows no difference whatsoever between the two
solutions, I get 0.005 msecs per iteration in startRunnables().

Of course looping over calls to activeThreadCount() is a bit slower,
from 0.0002 msecs per iteration to 0.00027 msecs, i.e. 35% more.
But polling activeThreadCount() from the app is a really wrong thing to
do anyway, this benchmark was just for my own curiosity about the
price of a mutex in a function that sums up 4 ints.
What matters is start() performance, which is unchanged (0.00007 msecs
is just noise compared to a 0.005 total, that's 1.4%).

Change-Id: I993444eef8bc68eff9badd581fae3626dfd1cc6d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-08-21 23:50:59 +02:00
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
Friedemann Kleint
95e880bd9d Windows: Handle Qt::ForeignWindow.
Task-number: QTBUG-33079

Change-Id: Iec2ddfe07b07b3a921098c7147f26aff316bf6e6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-21 23:00:32 +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
Sergio Ahumada
7978cef796 tests: Make the QT assignments more explicit
Remove unused 'QT -= gui' and replace some others with
'QT = core ...'

Change-Id: I2d14fae963afc21dbd21a4acdbba2c30cdf8fa61
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-08-21 19:05:52 +02:00
Friedemann Kleint
bc4ce284ad Windows: Generate expose events for layered transient children.
Layered (translucent/non-opaque) windows do not receive WM_PAINT,
expose events need to be generated. Improve
6800728d09 to handle transient
children as well.

Task-number: QTBUG-17548
Change-Id: Id113604512692dfbea1f2b10d0db3068213cf599
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-08-21 16:39:55 +02:00
Stephen Kelly
8074693425 CMake: Allow specifying a TARGET in invocations of macros.
Forward-port of 9ce60ff509c4ff27fe861fc5b2080f50897a68c4 (Qt4Macros:
Allow specifying a TARGET in invokations of macros., 2013-02-26)
from cmake.git.

This causes the INCLUDE_DIRECTORIES and COMPILE_DEFINITIONS to be
used from the specified target when running moc.

Change-Id: I868a35ade3c6b059e64d226291cf2046709d86d4
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 16:39:55 +02:00
Stephen Kelly
ee50096830 Populate INTERFACE_LINK_LIBRARIES property in the cmake files.
This is new in CMake 2.8.12 and replaces the old properties
matching IMPORTED_INTERFACE_LINK_LIBRARIES_<CONFIG>.

Change-Id: I5d4c454972f2535f6792e95718c73d80c56ac24c
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 16:39:55 +02:00
Friedemann Kleint
4ef8144dd6 QWidget: Apply window opacity set before show.
Task-number: QTBUG-33078

Change-Id: Id9111f223a9dc58c88b072c52e36d42db450573a
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2013-08-21 16:39:55 +02:00
Stephen Kelly
74a153e4b8 Add debugging output to randomly failing test.
The result at

 http://thread.gmane.org/gmane.comp.lib.qt.ci-reports/12118

shows an unusual value. The expected output is

 QDEBUG : tst_QColumnView::scrollTo() last= 0  ; HorizontalOffset=  -256
 QDEBUG : tst_QColumnView::scrollTo() last= -256  ; HorizontalOffset=  -512
 QDEBUG : tst_QColumnView::scrollTo() last= -512  ; HorizontalOffset=  -768
 QDEBUG : tst_QColumnView::scrollTo() last= -768  ; HorizontalOffset=  -1024

Change-Id: I8db091f4390cb1a41547d44ca966d172ac278e1a
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 16:39:55 +02:00
Stephen Kelly
89bb6be1f9 CMake: Move some code around.
This makes the diff clearer when adding plugin information
in a followup commit.

Change-Id: I857d9f71b08074f2ffa2f852ad72e5dd975adc3e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-08-21 16:39:55 +02:00
Shawn Rutledge
f7ebb8d4c6 QXcbBackingStore: don't crash in flush() if no platformWindow
Task-number: QTBUG-32681
Change-Id: Iec7204985867a8d65cea393ba6ab66d328a5e7b2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-08-21 16:39:55 +02:00
Tor Arne Vestbø
bd9a023a41 Don't use qt_mac_get_fixed_pitch() to resolve fixed pitch fonts on OSX
The call was resulting in inifinite recursion on OSX 10.9 when Qt was
built against the 10.7 SDK, as qt_mac_get_fixed_pitch uses QFontMetrics
to resolve the pitch, and we would end up in the font resolver again
when asking for the metrics.

The CoreText font-database already takes care of resolving whether or
not a font family is fixed-pitch, so the code is likely a leftover
from the ATSUI-days, and can be removed.

Task-number: QTBUG-31803
Change-Id: I37c90fa637927eb4adc16c0fd556c4c46c456034
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-08-21 16:39:55 +02:00
Eskil Abrahamsen Blomfeldt
ecbd3a70e4 Android: Remove EGL_BAD_SURFACE warning on suspension
When suspending the app we would destroy the surface twice,
causing libEGL to output a warning on the second attempt.
We would also destroy the surface before all references were
released which is not 100% nice. We don't need to call the
super class implementation at all, since we are managing
the EGL surface ourselves.

Change-Id: Ie1ab2ea8561d0018b5f16ac8cdf3296313a0a92c
Reviewed-by: Christian Stromme <christian.stromme@digia.com>
2013-08-21 16:39:55 +02:00
Andreas Holzammer
5680484476 [QNX]Fix transparencies
It is not guaranteed that buffers are cleared when they
are allocated. So don't use a buffer for the root window,
and clear buffers for the actual content.

Change-Id: I42939baec03fa05968c83bbf2739ab8d1d70c8be
Reviewed-by: Matt Hoosier <matt.hoosier@garmin.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2013-08-21 16:39:55 +02:00
Mitch Curtis
9d0b190f4b Construct a valid QTime when creating timestamps for iBase SQL driver.
0e62fc73c9 requires this.

Task-number: QTBUG-29261

Change-Id: Idd8b630c72d0fd1c255695a8c2c22f9fe32767ee
Reviewed-by: John Layt <jlayt@kde.org>
2013-08-21 16:39:55 +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
Leonard Lee
35fd077c80 Specify maximum array size for QByteArray.
Task-number: QTBUG-33037
Change-Id: I3f39b1498fc70614402fca2281ffbd1a6ec4cf3f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-08-21 13:27:47 +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