Commit Graph

17151 Commits

Author SHA1 Message Date
Andrew Knight
a218a252c4 Upgrade ANGLE to 2.1~99f075dade7c
This aligns with Chromium branch 2356.

This version brings more complete OpenGL ES 3 support as well as various
bug fixes and performance improvements.

The following changes were made to earlier patches:

-0000-General-fixes-for-ANGLE-2.1
  Removed. All changes are now handled elsewhere.
+0001-ANGLE-Improve-Windows-Phone-support
  Consolidated remaining parts from 0009/0010.
+0002-ANGLE-Fix-compilation-with-MinGW
  Remaining issues from patch 0016.
+0003-ANGLE-Fix-compilation-with-MSVC2010
  Remaining issues from patch 0015.
+0004-ANGLE-Dynamically-load-D3D-compiler-from-list
  Renamed from patch 0008.
+0005-ANGLE-Add-support-for-querying-platform-device
  Renamed from patch 0013.
-0004-Make-it-possible-to-link-ANGLE-statically-for-single
  Removed. Fixed by adding defines to project files.
-0008-ANGLE-Dynamically-load-D3D-compiler-from-a-list-or-t
  Renamed to patch 0005.
-0009-ANGLE-Support-WinRT
  Removed. Mostly fixed upstream; remaining parts in patch 0001.
-0010-ANGLE-Enable-D3D11-for-feature-level-9-cards
  Removed. Mostly fixed upstream; remaining parts in patch 0001.
-0012-ANGLE-fix-semantic-index-lookup
  Removed. Fixed upstream.
-0013-ANGLE-Add-support-for-querying-platform-device
  Renamed to patch 0005.
-0014-Let-ANGLE-use-multithreaded-devices-if-necessary
  Removed. No longer needed.
-0015-ANGLE-Fix-angle-d3d11-on-MSVC2010
  Moved remaining parts to patch 0003.
-0016-ANGLE-Fix-compilation-with-MinGW-D3D11
  Moved remaining parts to patch 0002.
-0017-ANGLE-Fix-compilation-with-D3D9
  Removed. Fixed upstream.
-0018-ANGLE-Fix-releasing-textures-after-we-kill-D3D11
  Removed. Fixed upstream.
-0019-ANGLE-Fix-handling-of-shader-source-with-fixed-lengt
  Removed. Fixed upstream.
-0020-ANGLE-Do-not-use-std-strlen
  Removed. Fixed upstream.
-0020-ANGLE-Fix-compilation-with-MSVC2013-Update4
  Removed. Fixed upstream.

[ChangeLog][Third-party libraries] ANGLE was updated to Chromium branch
2356 (2.1~99f075dade7c).

Change-Id: I32ccbfe95e10986bd94be7191dfd53445ea09158
Task-number: QTBUG-44815
Task-number: QTBUG-37660
Task-number: QTBUG-44694
Task-number: QTBUG-42443
Reviewed-by: Andrew Knight <qt@panimo.net>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-09 10:31:12 +00:00
Peng Wu
331ddacfca winrt: set correct virtual keyboard size
This is done by multiplying by the DIP scale factor.

Task-number: QTBUG-44152
Change-Id: I587a66f1a2f7fa3a713c279f5d877e6acb844620
Reviewed-by: Andrew Knight <qt@panimo.net>
2015-04-09 10:30:47 +00:00
Peng Wu
2af77ab826 winrt: remove the dead WP8.0 code from input context
Change-Id: I8db61b4db32052f64833767085f2ebc5f1cc5bcf
Reviewed-by: Andrew Knight <qt@panimo.net>
2015-04-09 10:30:35 +00:00
Friedemann Kleint
f932a85bd9 Windows: Fix dialog close button showing despite ~Qt::WindowCloseButtonHint.
Further restrict the condition under which the special window
flags for QTBUG-2027 apply.

Change-Id: I458c7c6bfb06820992b5a21820c0439fd2ce7d9d
Task-number: QTBUG-2027
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-04-09 10:30:07 +00:00
Paul Olav Tvete
f3e405cb3b Fix logicalDotsPerInch when using devicePixelRatio
Qt does not support having different fontMetrics for different screens

Also add environment variable for overriding logicalDpi

Change-Id: I0baf73026d97fec590597ee304ad9fa119d7a328
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-04-09 10:22:51 +00:00
Laszlo Agocs
2314286883 evdevtouch: Add hotplug support
Follow the exact same structure as evdevmouse and keyboard.

We must do monitoring via device discovery just like we do for keyboards and mice.
Otherwise the usage of touchscreens that connect via USB or can be turned on/off
independently from the board becomes troublesome.

Change-Id: I2de3b519e8d617b0612e5df486e481bbc09b9c8c
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
2015-04-09 09:58:15 +00:00
Gatis Paeglis
65d2b6b4df Add missing event types in printXcbEvent
And replace Xlib define GenericEvent with
XCB define XCB_GE_GENERIC.

Change-Id: Ie82cb7f58b18fc0d253e4b7fd65495608df0a7d9
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-04-09 09:05:51 +00:00
Erik Verbruggen
24b3d82eff QStateMachine: move QState::finished() emision into method.
By moving the code for QState::finished() emission into a virtual
method which also receives the QFinalState that caused the emission,
subclasses can hook in and do some extra processing.

Change-Id: Id19947c09e196a0df4edb87d71b74b0600c78867
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-09 08:42:06 +00:00
Friedemann Kleint
56d091a4ea QToolButton: Fix popup menu geometry in case of QGraphicsProxyWidget.
QDesktopWidget::availableGeometry(const QWidget *) returns the scene
geometry when the widget is embedded into a QGraphicsProxyWidget.
Work around by using the overload taking a point.

Task-number: QTBUG-38559
Change-Id: Ie630bda57e14648255015587a04e29b0de96bab7
Reviewed-by: Arnaud Bienner <arnaud.bienner@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-09 08:30:12 +00:00
Friedemann Kleint
d984b07221 Guard QWidget::setStyleSheet() against invocation from destructor.
Task-number: QTBUG-45178
Change-Id: I3670d9cd9645155318b595d1324a3b3caf2352f6
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-09 08:30:02 +00:00
Andy Shaw
f0cee4568e Add a null pointer check for parent before derefencing it
Change-Id: I5b411f50acc6719b36cdde9ae2dd766b29e9731c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-09 07:07:55 +00:00
Thiago Macieira
bc00e6da84 QIconvCodec: fix compilation when NO_BOM is defined.
qiconvcodec.cpp:305:34: error: unused parameter 'cd' [-Werror,-Wunused-parameter]

Change-Id: I27eaacb532114dd188c4ffff13d330b64b4feaa6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-09 06:09:16 +00:00
Alex Trotsenko
7c149dd869 Prevent memory overgrowth while reading from a sequential device
After flushing the internal buffer, QIODevice::readAll() attempts
to read the device incrementally. On each iteration, the result buffer
size is increased by a constant value independently from the number of
read bytes. This lead to unreasonable growth of the buffer if these
additional conditions were met:

 - readData() requests new data from the device on every call;
 - highly loaded device provides at least one byte on each request.

Instead of constant resizing, keep the size of free block to avoid a
possible memory exhaustion.

Task-number: QTBUG-44286
Change-Id: I637e2d0e05bd900a1bb9517af2fe7d8038c75a35
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-08 16:35:40 +00:00
Laszlo Agocs
db52d55fba Avoid leaking the QPlatformTextureList
Task-number: QTBUG-45395
Change-Id: I8fbdc5136d7d15b9c131d6b91186a1bf2645e4d4
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-04-08 16:26:37 +00:00
Laszlo Agocs
cd61b6c969 Add a cast to glTexImage2D to keep QNX happy
The internalformat parameter seems to be GLenum (unsigned int) on QNX
based on the error message in the linked bug report. The standard is
GLint, though. To keep everyone happy, add a cast.

Task-number: QTBUG-45346
Change-Id: I57fece7b381e0d02acc842a21b1edc5451ea0224
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-04-08 16:26:20 +00:00
Allan Sandfeld Jensen
e63752e6bb Remove table of mostly null pointers
The patch moves the initialization of the format to format blend tables
to runtime, so we only have to explicitly set the values that are
not null. This removes most of the lines in qblendfunctions.cpp.

