Commit Graph

21971 Commits

Author SHA1 Message Date
Thiago Macieira
c8849dd8d5 Use waitid with WNOWAIT in forkfd
The previous implementation required one syscall per child we're waiting
on to see which one exited. That means the algorithm was O(n).

This implementation uses WNOWAIT to find out which child exited and then
goes straight to that one. So it's O(1) on the number of children, but
runs 2 * number_of_children_that_exited + 1 syscalls, assuming there are
no race conditions with other threads. If there are or if a child not
started by forkfd exits, we'll still iterate over each child we're
managing to see which one exited.

It modifies the existing code so that it will do a waitid() with WNOWAIT
to check on the status of the child: if the child has exited, we'll try
to lock the entry so only one thread will do the final wait(). In the
case we read the PID, then the child exited, was reaped by another
thread, the PID got recycled and that child exited again, we'll fail to
lock the ProcessInfo entry so no harm comes. If by an absurd coincidence
this other child was started by forkfd() and its ProcessInfo is exactly
the one we are looking at, then we'll succeed in locking but that's a
benign race: we'll do what the other thread was trying to do and the
other thread will give up.

Future improvements to the algorithm are discussed in the Gerrit change.

Change-Id: Ie74836dbc388cd9b3fa375a41a8d944602a32df1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-23 19:12:53 +01:00
Thiago Macieira
39482e6e0f Add the compilation of forkfd to QtCore
This also brings in the harness to forkfd that uses QBasicAtomic
instead of the generic GCC atomics.

Change-Id: Id5488bf192db0027bc684956ade0bf6c640c9512
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-23 19:12:48 +01:00
Andy Shaw
1bb05c4daa Keep the width as it is to ensure the underline is drawn correctly
When the width of the decoration was floored then in some circumstances
(such as when latin and Hangul text was mixed) an underline of the text
would appear to be broken on HiDpi screens. Since the width is correct
then we should keep it as it is to ensure it meets up correctly.

Task-number: QTBUG-44062
Change-Id: I2cbf722a9cf9c7e15caa9aad061bf28d3bd0bb59
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
2015-01-23 15:58:15 +01:00
Konstantin Ritt
a4a45d7bed Get rid of Q_GUI_EXPORT occurrences in QPlatformSupport
This fixes GCC warning on MinGW, when built with -Wattribute (the default)

Change-Id: I8e2b56a4a8fe9db0ec821f346a523b670df80f85
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
2015-01-23 14:22:43 +01:00
Alexander Volkov
de71c8a6f8 Add QTextStream::readLine() overload
The most common use case for QTextStream::readLine() is reading
a file line by line in a loop. The existing readLine() method
allocates new memory for each line, that results in a loss of
speed. The introduced overload can use already allocated memory.

Besides it allows you to not think about filesystem specifics.
The current QFile documentation suggests a separate way to read
files from /proc filesystem. With this overload it's possible
to use the same idiom in all cases:

    QTextStream in(&file);
    QString line;
    while (in.readLine(&line)) {
        process_line(line);
    }

The idea was inspired by the blog post of Ivan Čukić:
http://ivan.fomentgroup.org/blog/2014/10/03/api-design-and-impact-on-the-performance-qt-vs-stl-example/

Change-Id: I0c62b4a52681870589bc099905e83ed69e03dd40
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
2015-01-23 14:36:27 +01:00
Giuseppe D'Angelo
0192630f55 QNetworkAccessManager: introduce support for TLS PSK
Expose the same kind of TLS PSK client support we already have set
in place for QSslSocket.

[ChangeLog][QtNetwork][QNetworkAccessManager] It is now possible to use
TLS PSK ciphersuites when using HTTPS (or similar protocols working over
SSL).

