Commit Graph

15603 Commits (fec53bf5edb3ac8b847a52c486eae4ea166b09bd)

Author SHA1 Message Date
Jan Arve Sæther f20af07e82 Ignore nodes with no text name, value and description.
This is in order to skip certain nodes that usually only carry
structural information (such as ListItem nodes). However, because of the
flattening, this structural information is never used on iOS, so we can
just skip the accessible node completely.

Change-Id: I17018c6565f8b39831f2d2944422c6670a438ab9
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2014-11-20 17:21:08 +01:00
Jan Arve Sæther 72278b7181 Do not skip the parent node when flattening the hierarchy.
The weather app had a search field with a clear button as a child.
Because of this bug it didn't report the content of the text edit (but
only the clear button)

Change-Id: I174c6e150e1991fa9aa2a911048590030b5ccc40
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
2014-11-20 17:20:50 +01:00
Friedemann Kleint 94e40c7c78 Observe QLocale::RejectGroupSeparator in QInt/DoubleValidator.
Pass it as additional boolean parameter to QLocaleData::validateChars().

Task-number: QTBUG-42522
Change-Id: I4b2367f4e2fdcbd17e343d215edad57e6687697a
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-11-20 16:38:23 +01:00
Kai Koehne aef2ed9108 Pick up QT_LOGGING_RULES also for bootstrapped tools
Pick up logging rules set by QT_LOGGING_CONF, QT_LOGGING_RULES,
and qtlogging.ini file also for bootstrapped tools. This helps e.g.
in the case of winrtrunner, which uses categorized logging.

Change-Id: I47d392137e17a59cb57b5c0226f282b0ccf29961
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
2014-11-20 16:32:57 +01:00
Kai Koehne 087aa1f3cb Windows: Prevent registration of timers in shutdown phase
Do not register new timers after closingDown() has been called. They
might call back into QEventDispatcherWin32 after the object has been
destructed, leading to crashes on exit.

registerSocketNotifier has a similar protection using
QCoreApplication::closingDown(). This however does not work in all cases,
because QEventDispatcher::closingDown() is called in
~QGuiApplication(), while QCoreApplication::is_app_closing is set
in ~QCoreApplication(). In between qt_call_post_routines() is called,
which might trigger new timers to be registered.

Task-number: QTBUG-42772
Change-Id: I91325fb10e38c117c1cbedfee272d0ab6a5ca8fa
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-20 16:14:46 +01:00
BogDan Vatra 52f5bf9cd5 Android: Use LocalServerSocket instead of ServerSocket
Using LocalServerSocket is way much safer than ServerSocket because is
not using ports which might be in use by other applications.

Change-Id: I0e2be0b4561362939950861024f1f95ab819f2c2
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-20 16:14:32 +01:00
Nico Vertriest 34985d676a Doc: Corrected autolink errors corelib
Task-number: QTBUG-40362
Change-Id: I551c2af94bb61fcc2494792761dab92d537e5068
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-20 16:14:23 +01:00
Nico Vertriest fbfc2b8e0b Doc: corrected autolink issues itemmodels
Task-number: QTBUG-40362
Change-Id: I8423643e47d27358dbbce58009cc9039aecb74cf
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-20 16:14:06 +01:00
Friedemann Kleint 2ffa46054d Use single finger pan to scroll text edits on touch screens.
Change the number of pan points to 1 for these classes as a
workaround until pan/tap gestures are fully fixed.

Task-number: QTBUG-40461
Change-Id: I0d68726a545ee6148f3ab88f2ab7308b10464ecd
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-20 16:02:54 +01:00
Friedemann Kleint cf0d96f4c8 QWidgetTextControl: Suppress drag selection for OS-synthesized mouse events.
Add a convenience function to QApplicationPrivate returning
the source of mouse events to be able to detect synthesized
mouse events.

Change-Id: I09f82ed917586cd3de8b4146fc6638d19d428163
Task-number: QTBUG-40461
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-20 16:02:47 +01:00
Alex Trotsenko 6bded1695b Fix QString::section() behavior on negative and out-of-range indexes
Change-Id: I3bff6ba73b15ee810bb11b2902d11244c3205b2a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-20 15:37:18 +01:00
Friedemann Kleint 1d9d8123de Text editors: Prevent autoscroll timer triggering from synth mouse events
The autoscrolling interferes with scrolling pan gestures
and causes the scroll direction to be reversed when moving
outside the window.

Task-number: QTBUG-40461
Change-Id: I30ef848a346418929540c23730ab92f44e4565e2
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-20 15:11:12 +01:00
Paul Olav Tvete 71ed74e72e Allow empty string as intermediate match
QRegularExpressionValidator and QRegularExpression disagree on what a
partial match means.

[ChangeLog][QtGui][QRegularExpressionValidator] Allow empty string as
intermediate match

Change-Id: Ia6c55beb54870b1be5c88b6ef3eceebc8ca3f86b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-11-20 14:58:39 +01:00
Eskil Abrahamsen Blomfeldt 41db4b8cdc Enable transformations for Qt Quick in FT engine
In Qt Quick (or in Qt Widgets when setting QT_NO_FT_CACHE to 1 or
when using OpenGL engine), the alphaRGBMapForGlyph() will be used
to get glyphs, because we need to keep our own cache. Transforms
was not supported in this code path, instead it was turned off
in supportsTransformations().

This patch enables transformations in the alphaRGBMapForGlyph()
and alphaMapForGlyph() code paths as well, since this is needed
for proper rendering with QT_DEVICE_PIXEL_RATIO.

Change-Id: I7d6b79918f7c0bcc051a8343b16b315bfbba59cf
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-11-20 14:58:36 +01:00
Giuseppe D'Angelo bec1854cc0 QSortFilterProxyModel: keep the sorting on unrelated changes
Whenever the source model of a QSortFilterProxyModel changes, and
the changes involve the sorted column, the implementation removes
the changed rows from the mapping, sorts them, and inserts them back;
in case of identical items, the rows are inserted at the end of the
block of equal rows.

The problem is that if the change doesn't actually happen on the roles
that are used for sorting, then we shuffle the rows, terribly confusing
the user. The typical case is a model with identical checkable rows:
(un)checking one row will move it at the end.

So, instead of trying to be smart with the removal/sort/insert sorted,
simply resort everything under the changed parent index. Since the
sorting used is stable, this keeps the items in the same positions.

Task-number: QTBUG-1548
Change-Id: Id0e61bd49da53b0a3e8aefa6b6893ac41179dc6f
Reviewed-by: David Faure <david.faure@kdab.com>
2014-11-20 14:58:26 +01:00
Thiago Macieira b86b2a742a QVariant: Fix qIsNumericType(SChar)
signed char is a numeric type

Change-Id: I5cf9ed63cb7a2ba56c08119c77bcac0f9369b5df
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-11-20 05:46:42 +01:00
Thiago Macieira 849604e2f9 Fix asymmetry in QVariant::cmp when A converts to B but not the opposite
This would result in (a == b) != (b == a). The == operation should be
commutative as much as possible.

Now, there's still an asymmetry in that b is forced to a type and the
conversion may fail. QVariant should have an idea of what conversions
are "promotion" and which ones are "demotion" (subject to loss of data
and/or can fail), so it can do the promotion first

Task-number: QTBUG-42254
Change-Id: I9fa4496bbbf0f8719ff8456cc24247290beac608
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-11-20 05:46:40 +01:00
Thiago Macieira 8153386397 Enhance precision of the FP conversion to strings in QVariant
This now guarantees that doing a round-trip from an FP number to string
and back to number results in the same number. This change is required
because DBL_DIG and FLT_DIG don't have the meaning that we were
expecting them to, here: they mean the minimum number of digits of
precision in decimal (i.e., changing the last decimal will always cause
the FP number to change). We need the maximum number: there is one
change in the last decimal place that causes the FP number to change.

IEEE 754 single-precision has 24 binary digits and double precision has
53 binary digits in their mantissa. To convert that to decimal, multiply
by the number of decimal digits a binary digit represents (log2(10) =
0.3), then add one for the rounding and one more digit for the actual
precision we want. That is, for floats we now ask for 9 digits and for
double, 17 decimal digits.

