Commit Graph

18471 Commits

Author SHA1 Message Date
Richard Moe Gustavsen
6388163df8 qmacmime: rename and move QMacPasteboardMimePlainText to the cocoa plugin
com.apple.traditional-mac-plain-text is not in use on iOS
according to Apples UTType reference. So we enable it only
for OS X by moving it into the cocoa port.

The order in which we instanciate convertors matters when
the application is reading data from the pasteboard.
But since QMacPasteboardMimePlainText should come before the
other "text/plain" convertors on OS X, moving it to the cocoa
port is safe as those convertors are instanciated after
those in qmacmime.

Change-Id: I76b9b14e5ce78f34e0f1ecbfee71e48a27a4687b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-16 14:10:32 +02:00
Richard Moe Gustavsen
514697893f qmacmime: add support for public.rtf
Application like Safari on iOS posts rtf to the
pasteboard when copying html. With this converter added, you
can then paste rtf as html into Qt

Change-Id: I6b62bcc9cfc0b16a47d44bd8d74062226522526d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-05-16 14:10:24 +02:00
Bernd Weimer
fa3d264b0b QNX: Fix tst_selftest
GRAPHICS_ROOT and TZ environment variables are needed in child
processes in order to successfully run the auto test selftests.

Change-Id: I7befabd535b4c47b1e75acbe3d6158d0d9b811b3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-16 10:20:34 +02:00
Laszlo Agocs
72558e810d Avoid setting unnecessary parameters in QOpenGLWidget
QOpenGLFramebufferObject sets the texture parameters already, do
not set them again. Especially not GL_REPEAT, which is wrong and
breaks on devices that do not support REPEAT on NPOT textures.
What QOpenGLFramebufferObject does is just fine (it sets NEAREST/
NEAREST and CLAMP_TO_EDGE).

This is important for WebEngine where the QWidget-based web view
is using QOpenGLWidget.

Change-Id: I264d30118ce7adf50f68f2c7b9a5599a406b4362
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-16 10:04:06 +02:00
Joerg Bornemann
e26ed09102 Revert "fix build for MSVC 2010"
The condition in WinUser.h is _WIN32_WINNT >= 0x0602.
The original #if was correct.

This reverts commit 42d162addf82aa2064600219b9b3224836f676ac

Change-Id: I7a3098ced143fba7b31b138cc7aaaf8f6920bef3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-15 12:41:45 +02:00
J-P Nurmi
1a93c2df1d Disable compiler warnings for libqtharfbuzz-ng
This 3rdparty code produces a lot of warnings especially with clang.

Change-Id: I6f48410699e785d1b2e84b9a6d7b0ba8751179b0
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-15 09:18:20 +02:00
Frederik Gladhorn
2a9201c1e6 Fix error when reading newlines
Fix error 'operation priorities' identified by static analysis from
http://www.viva64.com/en/b/0251/

'!=' operator's priority is higher than that of the '='

Change-Id: I2668171acb506992e3a15b113682ac04ba309532
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-05-14 20:10:03 +02:00
Thiago Macieira
5b4c0da9d0 Move the hex digits out of _q_toHex
Avoids them being duplicated several times in QtCore

Change-Id: Idee0168ed9d452a572ad46e2a14d2d4d3c7d2f7e
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-05-14 20:10:03 +02:00
Jerome Pasion
8e5e9d7987 QDoc: Added "QML Type" to HTML titles of QML type pages.
-makes it more consistent with the C++ pages.
-easier to read for the search engines.

Change-Id: I172bdff04e0aa80ee58a903d112585992234d7d7
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-05-14 20:10:03 +02:00
Paul Olav Tvete
a968042f54 Restore fullscreen mode after keyboard is dismissed
Showing the onscreen keyboard will also show the navigation
soft buttons. We need to tell Android to re-enable immersive
mode after the keyboard is hidden.

Since we now do this in two places, refactor the logic.

Task-number: QTBUG-36916
Change-Id: Ic69c28f41f5e8cf324d81f9bada3cb148dfb5306
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-14 20:10:03 +02:00
Eskil Abrahamsen Blomfeldt
08117eee00 Android: Support QFont::Courier style hint
Android doesn't have a serif monospaced font, so for the courier
style hint we at least need to fall back to something monospaced,
which is "Droid Sans Mono" on Android.

