| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QStyleOptionGraphicsItem extends QStyleOption with three values:
1) matrix, 2) levelOfDetail, 3) exposedRect, and they all
involve expensive QTranform operations when calculated. We
pass style option(s) to drawItems() and paint(), but the
extended values are usually not in use. We can therefore gain
quite some nice speedup by making them opt-in with the
QGraphicsItem::ItemUsesExtendedStyleOption flag.
Additionally, QStyleOptionGraphicsItem::levelOfDetail has been
obsoleted, and a new function QStyleOptionGraphicsItem::
levelOfDetailFromTransform(const QTransform &) has been added.
Me and Andreas don't consider this change to be too controversial
even though it changes the behavior.
Auto tests still pass.
Reviewed-by: Andreas
|
|\
| |
| |
| |
| | |
Conflicts:
tools/macdeployqt/shared/shared.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QColor::toCmyk() converted the color to RGB and then to CMYK. If the color
was already in CMYK, this conversion change it.
The color is now returned directly if it is in CMYK
Reviewed-by: Ariya
Task-number: 253625
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QGraphicsItem::deviceTransform() returns the item-to-device transform,
provided with the device-to-scene transform, and combining it with the
item's scene transform. This function is meant to handle items that
enable ItemIgnoresTransformations, but it happened to not work properly
for items that _don't_ enable that flag. Unfortunately this bug is
hard to work around for users from the outside, as it requires you to
check if the item or any ancestor enables ItemIgnoresTransformations.
The fix also removes unnecessary branchs inside QGV so that we use the
same function for all items.
Reviewed-by: bnilsen
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
If two urls were added to the sidebar that only differed in how they
referenced the added url (i.e. /foo/bar/. and /foo/bar) then only one
entry should appear.
Task-number: 253532
Reviewed-by: Alexis
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QColor::toCmyk() converted the color to RGB and then to CMYK. If the color
was already in CMYK, this conversion change it.
The color is now returned directly if it is in CMYK
Reviewed-by: Ariya
Task-number: 253625
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When showing or hiding spinbox buttons we did not update the
child line edit geometry. This would on windows basically mean that
the buttons would not show up as they were completely covered by the
edit.
Task-number: 235747
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bug report came from the Declarative UI project as part of Kinetic.
In FxFlickable the mouse is explicitly grabbed inside the mouse press
event handler, and it's (explicitly) released in the release handler.
When doing this, lastMouseGrabber is 0, and the double-click is delivered
as a press. The fix is to not convert the double-click to a press if the
receiver is the first and only mouse grabber (i.e., lastMouseGrabber is
0).
The fix isn't entirely correct, as it can in theory allow an item to
receive a double-click event as the first received event. This seems
to only be possible in the case of using explicit mouse grabbing in
combinations with the press and release event handlers so it's quite
a corner case.
Reviewed-by: Alexis
|
|\ \ |
|
| |\ \
| | |/
| | |
| | |
| | | |
Conflicts:
tests/auto/qgraphicsview/tst_qgraphicsview.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There's no need for using QByteArrayMatcher for one single character,
so avoid the overhead.
Also validate the message header a bit more: we require the status
line to start with "HTTP/n.m " where n and m are positive integers
less than 10.
Task-number: 248838
Reviewed-by: Markus Goetz
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
proper HTTP reply.
If the server's reply doesn't start with "HTTP/", then the reply is
not valid. This could happen if we connected via HTTP to an HTTPS
server. It could also happen with an Icecast server (reply ICY/x.y).
Task-number: 248838
Reviewed-by: Markus Goetz
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In QGraphicsScene::_q_emitUpdated() the slot
QGrpahicsView::updateScene(QList<QRectF>) gets connected and a boolean
(connectedToScene) is set to prevent double connections. The problem is
that this boolean was not reset when the view gets a new scene.
Task-number: 253415
Reviewed-by: andreas
|
| | |
| | |
| | |
| | |
| | | |
Reviewed-by: Thiago Macieira
Reviewed-by: Peter Hartmann
|
| | |
| | |
| | |
| | | |
Ability to read from a QRingBuffer at any position without modifying it.
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a QSqlQuery survived the lifetime of removal of a mysql db connection (that failed), the cleanup code would cause a segfault because it was using an out of date pointer that was pointing at memory that'd been freed by the removeDatabase() call.
Revby: Justin McPherson
Task-number: 205701
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
For a QGraphicsWidget w, a shortcut with Qt::WidgetWithChildren context would
trigger even if w did not have focus (provided no other widgets in the view
had focus).
Reviewed-by: andreas
Task-number: 250119
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
their root. This can be different.
...especially if one manages the selection by program or if you share
the selection model with a treeview.
Task-number: 196118
Reviewed-by: ogoffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
shown
The problem is that it gets the previous geometry of the cell whereas
its own sizeHint might lead to change the geometry of the cell.
Task-number: 253109
Reviewed-by: ogoffart
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This commit add an benchmark to allow testing performance with cache
enable or not. It covers different use cases with item rotating, moving
and so on.
Reviewed-by:bnilsen
|
| |\ \
| | |/ |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
The d-pointer was not deleted as it should be.
Reviewed-by: Harald Fernengel
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The source of the license text is
http://www.w3.org/Consortium/Legal/copyright-software-19980720
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
configured with qt3support.
The build system knows when qt3support was turned off, so let's just
skip these tests in that case. That makes more sense than individually
configuring each autotest machine to skip these tests when the
configuration is known to turn off qt3support, which is what's done
previously.
Reviewed-by: Lincoln Ramsay
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It's better to set the sourceModel in the constructor for QFSCompletor,
as requiring that it be set separately is error prone.
Surprisingly, the printer dialog crash only appears to happen when using
relative filenames.
Task-number: 253135
Reviewed-by: alexis
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes regression introduced in a794ded85f74516239a08cf848e6b4f8b6dcac6a.
When using UnfilteredPopupCompletion the matchCount is always zero and
completion was being skipped. By adding the check for showAll we still
avoid the assert but retain correct behavior.
Task-number: 253125
Reviewed-by: jasplin
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Using setFileName in QFile::copy (introduced recently) has a nasty
side-effect of leaking file descriptors in QTemporaryFile. This happens
because the code assumes the file has been closed. In QTemporaryFile,
we need to explicitly call native file engine close.
Test case by Thiago. Bug report from Arora developers.
Reviewed-by: thiago
|
| | |
| | |
| | |
| | | |
Task-number: 246808
|
| | |
| | |
| | |
| | | |
This new test tests desired undo merging behaviour after insertions.
|
| |\ \
| | |/
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/painting/qbackingstore.cpp
src/gui/painting/qwindowsurface_raster.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The fix for 1x1 source rect image drawing in change
ffbb3c1a2aee4134dce80cd144a26bf32865b698 was incorrect for transforms
with type >= TxScale. The aliased coordinate delta needs to be applied
in device coordinates, not in logical coordinates.
Also specialize the non-antialiased TxScale case by simply calling
fillRect_normalized directly, avoiding having to scan convert the
rectangle manually.
Task-number: 251561
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If you write:
QNetworkProxy proxy;
proxy.setType(QNetworkProxy::HttpProxy);
Then now QNetworkProxy will set the capabilities to the default value
for the new proxy type. Previously, it wouldn't do that: default
values were set only for the type passed in the constructor.
Reviewed-by: Peter Hartmann
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
already-finished call.
This fixes a bit of a "surprise" when calling a local method (which
returns and finishes immediately) or when by accident calling a
function that returns QDBusReply instead of QDBusPendingCall/Reply.
Reviewed-by: Trust Me
|
| | |
| | |
| | |
| | | |
the skulpture style (from KDE) always set ScrollByPixel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QStyleOptionViewItemV4::OnlyOne set
The new autotest tests lots of the flags of the QStyleOption
Reviewed-by: Thierry
Task-number: 252616
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
xunitxml testlog.
`error' in xunit causes many xunit processing tools to consider the test
as failing. This is different semantics from native testlib XML, where
a qDebug is considered a message and not a failure.
Change it to put qDebugs under the "system-err" tag when using xunitxml
to retain semantic compatibility with testlib XML.
Autotest: tst_selftests
|
| |\ \
| | |/
| | |
| | |
| | |
| | | |
Conflicts:
src/gui/kernel/qcocoaview_mac_p.h
src/gui/widgets/qmainwindow.cpp
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The crash only occurred on Windows and X11 when running with
-graphicssystem raster. The reason is that the actual paint device
in QRasterPaintEngine::begin() is changed to pixmap->data->buffer(),
which means QPaintEngine::paintDevice() returns something else than
what it was told to paint on (see cb0c899b56b84154f69ddc545991bc6ded96ab01)
The root of the problem, however, was that we used a weird condition
(painter->worldMatrixEnabled(), added in 345072b9 for Qt 4.4) to find
the target device. We did that because the shared painter was completely
different in 4.4. We refactored it in 4.5.0, and we can only trust
QPaintEngine::paintDevice to be the target device.
Auto-test included.
Task-number: 252837
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The problem was that we discarded update requests for fully
transparent items, which is correct, but we even did that
when the update was issued from QGraphicsItem::setOpacity.
We don't have to, and shouldn't, consider the opacity in
that case. Whenever we reach the fullUpdateHelper call in
setOpacity it means we have to do an update regardless of
the current opacity (oldOpacity was not 0.0 if the
currentOpacity is 0.0).
Auto-test included.
Task-number: 252913
Reviewed-by: Andreas
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Don't use aliased coordinate delta for image drawing.
Related to change fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd.
Task-number: 251561
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Images coordinates should simply be rounded and are not to be subject
to the aliased coordinate delta. The patch also adds a tiny delta in
QSpanData::setupMatrix() to ensure coordinates for fetching from source
images are rounded the opposite direction of the target rectangle.
This removes a lot of artifacts when trying to do border-image based
drawing on non-integer coordinates. A new qps test for border-image
drawing is included.
Task-number: 251561
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The bug appears in the raster paint engine and only in release mode as
the cause of the bug is in the MMX and SSE blend functions which are
disabled in debug. To prevent it simply we return early if we detect
that we have an opacity of 0.
Reviewed-by: Trond
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The held results were not cleared by QFutureInterface::operator=(QFutureInterface)
Add call to resultStore().clear(), similar to the destructor.
This needs to be done in the header since we know the template type here.
Task-number: 252208
Reviewed-by: brad
|