Change-Id: I56a048e9f4f841f886758c781af2867d18538a3e
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-23 14:27:25 +01:00
Eskil Abrahamsen Blomfeldt
c27e1f498f Android: Fix crash in QCompleter test
The call to QPlatformWindow::setVisible() will trigger flushing
of the window system events. Depending on the events, this could
lead to the window being hidden. Since platformScreen()->addWindow()
and removeWindow() was done *after* this flush, you could get the
remove for a window before it had been added, whereas the logic
in these functions were written under the assumption that there
is exactly one remove per add, and that add always precedes the
remove.

This has only been seen when running the QCompleter test so far.

This patch reorders the statements to make sure the events are flushed
after the window stack has been updated. In addition, it adds asserts
for the assumptions in the addWindow/removeWindow code to catch bugs
there earlier.

Change-Id: Ic67b03afbf7acbcb78be86bffa4c26360dc5832f
Task-number: QTBUG-43836
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
2015-01-23 14:24:24 +01:00
Konstantin Ritt
e58a721c5d Don't build WinCE specific code on other platforms
Change-Id: I7ade08e57ea0c9c496e316ff0f856b8951eab61e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-23 14:06:13 +01:00
Konstantin Ritt
4046055caf Deprecate QFont:: rawMode()/setRawMode()
rawMode only has an effect under X11 in pre-QPA times.

Change-Id: Iaff8fed8f4ae5af5dd0399bb3ebd9d590a39a758
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-23 14:06:03 +01:00
Shawn Rutledge
e20a8c69a7 D-Bus tray icons: make endian conversion work again
Endian conversion needs to be done on aligned data, but the data is
stored unaligned in the QByteArray.  So the new qFromUnaligned()
function is needed.

Change-Id: I12f9e52cea81d06129b306709bb9d2cd004f04e1
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-23 05:34:29 +01:00
Shawn Rutledge
5facb0ce90 D-Bus tray icon: when eliminating large icons, scale to medium size
22px is not always large enough: KDE5 seems to like to make icons up to
28px, and they could be even larger on high-DPI screens.

Change-Id: Ifa8e0d49b310e4b4304207596f0f32c36a5db6a7
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-23 05:34:17 +01:00
Shawn Rutledge
e910c36a3f D-Bus tray icon: ensure that the image is square before sending
Sometimes KDE doesn't render non-square icons properly when they have
been received over the D-Bus protocol.

Change-Id: Icc6fa3d64a1598ea8f719192ae18d32f287d6a79
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-23 05:34:11 +01:00
Shawn Rutledge
cec103897f QSystemTrayIcon uses D-Bus org.freedesktop.Notifications on Linux
If StatusNotifier is working, then QSystemTrayIcon::showMessage() will
send notifications using the org.freedesktop.Notifications protocol.
https://developer.gnome.org/notification-spec/

Task-number: QTBUG-4011
Task-number: QTBUG-31762
Change-Id: Ia1925ec3dd81b1b7b8f3b490b6364aaf8f93f395
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-23 05:34:00 +01:00
Tor Arne Vestbø
d24cfc8b86 iOS: Decouple screen geometry calculations from UIWindow geometry
At startup or when a new UIWindow has been created but not associated
with a UIScreen yet, its geometry will be invalid, and cause the wrong
geometry for its corresponding QScreen when we use it to map geometry.

Instead we explicitly use the status bar orientation to map to the
correct geometry.

Change-Id: If37b3ab2ad5db65e20a7e3af5c3854b3e3ddff0d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-23 03:05:17 +01:00
Tor Arne Vestbø
d4fd619b10 iOS: Don't re-apply window state during QIOSWindow construction
We set the parent of the window as part of constructing it, which will
cause a layout of the QIOSDesktopManagerView's subviews, but in this
case we don't need to re-set the window state as that's taken care of
later on in the QIOSWindow constructor.