Task-number: QTBUG-42574
Change-Id: Ic78beb60a218f75322f832d33d63fd84e7a65b65
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
2014-11-20 05:46:18 +01:00
Laszlo Agocs 2810d7ee10 Use the static TexStorage2|3D funcs in es builds
When building with -opengl es2 and having ES 3.0 or newer, TexStorage must resolve
directly to the functions.

Other paths (desktop, ES when using dynamic on Windows) are already covered below.

Change-Id: If214578bf23547d6f66a17bc999e9fabf97ba770
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-11-19 19:00:52 +01:00
Eskil Abrahamsen Blomfeldt 2ca323ccd4 Android: Compile for MIPS
The qt_memfill32_asm_mips_dsp function is only declared if
QT_COMPILER_SUPPORTS_MIPS_DSP is defined, so we can't reference it
unless the same macro is defined.

Change-Id: Ib959b4b969b699ca78804394206266469b4ebf64
Task-number: QTBUG-36017
Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-19 16:20:50 +01:00
Tor Arne Vestbø 8ed994f7ac iOS: Make sure QStandardPaths::displayName() is defined
The file qstandardpaths_ios.mm doesn't have an implementation for
this function, only (the wrongly named) qstandardpaths_mac.cpp
does. There's no Foundation API to get the directory name, so
we fall back to the hard-coded strings like all other platforms.

Change-Id: I6dcfeb6a0e5860dd0d4e9a0cd334b2c2181a0004
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
2014-11-19 13:59:59 +01:00
Nico Vertriest 19a920c460 Doc: correct autolink issues corelib/mimetype
Task-number: QTBUG-40362
Change-Id: I852151fdbbe0cbc7ba88066984fc7bf83547b215
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-19 13:01:54 +01:00
Nico Vertriest 52ea96db06 Doc: Added brief statement to group definition
Groups: richtext and sharing.
Task-number: QTBUG-42682
Change-Id: I46bd7e5bba0f665519ee4f3c033b971f0836e314
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-19 13:00:44 +01:00
Alex Blasche 242f1c2d63 Fix QtCreator debugging on Android 5.0 devices
Add a socket based handshake method for gdb. The previous file based
method remains for now and can be activated from Qt creator. It will
be used by older creator builds but has the limitation of not working
on 5.0 devices.

The new mechanism works on pre 5.0 devices too.

Task-number: QTCREATORBUG-13418
Change-Id: Ia3ecd1b144b544f52d90940ca885653bcbc477ac
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-19 13:00:31 +01:00
Lars Knoll 6dac557fd3 Correct the signature and access rights for the protected constructor
Change-Id: Ic43398a82777f3b1a95a36f60ebc4338d60c29ec
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-19 12:59:56 +01:00
Jędrzej Nowacki e64188966c Fix a typo in code comment in moc
Change-Id: I772ba33660fd368bfab5d3aaf4c645dc0949ce73
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-11-19 12:10:00 +01:00
Nico Vertriest a1d61e70ca Doc: added NoGesture to GestureState enum
Task-number: QTBUG-39988
Change-Id: I5481dfec75c90267a3a9be0d212df7384016e69d
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-19 11:58:00 +01:00
hjk 72155f4eb4 Make QSysInfo enum types available cross-platform
This makes the WinVersion and MacVersion enums accessible in platform
indepedent code to avoid the need to use #ifdef Q_OS_* chains in
user code, leading to fewer platform-dependent code paths and better
maintainability.

To indicate "this is not a Windows based OS" a enum value
QSysInfo::WV_None (with value 0x0000) in QSysInfo::WinVersion
is introduced. This keeps the WV_*_based masks usable.

To indicate "this is not a Darwin based OS" a enum values
QSysInfo::MV_None (with value 0xffff) in QSysInfo::MacVersion
is introduced. 0x0000 might have been preferable for (not so
important "consitency" with QSysInfo::WV_None), but is already
taken by QSysInfo::MV_Unknown with a different meaning.

Change-Id: Ib395e0efba58558f31f4e0806f7333165aa90aa5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-19 11:05:29 +01:00
Giuseppe D'Angelo f5f8a8c346 Item delegates: refactor and unify code
We had code duplication all over the place between QItemDelegate
and QStyledItemDelegate. Refactor that code in QAbstractItemDelegatePrivate,
so that both can use it and we'll have one place to fix instead of two.

Change-Id: I0c5decdfac7b0dc6e001c8c970491080f7b2e75f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: David Faure <david.faure@kdab.com>
2014-11-19 10:50:52 +01:00
Paul Olav Tvete 42b4dda39c Fix rubberband position for tabbed mdi windows
Place the rubberband over the tabs instead of where the hidden
subwindows happen to be.

[ChangeLog][QtWidgets][QMdiArea] Fix rubberband position for tabbed mdi windows

Task-number: QTBUG-42612
Change-Id: I41e81ab8b99ab9e0fa533fd4ed1b2a8141d19753
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-19 10:34:39 +01:00
Jędrzej Nowacki 164a3017e6 Remove unused private api
Change-Id: Iffe5a33b8a1f134d722371a9e92ba9c9d13c51f8
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-19 10:16:20 +01:00
Friedemann Kleint c2c48b3ea9 Add a note about group separators to numeric validators.
Task-number: QTBUG-42522
Change-Id: I202cb98c51ba2332000772edfdc47d47c56e49c9
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
2014-11-19 10:11:58 +01:00
Allan Sandfeld Jensen ccd4da392c Do not force a content-type on POST request with no content
While a POST request with no body may be a pointless thing it does
happen on many websites. Currently this causes QtNetwork to print a
warning to the console and set an invalid content-type. This patch
allows the content-type to be absent when content is.

Task-number: QTBUG-42479
Change-Id: Ia84c89147d2469a9421b9694d062c797987b3194
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-19 09:59:10 +01:00
Thiago Macieira 9990e47f04 Fix build
Caused by qstringlist.h no longer including qdatastream.h.

Change-Id: I4dee5565ebaa1c8593633a6ad27f142e4424c5c9
Reviewed-by: David Faure <david.faure@kdab.com>
2014-11-18 22:11:19 +01:00
Martin Smith e86f1ceaed qdoc: Missing break in qdoc switch statement
There was a missing break statement in the function that generates the
.index file, which caused qdoc to output extra attributes in the
<module> element.

Change-Id: I110c15c67a228249bfe0c7da138f2ca0b4921371
Task-number: QTBUG-42625
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-18 11:26:07 +01:00
Allan Sandfeld Jensen 87636ec582 Save a detach if QBrush::setColor does not change the brush color
We can save detaching a QBrush when setColor is called trying to set
the current color.

Change-Id: I8f4042325d0f9c2bda69d469d6861e3cc310f329
Reviewed-by: Samuel Rødal <srodal@gmail.com>
2014-11-18 11:16:56 +01:00
André Klitzing e37a69252e Fix memcpy with incorrect destination
Variable dsa is assigned in this block with q_DSA_new instead of rsa.
So this should be the destination of memcpy.

Change-Id: Id5a41d99f1606bf525ad5f819bbc06bb1235bf5b
Reviewed-by: Richard J. Moore <rich@kde.org>
2014-11-18 06:48:04 +01:00
Friedemann Kleint 6f66205bac Add Windows-specific notation for WebDAV to QUrl.
Convert a Windows-specific WebDAV specification
"//host@SSL/path" into URL's with scheme set to
"webdavs" and back to local file (Windows only).

Task-number: QTBUG-42346
Change-Id: I12663243848ea7b2d3f208743e837e9de14a93eb
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-17 21:47:29 +01:00
Friedemann Kleint 34cab65e8d Add debug output for QPlatformSurfaceEvent.
[ChangeLog][QtGui][QPlatformSurfaceEvent] Added event class
QPlatformSurfaceEvent, which is sent to QWindow and QOffscreenSurface
when native surface is created or about to be destroyed.

Task-number: QTBUG-42476
Task-number: QTBUG-42483
Change-Id: If62e2c2a1f2a94fd310bbf7cf22b94c70125ba7a
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-17 21:47:20 +01:00
Laszlo Agocs 41f8d1f393 Fix wrong qversionnumber header name in tools.pri
Change-Id: Ie571ca0dc1720bcd04e492697e93f866b1877a5b
Reviewed-by: Keith Gardner <kreios4004@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-11-17 20:04:11 +01:00
Kai Koehne 40a4e446f3 ANGLE: Fix compilation with D3D9
Fixes a regression introduced in c6df5fe3ed that
broke compilation with d3d9 (namely, -target xp).

