Commit Graph

11834 Commits

Author SHA1 Message Date
Thiago Macieira
f79cc2d66b Fix crash-on-exit with some plugin systems (e.g. sensors)
Don't assume that all entries in the QLibrary global data refer to
libraries have have been loaded. There are three (not two) ways of
getting entries there:

 1) creating a QLibrary
 2) using the static QLibrary::resolve
 3) via plugins

The unload code was meant to handle the first two cases only: libraries
are still loaded at the end of the execution if the static methods were
called or if QLibrary objects were leaked. It didn't handle the case of
plugins being found by the directory scanner in QFactoryLoader but never
loaded.

Note it's possible that this assertion also happened with leaked
QLibrary.

Change-Id: Idcd7a551f96d8fe500cbca682f8014f5122b7584
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-07 23:32:05 +01:00
Tor Arne Vestbø
155a20628b Use QPaintEngineEx to decide if font is too big for using the glyph cache
Instead of having separate logic in the OpenGL paint engine.

Change-Id: I9854328f784864e52ba1bbaafe5e1c5dda976231
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2013-02-07 19:03:33 +01:00
Peter Hartmann
73e93f4300 QtNetwork: give started threads more verbose naming
i.e. make it obvious that they come from Qt.
This helps when debugging and trying to differ user created threads
from Qt threads.

Change-Id: Idd6804246d6676b17cf15de6b644a5be629aa023
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-07 09:55:04 +01:00
David Faure
574e5cf9c5 Add qunsetenv(), next to qputenv() and friends.
The existing tst_qgetputenv shows that qputenv with an empty value
doesn't lead to the same result on Windows and on Unix, and there was
no way to fully delete an env var on Unix (which is needed for some
env vars where not-set and empty are different, such as TZ,
see `man tzset`).
This is also why qglobal has qEnvironmentVariableIsSet() vs
qEnvironmentVariableIsEmpty(), on the getter side.

Qt4's ifdefs around unsetenv in qapplication_x11.cpp show that this is
needed within Qt too (although this particular startup notification code
has to be re-imported into Qt5 still).

Change-Id: I631c8cddbcf933d4b9008f11aefc59f5a3c7c866
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-07 01:22:40 +01:00
J-P Nurmi
ee317360e3 QColorDialog manual test: add initial color selection
Change-Id: I956404af728ef0d70977f6c69b1059b3656edd91
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 01:22:40 +01:00
J-P Nurmi
0de3ea6554 Dialog testing tool: add missing enableDeleteModalDialogButton() calls
Change-Id: I012dc8c7c07fced69f8b7eda7a1686af1e11033f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-07 01:22:40 +01:00
Peter Hartmann
b5652df775 SSL: Implement session sharing and use it from QNetworkAccessManager
This improves performance since a network round trip can be avoided.

Change-Id: I1aaff7e48ef9638cb137de0f43942c3a4dd2884a
Initial-patch-by: Markus Goetz <markus@woboq.com>
Reviewed-by: Richard J. Moore <rich@kde.org>
2013-02-06 23:24:44 +01:00
Richard Moore
7765dff1bb Add the pristine SHA3 reference sources.
Add the SHA3 reference implementation (public domain) which will be used
in a later commit to add support for SHA3 to QCryptographicHash.

Change-Id: Id0e9d47d628cc94f1d3d2a7696836bc43f6ddf61
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-06 21:23:43 +01:00
Richard Moore
fd9013658b Increase the size of the QHostInfo cache.
This change increases the size of the DNS cache in QHostInfo from 64
entries to 128. Given the figures in the google chrome performance paper
http://www.igvita.com/posa/high-performance-networking-in-google-chrome/
this should mean we can cache enough entries to handle 4 tabs at once.

Change-Id: I34e32e9e0966473591c59ca5f222623a354650d2
Reviewed-by: Peter Hartmann <phartmann@rim.com>
2013-02-06 21:23:33 +01:00
Sergio Ahumada
c6ac59cc91 Add note about QT_{BEGIN,END}_HEADER removal for Qt 6
This macro usage has been removed from most of the Qt 5 code, so
adding a note to be completely removed in Qt 6.

Change-Id: I19a90db78745f3cacbcbf206e8642c7d7c36e04a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-06 17:14:01 +01:00
Jerzy Kozera
1b7c70ca5d Allow overriding subElementRect in QProxyStyle for ItemViewItem
proxy() should be used instead of direct calls to QCommonStyle methods
to allow overriding behavior in QProxyStyle, while keeping fallback
to default behavior.