Change-Id: Ic197c9a50394908c8aa2155abdc97bc322937a85
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-23 03:05:17 +01:00
Tor Arne Vestbø
ed950a8ec1 iOS: Simplify QIOSWindow::setParent()
Change-Id: I78c47c6ccdb53045f3fa412b1489e08691d3e195
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-23 03:05:16 +01:00
Tor Arne Vestbø
cc0a114cd6 iOS: Only use [UIDevice orientation] for the main/device screen
Auxiliary screens are always in their primaryOrientation.

Change-Id: I078151ccbdb8a78eb095a05672f7804ab608ff24
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-23 03:05:16 +01:00
Giuseppe D'Angelo
bd26defd9b QSslSocket: introduce support for TLS PSK (client side)
[ChangeLog][QtNetwork][QSslSocket] It is now possible to use TLS PSK
ciphersuites in client sockets.

Task-number: QTBUG-39077
Change-Id: I5523a2be33d46230c6f4106c322fab8a5afa37b4
Reviewed-by: Richard J. Moore <rich@kde.org>
2015-01-23 00:35:21 +01:00
Mark Brand
e267505d54 update bundled sqlite to 3.8.8.1
The "Fixed CE build of sqlite3" patch is preserved in this change,
which causes sqlite's own localtime implementation to be used for
wince. This is extended by #undef HAVE_LOCALTIME_S to override the
new assumption that localtime_s is available on wince and should be
used. Also, removed HAVE_LOCALTIME_S=0 since this must now be
undefined instead of 0.

Change-Id: I418e138ddc47d1bfbb80de0f4e4205a79c425f10
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2015-01-22 22:43:54 +01:00
Laszlo Agocs
2bc038adc9 Expose context loss
On platforms like Windows (and presumably on mobile devices too)
the loss of the context (e.g. the underlying D3D device in case of
ANGLE) is an event that can happen randomly and needs sufficient
handling.

Enhance QOpenGLContext::isValid() with the purpose of indicating
context loss.

Currently only the Windows EGL backend (ANGLE) has support for it.
Other platforms may be added later.

Task-number: QTBUG-43263
Change-Id: I8177694c1ee7cebbd5d330e34757fd94c563e6d6
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
2015-01-22 14:16:50 +01:00
Tor Arne Vestbø
a2b358e7f5 Only show QWindows after QScreen destruction if coming from virtual sibling
For windows that were shown on an external screen (not a virtual sibling
of the primary screen), eg. on iOS, it doesn't make sense to re-show the
window when moved back to the primary screen.

By moving the logic into the QScreen destructor, we ensure that the code
path is hit both for the old and unsupported style way of destroying
QPlatformScreen by deleting it directly, and the new and safe way
of using QPlatformIntegration::destroyScreen(), while still allowing
clients to manage the windows themselves by emitting screenRemoved()
before applying our fallback logic.

[ChangeLog][QtGui][Important Behavior Changes] QWindows will no longer
be re-shown automatically when moved from a destroyed QScreen, unless
that QScreen was a virtual sibling of the primary screen.

Change-Id: If1105bc5ef41a5392854bb97d121c998bffa3606
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-22 12:58:34 +01:00
Shawn Rutledge
38abd65377 QSystemTrayIcon uses D-Bus StatusNotifier on Linux when possible
Implementing org.kde.StatusNotifier DBus interface
http://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/
as well as org.canonical.dbusmenu for the limited purpose of showing
the tray icon's context menu.  If a desktop environment (such as
KDE or Unity) has a StatusNotifierWatcher listening, then tray icon
information is sent to be displayed by the tray implementation
instead of being rendered directly in an XEmbed window.  This is
necessary because some modern tray implementations no longer provide
XEmbed "hosting".

[ChangeLog][QPA][Xcb] QSystemTrayIcon uses StatusNotifier D-Bus
protocol when the desktop environment supports it

Task-number: QTBUG-31762
Done-with: Marco Martin <mart@kde.org>
Change-Id: I3b1f744d621eefc7e9c61d1469460ebfcc77fc54
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Reviewed-by: Dmitry Shachnev <mitya57@gmail.com>
2015-01-22 12:50:51 +01:00
Topi Reinio
3c37066062 qdoc: Ensure .qhp file is generated for all modules
When run in single-exec mode, QDoc constructs only one instance
of HelpProjectWriter, even though it generates documentation for
multiple modules in one go.