Task-number: QTBUG-42714
Change-Id: I1a5e9682d5463bfa082a5d0c062399a131a7cf52
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-17 20:03:39 +01:00
Jędrzej Nowacki 801c532636 Update dbus to use new QMetaType::registerNormalizedType signature
Change-Id: I5d755f383d8cd226a25bd495f6854c0db9719a51
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-11-17 14:54:09 +01:00
Laszlo Agocs 24d06c8c3c Fix missing docs for QByteArrayList
The public is needed for qdoc which sees class, not struct.

Task-number: QTBUG-42689
Change-Id: I28298b5fd13c6841838634a440bb2f726ddbe7be
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-11-17 14:53:00 +01:00
Laszlo Agocs b00d4475aa Fix broken resource cleanup in QOpenGLWidget
The context has to be made current. Otherwise we may fail to clean up or,
what's worse, we may delete FBOs and textures in some random context.

The latter was visible with ANGLE in the qopenglwidget example. When having
two QOpenGLWidget instances, the context for the second happened to be the
current one when destroying the first. This is now avoided by making sure the
correct context is current when deleting the FBOs.

Task-number: QTBUG-42696
Change-Id: I8c1eed7c13a869968cc67141e585d02c6bc6f279
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-11-17 14:52:50 +01:00
Friedemann Kleint 2fb3941198 QPanGestureRecognizer: Make the number of touch points a parameter.
Prepare for determining the suitable number of touch points
from the device type. For now, 2 points are used as
before, which can be overridden by setting the environment
variable QT_PAN_TOUCHPOINTS. Add member variable
to QPanGesturePrivate which is set on gesture creation and later
used for comparison.

Task-number: QTBUG-40461
Change-Id: I6d9e35ca752375bc6a54435482ca0925195b8142
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-17 14:38:15 +01:00
Sean Harmer c5ecabb70c Send events when platform surfaces are created/about to be destroyed
These synchronously delivered events allow applications to correctly
and conveniently handle native platform surfaces being destroyed. This
is particularly useful when doing rendering on a non-gui thread as it
allows to shutdown rendering before the native surface gets destroyed
from under us.

Task-number: QTBUG-42476
Task-number: QTBUG-42483
Change-Id: I63f41bbdb32f281d0f3b8ec2537eb2b0361f3bb3
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-17 10:38:22 +01:00
Jędrzej Nowacki 3d575d4845 Reduce code bloat, by cleaning up QMetaTypeFunctionHelper
Create and Delete wrappers are not necessary, because they can be
easily simulated with Construct and Destruct. This change removes
redundant function wrappers and a bit of over-optimized code. Gain is
quite big:

Before:
   text    data     bss     dec     hex filename
5366008   47460   14904 5428372  52d494 libQt5Core.so.5.5.0
 505578    7060    2124  514762   7daca libQt5DBus.so.5.5.0
5591079  134656    6728 5732463  57786f libQt5Gui.so.5.5.0
1398785   31676    2576 1433037  15ddcd libQt5Network.so.5.5.0
6642431  220952    2536 6865919  68c3ff libQt5Widgets.so.5.5.0

After:
   text    data     bss     dec     hex filename
5342559   47460   14904 5404923  5278fb libQt5Core.so.5.5.0
 496025    7068    2124  505217   7b581 libQt5DBus.so.5.5.0
5579291  134272    6728 5720291  5748e3 libQt5Gui.so.5.5.0
1389461   31676    2576 1423713  15b961 libQt5Network.so.5.5.0
6637139  220952    2536 6860627  68af53 libQt5Widgets.so.5.5.0

Cost of the change, is moved to CPU while calling QMetaType create()
and destroy(), these two functions became a bit slower. The cost should
not be visible, because they call operator new anyway.

Change-Id: I34fd410343377d9c29925675d7da8172bfda9ce6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-11-17 10:18:43 +01:00
Laszlo Agocs 954552ceac Update fbo toImage() docs regarding premultiplied alpha
Task-number: QTBUG-42510
Task-number: QTBUG-37261
Change-Id: Ic11bec0a25e66df9d022f640621686be867e84d2
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
2014-11-17 10:16:35 +01:00
Oliver Wolff db31a5009a WinRT: Fill data in QUdpSocket::readDatagram
There was still a TODO left in there and the data was never filled.
In addition to filling the data, some pointer checks for addr and port
were added.

Task-number: QTBUG-42244
Change-Id: I8e358b5544edcdb4077a52f433e4bc17d92014ce
Reviewed-by: Andrew Knight <andrew.knight@theqtcompany.com>
2014-11-16 20:00:36 +01:00
BogDan Vatra 2b9ae07ca3 Android: Extract VectorDrawable
Task-numer: QTBUG-42488
Change-Id: Iacc9e6afc75f1f480ba8119c9cbd481beb1d1089
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-16 20:00:09 +01:00
Olivier Goffart 78e0e72eb5 Let QMetaType know which types are Q_GADGET
This is required so we can take a QVariant and detect that it contains a
Q_GADGET and then use method like QMetaType::metaObject and QMetaProperty::write
with the QVariant::data

Change-Id: I3603692e4e84426e10bf59949e3def3ea4947bec
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-11-16 13:37:58 +01:00
Konstantin Ritt 0600f7d629 Fix hb_face leaking in QFontEngineFT
Since HarfBuzz-old's HB_Face doesn't support ref-counting,
it is impossible to keep the same behavior as for NG's ref-counted hb_face
when we're going to reparent the data of unknown type in QFontEngineFT.

We should either not release the object returned by harfbuzzFace(),
or introduce ref-counting for HB-old's HB_Face. Stop referencing HB-NG's
objects on access for now and thus avoid a need to release them manually.

Task-number: QTBUG-42674
Change-Id: Ia21e7ba9c17185796b0dd98c2c27d02566f2a701
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-15 14:45:43 +01:00
Nico Vertriest f44eb5c57f Doc: Solved link and autolink errs qnamespace.qdoc
Task-number: QTBUG-40362
Change-Id: I81166dc3a54427e2d2d81f640162f6c338947849
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-15 14:45:07 +01:00
Andrew Knight 47c2d76dba winrt: Resize window on Windows Phone using EGL
To avoid duplicating code in ANGLE, we can resize the framebuffer in QPA.
This potentially allows us to synchronize rendering to avoid displaying
a frame which is rendered for the new geometry but is displayed with the
old geometry.

Change-Id: I5f3a0634628d9ea4ca73349a02e646eb043bd757
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-11-15 08:51:22 +01:00
BogDan Vatra 08afe17731 Android: Fix QSlider appearance
Task-number: QTBUG-42672
Change-Id: I882c1f625ea659967a8db09246dc28d7aef93fdf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-15 08:50:44 +01:00
BogDan Vatra dfbd09378c Fix crash on Android L and list view items.
This crash is visible on Android L. This patch removes the static_cast which caused the
crash and it also fixed the list view item problem. I could not create separated patches
because they depend too much on each other.

Task-number: QTBUG-42673
Task-number: QTBUG-41814
Change-Id: I5d3e9c2b73df8f0e87e815b785b1c64d65a3ffaf
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-15 08:50:21 +01:00
BogDan Vatra 946cf4ca00 Android: copy build.gradle to install folder.
Task-number: QTCREATORBUG-13311
Change-Id: I4c91164ae1fc593397bb46f98fbc49ef1569da39
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-15 08:49:39 +01:00
Eskil Abrahamsen Blomfeldt 1ffe39dfd1 Make it possible to disable font embedding
When font embedding is explicitly disabled, fall back to painter paths
as we would if the font prohibits embedding. Note that this flag was
never respected on any platform in any version of Qt, as far as I've
been able to tell, because the handling of it in the X11 print
engine was removed shortly after it was introduced in 2005.

[ChangeLog][Printing] Disabling font embedding is now possible using
the QPrinter::setFontEmbedding() function.

