| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/corelib/io/qprocess_unix.cpp
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
src/widgets/util/util.pri
tests/auto/corelib/thread/qthread/qthread.pro
tests/auto/corelib/thread/qthread/tst_qthread.cpp
Change-Id: I5c45ab54d46d3c75a5c6c116777ebf5bc47a871b
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: If2ac57a10f38002db5a49be3882dfc507a84a3df
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
.. and remove it from qxcbconnection_xi2.cpp as this file is build
_only_ when xinput2 is available.
Change-Id: I66d6a299c120fc034f8519cd188e1b845d5bd1bc
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I9bc229b0d1430b81eeb2cfca2b24474736d5d561
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Rearrange code handling QtWindows::DisplayChangedEvent.
Change-Id: If9f32516108fb64c4a252c84392f2fd7f1872bf1
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ibd7ed7f269a64afddadee70979b20f1c58398378
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I46083a9115c199d1ebe024ed5f64b160a27462f1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... and remove the XCB_USE_XLIB define.
This patch also removes the unnecessary checks for xcb-xlib in:
- qxcbglxintegration.cpp as this files is build _only_ when
xcb-xlib is present. From gl_integrations.pro:
qtConfig(xcb-xlib):qtConfig(opengl):!qtConfig(opengles2) {
SUBDIRS += xcb_glx
}
This also would have been the right place where to define
XCB_USE_XLIB, instead of unconditional line in xcb_glx.pro:
DEFINES += XCB_USE_GLX XCB_USE_XLIB
- qxcbnativeinterface.cpp as this cpp file does not use any
Xlib APIs directly, there is no need to include Xlib.h.
Change-Id: I531b5f1e79606fcfd1c63810cf51b7d5e9dc58a7
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
... as it is a window, not widget. This matches the name from
cpp file: QXcbBackingStore::QXcbBackingStore(QWindow *window).
Change-Id: Ib9f69cbe80ea645bbce0e4f5ef24a8df8808b823
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Amends 9c1d3bc253abd4418f3050d19ec5f05bef3ada97.
Change-Id: I912096794d274617e5b290dfb42685088cd49b23
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The key events and input method callbacks coming from Cocoa are targeted
at our specific NSView, so we should deliver them to the focus object of
the corresponding QWindow, not the global application focus object.
This means that we'll deliver key events to windows also when they are
not key (active), but this is intentional, as we would otherwise fail
to deliver input method events coming from e.g. the emoji/symbol picker,
which steals the key window when active.
Task-number: QTBUG-61359
Change-Id: I61326c08ad8bbd0c535b3cc8a67d0ceeec7ee910
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-60012
Change-Id: Id5291f768a4b9d8d9c77804cb697e0c9fb151012
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| | |
It is needed to implement Android Binder in Qt.
Change-Id: I8f6f8ef778f97a444a1b16d6f62e211e188b65cc
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The platform window is now protected by a QPointer, so we don't need
to juggle the NSWindow retain count.
Task-number: QTBUG-37287
Change-Id: Id55ea311f0793370e248aa58cc8e383b574fbb40
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
And their corresponding synthesizations. The compiler will take care
of it for us.
Change-Id: Ifa42e0732059008af6f3f65151bf203a1a19079d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now track the platform window with a QPointer, so the event callbacks
can (and do) check the validity of the platform window before passing
them on. The window property of the NSView is also nil at the point of
even delivery, if we need another way to check if the event is still
valid.
Task-number: QTBUG-39211
Change-Id: I6179bdb3af9606cd0abf981c0fe6cacb9a2d98ab
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The code was introduced in 28c9c2ea50, but child NSWindows are no longer
supported, so we can simplify the code by removing it.
Change-Id: Ic98b8b0e0a84d5f2adba1840bd8318de2be031b6
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Like other QWindow properties we can just store it, and the platform
window should pick it up on creation like other properties.
[ChangeLog][QtGui][QWindow] setMask() no longer requires the window
to be created to have an effect; it can be set at any time.
Change-Id: I55b616363801b770bd61bda5325b443013b99866
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the Q_XCB_REPLY() macro and let its unique_ptr<> take care of
free()ing the reply.
Change-Id: I32eb9c56ea0ba5632bf6ab39c77567d10f442995
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although [0] claims "This request does never generate any errors", it
seems I sometimes get back a NULL pointer from
xcb_randr_get_output_property_reply(), leading to a segfault (in the
qdatetimeedit auto-test). So check reply isn't NULL before
dereferencing it.
[0] https://www.systutorials.com/docs/linux/man/3-xcb_randr_get_output_property_reply/
Change-Id: Iadae835bb3017bf9bb40f180b75b0c391384f99b
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
They have a native maximize/zoom button in their titlebar, so there's no
reason for us to prevent the same action via the API. The only states
that are prevented are minimized and fullscreen.
Change-Id: I84fa48b31b243fa838c90ecdeee92a2f3448ee14
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I09ac42af476feb1d561a77f68999a2754a2e252e
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... as it does not add much value and is not widely used.
and cleanup code:
- where we repeatedly (for no good reason) call DISPLAY_FROM_XCB,
instead of storing display as a (member) variable.
- inconsistency where we (in the same function) alternatingly
use DISPLAY_FROM_XCB and variable holding pointer to Display
(when both refer to the same display).
In other places this patch replaces macros with code they would
translate to (or with minor adjustments to keep sensible line length).
Change-Id: Ieb2a3e055892dcf31f132891f83ed4a665e3fa6e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I14149231d12658c59e3f9f87f2943ccdfbea4d43
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I0e12502de544f79636ec1a67b87bc856ddfc6675
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The private feature was only used by QToolBar to solve QTBUG-33082, but
the solution doesn't work, and complicates the macOS platform plugin
quite a bit.
A better solution is likely to use Core Animation layers, which is a
direction we're going in anyways. To make it easier to modernize the
macOS platform plugin, including moving to using layers, we remove the
child NSWindows codepaths for now.
Change-Id: I4b19464be3980fd84dd7af8316d4d5e85ba813b1
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ie75419c7ffb7a8fdf78d53e1ea14afee63ef1656
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed to use qtvirtualkeyboard with offscreen platform
[ChangeLog][Platform Specific Changes] Input context support to
offscreen platform
Task-number: QTBUG-60268
Change-Id: Id24dc8b0461036923df2c1624bcb913d28e0819e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/corelib/io/qprocess_unix.cpp
src/corelib/io/qprocess_win.cpp
src/plugins/platforms/android/qandroidplatformintegration.h
src/plugins/platforms/windows/qwindowscontext.cpp
src/plugins/platforms/windows/windows.pri
src/tools/uic/cpp/cppwriteinitialization.cpp
src/widgets/doc/src/widgets-and-layouts/gallery.qdoc
Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
|
| |
| |
| |
| |
| |
| | |
Change-Id: I65b4f6a8fcbdad537a984064e332a4a1f34a265a
Task-number: QTBUG-43669
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It indirectly includes X.h with LSBFirst and MSBFirst macros.
Use XCB_IMAGE_ORDER_LSB_FIRST and XCB_IMAGE_ORDER_MSB_FIRST
macros instead and remove unneeded XCB_USE_XLIB guards.
Change-Id: Ic24c9605d0a627253f2793f9feab6c6e19dcda08
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
(cherry picked from commit 538b9f504c0de11c473a40aed66df9900ac1c6c4)
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qwindowsdirect2ddevicecontext.cpp:92:105: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'HRESULT {aka long int}' [-Werror=format=]
qWarning("%s: EndDraw failed: %#x, tag1: %lld, tag2: %lld", __FUNCTION__, hr, tag1, tag2);
Change format to long and cast argument to long for extra safety
(should some obscure MinGW header define another type).
Change-Id: I7e6cb8ea1e5c27ef104b162ced9a696ab252fd8d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Invert the selection handles icons when the selected text is rtl.
Task-number: QTBUG-61073
Change-Id: I8339a14d1e4d9e79d218516daf3ac783911f6026
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ultimately, the tracking areas seem to be managed by the
NSWindow (or at least somewhere else than the NSView itself).
So, it can happen that we involuntarily leave dangling pointers
in the system after the QNSView is released. This has shown to
crash applications creating and deleting many native views on a
single QNSWindow, e.g. calling winId() on a complex and dynamic
QWidget hierarchy. The crash would happen when the QNSWindow
receives a native enter event, which results on Cocoa trying to
invoke the owner of a previously deallocated NSTrackingArea.
Change-Id: I3ca7a39ee5f1ec51c2215639f61ba907de3d8659
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The call does nothing as it's always called from the Android thread,
meaning there are no events, or even eventloop.
Change-Id: I6c03b6ebe74bc52af45bc295b42aa01ad6d51157
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| |
| |
| |
| |
| | |
Change-Id: Iddb4fec951c4dfa8c1052fb18ed62504d28a4792
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is amends commit 9091a058bc61e29 to make sure we don't drop
geometry updates that are set before the platform plugins is ready.
Task-number: QTBUG-60963
Change-Id: I4489eb9329bb8983458ad328a43b85382bba3cf6
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace all checks for DEFINES in windows.pri by proper
configure system checks as they no longer seem to work.
Task-number: QTBUG-61192
Change-Id: I625c9de0812fd376d06eacb065d3a32a499b6b00
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We can't rely on virtual dispatch in the destructor.
Task-number: QTBUG-61140
Change-Id: Ib1026caf126095778c24254775cb5a0bfecf3a38
Reviewed-by: Fabian Vogt
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extract a helper function to read the setting and use that
in file dialogs and tray icon.
Task-number: QTBUG-60593
Change-Id: I03cf1e45611690a128bf2cc17eba5dff23b86969
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QPA is modeled on the assumption that the cursor is a property
of the window and therefore sets the override cursors on all windows.
However, on macOS and Windows, the cursor is set per application (or
screen). On these platforms, the per window cursor setting needs
to be emulated which is a source of bugs especially for override
cursors.
Add new virtuals to QPlatformCursor allowing to set override
cursors which can be implemented by directly setting the cursor
on those platforms.
Task-number: QTBUG-40122
Task-number: QTBUG-61133
Change-Id: I31d6a927128d22bb1620a8ace35988c0e126236e
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: If3f474dcb6ee117c6dd26cd56fd4ad8d39e60e1f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
src/widgets/widgets/qmenu.cpp
Change-Id: I6d3baf56eb24501cddb129a3cb6b958ccc25a308
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
key pressed"
The change has been found to break Ctrl+C/V shortcuts when
using a Russian keyboard layout.
This reverts commit c6ecbd4762dd753d34a8ed36bbb4ef3885a2f0fe.
Task-number: QTBUG-61086
Change-Id: I0dce708b1a65b08ea10317d723c38b0414cbac7f
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds USB mouse handling support for INTEGRITY
Change-Id: I8a2a51c8c3578898e90dd5bbb01f6aed6c64e2a4
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Timo Aarnipuro <timo.aarnipuro@qt.io>
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
Reviewed-by: Rolland Dudemaine <rolland@ghs.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Tero Alamaki <tero.alamaki@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QWindow uses device independent geometry while QXcb and QPlatform
classes do not.
When QXcbWindow::create is called we have no guarantee that the correct
screen has been set in QWindow so the code
attempts to check if "currentScreen" matches "actualscreen". To perform
that operation though we need to convert
the units from "Device independent" to "native pixels" that we do by
calling QPlatformWindow::windowGeometry which
calls QHighDpiScaling::toNativePixels which requires the correct screen
to be already set.
So basically we have a cyclic dependency, to get the correct screen we
require the correct screen to be already set.
To fix this we can:
1-Remove the dependency (Look for the actual screen using device
independent pixels)
This will imply adding code in QXcb to use
QPlatformScreen::deviceIndependentGeometry to lookup the screen up
2-Make sure the Screen is set before calling QXcbWindow::create
This patch implements the first approach that allows us to keep the
changes within the QXcb backend which seems to be the only one affected.
Task-number: QTBUG-53813
Change-Id: I6dc955d63e17c3b3421f3a1a9e0d841e508b2e5c
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I5bdfe9bb50aafe50542c665d91973e4c0c12e602
Reviewed-by: Nikola Velinov <nvelinov@ghs.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Caught by Clang 4:
error: variable 'k' is incremented both in the loop header and in the loop body [-Werror,-Wfor-loop-analysis]
But we don't want to change behavior unless we can prove that it's wrong
or that there's a way to refactor this without changing it.
Change-Id: Iecee112b0cd96bec8d975430a74ca548ee2f470f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
89870a35bde2f67f9c371ba145e90b86d3e2dd1b introduced an
usage of std::free without including cstdlib.
Change-Id: I9b7ae1caf90bf22aae99cc0407347350c83181a2
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|