A standard paths implementation for iOS. The APIs used on iOS require
that the source file be "Objective-C++" (with a .MM extension), as
there are no APIs available in C++ for this. The implementation
complies with the latest documentation on standard paths.
Change-Id: I349d3c5d4ddb6fb1297a45dc9ae26b56ac528abb
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Instead of trying to hook into various places where we might be in a
situation where the root event loop should exit, and then enabling the
runloop-observer, we always keep the observer active, and then do the
relevant checks whenever the run-loop exits.
The reason for checking if the event loop is running is that iOS will
enter and exit the root runloop as part of normal operation, eg due to
flicking a scroll view and switching the runloop mode, so we need to
ensure that we're actually supposed to exit the root event loop.
Change-Id: I9b84b47ee45e0c9e2b1d2ebb5a432ea92700b324
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
I had the -fPIE option in my personalised "linux-icc-optimised" spec,
so I never noticed it was missing in the standard one.
I have no idea when -rpath-link is necessary. It isn't for me.
Task-number: QTBUG-34425
Change-Id: I54b2fb8cda10b9197d81b5630b1d29b8c338d96a
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
If QMAKE_INFO_PLIST is set, check if the file it
points to is located inside the project source dir
rather than the build dir.
Change-Id: I6fb176349dae8e841b5e2dfdb9f9cb87f51a1e76
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Make already the creation of the generated cpp file depend on the
creation of the generated h file, which transitively ensures that
the cpp won't be compiled before the h is there.
Change-Id: Idd3aec8d72dac341e835a3d1ef8f2986dbc1ab9f
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
QIcon::isNull() only checks if it has a valid d pointer and not if it
actually contains any image data. The result is that the QImage create
from the icon would be invalid, and later cause an exception to be
thrown. To avoid this we should check the QImage as well.
Task-number: QTBUG-34416
Change-Id: I9dd0a2387d73bfc2c27ceb9df247ddc186dd659f
Reviewed-by: BogDan Vatra <bogdan@kde.org>
In some cases we where not releasing the local references and since we
no longer disconnect from the VM on each call, the number of local refs.
would accumulating until it hit the hard-limit of 512.
Change-Id: I6826620e4cb61a37af26d276667489e876080076
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
It happens that we don't get a focus inn event for top level windows
when focus goes from a window mapped. But we do get a _NET_ACTIVE_WINDOW
event.
Task-number: QTBUG-34426
Change-Id: Id1d9eb708a968e0e8934e56dec19abe2dd203bc7
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
Conceptually a Qt for iOS SDK or source build should support building
for both simulator and device, based on the same qmake binary and Qt
libraries. Qt Creator or Xcode should then be able to use the same Qt
version while still building for a single target at a time. This
applies to user libraries as well, which shouldn't require switching
to a different Qt when changing target platform from simulator to
device.
We achieve this by using Qt's exclusive_build feature, where we build
for the two targets in parallel, and then teach Xcode how to choose
the right library dynamically at build time.
Change-Id: I06d60e120d986085fb8686ced98f22f7047c4f23
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
This patch makes it so even sub processes of services are also
detected to be running in the context of a service. With the previous
code it would only detect that the current process is a service
and not the sub processes.
This fix makes sure we detect properly if the current process
is running in the context of a service. This is important to
detect properly the proxy configuration of the current user.
Change-Id: I110dee62597aec3f8e2f6925166a428f72d14fd0
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
It is now configurable if test results are stored in xml, plain text
or in both formats. Default is xml, like it was,
Max runtime is also configurable so that we can reduce the CI round.
With default setting it takes more than eight hours within current
CI node.
The latest test result dir is linked as latest.
Change-Id: I5d27cefe17e4f86648132db7ec104711d993c3de
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
By default debug, trace is disabled, so this can be marked as unlikely.
Change-Id: I221a688c953c1ff1fdfda65d2d99457785d3ff47
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In positionInLigature() we were mixing indexes into the script item with
indexes into the entire string. The getClusterLength() function would expect
an attributes array for the current script item and it thus needs to be
adjusted by si->position. In addition, when looking for the next grapheme
boundary, we were comparing pos (which indexed the string) with end (which
indexed the script item). This has also now been fixed by adjusting for
si->position as well.
Task-number: QTBUG-30123
Change-Id: Id02e2eddcc5b7888eacb34bd1e39cc6911880ca1
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Earliest occurrence is to my knowledge in 12.04.
It is still unclear how to act on those messages
Change-Id: I7da48281c6bec973448a1d4cd800d445a80695a2
Reviewed-by: Gatis Paeglis <gatis.paeglis@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
This will allow applications to make sure Qt has the same state as the
window system at any given point. The use of this function is
discouraged but it is very useful for auto tests.
Change-Id: I691bff365fc391e9d7213f2607008983505bb774
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Makes it possible to join two separate builds, and opens up for using
exclusive builds to do this.
Change-Id: I87ccbdd55511fdfbef3fe8b581f40525ebf077ed
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
<QtConcurrentRun>, <QtConcurrentMap>, and <QtConcurrentFilter> are not
official headers. Developers should use <QtConcurrent> instead.
As a side-effect, this patch also stops the function documentation from
being duplicated (one copy in the QtConcurrent namespace page, one copy
in the \headerfile pages)
(For some reason, \brief doesn't work on standalone pages like these)
Change-Id: I9482f014acf52ba734a3fa597cdcc5931fcd7ecf
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
- Fix location of NSMenu when no NSView is given.
- Fix shortcut when given in text with tab.
Change-Id: Iec21cf3d12084db1e70c1a8779d5482c78285796
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
With OS X 10.9 font decoding appears to happen lazily, this means we
have
to ensure the data we provide CG is kept alive until it dereferences it
itself.
Task-number: QTBUG-34332
Change-Id: I8fc38fafba746b062c4ad16314b0a410fd0b668d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Manage and correctly set the z-order of a foreign created mmrenderer window by
QtMultimedia
Task-number: QTBUG-33816
Change-Id: I46273b945bf10991462fa72eb1ec8d00b0648988
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Previously, the full path to the qmake project file was specified as the
key for projGuids when inserting the project GUID into this hash table.
The only place that items are inserted into projGuids is in
VcprojGenerator::collectDependencies at:
projGuids.insert(val.first, newDep->target);
In this case, val.first contains the full path for the given project being
processed at this point. (e.g.: c:\testproject\testproject.pro)
Further in sln/vcproj generation, projGuids is queried with the contents
of <TARGET>.depends so that users may specify another qmake project as a
dependency for a given target.
This occurs in two places, in two ways:
1) In VcprojGenerator::collectDependencies() at:
QString depend = dep.toQString();
if (!projGuids[depend].isEmpty()) {
...
In this case QString depend contains whatever is put into <TARGET>.depends.
Typically this is the plain name of the project you depend on.
(e.g.: testproj)
2) In VcprojGenerator::writeSubDirs(QTextStream &t) by proxy of
extraSubdirs which is a QStringList of the project depends should the
mapping in case 1 fail.
This case works much like the above case, attempting to use each
QString entry of the extraSubdirs list as a key in projGuids.
If either of the above two attempts are successful, the msvc solution is
configured in a way that creates a project dependency, ensuring correct
compilation order and other related behavior.
The fix here stores the target project (e.g.: testproject) as opposed to the
full project path, as that is what is expected in the <TARGET>.depends
statements contained in the qmake project.
Change-Id: Iee05661a64d7a3e4467c5ade48d801fbbfe981b5
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Reviewed-by: Chris Gilbert <cgilbert@knaldtech.com>
We must not include qt_windows.h in public headers,
otherwise we're cluttering the environment with a colorful
bouquet of Windows API preprocessor macros and typedefs.
Task-number: QTBUG-34058
Change-Id: I415717ea2a47f39e7f4b7ce1c1df9d49afc99278
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
We pass the mouse screen coordinates that we convert to window
space instead of the other way around. This makes sure the original
mouse coordinates are not bound to any moving window.
Task-number: QTBUG-29583
Task-number: QTBUG-32221
Change-Id: I8f9ada6e8c0d20af8e85e88ee39190d23e58977f
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
CGPostMouseEvent is obsolete and known to have "undocumented special
cases and undesirable side effects." The newer Quatz API doesn't
allow neither multiple mouse button events nor preserving the mouse
cursor location.
Change-Id: I121b02fd01e2990488b05e45431cbdc13589656e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Unearthed by fe1cbe9ca7 while
building QPlatformSupport.
Change-Id: Ife56efe111dda6bcf9f11f9c144a4d1dc1651380
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
In VS 2010 and newer the /SAFESEH linker option is not passed as
additional option but is represented by the property
ImageHasSafeExceptionHandlers.
Task-number: QTBUG-34392
Change-Id: I3bd19078e695716050dd20736b6bc589bcb1cefd
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
This avoids one extra memory allocation when creating the lock file. The
number of memory allocations when checking the file are still the same.
Change-Id: I16a2fdb7a5458bdc66f8ad1c602582b5698a5b5c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Make sure the groupbox check indicator doesn't get placed in negative
coordinates when font height is smaller than the indicator height.
Task-number: QTBUG-33610
Change-Id: Ifad0016e9311f1212cccb6d5971343beb68517c4
Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
the file is not meant to be human-readable and even less editable, so
there is no point in having comments in it.
also, it was completely inconsistent to start with: features without
dependencies were listed as "templates" in form of commented out
#defines to disable them manually, while features with dependencies
had a respective #ifdef block to be automatically disabled, but no
"template" to disable them manually. now only the #ifdef blocks remain.
the actual configuration is done by configure via qconfig.h.
Change-Id: I8b9e56ba570908dad4cc6dfcd24bf0e1da8b290f
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
much more elegant than the checked in file. and less chance to get it
wrong, as people often enough do.
Change-Id: I975a62dfd83ce4f15947ce54f3c40931b1badae0
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
due to modularization, svg and activeqt do not belong here any more.
note that concurrent and dbus are staying for the time being, because
being part of qtbase and configure lacking support to switch them off,
this is the only way to disable the modules.
Change-Id: Idbc0d2f7db23f7e797fc301ab1136f69f9049b27
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this file is not built as part of the xml library for years, so the
condition was never true.
Change-Id: Ifdc044b6a8044c5093a3f7c268505527dd53f134
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Added logic so that accepting either the press or the release will
keep the app running. This makes it possible to use the onBackPressed
functionality in QML.
This functionality is only intended for running in a complete Android
environment, so make sure that we don't terminate the application in
the NO_SDK case.
Task-number: QTBUG-30803
Change-Id: I2546eea73bf6a6ee8b196125b7556479b9b10a9c
Reviewed-by: BogDan Vatra <bogdan@kde.org>