It has no effect when the compiler doesn't support it.
Task-number: QTBUG-33952
Change-Id: I23b1fcdf4ec31924b1b59987846f7e0fbf17c6c9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
We already supported re-entering QApplication::exec(), so adding support
for handling a generalized QEventLoop::exec() was nothing more than
removing the qApplication->in_exec condition in processEvents() and
the QThreadData::current()->quitNow condition when interrupting the
event loop. Everything else is just renaming and rewording, now that
the feature is not specific to QApplication::exec().
This means dialogs such as QFileDialog opened in the main() function
will show something on screen, as we then fall back to the iOS root
run-loop handling, while at the same time supporting QApplication
exec once the dialog closes.
We still don't hadle recursive QEventLoop:exec() at the root level,
as that would require multiple stacks and detailed application
knowledge about when to create them.
Change-Id: I334a362d85796341a343ce82f3104ff5866bdc3f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
If the user for some reason spins a new QApplication event loop after
an initial one has been exited as a result of the application being
terminated by iOS we need to prevent further event loops from starting.
Change-Id: Ief8a69cebacebd5be63a1aca87a2a1babc809879
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
These example projects are plugins that cannot be run
stand-alone. Remove them from the list of examples
in Qt Creator's Welcome mode.
Task-number: QTBUG-33889
Change-Id: I65b5b91a6c5b73616c10c91b7ab3f5bddbe6e6fe
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Qt creates various invisible windows for internal purposes.
Giving them all titles makes the output of tools like
xprop and xwininfo more readable, which makes solving certain bugs
(like transient-window bugs) easier.
Task-number: QTBUG-33644
Change-Id: I9d37b40d3339fb0f81ffeae64949b88ecb655474
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Remove '(s)' for methods taking only one path argument. The '(s)' has
been dropped in other places already ...
Change-Id: I9dc0d1cfa1e02f60bce901a309835f4bbfadde6d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
The dbus interface has since changed, and I missed this when I updated.
Change-Id: Iea3363b276a92f4a97d1ddfbae572515abac9417
Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
Default values should have mark-up to denote that they are code.
This commit changes:
-"property is true" to "property is \c true".
-"Returns true" to "Returns \c true".
-"property is false" to "property is \c false".
-"returns true" to "returns \c true".
-"returns false" to "returns \c false".
src/3rdparty and non-documentation instances were ignored.
Task-number: QTBUG-33360
Change-Id: Ie87eaa57af947caa1230602b61c5c46292a4cf4e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The default has already been changed in the configure shell script,
but configure.exe needs the same change to be compatible with the
current NDK (which no longer contains the 4.7 toolchain)
Change-Id: Icd6474c3c9b9bbefbba5a1273a466c7ff099b7e0
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
These modules don't build for iOS or don't have a backend yet
Also organizing the list a bit while we are it.
Change-Id: Ic72e897325c9478f66af8e8f879fe6342eb327dc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
999e5162ec breaks QPlatformIntegration
implementations that perform tasks in their constructor that rely on
the event dispatcher. For example creating a QSocketNotifier is not
possible anymore since the event dispatcher is created later on.
This is fixed by introducing an additional virtual in
QPlatformIntegration that gets called after createEventDispatcher().
Two broken platform plugins have been identified so far: eglfs is
creating socket notifiers to read events from input devices and xcb's
input context plugins may use dbus. Both are updated accordingly.
Task-number: QTBUG-33768
Change-Id: I5badb623958a52ab5314ff93dd7d60061f5df70a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
The structure FDAP is only available as Windows Vista, and MinGW-w64
do not actually define it if _WIN32_WINNT isn't set.
Needed to fix compilation with latest MinGW-w64 headers (version 3).
Change-Id: I566ea6bd4c3d8d5a495b644aedffb7de42a6d6e4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Adding another category will most likely require a dedicated
handling anyway, so better let the compiler warn about it.
Change-Id: I323ca1250d82e33c086f1930e1df0a6337d6f16f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
When Qt is built for 10.8 but then used on a machine before 10.8 then
it was not falling back correctly when an application font was added.
Change-Id: I0f05226cdbcfa36621bb1b3aa2f2cd60e714dfdf
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
QScreen::grabWindow() would only with the primary screen on Mac, if you
tried to grab a secondary one then it would end up with a blank pixmap.
Change-Id: I24f604051835db96286c693f5ed60a2633b6528e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
QCommandLineOptions are held in a QList in QCommandLineParser,
so they better be declared movable, which is one of the things
Q_DECLARE_SHARED enables.
Change-Id: I75c8185534b4e9c1ea4417a9507095c8a6512aab
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This yields the same results as previously and is more in line
with existing interfaces.
Change-Id: I0bf0372bf18f3bfde579385cddbe594bf71e3c52
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This is mainly achieved by modifying the program flow to require
fewer string comparisons and conversions.
Change-Id: I9887623b9c05fe76460fc725d6534d16bd9f9e59
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
- Introduce the concept of "mutual exclusion"
- Rewrite/add explanations on how synchronization happens and how to
use these tools
- Remove similar content from the "Thread Basics" page
- Fix links to examples
Change-Id: Id008a8fc3f68bf242cae1704c5c8318149d908b4
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
These apply to other locks too, not just mutexes.
Move from "Thread Basics" to "Synchronizing Threads"
Change-Id: I6d7051cb225a8c836fb591a28b65d3de8fab4083
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Move text from "Thread Basics" to "Synchronizing Threads" for a more
complete overview.
Change-Id: Ib87259ed551fa77278b57c5922df7f4b774a829a
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
- Create a section dedicated to this concept, which is fundamental to
signal/event handling
- Move relevant content from the very broad "Thread Basics" page to the
QObject class ref
- Flesh out existing content, including distinguishing signals from
events
- Address the common misconception that "member" = "child"; this has
been encountered several times in the Qt Project forums
Change-Id: I5e7e6c848596e72c0bb623f8442c8389b81ad9ef
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
This actually shows two completely unused functions in QAccessibleTabBar
(fixed in follow up patch).
Change-Id: If6f464c022617b2ee1db654936e3ff9931103eb6
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
qFlagLocation() uses a global char* array to transport source location
information from the connect() side to the metaobject side. The size
of the array is 2 (two), which just about suffices for a single connect()
statement.
Obviously, if more than one thread makes a (_any_) connection at the same
time, the data is useless and, worse, there's a data race.
The non-reentrancy of qFlagLocations() cannot and need not be fixed,
but use a per-thread flagged_locations array in QThreadData so threads
don't disturb each other.
Task-number: QTBUG-3680
Change-Id: If1797c60751f551694def69afee6fbe295bbe2d2
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
NewObjectV() was failing because QJNIObject was calling the variadic
constructors with a va_list, which in turn created a new va_list.
Change-Id: I1cf4c8133f237596964177271a20ca651174e695
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
Whenever the SDK updates the build tools it's put inside a new
subdirectory with the version number, so with every new version
we would have to update the java.prf feature. Instead, we iterate
over the available revisions and pick the lexicographically highest
one (which is sufficient as long as the major version is
double digits.)
Change-Id: I2392ef6261ef36ed741c80fa6f981486e7844e0a
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
On Linux, we will do a configure test to determine whether JIT should
be turned off when compiling JavaScriptCore in the QtScript module,
but this test is never run on Windows. The result was that JIT was
disabled on Linux and enabled on Windows, and compilation broke on
Windows.
Task-number: QTBUG-33780
Change-Id: I37991c6da98b35330c07c54f2a0b143d20780c91
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
CFBundleGetPackageInfoInDirectory originally used tests for the presence
of information that are not mandatory in a bundle. The new implementation
uses known bundle extensions as well as Launch Services
to try to find if the bundle is known to the system. Last thing it
checks whether the package bit is set.
Task-number: QTBUG-31884
Change-Id: Ib58996c6ac65194c21238f5f86f78d797e310608
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
HtmlGenerator::generateCompactList() no longer uses an algorithm to
find out a common prefix for classes/qml types when generating the
alphabetical lists. The common prefix argument is no longer optional.
To indicate there is no common prefix, pass an empty string as the
common prefix argument.
Task-number: QTBUG-33750
Change-Id: I4b44bbcff909fcea5c7bfd58c6796e303086bc68
Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
The QML module identifier is no longer useful.
The function to generate it is retained for now.
Task-number: QTBUG-32173
Change-Id: Ic811ed432f2059c0370e9e0d86b2e334b5c82a3c
Reviewed-by: Martin Smith <martin.smith@digia.com>