| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When dpi awareness is not set to PerMonitor, windows reports primary
display or dummy DPI for all displays, so xIn and yIn and windowSize are
calculated with a wrong DPI and used in BitBlt api, so we need to
recalculate them using the actual screen size we get from
EnumDisplaySettings api.
Fixes: QTBUG-142030
Change-Id: If8ae61c6635b1e7115eb5ca0aaf6ed0caf47f82d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Destroy the handle of the custom titlebar, when the parent window gets
destroyed. Amends: 127468e053c84e089f0afc87704758ae360406e9
Fixes: QTBUG-141917
Pick-to: 6.11 6.10 6.9
Change-Id: I231408bfc31896df291546b897ed19068ec0cda8
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The logic using the NSOpenGLPFAColorSize pixel format attribute was
based on the color and alpha channels being the same size. This is
not the case for formats such as 10-10-10-2. We now query the bits
via GL instead, giving us per-channel answers.
Fixes: QTBUG-142528
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: Id237a5c0f0789d6e83ae225a0663a247a8fc1e33
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in several places INT_MAX was implicitly converted to qreal.
when qreal is float, the compiler warns:
implicit conversion from 'int' to 'float' changes value
from 2147483647 to 2147483648 [-Wimplicit-const-int-float-conversion]
the conversion is made explicit now
also in qfontengine.cpp operands are reordered
to let compiler pre-calculate part of the expression
Pick-to: 6.11 6.10 6.8 6.5
Change-Id: I7cba0f95e38d10f661dca9f085cf024a6f8a5f52
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We do not necessarily run the functions in QWasmDrag, but might
instead run the QSimpleDrag object.
So we cannot rely on m_dragState->dropAction, but have to get
the dropAction from QSimpleDrag.
To make QWasmDrag work we call setExecutedDropAction in
the cases where it is needed.
Also, do not retry the drag operation if jspi && IgnoreAction.
Fixes: QTBUG-142512
Change-Id: I2f1548db50a064033d1071a07cc42f1488610905
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
|
| |
|
|
|
| |
Change-Id: I809b68b9499de665276636b5a2c14300401e0ae9
Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If the view outlives its platform window due to hanging around in
some autorelease pool or strong reference we might get a callback
for updated backing properties with no window to propagate them
to.
Fixes: QTBUG-137435
Pick-to: 6.10 6.8
Change-Id: I665d38f4fbed35f524cd46dfccdb885924cebd6c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
To allow assistive technology on Windows to react to changes of the
checked state of item view items send appropriate notifications also
for the Cell, ListItem and TreeItem roles.
Fixes: QTBUG-141856
Change-Id: I5ff341fa260ea95c0cf80bc25c141f9da0ea54da
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
https://www.freedesktop.org/wiki/Specifications/XDND/#clientmessages
Client Messages->XdndStatus->data.l[1]: Bit 0 is set if the current target will accept the drop.
Pick-to: 6.10 6.8
Change-Id: I6978f99f55d57c8025cc644ef837af154f44e7a8
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
|
|
|
|
|
|
|
| |
m_dragState could go out of scope before the
callback in toMimeDataWithFile gets executed.
Change-Id: I7e45b89a4ca856620ecff1701b3e9046ccb2891e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
|
| |
|
|
|
|
|
|
|
| |
works firefox -> firefox, and chrome -> chrome,
but not firefox <-> chrome
Change-Id: I9495e4775eb581e5732f27bce967416c069c601a
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
| |
As found in laptops, like thinkpads.
And Key_Call for directfb.
Change-Id: I7858f5c81cff43c1550716e4141eef8209e4794f
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
| |
Without this, a click on a drag object will leave the
application in an inconsistent state.
Change-Id: I78c9a7b044380ae0b84b16c1579583efa6a4810b
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
|
| |
|
|
|
|
|
|
| |
It blocks dragging.
Change-Id: I9a0cdaeac29e96fac35b6e211f3da983fe2f9a6e
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Dead keys are now handled through QWasmInputContext. This removes
the duplicated and previous method of dead key handling.
Remove deadkeytranslator auto test, as it was testing the
dead key translator class being removed.
Change-Id: Ibada7ba873ff109d5ad2837a8d2fba354b7eb8c2
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The flushWindowSystemEvents() call in flushRequests() was added
in commit 84f1360289a to preserve event order when we had mixed
synchronous and asynchronous expose events. That issue has been
resolved in Qt 6.10 when we were able to make all expose calls synchronous, rendering this unneeded.
Reverts 6ff771b86f7b961a5ff63f148cf69ecb3415dd95
Pick-to: 6.10
Fixes: QTBUG-139425
Fixes: QTBUG-141938
Change-Id: Idcf3dbc54dc9c3e37cdc586f9f872338e63f4f0d
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
|
| |
Introduced computeWindowStyles to centralize logic for determining
window class style flags based on window type, surface type, and
properties like drop shadows.
Change-Id: I3c3ddeb89b462f7a25754ae51e605f1fade7cf7f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
| |
Introduced computeHasIcon to centralize logic determining whether a
window class should include an icon, based on window type and flags.
Change-Id: I4702bbb0833e90163382fb318f990c79fc0f93f5
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
| |
Added a new helper function classNameSuffix to generate class name
suffixes based on window type, style flags, and icon presence.
Change-Id: I70c20f211255d9e79fc6e7e3b79dbefd861bf7be
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following qtbase/1c8884fc277c5916a420a3c14de68547a391f9fc's making
syncqt error out when an installable header contains #pragma once, we
can now flip the coin and use #pragma once as a static assertion that
the given header is not going to be installed, making it easier to
understand which headers are "public", which ones are "private" and
which ones are "neither, since never installed".
Do this for the Wayland platform support files, like
91f9ba2993a2652bcb349ce639aff67b5bfc8938 did for XCB.
Since these headers are neither public nor private, also remove "We
mean it" comments, where they existed.
Had to exclude the QtWlShellIntegration headers, because, for some
unknown reason, we install headers from the plugins/ subdir.
Pick-to: 6.10
Change-Id: I92f336f79d23134e96cbac13088dbd352e2d3a84
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
|
| |
Introduces helper overloads that return true when a window class with
the same name is already registered but uses a different window
procedure. This will be used to decide when to register a new class
with a decorated (UUID-suffixed) name.
Change-Id: I613173e61152a6f717285a1d4943b01808c1a44e
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
| |
Replaced manual field-by-field zeroing with aggregate initialization and
removed redundant assignments of default values.
Change-Id: Ic2e974ef859d3142ae2077ef306403423c979d10
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
| |
We don't export symbols from the platform plugins.
Pick-to: 6.10 6.8 6.5
Change-Id: Id3d801aba8b9fa59af9317602abffe6451be4c80
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
|
| |
|
|
|
| |
Change-Id: I56a25033843c3c1ced047fe3e9072ee6014d182c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Harmless, because QT_END_NAMESPACE is also just '}', but
eyebrow-raising, so fix.
Amends:
- d8e37e4b03f9c786e1cb3dda80b050f05f974752
- 3bf9a581ee13cac988cdfadc7f22d472c1562214
- c2f156e27bf8865dc12108e1aba7cc78bd0dba38
- 6482bf50754e36a89e157ce94096be05b108db75
Pick-to: 6.10
Change-Id: Id59044023bfaf75ddc2bff024439f3d4a20d0936
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
|
|
|
|
| |
Harmless, but ... eyebrow-raising.
Amends 58e68f1981d0ba0a80e373dd5ca78a9260824c36.
Pick-to: 6.10
Change-Id: Id5754a772c1e3244a88294390c98604bfe07f0ad
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
| |
Change-Id: Ib4afaf179bed99bdbb1be6fc7deebbdb2e6d1627
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
| |
Change-Id: I18a569a8fefc8ccd27cd4aec4f0d323d461eb0bc
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 97c891edd1dd0fda8d90ddea6da4d499f373a069.
QTBUG-141475 is just a case using the client controlled enable/disable.
Current implemention still has issues. So, another patch will fix the
problem.
Reopens: QTBUG-141475
Pick-to: 6.10
Change-Id: I23e5a3a6afa8fc2e1dc88296a585e1c33e045243
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I30a8a4b04f8b2bb40090ab810a5f84de0bd78ba4
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The iOS equivalent is a UIDocumentPickerController that exports an
existing file, so we need to create an empty temporary dummy file
to be able to show the dialog. This is also how we give a suggested
file name.
Once the target file is chosen, it's available through the normal
selected-file APIs, and the application can write to it through
the normal security scoped file system backend.
For some reason setting directoryURL to an inaccessible path,
such as the .app bundle, results in the document picker showing
an empty sheet. And in testing both open and save dialogs with
the directoryURL set to a known good path (Documents), the
iOS dialog still prefers to open to the user's last used path,
so we skip the entire logic for save dialogs for now, to be on
the safe side.
[ChangeLog][iOS] Native file dialogs on iOS now support saving
files.
Task-number: QTBUG-120528
Change-Id: I10a0e6ce78b23163933ecf67269c54b618c30964
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On Apple operating systems where the app runs in a sandbox,
the application can not access files outside of its sandbox
without explicit user approval.
This applies to iOS and friends, as well as optionally for
macOS (when the sandbox is enabled, which is a requirement
for publishing apps to the macOS App Store).
When the user gives explicit access to a file or directory,
we need to manage this access at runtime by starting and
stopping the access via startAccessingSecurityScopedResource
and stopAccessingSecurityScopedResource, and these functions
must be balanced, to avoid leaking kernel resources.
The access unfortunately doesn't persist automatically when
the application terminates (unlike takePersistableUriPermission
on Android), so we have to manually persist the access via
security scoped bookmarks. We store these inside the app's
own sandbox, in a way that limits the access to only that
application, so persisting them on behalf of the user should
be fine.
The persisted bookmarks are loaded in the background on
application start, ready for when the application wants
to open earlier accessed file or directories.
[ChangeLog][Apple] Sandboxed applications on Apple platforms,
(including macOS if opted in to) can now access files outside
of the application sandbox (so called security scoped resources)
for both reading and writing. Files or folders chosen by the user
via file dialogs or similar native mechanism are automatically
and transparently handled, including persistent access across
application and device restarts.
Fixes: QTBUG-120528
Task-number: QTBUG-117832
Task-number: QTBUG-120528
Task-number: QTBUG-141414
Change-Id: I90d94066cbf7cd74750049d5d1b990917fd10cad
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
| |
Change-Id: Icebc05fe01ef814dbd4a48519cdfa937e66104d6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a sandboxed app is missing the user-selected read-only or read-write
entitlement the native file dialogs will fail to open (and will break
in the debugger via REPORT_APP_ENTITLEMENTS_INSUFFICIENT if running
in Xcode).
The non-native file dialogs still work, but will just show the files
we have access to through the app's bundle and sandbox. But it's better
than nothing.
Fixes: QTBUG-141415
Pick-to: 6.10 6.8 6.5
Change-Id: Ia2007e5c03df73156bc4e2a2badf8a7145a83ded
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Take into account replacement range from the native
inputmethod.
also remove unused, commented out code
Pick-to: 6.10
Fixes: QTBUG-138087
Fixes: QTBUG-138821
Change-Id: Ie4616f5dcc60c2e3e7d7b9c3a41373642567e9e4
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
| |
Change-Id: Ibbcfb8ff728f7fb292dcf6bac03234f1ed88007d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
| |
There's a built in function for mapping points to screen now.
Pick-to: 6.10
Change-Id: I060cc9ba61899e4d96565fd745d93aff763a4c7a
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Drive QAbstractAnimaton-based animations using RAF.
This has two main benefits:
* The animation update rate automatically adapts
to the screen refresh rate
* The animation update happens in sync with the
draw callback, instead of as an extra wakeup in
between frames.
Add QWasmAnimationDriver, which replaces QDefaultAnimationDriver
for Q_OS_WASM.
Add QWasmAnimationFrameMultiHandler. This class supports
multiplexing multiple animation and draw callbacks to
a single native requestAnimation call. It also orders
the callbacks such that animation callbacks are called
before draw callbacks.
Make QWindow::requestUpdate() use the new multi-handler
(via QWasmCompositor, as before)
Fixes: QTBUG-133695
Change-Id: I0a3fda562a7ba2e8d659d707335d1ce116f71bd9
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Even Oscar Andersen <even.oscar.andersen@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Replace loose parameter set with a small value type to clarify call
sites and allow future extension (cursor/menu/extra bytes) without API
churn.
Change-Id: I84303ab62f22778338a5950557117db7cc2edb77
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Apple's system headers are rather big. Precompiling them will reduce the
compile times:
* building the initial pch takes 2s on my macbook
* it reduces the compile times for the translation units significantly
(1s instead of 2s for qnsview.mm, 600ms instead of 1400ms for qnswindow)
Pick-to: 6.10
Change-Id: I466c6fac04e7eb07f52cf62ee492807f48d0c3bd
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
|
|
|
| |
[ChangeLog][iOS] QFileOpenEvent is now sent if the user requests that
a supported file type is to be opened in the application. This requires
that the application declares supported file types via CFBundleDocumentTypes.
Change-Id: Ic3476ad703b51131a0973e3d6135e9aa05c2091f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Moved all logic related to window class registration and tracking out
of QWindowsContext into a new QWindowsWindowClassRegistry class. This
step preserves existing behavior and structure; no functional or
stylistic changes were made. Further cleanups and refinements will
follow in subsequent commits.
Change-Id: Iba84797067226a3de0489bc466d9cd1b7e1a4d3c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UI Automation gets confused if active windows are reported as having
keyboard focus additionally to the UI element inside the active window
which actually has keyboard focus. This makes UIA synthesizes bogus
UIA:FocusEvents for the active window. And this makes NVDA speak some
texts twice and suppress speaking other texts (e.g. the name of the
actual focus widget).
Reporting the active window as having keyboard focus only if it does
actually have keyboard focus (and not some child widget of the window)
fixes the problem with the bogus UIA:FocusEvents.
This change reverts part of 73ca3dbf490b33159ba66e936bcb11fbcd03e886.
Fixes: QTBUG-90897
Fixes: QTBUG-90899
Change-Id: I4d1aeec7ec581730c6a4797a6c95f8b2033dea6d
Reviewed-by: MohammadHossein Qanbari <mohammad.qanbari@qt.io>
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc warns about documented functions in undocumented classes; Fixes
qwaylandshellsurface.cpp:89: [QtWaylandClient] (qdoc) warning:
No output generated for function 'QtWaylandClient::
QWaylandShellSurface::commitSurfaceRole()' because
'QWaylandShellSurface' is undocumented
qwaylandwindow.cpp:920: [QtWaylandClient] (qdoc) warning: No output
generated for function 'QtWaylandClient::QWaylandWindow::
surfaceSize()' because 'QWaylandWindow' is undocumented
qwaylandwindow.cpp:941: [QtWaylandClient] (qdoc) warning: No output
generated for function 'QtWaylandClient::QWaylandWindow::
windowContentGeometry()' because 'QWaylandWindow' is
undocumented
qwaylandwindow.cpp:951: [QtWaylandClient] (qdoc) warning: No output
generated for function 'QtWaylandClient::QWaylandWindow::
mapFromWlSurface()' because 'QWaylandWindow' is undocumented
Task-number: QTBUG-141665
Change-Id: Ia0d6201783eaebcb356f4efd8d48eb42077e3b2a
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Properly scale QWindow and QBackingStore logical sizes when
creating/updating buffers and window system events.
Pick-to: 6.10 6.8 6.5
Task-number: QTBUG-141834
Change-Id: I79e22b7bb94fec0857a742be31f5e2f4a4fd2942
Reviewed-by: James McDonnell <jmcdonnell@blackberry.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Q_ENUMS and Q_FLAGS have been deprecated since at least Qt 6.0.
Task-number: QTBUG-99060
Change-Id: Ia8cbc607c34683dec99587571c0d04f1854e77c2
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
|
|
|
|
|
|
|
| |
QXcbGlIntegration::canCreatePlatformOffscreenSurface declaration should
not be behind #ifndef QT_NO_OPENGL macro. This patch moves it out.
Pick-to: 6.10 6.8
Change-Id: I0a76619ccdfc1af2ccb164a71ec515b0254c8efd
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
The OffscreenSurface platform integration capability was added in change
637918. This patch was detached from that commit to simplify
backporting.
Task-number: QTBUG-131107
Change-Id: Ic0561fb5f36514275f90e34486b90478dee02022
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: David Redondo <qt@david-redondo.de>
|
| |
|
|
|
|
| |
Change-Id: Id8ed8239aedaa59e86beba79c2e10663f8ba1c06
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use keyCode 229 to determine if the key event is a part
of input method compose, as documented by MDN:
developer.mozilla.org/en-US/docs/Web/API/Element/keydown_event#keydown_events_with_ime
This restores correct key event behavior where KeyPress
events are sent for key events which are not part of
an input method compose.
Pick-to: 6.10
Task-number: QTBUG-141226
Change-Id: I681ec15cae70c00049c9be03f6ea98222498ba6a
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
|