Without calling waitpid() after detaching from the inferior
a race condition could occur where the ptrace(...) call would
finish before it was actually detached, leading to the following
gdb to fail attaching as the stub was still attached to it.
Calling waitpid here solves the race condition.
Fixes: QTCREATORBUG-29463
Change-Id: Ia1d79a18a96078bbf72589bebbc7d7ac027dea0d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Scale no longer affects cameras, so use magnification instead to do
orthographic camera zooming.
Fixes: QDS-10241
Change-Id: Ic31abfdf741369a494b8178109fa1c5b95fbdd1c
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Fix an error when copying the file operations to sdktool.
resolveSymlinks was (basically) always returning an empty string.
Instead it should return the first file path that is not a symlink.
Amends bb4d9c92e7
Change-Id: Id6bfcc3332c14f074ab635e11ca0536b5326dbb1
Reviewed-by: hjk <hjk@qt.io>
Save some allocations and return a view instead of a new value. If you
want a value because you depend on a null terminated string you have to
use toScope() and toName().
Task-number: QDS-10290
Change-Id: Ia87b8d559fc1fe9bb1992e61da0aa86c68d53535
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
strtoul is found in stdlib.h and with the llvm-mingw toolchain it
fails to compile due to the stdlib.h header not being indirectly
included.
Change-Id: I85fc5e5828c859572ff1ce2c050556bc087de277
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Provide the contents of the "usage" file for copy & pasting into
CMakeLists.txt. If the "usage" file is not available, provide the same
heuristic code that vcpkg generates.
Task-number: QTCREATORBUG-29333
Change-Id: I3daba7616451a43f93fd8f2e0353542ec5a2c48b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Previously the finished signal was sent not sent soon enough
for the Process to recognizes it correctly.
Also, the process stub would exit prematurely in cases of crashes.
The process stub should only return an error exit code if it did not
show the "waiting for keypress" message.
Fixes: QTCREATORBUG-29350
Change-Id: I86f7d75bacbdb5ee2b0009669926d94b6a75346a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Most information is available via Q(Core|Gui)Application.
Add an AppInfo structure for the things that are not.
This avoids that the information ends up duplicated and
hardcoded in the plugins, which is not needed or desired.
Change-Id: I4d565e75c42a7b8facafa90c27096ea49359215d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
It's no longer necessary to select camera to be able to align it.
Targeted camera is selected according to this priority list:
- Selected camera
- Previously selected camera
- Camera explicitly set as the camera for View3D of the scene
- Any camera
Fixes: QDS-10045
Change-Id: I3eedc92b7523e77ed5bc52f116ef83b4fe599b35
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Allow the server to listen for command results.
Fixes Qt Creator hanging when stopping application
being debugged.
Change-Id: Ia175b1bb1836b5593bc073394fa152923e1dda28
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Unused pipelines are never removed from the cache, so if we don't
delete it ourselves, the cache file will keep growing indefinitely.
We now keep count of how many times we have stored the cache and
remove it after set number of times to avoid bloat.
Fixes: QDS-10075
Change-Id: I5a4d25a7e40c8ff761c6c523cb80cda3f721528f
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Otherwise the request to exit from Qt Creator would be missed,
making QtC hang on exit while waiting for the stub to exit.
Fixes: QTCREATORBUG-15749
Change-Id: I26dfa2c8aa358c8d7ad662ef806f459d1bbb6ec2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
... by typeId().
Change-Id: Ib617db774cec2c23ac58bcd39d99a59f9820f443
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Caching the graphics pipeline to disk improves puppet reset speed
somewhat when there are complicated 3d scenes.
Task-number: QTBUG-103802
Change-Id: I49b4f1031ab79bb5f660578e3d82806675f468dc
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
The output stream should be flushed in order to forward containing data
and clear the stream buffer.
Task-number: QDS-9871
Change-Id: Iec9903a8afb98f3b9d03a9b9c4de67b6bfe3d35b
Reviewed-by: Samuel Ghinet <samuel.ghinet@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Remove function overloads, thes are hard to read, to use and to extend.
I'd even argue this should be a plain default ctor and a few setters +
exec(), pretty much like Process::start() nowadays.
Move "decider" magic into a structure that can be filled ad-hoc outside
checkablemessagebox.cpp paving the ground for:
...removing aspect dependency from CheckableMessageBox, Instead, add a
convenience function to BoolAspect. Arguably, the latter is not needed
and could be done on the user side.
Use pointers instead of mutable references for in-out parameter.
Makes the "specialness" visible on the user side.
Pass ICore::settings() centrally as done elsewhere to reduce line noise
on the user side.
Change-Id: Ibb366353d1ea35401723fd05ce05672617a0a8fd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Short live Tasking in Solutions!
Add src/libs/solutions/README.md with the motivation and hints.
Move TaskTree and Barrier from Utils into Tasking object lib,
the first solution in Solutions project.
Tasking: Some more work is still required for adapting auto and
manual tests. Currently they use Async task, which stayed in Utils.
For Qt purposed we most probably need to have a clone of
Async task inside the Tasking namespace that is more Qt-like
(no Utils::FutureSynchronizer, no priority field,
global QThreadPool instead of a custom one for Creator).
Change-Id: I5d10a2d68170ffa467d8c299be5995b9aa4f8f77
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Currently the process stub does not support starting / debugging
processes on remote devices. To reflect this the "Run In Terminal"
aspect is disabled for remote targets.
Fixes: QTCREATORBUG-29058
Change-Id: I9b3bcd65d4db468c683f2743a49227bfbecaf3d3
Reviewed-by: hjk <hjk@qt.io>