| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
|
|
| |
the domain attribute in cookies must always contain one embedded dot,
according to RFC 2109 section 4.3.2
Reviewed-by: Thiago
Task-number: 251467
|
|
|
|
|
|
|
|
|
| |
QSortFilterProxyModel::indexFomSource and *ToSource
Show a warning instead
Task-number: 252507
Reviewed-by: Marius Bugge Monsen
|
|
|
|
|
|
|
|
|
|
| |
According to the (old) cookie RFC 2109, the domain attribute must
always contain a leading dot. Some servers do not have that, but all
browsers accept those cookies anyway, so we should do that as well.
Reviewed-by: Olivier
Reviewed-by: Denis
Task-number: 228974
|
|
|
|
|
|
|
|
|
| |
This autotest tests some Windows Mobile 5.0 specific thing like the
native menubar and the integration into the window manager by taking and
comparing screenshots. This should prevent nasty regressions we had.
This autotest makes only sense on Windows Mobile 5.0 in 480x640
Reviewed-by: maurice
|
|
|
|
| |
We only want to dump images *if* RENDER_DEBUG is defined.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was that we didn't take the painter's clip into account
when setting the system viewport ("hard clip"). We only used the system
clip, but we have to use system clip + painter clip, which is the
current engine clip. Unfortunately, we have to calculate it again
since there's no cross-platform way of retrieving it.
This was only a problem with Qt::(Replace|No)Clip, since we
in all other cases combine the old clip with the new one.
(Uber cool) auto test included.
Task-number: 250482
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
|
| |
and QSelectionModel::columnsIntersectsSelection
The documentation says "if one is selected" inside the row/column, so we
need to look over if we find one which is selected
Task-number: 252069
Reviewed-by: Marius Bugge Monsen
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was located in _q_enterDirectory, this method take a
QModelIndex that can be a model index from the treeview/listview (so
it comes from the proxy that is applied) and from the side bar where
there is always no proxy applied. Previously we were trying to convert
from a proxy index to a source index the value that come from the sidebar
which is already a source model index. Now, we just check if the model
index is coming from the proxy and in that case we convert it otherwise
this model index come from the source.
Task-number: 252068
Reviewed-by: jasplin
Reviewed-by: ogoffart
|
|
|
|
|
|
|
| |
selected item
Task-number: 250446
Reviewed-by: ogoffart
|
| |
|
|
|
|
|
| |
QWidget::repaint() is not immediate on the Mac; it has to go through
the event loop.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGLWidget does not support partial updates unless the context is
single buffered and auto-fill background is disabled. The problem
was that QPaintEvent::region() returned the requested update region
without taking into account the limitation of QGLWidget. If QGLWidget
doesn't support partial updates, it means everything has to be updated,
and QPaintEvent::region() must return the whole widget rect.
Auto test included.
Task-number: 241785
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
| |
If you insert a new pixmap in the cache with a key that was already in
the cache then we remove the old pixmap and add the new one. This avoid
to fill the memory with garbage even if the cache has a protection to
avoid running out of memory. This was discovered with QraphicsView
and its cache. We don't need to keep old cached pixmaps for an item.
Task-number: KDE
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
an untransformed painter
When passing a painter to QWidget::render, we use the
painter->paintEngine()->systemClip() as the "system viewport",
i.e. all painting triggered by render() should be limited to
this area. The only way to achieve this is by always ensuring the
system clip is clipped to the same area (systemClip &= systemViewport).
The problem however, was that we only did this for transformed
painters. We must of course always do it when there's a systemViewport
set, regardless of whether the painter is transformed or not.
Auto test included.
Task-number: 248852
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
| |
written, IANA hadn't assigned one.
Requested/spotted by Nokia i18n team.
Task-number: 251790
Reviewed-by: Brad
Reviewed-by: Denis
AutoTest: In this submit.
|
|
|
|
|
|
|
|
| |
Requested/spotted by Nokia i18n team/Darpan.
Task-number: 252102
Reviewed-by: Denis
AutoTest: In this submit.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch complete the two others made by Kim :
- 6c2dd295b2ca2f9125fe072d035a3784ce748718
- 003223dcfc1fa884b82085db19d4c4056bf6eaa0
It fix the stops if the gradient link to another gradient below.
Task-number: KDE
Reviewed-by: Kim
Reviewed-by: Samuel
|
|
|
|
|
|
|
|
|
| |
about the only error case for a PeekNamedPipe() which does not actually
want to read anything is some kind of disconnect. so ignore the error
code and just handle the error as a close.
Task-number: 247144
Reviewed-by: thiago
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Copy constructor and assignment operator lose data: pointer to content
and the length of content also need to be copied over.
QByteArrayMatcher::pattern() would return a null byte array if instance
was initialized with c-string.
Changed default constructor to explicitly initialize pattern length to
zero.
The bug in the assignment operator is a regression against 4.4.3.
Task-number: 251958
Reviewed-by: MariusSO
Reviewed-by: paul
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 031adeaf42ddaef8d01338f6c59ba97170be5d53.
The patch had some unforeseen side-effects for Creator.
It may also affect other existing applications in a similar way.
For now, this behavior (eating key sequences for disabled shortcuts)
should be achieved using a local workaround in creator.
Reviewed-by: mariusSO
Task-number: 251246
|
|
|
|
|
|
|
|
| |
We have code that assumes that m33 = 1 if the type is TxScale. Instead
of changing all that code it's better to just return TxProject as type
when m33 is different from 1.
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
| |
We need to check if the engine is null before we do the thread test.
Reviewed-by: Thiago
|
|
|
|
|
|
|
|
|
| |
The problem is QUrl == operator is case sensitive. On Windows we don't
want double entries for C:\dev or c:\dev so i convert the url in lower
case and compare them (on Windows only) to avoid duplicate entries.
Task-number:226483
Reviewed-by:jasplin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug in 4.5.0 where cached items that call update() after
they have been moved or transformed failed to get a call to paint(),
so the last cache image was used to draw. The easiest way to reproduce
this bug is in the Elastic Nodes example. If you press, wait, then
release, the nodes will consistently move to sunken state, then back
to normal state. But if you click quickly while moving the mouse, the
nodes will stay sunken.
The bug was that the item was marked as dirty as a result of being moved,
and when the mouse button was released, the node item's call to update()
was discarded, as the item was "already dirty".
The fix is to allow invalidation of the cache even if the item is
marked as dirty.
Reviewed-by: bnilsen
|
|
|
|
|
|
|
|
|
| |
Previously we were calling two times itemChange on the parent to give
QGraphicsItem::ItemChildAddedChange. We don't need that. One is enough.
BT : yes
Task-number: BT
Reviewed-by: Andreas
|
|
|
|
|
|
|
|
|
|
|
| |
We can't remove an item in the sidebar if the bookmark is not valid
(i.e. link to a non existing directory). ItemViews doesn't allow you
to have disabled items and to select them at the same time, so i have
implemented a delegate that paint in gray if the bookmark is invalid.
So you can click on it and delete it.
Task-number: 251341
Reviewed-by: jasplin
|
|
|
|
|
|
|
|
|
|
|
| |
If the bookmark in the sidebar has an hidden parent and the QFileDialog
is set up to not show hidden files, then clicking on the bookmark move
the current dir to root (like if the bookmark was invalid) instead of
entering in the dir. The fix was to fetch the parent dir and the
bookmark dir when the user select it in the sidebar.
Task-number: 251321
Reviewed-by: jasplin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A disabled QShortcut should eat its key sequence even for complex
sequences like "Ctrl-E 1". For example, a line edit with such a
shortcut should not display 1 after typing "Ctrl-E" and then "1".
The patch achieves this essentially by moving more of the
decision making (of whether to eat the key secuence) from
shortcutmap.cpp to qhortcut.cpp.
Moreover, an invisible QAction should not eat any of its key sequences
(primary nor alternates). In the example above, the line edit
would display 1 when typing this sequence for an invisible action.
The patch achieves this by temporarily unregistering all of the
action's shortcuts while the action is invisible.
Reviewed-by: mariusSO
Task-number: 251246
|
|
|
|
|
|
|
|
|
|
|
| |
We were calling the provider with invalid path, with the default one it
fallback to all standard icons but with a custom one we call a public
method with an invalid QFileInfo. It was happening on windows only
for the My Drives view because in that case the parent path is null, my
Drives is a logical view.
Task-number: 251295
Reviewed-by: jasplin
|
| |
|
|
|
|
|
| |
heh, it was perfectly safe to remove the QT_VERSION ifdefs, but
QT_VERISON was another matter...
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
The problem is in QTabBar which emits the currentChanged signal
before accessing its own internal data. As we react to that signal by
possibly removing/adding tabs, it can cause a assertion failure.
Task-number: 251184
Reviewed-by: ogoffart
|
|
|
|
|
|
|
| |
QHeaderView can sometimes display holes when using default row height
Task-number: 248050
Reviewed-by: ogoffart
|
|
|
|
|
|
|
| |
This test has always been wrong/confusing. Fix it to work, and make sense.
Task-number: 250026
Revby: Lincoln Ramsay
|
|
|
|
|
|
|
|
|
|
| |
filtered items are not correctly updated.
when filtering away a row, we should remove all the mapping of the
children
Task-number: 251296
Reviewed-by: Marius Bugge Monsen
|
|
|
|
|
|
|
|
| |
In tst_mediaobject we check now explicitly if the backend plugin is
deployed to the device. Since this check is done in initTestCase we also
avoid a crash if the check fails.
Reviewed-by: Maurice
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amend fd5f83e612729cebc5395c992bd98628bb9ea25f
calling fetchMore in create_mapping was a bad idea bacause it may lead
to infinite recurtion
Make a special case for hasChildren instead
Task-number: 250023
Reviewed-by: Marius Bugge Monsen
BT: yes
|