| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug has been around for a while, but change 604c51f1fc5c7 made it
emerge.
The problem was that stretches were combined by always *maxing* them.
The values of 'stretch' can be interpreted as this:
-1: (the default) it means that the items should be stretched with
the stretch factor dervived from the size hints. (In practice this
means that they are distributed fairly).
0: Means that the item should not be stretched
>0: Means that the item should be stretch with that number as a factor.
This meant that combining one item with a fixed size(0) and another
item with a default stretch (-1) the combined row stretch would end
up being fixed.
This also fixes how stretches are combined for spanning items too.
Task-number: QTBUG-13551
Reviewed-by: John Tapsell
(cherry picked from commit 7fbf1829e11504eca6a55f1e5dbddf2f658b5302)
|
|
|
|
|
|
|
|
| |
See 8ffb49a4ac68b1c243b25343053e6e99f97ec2e7
Task-number: QTBUG-16374
Reviewed-by: TrustMe
(cherry picked from commit 46ede046a34c822c612c55fdb1dc93dffe3fc6b6)
|
|
|
|
|
| |
Reviewed-by: Trust Me
(cherry picked from commit ac5c099cc3c5b8c7eec7a49fdeb8a21037230350)
|
|
|
|
|
|
|
|
| |
Crash introduced by 783a278f243c6411f5f32d11f2165b9eed9b6f8c.
Autotest written by Niklas Kurkisuo <ext-niklas.kurkisuo@nokia.com>
Task-number: QTBUG-16374
Reviewed-by: TrustMe
|
|
|
|
| |
This is what could happen if you go to lunch before comitting.
|
|
|
|
|
|
|
|
| |
QGraphicsLayout uses the protected ctor that did not call d->init(),
so all its subclasses was potentially suffering from this.
Task-number: QTBUG-15333
Reviewed-by: John Tapsell
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QGraphicsView::mapFromScene() returns a QRect instead of a
QRectF. Thus, we were prematurely rounding the micro focus rectangle
coordinates in QGraphicsView::inputMethodQuery(). (The
Qt::ImMicroFocus query returns a QRectF from QGraphicsScene, which is
the result of querying QDeclarativeTextEdit and mapping it to the
scene.)
Auto-test included.
Reviewed-by: leo
Reviewed-by: bnilsen
Task-number: QTCOMPONENTS-288
Task-number: QTBUG-16063
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Try using pure scissor clip in GL 2 engine for rotations.
Fixed DeviceCoordinateCache items when using QGraphicsScene::render().
Fixed missing text in GL 2 engine after recreating a context.
Fix compilation of qnetworkreply test with namespaces.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since viewRect is null, we shouldn't try to use the partialCacheExposure
path which intersects the viewRect with the device rect of the item.
Task-number: QTBUG-15977
Reviewed-by: Bjørn Erik Nilsen
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-water-staging:
Remove whitespace and leading tab from documentation change
Updating merge request 2512
QGraphicsLayoutItem - fix invalidating sizehint-with-constraints cache
Fix integer overflow in bitfield
Fix documentation for QML extended types
Removes the reseting of the QMenu offset.
Adding warning to QMenu documentation
Fix filtering of columns in QSFPM.
|
| |
| |
| |
| | |
Reviewed-by: Jan-Arve Sæther
|
| |
| |
| |
| |
| |
| |
| | |
UnfeasibleConstraint is 4, and that does not fit in 2 bits.
Spotted by Thiago
Reviewed-by: Thiago
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We would previously call subFocusItemChanged(0) on the item as part of
clearing the subfocus, even if the item in question would recieve a new
subfocus item as part of setting the new subfocus.
This resulted in the declarative item emitting activeFocusChanged(false)
and then activeFocusChanged(true), which was affecting any animation or
state bound to the activeFocus property of the item.
We now stop clearing the subfocus when encountering an item that we know
will get subfocus during the set-subfocus pass. We then set subfocus all
the way to the root item, since the subfocus item itself might change.
The effect of this is that the declarative item will only get one call
to subFocusItemChanged(), passing the new subfocus item, instead of two.
This means the declarative item can keep track of wherther ot not it had
a subfocus item previously, and only emit activeFocusChanged() when the
active focus goes from true to false or false to true.
Task-number: QTBUG-15615
Reviewed-by: Yoann Lopes <yoann.lopes@nokia.com>
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The previous code tried to do caching of queries with constraints too,
but it's usecase was rather limited.
The caching worked for the simple case of
effectiveSizeHint(Qt::PreferredSize, QSize(10, -1));
effectiveSizeHint(Qt::PreferredSize, QSize(10, -1)); // uses cache
The problem was that if somebody called this sequence:
effectiveSizeHint(Qt::PreferredSize, QSize(10, -1));
effectiveSizeHint(Qt::PreferredSize, QSize(-1, -1));
effectiveSizeHint(Qt::PreferredSize, QSize(10, -1));
Each call would disregard the cache because the constraint was
different.
Now the pattern is used in the qgridlayoutengine itself when we
calculate hfw: (yes, height-for-width).
First, we ask for the horizontal size hints with no constraints.
Then, we'll ask for the vertical size hints with constraints.
Since horizontal and vertical ultimately comes from the same function
(effectiveSizeHint) it will invalidate the cache each time.
The solution is to add another cache for the sizeHints with
constraints.
The most notable improvement is in the hfw, nested case. Result:
RESULT : tst_QGraphicsLinearLayout::heightForWidth():"hfw, nested":
546 msecs per iteration (total: 546, iterations: 1)
RESULT : tst_QGraphicsLinearLayout::heightForWidth():"hfw, nested":
0.000029 msecs per iteration (total: 62, iterations: 2097152)
Improvement: 18,827,586 times faster (!!)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
default alignment is top-left.
This includes unit tests to confirm that the alignment is top-left in a
variety of different cases.
Merge-request: 894
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-13551
Task-number: QTBUG-7756
Merge-request: 894
Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
|
| | |
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Commit 6d4d265e7e67dde58e45d7d89f4974d0bd8b70e4 added a behaviour change
in the cases if there was an item with height-for-width and sizeHint()
was called with no constraint. The commit tried to return the height
needed for the preferred width, but it still did not satisfy the
constraints, since the width used as the constraint could be less than
the preferred width. This also meant that the sizeHint(Qt::MinimumSize)
could actually be larger than the smallest possible size.
The behaviour should be that it should return the smallest width
possible regardless of height. For instance, for a label it could return
the size of the longest word (to avoid hyphenation issues).
The same logic applies for the height: It should return the smallest
height possible regardless of width. For instance, for a label it could
then return the height of the font.
I also had to fix some stuff in the heightForWidthWithSpanning()
autotest since it wrongly expected the maximum size to be
QWIDGETSIZE_MAX in several of the cases. However, that is the current
behaviour (and it is a bug), but it is unrelated to the problem with
spans so I simply fix the test and mark them with QEXPECT_FAIL.
Reviewed-by: John Tapsell
|
|/ |
|
| |
|
|
|
|
|
|
| |
Follow-up to e11ee40cefc981fbdcfb10816039d4efb080fb17.
Reviewed-by: Yoann Lopes
|
|
|
|
|
|
|
| |
Task-number: QTBUG-13473
Merge-request: 812
Reviewed-by: Alexis Menard <alexis.menard@nokia.com>
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-14351
Reviewed-by: David Boddie
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
QGraphicsLayoutItem - user set sizes should always override, even if there's a constraint
QGridLayoutEngine - Rework height-for-width support so that row/col spanning works
Revert "Revert "Fix (implement!) hfw/wfh in QGridLayoutEngine""
Adjust the parent index for the itemsMoved call.
Correctly handle both 16bit and 32bit live pixmaps in meego graphics system.
Correctly remove the egl alpha surface flags in meego graphics system.
Proper dither & proper alpha checking.
In meego graphics system, use always 16bit textures.
QCompleter: do not auto complete when directory is changed.
tst_qcompleter: Add a test for QFileSystemModel
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
a constraint
Notes:
* I have had to remove some of the old unit tests because the tested for
strange behaviour. Now that height for width items behave more like
normal items, it's no longer so easy to calculate what the geometries
should be in strangely-sized layouts.
* This also fixes alignment of height-for-width objects and adds a unit
test for this. This couldn't be done in a seperate commit since the two
fixes are related.
Merge-request: 847
Reviewed-by: Olivier Goffart
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
works
Task-number: QTBUG-13547
Reviewed-by: Olivier Goffart
Merge-request: 847
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 5bd6f7eb5c7d87c08539b6c2df416990cc417ec7.
This is a revert of the revert.
It is required apply the merge-request 847, which itself revert back
part of this commit but fixing it the (hopefuly) right way
|
|/
|
|
|
|
|
| |
If focus was explicitly cleared on a non-visible FocusScope, and then it
was made visible, it would incorrectly grab focus.
Task-number: QTBUG-13380
|
|
|
|
|
|
| |
It was fixed for setCursor in 600ff0193c9bfac4d2b40960766002e8b81aca22.
Reviewed-by: Alexis
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem was that we always invalidated the cache whenever the item was
rotated. This is however not required for simple rotations such as
90, 180 and 270 degrees. This commit also removes the somewhat arbitrary
logic which takes the desktop size into account. We now use the viewport
size instead.
Auto test included.
Task-number: QT-3779
Reviewed-by: yoann
|
|
|
|
|
| |
Merge-request: 2480
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
|
|
|
|
|
|
|
|
| |
If a parent QGraphicsItem becomes invisible, its child
would not receive a focus out event.
Review-by: Thierry
Task-number: QTBUG-13916
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2: (24 commits)
Stabilize tst_QGraphicsWidget::QT_BUG_13865_doublePaintWhenAddingASubItem
Fixed accessing freed memory in raster engine.
Build fix for -qtnamespace.
Fixed parsing of SVGs with absolute font sizes.
Moving QPdf::stripSpecialCharacter to fontengine
Revert "Fix (implement!) hfw/wfh in QGridLayoutEngine"
Fixed a layout issue where you could get NaN as dimensions
QTextCodec: Fix valgrind warning when using QTextCodec in destructions functions
Fix double painting when adding an item into a linear layout
Fixed antialiased rasterization bug in raster engine.
Fixed potential crash when loading corrupt GIFs.
Work around an ATI driver problem with mutli-sampled pbuffers.
tst_qstatemachine.cpp: fix compilation with Sun Studio
Fixed regression in clipping.qps autotest on 64-bit.
Fixed crash when using Qt::WA_DeleteOnClose on a QPrintDialog on Mac.
Fixed performance regression in curve stroking.
Don't disable texture_from_pixmap on GLX/X11 by default.
Avoid creating copy of an image in memory when storing as png
Doc update for the support of MSVC 2010 64-bit
fix documentation of drawText(int, int, int, int, ...
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 62b5ef3cc1306e46a4042b14867f2f92d9a110f3.
The implementation of hfw from this patch is unfortunately not robust enough.
It doesn't manage correctly the constraints on the layouts and the cell spans.
It caused bad behaviour or regressions seen in tasks:
QTBUG-13547, QTBUG-13067, QTBUG-13549, and more
Reviewed-By: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| | |
The problem is that with empty layouts we could sometimes divide by 0.
Note: This doesn't fix the whole task...
Task-number: QTBUG-13547
Reviewed-by: ogoffart
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
the problem was that the item is first painted at its default position,
then moved by the layout and finally repainted.
We now made sure the item is laid out before the first paint event
occurs.
Task-number: QTBUG-13865
Reviewed-by: bnilsen
|
|/
|
|
|
|
|
| |
Fixes crash in creator. If flag is true notifications are sent. It is important
that positioners work correctly and don't leak.
Reviewed-By: Alexis Menard
|
|
|
|
|
|
|
|
|
| |
World transform and opacity was sometimes not restored correctly after
drawing items.
Auto test included.
Task-number: Discovered while working on QTBUG-12760
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem was that setting ItemClipsChildrenToShape on an item resulted
in item itself being clipped to its own shape (ItemClipsToShape).
This commit also reduces state changes on the painter and re-uses the
clip whenever possible, which in turn means better performance for
items that clip children to shape.
Auto test included.
Task-number: QTBUG-12760
|
|
|
|
| |
Reviewed-by: bnilsen
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-2:
Export qt_directfb_.* functions in plugin as well
Added autotest for QPixmap::size() with null pixmaps.
Update Symbian def files.
QGraphicsItem::childrenBoundingRect behavior breaks QGraphicsEffect::sourceBoundingRect().
Wrong bounding rect returned by QGraphicsEffect::boundingRect().
Compile on Mac
Ensure building of WebKit and QtConcurrent are disabled with SunCC.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QGraphicsEffect::sourceBoundingRect().
Context:
QGraphicsEffect::sourceBoundingRect() returns:
item->boundingRect() | item->childrenBoundingRect();
Problem was that item->childrenBoundingRect() adjusted the children's
bounding rect with the children's ancestor effects (child -> root item),
which means the source bounding rect was bigger than needed. We should
only account for effects downwards in the hierarchy.
root (has effect)
|
item (has effect)
|
child
|
grandChild
Auto test included.
Task-number: QT-3633, QT-3828
Reviewed-by: samuel
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Regression after: f5c5e20a
Problem was that the cached bounding rect was never invalidated. We can
also remove the cached bounding rect in QGraphicsEffectSource because
QGraphicsItem::childrenBoundingRect now clips by default. This basically
means partially reverting above commit and invalidate whenever
ItemClipsChildrenToShape flag changes.
Auto test included.
Task-number: Discovered while investigating QT-3633
Reviewed-by: samuel
|