Task-number: QTBUG-41943
Change-Id: Ice5e893f9893c5243310ae7892bec7497dd55c4a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-11-15 08:49:15 +01:00
Topi Reinio 2f1d22c8b4 qdoc: Removed text formatting from requisites table
Removed the teletype (code) formatting used in the requisite table:
include, qmake (qtvariable) and import statement (for QML types).

This makes the table look more uniform as it doesn't mix font
styles anymore.

Also, remove the closing </b> tag that caused incorrect html to
be generated.

Change-Id: I180a90c22d4b0066aade8ce38d13343076285ff0
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-15 08:47:41 +01:00
BogDan Vatra e7839239eb Android: Extract AnimatedStateListDrawable
Task-number: QTBUG-42488
Change-Id: I6400c5ba54bdc9a0e1db71986432a6653da9e534
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-15 08:46:28 +01:00
Giuseppe D'Angelo 30a9c8fe8a Q(Styled)ItemDelegate: code tidies
Fix a comment and move another out of a ifdef.

Change-Id: Ib1bc2efba34bd37aa8525621e430d7f6094238ae
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-14 21:01:46 +01:00
Giuseppe D'Angelo 766775f6a0 QOpenGLTexture: don't allocate immutable multisample storage if not supported
Multisample textures may be supported without multisample texture
storage (e.g. from GL 3.2 to 4.2). And, immutable storage may be present,
but not supporting multisample textures (GL 4.3 - 4.4).

Thus, we must properly check if we can allocate immutable multisample storage,
falling back to mutable multisample storage if we're lacking the feature.

Task-number: QTBUG-42643
Change-Id: I1f3d5a9b4296626e40b69a06710331e49c2d1a33
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-14 20:32:05 +01:00
Giuseppe D'Angelo f29e4ef1a6 QOpenGLTexture: be more strict with the pixel format/types
OpenGL ES may be way more pedantic than OpenGL desktop, in that it
supports precise combinations of internal format, pixel format and
pixel type. Fix the switches inside the code to reflect this.

Task-number: QTBUG-41822
Change-Id: Ic0ed025f48a5903f334d56ce8a224dff44821c5c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-14 20:32:00 +01:00
Giuseppe D'Angelo 1d7577d486 QOpenGLTexture: move the Feature enum on top of the header
Change-Id: I08f5f3b2856edbdd8c88e65d5af75d760a39facb
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-14 20:31:55 +01:00
Giuseppe D'Angelo ef693dcb41 QOpenGLTexture: Fix a comment
The right function to call is allocateStorage(), not allocate().

Change-Id: Ia26817dbec710d49e511cab2ae3ca5c1fda20722
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-14 20:31:48 +01:00
Giuseppe D'Angelo c0b4e9076b QOpenGLTexture: introduce support for Ericsson compressed formats
OpenGL 4.3 and OpenGL ES 3.0 have support for these formats
out of the box.

See http://en.wikipedia.org/wiki/Ericsson_Texture_Compression

Change-Id: I661f05b9872f3aa128e39cec64df094a79736555
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-14 20:31:44 +01:00
Andrew Knight 365212fede winrt: Blacklist certain devices from creating a depth/stencil buffer
This passes the EGLConfig created in the platform screen to the
underlying context, and certain GPUs are blacklisted to be prevented
from creating a configuration which does not render properly with Qt
Quick.

Task-number: QTBUG-42260
Change-Id: I7e1cdc33c2f5662538723c6930fad5f13b151d6f
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-11-14 19:04:16 +01:00
Nico Vertriest c8751b3d84 Doc: Corrected brief statement for overview page
Task-number: QTBUG-42682
Change-Id: I28afbb8b09d5568f3fae29fdfc5a3d15376b72de
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-14 19:03:22 +01:00
BogDan Vatra acd06b6ef6 Set Android palette and fonts in QPA plugin.
Task-number: QTBUG-40621
Change-Id: Ibe069d4f93ac317e4f1b9ef5fc6bc3edcfac8685
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-14 19:03:06 +01:00
BogDan Vatra 4decaa566c Android: Extract default style
Task-number: QTBUG-40621
Change-Id: I4569c87c79769752373a9e6e12cb64c89dfc8f94
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-14 19:02:57 +01:00
Andrew Knight c6df5fe3ed ANGLE: Upgrade to version 1.2.30d6c255d238
The following patches have been changed:

0001-Fix-compilation-for-MSVC-2008-and-std-tuple.patch
  Removed because it is no longer possible to build ANGLE with MSVC2008

0002-Fix-compilation-of-ANGLE-with-mingw-tdm64-gcc-4.8.1.patch
  Removed because the minimum version of MinGW moved to 4.8.2

0005-Fix-build-when-SSE2-is-not-available.patch
  Removed because it was fixed upstream

0006-Fix-compilation-of-libGLESv2-with-older-MinGW-w64-he.patch
  Removed because older versions of MinGW are not supported

0007-Fix-ANGLE-build-with-Microsoft-Visual-Studio-14-CTP.patch
  Removed because it was fixed upstream

Task-number: QTBUG-41903
Change-Id: I976d30802f7f6fee725cf9a9f1325d5e82609835
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
2014-11-14 19:01:38 +01:00
Andrew Knight 32db2f425a windows: fix platform compilation after ANGLE upgrade
Upstream changed how WARP is meant to interact with EGL, and so the
enum names changed.

Change-Id: I10d4bcac71b75a1223ea8af4d3fcf584f5685a02
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-14 19:01:26 +01:00
Giuseppe D'Angelo c1081b9426 QFusionStyle: properly indent an if statement
Fix the style trap that leads people into thinking that's an
else-if, while it's a plain if.

Change-Id: I62963f0d6270eadcbd8aede7bac60f83968cb0d4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-14 17:09:18 +01:00
Paul Lemire 8aceadba1f QSurface: added Q_DECLARE_METATYPE
In Qt3D we need to be able to send a QSurface * through a QVariant which would
allow us to be as generic as possible.

Change-Id: I2ca2760f9b985c8dc1db822048fa41e13774d52c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-11-14 14:25:43 +01:00
Sérgio Martins ca526496c3 Allow to use FT_Library_SetLcdFilter in bundled FreeType.
For a default Qt build this change is a NOP, ftlcdfil.c is
ifdefed by FT_CONFIG_OPTION_SUBPIXEL_RENDERING, which we don't
define.

But for users who changed ftoption.h, or are using 3rdparty/freetype/devel/ftoption.h
instead of 3rdparty/freetype/include/freetype/config/ftoption.h they can now
enable Subpixel rendering without getting a build error.

Change-Id: I547e8a20514fcb97e4e56cb0100e9c2ed525f483
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2014-11-13 23:25:19 +01:00
Thiago Macieira adf1b30934 Make QVersionNumber private
We're not ready.

[ChangeLog][EDITORIAL] Remove all mentions of QVersionNumber.

Change-Id: I03ad95992982eb3177f982c1eeddb6a6bc29336c
Reviewed-by: Keith Gardner <kreios4004@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-11-13 20:04:44 +01:00
BogDan Vatra 4fc1a10075 Android: Extract RippleDrawable
Task-number: QTBUG-42488
Change-Id: I41fb37adae4664f4a071d794dc4a31a3ee3334aa
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-13 20:04:23 +01:00
Nico Vertriest 74ae86a660 Doc: corrected autolink issue json
Task-number: QTBUG-40362
Change-Id: I851670eea6af80b0bb463f00b147d7a6ef289046
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-13 20:03:56 +01:00
Richard Moe Gustavsen c506d938a8 iOS: close menu when keyboard hides
If the menu is closed from the keyboard gesture, and
the focus object doesn't change, the menu will still
be in a visible state, even if the keyboard is hidden.

This patch will ensure that this can not be the case
by listening for keyboardWillHideNotification. Since
we have no guarantee for when the destructor runs, we
apply a pessimistic approach and ensure we stop listen
when the menu gets closed.

Task-number: QTBUG-42523
Change-Id: If734ea32d1823b978c9c1c67ebcc5b6c3c5c338c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-11-13 20:03:30 +01:00
Richard Moe Gustavsen bed25d8a3a iOS: let focusobject be ImEnabled when a menu is attached
Since the picker menu uses IM to set an alternative
input view, we also need to specify that we IM is enabled.