Change-Id: Ie017f380ff11cfb764a631cfea7626786731b5fb
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-04-08 15:27:53 +00:00
Konstantin Ritt
5b5d25cc41 [QtFontFamily] Get rid of unused member
Change-Id: I8c70995767bfb5fdbd6e9e9464029beeccf41f53
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-04-08 15:17:47 +00:00
Jake Petroules
00540a8345 Remove special handling for (DY)LD_LIBRARY_PATH in QProcess.
This provides the ability to pass a *real* clear environment to a
QProcess, rather than (DY)LD_LIBRARY_PATH always being copied over
from the current environment behind-the-scenes. This is important
to users because passing a truly clear environment is now possible.

[ChangeLog][Important Behavior Changes] (DY)LD_LIBRARY_PATH will
no longer "stick" in the process environment when starting a
QProcess. This means that if a QProcess is started with a clear
environment, it will not specially inherit (DY)LD_LIBRARY_PATH
from the parent process. This should not affect most applications,
but if the old behavior is desired, one can simply pass a clear
QProcessEnvironment with the (DY)LD_LIBRARY_PATH values added, to
the QProcess.

Change-Id: I51d1bc14905c5cc126fb02d91dddc2faade41a3c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-08 15:13:27 +00:00
Friedemann Kleint
a21a24ee48 [QFontEngineFT::loadGlyph] Fix reversed condition.
Introduced by 237cb0d082
(Consolidate paths for fetchMetricsOnly cases).

Task-number: QTBUG-45444
Change-Id: Icd642c09490f1cfc5804313d60d467290ae599ba
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-04-08 12:10:12 +00:00
Kai Koehne
a60571b370 QSaveFile: Fix permissions on creation
QSaveFile is intended to be a replacement for QFile, and should use the
same permissions for newly created files. QTemporaryFile however creates
new files with 0600 mask by default.

Fix this by making the mode_t argument QTemporaryFileEngine uses
configurable, and using 0666 for QSaveFile (like we do in QFile).

[ChangeLog][Important behavior changes] Files created by QSaveFile do
now have the same rights as files created by QFile. This also fixes a
regression in QSettings: In the Qt 5.4 series, new files created by
QSettings were only readable by the current user.

Task-number: QTBUG-44086
Change-Id: Ie1cc20e9f25c6e72e1bc9176490c419c27c5fc82
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-04-08 07:48:17 +00:00
Laszlo Agocs
a715c6ceb8 Use the default fbo in Qt sense in blitFramebuffer
QOpenGLFramebufferObject::blitFramebuffer() passes 0 when no FBO is specified.
This goes against the rest of the framework where the default fbo is what
QOpenGLContext::defaultFramebufferObject() returns. This becomes significant
with QOpenGLWidget and on iOS.

Task-number: QTBUG-45328
Change-Id: Iaeb82cd3786ad395116679c9626bdcb10e93b4e3
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-04-08 05:58:27 +00:00
Marc Mutz
8780381532 QByteArray: begin()/end() are not \internal
Docs copied from corresponding QString functions.

Change-Id: Ia2b0f0521780246d82003a1fda539c132823b294
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-04-07 16:34:25 +00:00
Marc Mutz
dc6e964f63 docs: QString contains characters, not items
Change-Id: I479a731780dfce81e138d1aca950385437266763
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-04-07 16:34:06 +00:00
Thiago Macieira
22dbf6111d Remove unnecessary QDateTime::detach() function
Last commit changed QDateTime::d to be a QSharedDataPointer that
implicitly detaches on non-const operator->() calls. That means we no
longer need to explicitly call detach().

More than that, we should not do it, so we avoid checking the ref count
and try to detach on every use. To do that, in functions where the d
pointer was accessed more than once, I detach at the top and shadow the
"d" variable with a local plain pointer. We don't compile our sources
with -Wshadow, so this should not be a problem.

Change-Id: Ic5d393bfd36e48a193fcffff13b969c281c36d0c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 14:48:47 +00:00
Topi Reinio
2a6249c00a Doc: Qt Concurrent: Link to essential usage information
Functions under the QtConcurrent namespace used to be documented
as header files, using the \headerfile command. These documents
have been since converted to standard pages using the \page
command, and the reference documentation for these functions
now live in the namespace page only.

However, the former pages contain useful usage information and
code snippets, but they've not been linked to from anywhere.

This change links to these pages from the module landing page,
as well as from the function reference doc.

Change-Id: Ia750d72d12503cec96ee2c9e202dd561e548cb24
Task-number: QTBUG-28977
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
2015-04-07 14:38:29 +00:00
Konstantin Ritt
491b746473 Fix build with -directwrite
There were several issues caught by GCC:
* deleting object of polymorphic class type which has non-virtual
  destructor might cause undefined behaviour
* comparison between signed and unsigned integer expressions
* 'GetUserDefaultLocaleName' was not declared in this scope
  (depends on WINVER >= 0x0600)

Change-Id: I39f2cc0d5e158f4d85377edd55e9f74a512c7303
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-04-07 13:10:38 +00:00
Konstantin Ritt
3a845e4b4f Use QT_WARNING_.. instead of #pragma GCC diagnostic ..
Change-Id: I0bb55a7f1074f3b8d6fb681b1d4dab5105ae7569
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-07 13:09:48 +00:00
Konstantin Ritt
237cb0d082 [QFontEngineFT::loadGlyph] Consolidate paths for fetchMetricsOnly cases
Use GlyphInfo as a temporary buffer for storing the glyph metrics
and go through the same code for fetchMetricsOnly and !fetchMetricsOnly.

Change-Id: If8bb85056e5f09588cc3956b43dc51a54d5aecfe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:09:27 +00:00
Konstantin Ritt
550fb85b65 [QFontEngineFT] Move code around to improve readability (no-op)
Move some variables initialization closer to the usage context.

Change-Id: I0f1de0ddc9f0fbe3ec4a56455ccc14f9e8d94e5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:09:00 +00:00
Konstantin Ritt
037ad03182 [QFontEngineFT] Avoid double-negation of info.x
Make it consistent with fetchMetricsOnly path.

Change-Id: I6a2d2568d5579255582217515a4e598722547c60
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:08:02 +00:00
Konstantin Ritt
95d034a14f Introduce QQuaternion::fromDirection()
...which constructs a quaternion using specified forward and upward
directions, so that the resulting Z axis "faces" a given forward direction.

Change-Id: Ib77b8ab5c359a4880b0d946face87026acdc6f0b
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Reviewed-by: Michael Krasnyk <michael.krasnyk@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:07:48 +00:00
Konstantin Ritt
3fb6014ce7 [QFontEngineFT] Guarantee correct metrics for alphamap and its bounding box
...for both cached and non-cached modes, by disabling hinting
for transformed glyphs in loadGlyphFor().

Change-Id: I13766a653ebd72cbed0f5c38ca3536d042aed762
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:07:40 +00:00
Konstantin Ritt
134c6db858 [QFontEngineFT] Consolidate .*lpha.*MapForGlyph() behavior
...and decrease code duplication.

Change-Id: I5eb3c0694dde9030405a3bd3d410ff9784ed7717
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-04-07 13:06:55 +00:00
Marc Mutz
51028d1472 QQueue: unhide QList::swap(int, int)
Task-number: QTBUG-34197
Change-Id: I0b405ab0fabff8852b2705d651848fbff74fc4c2
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-07 13:05:50 +00:00
Andy Shaw
e7e580412e Windows: Fix -no-widgets build
Change-Id: I0a79a61ffe8b6c6f66895dbeb988e653e11c9661
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-07 11:27:13 +00:00
Sérgio Martins
20c651d8b8 Fix QNX and Blackberry -qtnamespace build
Task-number: QTBUG-43569
Change-Id: I81a560d1508de4d808a807f1febdc17619cf4dda
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2015-04-01 10:24:24 +00:00
Daniel Molkentin
c1a67e7dc3 Windows: Do not crash if SSL context is gone after root cert lookup
On Windows, we perform an extra certificate lookup for root CAs that
are not in Windows' (minimal) root store. This check can take up to
15 seconds. The SSL context can already be gone once we return. Hence
we now check for a non-null SSL context on Windows before proceeding.

