Commit Graph

9534 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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