This change adds a reset() function for the help project writer,
allowing new parameters to be passed to the existing writer
instance, thus ensuring that all .qhp files are correctly
generated.

Task-number: QTBUG-43815
Change-Id: I1d1c9f713eb5f574a6f8e56616cf5f61bb3e8ff8
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-22 12:48:05 +01:00
Paul Lemire
595ed595ea Add project/unproject methods in QVector3D
Equivalent of gluProject and gluUnproject.

[ChangeLog][QtCore][QVector3D] add convenience project and unproject methods
to use like gluProject and gluUnproject

Change-Id: I6e4e3e79ea6e34d1fb0c375e15185c950b699ef0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
2015-01-22 12:39:20 +01:00
Martin Smith
fdbf3bec30 qdoc: Change name of node type
QmlClassNode is renamed to QmlTypeNode. This is done
in preparation for implementing qdoc support for
documenting javascript code. Next, QmlTypeNode will
be renamed to JsTypeNode, and a new QmlTypeNode will
be declared that will inherit JsTypeNode.

Change-Id: Ia5d0c367d06c26cb43f887927bbcb096afcb7301
Task-number: QTBUG-43715
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
2015-01-22 07:45:49 +01:00
Tor Arne Vestbø
be6c50a251 iOS: Make screen orientation reporting more consistent
Change-Id: Ic21efb939639711c4071161e3c742525a55d41be
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-22 00:30:09 +01:00
J-P Nurmi
cec7dcc723 QTextDocumentLayout: handle QTextBlock visibility
Task-number: QTBUG-10153
Change-Id: I0420b9c59a7a437da28675349c14e84bfa4aea54
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2015-01-22 00:22:53 +01:00
Tor Arne Vestbø
13c491e6c8 iOS: Fall back to statusbar orientation for initial QScreen::orientation()
At startup, iOS will report UIDeviceOrientationUnknown for the device
orientation, which toQtScreenOrientation() maps to portrait. We can be
smarter than that, by falling back to the orientation of the statusbar,
which in most cases match the physical orientation of the screen at
startup, unless the Info.plist file has been modified to limit the
possible orientations. See also:

  https://gist.github.com/torarnv/40c1931205e33d2b1ed3

Change-Id: I5c78fbe5c670ed2909a51b478bd4814e2433554f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-21 19:12:27 +01:00
Tor Arne Vestbø
bdab31166c Move static part of angleBetween/transformBetween/mapBetween to QPlatformScreen
Allows the helpers to be used at QPlatformScreen construction time, before
it has been associated with a QScreen.

Change-Id: Iab8f863ef5c9339ef6e88b3d844915c03cacda74
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-21 19:11:39 +01:00
Tor Arne Vestbø
b9eab8984d iOS: Use QPlatformIntegration::destroyScreen() instead of manual delete
Change-Id: I8128fa1a4b7d6d202d15c03d51f6360a74d75d8c
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-21 19:11:38 +01:00
Laszlo Agocs
10472dce92 Unify input device hotplugging support for embedded
On embedded the mouse cursor will now appear and reappear regardless of
how the input handling code is loaded (via a generic plugin or compiled-in
to the platform plugin).

Instead of passing around QDeviceDiscovery instances that only works
when compiling-in the code into the platform plugin, introduce a new
internal central QInputDeviceManager. The single instance of this
provides a place to store any future input device related signals and
properties.

Also introduce mouse hotplugging support to linuxfb.

[ChangeLog][QtGui] The mouse cursor on Embedded Linux is now handling
hotplugging correctly with eglfs and linuxfb regardless of how the input
handling code is loaded (via a generic plugin or built in to the platform
plugin).