Change-Id: I1951569d9b17da33fa604f7c9d8b33255acf200d
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-04-01 07:33:20 +00:00
Albert Astals Cid
1458d1b31d Use allConfigurations instead of onlineConfigurations in isOnline()
We need it because otherwise code like
  QNetworkConfigurationManager ncm;
  qDebug() << "ONLINE" << ncm->isOnline();
may give the wrong value because the queued signals that have been just connected a few lines above
may not have been processed yet

Change-Id: I959db75ed17497ab91eeba2669ee2c8947244f00
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-04-01 07:22:10 +00:00
Alex Trotsenko
633b950bd4 QSslSocket: try to send all data on close()
Takes care about unencrypted data in the socket writeBuffer when
close() flushes the output.

Change-Id: I301f41ea709817e215ee4246a3951e3182d94fbd
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-04-01 06:04:07 +00:00
Alexander Volkov
19a91b4a35 Doc: Fix using Apple-related terminology in Qt Core
Use the name "OS X" instead of "Mac OS X", "Mac OS" and "OSX",
and mention iOS. Replace "Carbon Preferences API" by
"CFPreferences API" in the QSettings documentation.

Change-Id: Ia7f9fb874276c7c445a1649df521b96ff43daa0c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-03-31 12:49:01 +00:00
Andy Shaw
180ee8a8de Explicitly cast to a uint to fix a compile error
When using QtTest inside the notification example for QtAndroidExtras
there as a problem with the compilation as it saw it as being an ambiguous
check. Therefore doing an explicit case to uint ensures it is not a
problem.

Change-Id: Ibc9ce4c64292bf5ae7c501c592d8c42a66934b8b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-31 12:03:47 +00:00
Andy Shaw
d64f776a9a Windows: Fallback to 0 samples if ARB::choosePixelFormat() fails with 1
This solves a problem when using a Qt application over remote desktop as
if it failed with even 1 sample then it would fallback to GDI which causes
an error if the software OpenGL option is used.

Change-Id: Ib311a7a657f92aab15277461bc8e040bebbe4753
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-31 11:42:08 +00:00
Ludger Krämer
9ea8082658 fix high memory usage on large download
previously the whole response was cached in a NSMutableData which leads
to high memory usage on large responses (e.g. downloading a large file).
With this patch only the part of the answer that has not yet been read
by the caller is cached.

Task-number: QTBUG-41356
Change-Id: Ic2fe822552620d8835a2c81f8c76dd170fe6ec97
Reviewed-by: Morten Johan Sørvig <morten.sorvig@theqtcompany.com>
2015-03-31 06:24:07 +00:00
Alexander Volkov
7baaec17ed Fix use of the window geometry specification
Until now we applied the geometry in QWidget::setVisible() by
calling QWidget::move() and QWidget::resize(). But these
methods are unreliable when the window is created but not
visible yet. For example, specifying the window position by
"-geometry +0+0" will take no effect.

Apply the geometry directly to QWindow in QWindow::setVisible().
QWidget will update its geometry after the response of the window
system. Besides it allows to specify the geometry for QML
applications.

Task-number: QTBUG-44713
Change-Id: I9a0e110e81e569c81da802729707fec104fef887
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-27 08:00:01 +00:00
Alexander Volkov
c0e4f24336 xcb: Determine the window gravity just before the window is shown
It may change after the window has been created.

Change-Id: Ib81a7ad7353b1909cc42684fc70d6b7d2556106f
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-03-27 07:59:38 +00:00
Martin Gräßlin
9f1f8aaa92 Handle SelectionWindowDestroy in QXcbClipboard
This change is related to 6a7ee92b39
which added handling for SelectionClientClose. Further testing showed
that with e.g. Qt 4 applications the SelectionClientClose is not
emitted, but the selection window seems to be destroyed before the
client is destroyed.

Fur a destroyed selection window the same applies: the clipboard
content is no longer valid and we should emit the changed signal.

Change-Id: Id3778a28b9f5601bf2c6e0106981316e0efa6e7c
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
2015-03-26 15:22:44 +00:00
Sérgio Martins
f451d48005 Windows: Add support for horizontal scroll on some touchpads.
While most (all?) touchpads send WM_MOUSEWHEEL for vertical scroll
the story is quite different for horizontal scroll. Some of them
send WM_HSCROLL instead of WM_MOUSEHWHEEL.

Some of them even send left/right key event but those are lost cases.

Task-number: QTBUG-45120
Change-Id: I3bf86e25a6f4f3ba03ac7e89a23f4b7bc432f2de
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-26 14:57:45 +00:00
Shawn Rutledge
eea5a6ea15 Android MessageDialog: order buttons according to OS X button layout
At least the dismissive action should be on the left, but we can take
the OS X rules as reasonable in cases where a lot of buttons are in use.

Task-number: QTBUG-42808
Change-Id: If45f991a068d47009e02d39fbb3886ff4b31c8e1
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2015-03-26 14:49:31 +00:00
Venugopal Shivashankar
06ecfb6fde Doc: Added the missing description for WindowShadeButtonHint
Task-number: QTBUG-44017
Change-Id: I024faa6214a041403f23fd91f0c8c38eabeef31e
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-03-25 12:15:40 +00:00
Friedemann Kleint
619a0f14dc Re-add documentation for QStandardPaths::GenericDataLocation.
The text was accidentally removed in
1afe110b8f.

Fixes qdoc warning:
qtbase/src/corelib/io/qstandardpaths.cpp:60: warning: Undocumented enum item GenericDataLocation in QStandardPaths::StandardLocation

Change-Id: I7f236c01d85ebf76b67ab7af7e61b8cbedee4c36
Reviewed-by: David Faure <david.faure@kdab.com>
2015-03-25 09:26:31 +00:00
Topi Reinio
b929006513 qdoc: Use the title instead of plain name when listing groups
When listing group nodes, for example, with \annotatedlist command,
QDoc created a link with the plain name (the string that was passed
to \group command as parameter) as the link text.

This change makes QDoc use the group \title, if one exists.

Change-Id: I30b7f9eefc60c12f67b1e579bbc4c5cebe84474b
Task-number: QTBUG-45420
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-04-07 11:49:13 +00:00
Timur Pocheptsov
9b134f4e72 Add Q_UNUSED for parameter (OS X)
Ifdefs exclude the code on OS X, but there is still unused parameter
and annoying compiler (either warning or error, depending on ...).

Change-Id: I913c25b4f96ebe275a6b1d15873bccf4aebe9e7a
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-07 10:39:46 +00:00
Alex Trotsenko
add3c14a28 QAbstractSocket: fix some 64-bit issues in debug code
Change-Id: I78b307b2841353f84b033a815035436ec3eef3b0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-07 06:42:42 +00:00
Thiago Macieira
9eb0b09abc Removed unused code on QT_STRING_UCS4 macro
This isn't defined or used anywhere else.

Change-Id: I9a75ad8521ae4e5cbbe5ffff13d2356883b82dbc
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-04-05 19:40:04 +00:00
Kai Koehne
1db3de6a1e QVLA: Add operator= for initializer lists
Add a dedicated operator=(std::initializer_list) that
first resizes the QCLA, and then replaces the elements
one by one.

This should be usually faster than creating a temporary
QCLA and then copying it, except for the case where the
new array does not fit into the allocated stack - but this
is IMO nothing to optimize for.

Task-number: QTBUG-45041
Change-Id: I147d6d01186b1ca3c635b2c8365d8f6e638ce6fe
GPush-Base: 08de3113051e1289f0de0651ec5647c9ee6feb27
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 15:48:13 +00:00
Allan Sandfeld Jensen
c51240ca75 Optimize fetching pixel values for SSE2 bilinear sampling
Most of the CPU time was spending in fetching pixel values instead of
calculating the bilinear sample. The access to vectors unions turns
out to be very slow, and should be avoided. This patch removes the
uses of vector,int array union in the bilinear sampling for SSE2.

Change-Id: Ie765a80963c4899db59a583ea9a59d15e05f2b13
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 15:42:22 +00:00
David Faure
5aa40e5b00 QComboBox: also adjust size on model reset, with AdjustToContents
When the size adjust policy is QComboBox::AdjustToContents, the combobox
sizeHint was recalculated on dataChanged, rowsInserted, rowsRemoved,
and setModel, but not when the model was reset. This led to truncated
items in the combobox when models are filled asynchronously.