[ChangeLog][Android][Text] Fall back to Droid Sans Mono for
QFont::Courier style hint.

Task-number: QTBUG-37844
Change-Id: Ib42caf53a8fb7b9958e10a8f123cac928eee7069
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
2014-05-14 20:10:03 +02:00
Bernd Weimer
1b2614477f Fix accessibility auto test
Prevent crash on platforms that don't support accessibility by skipping
tests.

Change-Id: I42ba44df3200e0abd62797c76a5c538fb1d2757c
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-14 20:10:03 +02:00
Richard Moe Gustavsen
8df62598ac qmacmime: add support for public.text
Copying a URL from Safari to Qt app does not work. The reason
is that it lies on the pasteboard as public.text, which we
don't support.

This patch will implement support for public.text.

The UTI public.text is documented as text with an unspecified
encoding. On iOS, this turns out to be UTF8 (which also matches
[UIPasteboard generalPasteboard].string).

Task-number: QTBUG-38551
Change-Id: I216dab206d3bff2dde99927ed7e5a3d85309f2a2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-05-14 20:10:03 +02:00
Louai Al-Khanji
bf284c2bbd Direct2D QPA: Fix check for cosmetic pen
When checking whether a QPen should be treated as cosmetic we need to
take into account the render hints set on the painter as well.

Change-Id: I8200611af08000d2d1626d8ef97eb3f6dac4951c
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Andrew Knight <andrew.knight@digia.com>
2014-05-14 13:17:17 +02:00
Eskil Abrahamsen Blomfeldt
d16508a285 Fix crash when loading invalid font data in QRawFont
When passing invalid data to QRawFont, we need to fail gracefully
and mark the font as invalid, instead of crashing. This crashed
because of different missing sanity checks in the Windows
and FontConfig font databases.

[ChangeLog][Text] Fixed crash when trying to load a font from
invalid data.

Task-number: QTBUG-37190
Change-Id: I62c81217ec7d873350b575c9d4ae8e6f0a939540
Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-14 09:13:38 +02:00
Bernd Weimer
4f83102df0 QNX: Make QDateTime "daylightTransitions" auto test pass
Change-Id: I8c68d15806c6ec39e98dddda86823d9b4e3a3169
Reviewed-by: John Layt <jlayt@kde.org>
2014-05-14 09:12:39 +02:00
Bernd Weimer
87152d3c89 QNX: Fix tst_qfileinfo
Change-Id: Ia97a0c661d675e4f5ba800c32f8368583d58ee20
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-05-14 09:12:16 +02:00
Frederik Gladhorn
06e27c2a52 Accessibility Android: Fix crash for invalid interfaces
When asked for an accessibility interface with invalid ID we still
return an AccessibilityNodeInfo. But instead of setting that interfaces'
ID to the invalid ID, rather return one with no ID set so it will simply
fall back to the view.

Task-number: QTBUG-38829
Change-Id: If66f5b1b42ba46949d94a547050c7a2cfc7ee9b7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-05-13 22:10:21 +02:00
Kai Koehne
c8de2a8b5f Fix MSVC warnings in qspdyprotocolhandler
Fix warnings about 'truncation of constant value':

qspdyprotocolhandler.cpp(583) : warning C4309: '=' : truncation of constant value
qspdyprotocolhandler.cpp(656) : warning C4309: '=' : truncation of constant value
qspdyprotocolhandler.cpp(659) : warning C4309: '=' : truncation of constant value

Change-Id: I3c32b9f47c06da9b50f5c94871a2ee455b3a5cb6
Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
2014-05-13 15:09:15 +02:00
Laszlo Agocs
2406a8b45f Remove an unused workaround and fix up the comments in the glyph cache
This old workaround is not necessary and could not be used anyhow since
it would affect a way too wide range of drivers. Modern drivers should
be able to honor the default GL_UNPACK_ALIGNMENT of 4 even for 1 byte
per pixel formats like GL_ALPHA. Instead, document why the behavior
is correct.