Change-Id: I338e6b65f4c0ee77c55f03c412f59877fad42b79
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-05 21:05:14 +01:00
Sergio Ahumada
f316502d58 Add QT_{BEGIN,END}_HEADER definition back
This commit partially reverts 07e3bcdc10
The empty macro defition was not supposed to be removed yet.

Change-Id: Ie83b2adbe2328b83c70a70274a401e1e6c74498f
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-05 15:28:41 +01:00
Mark Brand
f9bd36deac qsql ibase: remove duplicate class definition
Follow-up to 1580f55847

Task-number: QTBUG-29455
Change-Id: Id254a166ac901fb0cc0ba81db4bf1051a2acb53f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-05 15:09:51 +01:00
Eskil Abrahamsen Blomfeldt
2f2107c1ba Add enablers for Android port in QPlatformMenu
We need a couple of functions here for the Android support.

Change-Id: I50e27277d7e838e277d616dbd3af9be817fb7197
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-02-05 15:03:34 +01:00
J-P Nurmi
5809471ac7 Manual test for QFontDialog
Change-Id: I2bcdd30990e88af45c8d4b2756fcdd48fc2a47d7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-02-05 14:42:50 +01:00
Laszlo Papp
6c6960015e Add qDegreesToRadians and qRadiansToDegrees math functions
Change-Id: I6e9fd76f2d2860f46531a72349b46193b8eeaaa7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-02-05 14:40:14 +01:00
Giuseppe D'Angelo
53f9e77140 QRegularExpression: add method for extracting the capturing group names
It may be useful to know which named capturing groups are defined
in an regular expression, and for each of them, what's the
corresponding index. This commit adds the needed method
to QRegularExpression.

Note that extracting the information doesn't happen while holding
the mutex in the private -- pcre_fullinfo just reads information
from the compiled pattern, so that's thread-safe.

Task-number: QTBUG-29079
Change-Id: I50c00ee860f06427c2e6ea10417d5c0733cc8303
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-05 13:46:25 +01:00
Thorbjørn Martsum
d0804ff2dd Provide better error if min (or max) is defined in QDateTime
This is better than getting a regular compiler error without
knowing where min was previously defined.

Change-Id: I5a86599cdf76a9a8d87a51e119543206d9f835c1
Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira
29c80d0232 Make sure we don't have an operator void(), ICC doesn't like it.
ICC is right: this function will never be called. But we didn't want it called anyway. Just make it be something non-void.

qdbuspendingreply.h(185): error #597: "QDBusPendingReply<T1, T2, T3, T4, T5, T6, T7, T8>::operator void() const [with T1=void, T2=void, T3=void, T4=void, T5=void, T6=void, T7=void, T8=void]" will not be called for implicit or explicit conversions

Change-Id: I5e067bd03aafc6d6772cc1e0f8f8ae8bfa1712d7
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira
02c3e955e3 Fix change-of-sign warning found by ICC
qdbusintegrator_p.h(119): error #68: integer conversion resulted in a change of sign
          : QMetaCallEvent(0, -1, 0, sender, -1, 0, 0, 0, s), connection(c), node(n),
                              ^

qpaintengineex_opengl2_p.h(193): error #68: integer conversion resulted in a change of sign
      void updateTextureFilter(GLenum target, GLenum wrapMode, bool smoothPixmapTransform, GLuint id = -1);
                                                                                                       ^

Change-Id: I7de381ea9ff348878ee99e5a18525352a779b31e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira
4c5b503f33 Remove unused variables and functions from the source code
Change-Id: I5f37414ee4846b4fe774361f49367bc0d5874039
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira
83e074c31a Comment out an unused global variable.
The variable is present only for completeness in qurl.cpp.

Change-Id: I68d7ca4cd52c14fbf8154e510737f7428d8e9679
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-02-02 10:35:22 +01:00
Thiago Macieira
0da5471664 Work around an unfixed glibc bug in dlclose(3) on exit
During exit, libraries are unloaded and global destructors are run. If
we call dlclose(3) from inside the global destructors, we might be
telling libdl to unload a module it has already unloaded.

I cannot reproduce the issue on my Fedora 17 machine with glibc 2.15,
but it could be reliably be reproduced on an Ubuntu 11.10. The assertion
is identical to the one reported upstream at
http://sourceware.org/bugzilla/show_bug.cgi?id=11941 (see better
explanation at https://bugzilla.novell.com/show_bug.cgi?id=622977). I
cannot find any evidence in glibc's source code that the bug has been
fixed.