Task-number: QTBUG-5413
Change-Id: I3456c327d680dfffa58d6dcb26c79456c67b2a32
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-04-04 12:24:44 +00:00
Sérgio Martins
ddb0628181 Fix BlackBerry build.
BlackBerry SDK uses gcc 4.6 which supports nullptr, but by default
it uses the dinkum C++ library, which doesn't support nullptr_t.

Change-Id: Ifa95029a9bfa4dc2fc064db5d7a67012e95ac0e2
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 11:55:23 +00:00
Saytgalin Alexander
1bd07b0293 Always release surfaces when application is suspended or hidden.
It is needed to recreate surfaces and to redraw when application is
resumed because on some devices when the application is suspended
Android destroys the surfaces.

Change-Id: I8934e94af038b4ecf116d93aea223ad040b0bff1
Task-number: QTBUG-45019
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Sergey Galin <s.galin@2gis.ru>
2015-04-04 09:12:03 +00:00
Richard Moe Gustavsen
d3277bdf02 QComboBox: open popup on touch release if QStyleHints has setFocusOnTouchRelease()
If we give focus to the combobox on touch release, we need to await opening
the popup until touch release as well. Otherwise we might end up showing
a popup for an unfocused combobox.

Especially on iOS, there is a strong coupling between focus object and
popup menus, which means that we effectively require the combobox to gain
focus before it can show the popup.

Change-Id: Ifb7ba091bb39b77f325cdbf61e00ab3e8ff2e522
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-04-04 08:47:06 +00:00
Richard Moe Gustavsen
9cb38baaf8 iOS: check if Qt has an active window before scrolling to cursor
In hybrid applications an external view can be first reponder. And when
that is the case, Qt will have no active windows and focusView will return 0.
We therefore need to protect scrollToCursor from this case, so it doesn't try
to access e.g focusView().window, which will lead to a crash.

Task-number: QTBUG-45182
Change-Id: I87d470631f5beda22fd64fc1f2b0f7259344f830
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-04-04 08:46:57 +00:00
Richard Moe Gustavsen
ce4a759c3d iOS: enable changing menu items in QIOSMenu while it's showing
If the menu items change while a menu is showing, the current
implementation would crash. The current code tried to take this
scenario into account by using a copy of the item list inside
the native menus, but failed since the list contained pointers
to menu items. And those items would be deleted in a higher layer
when removed from the owning QMenu, even if the native menu was
visible.

One could argue that the list of items should not change while
the menu is visible, but from testing, other platforms handle
this scenario gracefully. So this patch will ensure we do the
same on iOS.

Task-number: QTBUG-44275
Change-Id: I5508e1d6d47039a9aa948c246b33479bd6801868
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-04 08:46:42 +00:00
Alex Trotsenko
f40cf77b0f QIODevice: do not change the 'pos' member for sequential devices
Concept of 'current position' exists only for random-access devices.
As documented, for sequential devices QIODevice::pos() must always
return 0. Prevent a modification of the internal 'pos' member in
QIODevice::readAll() method to follow this rule.

Change-Id: Ida2ee6a629ccfc3068d62f95ab1064ada13fdda5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 08:40:01 +00:00
Marc Mutz
1b109967c5 QUuid: add missing relational operators
QUuid has ==, !=, <, and >. Add <= and =>, too.

Change-Id: I11a0b8028be766e2d48dc7664d935df4d327b3d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 06:40:27 +00:00
Marc Mutz
09c1bd2eb0 QUuid: add some noexcept
Change-Id: I43647e558a761ff6e7a275e30382919ba038f467
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-04 06:40:00 +00:00
Marc Mutz
2b3d3cabe1 QUuid: properly scope macros
Limit scope and undef after last use.

Change-Id: I94f0adb2b9fc3ec65dd7a3b5e6f03685bc226d3d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-03 19:44:08 +00:00
Marc Mutz
650de56c7f QUuid: implement op> in terms of op<
More maintainable, and less code.

Change-Id: Ia99e5deefe4c510fe870076a03ec243ba631a7a3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-03 19:43:59 +00:00
Timur Pocheptsov
a72b3ab73c QSSLSocketPrivateBackend::transmit - fix Secure Transport version
New SSL backend fails to read data most of the time.

This patch:

1. Removes direct call to _q_SSLRead - it was never executed (intentionally)
   and is completely  horrible and redundant.
2. Changes the reading loop - read not while we have bytesAvailable, but
   until we have errSSLWouldBlock.

Change-Id: I3fc5ff94ded76fcc1748d4979f7af85740b4b6aa
Task-number: QTBUG-45290
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Jeremy Lainé <jeremy.laine@m4x.org>
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-04-01 15:36:45 +00:00
Christoph Schleifenbaum
2432a821aa Cocoa: Fix minimizing/zooming frameless windows.
Use miniaturize instead of performMiniaturize when the window has no
minimize button (even if frameless).
Make sure the window is resizable before performing zoom. Even restore
this, of course.

Change-Id: I43217153b4d4fcec0ded4afcde3009817e01feba
Task-number: QTBUG-32184 QTBUG-45339
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-01 15:17:32 +00:00
Timur Pocheptsov
9f34943245 Revert "Cocoa plugin - showMaximized/showMinimized and Qt::FramelessWindowHint"
This reverts commit d024f0a922.
Qt::FramelessWindowHint actually DO require 'non-resizable' window.
Let's assume, non-resizable means 'resize by mouse dragging'.
There is a better fix that will follow this patch (temporary
setting/resetting resizable mask).

Change-Id: I61cefcade437d3e54719e2e1ff0e8d070c577df0
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-04-01 15:17:20 +00:00
Thiago Macieira
f25d6ad2aa forkfd: Fix compilation with older glibc
glibc 2.9 is required for pipe2 and version 2.7 for eventfd.

Bionic added them to Android version 2.3.1, but I can't find a version
macro.

uclibc masquerades as glibc version 2.2, so this function won't be
thread-safe with uclibc.

Change-Id: Iee8cbc07c4434ce9b560ffff13cd3c3b63dd7e83
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-04-01 14:44:42 +00:00
Friedemann Kleint
06671a3cbd Windows: Use FORMAT_MESSAGE_IGNORE_INSERTS for qt_error_string().
This will cause FormatMessage() to return messages with placeholders
as well even though we do not pass the message parameters (for
example: "The operating system cannot run %1." for ERROR_INVALID_ORDINAL).

Task-number: QTBUG-43164
Change-Id: Ib95c1c0fabb543bbe4e8ab2bd8f244f73dff5fa4
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-04-01 14:26:43 +00:00
Olivier Goffart
5322200076 Silence clang warnings in C++03 mode
C++03 forbid the use of local or unnamed type as template parameter.
But in C++11 that is allowed, and clang accept them even in C++03
mode, but with a warning.

The Warning happen for example with this code:

  enum { Foo = 3 };
  int x = 3 << Foo;

Then the compiler issues warnings:

metatype.h:1379:31: warning: template argument uses local type [-Wlocal-type-template-args]
        enum { Value = sizeof(qt_getEnumMetaObject(declval())) == sizeof(QMetaObject*) };
                              ^~~~~~~~~~~~~~~~~~~~
qdebug.h:269:42: note: in instantiation of template class 'QtPrivate::IsQEnumHelper<(anonymous enum)>' requested here
typename QtPrivate::QEnableIf<QtPrivate::IsQEnumHelper<T>::Value, QDebug>::Type operator<<(QDebug dbg, T value)

Normaly the compiler should not even try to instantiate the operator<<
with such types in C++03 mode.

Change-Id: I48c7d5d1836fd87986835fe15c7e0b1beb73c728
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-01 14:20:50 +00:00
Olivier Goffart
8cec5e9a34 Update a few doc regarding Q_FLAG
Change-Id: Ic26b3d64c9a5d5109bd8a0b359f063529d0181fc
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-04-01 14:20:28 +00:00
Andrew Knight
4a6ba203b5 winrt: Fix non-PCH build
This cpp file did not include its header.

