| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/corelib/doc/src/objectmodel/signalsandslots.qdoc
src/plugins/platforms/cocoa/qcocoamenuloader.mm
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbconnection.h
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
tests/auto/gui/image/qimage/tst_qimage.cpp
Done-with: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I9bd24ee9b00d4f26c8f344ce3970aa6e93935ff5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
According to MS sample code, MSAA requests should be replied with
UI Automation providers to enable the use the UIA-to-MSAA bridge, in
order to support MSAA-only clients. Also changing the mapping of
QAccessible::Client from UIA_CustomControlTypeId to UIA_GroupControlTypeId,
as it seems more appropriate and avoids an incorrect mapping to a push button
type in the UIA-to-MSAA conversion.
Change-Id: I5149d250da2d1bd7b14b44ca46e856a81c9be045
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Since image files easily can be (or corrupt files claim to be) huge,
it is worth checking for out of memory situations.
Change-Id: I635a3ec6852288079fdec4e14cf7e776fe59e9e0
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set the Z-order to HWND_BOTTOM in that case.
Add a doc note stating that it only works for frameless or
full screen windows.
Task-number: QTBUG-53717
Change-Id: I7abf219a88aac715c51d27d925504da9e91b56f1
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The logic seems to be incorrect (or the naming is misleading): it
only adds 'appMenu' if it was found in the previous 'mainMenu',
failing otherwise. Consider the following example:
while (true){
QApplication app(a,b);
MainWindow w;
w.show();
app.exec();
}
It's quite a contrived but apparently allowed API use (OP claims
they have to switch languages in their app). The main window and the
app are destroyed, so is the menu bar. Then a new main window is
created, with a new menu bar. Now the current [NSApp mainMenu]
(the one set after we deleted the previous) does not have 'appMenu'
anymore (we removed it when initializing the first menu bar).
So as a result we have app menu missing and add new menus/items
to a wrong menus/at wrong index.
Change-Id: I64fce766d6c12ebf7ae12bb94af41c8c1de3d78b
Task-number: QTBUG-69496
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After trying to fix (work around) system resize/move issues in various
ways from within the platform plugin, it has been concluded that it is a
bug at widget layer and should be fixed there instead: QTBUG-69716.
This patch reverts parts of 3bc0f1724a and disables system move / resize
on XCB plugin. Meaning, QSizeGrip will use its own implementation for
resizing a window.
Task-number: QTBUG-68501
Task-number: QTBUG-69628
Change-Id: Ib4744a93fb3e3c20f690a8f43713103856cb7d1a
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Override cursors can be modified externally when for example crossing
window borders. Add helper function to enforce the cursor again to
QWindowsWindow::applyCursor() which is called for enter events.
Task-number: QTBUG-69637
Change-Id: Ibea4da9f2aac81377002b626daae64b1102f6c2b
Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| |
| | |
Coverity-Id: 178810
Change-Id: I996955543c32907a54bf095bf52f242dbb7d5400
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Use ' = default' for trivial constructors/destructors
- Remove unneeded destructors
- replace virtual by override or add override where applicable
- Add Q_DISABLE_COPY
Change-Id: Ic7a61579dbc845769beada4fc79bb5dd310e5e52
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Replace index-based loops by range-based for
- Change else if to if after return/break/continue or simplify
- Fix indentation
- Do not check for non-null before invoking delete on pointer
- Use isEmpty() instead size() to check for empty containers
- Remove C-style casts
- Use raw string literal
- Do not repeat type in return, use {} instead
- Reference local variables by const ref where applicable
Change-Id: I5cc4b4026a10bddb561ba1ba8ec137e0d4119f94
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On winrt top level windows are always considered fullscreen and the
core window's bounds are considered the bounds of QScreen. Thus When
checking the mouse cursor's position the window bounds have to be taken
into consideration.
Change-Id: I39f24399bbaeade58d547abc770d4b3094174160
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: I4b2e0cd19969cf44a2de65bd0e52a32fc8e535b0
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Additionally to setting the cursor position we have to make sure that
enter and leave events are triggered. As WinRT at the moment only supports
maximized/fullscreen native top level widgets, an enter or leave event has
to be triggered, every time the cursor enters or leaves the core window.
Same as is done on Windows desktop an enter event is immediately followed
by a move event even for emulated mouse events.
Change-Id: I4b9a7b07f8e24b7887619f96979a064d933788aa
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I12ac982aa977c69af936f503369c91bac88492a9
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The updateFormatFromContext function that read GL state has been
merged into updateSurfaceFormat(), we're using AppKit classes
and functions instead of Core GL, and the logic has been simplified
by using attribute/parameter helpers.
Change-Id: Iec6717f457a0b4dbc8e34c3e15fcbcc42895b23e
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I0b82ef95c1a058586e8005665e1e2cab3f975833
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ie16256282784926506355012a735511b98118614
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I1a439d8cec950cb23c977eedfcc1b8810c6cd1c5
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We only need the QVariant native handle when creating the context, so
there's no need for a getter, and we then rename the NSOpenGLContext
getter to match e.g. QCocoaScreen::nativeScreen().
Change-Id: I041e0eff39af9c8836d8ecd560ea07e92dc63e03
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
They should be available in all SDKs we build against and support.
Change-Id: I799492e0b21a877717fb3a8391bcbad0f8581628
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QOpenGLContext::setNativeHandle() is documented as:
"configuration settings, like format(), are ignored since this
QOpenGLContext will wrap an already created native context"
We should respect this and not apply QT_MAC_OPENGL_SURFACE_ORDER.
Change-Id: Idfdf3eac0e9f9d0a86f1b23aa475c3e4f12127e2
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The makeCurrent one was not explained in the commit message that introduced
it, and doesn't make any sense, while the constructor one is no longer needed.
Change-Id: I67e2f2aaff5d8602781b27f122f415068a1f2301
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I6e93934b466f86b7607c9ad30c4c28a9c0f40fd7
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of trying to mask situations where [NSOpenGLContext setView:]
will fail (such as calling it for a view that's not part of a window
yet, or part of a window that hasn't been shown), we report the error
up through the API, so that QOpenGLContext::makeCurrent() will return
false. This is documented to occur e.g. when "the surface is not exposed,
or the graphics hardware is not available due to e.g. the application
being suspended."
QGLWidget was taught how to deal with this situation in cc27a50e. Other
Qt APIs seem to handle it fine, but if regressions occur they should be
fixable though the same logic as in cc27a50e.
Change-Id: I92775fc165444696b6c5b44fa0e28ce3c4ad2190
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We only update the properties that have actually changed.
Change-Id: If711530c6118d2550d5a0e968ee02c903b44fd04
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unnamed namespaces and static are great tools. Use them.
Change-Id: Ie01831ddac5446fdbdeefffd15468b3acb3ced79
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Group methods by their areas of responsibility to make it easier to
follow the logic of the code.
Change-Id: I64dbf60004d0f4c281312451e0781da31997c64d
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:78:21: error: conflicting declaration ‘using my_bool = bool’
using my_bool = bool;
^
In file included from /home/nierob/dev/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql_p.h:60,
from /home/nierob/dev/qtbase/src/plugins/sqldrivers/mysql/qsql_mysql.cpp:40:
/usr/include/mysql/mysql.h:53:14: note: previous declaration as ‘typedef char my_bool’
typedef char my_bool;
^~~~~~~
Seems that type was implemented with char not bool.
Ammends 82b4c79fb90c1a01165b96455ae48715c3059bbe.
Change-Id: Iccb70303a3af5c298922525b219dc6ed6168ba0b
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
|\ \ |
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
qmake/library/qmakebuiltins.cpp
src/plugins/platforms/windows/qwindowstabletsupport.h
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbconnection.h
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
src/plugins/platforms/xcb/qxcbwindow.cpp
src/widgets/styles/qstylesheetstyle.cpp
tests/auto/widgets/styles/qstylesheetstyle/tst_qstylesheetstyle.cpp
Done-With: Gatis Paeglis <gatis.paeglis@qt.io>
Change-Id: I000b0eb3cea2a5c7a99b95732bfdd41507cf916e
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With newer HoloLens images every touch event has a pressure of 0.0.
By checking both values we make sure that touch points are handled
correctly for new and old images.
Task-number: QTBUG-69651
Change-Id: Ic16e3416ffb7a89e4c1adbec1703e84aa962b211
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix the #ifdefs.
Amends 3bc0f1724ae49c2fd7e6d7bcb650350d20d12246.
Task-number: QTBUG-68501
Task-number: QTBUG-51385
Task-number: QTBUG-32476
Change-Id: Icc6421fe2e91a3b29bcec8cb1a8a91cb71ae3172
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that the mouse mode check is only done once for the first event
after the TabletEnterProximityEvent, the m_oldGlobalPosF member has
lost its purpose and should be removed.
Worse, its value was used instead of currentGlobalPosF when in pen mode,
resulting in an unnecessary 1-frame delay in the reported positions
in the tablet events.
Task-number: QTBUG-36937
Change-Id: I6bd2db57898850a65088d9bb41fbfbd96eac54f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When an element is not visible then it should not be shown in the element
tree at all when using tools like Inspect. Also, the IsOffscreen property
was hardcoded to false instead of reflecting the actual object offscreen
state.
Task-number: QTBUG-69537
Change-Id: If6e8a4685c0505ee2b99dfbb8bf2b5d0f4112b1e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1) After a37785ec7638e7485112b87dd7e767881fecc114 it become
apparent that we don't get mouse release event from X server
when system move/resize ends (because WM is grabbing the pointer).
The old code (before a37785ec) would wrongly deduce mouse move
as mouse release, which is why the issue was not seen before.
The solution is to subscribe to slave device events.
2) This patch also amends 2488f34ecfd68702b5508c50cca3fb8e967ac8ea as
that patch was solving the issue only for 1/3 of the supported DEs.
It worked with KWin, but not with Unity and Gnome. Its worth
noting that it also worked with two other WMs that I tested -
openbox and awesomewm. The way forward is to detect when system
move/resize was started as a result of touch event and let the
QSizeGrip do the move/resize instead of WMs that are known to
have bugs.
With this patch we also need to adjust the event compression algorithm
to not treat all XI_TouchUpdate events equally. For XI_Motion we don't
care if the event that we process comes from a master or a slave device,
so we can process them as equal.
Task-number: QTBUG-68501
Task-number: QTBUG-51385
Task-number: QTBUG-32476
Change-Id: Iab4e79a289d7bc0fe26f7ae2cff7c562f51a3334
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Qt allows this as a property of QCheckBox, so it should
be enabled in its Cocoa counterpart.
Change-Id: I88eb6dddabb173050c4fe7229f15c768181ef527
Task-number: QTBUG-69453
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This prevents the view from triggering display of its superview when
being temporarily added, which is both inefficient and causes issues
when those dirty-rects are wrong due to the wrong frame position of
the added view.
Task-number: QTBUG-67998
Task-number: QTBUG-68023
Change-Id: Idc87d0540216e2e39cc84cc57cb818110c9d00e2
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| | |
The broke compilation with clang on linux.
Change-Id: I4731017d8a89c11821fbdd98128e27aafc857f97
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I8fc1ba7aac1c8ac86a8cb5d6f864180e0721926f
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It was supposed to be used in Qt Quick Controls 1, for the desktop
style, but the followup patches in QQC1 never landed, and QQC1 is
now deprecated.
Change-Id: Iceefd523fc02a9e48b986dc33bb13a41804dd199
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Allow to use binary search instead of iterate over array
Change-Id: Ibcce1a2296e85f51a61fbb5e64e23e5a27464959
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When an element is not visible then it should not be shown in the element
tree at all when using tools like Inspect. Also, the IsOffscreen property
was hardcoded to false instead of reflecting the actual object offscreen
state.
Task-number: QTBUG-69537
Change-Id: Ic8f55486685837cf5e21b3499085bb669c1dc6c8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I351635c7cc0bb8c852626dc3c0a3caf33b25a761
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
The flag is deprecated.
Change-Id: Ice6ffafac6a5fa79675fc7cd84a9fb746f17dfb5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To quote the documentation:
Queries and returns the state of the modifier keys on the keyboard.
Unlike keyboardModifiers, this method returns the actual keys held
on the input device at the time of calling the method.
So GetCurrentKeyModifiers seems to be the correct Carbon
function to use.
[ChangeLog][QtGui][QGuiApplication] Fix queryKeyboardModifiers() on
macOS to actually return the current modifier key state
Change-Id: I11f2ef1897a39aea13df4afbfebb8172ca803a30
Task-number: QTBUG-26413
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As remote based printers can be slow to query, meaning that it will take
time to check all the capabilities, especially if the QPrinter is
recreated on need. Then the information should be cached and reused if
the printer is deemed to be the same.
Change-Id: If8f9626c0d44113c698b4f61bbd197157932ccbe
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When flushing parts of a QBackingStore onto child QWindows, and we're
in layer-backed mode, we need to set the contentsRect of the layer
so that the layer will only show the part of the top-level-owned
backingstore image that's relevant for the child window.
Since the contentsRect is in unit coordinate system, we need to apply
a transform, but this must be based on the top level view's size, not
the image size, as the latter will be twice as big on a retina screen,
giving the wrong unit rect.
Change-Id: I7d6f378ed46a98272efb13406a2878ec1efe734e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The macOS bug preventing us from doing this has now been fixed:
http://openradar.appspot.com/radar?id=4976602949615616
Change-Id: I3bfa75d6bf982a051a9b274f530529f4ec4351a0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since MySQL 8.0.1 the my_bool type has been removed because all the C
compilers supported by the project supports C99 which has bool through
<stdbool.h>. This patch makes the driver both forward and backward
compatible.
[ChangeLog][QtSQL][MySQL] Now supports MySQL versions >= 8.0.1.
Change-Id: Ib373992763643bd470d33e85ce5cec7e4ae5e895
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I0fa37457f91d905ed6fb8a2aba20add311705ec7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
|