Task-number: QTBUG-42523
Change-Id: Ia559fbc0ca7e6a1a4499d5eb179baa2d915ecb17
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-11-13 20:03:20 +01:00
Richard Moe Gustavsen f12d4ee3fb iOS: close keyboard by resigning first responder
Current approach of reloading input views assumes that
the first responder is not a QIOSTextResponder, but
a QUIView. This is not always the case, e.g if someone
calls update after setting IM enabled on current focus
object to false. In that case we'll try to close the
keyboard by reloading input views on a quitextresponder which
can fail if the text responder has an external input view
attached.

This patch will instead hide the keyboard by resigning first
responder when it is a QIOSTextResponder. If it is not
a QIOSTextResponder it means that the keyboard is already
closed, or a third-party UIVIew that supports key input is first
responder. In either case we then leave it as-is.

Task-number: QTBUG-42523
Change-Id: I4dab648af9029941a8d5d3b00011fbd169be5482
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-11-13 20:03:09 +01:00
BogDan Vatra f3b93a7724 Android: Introduce getAccessibleField
This method simplifies a lot the code.

Change-Id: I7fe775d671ae89e112f313c21f61923133785785
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
2014-11-13 20:02:42 +01:00
Giuseppe D'Angelo eb05bda4f2 QJsonArray::(const_)iterator: add the typedef for the pointer type
Mandatory as per the standard iterator requirements, was causing
compilation errors in the STL algorithms.

Task-number: QTBUG-41628
Change-Id: Iee12a3b822383f63c07e270244fd0e145a486b95
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-11-13 20:02:23 +01:00
Pasi Petäjäjärvi 4b717026d3 eglfs: ifdef linux specific functionality from convenience functions
Because change a093204f07
qeglfshooks_stub.cpp don't compile anymore on any other *nix
platform than linux as those functions have been set linux
specific only.

Change-Id: I339672b1bf2745511076030cc1fe13dc7f2356ff
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-13 20:02:02 +01:00
Pasi Petäjäjärvi be64d905a0 Set correct QSurfaceFormat also for raster surfacetype
Change-Id: Idd37942842dc59ae391b6b34308d4c01e7a25bc5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-13 20:01:41 +01:00
Eskil Abrahamsen Blomfeldt 9afb02412e Revert "Fix fallbacks for adapted common script"
This reverts 1dd9a0af4f. It was
a band-aid for a change in the unicode itemizing algorithm
which caused the script of a script item to become unreliable.
This change has since been reverted, so the band-aid is no longer
needed, and it also causes problems for WebKit on Windows when
it ends up preferring Arial Unicode MS as the font for Uchen
script, even though the font does not support this script.

The autotest from the reverted commit is kept in place and still
passes.

[ChangeLog][Text] Fixed regression when rendering Uchen text in
WebKit on Windows.

Change-Id: I488c84703bb55a050d90092c6bf9e5c70a9e31c2
Task-number: QTBUG-41372
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
2014-11-13 20:01:07 +01:00
David Faure efbc538587 qwindowsmime.cpp: support dropping multiple mail attachments
Only the data for the first file could be reached with the mimetype
application/x-qt-windows-mime;value="FileContents"

To get the data for the other files, setting the lindex field of
the FORMATETC struct is necessary. Provide support for that by
appending ;index=N to the mimetype string.

The Windows API provides no generic way to find out how many of these
are available (the app has to find out by looking into the FILEGROUPDESCRIPTORW
structure, for this particular use case), so these additional mimetypes
are not listed in QMimeData::formats(). However this patch extends
the documentation to mention the feature.

[ChangeLog][Platform Specific Changes][Windows][QMimeData] Add support
for handling dropping of multiple mail attachments, adding ;index=N to
the mimetype string application/x-qt-windows-mime;value="FileContents"

Task-number: QTBUG-17373
Change-Id: I031e477d2357b4e5135d2dcd3e3cf991025715a5
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-13 19:21:06 +01:00
David Faure 4c1ea8f72c QIdentityProxyModel: add missing default value, compared to base class.
Change-Id: I8e3ff4923834c87a0a8d289e5445346a87542a80
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-13 19:20:49 +01:00
Shawn Rutledge 63f5b1a7fc send touch update when more points begin after single touch is ignored
Otherwise, a widget can't detect pinches if the points don't start
simultaneously unless it sets WA_TouchPadAcceptSingleTouchEvents.
The use case is for a widget that doesn't actually want the single
touch events, but only when there are two or more touchpoints.

Task-number: QTBUG-42389
Change-Id: I5269d9acb93a0001c4fde02b1f7b9e0dfcc0032f
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-13 15:34:55 +01:00
Shawn Rutledge ea8d4869b7 a widget's window is transient for its parent's top-level window
When a widget's parent's window is not a top-level window, it should
find the top-level window before calling setTransientParent,
to avoid a warning (since a71e285133).

Task-number: QTBUG-42464
Change-Id: I732691b0d40aba226470332426775d1bd4381009
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-13 15:32:53 +01:00
Giuseppe D'Angelo 279317b067 QOpenGLTexture: fix storage allocation
Storage allocation was quite wrong in the general case.

1) We can't pass unsized texture formats to immutable storage
allocations, so we need to check for that.

2) Second, when allocating mutable storage on GLES, apparently
the driver is allowed to peek at the external pixel type. The
texture can then only get data in the pixel type passed
at storage allocation time.

(I guess that, for the sake of simplicity, the drivers are allowed
not to perform any pixel conversions.)

I'm still not convinced about the wording in the GLES2/3
specifications, but apparently ANGLE behaves this way, so we need
to fix this kind of allocation. Unfortunately the only way
is to ask, at storage allocation time, what's the external
pixel format/type, so we need to introduce an allocateStorage
overload taking those as arguments and using them for the
glTexImage* calls.

Task-number: QTBUG-41822
Task-number: QTBUG-42623
Change-Id: Idf745d549f01c5db3e56e86cf9b1f53a77cfccc6
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-13 12:45:03 +01:00
Giuseppe D'Angelo 10d1b6c7b8 QOpenGLTexture: move all the enums at the beginning of the class
It makes more sense to put them all together, and actually
the next patches will require the enums to be moved anyhow.

Change-Id: Ieb897e9ea2bfef66426c72f935504a92323e2a00
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-13 12:44:59 +01:00
Giuseppe D'Angelo ef828b89ab QOpenGLTexture: revamp the feature list
OpenGL ES 3 adds lots of useful stuff in there, so we should
start using it. Since we're there, properly reorganize the other
feature checks.

