| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
On viz cleanup we should not try to use viz process transport
factory, use the same code path as compositor would
have been already destroyed.
Task-number: QTBUG-83040
Task-number: QTBUG-79864
Change-Id: I0f91b99cd5545d65500c3733ae097893d53b1cab
Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu>
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The normal WebViewImpl::SetBaseBackgroundColor expects to be called only during
certain lifecycle states, otherwise a DCHECK will be triggered. Whereas
the *Override version forces a lifecycle update.
Needs 3rdparty change to stop RenderWidgetHostViewBase::SetBaseBackgroundColor
from clearing the override color when switching between opaque and transparent
colors though.
Change-Id: If4c1e22886d7ebc7d87ca880dd9c6a659855a931
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
|
|
|
|
|
|
|
|
|
| |
Change QPainter's compositing mode from the default SourceOver (alpha-blending)
to Source (copy).
Fixes: QTBUG-81250
Change-Id: I670772b77cdd89ec42de96808608693ad50f726a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pulls in the following changes:
* c81ff02d Fix ozone builds of ANGLE
* 6c9c6c8b Fix skia crash on Windows after 77-merge
* 10f68b30 Fix viz crash when cleanup
* b25b21fa Stop sending ViewMsg_SetBackgroundOpaque to renderer
Change-Id: I14059823b1ae1510f86c3850e1654a224df01684
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|
|
|
|
|
|
| |
Copy initialization from gpu_main.cc to our setup.
Change-Id: I8b32df76783da7783f033c3e15dd3b20b48152a8
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
| |
Change-Id: Icaf68648cbc2c13a61fc3b208ff1e64ca36c90b6
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
| |
We need to be on the UI thread to walk the frame-node tree.
Task-number: QTBUG-82999
Change-Id: I8011a29e91d6af92da341cbdd01fc9403c587e23
Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu>
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-82842
Change-Id: I79394cf726d9c5d16881fa8c07b43d28fa43e026
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After tedious investigation the issue boils down to error prone
synchronization of web engine settings. WebEngineSettings are
synchronized between the browser process and the render process.
Moreover in the browser process the sync message is send to the render
with QTimer::singleShot, which can cause race conditions if
for example QWebPage::setUrl was used meanwhile. This makes
current settings not being picked up by the render process and results
in 'titleUpdate' test case flaky. This happens due to the fact that
ShouldDisplayErrorPageForFailedLoad in the render process frame view
could have invalid value.
Try to sync web engine settings on every adapter load, setContent or
reload.
Mark some flaky settings in tests.
Fixes: QTBUG-83078
Change-Id: I5289472f146e104d5cb6c3b9b20b26d3dc42f4b1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|
|
|
|
|
|
| |
Don't build both release and debug, when build_all is not requested.
Change-Id: I4e0458ba460a9c62b32161ea588955b2f539a37e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/3rdparty
tests/auto/widgets/qwebenginepage/tst_qwebenginepage.cpp
Change-Id: Idbc9d3b06c0052a721c974fbcbfa3164faaead14
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pulls in the following changes:
ab79f5394af [Backport] CVE-2020-6426: Inappropriate implementation in V8.
c110d4f93df [Backport] CVE-2020-6422: Use after free in WebGL.
8f4cef2a9d9 [Backport] CVE-2020-6427: Use after free in audio.
72d0936150f [Backport] CVE-2020-6428: Use after free in audio.
2a9a1c057d8 [Backport] CVE-2020-6429: Use after free in audio.
9aabebeb69b [Backport] CVE-2020-6449: Use after free in audio.
6c9be50c2d9 [Backport] CVE-2019-20503: Out of bounds read in usersctplib
Task-number: QTBUG-81909
Change-Id: I15d5a786db945202f8577e894e9f0e1fb6bf6086
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Running build in parallel for debug and release on mac os
was resulting in corrupted resource, due to possible
simultaneous QMAKE_BUNDLE_DATA resources write
from release and debug builds. Add missing qtConfig checks.
Fixes: QTBUG-76549
Change-Id: Icc0dee7b06d442e9c15d7afa53c0372e8d82b4a2
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pulls in the following change
f7ffd2f7dff Fixup for [Backport] CVE-2020-6401 (2/3)
Fixes: QTBUG-81909
Change-Id: I735544d31dc97c0e85a0abf912ed3651b3adee1c
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pulls in the following changes:
80bf361c042 [Backport] Dependency for security bug 925035
4af826b4d35 [Backport] Fix for security issue 925035
Change-Id: I1941c5c9b91028129e76b1f95186d2ec2140ab8b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Pulls in the following changes:
7622e2b8071 [Backport] CVE-2020-6395 - Out of bounds read in JavaScript
2643eee04e0 [Backport] CVE-2020-6410 - Insufficient policy enforcement in navigation
f938fe1765e [Backport] CVE-2020-6412 - Insufficient validation of untrusted input in Omnibox
98f5d9e5b14 [Backport] CVE-2020-6413 - Inappropriate implementation in Blink
e95d8df0220 [Backport] CVE-2020-6415 - Inappropriate implementation in JavaScript
cac651b7205 [Backport] Security bug 1020031
20b67be01c3 [Backport] Security bug 1016506
5043a049628 [Backport] Security bug 1026293
edd82d1d7ce [Backport] Security bug 1047097
334bb80e4ce [Backport] Security bug 1025442
6f1a37c63ba [Backport] Security bug 1016038
Change-Id: I443677e4d832c7f7336eb95cd640f69be11dbe1e
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I50afabc6022fea5b3db2a7dcb8659b654573661f
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: I1420b0c6293fbd3caf5dce3ada3b6fec90c74bfc
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The RenderViewObserverQt_SetBackgroundColor message was sent with wrong
Routing ID.
This fix also cleans up RenderWidgetHostViewQt::UpdateBackgroundColor()
method.
Fixes: QTBUG-81781
Change-Id: Ida198fb061715d389859ace17e1f773db491c51d
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Pulls in the following changes:
b6fde543e11 FIXUP: Fix build with gcc 5
feeaf8ecd52 [Backport] CVE-2020-6406 - Use after free in audio
ada63371baf [Backport] CVE-2020-6392 - Insufficient policy enforcement in extensions
80029e44737 [Backport] CVE-2020-6393 - Insufficient policy enforcement in Blink
cfd1a2eb98c [Backport] CVE-2020-6394 - Insufficient policy enforcement in Blink
8b524801b75 [Backport] CVE-2020-6396 - Inappropriate implementation in Skia
7b2e898f2b4 [Backport] CVE-2020-6398 - Uninitialized use in PDFium
d8c1659ae97 [Backport] CVE-2020-6400 - Inappropriate implementation in CORS
4d5dbe41ae3 [Backport] CVE-2020-6401 (1/3) and CVE-2020-6411
b88a10e7a66 [Backport] CVE-2020-6401 (2/3)
25b6ec913a1 [Backport] CVE-2020-6401 (3/3)
31bf030226a [Backport] CVE-2020-6404 - Inappropriate implementation in Blink
42e3d739230 [Backport] CVE-2020-6399 - Insufficient policy enforcement in AppCache
02f1da71840 [Backport] Security bug 1035723
3e757b536e5 [Backport] Dependency for CVE-2020-6391
f720be4aac5 [Backport] CVE-2020-6391 - Insufficient validation of untrusted input in Blink (1/3)
e7980ade9ab [Backport] CVE-2020-6391 - Insufficient validation of untrusted input in Blink (2/3)
3f6e9bf1fb0 [Backport] CVE-2020-6391 - Insufficient validation of untrusted input in Blink (3/3)
6b0d12aa31a [Backport] Security bug 1018629
Change-Id: I929158db502b6e3705e50cd3c0da6601d3a17c04
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Pulls in the following changes:
a7d90c1eadc Fix undefined range-based for loops in torque
24581ca7dde [Backport] Security bug 1040700
e4659a4c8a8 [Backport] CVE-2020-6418 - Type confusion in V8
5707cc4f757 [Backport] CVE-2020-6383 - Type confusion in V8
642c7bea74e [Backport] CVE-2020-6407: Out of bounds memory access in streams
d8724284f47 [Backport] CVE-2020-6384: Use after free in WebAudio
e87caa4598d [Backport] Security bug 1029865
da60616b969 [Backport] Security bug 1044570
51012dcb3e6 [Backport] CVE-2020-6387 - Out of bounds write in WebRTC
6c4b486ce60 [Backport] CVE-2020-6389 - Out of bounds write in WebRTC
1c3145818e4 [Backport] CVE-2020-6420: Insufficient policy enforcement in media
4a01d3a4103 [Backport] Security bug 1031909
Change-Id: Ic6d76f64a82d3f5738c31a53cf7e0f3f37183767
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
During shutdown we might need to flush the gpu buffer if root frame sink
is being deleted, which needs current context, which calls
isCreateContextRobustnessSupported and ends up in calling platformName()
from gpu thread, which might be already destructed on ui thread.
Keep context helper till gpu thread is gone.
Task-number: QTBUG-79864
Change-Id: Idadc064694fe0584fb894a9405a0af80d9848626
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes build error with MSVC:
error C2440: 'return': cannot convert from 'int' to 'scoped_refptr<gl::GLSurface>'
Change-Id: Ie24528cc98951de6863c12e1d25e3722bd20b046
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Latest build tools installed with prefixes like:
VC\Tools\MSVC\14.16.27023\bin\HostX64\x86\cl.exe
VC\Tools\MSVC\14.24.28314\bin\Hostx86\x64\cl.exe
where last part (x86 or x64) corresponds to target architecture and its
parent directory (HostX86 or HostX64) to actual version of the compiler
binary. Detect 64bit binary compiling for 32bit to allow activation of
full set of debug symbols with force_debug_info.
Change-Id: I1044203764ee0bec9dbc983448dcbf595217498d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Remove non-working PIP option of the video player until we figure out
how to support it.
Task-number: QTBUG-82390
Change-Id: Id8aee294f50137e98c00c76d94e8227a61fb89f8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It worked properly when RenderWidgetHostViewQtDelegateQuickWindow had
Qt::ToolTip flag because tooltips are forced to be on top by QPA.
Force RenderWidgethostViewQtDelegateQuickWindow to stay on top by the
Qt::WindowStaysOnTopHint flag.
Fixes: QTBUG-82993
Change-Id: Iccc48d6bf3570fee09af6d713f6f0bcd56e22b9b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QVariant::toStringList() never worked in that case where the variant
stores QList<QUrl>. Bring back the old logic from 5.12 and unwrap URLs
"manually".
Task-number: QTWB-46
Change-Id: I8d690c092e1a9bd459ab55cd4d5934d633e907e1
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds support for messages like:
Note: The following modules are not being compiled in this configuration:
pdf
pdfwidgets
Change-Id: I89cd3ff4934197ce0dfee7a73d9f829c94f6606c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Notification for metadata change is asynchronous and may come after
assigned adapter client was destroyed (that is at least what happens
in linked test comboBoxPopupPositionAfterChildMove for popup).
Fix is similar to 01ee897dc5.
Fixes: QTBUG-82987
Change-Id: Ia22ee3c054ed5d5c26982cff579be9d48145f93b
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Technically undefined behavior.
Change-Id: I7538f800b01473c7c2861137a47dc0424251b926
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Avoid having the enum name in the enum values.
Change-Id: Ida5b3405e6922eb1a2a37edc6fb650019254f4d4
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
To complete the set when we already have move assign operators
Change-Id: I50ac1d76f1acc76faeac0db6078d72d275b77bb0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From API review.
Task-number: QTBUG-81853
Change-Id: Ib208a342edcaa9c48dde80ef02bc6f85e35d8029
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Changes:
1e19109f2cd Fix skia crash on Windows after 77-merge
ef0a09b990f Fix ozone builds of ANGLE
9424dc7ceec Fix build with spell-checking disabled
Fixes: QTBUG-82894
Change-Id: Icf9ea86ad4cd3887a718f5d4d3be2e391264cb6b
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The command is deprecated and has no effect apart from generating
a documentation warning.
Change-Id: I7f3b71274fb2c51da721f5e35ab1af775f5b2b60
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ia11429880d6a40561bccd2feaddcae584cd34dac
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic4b70d31c85a31a434644c311eb173cda6a82fbd
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
|\ \ \ |
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: Iacb9b45c2304ab123309f67c9b173ea39225898a
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The usual shortcut (control-A) now selects all text on the current page,
it is highlighted, and it can be copied to the clipboard.
Change-Id: I5e6d9cae675862808f8b9027cb47024ca65cf2fd
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The build for iOS is static.
Change-Id: I3e6c13c920861a2a6bf0079e53e76322bb93935f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
PdfStyle.qml can be overridden via file selectors, and contains extra
styling beyond what Control.palette provides.
Search results are highlighted with a lightened, translucent version of
the Controls style's accent color, and the current search result is
highlighted with a solid border with the accent color.
The text selection color comes from the Controls theme highlight color,
which tends to be the same as QPalette::Highlight.
The link underscore is also configurable in PdfStyle, but its color
comes from the Controls theme link color, which tends to be the same as
QPalette::link.
Task-number: QTBUG-82540
Change-Id: I7c7e80323cf5d7c94dde775a38cdec239a6351a9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
So they look more like (old-school) web links.
The underlines are always horizontal and underneath the area of
occurrence though; rotated link text has not been tested.
Change-Id: I4fc01d88367b0cc9bbc23e9f85a3b42efb271fb8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Standard header for module code rather than for an example.
Change-Id: I39fad99f9c018530ccc12036eb502a78a521a0c0
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In the single-page view, we bind to the PdfSearchModel.currentPageBoundingPolygons
property, which is convenient because it has a changed signal, so it
stays updated in all cases: when the user changes the search string,
when a different document is loaded, or when changing the current page.
In the multi-page view, we need to invoke a function to get the search
results on each page, because results are different on each page, and we
often need to show multiple pages at the same time. The challenge then
is how to ensure that it gets re-evaluated often enough. It requires
connecting to more than one signal; but there isn't any way to "kick" a
binding when some signal occurs, so the solution isn't very declarative,
unfortunately.
Change-Id: I72e7dad01b8cb6c43abcccf4fa46e443409b39e0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
...as separate roles, to make alignment easier, and to avoid hard-coding
HTML tags in the Context role as it was before.
But the strings in these context roles are not always adjacent to the
search results in geometric coordinates sometimes, in some PDF files,
despite having adjacent character indices. I.e. the "next" character
after the search string, or the "previous" character before it, could be
anywhere on the page.
Change-Id: Ief0a490b64fdb3c3ca98506926650648b609ece1
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: Ib0a1aeac28350c8705899ab799ce776e6764b306
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If you do the pinch on a trackpad, the mouse cursor doesn't move, and
the same visible part of the page will remain under the cursor after the
page is re-rendered. Likewise when doing the pinch on a touchscreen,
the centroid (midpoint between the two fingers) is held in place,
subject to the constraints that Flickable.returnToBounds() imposes.
Similar to 29cb44ee471908ac7c4cac70e3defb8bd72a80cd.
Also corrected the horizontal scrolling range according to rotation;
added left and right margins so that the page edges are more visible
when the page is wider than the view, and thus the horizontal scrolling
range feels more accurate while the scrollbars are still shown.
Change-Id: Ia2a15eee5bcd5c9e7f025634f02a5a546e6aab68
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now that the Image is being rotated and the "paper" rectangle is not,
we need to work in the right coordinate system for rendering of Shapes
on top, and for handling drags to select text.
Change-Id: I6bc1e2fe7997ffc4673720abdcd3b7e4d9bc9012
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|