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>
this avoids that an empty rebuild after a complete build re-runs qmake
everywhere again.
according to 1f83f0cf2a this is the behavior i originally intended,
but somehow it got lost when switching to the new interpreter.
Change-Id: Id5158d7e272fdee4f4a041fb7c828295a0a86684
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
unlike the .command, the .depend_command is not executed by make via its
chosen shell, but qmake itself via the system's native shell.
consequently, it needs different path separators and no make-escaping.
Task-number: QTBUG-31289
Change-Id: I480f815753632db6e8d4725f463f8a1fc59680a6
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
nmake needs %-escaping in addition to $-escaping, not instead.
this has little practical impact, so it went unnoticed.
Change-Id: I144b6142eec0151d83a22e0ac5ead7b0415cdafa
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the vs ide executes the commands verbatim, so they must not be
make-escaped.
Task-number: QTBUG-31289
Change-Id: Ie73fd5c4da5527c2d10bc94ccdf60f8a1ca21351
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
the precise syntax depends on what exactly the command is used for, so
we need to resolve it at the last moment. see followup commits.
This logically reverts commits 6f4ff81380
and 731e6bece5.
Change-Id: If285c91d7521069be86d32593b5c2ae2027b3038
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
because if it is automatically restored it's out of the application's
control, so the user's interaction will be ignored. Change
I8ce3cd94f5ae81d7877a346743ca4e0e188baa02 did this for normal windows
by default, but the dialog helpers generate windows which aren't
affected by that.
Task-number: QTBUG-31750
Change-Id: I636bd87b664a489a2dc8693dad5370a715b1cf7b
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Silently failing doesn't seem the right way to handle this.
Updated docs for DontUseNativeDialog option: it's not just for
the Mac anymore. Ensure that the Qt dialog and Mac panel
will never be shown at the same time.
Change-Id: Ia9e80754df6c7622d9039c8dd050ac4de771a030
Task-number: QTBUG-29161
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
QNSColorPanelDelegate::finishOffWithCode sets mResultSet = true
and it needs to be set false again the next time the dialog is shown.
Task-number: QTBUG-31566
Change-Id: If1d4bb9d4e76273c6423f5bf2ae37790e8a9704e
Reviewed-by: Liang Qi <liang.qi@digia.com>
... because otherwise this would crash.
Apparently there are cases where the header name is empty.
Task-number: QTBUG-31667
Change-Id: I31b3e964502c05b7614c23876bb3752fa75ab22d
Reviewed-by: Richard J. Moore <rich@kde.org>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Don't highlight the example until it's updated to use a new version
of the Twitter API.
Task-number: QTBUG-31745
Change-Id: If7f9ac3391c549f48cfebcdbe6bdcd12eb4a3e13
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Change-Id: I840f963c3648d123b31f79aa2c8902c0ad74e982
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
During a call to QDir::mkpath(), the same path could be created
by another process, in which case the OS mkdir will fail with EEXIST.
But the docs for mkpath() state that it's not an error if it
already exists, whereas for mkdir() it is an error. So
QFileSystemEngine::createDirectory should accept the EEXIST error
silently if it occurs while creating the sequence of parent directories
and the final leaf directory, but should fail if EEXIST happens when
it was called from QDir::mkdir(), which is when the createParents
parameter is false. We assume the operating system mkdir() and
CreateDirectory() are atomic, so there should be no race condition
in QDir::mkdir(). It's not necessary for mkpath() to call stat()
at each level, only to check whether an existing entry is a directory
or a file. Also added to the autotest to verify that if the
path is an existing file, creating a dir with the same name will
fail in either mkdir or mkpath.
Task-number: QTBUG-30046
Change-Id: I926352f10654fdf3b322c8685bb85ad8b8844874
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
QWidget::setWindowIcon() and similar call createTLExtra()
which creates a QWindow without setting the native attributes
on the parent, which can cause crashes when setParent_sys()
decides to delete the window.
Task-number: QTBUG-31672
Change-Id: I4c40ee12741be88b2281df90329ffb698d4009eb
Reviewed-by: Shawn Rutledge <shawn.rutledge@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>
QDockWidgetPrivate::mouseMoveEvent calls q->move() which can result
in a call to QDockWidgetPrivate::endDrag(), which will delete the
state struct. Therefore mouseMoveEvent needs to check whether it's
null or not before accessing it.
Task-number: QTBUG-31672
Change-Id: I91a31620f16a80b31b65b2742e7937ae8960f0fd
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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)