Change-Id: I147c1b04a193baf216598015264f2c06e1b20f84
Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
2015-01-21 12:32:04 +01:00
Peter Rustler
f93c04e44a Added new private API for Android and onNewIntent
On Android the foreground activity can get intents
with onNewIntent. Those intents can not be received
in any other way. This is especially true in Android nfc.

This patch adds a way to receive those intents in Qt.
This patch heavily leans on the implementation of onActivityResult.

Change-Id: Ic4dca301f34afe9a528149c3653e545ed3265a3c
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
2015-01-21 12:13:25 +01:00
Gabriel de Dietrich
c87566bf9e Introduce QFontDatabase::isPrivateFamily()
Some platforms have the concept of private fonts (e.g., OS X and
iOS) which are generally used as system UI fonts. Since 909d3f5c7,
the platform font database has a similar but private API.

[ChangeLog][QtGui][Fonts] Added QFontDatabase::isPrivateFamily()

Change-Id: Ibdce9de534fadbbc3965be8a942c8012edeed209
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
2015-01-21 12:05:35 +01:00
Martin Smith
b45db5480d qdoc: Remove support for DITA XML
This update makes removes Qdoc's DITA XML generator.

Change-Id: Ibcfd013ace00e56a23268a2a5d850e6c9ea093d0
Task-number: QTBUG-43174
Reviewed-by: Martin Smith <martin.smith@digia.com>
2015-01-21 11:34:55 +01:00
Marc Mutz
914c5eb36a QAssociativeIterable: add find()
This is like value(), but returns an iterator instead of the value().

[ChangeLog][QtCore][QAssociativeIterable] Added find().

Change-Id: I029fc8f91cef78f718d419587a2a50ffd2bf7632
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
2015-01-21 11:23:43 +01:00
Marc Mutz
b9365aed6a QtCore: add some more Q_DECL_NOTHROW
QtCore now builds with no -Wnoexcept warnings
(that doesn't mean there aren't tons of functions
that should be marked noexcept, just that all
conditionally noexcept functions aren't noexcept(false)
just because of a forgotten noexcept elsewhere).

Change-Id: I10dacb6b9c9d41d3595fe2f306356d62d3d91c76
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-21 11:22:50 +01:00
Marc Mutz
9fab24f877 QSslEllipticCurve: enable NRVO in *Name() methods
Make it easier for the compiler to apply the
Named Return Value Optimization (NRVO) in the
shortName()/longName() functions by not returning
different objects in different return statements.

Change-Id: I1b6fa7e6121bc1c843378be33499728c56c97f92
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-01-21 11:22:41 +01:00
Marc Mutz
95e9b93a77 QSslEllipticCurve: don't call QSslSocketPrivate::ensureInitialized() in const functions
Rationale: the case of an invalid QSslEllipticCurve is already
dealt with before we'd call ensureInitialized(). But in order
to have a non-invalid QSslEllipticCurve, we must have called
one of the constructor functions first. There, we already call
ensureInitialized(), so we don't need to do it here again.

Change-Id: I96bdb5db63ec0165e6b8fac9469b5d81c6b2cdae
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-01-21 11:22:35 +01:00
Marc Mutz
0c281bcc65 QSslEllipticCurve: add missing noexcept
Change-Id: I94701ddb78a822adf35aea57f9e171a747745f6b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-01-21 11:22:28 +01:00
Marc Mutz
cfdca09e91 QSslEllipticCurve: remove unneeded includes from header
Change-Id: I66b8b85e6c02b0e53391079d5048017d5e63ac8b
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2015-01-21 11:22:19 +01:00
Simon Hausmann
112342b326 Merge "Merge remote-tracking branch 'origin/5.4' into dev" into refs/staging/dev 2015-01-21 11:14:34 +01:00
Frederik Gladhorn
b6191b16d4 Merge remote-tracking branch 'origin/5.4' into dev
Conflicts:
	src/corelib/global/global.pri
	src/corelib/global/qcompilerdetection.h
	src/corelib/global/qglobal.h
	src/corelib/tools/qdatetime.cpp
	src/plugins/platforms/xcb/qxcbscreen.h
	src/plugins/platforms/xcb/qxcbwindow.h
	src/widgets/dialogs/qcolordialog.cpp
	src/widgets/dialogs/qcolordialog_p.h
	tools/configure/configureapp.cpp

