| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The window surface has been modified to track widget deletion to make
sure it doesn't try to access the widget's context data after deletion.
QGLPixmapData now also uses GL_RGB instead of GL_RGBA when appropriate,
and hasAlphaChannel() has been modified in view of this.
A number of other issues have been fixed in QGLPixmapData, and the
autotest has been modified to use a more lenient pixmap compare function
due to off-by-one pixel errors here and there.
Reviewed-by: Trond
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was that we used QRect::isEmpty() on the item's bounding
rect intersected with the exposed region's bounding rect as a criteria
for whether the item should be drawn or not. This does not work as
expected with partial updates, where the boundingRect() of the exposed
region easily can cover the entire viewport area.
The item should *only* be drawn if its bounding rect intersects with
the exposed region (and not the exposed region's bounding rect).
Auto-test included.
|
|
|
|
|
|
|
| |
Since QTransform::type() now uses a switch based on m_dirty, we can't
treat m_dirty as a bit mask anymore.
Reviewed-by: Ariya
|
|
|
|
|
|
|
|
|
|
| |
Even though the standard mandates a maximum of 2 connections, most
new browsers support atleast 6 connections. So we are also bumping the
limit.
Task-number: 251144
Reviewed-by: Markus Goetz
Reviewed-by: Peter Hartmann
|
|
|
|
| |
Reviewed-by: trustme
|
|
|
|
|
|
|
| |
When the input data is fed to utf-8 by one byte it couldn't parse
the BOM correctly. So we wait until the BOM is composed into a code point and check it afterwards.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
|
| |
When reading one character at a time (as QTextStream::pos does) the
byte order mark could be ignored. This happens only with UTF-16 BE/LE
and UTF-32 BE/LE codecs. This fixes the qtextstream autotest.
Author: Olivier Goffart
Author: João Abecasis
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem appears in the chip demo when clicking an item while scrolling the
view using the mouse wheel. The problem was that we didn't translate the
the item's old painted view rect.
There was also a problem when enabling the DontAdjustForAntialiasing flag,
causing an item to not redraw its edges. We have to adjust the rectangle
by (-1, -1, 1, 1) since QRect() and QRectF() behaves differently.
Auto-test (made by Andreas) included.
Reviewed-by: Andreas
|
|
|
|
|
|
|
|
| |
We used tab-ref to place multiple tabs compressed into one tag just like
text:s does, but thats not what the spec says. We now don't sum up
tabs anymore but just simply write out one "<text:tab/>" tag per tab.
Task: 249110
|
|
|
|
|
|
|
|
| |
Include change for spinbox, combobox, and menu.
Task-number: 255849
Tested-by: Pierre
Reviewed-by: jbache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need the parent of each potential QPersistentModelIndex in order to
cleanup when removing the rows.
They need not to change in order QSortFilterProxyModel maping to be
still valid.
takeRow must not change the internal data before calling beginRemoveRow.
Same thing for takeColumn
Task-number: 255652
Reviewed-by: Thierry
Reviewed-by: Leo
|
|
|
|
|
|
|
|
|
|
|
|
| |
add auto tests for QGraphicsObject
FX items are better off with property notifications on each component
rather than on the position.
Added some basic testing for QGraphicsObject and fixed the failures
exposed.
Reviewed-by: Andreas
|
|
|
|
|
|
| |
QPixmap(QImage) works with Qt3 support only...
Reviewed-by: thartman
|
|
|
|
| |
Reviewed-by: ogoffart
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QPainter::worldTransform() does not return identity matrix when created
on a redirected widget. It should always be identity by default, and
should only change as a result of QPainter::setWorldTransform. The
reason it didn't return identity for redirected widgets, was that we
translated the shared painter's world matrix directly.
Since we cannot modify the world matrix directly, we have to store
the shared painter's current world transform in a separate matrix
(redirectedMatrix), reset the world transform to identity, and later
combine the redirectedMatrix with world transforms set on the painter.
Note that redirection_offset was in negative coordinates before,
and that redirectionMatrix now is in positive coordinates, hence opposite
signs around.
Auto-test included.
Reviewed-by: lars
Reviewed-by: Samuel
|
|\ |
|
| |
| |
| |
| |
| | |
Merge-request: 631
Reviewed-by: Olivier Goffart <ogoffart@trolltech.com>
|
| |
| |
| |
| |
| |
| | |
add an auto-test when we copy file infos.
Reviewed-by: ogoffart
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
The MODULE placeholder shouldn't be used anymore, and neither should the
old Trolltech license header.
Reviewed-by: Trust Me
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add support for reading and writing for Mono, MonoLSB and Indexed
images in the tiff format.
Previously, the images were always written in RGB32, dismissing the
input format.
Task-number: 254317
Reviewed-by: Samuel
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid a division by 0 when doing QImageReader::setScaledSize(QSize(0, 0))
for jpeg formats.
Reviewed-by: thierry
Task-number: 255627
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
It should not be necessary to adjust the expose rectangle by 1 in all
directions; the expose has already been adjusted by the scene and view.
Reviewed-by: bnilsen
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We use stable sorting to keep insertion order. This works fine as long
as we sort a complete list of siblings in one go, and this list already
has items in insertion order. But if we shuffle such a list, the only
way to get proper sort order again (with insertion order intact), is
if each item has a sibling index. We used to have this, but we don't
have it anymore (as it's not needed for NoIndex mode).
So until we separate the BSP index into a separate class and add this
index there, we add this workaround which uses the toplevelitems list
to ensure the items have the correct order.
Reviewed-by: bnilsen
|
| |
| |
| |
| |
| | |
Fixes the zValue autotest, which regressed when the member list was
added.
|
| |
| |
| |
| |
| |
| |
| |
| | |
If we pass the viewport widget as the widget pointer when rendering to
an arbitrary painter (e.g., onto a pixmap), we confuse the rendering
functions to thinking that it's the viewport's region we should render
into. So instead, when drawItems() is passed a painter that's different
from the view, we pass 0 for the widget.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change introduced an unexpected interdependency for scenes with
items that enable ItemStacksBehindParent, and that contain children
that are transformed. There's a manual test for this, called
clippingAndTransformations, which shows this problem.
The bug has been fixed and this change also includes an autotest that
covers exactly this problem.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This flag toggles whether we should send notifications for setPos,
setMatrix, and setTransform. It's off by default. Docs have been updated.
All autotests pass. This change also cleans up a bit so that we both
have readable code, and keeping the optimized path for when we need to
send the notifications.
By enabling this flag by default we are going to trigger regressions in
end-user code.
Reviewed-by: bnilsen
|
| |
| |
| |
| | |
See also: 1c9032f29d4500b33622d7510b6361c99d9af296
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
properly pass to drawItemHelper.
The second is a double conversion to deviceTransform in createStyleOption
of QGraphicsItem. Since the recursive drawing already give a transform
in device mode we don't need to convert it two times.
Reviewed-by:andreas
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reapply commit 8ad5020940f10d4ecc5c5e8b3b9656531cb84ef3 and its
dependent change that has been reverted while rebasing the
recursivepaint branch.
With the new properties it is possible to easily animate transformations
Reviewed-by: Andreas
Documentation still need to be reviewed.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
E.g. item->update(QRectF(0, 0, 5, 5)); item->update();
The problem was that we discarded all update requests whenever the item
was already marked as dirty. The dirty bit only means it has pending
updates (which might be a full update). However, we have a separate bit
for full updates (fullUpdatePending) so we have to check against that
bit instead.
Makes tst_QGraphicsProxyWidget::paintEvent happy.
Another auto-test included.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Once a _q_processDirtyItems call is queued, it means we at least have
one item that is marked as dirty and we must reset it when the
_q_processDirtyItems slot is called. The problem however, was that
we didn't reset the item's dirty state if a full scene update occurred
in between, i.e. item->update(); scene.update();
We don't have to calculate the item's dirty rect if a full scene update
occurs in between, but we still have to reset its state.
Auto-test included.
|
| |
| |
| |
| |
| | |
This is necessary after we made the sceneRect grow lazily when it's not
assigned.
|
| |
| |
| |
| | |
Makes tst_QGraphicsScene::update happy.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We have to keep the growingItemsBoundingRect up-to-date if there's no
scene rect. The only difference now is that sceneRectChanged will not
be emitted before entering the event-loop, but the documentation
only states it'll be emitted when the scene rect changes, so we
consider it harmless.
Makes tst_QGraphicsView::sceneRect_growing and
tst_QGrahicsScene::sceneRect happy.
Reviewed-by: Andreas
|
| |
| |
| |
| |
| | |
Enable QGraphicsView::IndirectPainting to make sure it detects which
items are drawn.
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
| |
This is work-in-progress, so don't expect everything to work perfectly.
Most of the auto-test pass and examples and demos seem to run fine.
Unfortunately I'm too tired to write about the actual update mehanism
now, but it's faster than the old approach (if that helps:)). There's
more to optimize, but I'll come back to that later. I need some sleep now :)
To be continued.
|
|
|
|
|
|
|
|
|
| |
still paint them.
The autotest is included.
Task-number: 254449
Reviewed-by: ogoffart
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/3rdparty/phonon/qt7/mediaobject.mm
src/3rdparty/phonon/qt7/quicktimevideoplayer.mm
src/gui/text/qfontengine_win.cpp
tools/linguist/shared/cpp.cpp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some of the tests (including the httpsServer one) requested that the
server close the connection (Connection: close). It could happen that,
well, the server did close the connection and we noticed it while doing
the waitForBytesWritten in the doSocketFlush function. Then we'd create
an error in the next step because the socket wasn't connected.
Reviewed-by: TrustMe
|
| |
| |
| |
| |
| | |
cursorPositionChanged() singals of QTextDocument. The contentChange() signal
is used for the syntax highlighter.
|
| |
| |
| |
| |
| |
| |
| | |
More information in task 166873.
Merge-request: 514
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
|
| |
| |
| |
| |
| |
| | |
Also, issue a warning if a type is not known to the meta-type system.
Task-number: 248129
|
| |
| |
| |
| |
| |
| |
| | |
Converting the array to its string representation is not very useful.
Now round-trip conversion will work as well.
Reviewed-by: Ariya Hidayat
|