Change-Id: I1687448ba92875c8ff772ccc371894e88ff64096
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-13 14:38:05 +02:00
Frederik Gladhorn
12ba0d2cb3 Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable 2014-05-13 14:16:46 +02:00
Andy Shaw
79d35b331a Fix horizontal scrolling on Windows when ALT + mouse wheel is used
Task-number: QTBUG-30833
Change-Id: I366d2979060ba67f745f7c783dee8d7669ebdf57
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-13 14:12:02 +02:00
Bernd Weimer
8094bb537a QNX: Silence startup warnings
Missing PPS objects for navigator, virtual keyboard and buttons can be
expected on QNX and should not lead to warnings.
Virtual keyboard info message does not contain locale object any more.

Change-Id: I447d439ffbf4ea6e03f6a8bca4422a9a121d85f4
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-13 08:42:46 +02:00
Nedim Hadzic
d075df993c QPpsObject compile added for QNX platform
QPpsObject was only compiled for BlackBerry and not for QNX. Now, QNX
platform is included together with lpps lib.

Change-Id: Ib521664b430b202c0e67987d0bfda8373d2be70e
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-13 08:42:30 +02:00
Bernd Weimer
da6dc40f75 QNX: Don't build QNX-only parts on BlackBerry
Only really required source files will be included when building for
BlackBerry.

Change-Id: Ic66b09221c48672358bba7601bc18663ad7fa07a
Reviewed-by: Wolfgang Bremer <wbremer@blackberry.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-05-12 18:15:20 +02:00
Andreas Holzammer
5883b6a22c [QNX]Clear transparent regions
If a region gets painted the buffer beneath needs
to be cleared, as it could be that there are
leftovers from the last blit.

Change-Id: I51f19aa010015059e9a6d9d5e5e4f25fb9532d4e
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
2014-05-12 17:30:57 +02:00
Frederik Gladhorn
73bc91c9df Merge remote-tracking branch 'origin/release' into stable
Change-Id: I9300572e2b74f0564b2589cbd0fbdf24850f68df
2014-05-12 14:01:46 +02:00
Tor Arne Vestbø
5a060a5ad3 CoreText: Prevent creation of CGContext for glyphs with empty bounding box
If the alphaMapBoundingBox of a glyph is empty we don't want to create
a CGBitmapContext on it, as that will fail, and any further operations
on the invalid context will result in possibly fatal errors from CG.

This issue can be observed when drawing some glyphs of the Apple Color
Emoji font.

Change-Id: Ia45ba858b5fb6afa91e6d686a9c55e350d4095f3
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-12 13:44:59 +02:00
Tor Arne Vestbø
a669564597 Allow QFont lookups using localized family names by adding family alias
After fbaa6d3ca6 QFont family names are non-localized on iOS/OS X,
which means applications that try to initialize QFont with a localized
family name (explicitly, or from user input), will fail, and get the
fallback font instead.

We now add font family aliases for the localized family names, so that
font matching will work even for localized family names. Note that
QFontDatabase::families() still returns a non-localized list.

Task-number: QTBUG-38628
Change-Id: Id351befa69916ce162c939733bbfcc774f075120
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-12 13:44:51 +02:00
Louai Al-Khanji
6c42ddf31f Direct2D QPA: Choose linear interpolation for smooth pixmap transform
Let's do the same thing the raster engine does. Much faster too.

Change-Id: I88ea9d2c2ac78feee1193b75a9e96c62a7bd5979
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 13:44:42 +02:00
Louai Al-Khanji
17dda3917d Direct2D QPA: Never queue more than one frame
Microsoft recommends setting the maximum frame latency to 1:

http://blogs.windows.com/windows/b/appbuilder/archive/2013/12/18/optimizing-directx-apps-for-low-latency-input-and-longer-battery-life.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/hh780339(v=vs.85).aspx

Apparently it slightly reduces power consumption and it also slightly
increases performance. So let's set it.

Change-Id: I8a540f1e54e83d6dc13f25564e10b751e202ce66
Reviewed-by: Risto Avila <risto.avila@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-12 13:44:38 +02:00
Andrey Volykhin
793b7e8008 QTextLayout: Fix cursor position calculation for BiDi text
Due excess 'break' in loop, function xToCursor() with "CursorOnCharacter" option
for BiDI text returns wrong cursor position (start glyph position) all time.

