Commit Graph

13816 Commits

Author SHA1 Message Date
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
Thiago Macieira
24c52bd44b Update the DNS and name-resolver tests to the official zone
Change-Id: I02feb8029461383f38bcbdca138789b119a58b5a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-07 05:31:31 +02:00
Thiago Macieira
8fbf959bee Update the code detecting the default include and library paths
Make it be one big AWK script instead of a ton of smaller
processes. Also handle the defaults inside the AWK script for
simplicity.

Since the output is a qmake variable, we do not need to surround with
quotes strings that don't contain spaces.

Also, use a tee trick to print the verbose output: we get the actual
output from awk.

Change-Id: I4a48a917c988a6b03d2c3b6990765301287713ef
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-06-07 05:27:15 +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
Bernd Weimer
70be62e95b QNX: fixed compilation of auto test
Compilation failed because "open" is defined as "open64" in fcntl.h.
This definition is reverted now.

Change-Id: I9badcf11131320c53e442cd5b8b21bb5aa4efee5
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2013-06-06 13:48:06 +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
Stephen Kelly
04830dbcb2 Strip the -L dirs when processing GL dirs for the CMake files.
The generated cmake files expect only the names of libraries, so the
existence of directories causes erroneous fatal errors when attempting
to use Qt5Gui, if pkg-config returns a -L entry from

 pkg-config --libs egl

Change-Id: Iec50b4be68ab643c3c02abce2435a98e69955138
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2013-06-06 09:08:41 +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
Frederik Gladhorn
2dd7f02bb9 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2013-06-05 17:58:47 +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
Friedemann Kleint
1df0f4b2af Fix tst_qcombobox::itemListPosition.
Add font combo to top level via layout and position top level
instead of the (child) font combo.

Change-Id: I0f754c37c009d1ed83615b800d6f2467e858c047
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 15:42:01 +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
Oswald Buddenhagen
930dc240d1 remove pointless symlink fallback for qconfig.h
syncqt does that nowadays.

Change-Id: Iffc465cce86a7c6370afaa543ba9b9ed8d478eea
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 12:36:58 +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
Oswald Buddenhagen
07337def65 don't add absent private include paths to non-git builds
all private headers are created by syncqt (and are thus in the source
dir), so we can simply override the normal (build dir based) paths
instead of extending them.

Change-Id: I9c1f3344c401b481b3f3d2295515f1aabffaa9a0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-05 10:39:47 +02:00
Oswald Buddenhagen
53698f3e7c fix non-git non-shadow non-prefix non-qtbase builds
these builds usually assume all headers in the qtbase build (== source
== install) dir, so the path for adding our pre-generated per-module
include paths needs to be triggered explicitly.

Change-Id: I57ec441d58cdf8186907ee6c36dce08daa206c49
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 10:37:29 +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
Andrew Patterson
f36374727e Changed project dependencies for solution files
Reorganized project dependency output in solution files for vc 2005+

Task-number: QTBUG-30993

Change-Id: I4764f3d98be40b3e217130522bb89a43bbf3669e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-05 08:45:07 +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
Thiago Macieira
db15341d27 QDnsLookup: test multiple TXT answers too
The TXT record is particular because each RR can contain multiple text
strings. So we need to join each RR's texts too.

To make it easy, I've made everything be QStrings.

Change-Id: Ia0506544b913585e7be860c81077cff8e0dab547
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-04 02:22:47 +02:00
Thiago Macieira
0c8061f608 QDnsLookup: test MX and SRV records that can change order
The DNS protocol changes the order of the RRs in each reply it sends,
in an effort to balance the load in servers. For most tests, to ensure
that we get always the same result, we simply sort it back.

For MX and SRV, we can't sort because we also need to test that
QDnsLookup sorted correctly according to priority. So instead allow
that test to have multiple alternatives.

Change-Id: I5c119f907b31789de5c9cf2471cc82ecd140d06f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-06-04 02:22: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
Scott Deboy
092a2f813c Fix broken build when using OpenSSL 0.9.8
Resolving compilation issues encountered when dynamically linking to OpenSSL release 0.9.8 (no letter)

Adding #ifdefs to address OpenSSL version issues, correcting q_sk_push declaration

Conflicting code in qsslsocket_openssl.cpp not present in stable branch.

Task-number: QTBUG-30615

Change-Id: I4b86ca4303343cca5d440ab9821b275028cc5a72
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
2013-06-04 00:05:02 +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
Sergio Ahumada
101c47242b Update LICENSE.PREVIEW.COMMERCIAL license
Change-Id: I87b9c77327e2e32db77efb027172ccd21659e032
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
2013-06-03 20:04:26 +02:00
Oswald Buddenhagen
9a9abf8a8a Only process vcproj files if we do a -fully-process
A top-level vcproj (really a .sln file) only makes sense when sub-
projects are generated too, since the solutions generator will ignore
all non-generated projects.

Originally-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Change-Id: Iff09279d5760b5114a4cfb9b58ad677f2f69fa58
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:53 +02:00
Oswald Buddenhagen
0a1b89bff5 run syncqt only for builds from git
the logic in the configures was even trying to express that, only that
nowadays we always ship syncqt, so the tests were kinda pointless.

this frees us from the perl dependency for non-developer builds of
packaged modules (except for webkit, which needs almost every scripting
language on earth anyway).

obviously, this requires that the packaging scripts run syncqt in the
source dir before tarring up the sources. note that for repositories
other than qtbase, the -version argument needs to be passed to syncqt.

Task-number: QTBUG-29465
Change-Id: Ic929ab17a5de4b30fbf48b3aa9bfa3b4d2ef37d6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:47 +02:00
Oswald Buddenhagen
96557bc389 move module master header generation back to syncqt
now that we split out the part that depends on the project file, we can
do it cleanly here.
this way we can generate these headers at pre-build time already.
and for git builds, perl is probably faster than qmake at this task.

Change-Id: I343255c6de22329471a3ae2c2aac9ebeb160a501
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:42 +02:00
Oswald Buddenhagen
0519129c59 split out dependencies from module master header
this will allow us the create the dependency list in a different way
than the rest of the master header.

Change-Id: Ib083fbbf6194cd9a161d669f860aaf32fd96d9d4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:39 +02:00
Oswald Buddenhagen
f4e5290709 remove pointless quoting of MODULE_*INCLUDES assignments
it would only cause trouble further down the line.

Change-Id: Ied9ba8a1ecf36b77e1091c73564bd7601ea6a6b4
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:35 +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
Oswald Buddenhagen
5d8b8eed90 move module version header generation back to syncqt
there is no particular reason for it being done by qmake.
avoids that the logic is distributed over two source files,
and allows us to generate these headers at pre-build time already,
including not forwarding to a yet unexisting file (which would have a
yet unknown location).

Change-Id: I9c78ab425cf6f01d076c86fd1ee602626f231487
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:25 +02:00
Oswald Buddenhagen
5c555e3a29 factor out writeFile() function
Change-Id: I8e3e1665d7628c3210d000c46dfffa9f1af71009
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-06-03 17:59:19 +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