Since the dependency on moc is in CorePrivate (o Core) we need
the target to depend on it otherwise cmake will try to use moc before
it is built.
This is because what we do with cmake is say "moc is in this
path, you can use it", but it's actually not built yet so
we need to depend on a target that depends on moc directly otherwise
cmake will trust us and try to use a cmake that doesn't exist and just
hang forever when running make -jN
Change-Id: Icf55c62092fd3fd3754a4f4f28c8c313bf374615
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
And add the eglfs_x11 plugin
We need to actually try to compile the test as the comment it it says
that having x11 and egl is not enough since sometimes they are actually
incompatible
Change-Id: If6bdc08c21b91fa9c41663f2fa653fd59e5ddd2e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This change fixes a few things in one go:
* cmake's FindOpenGL cannot be used reliably to detect EGL. So use a
custom module for that.
* Added a custom module for GLESv2 detection, as cmake's FindOpenGL
does not support that.
* Map CONFIG += opengl to a WrapOpenGL target, which links against
either GLESv2 or libGL - just like mkspecs/features/*/opengl.prf
* cmake's FindOpenGL remains in use solely to detect the availability
of desktop gl.
Change-Id: I9315e5ad1fd88e1b7dc7e920053e98fb51fea7fc
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Target "XcbQpa" links to target "Freetype::Freetype" but the target was not
There was indeed a find_package(Freetype) missing
Change-Id: I486adbcf3b4ed0ae849a11294e2b83d2dc45d66f
Reviewed-by: Albert Astals Cid <albert.astals.cid@kdab.com>
This is less self-contained than what we have, but significantly speeds
up cmake configure/generate runs.
This patch also warns when a feature is already defined.
Change-Id: I8cab63e208ba98756b47d362a39b462f5ec55e20
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
cmake have not built printsupport yet.
Change-Id: I635b4678bbf0b659750e7f6b842834e084b6f3a5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Store QT_FEATUREs that are not emitted, but do not show them in the UI. Also separate
out the UI (FEATURE_foo) from the internal CMake value (QT_FEATURE_foo). This does
break the overriding of settings, but that did not work well before either. This
will be fixed in follow-up patches.
Remove fallout: xkbcommon_system was now evaluated where it was not before. Remove
it as that is always the case now.
Change-Id: I2d303827a1cc9afeef93ad73285a2043ddaa9766
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
QWinRTBackingStore::flush() was not considering the possibility
that the supplied region may fall partially outside the bounds
of the paint device. This resulted in possible accesses to invalid
memory addresses, causing a crash. This bug was exposed by an update
in ANGLE that was causing a crash when running tst_QTableView::bigMode
with a small screen size. With this fix the function will use the
intersection of the supplied region with the paint device bounds.
Change-Id: I2f0f0f7f5510688bfa1459320a0c146df6be65d1
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
xcb_poll_for_queued_event() was introduced in libxcb 1.8.
The minimal required libxcb version was bumped up to 1.9 in
1f5d791708. Before this version
bump we needed the runtime check to support older versions
of libxcb.
Updated connections in the event reader to use the new signal
and slot syntax. Removed threadedEventHandling() method because
now it is always 'true'.
Change-Id: I0bce61fd478a871d35e676239ee5280c4f40be8a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
There is no need to apply QMAKE_LFLAGS_NOUNDEF in a .pro file that loads
qt_module.prf or qt_plugin.prf, both of which do the same.
Change-Id: I1ec86cddb4d0991becc136f8bd50d6652c885a6b
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Normally, when deleting a widget, setVisible(false) calls -orderOut:
and then ~QCocoaWindow will call -release, as a result the window
will disappear from the screen and will be deallocated. But -orderOut:
has no effect on minimized/iconified window. As a result, a 'zombie'
window still can be seen on screen, while all Qt-thingies already
deleted/dead. The similar behavior can be reproduced with a native
NSWindow where we do not call -orderOut:/-close and only call -release.
To fix this - we call -close.
Task-number: QTBUG-70794
Change-Id: Iee8e1fc98018885f1f6e9628d966843d21ac7d38
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
When switching between different input sources, we have to update layouts.
Task-number: QTBUG-50865
Change-Id: I0c23c19b79a2102dcc533822b0f861c387582c6c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Previously some of the members would have random initial values. Also,
on updateKeyboard() if we don't find usable uchrData, we should just
reset keyboard_layout_format and keyboard_mode, rather than keep the
previous values.
Task-number: QTBUG-50865
Change-Id: I1297fa55bb1593dd549d0bc122713d5d98f7b1fc
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Calling update has a cost, and should only be done when the drawable
object changes size or location. Instead of calling update each time
makeCurrent is called, we listen for the appropriate notifications,
limiting the number of update calls significantly.
We still call update on the thread owning the QOpenGLContext, which
is not ideal, as [NSOpenGLContext update] should only be called on
the main thread, but in practice this works. Getting out of this
situation is tricky, and setView has in theory the same problems.
Until those problems have been solved we keep the behavior as is.
Task-number: QTBUG-63572
Change-Id: Ibac9f8be7843f2aa006af6f7ee670bf027122440
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
When the font changes in NSFontPanel, it notifies NSFontManager via
-[NSFontManager modifyFontViaPanel:], which in turn sends the font
manager's action (by default changeFont:) to its target (nil, unless set).
Sending the action in -[NSApplication(NSResponder) sendAction:to:from:]
will sanitize the 'to' argument via _NSTargetForSendAction.
If the argument is non-nill (if we've set the NSFontManager target
explicitly), and we're running in an app-modal session (which we are),
the target is checked for worksWhenModal -- a property which is defined
on NSWindow, and only supposed to be set for subclasses of NSPanel.
Since our QNSFontPanelDelegate class doesn't implement this method, the
_NSTargetForSendAction function will return nil, and the action is never
sent.
If we don't set the NSFontManager target (leaving it as nil), the function
will skip the worksWhenModal check, and fall back to resolving the target
via the responder chain, which includes taking the NSPanel's delegate
into account:
#0 -[NSWindow delegate] ()
#1 -[NSWindow(NSEventRouting) supplementalTargetForAction:sender:] ()
#2 _objectFromResponderChainWhichRespondsToAction ()
#3 _NSTargetForSendAction ()
#4 -[NSApplication(NSResponder) sendAction:to:from:] ()
#5 -[NSFontManager sendAction] ()
...
Since we want to end up in the QNSFontPanelDelegate, we can rely on the
default logic to resolve the target based on the responder chain. But in
case _NSTargetForSendAction will at some point also check the resolved
target for worksWhenModal, we also implement the worksWhenModal method,
to be on the safe side.
Fixes: QTBUG-69878
Change-Id: Ie739d016fe0efd17b3d8a99cc1fb1ace81807aff
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
The detection of multiple mouse button presses was broken in the new
WM_POINTER-based implementation. The bug was due to the incorrect
assumption that the press/release of a second mouse button (while
another one is held) would also send WM_POINTERDOWN/WM_POINTERUP, while
in fact it sends a WM_POINTERUPDATE with the actual event type given
by pointerInfo->ButtonChangeType.
Task-number: QTBUG-70787
Change-Id: Ib6776ab7f3d0b8eb5e832a0c863a15bde456e0dd
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Includes pop-up windows which are implicitly showWithoutActivating
windows. The QNX platform code was allowing screen to activate
these windows when they were shown.
Add code to activate showWithoutActivating windows when they are
first touched or clicked on. From there, screen handles activation
as it does for any other window.
Change-Id: If443676e497a97724e16037b34d3db1d7c335790
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Janne Koskinen <janne.p.koskinen@qt.io>
Reviewed-by: Rafael Roquetto <rafael@roquetto.com>
The message is not sent to the QAbstractEventDispatcher, so it needs to be
excluded from the list of input messages not sent to
QAbstractNativeEventFilter.
Amends a0a22037cd.
Fixes: QTBUG-70873
Change-Id: Id84d73b46e8954867c06a4ddf5dc9e536ecd897e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Introduce this static function to detect tray icon windows.
The old non-static method was unused, so drop it.
Change-Id: Ia97b8a857bd1807ecd56340efbc9b145844d593e
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
In some cases OpenGL integration may be unnecessary, e.g.
an application may set Qt::AA_ForceRasterWidgets attribute
and don't use OpenGL in any other way. In addition OpenGL
initialization can take noticeable time on some configurations.
So do it on demand only.
Change-Id: If88953f8d5c826bc96fd49eb397b5e1ad693546d
Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
[ChangeLog][QtWidgets][QMessageBox] On Android and iOS it's now possible
to show a QMessageBox with custom buttons as a native dialog.
Task-number: QTBUG-35545
Change-Id: Id3be69e70468f767a43ea5f2ba64f9bac1898423
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Repeatedly attempt to open the clipboard in case it is opened
by other applications.
Task-number: QTBUG-27097
Change-Id: Ic1cfec0bb17e34f8c7f744add21a4431dae4f5b7
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Pass the requested render to detectSupportedRenderers(), replacing
the bool glesOnly parameters. This allows for simplifying the code.
Fixes: QTBUG-70733
Change-Id: Iab65f62d24bf750019180e3b00e2d23c105e5997
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Suppress keyboard events following a WM_APPCOMMAND except for
APPCOMMAND_BROWSER_HOME, which does not trigger two events.
Task-number: QTBUG-62838
Change-Id: If04206c9ef9409224b4cbc96190792b9be4f656d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Also make fullscreen windows not have a titlebar
Task-number: QTBUG-69318
Change-Id: I017fc40fecb9f46d6540ffb72a71c9b62097a368
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>