Task-number: QTBUG-38846
Change-Id: Iba6671905e0785da6f343db19d6c3bb3e2cf5e8a
Reviewed-by: Andrey Volykhin <andrey.volykhin@lge.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-05-12 10:26:14 +02:00
Eskil Abrahamsen Blomfeldt
3cf9621fa0 Respect fixed pitch request when font family is not available
In particular, if you have a <pre> tag in your HTML, this will
become a QFont with family "Courier New" and fixedPitch==true.
On Android, there's no "Courier New" font, and since the
style hint is AnyStyle, we will just return Roboto, which is
a proportional font.

Note that this exactly matches the condition when fetching the
fallback families for the font in the loadEngine() function,
which was introduced by 06568ff89c48dee8aab278b8b0538c331aa84595
in Qt 4.

[ChangeLog][Text] Respect QFont::fixedPitch() for fallbacks
when font family cannot be matched.

Task-number: QTBUG-36083
Change-Id: I64787c547dc492b9dd3c49f1edf0d9626d198260
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-05-12 09:31:46 +02:00
Thiago Macieira
9bde391da4 Update changelog for Qt 5.3.0
Change-Id: I575938a761f1328c22777a7c5f00716d2856db58
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-05-12 06:39:55 +02:00
Daniel Molkentin
0065b55da4 Ignore expired certificate during certificate validation
OpenSSL has a bug when validating a chain with two certificates.
If a certificate exists twice (which is a valid use case for renewed
CAs), and the first one it hits is expired (which depends on the order
on data structure internal to OpenSSL), it will fail to validate the
chain.

This is only a bandaid fix, which trades improved chain validation
for error reporting accuracy. However given that reissuing of CA certs
is a real problem that is only getting worse, this fix is needed.

See also: https://www.openssl.org/docs/ssl/SSL_CTX_load_verify_locations.html#WARNINGS

[ChangeLog][QtNetwork][QSslSocket] Added a workaround to an OpenSSL problem
that may cause errors when the trust store contains two certificates of the
issuing CA, one of which is expired.

Task-number: QTBUG-38896
Change-Id: I8f17972ac94555648098624e470fff0eff2e7940
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-11 11:34:21 +02:00
Thiago Macieira
0a0cc6afc8 Doc: change the name of the QTemporaryDir parameter name
Make it very clear that this is a path, so it's relative to the working
dir, not relative to tempPath().

Task-number: QTBUG-38266
Change-Id: Ib7ca8df76b5a03c1631fe00d6b329d86538d4b5a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-05-11 05:13:58 +02:00
Thiago Macieira
f2a40fa071 Don't assume QLocale::codecForLocale always returns non-null
It may return null during program exit, due to QCoreGlobalData global
static already having been destroyed. If that's the case, QTextStream
needs to fall back to Latin 1, like QString::toLocal8Bit and
fromLocal8Bit already do.

Task-number: QTBUG-38316
Change-Id: I5949c8dec15b60f4a13b5d9307ed6abfc799fe20
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-05-11 05:13:49 +02:00
Sean Harmer
ec81021664 Enable support for OpenGL 4 on OS X 10.9
Change-Id: Ifc3aeea8bf4bada821d09cc329748cad16923d6a
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
2014-05-10 08:59:45 +02:00
Thiago Macieira
df70d5ad80 Limit the QString pretty outputs to 256 characters
Change-Id: I88e71e517827af7d82e3a47d88d40787051ed827
Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
2014-05-09 23:57:33 +02:00
Thiago Macieira
918f20ee47 Document the X11 DISPLAY variable in the -display option docs
Change-Id: I20412616c91d187e2befc39134a480369347b8cb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-05-09 23:55:47 +02:00
Thiago Macieira
7a89ee08ce Doc: fix -qwindowgeometry and -qwindowtitle option docs
The former was documented twice and the latter was missing the qdoc
formatting.