Change-Id: I97745f89e8c5481196e645dada8762d607a9fb2c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-02 10:35:22 +01:00
Thiago Macieira
288d3aceee Improve QLibrary global destruction
The previous solution was a global static, which got deleted at the end
of the execution of the application or at QtCore unload, whichever came
first. Unfortunately, the end of the execution often came first, which
is inconvenient: it means the global was deleted before all atexit
functions were run, including some QLibrary destructors.

Consequently, some QLibrary destructors did not reach the global data
and were thus unable to unload their libraries or delete their data
properly. The previous solution leaked.

This solution instead uses a Q_DESTRUCTOR_FUNCTION, which makes a
requirement to destroy only at QtCore unload time. Thus, we're sure that
all references have been dropped.

Additionally, during the cleanup, do try to unload the libraries that
have a single reference count left. That means either a QLibrary that
was destroyed without unload(), or a use of the static QLibrary::resolve
functions.

Change-Id: I12e0943b0c6edc27390c103b368d1b04bfe7e302
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-02-02 10:35:22 +01:00
Thorbjørn Lund Martsum
6a5c6b3ce6 QTreeView - optimize. Do not do signals-work if signals are blocked
There is no need to do any kind of work with emitting signals if
signals are blocked.

Change-Id: Ic352ba157fd89bbd36c650edd809a2ea91bcdd5f
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-02 08:11:00 +01:00
Thorbjørn Lund Martsum
08a632ac1a QTreeView::expandToDepth - add missing emit of expanded and collapsed
Just like other functions this function should emit expanded and
collapsed.

A part of fixing
Task-number: QTBUG-8176

Change-Id: I6d801f61e6f0cb8836634cc52f0be2b610f6c728
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-02-02 08:10:55 +01:00
J-P Nurmi
ebca7d2ea7 Introduce a native color dialog for GTK+ 2.x
Change-Id: I389e6995b09df85cd6c464779e8d894b7cd33205
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-01 19:39:31 +01:00
Thiago Macieira
8779d73d8c Put #ifdef around Windows-only function
Only on Windows do we use wchar_t messages.

Change-Id: I9672371aa001effc755b32f9d7c83ada8464394f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-02-01 16:13:12 +01:00
Aurélien Gâteau
eeb31ad10a Keep QLineEdit placeholder text visible when focused
This is useful when the widget is focused by default, and also gives
another opportunity to the user to read the message before typing,
removing the need for workarounds like clicking in another text entry to
bring back the placeholder message.

Change-Id: I4a2981a6656a87934b5c8ed4a8a2dc13b748c94d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
2013-02-01 16:13:12 +01:00
Friedemann Kleint
1580f55847 Remove dependency of DB driver headers on qsqlcachedresult_p.h.
Move the QXXResult classes inheriting the private class
QSqlCachedResult from header into the source files for
SQLite, SQLite2, Interbase/Firebird and TDS/Sybase and
Oracle.

Task-number: QTBUG-28088
Change-Id: Ia16d30e442e313c8165282b8a3f012fd95d96759
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Mark Brand <mabrand@mabrand.nl>
2013-02-01 14:13:32 +01:00
Friedemann Kleint
40eaa72319 Do not run tst_qfilesystemmodel for MinGW.
Task-number: QTBUG-29403

Change-Id: I91c938d9a6510ae91e54cd53e2d9df0a56b68d50
Reviewed-by: Simo Fält <simo.falt@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-02-01 09:18:42 +01:00
Friedemann Kleint
8138a09e05 Replace SRCDIR-define by QFINDTESTDATA in tst_moc.
Remove srcify() function, which was warned about as unused
on Windows.

Change-Id: I731d3b6f058d4246e39dcf9a137619ae5087d751
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-31 22:14:27 +01:00
Sergio Ahumada
1e33f30f75 Remove left-overs of QT_{BEGIN,END}_HEADERS
This macro is useless from Qt 5.1 on, so:

 - Remove comment about using QT_BEGIN_NAMESPACE after QT_BEGIN_HEADER
 - There is no need to blacklist these in qt-cpp-ignore.qdocconf

Change-Id: I2c3ceb3d77d294a606b87f7486071a2350b3d42f
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2013-01-31 20:08:58 +01:00
Thorbjørn Lund Martsum
3260aec38e QTreeView - emit collapsed in collapseAll()
When we call call collapase we emit collapsed. Therefore it should
also be emitted on collapseAll()

This partly solves:
Task-number: QTBUG-8176