Change-Id: Ib68f4a1470c1dc213add5e8825ef972c07ee57df
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-04-01 14:13:30 +00:00
Friedemann Kleint
85f9478227 Fix debug stream operators.
- Use QDebugStateSaver to restore space setting in stream operators
  instead of returning dbg.space() which breaks formatting on streams
  that already have nospace() set.
- Fix some single character string constants.

Change-Id: I0fe86bb1adbdd4a76ab6d2f8c19e063b45ddcf3b
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 13:49:32 +00:00
Friedemann Kleint
2012c8e866 Improve debug operator for QGraphicsItem/QGraphicsObject.
Introduce QDebugStateSaver, use new formatting helpers and
output parent, flags and z only when necessary. Output the
widget contained in QGraphicsProxyWidget.

For example,

QGraphicsProxyWidget (this = 0x1877550 , parent = 0x0 , pos = QPointF(870,491) , z = 1e+30 , flags =  ( ItemIsFocusable | ItemUsesExtendedStyleOpton | ItemSendsGeometryChanges | ItemIsPanel ) )

becomes:

QGraphicsProxyWidget(0x1877550, widget=ItemDialog(0x1e29dc0), pos=870,491, z=1e+30, flags=(ItemIsFocusable|ItemUsesExtendedStyleOption|ItemSendsGeometryChanges|ItemIsPanel))

Change-Id: Ia554dc3e2eb6f16d9d9220d1067194a4424b7cf5
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 11:58:20 +00:00
Kai Koehne
cbf28577ef Force length of prefix path to be calculated at runtime
Prevent compilers from calculating strlen at compile time
by using a volatile pointer. This corrupted paths if the
installation path is patched for the binary SDK installer.

Task-number: QTBUG-45307
Change-Id: I624b0409e8b27299475a88eb1cbf03ffef9589c6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-04-01 11:32:28 +00:00
Allan Sandfeld Jensen
b716216fc0 Fix a few clang warning
Clang likes to complain when override is not used consistently.

Change-Id: I0fad18a7c3eb068aa1b6786243969aef53d1f42c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-04-01 11:29:09 +00:00
Liang Qi
26a9783d55 Merge "Merge remote-tracking branch 'origin/5.4' into 5.5" into refs/staging/5.5 2015-04-01 11:27:03 +00:00
Friedemann Kleint
f53621af05 Update documentation snippets related to QDebug.
Use QDebugStateSaver to store the formatting state and fix the return
statement to return the unmodified stream.

Change-Id: I476d13c5487a89f263dcc11334fc67c85d9433f5
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 04:28:08 +00:00
Friedemann Kleint
7c2360b762 Split out some inline qdebug formatting helpers to qdebug_p.h.
Extract helpers to be able to format classes without type names
and use those for formatting QEvents to reduce clutter.

For example:

QWidgetWindow/"MainWindowClassWindow" QMouseEvent(QEvent::Type(MouseMove), buttons=QFlags<Qt::MouseButtons>(LeftButton), localPos=QPointF(50,116), screenPos=QPointF(948,652))
QWidget/"qt_scrollarea_viewport" QMouseEvent(QEvent::Type(MouseMove), buttons=QFlags<Qt::MouseButtons>(LeftButton), localPos=QPointF(45,32), screenPos=QPointF(948,652))

becomes

QWidgetWindow/"MainWindowClassWindow" QMouseEvent(MouseMove, LeftButton, localPos=50,116, screenPos=948,652)
QWidget/"qt_scrollarea_viewport" QMouseEvent(MouseMove, LeftButton, localPos=45,32, screenPos=948,652)

Change-Id: Ie5441d922962a05caed6b7079a74ea8a2b8a64fb
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2015-04-01 04:26:50 +00:00
Liang Qi
ce9519593a Merge remote-tracking branch 'origin/5.4' into 5.5
Conflicts:
	mkspecs/android-g++/qmake.conf
	qmake/generators/unix/unixmake2.cpp
	src/gui/image/qimage_conversions.cpp

Change-Id: Ib76264b8c2d29a0228438ec02bd97d4b97545be0
2015-03-31 10:03:31 +02:00
Martin Smith
17294c5e4d doc: Correct error in QProxyStyle() doc.
Constructing the QProxyStle object with a null QStyle
pointer causes the QProxyStyle to use the default native
style.

Change-Id: If624ed7a805aef839ca8a51242d12b2f6d777e83
Task-number: QTBUG-42231
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
2015-03-31 07:13:26 +00:00
Thiago Macieira
00f5d26499 Make Creator happy with qobjectdefs_impl.h parsing
This is just so the Q_COMPILER_xxx macros get defined properly.

Change-Id: Iee8cbc07c4434ce9b560ffff13d066aa0a8671cc
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-03-31 07:05:47 +00:00
Thiago Macieira
26edd5a3b1 Use QStringLiteral where applicable in QtDBus
Move to qdbusutil_p.h the string constants that are used often and in
multiple places; use QStringLiteral in qdbusintegrator.cpp for the
strings that are used often.

Change-Id: I8e1325b9ba015bda91bf01c42175d8032ea32f62
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-03-31 06:50:42 +00:00
Kai Koehne
635f95846e Windows: Fix QT_NO_OPENGL build
Change-Id: Ieb99dce5389c37fb28a28691c75bf879740398e1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-31 06:27:23 +00:00
Shawn Rutledge
641b8d2b84 xcb: set WM_NAME window property
Some older window managers and utilities still ignore _NET_WM_NAME.

Task-number: QTBUG-42209
Change-Id: Iff93c8188a0a73b04cdf361add153cd818ac670f
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Martin Gräßlin <mgraesslin@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-03-31 06:15:09 +00:00
Shawn Rutledge
be242ed094 D-Bus system tray: emit activated on middle and right click
The ActivationReason provides the type of click.  If the icon has a
D-Bus menu, then QStatusNotifierItemAdaptor::ContextMenu will not be
called: the tray is responsible for opening the context menu.  But
an application can alternatively do something different with a
right-click by not providing a menu, and instead handling the
QSystemTrayIcon::activated signal with the Context reason.
Simplified the code by emitting the signal directly in
QStatusNotifierItemAdaptor.

Task-number: QTBUG-44929
Change-Id: Ia062a9a2fd99554418d58a1ff6ecd4e862035198
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-03-31 06:14:53 +00:00
Shawn Rutledge
0e55d8dfad D-Bus system tray: emit QPlatformSystemTrayIcon::activated on click
This was incomplete functionality in
38abd65377

Task-number: QTBUG-44929
Change-Id: I7120a3de011c5df57ef5a9fbdfe056eee42d572b
Reviewed-by: Marco Martin <mart@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-31 06:14:28 +00:00
Shawn Rutledge
509f77cca2 D-Bus tray icon menus: support submenus
In this case GetLayout will be called with the D-Bus menu ID of the
menu item which contains the submenu.

Task-number: QTBUG-45191
Change-Id: Ia8108272910eac10f040db5865ec4e070da80edb
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-03-30 22:01:16 +00:00
Thiago Macieira
ffc74e6d70 Use Q_NULLPTR for the null pointers used in macros
User code should build with -Werror=zero-as-null-pointer-constant

Task-number: QTBUG-45291
Change-Id: Iee8cbc07c4434ce9b560ffff13d0031979b4c2fe
Reviewed-by: Matthew Woehlke <mw_triad@users.sourceforge.net>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-30 21:22:20 +00:00
Laszlo Agocs
2266f51922 Fix incorrect FBO bindings with QOpenGLWidget
QOpenGLContext::defaultFramebufferObject() knows nothing about QOpenGLWidget
and QQuickWidget. The problem is that this function (and others that rely on it)
is expected to give the widget's backing FBO in paintGL() and friends.

To overcome this, we have to provide a way for such widgets that indicate what is
the expected "default fbo".

Task-number: QTBUG-43269
Change-Id: I43f439f8609382b9f7004707ab0ef9f091952b4f
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-03-30 20:48:07 +00:00
Maks Naumov
2c1d597b65 Fix invalid characters count in QBig5hkscsCodec::convertFromUnicode()
Change-Id: I3b06361f93e7ab6a3336b2c432e0a163a34ccb43
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2015-03-30 18:03:32 +00:00
Gabriel de Dietrich
ea47d152b3 QTabBar: Disable wheel events on Mac
Many people complain about this unexpected behavior. We
may consider introducing a style hint later for those
few people that may want it.

