| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
qt-main/qgraphicssceneindex
|
| |
| |
| |
| |
| |
| |
| | |
The bounding rect computed in fixup() is one pixel too wide, causing
potential memory corruption by painting outside device boundaries.
Reviewed-by: Trond
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |\ |
|
| | | | |
|
| | |/
| |/|
| | |
| | | |
undefined.
|
|\ \ \
| |/ /
| | |
| | | |
qt-main/qgraphicssceneindex
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
operator+() easier.
This adds a few explicit QString(...) casts around operator+()
based expressions to make them acceptable for QCOMPARE.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QString objects from smaller chunks.
The QStringBuilder class:
QStringBuilder uses expression templates (using the '%' operator)
to postpone any actual concatenation until it is assigned to an
actual QString. At that time it knows the exact sizes of all chunks,
can compute the required space, allocates once a QString of
appriopriate size and then copies over the chunk data one-by-one.
In addition, QLatin1Literal is a drop-in replacement for QLatin1String
(which we can't change for compatibility reasons) that knows its
size, therefore saving a few cycles when computing the size of the
resulting string.
Some further saved cycles stem from inlining and reduced reference
counting logic (the QString created from a QStringBuilder has typically
ref count equal to 1, while QString::append() needs an extra test)
Minor changes to the existing QString class:
- Introduce QString constructor to create an uninitialized QString of a given size.
This particular constructor is used by QStringBuilder class.
- Introduce a QT_USE_FAST_CONCATENATION macro to disable the existing
overloads of operator+() and helps finding the places where they are used in code.
- Introduce QT_USE_FAST_OPERATOR_PLUS. This also disables the existing
overloads of operator+() and creates a new templated operator+() with
identical implementation of operator%(). This allows code that is compilable
QT_CAST_{TO,FROM}_ASCII to use QStringBuilder almost transparently. The only
case that is not covered is creating objects like QUrl that are implicitly
constructible from a QString from a QStringBuilder result. This needs to be
converted explicitly to a QString first, e.g. by using QUrl
url(QString(QLatin1String("http://") + hostName));
Reviewed-by: MariusSO
|
| |\ \
| | | |
| | | |
| | | |
| | | | |
Conflicts:
tests/auto/qtreeview/tst_qtreeview.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This was already fix. But there was still a frame if there was a
stylesheet on the applicaiton.
The reason is that the frame's constructor call the style for some
hints. And later the combobox will query the style again for the frame
hint, before the view get polished.
The problem is that the StyleSheetStyle will fill the css cache with
wrong information on the first call.
This is not visible if there is no stylesheet as in the constructor, the
widget style is still the default application stylesheet if there is no
global applicaiton stylesheet.
Task-number: 254589
Reviewed-by: jbache
BT:
|
| | | |
| | | |
| | | |
| | | | |
Removed unused line and added task number to autotest.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When setVisible() is called on a QGraphicsItem, if the parent of that
item was hidden, the child shouldn't be actually shown.
Task-number: 197802
Reviewed-by: leo
Reviewed-by: alexis
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The problem was that we don't clear the selection model if the previous
selection was valid.
Task-number:251341
Reviewed-by:jasplin
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Note that two digit years are always in the year 19xx
This is excepted for compatibility reason as discussed with Peter
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
the model initially
This was caused by two different bug:
- In the QSortFilterProxyModel, we need to re-sort when setting the
source model change the sorting column (happen when setting a model
initially)
- In the treeview, we need to activate the sorting even if there is no
column yet (because the initial model is empty
Task-number: 254234
Reviewed-by: Thierry
BT:
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
DESTDIR=./ and using Windows, nmake and shadow builds.
qmake would canonicalize the DESTDIR of "./" to "". Then it would check
if the original DESTDIR ended with "/", and if so, append it to the new
DESTDIR, resulting in a DESTDIR of "/" - the root of the current drive.
Don't do that.
This bug doesn't occur with in-source builds because qmake detects that
the source and build directories are the same directory and replaces
the DESTDIR of "./" with "" before it reaches the buggy code.
Autotest: included
Reviewed-by: Lincoln Ramsay
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, two images with indexed colors were not equal if their
color tables were not the same. The image are not compared by
the value of the pixels
Reviewed-by: Samuel
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When we have already a pixmap of an item in the cache, we should
remove the entry from the cache otherwise when we will repaint/modify
the copy of the pixmap (the copy of the cache) then we will trigger a
deep copy ; this is because both entries in the cache and our copy
share the same data and if you modify one of them a copy is triggered.
I have added a benchmark as well to test that.
Reviewed-by:bnilsen
Reviewed-by:andreas
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
It is often desirable, when doing connection, to ensure that the same
connection is only made once. This can be done with the
Qt::UniqueConnection 'flag'
Also documented the order the slot are called
Reviewed-by: Brad
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we don't remove the pixmap from QCache first then the key is invalid
and the removal failed
Reviewed-by: sroedal
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
the same type as the property
For example, if you set a start value of 0 (integer) for a qreal
animation, it would not work.
Reviewed-by: janarve
|
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous fix fails on msvc-2005, since QString::setNum()
does not handle rounding of numbers such as 0.015625 consistently.
|
| |\ \ \
| | |/ /
| | | |
| | | |
| | | | |
Conflicts:
src/corelib/kernel/qsharedmemory_unix.cpp
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
newline
Do the same special case as for QTextEdit
(yes, this is a pitty that we have special cases like that
Reviewed-by: Thierry
Task-number: 252532
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Although QTemporaryFile hides QFile::open(OpenMode), this function is
still available when accessing instance methods through the base class.
Unconditionally setting ReadWrite allows the temporary file to be
re-opened with different flags.
Task-number: 248223
Reviewed-by: Thiago
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Note: this showed even if the file descriptor was kept open.
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When copying a resource file to the native file system the (read-only)
permissions also get copied. On Windows platforms, this was preventing a
test file from being deleted.
Reviewed-by: Peter Hartmann
Reviewed-by: Thiago
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also added check in test case for rename fallback.
Task-number: 165920
Reviewed-by: Thiago
|
| | | |
| | | |
| | | |
| | | | |
Trying to get coverage up to 100%
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the signal or senderObject is changed while the state is active,
the transition needs to be unregistered _before_ either property is
changed, only _then_ can it be re-registered.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the eventType or eventObject is changed while the state is active,
the transition needs to be unregistered _before_ either property is
changed, only _then_ can it be re-registered.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Easing curve autotests was converting the easing(qreal) to int before,
but this is a very rough comparison and was failing due to different
conversions to int, so now we do a qFuzzyCompare.
Reviewed-by: Thierry
|
| |\ \ \
| | |/ / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This test verifies that the network test server is behaving as
expected. I think I caught all the services we need testing in the
server, but there's still some work to be done:
1) verify that the FTP files are there where they're supposed to be
2) verify that FTP writable areas are writable
3) verify that the HTTP server has the correct files too
4) verify that the HTTP server requests credentials for the protected area
5) attempt to do NTLM authentication to verify the password (probably
can't be done with netChat)
6) add Windows SMB tests (//qt-test-server/etc.)
7) add SQL tests (connecting to the SQL server ports)
It would be good as well if we could not use QtNetwork. If you break
QtNetwork, this test breaks too, so we don't know where the fault
is. However, rewriting networking code will add another source of bugs
(same for the NTLM authentication).
Reviewed-By: João Abecasis
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ignorance.
If both pointers are out of 4-byte alignment, doing the first load
will align them so we can do 32-bit comparisons. Lars's code had this
before, but I misunderstood it and removed, thinking it was doing
misaligned accesses.
I experimented with moving the tail comparison above the 32-bit
comparison to save a register, but it made things worse.
Reviewed-By: Bradley T. Hughes
|
| | | |
| | | |
| | | |
| | | | |
Reviewed-By: Bradley T. Hughes
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
QGraphicsItem
Acknowledged-by: Thierry
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With the new properties it is possible to easily animate.
Setting a transform using setTransform is incompatible with thoses
properties. Accessing thoses propeties if you set previously a
transform will give you the default values.
Acknowledged-by: Code made with Andreas. Documentation written with Thierry.
This still need a more in depth code review and documentation review.
But it is urgent to commit now because the Animation API integration depends on it.
|
| |\ \
| | |/ |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
header + file. Now test check only size of the real file content,
assuming that it is rather boring (9,5MB of '\0'). It simply skip
header.
Reviewed by Peter Hartmann
|