Change-Id: Ie9d6e9df13e570da0a90a67745a0d05f46c532af
2015-01-21 11:10:14 +01:00
Thiago Macieira
3bbc1bf53b Implement the unaligned byteswap functions using the aligned ones
This leaves the decision on whether to do unaligned stores to the
compiler, as opposed to forcing it by ourselves.

Since we're now implementing them using two calls, this invalidates the
compiler bug that triggered the #ifdef for Sun Studio (whatever that bug
was).

Change-Id: I4e494ca860a15b9427b2a3000921bf5d92cbb5ef
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-21 11:08:52 +01:00
Allan Sandfeld Jensen
05feaeed43 Remove duplicated NAN/INF logic from tst_qstring
Qt already has solutions for cross platform isnan and isinf logic. We
should use that instead of duplicating it.

This should also fix compiling tst_qstring on MinGW with C++11.

Change-Id: I7b691fd47701a8f07e1a1fe08a95a0aca43ccca1
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
2015-01-21 10:54:22 +01:00
Giuseppe D'Angelo
2ec2dbed67 QSslEllipticCurve: add fromLongName
Since the conversion to a long name was already there, also support
creation from a long name.

Change-Id: Iad712db7447fb0a0a18f600b7db54da5b5b87154
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2015-01-21 10:41:39 +01:00
Tobias Koenig
309c804239 Haiku: Add implementation for QStandardPaths
Change-Id: Ic64a5ab3a1ef711180b855ee99154177b7e25696
Reviewed-by: David Faure <david.faure@kdab.com>
2015-01-21 06:12:42 +01:00
Simon Hausmann
fc8adfea9f Introduce helper for QML to allow creating QWidget hierarchies
Commit 1259c5768e410361bcd8b5cf0c2057a2ebabda83 in qtdeclarative removed the
ability to create QWidgets in QML by giving them the correct parent, which
requires calling QWidget::setParent instead of QObject::setParent. This patch
introduces a hook that will allow QtQml to give widgets a proper parent.

Change-Id: I84c57ca5032582c43e405219343d55ac9cf2ffa0
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
2015-01-20 16:15:45 +01:00
Kai Koehne
463c559962 MSVC: Silence warning about right shift by too large amount
Silence the MSVC warning that got introduced in commit 62b752b3a2:

warning C4333: '>>' : right shift by too large amount, data loss
qdebug.cpp(316) : see reference to function template instantiation 'void putEscapedString<uchar>(QTextStreamPrivate *,const Char *,int,bool)' being compiled
with
[
Char=uchar
]
qdebug.cpp(270) : warning C4333: '>>' : right shift by too large amount, data loss

Change-Id: If1ee20b741feae3287a8d6a11c202b4296d429fb
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2015-01-20 16:15:06 +01:00
Alex Trotsenko
a373ffcda9 QIODevice: remove ineffective caching members
Most of the QIODevice functions already have a locally cached
"sequential" flag. Make the rest of them follow this strategy.
This eliminates the need to use private caching members.

Change-Id: I0edb2c9b7c5f411c5bee25c425e7b40e3c9021d3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2015-01-20 10:37:59 +01:00
Arnaud Bienner
bdcb3f9aab QHeaderView: fix restoring Qt4 state.
When multiple sections were grouped together, sectionItem.size was the total size of grouped sections, not the size of one section.

Task-number: QTBUG-40462
Change-Id: I401a1583dd30880ccf5b4c105a237d6563f212e8
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
2015-01-20 10:30:54 +01:00