Note that by starting using immutable storage on GLES2, we may
work around the issue reported in QTBUG-41822 (we're still
not 100% sure if it's an ANGLE bug or a Qt bug).

Task-number: QTBUG-41822
Change-Id: Id8cdbaaf93bc263e663db06b6fd2fee012cb29ad
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2014-11-13 12:44:55 +01:00
Friedemann Kleint c508a9ddf2 Fix MinGW compiler warning in qwindowsxpstyle.cpp.
qwindowsxpstyle.cpp: In static member function 'static QRect QWindowsXPStylePrivate::scrollBarGripperBounds(QStyle::State, const QWidget*, XPThemeData*)':styles\qwindowsxpstyle.cpp:2542:45: warning: suggest parentheses around '&&' within '||' [-Wparentheses]

Change-Id: I6a4b62057a612fa9234744e892950c959c513d15
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
2014-11-13 11:50:34 +01:00
Andy Shaw 9ddcb7784a Prevent a crash when buffer() returns 0
If buffer() returns 0 then there is no bufferPixels available which will
cause a crash later on when it tries to set that memory. If this function
fails then all we can do is return, a warning will have already been
outputted from buffer() itself indicating why.

Change-Id: I5890b3c34536f7f3d17def0936970c0a694b005a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-13 09:11:54 +01:00
Giuseppe D'Angelo 24a94ab833 QGraphicsTextItem: document that adjustSize can center/right align text
Unlike QTextEdit, there's no implicit width for a QGraphicsTextItem,
meaning any rich text that is supposed to be centered or right aligned
will not be unless the user explicitly sets the width.

There's also another possibility: calling adjustSize() manually.
Document that.

Task-number: QTBUG-312
Change-Id: I83023269f4c63643e8224887efe2143dd1bb1908
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-11-12 16:06:48 +01:00
Richard Moe Gustavsen 3e161dcb3d iOS: QtFirstResponderEvent needs to release firstResponder to avoid leak
Without setting firstResponder to 0 upon destruction, the current retain
count would never reach zero after the event was used. The result being
that QIOSTextResponder was seldom destroyed, which would also affect its
inputView etc which would also be kept alive.

Change-Id: Ia88e6a9d8764e7e9532487153e5e81a7ad0f9741
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-11-12 14:03:03 +01:00
Tor Arne Vestbø 8ea5b2852e iOS: Remove assert when transferring or clearing first-responder
We'd transfer or clear first-responder in a lot more cases than just
when transferring to a new Qt window, such as when presenting a new
view-controller on top to send an e-mail or take a picture using the
camera.

Change-Id: I6b2a8a6d9fd99910b96a86cf9847b7ff0128f20a
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-11-12 14:02:48 +01:00
Martin Smith 302b6235eb qdoc: Include source file and line number of links
Each entry in the link-to-link tables and in the
broken-links table now includes the source file
path of the file where the link or broken link
appears and the line number in that file. The
line number often refers to where the comment
that contains the link begins, so sometimes
the link or broken link appears further down in
that comment.

Change-Id: I692bfc173c8711bf26c9c59ad9771930c27e24a8
Task-number: QTBUG-41850
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-12 10:53:45 +01:00
Martin Smith ad2cdb2c94 qdoc: Remove CR from command parameters
Although it is not recommended, it is allowed to have a carriage
return in a qdoc command parameter that is enclosed in curly
braces. qdoc is supposed to use QString::simplified() to sanitize the
string so that all whitespace is replaced by a single ' '. But in at
least one case, this didn't work, and the carriage return was left in
the string, which caused qdoc to report that it couldn't find links
that have the carriage return in them. The problem has been fixed by
replacing the carriage return with a ' ' right when and where it is
detected.

Change-Id: I31c31f19a1e4150b2e27613ecbac260c46a7109b
Task-number: QTBUG-42449
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-12 10:53:30 +01:00
Martin Smith 98e77dab75 qdoc: Generate the links-to-broken-links page
The cross-module link report now contains an entry
for the links to broken links subpage. It is the
last entry in the links-to-links table on the QA
page.

Change-Id: I9e0b3ba5f2efe76055902467348db878dbed9991
Task-number: QTBUG-41850
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-12 08:12:03 +01:00
Martin Smith 623891acd6 qdoc: no longer autolinks symbols that begin with "__"
qdoc no longer tries to autolink symbols that begin
with two underscores. There may be other cases where
qdoc should not try to autolink. They should be
handled in this same place.

Change-Id: I5a39ea2bb0edec2289b8a4b1a9af1f33534093a1
Task-number: QTBUG-42441
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-12 08:11:15 +01:00
Martin Smith 1936e4973f qdoc: Generate \keyword anchors at the top of the page
Currently, qdoc processes \keyword and \target the same way. The
negative effect of this is that when either command appears at the top
of a qdoc comment, the anchor it generates in the html file is just
above the details section on the html page. This is usually wrong,
especially for \keyword commands, where the anchor generated should
always be at the top of the page/text where the \keyword appears. This
update implements that. \target anchors are meant to be used when the
anchor should appear somewhere in the middle of the page/text, exactly
where the \target command appears.

Change-Id: Ibbbf1087562a977ff74ccd98febfe9310ecba8f0
Task-number: QTBUG-42290
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-12 08:11:04 +01:00
Eskil Abrahamsen Blomfeldt 0c2f7388a8 Windows: Remove font size hack
This hack was reintroduced in a4478b2896,
and hides scaling artifacts in fonts where there is heavy hinting,
such as Arial, but introduces new bugs in other fonts, such as
Vijaya. The bottom line is that we shouldn't arbitrarily override
the pixel size of the font with the character height that we get
from GDI. Due to hinting, there will be some artifacts when printing
with screen resolution on Windows. The only way to make this look
correct is to use high resolution printing, like the documentation
says, or perhaps to force design metrics on the text layout.

Task-number: QTBUG-40770
Change-Id: Id151eb0ede5f73efb2a401924ce379d4414ca2b1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-11-11 20:42:46 +01:00
Topi Reinio 1ad78f5f29 qdoc: Prepare QDoc for the new style on qt.io
The new template and CSS have some requirements that need changes
in the generated .html:

    - Generate a new div 'sidebar' and place the TOC (if one
      exists) inside it, allowing the template to extend the
      sidebar contents dynamically. Do this for all pages
      except index.html.

    - Change the DOCTYPE declaration to be html5-compliant

    - Replace <tt> tags with <code> to be html5-compliant

    - Add a new config variable HTML.prologue - this allows
      the template to insert custom html into beginning of
      the page, before the page title but after any navigation
      or table-of-contents items.

    - Wrap tables inside <div> elements. This allows for
      better-working CSS design for small-screen devices.

    - Write out extra parameters first when outputting
      function synopsis to have better styling.

    - Inject zero-width-space characters into function
      names to allow the browser break up long function
      signatures in a nice manner.

    - Edit the CSS for the offline style to adapt to
      above changes.

Task-number: QTBUG-42086
Change-Id: I3075cdc11bcb07a66150388519263fd721c8002b
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-11 20:42:35 +01:00
Samuel Rødal f79d96b486 Fixed QtGui's GL paint engine getting out of sync when using QtOpenGL
We need to reset the active_engine belonging to QOpenGLContext whenever
we make the QtOpenGL paint engine active, to give the OpenGL paint
engine in QtGui a chance to sync its state if we've used the QtOpenGL
paint engine inbetween.

Change-Id: I445ce2f99bfbacf55650c881c4fdf07f2ff85069
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
2014-11-11 19:24:34 +01:00
Samuel Rødal a4428d480b Fix for current_fbo getting out of sync in QtOpenGL
When using QGLWidget in combination with QOpenGLFramebufferObject from
QtGui, instead of QGLFramebufferObject from QtOpenGL, the current_fbo
variable doesn't get updated when framebuffer object bindings change.

To ensure that the QGLWidget correctly releases the currently bound
framebuffer object when using a QPainter, we keep track of whether
QOpenGLFramebufferObject has modified the current FBO binding, and if
that's the case we need to read the OpenGL state directly instead of
relying on a cached value.

Change-Id: If7e0bd936e202cad07365b5ce641ee01d2251930
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-11 19:24:29 +01:00
David Faure 8bed6b6a7f qwindowmime.cpp: fix typo, remove unused variable
Change-Id: If557b191ea7be95a6c9e71069eb1e744f3e73b47
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-11 17:26:50 +01:00
David Faure a4a33a284f qwindowsmime.cpp: add missing qPrintable in qDebug line
(it led to printing out garbage, when enabling QMIME_DEBUG)

Change-Id: Iaacd9139ac09e7637930317535631be8132fe0a4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-11 17:26:36 +01:00
Giuseppe D'Angelo 3f7e3b1c24 QGraphicsItem: document that setOpacity(0) almost makes the item invisible
This particular "feature" leaked into QtQuick1 back in the day. Still
it was never documented in QGraphicsView.

Task-number: QTBUG-18267
Change-Id: Ib5fb446015176f6e9b4095f6ec9030258cbd1ad4
Reviewed-by: Andreas Aardal Hanssen <andreas@hanssen.name>
2014-11-11 16:05:20 +01:00
Allan Sandfeld Jensen 501c510cc3 Do not apply subpixel gamma-correction on XCB
To match rendering of subpixel antialiased text in Qt 4.8 and other
toolkits on X11, we should not apply gamma-correction. This also
makes the rendering of subpixel antialiased text closer to normal
antialiased text.

Task-number: QTBUG-41590
Change-Id: I45ad3448334951353657b878d002eea429858f2d
Reviewed-by: Samuel Rødal <srodal@gmail.com>
Reviewed-by: Sérgio Martins <sergio.martins@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-11 15:45:23 +01:00
Martin Smith 17472a2ba3 qdoc: Generate cross-module links-to-links pages
The cross-module link report is modified so that each module
listed in the table is a link to a subpage on which all the
links from the current module to that module are listed. To
check that these links go to the correct place, click on one
to be taken to the actual link. The actual link is marked
with red asterisks. Click on that link to check that the link
goes to the correct page. Repeat this process for all the
links in the table.

Change-Id: Ifddf7108ed7ef090c4063909fdbd10dac1f2566b
Task-number: QTBUG-41850
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2014-11-11 15:35:33 +01:00
Morten Johan Sørvig 320c1e0540 Document unified title and toolbar limitations.
Change-Id: Ib64a4586c186001730895e6771b01bb213d53b9f
Reviewed-by: Timur Pocheptsov <Timur.Pocheptsov@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-11 14:32:18 +01:00
Martin Smith 894b579e34 qdoc: Fixed a link generation regression
This update fixes a bug introduced in the original update for this
task. The bug caused some links to be generated incorrectly. If the
name of the file containing the target began with the module name,
then a test that asks if the link already begins with the module name
fails, and the link is generated incorrectly. The test now checks for
the module name followed by a slash, which it should have done in the
first place.

Change-Id: Iebac228ac969cef875678b15a248a2a1198ace05
Task-number: QTBUG-41705
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-11 14:22:41 +01:00
Jędrzej Nowacki 0c9d1f99da Fix moc preprocessor
When tokenizing, after macro expansion, moc needs to concatenate
subsequent string literals, because parser do not check for such
expressions.

Change-Id: Icc4f01395a5a7b67368eb8341a45ee74ade7d7f5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-11-11 14:11:40 +01:00
Kai Koehne 8ce93376cd OS X and iOS: Search for openssl libs in .app/Contents/Frameworks
This allows apps to ship their own openssl libraries inside the
application bundle.

The change consists of two parts: First, adding

  <bundle>/Contents/Frameworks

to the alternative search paths. Second, disabling the preemtive
check for libssl.dylib, libcrypto.dylib in the system paths:
The system's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib
will still be picked up as a fallback in the alternative search
paths, but only after .app/Contents/Frameworks have been inspected.

[ChangeLog][QtNetwork][QSsl] On OS X and iOS, openssl dylib's are
picked up from the 'Frameworks' directory of the app bundle.

Change-Id: I982930f4a6cf5e0114c04ecbc87f27e54ba8bb88
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
2014-11-11 13:34:32 +01:00
Jani Heikkinen 9d38dbde76 Merge "Merge remote-tracking branch 'origin/5.4' into 5.4.0" into refs/staging/5.4.0 2014-11-11 12:51:23 +01:00
Julien Brianceau 18e4fd1dd1 Compile fix for QT_NO_TEXTHTMLPARSER in QtWidgets
Change-Id: If67c851cf45ca53ac4af56d4dc36db24ea896ba1
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-11 12:39:05 +01:00
hjk 9b7bdd455f rcc: Replace all occurrences of the marker in two-pass mode
The marker can occur legitimately twice e.g. on iOS
with universal binaries.

Change-Id: Ie334bcd104d45140ff969f44230e6de2212e8e25
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
2014-11-11 12:32:48 +01:00
Jørgen Lind a7111c5dde Make the -nograb and -dograb arguments actually work on xcb
Change-Id: Idc725443e4abe27db3e530f08173897bfcbe1278
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-11 08:51:57 +01:00
Friedemann Kleint 4e1396690a windowsfontengine.cpp: Fix coding style violation and warning.
In function 'bool addGlyphToPath(glyph_t, const QFixedPont&, HDC, QPainterPath*, bool, glyph_metrics_t*, qreal)': windowsfontengine.cpp:808:17: warning: comparison between signed and unsigned iteger expressions [-Wsign-compare]
if (res == GDI_ERROR) {

Introduced by 4aba2d07d2 .

Change-Id: Ie4d903e65ff45461af5ede18efe8e3c6c12af7e6
Task-number: QTBUG-12799
Reviewed-by: Nicolas Froment <lasconic@gmail.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-11 06:29:28 +01:00
Jani Heikkinen 6dd3f0800f Merge "Merge remote-tracking branch 'origin/5.3' into 5.4.0" into refs/staging/5.4.0 2014-11-10 16:03:28 +01:00
J-P Nurmi 132650e4e0 Android: extract BitmapDrawable attributes
Task-number: QTBUG-42488
Change-Id: Idd70e6300f78d96b044928885e71957daad1f5af
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-10 13:44:25 +01:00
J-P Nurmi d9715108c1 Android 5.0: extract new Switch style attributes
Switch_showText specifies whether the on/off text is shown in the
thumb and Switch_splitTrack specifies whether the track is clipped
underneath the thumb.

Change-Id: I03fc6b799fe714e7b6e604328901c8c5a418ca6e
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-11-10 12:19:12 +01:00
Oswald Buddenhagen 0d02a06517 Merge remote-tracking branch 'origin/5.4' into 5.4.0
Change-Id: I85e3dfa62f217b76447276dd7cce6b9eac3a144e
2014-11-10 11:45:49 +01:00
Oswald Buddenhagen d7a5dc0cfd Merge remote-tracking branch 'origin/5.3' into 5.4.0
Conflicts:
	src/plugins/platforms/xcb/qxcbwindow.cpp

Change-Id: Iad9ef6bf7d6111efba8232a7d9b46bb9974912f5
2014-11-10 11:39:35 +01:00
Julien Brianceau ba73bde66e Compile fix for QT_NO_DOCKWIDGET in QtWidgets
Change-Id: I4567e4d0e5738c1de74661a325895f9eaa1d06c4
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-08 12:57:35 +01:00
Thiago Macieira 5d99beb14e Place the Qt plugin metadata in a PE-COFF section with MinGW too
Commit ec360d7ad9 made it work for ELF
platforms, Apple platforms and for MSVC, but we apparently forgot it for
MinGW. This patch corrects that mistake.

We won't have the PE-COFF section parser until 5.5, but this will at
least making Qt 5.4-built plugins work on the faster case.

Change-Id: I51b06837dc321eaa4724c9598293cf85570f67fc
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-11-08 11:14:01 +01:00
Tor Arne Vestbø 719a6fd50d iOS: Allow virtual keyboard to be hidden by QInputMethod::hide()
Calling the function has the same effect as dismissing the keyboard using
the native keyboard dismiss button or the hide-keyboard gesture, and will
result in the QIOSTextInputResponder losing first-responder status and
the current focus object being cleared.

QtWidgets and other parts of Qt will try to hide the keyboard during
focus changes between widgets, which we already take care of when the
focus object changes, so we detect the situation and ignore it, by
requiring that the current focus object matches the one we've brought
up the text responder for.

Showing the virtual keyboard is still a no-op, as there is no way to
show the virtual keyboard without a focus-object.

Change-Id: Iefcb403c2b6d3da8a4df3fcd53bc1244ba9c4d23
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-11-08 00:20:32 +01:00
Tor Arne Vestbø 370d7bf48a iOS: Make hide-keyboard gesture use normal UIGestureRecognizer flow
Allows us to track state through the normal gesture recognizer states
instead of custom variables.

Change-Id: I4fe1b370a581132a9bbb8f51f7bee73381b80341
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-11-08 00:20:23 +01:00
Matt Fischer 82c2118cba Improve QElapsedTimer resolution on QNX
The standard POSIX clock functions are present on QNX, but only
return timing information with millisecond accuracy.  To get
accuracy beyond that, platform-specific functions must be used.

Change-Id: I54a0550f1865dbea3c60a86ecd8ad99df3fe42b4
Reviewed-by: Frank Osterfeld <frank.osterfeld@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-11-07 22:59:43 +01:00
Vladimir Minenko a3398c1824 BlackBerry 10 specific widget style as a style plugin
- upstreaming the implementation of a BlackBerry 10 specific widget style
- modfied to be integrated as a style plugin being a part of the QtBase
- according docs are provided in QtDocs in another commit
- attributing the excellent work at KDAB who was the original developer

Change-Id: I57c548f6ec4cf02f125ee216f1ce1b764f29e8bb
Reviewed-by: Bernd Weimer <bweimer@blackberry.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
2014-11-07 16:35:47 +01:00
Andrew Knight 3d70925ee5 direct2d: Use simple event posting to avoid event queue lock up
In rare cases, the Windows event loop can be spinning inside the inner
loop and the message hook is never called. This can be triggered on the
Direct2D platform by opening 32+ window handles.

The issue can be worked around by using the same approach Windows CE uses:
don't rely on the message hook to inform the event loop that the post
message has been delivered. Instead, uninstall the hook and let it be
called directly by the event loop.

Task-number: QTBUG-42428
Change-Id: I10280126dd50729bc260aa5f7029549e2e061c01
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2014-11-07 14:54:08 +01:00
Jørgen Lind 190bfbae64 Ensure that a leave event is sent to a popup that is being closed
If a context menu contains a menu item which will open a dialog, the
context menu will never get the leave event, which might leave the menu
in an invalid state.

Synthetic leave events are sent to windows, but not to popups that are
blocked by modal dialogs. Hovever, a popup is removed from the popup
stack in QApplication before it receives the leave event. Therefore
always give popups events, even when they are not visible.

Task-number: QTBUG-38021
Change-Id: I63f6febed44f1e7c8f29e7a09af07f32b4ddbc82
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2014-11-07 13:24:07 +01:00
Giuseppe D'Angelo 645f9eec00 QGraphicsItem: clarify the documentation about caching modes and update()
It is possible that Qt calls paint() several times for an item that
has caching enabled, even without any explicit call to update(). There
are various reasons why that is possible (memory pressure, item gets
transformed, etc.); the important part is that

1) the user must not rely into "caching enabled" = "1 paint() call"
2) the user must always draw the same content from within paint(),
unless update() was called before that call to paint().

