| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qml/compiler/qv4ssa.cpp
src/qml/qml/v8/qqmlbuiltinfunctions.cpp
src/quick/util/qquickprofiler_p.h
Change-Id: I11a89c2a166115d6697adfba09928805643e709e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The profiler can be switched on in the middle of a frame. In that case
the last offset into the timing data would be some random number, which
may lead to a crash when recording the sample.
However, as we know all the data points we are going to record, we can
as well specify where they are supposed to go. The timings themselves
may still be random for frames of which we only recorded parts, but
the clients can deal with this.
Task-number: QTBUG-57304
Change-Id: I1d507f2591516e43d5b3cd25f7939716f2b64ed9
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Relies on qtbase/f2205c48c21a6b135f2f59d0cf46e72f90f9f0f4.
Asking QFontDatabase whether or not the font can be smoothly scaled is expensive
Now that the attribute is available on QFontEngine, we can bypass all that.
Benchmark results from qmlbench on creation/delegates_text on a 2011 mbp.
Before: Average: 173.2 ops/frame; using 5/5 samples; MedianAll=173; StdDev=1.94, CoV=0.0112 - StdDev (all samples included)=1.94
After: Average: 180.8 ops/frame; using 5/5 samples; MedianAll=182; StdDev=1.94, CoV=0.0107 - StdDev (all samples included)=1.94
Change-Id: I56efd903037a29ee014de0cbf482cfbef7fce494
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/qmldevtools/qmldevtools.pro
tests/auto/qml/qqmlconnections/tst_qqmlconnections.cpp
Change-Id: I12255c16716bd8a74e7047cdb1f9302a4d1ea827
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GCC5/6 do aggressive dead store elimination on memory passed to
placement-new. This resulted in the Heap::Object::prototype being a
nullptr. qml.pro already contained the -fno-lifetime-dse flag, but there
are other places where we ask the memory manager to allocate data.
This is temporary band-aid, and is already fixed in 5.8.
Change-Id: Ia61a69f65fab351068a588cfc36b5b3d762ffc9f
Task-number: QTBUG-56932
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qquickitem_before_paintNode returns the transform node for the rectangle
as child node. But the node has no parent. It leads to following assertion
case at QSGNode::insertChildNodeAfter(). But, I tested it in release mode,
so no assertion happened. So, Some node not be able to add group node
from this cause.
Task-number: QTBUG-56657
Change-Id: Ie032dc6c56984bcb58cfcd348ff532f56e39e5b8
Reviewed-by: Inhye Seo <inhye.seo@lge.com>
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| | |
Change-Id: I24a186af0538027719beb464c2b489825ddd9420
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Atlas::create returns null when allocating space in the atlas texture
fails, including when the texture is full. Manager::create assumed that
this function would never fail.
Change-Id: I2ed8a1b94640d6a3cc65011e83b88f8bd42ca074
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In a3da23d5a92ab0f9b8280b9ed591986f8ac6a2d6 we added linear filtering
to the image node in rich text when smooth was set to true (which it
is by default). But we also enabled mipmapping, which caused a bad
performance regression when updating the text item.
If we want to support mipmapping, we would have to add a separate
property for this like in the image node, but since the original
bug report only called for supporting smooth scaling like in
Image, we can simply revert part of the change.
[ChangeLog][QtQuick][Text] Fixed a performance regression when
rendering a rich text item with scaled images.
Task-number: QTBUG-54723
Change-Id: Ib930112b76f0fe0b2e658f86520a9290354b8f6f
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
RichText can have blocks of text with varying font sizes, so we must
ensure that the cursor delegate's height is also set when it's moved to
a different position in the text.
Change-Id: I00691a94a2360c7d3272571fc4ba0da28b01006a
Task-number: QTBUG-54934
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quick/items/qquickwindow.cpp
tests/auto/quick/qquicktext/BLACKLIST
tests/auto/quick/qquicktextedit/BLACKLIST
Change-Id: I8bd68b0b5e853b7908791d2cbddd18dd527c76ae
|
| |
| |
| |
| |
| | |
Change-Id: I9a38ab8ff60921e6d5ff6c2fa476b24d28781feb
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I41ef6b38e74162434c397535f9d73fff80e29c78
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Noticed while debugging QTBUG-56075 on XCB. QQuickFlickable did not
receive timestamps for wheel events provided by XI2. This alone does
not fix the flicking speed issue with high-precision trackpads, but
is needed to be able to calculate the appropriate velocity.
Task-number: QTBUG-56075
Change-Id: I458e6302aee72863cdc1f8e8f7d99449016905a9
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The warning statement is printed whenever a successful hit test
(essentialy a hover) happens on a QML item which is accessible
(e.g. a Label) and also not visible.
The message looks like "QQuickText QVariant(Invalid) QRect(0,0 0x0)".
The information serves no real purpose though:
1) The property accessibleText is not set anywhere
2) The warning happens in a valid use case when an item is invisible,
and the user mouse accidentally hovers over its position
Change-Id: I8d20f7842d92c7944bb5e3b614ecd6fad500102a
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QSG24BitTextMaskShader::useSRGB() on macOS accesses the current context
qgl_current_fbo member without first checking if it is valid.
Make sure it also checks qgl_current_fbo_invalid, thus not accidentally
dereferencing a dangling pointer.
Change-Id: I56a77de23ee3b4b271bd848506ff26e14d7b6d15
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows Qt Quick Controls 2 to register a shortcut context matcher
that makes shortcuts behave well with QQC2's item-based popups, which
QQuickShortcut is not aware of.
Task-number: QTBUG-56562
Change-Id: Ia2518fd6ac7140f60aa38c7d9af557007e9db23b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
52e1044a1a22525b960d9e1d336ac06c4f39e6d5 in qtquickcontrols missed
this.
Change-Id: Ie104c421e34d4d2a13a88864a279eb65738bd5a8
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|
| |
| |
| |
| |
| | |
Change-Id: Ifc33c17d125ca794a157a87dc5cc1be51c2aaefb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The commit message of 08327da, and the change log of Qt 5.7.0 promised
that mapFromGlobal() and mapToGlobal() were available in QML. But since
the revision 7 of QQuickItem was not registered, this was not entirely
true.
Due to a little quirk in the QML engine's handling of revisioned
methods, mapFromGlobal() and mapToGlobal() were only accessible via
an identifier or property, but not directly:
// works
MouseArea { id: ma; onClicked: console.log(ma.mapToGlobal(Qt.point(mouse.x, mouse.y))) }
// ReferenceError: mapToGlobal is not defined
MouseArea { onClicked: console.log(mapToGlobal(Qt.point(mouse.x, mouse.y))) }
Furhermore, this is inconsistent with how mapFromItem() and mapToItem()
are exposed to QML. Even though the C++ versions of these methods take
QPointF and QRectF, the QML versions take 2-4 number specifying x, y,
width and height:
object mapFromItem(Item item, real x, real y)
object mapFromItem(Item item, real x, real y, real width, real height)
object mapToItem(Item item, real x, real y)
object mapToItem(Item item, real x, real y, real width, real height)
Therefore the signature of mapFromGlobal() and mapToGlobal() should be:
object mapFromGlobal(real x, real y)
object mapToGlobal(real x, real y)
This change implements the QML versions of these methods using
QQmlV4Function, and adds the missing documentation for the QML API.
NOTE: This is QML-only API.
Change-Id: I2ced4836d274c7d1e644ea29fc25dbdd2045001b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ib31008e593442ca5813fb14ae6b02f7ab2577395
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The item updates the node in an order that would never actually take
that flag into account. We now makes sure the FBO size is updated
when the flag is set.
Change-Id: I7aaaf64ed802ec0b53a3b47a39bbdea8195b4092
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| |
| |
| |
| |
| |
| |
| | |
Additionally, that way the braces are not needed anymore.
Change-Id: I5afc8fa738211f884ac011079a2ee63613a46d08
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I9b8d0158346e432e44758ae153e9ea02a9513c7e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I19f1a75b2e1a1096077df7ea109fd70be9d3c759
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I081d9b15796b4133d2ba6f1a862f15b873a4846d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Scale the canvas image and texture buffer by the
target devicePixelRatio.
Task-number: QTBUG-37095
Change-Id: Ic432b278caa5c85cf3487d3108967cf3fcd2fa48
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I14eb860386dfad57ab8cf492cb782970497756b9
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| | |
Change-Id: Ib026302143df82196fdfd70b9ea9923098adbc7c
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We don't need to deleteLater here, we can not be sure that the
response won't continue for a bit after this, and it's not even
needed since documentation says you need to emit finished in
all cases and this will call deleteLater on the response anyway.
Task-number: QTBUG-56056
Change-Id: I7cc90620f499beaaaaa61aac77d72d067308838c
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Error message:
Undocumented parameter 'image' in QQuickTextureFactory::textureFactoryForImage()
Change-Id: If7cb1e63091c23304b64c5688af0abe55fc37ff4
Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
|
|\|
| |
| |
| | |
Change-Id: I48764527fa1ab6d8d59c24552394459b1cdc58ee
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Mark QQuickItem visual children directly in QQuickItem instead of
relying on the item being a (grand) child of a window.
[ChangeLog][QtQuick] Fix crash with QQuickItems created via JavaScript being
garbage collected sometimes when they're not assigned to a window.
This may happen even in qmlscene when between the creation of the root item and
the assignment to the QQuickWindow the garbage collector runs.
The previous approach of a persistent in QQuickView marking the visual item
hierarchy relies on the existence of a view. The only thing left to do in the
view and qml window implementation is enforcing the CppOwnership policy set on
the content item in QQuickWindow by ensuring the presence of the JS wrapper,
replacing the persistent with a weak value.
This also introduces a new internal mechanism for QObject sub-classes to
provide their own V4 JS wrapper types.
Task-number: QTBUG-39888
Change-Id: Icd45a636a6d4e4528fc19165b13f4e1ca7967087
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
tests/auto/quick/qquicktext/tst_qquicktext.cpp
Change-Id: I241cd418bb7e7b95e0a0a2ee4c465d48be2a5582
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The if statement in QQuickTextPrivate::setupTextLayout() was missing
an OR clause for the case where the line width is neither greater
nor less than the old width/natural width, but has actually changed.
If that sounds confusing, it's because it is. Basically, the outer
layouting loop in that function needs to run twice for this scenario,
so that's what this patch makes it do.
Change-Id: I13777667eb13506d50f05e9766785a1c2c46125c
Task-number: QTBUG-50738
Task-number: QTBUG-50740
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8ec8c8eff41e77225ef42f7bd9e52f4558d00130
Task-number: QTBUG-55779
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was occurring when using a physical mouse wheel: movementEnded
was emitted, then contentYChanged would still be emitted a few more
times.
Task-number: QTBUG-55886
Change-Id: Ib5e833d5d84633bb07b8c240ea3ccc9977e443f8
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The velocity timeline does not need to drive the movement if we can
be sure that there are enough wheel events coming from the OS to
move the flickable smoothly. And when the velocityTimeline is not
active, the movementEndingTimer will emit the movementEnded signal,
as it should.
Task-number: QTBUG-55871
Change-Id: I5569be3aa6335d43ba162967ee03d08de3ba8096
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On some systems, glGetString returns null for some reason, which causes
a segfault here. Let's assume it's not one of the broken configurations
and hope for the best instead.
Task-number: QTCREATORBUG-15992
Task-number: QTBUG-56165
Change-Id: I83867e42f0fd8f576bf51ac0a2213e1348111ffd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-55935
Change-Id: I475c1bb3e7aae9499b1b07a52f3c10f54c8b3481
Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-56036
Change-Id: Iad776f42cc776e0d397173b3d2f3922eb7914392
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Qt 5.7 only deploys to macOS 10.8, so this code is never executed. Also,
QSysInfo will be deprecated in Qt 5.9 so this will fix a warning.
Change-Id: Iecebdb2aed3b0e31b0540621b16aa958031a8e81
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ignore mouseUngrabEvents() triggered by giving mouse grab to a child
item when replaying a delayed press event.
Change-Id: I6c8db61167e21bf10d533b17f7cc65e4754bd432
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Martin Jones <martin.jones@qinetic.com.au>
|
|\|
| |
| |
| | |
Change-Id: Ib45654e3e79087da4754377f0d78b70c44ed4695
|
| |\
| | |
| | |
| | | |
Change-Id: I410c2bd25a1bddc0e395316d62791437684b8942
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When using a FBO, the source rect should be the painted part
(m_textureSize) of the FBO.
Also, the texture size is now correctly set when using an Image
render target.
Task-number: QTBUG-52054
Change-Id: If5d7a9c0b02f16f5d4be2cdf8c3c4cb15cb0583e
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickWindow currently propagates window leave events as hover leave
events to its content item, but it does not propagate window enter
events as corresponding hover enter events. Instead, hover enter is only
triggered implicitly by mouse moves.
This can cause problems when there is no mouse movement inbetween the
window being entered and a subsequent button press event. A common
example where this occurs is dismissing a mouse-grabbing popup window
(e.g. a QMenu) by clicking outside the popup, and then clicking in the
same spot that was clicked to dismiss the popup. Without this patch,
hover state is not realized until movement occurs, so there may be no
no visual feedback and code that needs to update state based on what is
being hovered prior to handling a press event can't work correctly.
This patch synthesizes a QHoverEvent and delivers it in response to
QEvent::Enter, similar to how QEvent::Leave is already handled.
QWidget handles this correctly via QWidget::enterEvent. The equivalent
in Qt Quick is QQuickItem::hoverEnterEvent, ultimately called with the
synthesized event.
The patch also updates the touchmouse::hoverEnabled autotest. Due to
the window enter event now being handled correctly, exitSpy2 would run
up a count() of 2, as the cursor was not in a neutral position after
previous test cases. The change makes sure the cursor is in a neutral
position before test case activity.
[ChangeLog][QQuickWindow] The relevant child item is now sent a hover
event when the window receives a QEnterEvent, making sure hovering is
recognized without waiting for mouse movement.
Change-Id: If0586f6cd971df0dfc266bb1a39c9cdb184fd286
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
On platforms like iOS, hiding the virtual keyboard will force
the current focus object to lose focus. And when QQuickTextInput
loses focus, it will emit editingFinished.
To not emit the signal once more directly after hiding the
keyboard, we add an extra check in the key event handler
to verify that we still have focus.
Task-number: QTBUG-44038
Change-Id: Ib64f7028a9f16a172b3c38cab72f3599d560e331
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |/
| |
| |
| |
| | |
Change-Id: I7f5ff2026ed00cacbc07484263c31397555622f1
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
|