not quoting the variable references allows the shell to word-split the
contents and thus convert the embedded linebreaks into spaces.
Change-Id: Id834f02d7a501fb6fe48b45f409f599a8b70b7ed
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ray Donnelly <mingw.android@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the installation has been moved to the qtbase top-level project a long
time ago.
Change-Id: I25f1658d1a6544da4bdaa5be6b19f9076c19b7f9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
as of qttools/18a5e89623815f5355b4173a2e93609eb10289d1
Change-Id: I75cb55e0c404449a4e0d963e09185287a3f6343e
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
QDateTime.toString() is writing out milliseconds since change
15da0a5af2. Unfortunately this breaks
QDateTime::fromString() with Qt::TextDate which can't handle the new
format.
Fix by making QDateTime::fromString split up seconds and milliseconds
on a period, if any. Now
QDateTime dt = ...;
assert(QDateTime::fromString(dt.toString(), Qt::TextDate) == dt)
works again.
Change-Id: Ibfe9032e357ceaf894e33f3e33affe94f56dbf5c
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
It is deprecated and clang is starting to warn about it.
Patch mostly generated by clang itself, with some careful grep
and sed for the platform-specific parts.
Change-Id: I8058e6db0f1b41b33a9e8f17a712739159982450
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
On stock QNX it is quite common that libscreen doesn't provide the physical
screen size. The warning about this has been replaced with a debug statement,
because it was annoying especially when running auto tests.
Change-Id: Iab07f0d4a6293c40678f2ec3e77352e68797c8c7
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
The mouse over event on upper level menu separator should
automatically close the sub menu listing. Manual test is not
needed for this commit since it is easy to test it against common
examples.
Task-number: QTBUG-31664
Change-Id: I323d7ba206352a5d533584543b9a2ebf842b4dfc
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Currently, in save mode, if selectFile has not been called, the native
cocoa file dialog puts the folder name in the line edit. This patch
restores the old behavior where the line edit is presented empty to
the user.
Task-number: QTBUG-31619
Change-Id: I938eb6d968e0e2c343e70bc19f29663e112d0496
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Also check if the selectedFile is a bundle to correctly
set currentDir.
Patch for Qt 4.8 has been submitted
Task-number: QTBUG-31562
Change-Id: I72b0e8484b3c3a610932c03cd7fdab4ddee70277
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
There is a mismatch how QML and C++ converts QJsonValue. This patch
unifies conversions by adding QJsonValue support in QVariant::convert().
Change-Id: I8a1db3d77c517945ef48064b4b66ba03aa4f2fd0
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
The time format should depend on the device settings (24 hour format)
Change-Id: I452d9b7158d39c4a657adfd9e64c99549eeda4ff
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
The delayed root window posting introduced by
77a06e7e6c broke the OpenGL support. In that patch, the posting of
the root window is trigerred by QQnxRasterRasterBackingStore's call to
QQnxWindow::post(), that obviously does not happen when OpenGL is enabled,
therefore requiring the OpenGL context to explicitly post() the root window.
Change-Id: Ifd302c1dde612a03b79c778ec4586aa70f88260d
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
We destroy the thread data for the main thread when the QCoreApplication
is destructed, and then delete the pthread key for the thread data in
the global static destructor function 'destroy_current_thread_data_key'.
The user may have its own Q_DESTRUCTOR_FUNCTION though, which may or may
not run after we've destroyed the key. If it runs after we've destroyed
the key, we'll end up trying to re-create the tread-data, as expected,
but set_thread_data() will fail to persist it, as pthread_setspecific
is called with an invalid key. The result is an infinite recursion:
...
6 in QThreadData::current () at qthread_unix.cpp:216
7 in QObject::QObject (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qobject.cpp:703
8 in QThread::QThread (this=0x48e1b30, dd=@0x48e1b40, parent=0x0) at qthread.cpp:396
9 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:120
10 in QAdoptedThread::QAdoptedThread (this=0x48e1b30, data=0x48e1af0) at qthread.cpp:130
11 in QThreadData::current () at qthread_unix.cpp:219
12 in QObject::QObject (this=0x48e1a20, dd=@0x48e1a30, parent=0x0) at qobject.cpp:703
...
To solve this, we reset current_thread_data_once when destroying the key,
so that subsequent calls to pthread_once to potentially create the key
will call create_current_thread_data_key once more. This means we'll leak
the key for this particular use-case, since we don't end up calling
pthread_key_delete a second time, but this leak is small and happens
typically only for a short duration during application shutdown.
Change-Id: I580484a3239849e891172e24e7f77b75afd2c51b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
qguiapplication.cpp:792:133: warning: format not a string literal and
no format arguments [-Wformat-security].
Introduced by 0d7d53fd46 .
Change-Id: I70268a8b597be33226efb9bb4d7d9f672f0d7440
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
The previous implementation of the nested runloop was derived from the
Mac Cocoa implementation(?), and did not correctly deal with UI
animations and other UIKit functions which are run in a different mode
to the default mode. This version corrects that (in most cases) and
switches the implementation to use CoreFoundation instead of NextStep
APIs.
Change-Id: I45802d22044465749a1e5b6207d745268f6ae8a1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Move iOS event dispatcher from platform plugin to platform support, so
that it can be used by multiple iOS platform plugins.
Change-Id: I9041b2de5e00e5fe8f30af2dfd922b4f5c594802
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
instead, use the files directly from the source dir.
Change-Id: I03b728c66de6e03cade6dc153dcc78cea8e3f606
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Reviewed-by: Martin Smith <martin.smith@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
instead, teach qmake to use the mkspecs dir from the source dir as well.
Change-Id: I9edac11f8997fcb0594d0a67419d4733dd4ed86b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
this is for shadow builds during build time, where the respective files
are expected in the source dir.
Change-Id: I18dcfbdef99e1562a51dacac333642cae8105ebd
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
these files function as "anchors" for mkspecs/ and features/ directories
used by projects which load these files. ironically, these files didn't
see these feature files themselves.
Change-Id: I590855eb4a9d2c72b9abfcaa431d2f85a719c6e2
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
we were finding features/ directly in the source & build root, and we
were finding features/ under mkspecs/ from $QMAKEPATH and other mkspecs
locations, but we omitted the "transitive hull". this was
counterintuitive.
Change-Id: I9823e6606467c98f264c81385250da92311f51ca
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
sync up implementation with qtcreator.
Change-Id: I6a1578818512fa3b0773faf276a1d56881eb06d7
(cherry picked from qttools/582cbddc6ba1b74a7e4e07e0b5c23d47de6838cb)
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
sync up implementation with lupdate & creator. no actual effect on
qmake.
don't filter out ^QMAKE_.*:
- QMAKE_MKSPECS is not printed any more, so needs no filtering
- QMAKE_VERSION can be simply used now, as we are now rather close to the
real qmake
- QMAKE_SPEC and QMAKE_XSPEC need to be fetched
- this fixes the default spec resolution
Change-Id: Ifcfa8b5b9e2bbf5d995940e1bb7f55e7d67aed3e
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/0037bef09ca77c5ae4d20bd09294ba1d57537e09)
sync up implementation with lupdate & creator. no actual effect on
qmake.
Change-Id: I1bdeb759e895e4200f09332dadf8a6cef348182f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qttools/94ab2efb2d155d3c1ca7b91c1daf443a149bcf1f)
When behind a mouse-event-transparent window, synthesized leave events
are emitted, because the transparent window is considered as the window
under the mouse, not the Qt window.
This change skips transparent windows when searching for the window
under the mouse.
Task-number: QTBUG-31464
Change-Id: I85c8b46a1af37b4d1c5d1d77566ab045657aa9ae
Reviewed-by: Björn Breitmeyer <bjoern.breitmeyer@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Initialize undockedGeometry to roughly the current position.
Task-number: QTBUG-31044
Change-Id: I03cbe280d1215bb58ab721b60e29b45359cde76d
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
We can combine the hybrid and non-hybrid use-cases into a single static
library if we are careful about which symbols are included in which
object files. By limiting the main() and qt_user_main() functions to
their own translation units, the linker will only pick them up if they
are missing at link time (the user's program do not provide them).
This technique is resilient to the -ObjC linker flag, which includes all
object files that implement an ObjectiveC class or category, but will
fail if the -all_load flag is passed to the linker, as we'll then have
duplicate symbols for either main() or qt_user_main(). The latter should
not happen unless the user provides the flag manually, and in the case
he or she does, there's ways to work around it by providing less global
flags such as -ObjC or -force_load.
Change-Id: Ie2f8e10a7265d007bf45cb1dd83f19cff0693551
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
Instead of force-loading the whole static library of the platform plugin
we tell the linker to look for the missing symbol qt_registerPlatformPlugin.
This symbol is provided by the same object file as the plugin's static
initializer, so the object file is included in the final binary and
the static initializer is run, resulting in the plugin registering with
Qt.
We could have marked the actual static initializer wrapper provided by
Q_IMPORT_PLUGIN(QIOSIntegrationPlugin) as undefined, but due to the C++
mangling this would look less intuitive on the linker command line than
the custom dummy function that we provide, which has C linkage.
Change-Id: I6805537e1f49260a41d48c555376964cb1fe75d8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>