This was observed in the weather app, where sometimes we could not find
an items window. This could only be observed in the search results of
the cities. (while VKB was visible).
The old code traversed up to the QQuickListView and then it could not
traversed further up in the parent hierarchy. Because of this it
could also not find the associated window handle.
The reason for this is unknown, but maybe it could be related to the
fact that QQuickListView is a Component.
Regardless of this, invalidate the cache should invalidate everything.
We also traverse through all top level windows, but on iOS there should
not be too many top level windows...
Change-Id: I56a496435bb529a53d5ece8446cd2eeff502af84
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com>
I don't know why it was an #if 0. The __has_feature has been there for a
while. But, just to be sure, we check the presence of the header too.
Change-Id: I36e34c9e8fd4ce55c98966d2fad246b77eb16597
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
The libc++ header does this:
#if !__has_feature(cxx_atomic)
#error <atomic> is not implemented
So we can't enable the feature until the compiler reports true for that
test.
Change-Id: I96f1c7eea8b93d93bd721fe5a85fa987339d091f
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
QTestEventLoop::exitLoop() is used by QSignalSpy to stop event
processing when the connected signal has been received. The design
of QSignalSpy requires QTestEventLoop::exitLoop() to be
thread-safe, which it wasn't. When QSignalSpy is connected
to a signal in a different thread, exitLoop() was called from
the thread which emitted the signal and not the one in which
QTestEventLoop is running. This caused troubles when killing
the internal timer.
This patch adds a check in the beginning of exitLoop(). If
it is called from a different thread, it will post an event
into the message queue in which QTestEventLoop is running
and execute it there.
Change-Id: Icb8c8ff2f5344800ee6c6125b98c677c7a196c32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Loading a dock window state saved by a Qt 4.2 app is not
something we need to support anymore.
Change-Id: I9ee6e2c742b31114081852e7236cfc8696b9b270
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Tested with GCC 4.9, Clang from XCode 5.1 and ICC 15 beta.
Clang 3.5 (pre-release) cannot compile qtdeclarative yet with -Werror
due to invalid C++ code there that calls member functions on null
pointers.
Change-Id: Ic2845371a1899716985bc0813dfb820fa418e207
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Change-Id: If4d9c9c769b598a3194a7cd5bbe5c74e7650694b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
qtdelcarative's qquickaccessibleattached.cpp contains now some static
instance of QMetaMethod. Marking the constructor as constexpr,
let GCC to remove call to the constructor at load time.
Change-Id: Ic5ab7db0d06caa08f15d65d3bb5f22a34a111fee
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
We know that type id can't be changed, let pass this information to the
compiler.
Change-Id: I105b460417288b84250a954571c247608976f8f7
Reviewed-by: Stephen Kelly <steveire@gmail.com>
Previously, the device was delay-created, which is a problem
if its type is to be used for determinining the pan gesture type.
Task-number: QTBUG-40461
Change-Id: I2dee3d7a3786a0fdf0a9b2b9e174dd121697ab44
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
We shouldn't excluded all volumes under /run since some distos will
mount filesystems there. Instead we should exclude all filesystems with
the type "tmpfs" that /run has, and rpc_pipefs that is mounted below
/run. Tmpfs" is excluded for all UNIX systems since the BSDs have
a similarly named filesystem.
Change-Id: I03fdac515c0bfb1b824b2e3eae1022dd699c0998
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
The patch 916dfcb827 while fixing one problem,
introduced another - leaking CGImage.
Change-Id: I08db6ea9fa97ae3489a0bfa1f93e0d18f3671885
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Because difference_type is 64-bit on 64-bit systems, there's a
downconversion warning from MSVC and possibly other compilers when it
gets passed to functions taking simply int.
Task-number: QTBUG-41092
Change-Id: I46a710810f4a57b8b84c4933f419a1f1fdf6bb5a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Several of the unit tests request that the peer emit more than one
signal, but only handle one. The rest of the signals stay queued in the
socket and will be delivered at the next test, causing it to fail often.
This doesn't happen in the tests with the bus. There, we don't receive
the extraneous signals due to AddMatch/ReceiveMatch on each signal
individually and the synchronous nature of the emission (the signals
have already been emitted by the next AddMatch and cannot match it).
Task-number: QTBUG-42145
Change-Id: I743a0553074972042fca46b76db5d9e7b3209620
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
This is a very rare occurrence: if the user is the owner of the
directory, the user can chmod(2), and we already checked that the user
is the owner. However, chmod(2) can still fail on read-only fs and on
hardened systems.
Task-number: QTBUG-41735
Change-Id: I8f8bac763bf5a6e575ed59dac55bd265e5b66271
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: David Faure <david.faure@kdab.com>
Since the current user is the owner of the dir, we'll get 0x7700 as
permissions, not just 0x700. With the wrong check, we were always doing
an unnecessary chmod.
Task-number: QTBUG-41735
Change-Id: Ib1fc258fef4bf526baa9c71201f9b78d36f5454f
Reviewed-by: David Faure <david.faure@kdab.com>
Use qint64 wherever possible. The linear buffer is never requested to
allocate that much memory (always limited), but at least we ensure we're
not dropping bits where we shouldn't.
Windows's POSIX compatibility layer is never largefile enabled, so it is
always necessary to chunk large reads and writes. On Unix, this will
be rare, unless someone passed -no-largefile to configure, for some
weird reason.
Unfortunately, this is not testable, unless we can allocate a buffer
with 4 GB or more in size. The test for this would be to open a file we
know to be small, then try to read 4 GB + 1 byte. If everything works
correctly, we'll read the full file; if there was a truncation, we'd
read one byte.
Change-Id: If3ee511bf1de17e0123c85bbcaa463b9972746ce
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Unlike qtouchevents, this provides a touch area which logs its
events and devices.
Task-number: QTBUG-40461
Change-Id: Iaaa3589dd692caf8c7078f5ed2ff1e8b2322a369
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
CE_ComboBoxLabel was relying on a font color / painter pen set
by CC_ComboBox. This change ensures that CE_ComboBoxLabel has
correct color when CC_ComboBox and CE_ComboBoxLabel are drawn
independently.
Change-Id: Id548d831fdde5885bc7c157d55de6235ef3f0a56
Task-number: QTBUG-41702
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Some CFStringRefs created with CFStringCreate* methods were not being
released. Using the QCFString helper class to perform auto release.
Change-Id: I36d15c0d35118524089e99ea3cd53c41342d6308
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
CFRelease should be called IFF PMPrinterCopyDescriptionURL succeeds
Change-Id: Id289aea3a4e3da397dae4062319256a043538597
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Since commmit 0127962e47 the
PBXResourcesBuildPhase is used only for ICONS, because the old
behavior of using it when target path is not given differed from
the documentation and behavior of the makefile generator by using
Contents/Resources as target directory when targeting osx.
The PBXResouceBuildPhase optimizes png, compiles xib or asset catalogs
and copies the rest.
The advantage is that it makes it easy to add resources to the bundle,
the only problem is that the target directory is always the resource
directory.
The copy operation currently used does not compile resources, which
makes adding .xib (for the Launch File required to support iphone 6)
and asset catalogs difficult.
So we restore the old 5.3 behavior for ios, and use the build
resources phase when possible on osx (target Contents/Resources).
On osx this still implies a difference between the makefile
generator and the xcode generator: only the latter compiles resources.
Change-Id: Id1853693e88fc46562b044efdea2bf5f9da2c98c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Found by coverity. The cachedIcon can be deleted
when being inserted into the icon cache (in QCache::insert).
So copy it to icon before trying to insert it into the cache.
Change-Id: I5ed13c0c7ecb8f8f13285ca5d06237493dbea479
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Not wayland. Use the default of eglfs coming from linux_device_pre.conf.
Qt 5.4 includes QtWayland and the platform plugin from there may get built
unexpectedly. The result is that the Pi setup that worked with 5.3 and eglfs
stops functioning.
Task-number: QTBUG-40538
Change-Id: If894c7ddd7b40a22272797d94ce1a545b7ab43f2
Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Reviewed-by: Andy Nichols <andy.nichols@digia.com>
Fixes errors like
qsslsocket_openssl_symbols.cpp:111:6: error:
unused function 'qsslSocketUnresolvedSymbolWarning'
[-Werror,-Wunused-function]
void qsslSocketUnresolvedSymbolWarning(const char *functionName)
^
1 error generated.
Change-Id: I164518de583f080724ab9a7165c885602a1c6231
Reviewed-by: Richard J. Moore <rich@kde.org>
Some offsets differ between QWidgets and Controls. Therefore, we need
drawNSViewInRect() to know about the origin of the call.
Change-Id: I3bd165f94731f2b37423d86ed5d3c302a17d5ef5
Task-number: QTBUG-42067
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
This is needed since the names of the header are the ones you have to use in the QML signal handlers to access the variables
Change-Id: I507e2ccc05a1fd2c5efd0bf4bef92ed33a186d95
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Currently DataLocation returns the same value as DocumentsLocation which
doesn't fit the purpose for what should go in this directory. This patch
aims to correct that. On a side note, it will also be more inline with
OS X current behavior
[ChangeLog][QtCore][iOS] Fixed path to QStandardPaths::DataLocation.
Until now DataLocation was pointing to the Document directory. With this
patch, it will return the more accurate Library/Application Support.
Application making use of DataLocation should move these data to the new
location. This can be done using the path provided by DocumentLocation as
source path.
Task-number: QTBUG-42276
Change-Id: I35415643cf8cc7a60528f9b0fb5028ada5deace0
Reviewed-by: Jake Petroules <jake.petroules@petroules.com>
Reviewed-by: David Faure <david.faure@kdab.com>
When QWindow::alert() is called with a duration of 0, it calls
QPlatformWindow::setAlertState(true), and expects the alert state to be
reset when the window is next activated. Other calls to alert are
ignored while alertState is still true.
If alert was called for an active window, it would remain in the alert
state until deactivated and activated again, and on some platforms calls
to alert would be broken while deactivated.
Alerting doesn't make sense for active windows, so we can simply ignore
it, which was the behavior with Qt 4 on some platforms.
Change-Id: Ia3324da4c89db711b63eb31cddf0bf742bb4e3b8
Found-By: Jan Noertemann <jan.noertemann@uni-dortmund.de>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Martin Gräßlin <mgraesslin@kde.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Forward the flag to QWindow by setting the _q_macAlwaysShowToolWindowproperty
on the window in QWidgetPrivate::create_sys(). Test
for the property when creating the window.
Task-number: QTBUG-29816
Done-with: Morten Sørvig
Change-Id: Id810dda98d02deb0902192cce1783d8b16b04d04
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
The text should be empty when Cmd key is in modifiers.
Task-number: QTBUG-36281
Change-Id: Ic71e532695ad4a947c86e8d21ae864d70f9afa4c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Currently getting QXcbScreen* for primary screen is too messy and it
wrongly uses QXcbConnection::primaryScreen() as an index in
QXcbConnection::screens() although QXcbConnection::screens() returns
the primary screen as the first item in the list since
3c8eb40487.
So to clear the API rename primaryScreen() to primaryScreenNumber(),
add QXcbConnection::primaryScreen() that returns correct QXcbScreen*
and use it directly.
Change-Id: Icb7391aa3e82b32ca48f2bda764dcf7ffd89cc47
Reviewed-by: Uli Schlachter <psychon@znc.in>
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
This disables animations for windows that are
completely obscured by other windows.
On examples/quick/animation, obscured CPU usage goes
from 10% to 1%. There has been reports of 100% CPU
usage with Qt before this patch.
Change-Id: Iefea43ed8c1cfaa2df13f1f5a4e4450146ade522
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
greatly improving the performance of qobject_cast<QWindow *>
Change-Id: If5a1afa6e41f4676f4838ea3ff80f1d89e396dfc
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
when a module delegates to another module (as the activeqt ones do), it
doesn't have a master header to be included. we could derive the real
master header by doing a transitive dependency resolution and some
filtering, but that seems unnecessarily complex.
Task-number: QTBUG-41892
Change-Id: Ie7ce51a837ac06e929b204ec734206c11b3ae241
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>