Task-number: QTBUG-18410
Change-Id: I2c8d77e6e11aaceffc9a21003dd3f4cc46edd582
Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-11-07 13:23:18 +01:00
Joni Poikelin b67d853d2c Fix crash in QNetworkSession when engine is not set
Task-number: QTBUG-42427
Change-Id: Ie35d5e0f72be3a16ecb6b928e12bc50d9f183590
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-11-07 13:14:32 +01:00
Lorn Potter 7a593e0d00 make qtbearer networkmanager defaultConfiguration more reliable
The defaultConfiguration could switch and be either active connection,
so we determine the default should be what has the default route.

Change-Id: I194f27b60e7a3598eca2ff09c2225ba1a46564d9
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2014-11-07 10:12:40 +01:00
Lorn Potter a61247723a Make QtBearer networkmanager backend respond to wired cabling changes
Cabling changes can be detected right away, so we should act on that
and change the configuration state.

Change-Id: Ifa9709077215567001e11ab655208a2c1b090073
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2014-11-07 10:12:23 +01:00
MihailNaydenov 8a81319be1 Fix loading 2x images in Rich Text Documents
There are some issues preventing 2x images from loading, mainly incorrect
testing for exist() by passing an url, which always reports ‘false’.

Task-number: QTBUG-36383
Change-Id: I1e8e5a91b01f1a4ddd3559c2e860db5bc41908ce
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
2014-11-07 08:51:13 +01:00
Lorn Potter 999fa63482 Support dual sim in QtBearer's networkmanager backend
Task-number: QTBUG-42368
Change-Id: I306733b5de7871fdeaa0accb512a3610753c84a5
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-11-06 20:00:15 +01:00
Alex Trotsenko 13401116cc Remove incorrect read from QSslSocket::readData()
QIODevice makes readData() call only when its read buffer is empty.
Also data argument points to the user or reserved read buffer area.
So, no need in data transfer from read buffer at this point at all.