Change-Id: Ifab663b4b5c3a78a3544ab4408cf34f672df8c05
Task-number: QTBUG-8428
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-03-30 17:53:11 +00:00
Gabriel de Dietrich
08cc9b9991 QCocoaMenu: Queue 'activated' signal emission
Allows catching exceptions without quitting the application.
The behavior change should be unnoticeable since we can't
activate the menu item from within the Qt application.

Tested that the keyboard modifiers are still set when we get
to the action signal handler.

Change-Id: I43d0c377834450344bd3a3678e07b6631ba0b768
Task-number: QTBUG-15197
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
2015-03-30 17:52:56 +00:00
Christian Strømme
6b19eec631 Android: Only take ownership of threads we explicitly attach to.
Previously we would take ownership of all threads when attempting to
attach it to the VM, regardless if it was already attached or not, to
avoid expensive re-attachments in our own code. The downside of this
approach is that we might hijack threads the user wants to control
themselves, and the later detach the thread while it still in use, e.g.,
after the QApplication instance is destroyed.

This change does not add any infrastructure to enable more advanced
management of attached threads, so threads might still be hijacked if
the user make a call directly or indirectly through the QJNI API's on
a thread that's not attached.

Task-number: QTBUG-45110
Change-Id: I30f7faa2d8c2c35151e2ac8875ebf839bcd6c7c6
Reviewed-by: Sergey Galin <s.galin@2gis.ru>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-30 13:12:51 +00:00
Friedemann Kleint
a68b03d6a9 Fix qdoc warning in qopengltexture.cpp.
qtbase/src/gui/opengl/qopengltexture.cpp:3652: warning: Cannot find 'ComparisonFunction' specified with '\enum' in any header file

Change-Id: I92e808310f2d775cda30c1f1b6aaf0ed739b02f1
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-03-30 13:06:35 +00:00
Friedemann Kleint
bde0e2d009 Remove compression of posted input method events.
Input method events contain attributes, etc. and cannot
be compressed.

Change-Id: Ib9a2a80f1efec53f9d843684f8227e1f2e245853
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-03-30 13:06:29 +00:00
Friedemann Kleint
61101bd958 Windows: Remove duplicated color masks in qt_write/write_dibv5.
They are apparently a relic of some old bitmap header that
did not contain them (superseded by BITMAPV5HEADER).

Task-number: QTBUG-45265
Change-Id: I993dda7d409f7963c9fabd42b0fac5f5586c6248
Reviewed-by: aavit <eirik.aavitsland@theqtcompany.com>
2015-03-30 13:06:23 +00:00
Friedemann Kleint
3203ac3f4e Use QDebugStateSaver to restore space setting in stream operators.
Returning dbg.space() breaks formatting on streams that already
have nospace() set.

Change-Id: I55e38b018679a67eb40be6b4664505483a3a7d8e
Reviewed-by: David Faure <david.faure@kdab.com>
2015-03-30 12:59:58 +00:00
Jørgen Lind
c7b003ea3b Use Xlib to resolve font cursor if possible
before fallingback to uploading a bitmap cursor

Task-number: QTBUG-30016
Change-Id: I53eeda6bb5f6cab66e3bc10a2e5382ce55cc1bab
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-03-30 12:55:56 +00:00
Andy Shaw
21d7ec80f0 Windows: Send the input method event when the focus object is valid
Change-Id: I072d4b0bc754f73507c2de96d7e155f13a993594
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-30 12:33:59 +00:00
Laszlo Agocs
6fe60cd9f2 xcb: Fix bgr888 VNC sessions
Introduce a slow path for 24 and 32 bit BGR. We don't care about
performance here but it has to show the correct colors.

Task-number: QTBUG-42776
Change-Id: Ic73e8ca3950b2b956f06643165dcfac51e7540f3
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2015-03-30 08:41:49 +00:00
Caroline Chao
1a542f2544 testlib: Detect distribution name/release for blacklisting tests
Add possibility to blacklist distributions using the syntax:
"<productType>" and "<productType>-<productVersion>".

productType and productVersion are the values returned by
QSysInfo::productType() and QSysInfo::productVersion() (in lower case).

Change-Id: Iefd948127dd2133c2f2ab7aeb5b0c9749c3df6c5
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2015-03-30 08:41:49 +00:00
Andrew Knight
d1ee1c52d1 Fix "'QCss::Property' is not a class or namespace"
As reported by GCC 4.9.2 x86_64-linux-gnu. The error message is correct;
QCss::Property is the name of an enum.

Change-Id: I9fb29d39ac11a644b7b08227f102594b3f3017f0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Debao Zhang <hello@debao.me>
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-03-30 06:12:59 +00:00
Konstantin Ritt
f2486adc1b Build bundled freetype as qt_helper_lib
And thus do not disable warnings for the whole module when
configured with -qt-freetype.

Change-Id: I601a7c2990c8e3377531a28078db73800c138ec1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-03-27 21:54:22 +00:00
Stephen Kelly
ebafb2f14b QItemSelectionModel: Make selectedIndexes a Q_PROPERTY.
With reasoning similar to commit v5.5.0-alpha1~124 (Make the
QItemSelectionModel::selection a property., 2015-02-25), this should
be a property instead of a Q_INVOKABLE so that it can participate in
persistent bindings.

Change-Id: Ib9a7900dfa3acbd6f9f7df7b6f00deb6e05c3937
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2015-03-27 21:13:28 +00:00
Friedemann Kleint
2c6c0e8520 Add QT_Q_FLAG for Qt::MouseEventFlag.
Enable formatting it in debug streaming operators.

Change-Id: I92efb70471653bbd4d91588f333ee132b392bf0c
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-03-27 16:54:22 +00:00
Tor Arne Vestbø
94ea7b7132 Add XCTest logger backend to QtTestLib
Will be active when running test apps through Xcode's 'test' action,
and reports QtTestLib test objects and functions to Xcode as XCTest
cases.

This allows running tests on both iOS Simulator and iOS devices from
the command line, through xcodebuild, without relying on any 3rd party
tools. It also integrates Qt test failures and passes into the Xcode
IDE, which may be useful for closer investigation of test failures.

The feature is limited to Xcode 6.x.

Change-Id: I33d39edbabdbaebef48d2d0eb7e08a1ffb72c397
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-03-27 16:53:43 +00:00
Konstantin Ritt
595606fb02 Re-generate the time zones database from CLDR v.27
[ChangeLog][QtCore] QTimeZone data updated to CLDR v.27

Change-Id: Ic25229d86ac4752ed70f5a729fd33c1a837241dc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-27 16:40:28 +00:00
Konstantin Ritt
6acb7fd61d Fix time offset for several time zones
They are in UTC-03:00, not in UTC+03:00 (just a C&P typo).

Change-Id: Ib342b65967404b8756c62953258b17421b9245af
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-27 16:40:25 +00:00
Konstantin Ritt
d8a0b97f60 Update CLDR to v27
+ A bunch of fixes in the locale data
+ New scripts from Unicode 7.0
+ New locales
- Some locales disappeared (aa_DJ, aa_ER, st_LS, ss_SZ, swc_CD, tn_BW)
- Some locales lost their contents (i.e. en_Dsrt_US)

[ChangeLog][QtCore] QLocale data updated to CLDR v.27

Change-Id: Iba8c7884f8087e577cbb25a8fc106dd7bd3ebb5d
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-27 16:40:16 +00:00
Konstantin Ritt
7946b83ace [QLocaleData] Extract defaultContent locales
This adds some locales missing in the common/main/ directory, namely:
  bss_CM, cch_NG, dv_MV, gaa_GH, gez_ET, ha_Arab_NG, iu_Cans_CA, kaj_NG,
  kcg_NG, kpe_LR, ku_Latn_TR, mi_NZ, ms_Arab_MY, mn_Mong_CN, nds_DE,
  ny_MW, oc_FR, sa_IN, sid_ET, tk_Latn_TM, trv_TW, tt_RU, ug_Arab_CN,
  wa_BE, wo_Latn_SN

See http://www.unicode.org/reports/tr35/tr35-info.html#Default_Content
for more info.