Change-Id: Id8dfb21a0c2fd26134b5738448971fe2627a12d6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-05-09 23:55:44 +02:00
Thiago Macieira
cd9c59b5d6 Document that the -reverse option is only for debugging and its default
You should never force that option. Just let Qt automatically detect
from the environment.

Change-Id: I43ae4951969d2067cc111eff6302921a0af82658
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-05-09 23:55:40 +02:00
Thiago Macieira
78e57834ac Document that env variables are preferable to cmdline options
Environment variables are passed along to child processes, command-line
options aren't.

Change-Id: Ia52c1d8cfeeb2f7490e73ac50b58ba07c2eebfa8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-05-09 23:55:36 +02:00
Friedemann Kleint
f528fff973 tst_QWidget::windowMoveResize(): Fix QEXPECT_FAIL / QTRY_COMPARE .
QEXPECT_FAIL followed by QTRY_COMPARE considerably slows down
tests due to the check timing out.

Task-number: QTBUG-38890
Change-Id: I7f90f2627fc6ce149d159a6d13355ca1a8181d54
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
2014-05-09 18:49:41 +02:00
Topi Reinio
2d1e109578 Doc: Update the list of highlighted examples
Remove highlighting for examples with known problems, and
examples that don't work on all platforms. Add highlighting
for improved ones and prominent examples that demonstrate
new features.

Task-number: QTBUG-37203
Change-Id: Ida7fd28573dfebe6e4e3320ef83782654632219e
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-05-09 17:25:46 +02:00
Laszlo Agocs
b6de758ec6 Avoid using repeat on widget textures in eglfs
Otherwise widgets will not be shown on some embedded systems.

Task-number: QTBUG-38866
Change-Id: Id16408dc7eb657c052bbe3bdb86e35ab2f062632
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-09 17:25:33 +02:00
Frederik Gladhorn
667f2449a3 Fix crash on startup when running screenreader
For exaple Qt Creator would crash when started and a screen reader (eg
NVDA) is running. This is due to updateAccessibility being called during
the ctor of the TextEdit and on Windows the AT can access properties in
the same call resulting in accessing the text control before it's fully
constructed.

Also make sure to not send accessibility updates for non-widget type edits
since we don't support any accessibility in Qt Quick 1.

Backported from Qt 5.3.1 since it also crashes Qt Creator on startup on
Mac (as soon as accessibility is enabled which may be for various
reasons, and basically any app that uses a QTextEdit).

Task-number: QTBUG-38659
Task-number: QTBUG-38738
Change-Id: I6e5c0dc47bd75e63fe013a9edadbabccd52c20ee
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
2014-05-09 17:25:19 +02:00
Andrew Knight
fe0348e103 ANGLE D3D11: Don't use mipmaps in level 9 textures
As the mipmaps levels aren't being generated on level 9, they shouldn't
be used. Fall back to multisampled textures instead (which is the
behavior for non-power-of-two textures anyway). This fixes an issue in
which textured polygons (e.g. QML Images) turn black when scaled down.

Change-Id: I648b8be473dc38f4e1b26724cbaff610e586fdbd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-05-09 12:31:36 +02:00
Laszlo Agocs
295786d946 Avoid corruption in Q(Open)GLFunctions when used on multiple threads
Using Q(Open)GLFunctions concurrently on multiple threads had some issues
due to incorrect synchronization: The m_groups list in the
QOpenGLMultiGroupSharedResource, in which the Q(Open)GLFunctions instance
is stored, became corrupted under certain scenarios, for example in the
tst_qglthreads autotest and any two threads that happen to enter an
initializeOpenGLFunctions() or QOpenGLContext::functions() call concurrently.

Locking in value() has been introduced in 666c25c089
to fix such issues, however using the context group's mutex is not enough: that still
allows two threads using two contexts with a different context group to concurrently
enter insert(). Instead, the MultiGroupSharedResource has to have its own mutex
to protect its own member variables.

Task-number: QTBUG-38771
Change-Id: If01c44c2084b95e487bc9146576ca180ed8044da
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-05-09 12:25:06 +02:00
Louai Al-Khanji
f85ab84414 Direct2D QPA: Bump copyright year to match reality
Change-Id: I443b74e3d464285febc28345f35d1445e8102015
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-05-09 12:17:44 +02:00