Instead of just prefering perfect matches also take the host platform
into account when looking for matching toolchains. This allows us to
prefer the amd64 compiler over the x86_amd64 msvc compiler.
Change-Id: I59c8b7f95765a76ded7771cb8c26e03581ca2350
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
- Replaced QtQuick.Layout usage in Designer Toolbar buttons with regular
QtQuick.Row and Column in qt for mcu mode
- deactivated "Add GridLayout" button in qt for mcu mode
- fix for assert while creating Grid Layout with Toolbar button
- comments typos
Task-number: QDS-4641
Change-Id: I33520988fb7bf5f3193fb914de93054ff97c31b1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Add some developer comments explaining which method
is designed to be called from a certain thread.
Add also some comments about in which thread
certain QObjects live in.
Change-Id: I38b10216cc29f8a86fd784e588e913407f0fb776
Reviewed-by: hjk <hjk@qt.io>
Pipe the error packet through the caller's handle and flush
it immediately if the caller was awaiting for any signal.
Stop awaiting for any signal when we have flushed error signal.
In this case return false from waitForSignal() method
in order to mimic the QProcess behavior.
Fixes: QTCREATORBUG-26136
Change-Id: Ie80b4a63bd19a6309d4791ad39a698bd91bb8967
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Add information about -tcs alias of -temporarycleansettings command
to the help message
Task-number: QTCREATORBUG-26132
Change-Id: Ie79e33cf2358ad2f7253656017c9e8b433b7f635
Reviewed-by: David Schulz <david.schulz@qt.io>
...so that assets from imported bridge content appear in the assets
library.
Fixes: QDS-4842
Change-Id: I8f8e685ffd6e02e885eccfc0b29f2d81f989984a
Reviewed-by: Miina Puuronen <miina.puuronen@qt.io>
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Otherwise we may end up in crashes deep inside Qt code on Windows.
Fixes: QTCREATORBUG-26112
Change-Id: Iabdd544271a99b680adad3abb84341db2bf2c1f3
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
E.g. in case of CMake projects the command contains the build directory,
so it needs to update whenever the build directory (or build configuration)
changes.
Fixes: QTCREATORBUG-26103
Change-Id: I02ea3bd47f4a502adc485dfffbed6a14ebefb0bb
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Amends 3edc5673b5.
Turns out quite a few potential uses have other parents than
ICore::dialogParent().
Use a nullptr parent to mean ICore::dialogParent() to keep the
caller side simple.
Change-Id: Icfe1daafd710ae273d286679e0c8e2a3a27da552
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
In case when QtcProcess::start() is being called very early,
just after the launcher socket was started but not ready yet,
a start is being delayed. In this case doStart() isn't
called directly from the caller's thread, but it will be
invoked later from the launcher's thread, when the socket is ready.
In this case we may have a deadlock, since calling
doStart(), sendPacket(), sendData() and finally handleRequests()
results in a synchonous chain of calls in launcher's thread,
so the mutex locked in sendData() will block synchronous call to
handleRequests(). In order to fix it we unlock the mutex
in sendData() before calling handleRequests().
Change-Id: I6c13994d0b05b624567c75ffbd2ac7cc0d77df61
Reviewed-by: hjk <hjk@qt.io>
... and a few unncessary namespace qualifications.
Change-Id: If1dde79a0b6b68ba8706faf038c3512f0b3e666f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
And remove a few unnecessary namespace qualifications nearby.
Change-Id: Iea866c98f13fe02e1ce29b855632beeaeeb8cd4f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Omit special and test data functions while collecting
as these cannot be addressed at all.
Change-Id: I3d79192cd07b4e7e2e76f04dfad36ef033593e71
Reviewed-by: David Schulz <david.schulz@qt.io>
... in "Go to Slot".
The class can be referred to as Ui::<class> or UI_<class>.
Fixes: QTCREATORBUG-26013
Change-Id: Ib539855b0360ce5fe06fb3cac664af3967695206
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
If we keep the copy of the snapshot around while it's being modified, we
trigger the copy-on-write mechanism. That is expensive, and destroying
the snapshot afterwards is also expensive.
Task-number: QTCREATORBUG-25899
Change-Id: I9b7e26baf63a4b47c85457e5657fee971a6ce132
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Fix "runBlockingStdOut" autotest for tst_qtcprocess.
This crazy case relies on the fact that a blocking
call to waitForFinished() lets ReadyRead signals to
be processed in meantime and the handler for ReadyRead
may terminate the process. However, when no handler
for ReadyRead canceled the process, the blocking call to
waitForFinished() should return to the awaiting state
for the remaining time. From the caller's side everything
happens during a blocking invocation of waitForFinished().
So, in order to behave like this we implement waitForSignal()
in a loop. After we have flushed all the pending signals
we check if we have flushed the signal we were awaiting for.
If so, we break the loop, otherwise we continue. In order
to detect the case when the cancel was called during flushing
we set the m_awaitingShouldContinue flag before flushing.
The cancel() method clears this flag. Then after flushing
we check if the flag was cleared - in this case we don't
continue awaiting.
We reset the m_waitingFor state always after wait condition
finishes awaiting. Before, we didn't reset it when the
wait condition timed out.
Change-Id: I210f446659cabfd89bdfdd1fc8e8396d9470effc
Reviewed-by: hjk <hjk@qt.io>
All the uses of setStd{Out,Err}Callback in the codebase call proc.stdOut/
stdErr after the execution.
This triggered a soft assertion that was apparently not noticed so far.
It broke for example prompt for conflict resolution on Git pull/rebase.
Change-Id: Ib4b8301f1f50b2b66f02fc4dc6c14d93f895ea33
Reviewed-by: hjk <hjk@qt.io>
Fixes issues with CMake 3.10 and avoids CMake output noise when using
Qbs' copy of QtScript.
Change-Id: I7e50b91302b925e9d4a0b8f098760b90351145fc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Similar to QT_RESTRICTED_CAST_FROM_ASCII to avoid the need for
decorations in user code.
At the same time, drop some convenience constructors and functions
in CommandLine and Icon essentially serving the same purpose.
Change-Id: Ida4e5ac19c2da0a4298a97b2a8e1511d56bbb79d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It is caching the file size now too.
Task-number: QDS-4788
Change-Id: I5cb816b8359bf3d2ef372ea319ce5920d9e0e4e9
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Amends 84befc2 which was too strict.
Fixes: QTCREATORBUG-26123
Change-Id: I3767ba0fb4723c77cfb0e8b1932ff6adfc8e9ac2
Reviewed-by: David Schulz <david.schulz@qt.io>
The watcher is only watching directories and then searches for file
stat changes. It is compressing signals too. So if files are changes
in a very short time frame they are compressed to one change.
Task-number: QDS-4776
Change-Id: I90052a0d5dba01467b505070fb58b04ea5576294
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Explicit type name ids are now saved as negative ids into the database
so they can be distingished by that 'flag'. For types we now use imports
and not anymore import ids. The resolving of the imports are done
internally to enable atomic synchronization.
Task-number: QDS-4662
Task-number: QDS-4725
Change-Id: Ia59763ec5578baec84f3c81fa1fd35ba075b8d84
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>