Change-Id: I6b3082d370a21da64fbd5e72ab6344e1d7a6a3c9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-27 16:40:13 +00:00
Konstantin Ritt
f50841cc8b Re-generate Unicode data tables
Change-Id: I289537377f37c36f88de9662bbb7ad108bdc9383
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-27 16:40:10 +00:00
Konstantin Ritt
dec451cf67 Update Unicode data up to v7.0
* Two newly adopted currency symbols:
  the Azerbaijan manat and the Russia ruble
* Pictographic symbols (including many emoji), geometric symbols,
  arrows, and ornaments originating from the Wingdings and Webdings sets
* Twenty-three new lesser-used and historic scripts
  extending support for written languages of North America, China, India,
  other Asian countries, and Africa
* Letters used in Teuthonista and other transcriptional systems,
  and a new notational set, Duployan

For more details, see http://www.unicode.org/versions/Unicode7.0.0/

The Properties struct's .*Diff members were narrowed down
to signed 15 bits and the unicodeVersion has been expanded to 8 bits.

[ChangeLog][QtCore] Unicode data updated to v.7.0

Change-Id: I93ab6f79fa3b05f61abc7279f1d046834c1c1a0b
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-27 16:40:06 +00:00
Laszlo Agocs
52781f2a7d Make versioned OpenGL functions working with the subclass pattern
QOpenGLFunctions allows both deriving from it and getting an instance
via QOpenGLContext::functions().

Unsurprisingly a large number of users attempt to use the versioned
function wrappers in the same way. Unfortunately this approach was
not that well supported.

Besides some potential base class exporting issues the real blocker for
QOpenGLWidget - or any versionfunction subclass whose associated context
changes during its lifetime - is that the functions instances could
only be initialized once. Unlike instances retrieved via
QOpenGLContext::versionFunctions(), instances created "manually" were not
deinitialized upon the destruction of the associated context because
context did not know about them.

A pattern like

  initializeOpenGLFunctions();
  delete context;
  create new context and make it current
  initializeOpenGLFunctions();

is working fine in QOpenGLFunctions-derived classes but not with the
versioned ones.

To overcome this, start registering such instances to the context too.
QOpenGLContext::destroy() can then reset the internal state so a
subsequent initializeOpenGLFunctions() will reinitialize properly instead
of bailing out mistakenly thinking that everything is ready to use.

Task-number: QTBUG-45199
Change-Id: Ia1420bcccb33c51508698b7a1b036c7544a66e74
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-03-27 16:36:34 +00:00
Laszlo Agocs
bc6e92bd2e xcb: Do not crash with VNC
When having a vnc server with pixel format bgr888, we may not have
a working GL integration. (we may not have one regardless of the
pixel format in fact)

We should still keep on attempting to create a regular SHM window
for RasterGLSurface windows too, to keep regular widgets apps working.

Task-number: QTBUG-42776
Change-Id: Idbf8de29694613b240bd27affcc3d80810ce1460
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-27 16:36:16 +00:00
Friedemann Kleint
4347e81161 Windows: Support virtual folders as initial directory for file dialog.
Use the scheme "clsid" to be able to pass them as "clsid:<GUID>"
(with '{', '}' stripped).

Task-number: QTBUG-33962
Change-Id: Ib045fe81518bca6e91588007ce8a245a48479b1f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Patrick Spendrin <patrick.spendrin@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
2015-03-27 14:24:03 +00:00
Martin Smith
696a18b063 qdoc: No internal qmlabstract types in the "inherited by" list
This update ensures that there are no internal QML types in a
QML type's "inherited by" list. It also fixes a bug that caused
the "inherited by" lists to be empty when running qdoc in the
single-exec mode.

Change-Id: Iee8b9dbcd56a09b7a49ec8a703b5d861f0b1f0ec
Task-number: QTBUG-44004
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-03-27 13:55:56 +00:00
Martin Smith
6a5e2f69a8 qdoc: Update for classes in namespaces
The resolving of namespaces across module boundaries
was moving all the nodes for elements contained in the
namespace into the namespace node for the \namespace
command for that namespace. But moving class and
namespace nodes is wrong because they are actually in
different modules where they should also be output.
This update to the fix for the original bug leaves
the class and nested namespace nodes where they are
but adds them as special "orphan" nodes to the
namespace node that has the \namespace command.

These orphan nodes are then included in the namespace
content list when it is written out.

Change-Id: I0eee368ed39f28129b5b43bb4a16963961f53db3
Task-number: QTBUG-44688
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-03-27 13:55:44 +00:00
Friedemann Kleint
58da6f96a8 qdoc: Add details to messages about not finding files.
Print example directories and files.

Change-Id: I58553f45f87ec2c2036a8c4ddf9ffb54baa75870
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-03-27 13:39:42 +00:00
Peng Wu
341dd4c739 Fix WinRT native file picker empty parameters
Properly handle some empty parameters cases in QWinRTFileDialogHelper
which cause WinRT file engine native API failure.

Task-number: QTBUG-44933
Change-Id: I89de2f98ca501af24c356d5b9bb98abd20b9bbf5
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2015-03-27 13:18:35 +00:00
Peng Wu
d890bc7877 winrt: Fix UDP socket writeDatagram
Remove DataWriter usage and share the write implementation with the rest of the class.

Change-Id: I87734d1bf65ad2e602279317c625885d6f829b6a
Task-number: QTBUG-44051
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2015-03-27 13:18:27 +00:00
Peng Wu
c5fd30b285 Implement flush function in WinRT file engine
This is needed by the abstract file engine.

Change-Id: Ia7ceca1be59f00a90e96e97ccd394634bad8b02f
Task-number: QTBUG-44969
Reviewed-by: Andrew Knight <qt@panimo.net>
2015-03-27 13:18:15 +00:00
Takao Fujiwara
c72325d525 ibus: Get display number when screen number is omitted.
QIBusPlatformInputContextPrivate::createConnection() parses DISPLAY
variable and it does not get the display number when the screen number
is omitted. E.g. DISPLAY=":1".

Change-Id: I9f81d8114d4e0f654a27ada67c5dc110eb34cd64
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2015-03-27 13:15:54 +00:00
Joni Poikelin
fa3985ab22 Do not emit textEdited on inputMask change
Task-number: QTBUG-1266
Change-Id: Ib2f1db15be876c1d6713bd7c28c2b91006b3b2d4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2015-03-27 12:55:57 +00:00
Tor Arne Vestbø
ef9e742711 iOS: Update statusbar style based on MaximizeUsingFullscreenGeometryHint
When Qt::MaximizeUsingFullscreenGeometryHint is enabled for the focus
window we are likely to have window content under the statusbar, in
which case we revert to the default iOS statusbar style which is black
text. If this style doesn't fit the user application, the style can be
set in the Info.plist, or progammatically using native APIs, in
combination with UIViewControllerBasedStatusBarAppearance = NO.

Change-Id: I97576ae091bbfcb8718f980c25e91cc7ca605f03
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2015-03-27 10:24:27 +00:00
Tor Arne Vestbø
013afc77f0 Add Qt::WindowFlag to signal that maximizing should cover full screen geometry
Normally when maximizing a window it will cover the available geometry
of the screen, as represented by QScreen::availableGeometry(), which
typically excludes status/menu bars and application launchers.

On some platforms it may still be possible to place windows in the areas
of the screen that are outside of the available geometry, but this will
result in the window being partially covered by (possibly) transparent
system UIs. The new flag allows the user to specify that when maximizing
the window it should try to cover as much as possible of the screen
geometry (in contrast to going full screen, which would typically
hide any system UIs).

For iOS this is a common use-case, as the status bar is transparent,
and the user-interface guidelines for iOS7 and up recommend taking
advantage of the full screen space, while keeping any user-interaction
elements still inside the available geometry of the screen.

Change-Id: I86d7fc937916d9cae245f7a3f9ae46abd92cdd29
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-27 10:24:17 +00:00
Alexander Volkov
a73cead0e0 xcb: Speed up screens' initialization
Use RRGetScreenResourcesCurrent to get the screen's outputs.
It is fast but it may return nothing if the configuration is not
initialized wrt to the hardware. Call RRGetScreenResources in this
case to get the up-to-date configuration.

