| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Define the static QAtomic at file scope to avoid GCC's pessimisation with
function-static QAtomic (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79561),
and make sure the initial value is 0, so it ends up in BSS, not TEXT.
In QRhi..., don't create a static instance of the wrapper class, use a file-
static atomic, too. This turns the class into a glorified namespace.
Change-Id: I707f628e2b434330028077223071716d5704ba32
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reflects QWidget API, and restores some behavior from Qt4.
Some WM can have several state at the same time. On Plasma for example,
when a window is both maximized and minimized, the "maximized" checkbox
is checked from the taskbar entry.
The API of QPlatformWindow was changed to take a QFlag and the platform
plugins were adapted.
- On XCB: Always send the full state to the WM. And read the full state.
- On Windows: The code was originally written with '&' in Qt4, and was changed
to == when porting. Some adaptation had to be made so the states would be
preserved.
- On macOS: Only a single state can be set and is reported back for now,
with the possibly to expand this in the future.
- Other platforms: Just do as before with the effective state.
Task-number: QTBUG-57882
Task-number: QTBUG-52616
Task-number: QTBUG-52555
Change-Id: I7a1f7cac64236bbd4c591f796374315639233dad
Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
|
|
|
|
|
|
| |
Task-number: QTBUG-57747
Change-Id: I7e6a26b447cb929842e69e85fb91882c04ae10d0
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The "rect cache" has been #if 0'd out for ever. Do not waste time on
maintaining a vector for nothing.
Change the screen image to be a normal member variable. There is no need
for extra heap allocations.
Task-number: QTBUG-56306
Change-Id: Ib88aa57896bf1a616b8cedbec7490f0a4bf0ba5f
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...unless the legacy behavior is requested via
QT_QPA_FB_FORCE_FULLSCREEN=0 or the platform plugin overrides
QFbScreen::flags() to return QFbScreen::DontForceFirstWindowToFullScreen.
The long pending asymmetry between eglfs and linuxfb is going to end
because with the increased focus on the integrated Qt Quick Software
backend the expectation for launching apps with -platform linuxfb is
to behave in the normal, eglfs style, embedded manner. Forcing every
app to handle this manually in QML is silly.
Widget applications also benefit since the old non-fullscreen main
window approach is pretty much never what is wanted (considering there
is no desktop and the content in the background is either garbage or
whatever was on the terminal).
However, not every fbconvenience-based platform wants this. For
example, vnc should remain with the old way where window sizes are not
altered. vnc therefore opts out via QFbScreen::flags().
bsdfb follows the linuxfb behavior.
[ChangeLog][Important Behavior Changes] The linuxfb and bsdfb platform
plugins now follow the behavior of eglfs by making the first window
fullscreen. This provides consistency and avoids applications having
to make their windows match the screen size manually. The new behavior
can be disabled by setting the environment variable
QT_QPA_FB_FORCE_FULLSCREEN=0.
Task-number: QTBUG-48658
Task-number: QTBUG-56306
Change-Id: I63d917147ce37205e29cbd0c6f37f35c46d4509c
Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see
http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/
Updated license headers to use new LGPL header instead of LGPL21 one
(in those files which will be under LGPL v3)
Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9
Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.
Outdated header.LGPL removed (use header.LGPL21 instead)
Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing
combination. New header.LGPL-COMM taken in the use file which were
using old header.LGPL3 (src/plugins/platforms/android/extract.cpp)
Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license
combination
Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe
Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
|
|
|
|
|
|
|
|
|
| |
- Renamed LICENSE.LGPL to LICENSE.LGPLv21
- Added LICENSE.LGPLv3
- Removed LICENSE.GPL
Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2
Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
|
|
|
|
|
|
|
|
|
| |
Use the same variable in QAndroidPlatformWindow.
Task-number: QTBUG-34764
Change-Id: Idf33707e81cf7306663196f3c17735d8dc1dde5d
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-34469
Change-Id: Id77cf738f96bb94582833f6734a2a491b01e1666
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, showFullScreen() had a race condition: it depended
on QFbScreen::setGeometry() being called after the window state was
set (that would trigger QPlatformScreen::resizeMaximizedWindows(), which
was the only part of the code that reacted to WindowFullScreen).
On Android this caused random behaviour.
Task-number: QTBUG-33294
Change-Id: I228e6af4139af1a47387e7d80757d7b46e859580
Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
|
|
|
|
|
|
|
|
| |
Additions to make the convenience classes work for the
Qt for Android port.
Change-Id: I25ba0faf93c7e09ab04a3fa0784e04631e5ab036
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
|
|
|
|
|
| |
Change-Id: Ic804938fc352291d011800d21e549c10acac66fb
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current implementation requests the platform window to set
as many of the flags it can, and return the same flags with the
unsupported flags removed.
The problem with this approach is that the platform window is created
as late as possible, so a call to QWindow::setWindowFlags would in
many (most?) cases never be forwarded to the platform window (instead,
the platform window is responsible to check the current window flags
upon creation). As such, the filtering would never be done.
Looking at the current set of plugins, most of them also seems to
ignore this protocol, returning the flags unfiltered.
This patch suggests removing the return value from
QPlatformWindow::setWindowFlags. This will at least be consistent, so
that setting/getting flags would produce the same result independent of
delayed window creation. If needed, we can later add new API to
QPlatformIntegration or QPlatformWindow for querying supported window
flags.
Change-Id: I9c759b5f9fab5ebed764a982f77fe19881118875
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
|
|
|
|
|
|
|
|
| |
Change copyrights and license headers from Nokia to Digia
Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QFbWindow::setVisible doesn't call into the base class implementation
and thus suppresses the delivery of the expose event. It turns out we
don't need to track the visiblity at all since the base QPA code tracks
this already.
After this change, windows are now render on the framebuffer.
Change-Id: Ifcfc730456883eb423d79479bd0b04330b8c2d72
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
|
|
|
| |
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Change-Id: Id1eb31ff15713c4ce3659f71d23a18ecf42f6bd3
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
|
|
|
| |
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Change-Id: I856ea141a39f23968169ba29be1445fa089f7f02
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
|
|
|
|
| |
This moves the addWindow call to the platformsupport code.
Change-Id: Icf9175ae86ad880248036362e9c5f40124744272
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
|
|
|
|
|
| |
A QWindow can only be in one QScreen, so it makes no sense to track
a list of screens.
Change-Id: I341a67afa90c7fbbbd95786b43d0a322fc1ddba2
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
|
|
|
|
|
|
|
|
|
| |
The backing store already knows about the window.
Also, rename surface to backing store in QFbWindow.
Change-Id: I3701b3cdbdc228200da9b93b13037655dc436f53
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
Reviewed-by: Thomas Senyk <thomas.senyk@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|
|
Rename fb_base to fbconvenience in-line with the other
convenience classes.
The code only compiles, it is not known to work.
Change-Id: If51700ddf0a11ace5129af6f00f34fd895a6a4df
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
|