The rectangle of an annotation is cached after it was painted. If just a
part of an editor was updated all annotations were removed but only
redrawn annotations were added to the cache again.
This behavior is replaced by removing annotations that are not visible
and those which got redrawn. So annotations that are still visible but
were not redrawn are kept in the cache.
Change-Id: I9246f1347b8f795284fb4fc9aabe11f251d16c25
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Request an update covering the complete annotation
rectangle if it is not part of the event rectangle
and Correctly calculate the position for the gradients.
Task-number: QTCREATORBUG-18855
Change-Id: I68b61459e6fd94949baebba25f965226f9d5e441
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Paint an annotation only if the event rectangle
contains the block for that specific annotation
Change-Id: I5f992f916da25268dd2c9e6b4703701934c8551d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Delay actual deletion of projects till all signals related to the
removal event (incl. the startupProjectChanged signal) are handled.
Change-Id: I8e2c8db49f732b80234a3cfa81d73f17c8d02608
Reviewed-by: hjk <hjk@qt.io>
This functionality had been added for GTest, enable it
for QTest and Quick Test as well.
Task-number: QTCREATORBUG-16695
Change-Id: I5a8b219e140926325da3658a0ebe3149896a172d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
There are a number of reasons why the root component of a QtQuick
application may be loaded asynchronously. It might, for example, be
derived from a component loaded over the network.
In that case, checking that there is a root object right after calling
load() is misleading. The object is only created later. Therefore, we
need to listen for the objectCreated signal to decide if the root
component was correctly created.
As calling qApp->exit(-1) does nothing while the event loop isn't
running, we always connect the check with Qt::QueuedConnection.
Change-Id: Ie2814894b79bb3e467c5a838c7ec419291fcf591
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
This builds on top of 08677c0b01 and
fixes one more code path to go through a common entry/exit point.
Change-Id: I1d00fa9242f247028e5d3b0ef3b5fe1d3f4cb03d
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Ensure to enable Run and Debug from results pane only for
items that are in fact capable to get re-run and debugged.
Preparation for enabling the functionality for QTest and
Quick Tests.
Change-Id: I7ec28e51ae7c9caa462023d55443bd3194ae81dd
Reviewed-by: Claus Steuer <claus755@gmail.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
If we already had a correct executable we might end up using
the wrong one when trying to complete the configuration again.
So, if the former configuration already had an executable set
do not try to complete the configuration again.
Change-Id: I270be71d87b311c6a5eaad14e0d5a2de60353e5d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
The QtQuick include at this point for some reasons tries to
include not existing Vulcan headers.
Change-Id: Ie2dc667b3438a2bbf7e8f251520502a836b109db
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Multiarch GDB on Windows crashes if osabi is cygwin (the default) when
opening a core dump.
Change-Id: Ic04d508d99a3e947e05dcf3adc8bb2b265edc16b
Reviewed-by: hjk <hjk@qt.io>
After splitting out terminal and core handling they are
essentially the same.
Change-Id: I603cea74186eada5728295b430c9385812dcc4cd
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
The string cache is only very seldom written but very often read. To
improve thread scaling it is faster to lock it only for write operations.
So we use a shared mutex which is locked in shared mode for read
operations and locked exclusively for write operations.
Change-Id: I2cc742d1b9cc15c162be40ab339fa8310640bc44
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The database is using file path integer ids to handle file paths because
otherwise we would save many redundant data. This patch is improving it
further with the introduction of a database based file path cache. The
entries are now divided in a directory path and file name. This is quite
handy for directory based file watching.
Change-Id: I03f2e388e43f3d521d6bf8e39dfb95eb2309dc73
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
They are valid,
Also downgrade some debugger errors to warnings in anticipation
of future "unusual" uses.
Change-Id: I80896b37e03fe39091d08319e71e11d64db183e3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Either dead code, or "Adapter" related abstractions that are not
used anymore.
Change-Id: I1f2418db13d4891d36c10b488c522582eff8afc5
Reviewed-by: hjk <hjk@qt.io>
qchar.h: In member function ‘QMakeEvaluator::VisitReturn
QMakeEvaluator::evaluateBuiltinConditional(
int, const ProKey&, const ProStringList&)’:
qchar.h:562:5: error: ‘QChar::QChar(char)’ is private
QChar(char c) Q_DECL_NOTHROW;
Change-Id: Idd25b20ecf68a2e801b73e916a5359ff3fc7a86f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
For example: window -> MAINWINDOW.
This was broken by the constraint that the first char must follow a non-
matching case in 2fb54abd03. It was fixed for pure lowercase in f792475739,
but this fix was evidentially partial.
Change-Id: I0c29b54768c40d0501f006182f2bd1ae1e94f3bf
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The else part within "if (!c.isLetter())"
(camelhumpmatcher.cpp:79) was not covered
by the tests at all, so far.
Change-Id: I35eb5908110e4692cda41b58f419867da00b6501
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
qmake really lacks version comparing functions:
users either use ugly constructions to compare versions
by components, such as
greaterThan(QT_CLANG_MAJOR_VERSION, 3)|greaterThan(QT_CLANG_MINOR_VERSION, 4):
or even incorrectly compare versions as strings:
!lessThan(apple_clang_ver, "5.1")|!lessThan(reg_clang_ver, "3.4"):
Add test functions versionAtLeast and versionAtMost which use
QVersionNumber to compare version numbers by components.
Task-number: QTBUG-62984
Change-Id: I65e6b3c296d0301d544b7e38bf3d44f8d555c7fc
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
(cherry picked from qtbase/8a3e8856e5606ec616d4420ff8c4f77969432390)
Never let the startupProject become nullptr while projects are still loaded.
Change-Id: Ie442c3a9b6cc4a65564002edc45b60a7993d2a52
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This should not happen, but currently it does during session loading.
Change-Id: Ic4da775010c8d947e8db210f618519080068e14a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Fixes a regression introduced yesterday with 58a69c461a.
Change-Id: I9eea3d0adf45e2b65b7d395280ae0e0fbbe01127
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
If QT_SCREEN_SCALE_FACTORS is set we cannot set
QT_AUTO_SCREEN_SCALE_FACTOR.
Otherwise, we mess up the font sizes.
Change-Id: I7d1a07f4c671fdcae5a81556ab9e29df7ddf92d5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
It is a fixed value in the respective contexts, no need to track
this 'state' separately.
Change-Id: Id442202ff7a72baf5a2b19ba4bb9dfec5f47fb70
Reviewed-by: Christian Stenger <christian.stenger@qt.io>