Leonard Lee [Mon, 6 Aug 2012 12:42:00 +0000 (14:42 +0200)]
Explained rectangle bounding in documentation.
Task-number: QTBUG-26756
Change-Id: Ifa56cbe249164e239f21c00fc31cd6ddd81705ad
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Leonard Lee [Mon, 6 Aug 2012 11:14:23 +0000 (13:14 +0200)]
Explained degree unit in QPainter::rotate() function.
Task-number: QTBUG-26757
Change-Id: I9a03480513819aefb78d914a7170fb4997181643
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Kent Hansen [Wed, 1 Aug 2012 10:59:28 +0000 (12:59 +0200)]
statemachine: Really fix signal transition handling in multi-threaded setup
Commit
f9a17d7f0f02f7af849afdf653a763ffdaf78a1b fixed it for the case
where the sender object is in a different thread at transition setup
time. However, it still didn't work if either the sender object or the
state machine was moved to a different thread at some later time,
before the machine was started.
Therefore: Bite the sour grape and traverse all the machine's
transitions when the machine is being started, registering those
signal transitions whose sender objects are in other threads.
This will increase the machine's startup time (proportional to the
number of transitions), but at least it works in all known scenarios,
meaning we don't have to document weird restrictions regarding the
order in which the user's operations have to be done.
Task-number: QTBUG-19789
Change-Id: I5f1dd1321994e49635f52be65cf56d2678ed1253
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
Joerg Bornemann [Wed, 8 Aug 2012 09:14:03 +0000 (11:14 +0200)]
remove unused Q_FS_FAT from Windows qplatformdefs.h
Change-Id: I12a70c8a06fa5d82db1cb3d6e6a7ed870e7a8ec5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Joerg Bornemann [Wed, 8 Aug 2012 09:02:00 +0000 (11:02 +0200)]
remove embed_manifest_* from common Windows CE mkspec
They had no effect anyways due to the check in the embed_manifest*.prf
files.
Change-Id: I3cd145030876d91948794d376a18a47e297f3b3a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Davide Pesavento [Wed, 8 Aug 2012 07:36:23 +0000 (00:36 -0700)]
Define QT_NO_FOO also when -no-foo is passed to configure.
This fixes a build failure that happens when Qt is configured with
-no-libudev, as reported at https://bugs.gentoo.org/show_bug.cgi?id=430292
Change-Id: I924f023505ab57cca5994f2fd5ff2f8308e61617
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Gunnar Sletta [Tue, 7 Aug 2012 09:52:43 +0000 (11:52 +0200)]
Avoid potential crash.
The setGeometry call triggers a resizeEvent() so make sure the backing
store is created before that.
Change-Id: I26aa3ef6c0515311e3ca21f938a92ca1a20d0030
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Oswald Buddenhagen [Wed, 8 Aug 2012 07:49:15 +0000 (09:49 +0200)]
adjust qtAddLibrary() to new qtAddModule() parameters
Change-Id: Ib5918fa83e78d16fd318590c33b280d9054b2cd6
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 7 Aug 2012 17:00:38 +0000 (19:00 +0200)]
rename qt_module_config.prf => qt_module.prf
this is more logical, following the qt_plugin and qt_tool scheme.
Change-Id: Ib3b2abec6728cdab260e15128b1cd78e8e6f5d6a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 7 Aug 2012 16:56:06 +0000 (18:56 +0200)]
remove dead unsupported/win32-borland spec
Change-Id: I010160f030dc44c84d2c84a36e8920ce3275f278
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 20:27:26 +0000 (22:27 +0200)]
preserve the directory structure of QML_FILES
Change-Id: I39ccdbf59887f14be7dad492598160eebb94ce78
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Oswald Buddenhagen [Tue, 7 Aug 2012 15:25:00 +0000 (17:25 +0200)]
support installs with target dir
this adds a .base "member" to the install "structure". if specified, only
this much is stripped from the front of each element of .files, rather
than the entire path, to obtain the target filename.
Change-Id: Ic39fcf71c4ad874ffabbbad113be9cdc6e3f7260
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 7 Aug 2012 15:14:39 +0000 (17:14 +0200)]
reshuffle assembly of install commands as well
don't make a single string, but a string list which is join()ed in the end.
this is a tad slower, but the code is way easier to work with.
Change-Id: I1ff7168c2770998761a6081be8080c743ddc94a1
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 7 Aug 2012 14:35:11 +0000 (16:35 +0200)]
reshuffle assembly of uninstall commands
make a proper stringlist of commands, and join it in reverse order
only at the end. the reversal ensures that we can cleanly fold up
directory hierarchies we may build.
Change-Id: I9a241361588a6965283aec5258e1d622b35514e0
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Tue, 7 Aug 2012 14:59:07 +0000 (16:59 +0200)]
remove pointless appending of trailing dir separator under unix
Change-Id: Ia9b181db57ac2ee93cd412d58fe6ecbc5637a2f0
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Mitch Curtis [Mon, 6 Aug 2012 10:08:42 +0000 (12:08 +0200)]
Clarify how days are counted in QDateTime::daysTo documentation.
Mention that the days are counted as the amount of times midnight is
reached between the start and end date.
Task-number: QTBUG-26780
Change-Id: I22ff6c56b748ac968d6991e0be3e10905c0634bd
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Thiago Macieira [Tue, 7 Aug 2012 12:11:37 +0000 (14:11 +0200)]
Remove more -Werror from any test other than headersclean.
As was done in
dc56fb18a7c8d58087b8548b5cb134dbb4f9d4ab, but which
didn't catch all cases.
Change-Id: I9417a8d13339dd8fc95030dd5bad70f2c6f69756
Reviewed-by: hjk <qthjk@ovi.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 18:50:01 +0000 (20:50 +0200)]
let qmake auto-generate d-bus adaptors and interfaces
Change-Id: If721dc2d75e382bde6bf9bcda921170186406c7f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 18:39:49 +0000 (20:39 +0200)]
factor qml_module out of qml_plugin
this makes it comfortable to create qml-only modules
Change-Id: I17a5a3ee24210b93db05e50502c6ca91a4e7a9d8
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 15:07:18 +0000 (17:07 +0200)]
use global imports install location as the "build" dir for qml plugin files
when doing a non-prefix build (which is the only case where the code is
executed), the build location is always the same anyway, so there is no
use in complicating things.
Change-Id: Id98755d818e05a11bed505abcb8b9d52a7d5b7c4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 14:53:44 +0000 (16:53 +0200)]
copy qml files to build dir only when doing a non-prefix build
non-installed -prefix builds can't do anything useful with qml plugin
files anyway, so don't waste time on copying them.
Change-Id: I23f4b8f67402a85d3c6e741a04f88567655c1655
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 14:44:52 +0000 (16:44 +0200)]
move IMPORT_VERSION fallback into the conditional of the consumer
Change-Id: I01336903aaaff8bca5407aa3c50d330e8fd7910a
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 14:43:43 +0000 (16:43 +0200)]
move qmltypes "compiler" below TARGET manipulation
load(resolve_target) must not be called before we have a final target
name.
Change-Id: Ia7418672b0c7b7fbd388a63819af9ea9a54c5241
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Andreas Holzammer [Tue, 7 Aug 2012 17:12:41 +0000 (19:12 +0200)]
Rename msvc11 to msvc2012
Microsoft has named their new Visual Studio again
after the old naming schema.
Change-Id: Ib1b971807fa89d90b10892a2d78570058e564f3a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
Marc Mutz [Mon, 6 Aug 2012 23:54:13 +0000 (01:54 +0200)]
Q_DECL_NOTHROW: stronger and more widely available version of Q_DECL_NOEXCEPT
Commit
1adca807 defined Q_DECL_NOEXCEPT to be the same as throw() for the
Microsoft compiler. However, the two are not equivalent:
- C++11 noexcept is defined to call std::terminate() if a noexcept
function nevertheless encounters an exception.
- MSVC throw() has essentially undefined behaviour in this situation:
http://msdn.microsoft.com/en-us/library/wfa0edys%28v=vs.100%29
"Due to code optimizations that might be performed by the C++
compiler [...] if a function does throw an exception, the program
may not execute correctly."
So define two macros:
1. Q_DECL_NOEXCEPT/Q_DECL_NOEXCEPT_EXPR always have C++11 behaviour.
This is expected to be the more efficient implementation if the
function can actually throw.
2. Q_DECL_NOTHROW means that the function gives the nothrow
guarantee. It is stronger than noexcept, but not all functions
that can be marked Q_DECL_NOEXCEPT can be marked Q_DECL_NOTHROW.
In general Q_DECL_NOTHROW functions need to use a try/catch block
in order to prevent exceptions from leaving the functions, unless
you can proove that none of the operations can throw.
For the caller, both macros are equivalent: it can be relied on that
no exception leaves the function.
Change-Id: I32f822a82e06a31cb71d38db438387aee5ec3334
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Sean Harmer [Fri, 20 Jul 2012 15:21:47 +0000 (16:21 +0100)]
Improve the QOpenGLExtensionMatcher class
Using a QSet<QByteArray> internally means that checking for the
presence of an extension no longer uses an O(N) search.
This patch also allows users of this class to easily get a list
of the supported extensions.
Change-Id: I02194e5345573c47be0876f3ea6eb6b69a2ead81
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Joerg Bornemann [Tue, 7 Aug 2012 15:16:56 +0000 (17:16 +0200)]
qmake vcxproj generator: map TARGET_EXT to $(TargetExt)
Task-number: QTBUG-26782
Change-Id: Ib143fa6b8674c4d09d798a9301bb209b886e791d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Joerg Bornemann [Tue, 7 Aug 2012 15:07:50 +0000 (17:07 +0200)]
qmake: un-copy-and-pastify vcxproj generator a bit
Reusing already built strings improves readability and performance.
Change-Id: I8555fb860561ff214ae123efeda78fc770b6459f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Andy Shaw [Fri, 3 Aug 2012 13:25:48 +0000 (15:25 +0200)]
Add the filters for extra compilers for vcxproj files
The files were grouped into the relevant filters but the filters
themselves were not added. This now ensures the filters are added to the
vcxproj files so they appear grouped correctly.
Task-number: QTBUG-26755
Change-Id: I7d2c6fa96dcbb0496fd9d1bb1d01e7dd660052f4
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 18:49:12 +0000 (20:49 +0200)]
fix class and file names in the d-bus examples
some omissions from the com.trolltech => org.example replacement.
Change-Id: I078c272fc3729fc7b9e9cd3e6ede7c21f0386b62
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Andreas Holzammer [Mon, 6 Aug 2012 18:34:34 +0000 (20:34 +0200)]
Add possibility to add OpenSSL, DBUS, MySQL path under Windows
Under Windows it's quite possible that OpenSSL, DBUS or MySQL is
not installed into a central place. If -I and -L is
passed at configure time, it is added to all targets,
and if that path contained a conflicting header things would go
wrong.
Change-Id: Ic3338c49aa6eaa91b3abf5341e709ef604bf7aab
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Marc Mutz [Mon, 6 Aug 2012 22:13:44 +0000 (00:13 +0200)]
QtGui: collapse two qgetenv() on the same variable
Store the result in a temporary QByteArray and continue
working with that one.
Change-Id: I24bc243f0f3dfb37d840faf7592b3383bd37c7e2
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Sat, 4 Aug 2012 06:16:47 +0000 (08:16 +0200)]
QUrl::idnWhiteList(): add QList::reserve() call
Avoids reallocation.
Change-Id: I3238574590463596a797d237b066ef60214392a7
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Marc Mutz [Fri, 3 Aug 2012 08:55:04 +0000 (10:55 +0200)]
QtNoDebug: remove special member functions
These are better generated by the compiler.
Change-Id: I5afa9fd17997c220622ed0e5990c33e52700840f
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Stephen Kelly [Mon, 6 Aug 2012 12:30:47 +0000 (14:30 +0200)]
Only emit the clicked() signal from views if the left button is used.
This is consistent with QAbstractButton, QCalendarWidget,
QDialogButtonBox and QGroupBox (ie, all other widgets with
a clicked signal)
Task-number: QTBUG-26105
Change-Id: Ieafe988b5c03216796b69a7cd70ac1a03fc12b0a
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Mon, 6 Aug 2012 16:36:44 +0000 (18:36 +0200)]
Ensure that we return an invalid QTableWidgetItem when none is available.
Task-number: QTBUG-26195
Change-Id: Iede4f51770bd8c8eab3558137aaf7b1721f25a87
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 14:17:05 +0000 (16:17 +0200)]
add support for PKGCONFIG_PRIVATE
this does the same as PKGCONFIG, only that the libraries end up in
LIBS_PRIVATE, not LIBS, which means they don't end up in prl files.
in the vast majority of cases, the user should use this new variable.
Change-Id: Icb57a1166f1896f51284c64e4047cfc79410e73a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 14:09:04 +0000 (16:09 +0200)]
add support for QT_PRIVATE
this is handled the same way as the QT variable, only that the actual
libraries end up in LIBS_PRIVATE, not LIBS, which means they don't end up
in prl files.
the handling of the two variables is entirely independent, including
independent dependency resolution, so some libraries will typically end
up twice on the linker command line. this is not a problem.
Change-Id: I257ad0d414bf273c08a7bd6a874fe9ddb7356009
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 19:45:58 +0000 (21:45 +0200)]
respect copy_dir_files with manually flagged directories as well
otherwise the second installation on unix would be bogus.
Change-Id: I162533ee262c6820e7e2d4710b5342cafecd9d59
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 19:34:24 +0000 (21:34 +0200)]
centralize+fix addition of copy_dir_files flag
this is in fact a shell-related flag, which determines how QMAKE_DIR_COPY
is assumed to behave.
Change-Id: If774f8a83b40c9ae7107c8e7ef7263af8a2e6c6e
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 19:42:41 +0000 (21:42 +0200)]
remove not particularly useful branch
we just determined that the file does not exist, so it's entirely
pointless to query its type from the file system. consequently, the
respective fallback branch would assume a regular file anyway.
Change-Id: I42590ffc2a5f650fb430a9398cb1859217ed4350
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 18:45:51 +0000 (20:45 +0200)]
remove clearly bogus escapeFilePath() call
the value is still re-processed numerous times, end each "exit path"
does own escaping, while not every path can deal with an escaped path.
Change-Id: I0bf4a043809bf4b7877d02e5d8dfe8f794a7dd00
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 18:44:10 +0000 (20:44 +0200)]
make $$relative_path() minimize already relative paths
QDir::relativeFilePath() doesn't do anything if the path is already
relative, so make it absolute first to force a re-calculation.
the cleanPath() is gone, as relativeFilePath() already does that.
Change-Id: I8f4d0d839db3fe99a608f70916b4b5bd52c56535
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Mon, 6 Aug 2012 18:41:18 +0000 (20:41 +0200)]
ifdef drivespec handling in relativeFilePath to windows
on unix, the code wouldn't do anything except burning cycles anyway.
Change-Id: I1c28b1a7014af93ca70a17e0bd669debad8003c2
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Laszlo Agocs [Thu, 2 Aug 2012 08:08:16 +0000 (11:08 +0300)]
Properly manage window geometry in kms
If QWindow::setGeometry() is called before QWindow::create(),
QKmsWindow::setGeometry() is not called at all. This is wrong
because there is some special size restricting happening there
which must never be skipped.
Change-Id: I321632d4fdb327b0a75e6791c019b3f4c2793888
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Martin Smith [Tue, 7 Aug 2012 07:50:33 +0000 (09:50 +0200)]
qdoc: Don't always add example .qdoc files to source list
When qdoc finds a .qdoc file in an exampledirs directory,
it only adds it to the source list if it isn't already in
the source list. This may be overkill, but it's safe.
Change-Id: I2c5714c968f06e90f9b29b3a5481f80469e19ced
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
Zeno Albisser [Fri, 3 Aug 2012 11:37:03 +0000 (13:37 +0200)]
Only use glXCreateContext if glXCreateContextAttribsARB did not succeed.
If glXCreateContextAttribsARB does not succeed or is not available,
we should fallback to using glXCreateContext. But we should not just
create a context with glXCreateContext by default that is being thrown
away if glXCreateContextAttribsARB succeeds.
Otherwise glXMakeCurrent with context 0 might cause an unexpected
context change when dealing with multiple contexts.
Change-Id: I7627abbe2500b4006180653a1b3b074fe7aca1d3
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Thiago Macieira [Mon, 6 Aug 2012 18:38:08 +0000 (20:38 +0200)]
Don't export QAtomicInt, it's all inline
Moreover, exporting it causes the horrible side-effect on Windows
(with MSVC) that the compiler will not inline the functions, but
instead will place indirect calls to the functions in QtCore DLL,
even in release mode. For such a critical piece of code, inlining
is necessary.
Change-Id: Ib31c12f6bf8dc8ece1b51824716a480559753c24
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Thiago Macieira [Fri, 3 Aug 2012 18:02:03 +0000 (20:02 +0200)]
Add a T parameter to the memory barrier functions in atomics.
This is so we can insert valgrind (helgrind) annotation macros. They
require the actual address of the variable to work.
Change-Id: I988f6a46385ad58143c53ad34b6cf0f58be2cdb8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Marc Mutz [Fri, 3 Aug 2012 08:58:37 +0000 (10:58 +0200)]
QMessageLogger: mark default ctor as constexpr, too
Change-Id: I6f92f4a01e43dbe811b11b3e8d9b8a02a31463c5
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Mon, 6 Aug 2012 14:45:06 +0000 (16:45 +0200)]
Avoid crashes when invalidating a proxy model filter.
Task-number: QTBUG-26107
Change-Id: I2df7ae6402136570c8469d3251edae6ca8290f1f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Stephen Kelly [Mon, 6 Aug 2012 16:46:50 +0000 (18:46 +0200)]
Do not draw garbage branches if 0px indentation is specified.
This can't realisitically be unit tested.
Task-number: QTBUG-26305
Change-Id: If7f56c44c472ff0ffbda4744b76ed2119bb64bf8
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Kent Hansen [Mon, 18 Jun 2012 07:46:35 +0000 (09:46 +0200)]
Make QSignalSpy copy QVariant parameters directly
Previously, a QVariant parameter would be wrapped inside a new
QVariant, and you would have to cast the QSignalSpy's QVariant to
a QVariant to get the actual value. This behavior was unintuitive
and undocumented.
Check if the parameter type is QVariant, and copy it directly if it
is. This makes the QSignalSpy's QVariant directly usable (no need to
"unwrap" the value in user code).
Existing tests that use QSignalSpy together with QVariant parameters
(such as tst_QPropertyAnimation::valueChanged()) and do cast the
QVariant parameter to a QVariant, continue to work after this change;
this is because qvariant_cast<QVariant>() returns its input value
(unchanged) when the type is not QMetaType::QVariant.
Task-number: QTBUG-21645
Change-Id: Ibfb171edd60c0d3f7ca1d5419e5c5f3d0380d5b3
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Marc Mutz [Mon, 6 Aug 2012 14:07:38 +0000 (16:07 +0200)]
QWindowSystemInterface: fix mem leak and race
There was a race where QGuiApplicationPrivate::processMouseEvent accessed
QWindowSystemInterfacePrivate::windowSystemEventQueue without holding
QWindowSystemInterfacePrivate::queueMutex.
There was a memory leak where QWindowSystemInterfacePrivate::windowSystemEventQueue
would not delete events contained in it when it was destroyed.
Fix both of these by properly encapsulating the QList/QMutex pair
in a small class, WindowSystemEventList, that allows only properly protected access
to the internal QList and calls qDeleteAll() in its dtor.
Change-Id: Ifaa9968c9272096df2f7109a7a6cf1c8e5fa736c
Reviewed-by: David Faure <faure@kde.org>
Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Stephen Kelly [Mon, 6 Aug 2012 15:20:35 +0000 (17:20 +0200)]
Use == for button flag test instead of &
QMouseEvent::button() returns Qt::MouseButton, not Qt::MouseButtons.
Change-Id: Ib5dc5b3998ed8f442c72e26d1aff62bc4ebcff71
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Thiago Macieira [Thu, 2 Aug 2012 20:43:02 +0000 (22:43 +0200)]
Remove extra Q_COMPILER_xxx defines from the MSVC section.
Those are defined below, after the list that describes the macros and
the papers.
Change-Id: I1f2df0e33c84eb17ebbb0147662f560defed182c
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Thiago Macieira [Thu, 2 Aug 2012 20:17:27 +0000 (22:17 +0200)]
MSVC's throw() behaviour matches the C++11 noexcept, so use it
This allows code using methods marked Q_DECL_NOEXCEPT to benefit from
optimisations before MSVC supports the C++11 keyword. Even MSVC 2012
doesn't have it yet.
Using throw() in other compilers is not a good idea because they might
actually be implementing the C++ standard -- which is broken.
Change-Id: Id07ab4fe40a641583d5285d5abb536998bc419ba
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Thiago Macieira [Wed, 1 Aug 2012 15:54:32 +0000 (17:54 +0200)]
Optimise QMutexLocker a little: don't call relock() in the constructor
QMutexLocker does not support being passed already-locked mutexes,
unless they are recursive mutexes. But in that case, it behaves as if
the mutex weren't locked in the first place.
Since that's the case, there's no point in testing the low bit to see if
it's set or not. It's never going to be.
Change-Id: Ie4b81f7e2cca16e6db36f3cb51a5377dbdfc157d
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Sean Harmer [Mon, 6 Aug 2012 09:55:53 +0000 (10:55 +0100)]
OpenGL: Add finer-grained functionality checks for NPOT textures
The GL_IMG_texture_npot extension only provides partial support for
npot textures in that it allows use of npot textures but it does not
support the GL_REPEAT texture mode (needed for tiling fill modes in the
QQ2 image element).
Adding this new finer-grained feature check allows QQ2 to still use npot
textures where GL_REPEAT is not needed with only the IMG extension
present.
A follow-up commit will make a check for this in qtdeclarative.
Change-Id: Iff3dbdb955fb334d9e32f3abd49e90ff0ed9836c
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Jan-Arve Saether [Mon, 6 Aug 2012 07:50:50 +0000 (09:50 +0200)]
Make sure codecForLocale returns a valid codec in bootstrap mode
This was a regression caused by
acbfb4d777474aadd2813614108,
causing for instance qdoc to crash.
Change-Id: Id8daa19d467c4f1729e5a5a203a388f16ec4a6de
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Jerome Pasion [Mon, 6 Aug 2012 10:21:48 +0000 (12:21 +0200)]
Doc: Adding a landing page for Qt SQL.
-Simple landing page which contains a link to the SQL guide and API.
-Gave a new title to C++ API page.
Change-Id: I54eca4f6933bafa0affd5825e7fe2e1a2522dad0
Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
Rohan McGovern [Mon, 6 Aug 2012 04:19:25 +0000 (14:19 +1000)]
lancelot: detect and handle Jenkins CI environment
Make the test behave in Jenkins similarly as it behaves in Pulse:
- a test run in Jenkins is not an ad-hoc run
- the JENKINS_HOME environment variable implies we are running in
Jenkins
- the GIT_BRANCH environment variable, set by the Jenkins git plugin,
is equivalent to PULSE_GIT_BRANCH
- there is no equivalent to PULSE_TESTR_BRANCH, since testr is no
longer used
Change-Id: I89ffeec659b4adaab309d8b93ad793ce640029c7
Reviewed-by: aavit <qt_aavit@ovi.com>
Joerg Bornemann [Mon, 6 Aug 2012 08:20:48 +0000 (10:20 +0200)]
fix maximize -> fullscreen -> maximize on Windows
Using a reference changes the value of oldState within this function,
which is undesired.
Change-Id: I9fb66e488015d6b3e586ffa2f0b05a40c095e16b
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Thiago Macieira [Fri, 3 Aug 2012 17:56:23 +0000 (19:56 +0200)]
Fix builds with sysroot: a space is necessary before ] in scripts
When using [ ] for tests in shell scripts, the ending ] must be a
separate parameter. Otherwise, it won't work. configure was reporting:
configure:5918: ']' expected
Change-Id: I38a843356ee0feb97edb8692a828306821045c77
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Mitch Curtis [Mon, 6 Aug 2012 10:41:56 +0000 (12:41 +0200)]
Add missing const qualifier to snippet in QIdentityProxyModel doc.
Task-number: QTBUG-26751
Change-Id: Icb1f25dd015bcc62ec7c4c2b26c897649f1bbabb
Reviewed-by: Michalina Ziemba <michalina.ziemba@nokia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
Stephen Kelly [Tue, 31 Jul 2012 15:55:27 +0000 (17:55 +0200)]
Fix some documentation inconsistency in QtNetwork.
Change-Id: Id3e25480d4a8529813e02dc3d19f553a9263a363
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Martin Smith [Mon, 6 Aug 2012 10:42:58 +0000 (12:42 +0200)]
qdoc: Removed "../" from paths to images
qdoc was mistakenly assuming that the output
was going into subdirectories. The base dir
variable was not being tested.
Task nr: QTBUG-26638
Change-Id: I9b331926f8954b58102f75fad3f233eaebb2bb4d
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
Rafael Roquetto [Fri, 3 Aug 2012 17:35:54 +0000 (19:35 +0200)]
Fix qmake -project
qmake -project was always outputting a project with subdirs template, because
Option::h_moc_mod was not being properly read, causing addFile() to misbehave.
Change-Id: I2c07aea132f9885eabf188de993b0fabfb352886
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Mitch Curtis [Mon, 6 Aug 2012 13:31:33 +0000 (15:31 +0200)]
Fix typos in qdatetime.cpp.
Change-Id: I1c2e3dafcca69590cd7a18fdf65e2c9083ba91b9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 13:37:50 +0000 (15:37 +0200)]
introduce -fully-process configure option, change behavior of -process
configure will now run qmake without -recursive, as on modern systems
one can get a lot more out of parallelization done by make, which qmake
cannot do.
use -fully-process to get back the old behavior. -dont-process is
unchanged.
Change-Id: I2874321a963175463ae8992f3ab2b01bc13c9922
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 12:58:02 +0000 (14:58 +0200)]
remove phonon vestiges
Change-Id: Ifae2c631ddaae95ad9fc92e1f768fd910b254292
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 13:23:15 +0000 (15:23 +0200)]
remove -dsp & -vcp vestiges
only -vcproj is meaningful at this point
Change-Id: If727c96a9628e37a5a00a19a6eabede261c9c4b2
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 13:24:56 +0000 (15:24 +0200)]
remove references to dead variables
Change-Id: I2603ebabbec5011fa0bf3e858401655a9a822768
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 13:33:35 +0000 (15:33 +0200)]
remove stray message
i think this was a vestige from the old wince build proces
Change-Id: I13305de627c65fc1c93ba6d2383557ff5ea7a147
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Wed, 1 Aug 2012 12:43:42 +0000 (14:43 +0200)]
remove stale messages about using setcepaths
Change-Id: I9c0a61254aa50e57b18718aa44935007fd25bd74
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Samuel Rødal [Fri, 3 Aug 2012 12:55:39 +0000 (14:55 +0200)]
Do not call markDirty() for hidden widgets.
Fixed crash when resizing a scroll area with a native viewport
(typically a QGLWidget) causes the scroll bars to get hidden, while
there are still expose events in the queue for the scroll bar widget.
Task-number: QTBUG-26746
Change-Id: Ia77c8eb32a6730670333120af3f9a772c64807f1
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Samuel Rødal [Thu, 2 Aug 2012 13:18:57 +0000 (15:18 +0200)]
Fixed popups getting blocked by modal windows.
In the case of a file dialog with a completer, the completion list view
is a popup that is not a transient child of the file dialog. Thus it
ends up getting its blockedByModal flag set due to the file dialog
window being a modal window.
To prevent this we make sure popups don't get blocked by modal windows,
as they were special cased and processed before modal windows in Qt 4.x.
Change-Id: Id5688cfb1534541cd1678b1e53d75e34a68f9b8e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Martin Smith [Fri, 3 Aug 2012 10:29:40 +0000 (12:29 +0200)]
qdoc: No longer prints namespace qualifier twice
enum values in the Qt namespace were being printed
as. e.g.: Qt::Qt::AlignLeft. This was due to the
presence of a collision node that was not handled
properly.
Task nr: QTBUG-26628
Change-Id: I54adaba72410b2838f0922f181846bb7e76b61d4
Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
Marc Mutz [Fri, 3 Aug 2012 08:28:49 +0000 (10:28 +0200)]
Logging: mark qEmergencyOut() noexcept
This function is called in OOM situations and when other exceptions
are still in flight, so it really shouldn't throw, indeed.
Change-Id: I50cda699ffd74f3710c3bafd15af356ff410bc47
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Frank Osterfeld [Thu, 2 Aug 2012 20:06:22 +0000 (22:06 +0200)]
Fix intended assignment to customSet variable.
The naming suggests that this variable should be set to true here (instead of leaving the expression result unused). Also, the variable isn't written to anywhere else.
Change-Id: I8aae904f6e4456ce0bdd053ce89c2721168dccd3
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
hjk [Wed, 27 Jun 2012 11:15:07 +0000 (13:15 +0200)]
qdatetime: micro optimization in fmtDateTime
The function showed up in the profiler when doing
heavy logging involving timestamps in Qt Creator.
Change-Id: I81c4e22981a5de91df3da6a0f1df2a08552fa71a
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 13:56:46 +0000 (15:56 +0200)]
use QMAKE_LIBDIR for passing LSB library path
-L in QMAKE_LFLAGS is just wrong
Change-Id: I05eae0bb5e5e3dc8f8234616cb2ccdfba1d517fb
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 12:54:26 +0000 (14:54 +0200)]
remove the option summaries from the configures' help messages
they are an unreadable and unmaintainable mess. the options are properly
documented below.
Change-Id: If2ec683fb7c3740b19798979f8a1f9cd8d84f457
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 12:01:40 +0000 (14:01 +0200)]
s/QT_PRIVATE/QT_FOR_PRIVATE/
QT_PRIVATE is meant to be for something different.
only jsondb uses that so far. as it has little activity, i feel free to
break it temporarily.
Change-Id: Ifaa054af7234594ee534120c99506b76aebbf59f
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 10:11:13 +0000 (12:11 +0200)]
findLibraries(): don't remove -L options for system paths
the paths may be explicitly added before some other paths, so it would
be wrong to remove them.
Change-Id: I68ae93fd307afe14a07a0f24de952783950b5bea
Reviewed-by: Holger Freyther <holger+qt@freyther.de>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Sean Harmer [Fri, 3 Aug 2012 13:08:59 +0000 (14:08 +0100)]
XCB: Correction to OpenGL version check for profile support
Change-Id: I2f2bf877b1e2e628806f22fe66180b05090f4b3e
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 19:37:18 +0000 (21:37 +0200)]
introduce ability to selectively pass options to qdbusxml2cpp
DBUS_{INTERFACES,ADAPTORS} now also accepts "structures":
DBUS_INTERFACES += foo
foo.files = foo.xml bar.xml
foo.header_flags = -i qfoobar.h
foo.source_flags = ..
Change-Id: I98d757c8d3a3c6f79cedca7b90b533289114c102
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 19:31:36 +0000 (21:31 +0200)]
add ability to pass command line options to qdbusxml2cpp
QDBUSXML2CPP_{INTERFACES,ADAPTORS}_{HEADER,SOURCE}_FLAGS are now
understood.
Change-Id: I26492cec5ecb7ff4a6b83755ee8a0c17859b2a68
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Oswald Buddenhagen [Thu, 2 Aug 2012 17:15:45 +0000 (19:15 +0200)]
de-duplicate dbusadaptors.prf vs. dbusinterfaces.prf
it's two times the same code, once with "adaptor" (and an -a option) and
once with "interface" (and a -p option).
the de-duplicated code looks a bit nasty, as qmake cannot deal with
braces on the LHS yet.
Change-Id: I199a07947661ab9abe7a736b56c437f3f6dc4fa4
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
Thiago Macieira [Fri, 3 Aug 2012 10:27:28 +0000 (12:27 +0200)]
ICU: lock the mutex before calling an Unlocked function
The QIcuCodec::defaultCodecUnlocked function is not thread-safe
because it calls codecForNameUnlocked. In turn, that one accesses and
even modifies a QHash stored in the QCoreGlobalData singleton, which
is what makes it non-threadsafe.
In order to call the Unlocked function, we need to lock the mutex
first.
Change-Id: I915570110229f4c0929986aa26731244317ef6ab
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Thiago Macieira [Fri, 3 Aug 2012 09:40:35 +0000 (11:40 +0200)]
ICU: Mark which functions are threadsafe and which ones aren't
Mark the thread-safe functions with the \threadsafe doc marker. This
includes public API, which should be thread-safe anyway.
The thread-unsafe functions are marked "\nonreentrant" already. In
addition, I renamed the functions that must be called with locked
mutexes to Unlocked, following the convention in other libraries like
libdbus-1.
Change-Id: Ibd93d1266149767f546c8e82959b73c138008469
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Sean Harmer [Thu, 2 Aug 2012 12:17:16 +0000 (13:17 +0100)]
QNX: Ensure that m_requestedBufferSize is properly initialised
This solves a new corner case resulting from the recent refactoring of
QQnxWindow::setGeometry() that occurs when using a plain OpenGL backed
window in a single threaded environment and the user code calls
QOpenGLContext::makeCurrent(this) in the QWindow subclass ctor.
Change-Id: Iaf07fbff1cb2743f5706020a8d657a82cb9f2255
Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com>
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Sergio Ahumada [Fri, 3 Aug 2012 13:15:01 +0000 (15:15 +0200)]
Fix order of QT_END_NAMESPACE and QT_END_HEADER macros
Change-Id: I798311bdacaac341210626489410740c130f8724
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Stephen Kelly [Thu, 26 Jul 2012 07:44:05 +0000 (09:44 +0200)]
Remove some dead code wrapped in Q_WS_QWS.
Change-Id: Ie1ee8c4af603b924abe40145041357981d174445
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Stephen Kelly [Thu, 26 Jul 2012 07:51:15 +0000 (09:51 +0200)]
Remove unused Q_WS_QPA define.
Change-Id: Ie77526000cf93ad6901e28abe2558d254ccf8f1a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Stephen Kelly [Thu, 26 Jul 2012 07:48:15 +0000 (09:48 +0200)]
Remove some dead QWS code from configure.
Change-Id: Ic1b47533e3f04cebaac83ca632068c2e791a846c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Andreas Holzammer [Thu, 2 Aug 2012 07:57:15 +0000 (09:57 +0200)]
Fix FullScreen for Windows CE
For Windows CE the taskbar needs to be hidden
manually.
Change-Id: Ife69a2a91457ba0c162e4e1be88f87ad22c61190
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Paul Olav Tvete [Thu, 26 Jul 2012 11:23:28 +0000 (13:23 +0200)]
Revert "Move QWindowSystemInterface out of qpa."
This reverts commit
784a877d3cd9a1a75aca9c83146389503a966071.
Conflicts:
src/plugins/platforms/cocoa/qcocoawindow.mm
src/testlib/qtestkeyboard.h
src/testlib/qtestmouse.h
src/testlib/qtesttouch.h
Change-Id: Iebfed179b3eb7f30e4c95edcae5a8ad6fd50330e
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Lars Knoll [Mon, 30 Jul 2012 21:36:59 +0000 (23:36 +0200)]
Remove the obsolete scene argument for constructors of graphics items
The argument has been obsoleted and not documented since 2007. Get rid
of it now before Qt 5.0
Task-number: QTBUG-25089
Change-Id: I91a5508a5e1606f5b5c289501295c67be4abe6a0
Reviewed-by: Jason McDonald <jason.mcdonald@nokia.com>
Jan-Arve Saether [Mon, 30 Jul 2012 12:21:15 +0000 (14:21 +0200)]
Use glFlush() if swapBehavior is single-buffered
Otherwise, use swapBuffers()
This fixes an issue where swapbuffers() did not swap the
"back buffer" to the "front buffer" if we had single-buffered swap
behavior.
This was an issue on Windows 7 with an NVIDIA graphics card that
by default was using single-buffered mode.
Change-Id: If53f54146e4633305be3ad5158565752b6516b59
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>