Complete support for no-fullscreen parameter
Change the code so that it doesn't force application windows to full screen when the no-fullscreen parameter is used in the QT_QPA_PLATFORM environment variable. Task-number: QTBUG-37456 Change-Id: If9612cc2ca69f829d45e7fd4b83338c3a41cf986 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Fabian Bumberger <fbumberger@rim.com>
This commit is contained in:
parent
530f985651
commit
ff7f3aba39
@ -70,8 +70,7 @@ QQnxEglWindow::QQnxEglWindow(QWindow *window, screen_context_t context, bool nee
|
||||
if (result != 0)
|
||||
qFatal("QQnxEglWindow: failed to set window alpha usage, errno=%d", errno);
|
||||
|
||||
m_requestedBufferSize = screen()->rootWindow() == this ?
|
||||
screen()->geometry().size() : window->geometry().size();
|
||||
m_requestedBufferSize = shouldMakeFullScreen() ? screen()->geometry().size() : window->geometry().size();
|
||||
}
|
||||
|
||||
QQnxEglWindow::~QQnxEglWindow()
|
||||
@ -156,7 +155,7 @@ EGLSurface QQnxEglWindow::getSurface()
|
||||
void QQnxEglWindow::setGeometry(const QRect &rect)
|
||||
{
|
||||
//If this is the root window, it has to be shown fullscreen
|
||||
const QRect &newGeometry = screen()->rootWindow() == this ? screen()->geometry() : rect;
|
||||
const QRect &newGeometry = shouldMakeFullScreen() ? screen()->geometry() : rect;
|
||||
|
||||
//We need to request that the GL context updates
|
||||
// the EGLsurface on which it is rendering.
|
||||
|
@ -242,7 +242,7 @@ QQnxWindow::~QQnxWindow()
|
||||
void QQnxWindow::setGeometry(const QRect &rect)
|
||||
{
|
||||
QRect newGeometry = rect;
|
||||
if (screen()->rootWindow() == this) //If this is the root window, it has to be shown fullscreen
|
||||
if (shouldMakeFullScreen())
|
||||
newGeometry = screen()->geometry();
|
||||
|
||||
setGeometryHelper(newGeometry);
|
||||
@ -714,7 +714,7 @@ void QQnxWindow::initWindow()
|
||||
if (window()->parent() && window()->parent()->handle())
|
||||
setParent(window()->parent()->handle());
|
||||
|
||||
if (screen()->rootWindow() == this) {
|
||||
if (shouldMakeFullScreen()) {
|
||||
setGeometryHelper(screen()->geometry());
|
||||
QWindowSystemInterface::handleGeometryChange(window(), screen()->geometry());
|
||||
} else {
|
||||
@ -817,4 +817,9 @@ void QQnxWindow::windowPosted()
|
||||
qqnxLgmonFramePosted(m_cover); // for performance measurements
|
||||
}
|
||||
|
||||
bool QQnxWindow::shouldMakeFullScreen() const
|
||||
{
|
||||
return ((screen()->rootWindow() == this) && (QQnxIntegration::options() & QQnxIntegration::FullScreenApplication));
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -112,6 +112,8 @@ public:
|
||||
QByteArray groupName() const { return m_windowGroupName; }
|
||||
void joinWindowGroup(const QByteArray &groupName);
|
||||
|
||||
bool shouldMakeFullScreen() const;
|
||||
|
||||
protected:
|
||||
virtual int pixelFormat() const = 0;
|
||||
virtual void resetBuffers() = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user