Task-number: QTBUG-41797
Change-Id: Ieb4afdf7eec37fdf288073e4a060e64424f22b9c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 1853579dad1bbb44599314213a1d8a203ecae1c9)
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2014-11-06 14:57:55 +01:00
Eike Hein c493546a0a Merge TextFormat attributes for identical ranges in QInputMethodEvents
IBus can hand us multiple attributes for different formatting properties
of the same text range for events. The IBus input method plugin used to
convert these straight into multiple QInputMethodEvent::Attributes, each
with their own QTextCharFormat instance.

According to the QInputMethodEvent documentation, behavior with multiple
TextFormat attributes for the same text range is undefined. In at least
one known user, KDE's Kate text editor, it causes invisible text for
pre-edit text events as the QTextCharFormats are applied in turn with
partially default-constructed foreground/background brushes:

https://bugs.kde.org/show_bug.cgi?id=339467

This patch makes an effort to merge formatting information for identical
text ranges into a single QTextCharFomat, while otherwise preserving
existing behavior (attribute order is unchanged and attributes deseria-
lized from D-Bus as having invalid QTextFormats remain untouched).

No attempt is made to cope with overlapping text ranges. Segmenting into
smaller ranges and merging for the overlaps would be conceivable, but
until a case of an input method creating events with overlapping ranges
is known seems not worth the effort.

It's worth noting that the IBus input method plugin for Qt 4 also
attempts to merge formatting information into a single QTextCharFormat,
but with a distinct implementation from this one.

Change-Id: Ie3dc38b353724ffb7b5f2d7f316393027373baf2
Task-number: 41640
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-11-06 14:07:09 +01:00
Pasi Petäjäjärvi 79f832594d eglfs: obey QT_NO_REGULAREXPRESSION define
Not all platforms do have QRegularExpression as it is based on
pcre.

Change-Id: I6b8e701ff7cf30e776ee34e5dc836cd24c9543b5
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
2014-11-06 12:55:16 +01:00
Tor Arne Vestbø 30d9498329 iOS: Detect when inputMethodAccepted() is out of sync with focus object
The GraphicsView stack still seems to have issues emitting focusObject
change signals when the focus object changes inside the item hierarchy.

To be on the safe side we use our own view of whether or not IM is
enabled, and try to detect and warn if we find a case where the two
are out of sync.

Change-Id: I9fde896ea14ea5b65784723110887e06453edbd4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-11-06 12:26:06 +01:00
Nico Vertriest 9c8943a862 Doc: updated documentation QString::toDouble
Task-number: QTBUG-35543
Change-Id: I60d5cc253e6d6a24e9b031758e16a547a9a07443
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-11-06 12:10:54 +01:00
Christian Strømme df106921b2 Android: Fix for build issue on x86
In the toolchain for x86 the va_list type is defined as char *, which
in itself isn't strange, but it was somewhat unexpected as it differs
from the arm toolchains. Either way we should not make assumption about
the va_list type as there is no guarantee it won't cause conflicts when
overloading. This fix simply renames the private overloads.

Change-Id: I7808619d0fa3ca63b75796308cfdff6aa41a7fd0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2014-11-06 12:10:12 +01:00
hjk d3f3e1218c Add a inline QVector::append(const QVector &) overload
This is present in QList already and its lack is a nuisance when
switching from QList based code to QVector (which makes sense e.g.
if the item size exceeds sizeof(void*))

Also, albeit operator+=() and operator<<() exist, some people
simply prefer functions with real function names.

[ChangeLog][QtCore][QVector] Added QVector::append(const QVector &) overload

Change-Id: I9aae8223b086765625f2f3071fab5da0780f8a43
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-11-06 11:33:52 +01:00
Alexander Volkov 3c0ea78283 Do not pass a null pointer to unlink()
Found by clang static analyzer.

Change-Id: I8f15ae1a8e6afb91eafa6cee1d1b21e3539af6c1
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-11-06 08:35:22 +01:00
David Faure 1031ad8761 QAbstractProxyModel: add missing default value, compared to base class.
Change-Id: I1077fde359afc057f4587902d27d64cbffab1ef5
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-11-06 07:48:50 +01:00
Axel Rasmussen 0b54de41bc moc: use Q_NULLPTR instead of 0 in generated code.
This commit changes several instances where moc was generating code that
used 0 as a null pointer constant. The Q_NULLPTR define is the more
idiomatic way to do this, and additionally this silences warnings
generated by e.g. GCC's -Wzero-as-null-pointer-constant.

[ChangeLog][Tools][moc] Fixed "zero as null pointer constant" warnings
in moc's generated code.

Change-Id: Ibe382b7bdbdddaf20cb4bdfd075fcdd1f363f9d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-11-06 02:58:56 +01:00