Change-Id: I20c1388fcbbb60d12debb4a0b3b0d9fed41e2563
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-31 13:12:40 +01:00
Thorbjørn Lund Martsum
80fa4b6c8e QTreeView - emit expanded on expandAll
When we call QTreeView::expand expanded is emitted.
For the same reason we should emit expanded on expandAll()

This partly solves:
Task-number: QTBUG-8176

Change-Id: Ie85e724eec50980c68f626ec47dec5c1e08cc085
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-31 13:12:32 +01:00
Friedemann Kleint
508bbe9507 XCB: Free cursors.
Change-Id: Id09046a3264724025e8a383cf40a959dafb9e0db
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-31 12:46:06 +01:00
J-P Nurmi
ec51ad81ff QMacStyle: enable transient scrollbars for the desktop components
Change-Id: I4f57a2c4eade779c594abaacaa872540b3b23cb1
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
2013-01-31 12:34:15 +01:00
Florian Behrens
90361fd36c Added support for multicore CPUs for INTEGRITY (V10+) target.
QThread::idealThreadCount returns now the number of cores.

Change-Id: Idc23fc3c257165f6a63c6a7686a57a4fe76f6413
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-30 18:53:58 +01:00
J-P Nurmi
2f854e5090 Fix QColorDialog::DontUseNativeDialog usage
Task-number: QTBUG-29387
Change-Id: I97b3267981a0dcfdc95469cd0725b52ac4845346
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-30 15:17:10 +01:00
Nils Jeisecke
ffea8e98f7 Update roleNames in QAbstractProxyModel if sourceModel resets.
If a sourceModel resets, it's roleNames might have changed. This
is most likely the case if sourceModel itself is also a proxy model
of which the sourceModel was changed.

Task-number: QTBUG-28982
Change-Id: I102788f2c9bf97b4002b350673f9219e32e7a052
Reviewed-by: Nils Jeisecke <jeisecke@saltation.de>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
2013-01-30 15:17:05 +01:00
Fabian Bumberger
36f64ec6ac Work around posix violation in qnx (missing pselect())
Change-Id: I7c1ae85ee7e92da3f394b488643613894977556e
Reviewed-by: Peter Hartmann <phartmann@rim.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
Reviewed-by: Bernd Weimer <bweimer@rim.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-30 13:00:02 +01:00
Gunnar Sletta
6bd03762d4 Refactor QEglFSPandaHooks and add physicalScreenSize()
Change-Id: I5a198af5347cc1fdce97031e0a1be99b2120c3ac
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-30 13:00:02 +01:00
Friedemann Kleint
07843b1b12 Fix warning about incorrect format in tst_qlocale.
type is unsigned long, should be %lu. Replace by stream.

Change-Id: Ib0346b54a4494910b4a5927d0de45840ca53fbda
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-30 13:00:02 +01:00
J-P Nurmi
b7eaf2efdf Manual test for QColorDialog
Change-Id: I4eab3ecfbe5b6e7d663fe92d49af173fd179ba6e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2013-01-30 10:47:05 +01:00
Stephen Kelly
8eae3a923a Provide the resetInternalData slot to cleanly reset data in proxy subclasses.
This was part of Qt 4.8, but Qt 5.0 was branched before that, so
the commit was lost.

Change-Id: I2a2ab3c75a0943ac734d588ebd74bc158dd6aaaf
Reviewed-by: Nils Jeisecke <jeisecke@saltation.de>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2013-01-30 10:44:32 +01:00
Laszlo Papp
b28d56588a Generate forward header (QtMath) for the math operations with syncqt
Change-Id: Ief5b5871a5d56bb606e09efcfd3a1422dcfbcd08
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2013-01-29 23:00:53 +01:00
Thiago Macieira
a541997abf Detect the Intel Compiler version on Unix
On Windows, it's completely different and we don't currently support that
compiler anyway.

Change-Id: Ie3365ea103c93c63e79ebb1d4908c361173ac449
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-01-29 22:57:41 +01:00
Keith Gardner
159e17bc5b QStringRef: Added a trimmed() function.
Change-Id: I67c5d10f29f420e0aea95cf32b5d3c17c141899c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2013-01-29 22:28:17 +01:00
Giuseppe D'Angelo
507382c778 Drop the unused qt_gl_convertToGLFormat function
Change-Id: Ie621f562401b703077a2b304ad6d8445efc76642
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-29 21:58:20 +01:00
Giuseppe D'Angelo
962edab745 Drop the unused QGLContextPrivate::convertToGLFormat function
Change-Id: Iaa176fc6152162c91a3e3bd373a235883001975c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
2013-01-29 21:58:17 +01:00