Task-number: QTBUG-40207
Change-Id: I84dc8a45b89d0bf8881a72b02e81f701637cdb6a
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Daniel Vrátil <dvratil@redhat.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-27 10:03:02 +00:00
Martin Gräßlin
f381ad63a2 Handle SelectionWindowDestroy in QXcbClipboard
This change is related to 6a7ee92b39
which added handling for SelectionClientClose. Further testing showed
that with e.g. Qt 4 applications the SelectionClientClose is not
emitted, but the selection window seems to be destroyed before the
client is destroyed.

Fur a destroyed selection window the same applies: the clipboard
content is no longer valid and we should emit the changed signal.

Change-Id: I173e272dbe912084deed5342d7a4adb55ea1974f
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
2015-03-27 07:38:47 +00:00
Marc Mutz
552d97ffcb QDateTime: remove unused parameter from localMSecsToEpochMSecs()
...a namespace-level static function. The ok parameter was never
set by any caller.

Change-Id: I668f78fe198f09fb0a9a52c10c8dea2fab070653
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-03-26 23:21:36 +00:00
Marc Mutz
e9bd162b72 QDate: further optimize toString()
Factor the TextDate and ISODate legs into separate functions
and replace a chain of QString::arg() with QStringBuilder.

Saves 76B in text size.

More importantly, restores (N)RVO for these code paths.

Change-Id: I8b99bb672f5a4b5506d53487eca189d48b4025e9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-03-26 23:21:31 +00:00
David Faure
211c6f3dc7 QJpegHandler: fix race condition
rgb888ToRgb32ConverterPtr was a static variable, written by one thread
and read by others.
Detected by helgrind, in an app doing image loading in QRunnables.

Change-Id: I06813050b75182cffe26338a3af98eb7d2636abc
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-03-26 22:44:16 +00:00
Konstantin Ritt
cd1cdd1516 Fix soft-hyphen appearance at line-break
Replace it with '-' and set dontPrint to true;
later we unset the dontPrint flag if soft-hyphen appears at the
end of a line after line breaking.

Task-number: QTBUG-44234
Change-Id: I05b69bcbbe07e1ee8a5d35d24372356ce8ab9db8
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-26 20:00:45 +00:00
Konstantin Ritt
cfe3ac9c65 Set dontPrint flag for the respective glyph
The str_pos variable hasn't been incremented prior to string[str_pos].
Ouch!

Change-Id: I54a160c26e23821037bf6ee8aea3e0a94a5e71f9
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-26 20:00:41 +00:00
Konstantin Ritt
a8e3245b50 Better detection of Symbol fonts
> Symbol character sets have a special meaning.
> If the symbol bit (31) is set, and the font file contains a 'cmap'
> subtable for platform of 3 and encoding ID of 1,
> then all of the characters in the Unicode range 0xF000 - 0xF0FF
> (inclusive) will be used to enumerate the symbol character set.

If we detected the font has a symbol character set, report no other
writing systems support.

Change-Id: I1030f3339c166ffd03c7caee1b1b26010dfdc314
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-26 20:00:38 +00:00
Konstantin Ritt
951e8a52ae Detect Thai writing system support from the font's Code Page Bitfields
https://msdn.microsoft.com/en-us/library/windows/desktop/dd317754(v=vs.85).aspx

Change-Id: I893746210dc71b9de6f6c064fd9fcaf6340e3c71
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-03-26 20:00:35 +00:00
Thiago Macieira
49f4458a18 Remove extra semi-colons: clang doesn't like it
qdebug.h:373:81: error: extra ';' outside of a function is a C++11 extension [-Werror,-Wc++11-extra-semi]

Change-Id: Iee8cbc07c4434ce9b560ffff13cb759805b64dfc
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2015-03-26 06:11:20 +00:00
Thiago Macieira
e1c99e15b6 Update strtoll and strtoull from upstream FreeBSD
There appears to be at least one fix, related to sign- or zero-extension
in the call to isspace(). So it's a good idea to update again. This also
brings the behavior to match strtoll and strtoull on Linux, including
the fact that strtoull will parse negative numbers. For that reason,
qstrtoll and qstrtoull are now wrappers that try and keep the behavior
that we used to have.

This update also changes the code from a 4-clause BSD license (bad) to a
3-clause BSD license (good).

Change-Id: I73b01b02ebd1551bf924599d52284ad25cc1def0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-03-26 06:11:14 +00:00
Thiago Macieira
f43a624ab8 QtOpenGL: Fix const correctness in old style casts
Found with GCC's -Wcast-qual.

Change-Id: Ia0aac2f09e9245339951ffff13c946886247a98a
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-03-26 06:11:11 +00:00
Debao Zhang
b798b53db7 Don't remove mnemonics and parentheses under non-Mac system.
SHA: 8e3aacf61b is a mac only patch, but
some code introduced by which is not wrapped with Q_OS_MAC. So add
the missing Q_OS_MAC here.

Change-Id: I748d46b977740e6116dab5659ad1e47d23262a0f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-03-26 06:10:05 +00:00
Tor Arne Vestbø
28295915bc iOS: Implement basic QPlatformOffscreenSurface subclass
Offscreen surface support was added in fb3577039c, as the platform
supports FBOs, but we need to return a subclass of QPlatformOffscreenSurface
that returns true for isValid() and a valid surfaceFormat().

Task-number: QTBUG-39759
Change-Id: If6aa9ee1672984bb93a01a5323af8d93b3b0f2b8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
2015-03-25 19:43:24 +00:00
Laszlo Agocs
909e2b17cb Add a section about QOpenGLWidget alternatives
QOpenGLWindow with createWindowContainer() can be an option
for desktop-only apps in some special cases. Document this.

Task-number: QTBUG-45192
Change-Id: I7c59b7d04d6c0fe58ffe93ac72b204103bef2f4c
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2015-03-25 13:10:57 +00:00
Laszlo Agocs
0764407040 Avoid crashing in the vao when not supported
The stored context pointer has to be reset to null in
destroy() even when no VAO was created (vao is null).

Otherwise destroying the context that was stored in the VAO
will not lead to resetting the stored pointer, and a subsequent
destruction of the VAO object will try to dereference it.

Task-number: QTBUG-44562
Change-Id: I438bb3954d4bbd8b8d8704f6087479804f0073a7
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-03-25 13:10:49 +00:00
Paul Olav Tvete
dc62f15d79 Resize backingstore properly on devicePixelRatio changes
Task-number: QTBUG-45076
Change-Id: Ib2f2408abf7bd0b6d1c8a05fbbdc665e77ea6392
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-25 12:17:14 +00:00
Paul Olav Tvete
667f3abc50 Proper geometry conversion for devicePixelRatio > 1
Rounding the bottom right corner position means that the size
can change when the window moves. For windows we need
to round the size up in order to have a stable geometry.

Task-number: QTBUG-45076
Change-Id: I9a85a5915bfec55b0a7295be137b6fbfd7b53095
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-25 12:17:06 +00:00
Andy Shaw
2e4a107e7e Ensure that CSS rules are inherited from the parent tags
When CSS is set in a head tag then it was not being inherited by the child
tags when the CSS specification indicates that the properties are in fact
inherited. This ensures that those properties are inherited and the non
inheritable ones are unchanged.

A test is added to cover the different situations with inheritance and a
fix is done for the QTextDocumentFragment test which was passing despite
having incorrect defaults.

Task-number: QTBUG-28770
Task-number: QTBUG-34153
Change-Id: I55966240845a885852a04ecb82c61926dea9f800
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
2015-03-25 11:55:47 +00:00
Alexander Volkov
738c07542a Don't replay mouse press event which closes a popup on X11
Add a new style hint to QPlatformIntegration: ReplayMousePressOutsidePopup.
Return false for it in the xcb plugin.

This commit restores the behavior which was in Qt 4.

Task-number: QTBUG-34814
Change-Id: I19fee762395a51475cc67b52b368c70679ca736b
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-03-25 11:33:45 +00:00
Richard Moe Gustavsen
722f9f9477 iOS: support SH_ComboBox_UseNativePopup in fusion style
Change-Id: I24ef41249042cd658ecba01b0024d08965673b41
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
2015-03-25 11:15:02 +00:00