Fix inconsistent window geometry on null window
Add virtual QtWaylandClient::QWaylandWindow::defaultGeometry(). So this method allows a client to set the desired default geometry. Otherwise, if the geometry of the window is null, the window with the hard-coded geometry size will be displayed for a while when starting a client application. Change-Id: I18c50f8f390c2b8e1a2c3d8e4641b896df4d6c3f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
This commit is contained in:
parent
0ccd3105ff
commit
1f2c1062c6
@ -194,7 +194,7 @@ void QWaylandWindow::initWindow()
|
|||||||
setWindowFlags(window()->flags());
|
setWindowFlags(window()->flags());
|
||||||
QRect geometry = windowGeometry();
|
QRect geometry = windowGeometry();
|
||||||
if (geometry.isEmpty())
|
if (geometry.isEmpty())
|
||||||
setGeometry_helper(QRect(QPoint(), QSize(500,500)));
|
setGeometry_helper(defaultGeometry());
|
||||||
else
|
else
|
||||||
setGeometry_helper(geometry);
|
setGeometry_helper(geometry);
|
||||||
setMask(window()->mask());
|
setMask(window()->mask());
|
||||||
@ -329,6 +329,11 @@ void QWaylandWindow::setWindowIcon(const QIcon &icon)
|
|||||||
mWindowDecoration->update();
|
mWindowDecoration->update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QRect QWaylandWindow::defaultGeometry() const
|
||||||
|
{
|
||||||
|
return QRect(QPoint(), QSize(500,500));
|
||||||
|
}
|
||||||
|
|
||||||
void QWaylandWindow::setGeometry_helper(const QRect &rect)
|
void QWaylandWindow::setGeometry_helper(const QRect &rect)
|
||||||
{
|
{
|
||||||
QSize minimum = windowMinimumSize();
|
QSize minimum = windowMinimumSize();
|
||||||
|
@ -215,6 +215,7 @@ signals:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void doHandleFrameCallback();
|
virtual void doHandleFrameCallback();
|
||||||
|
virtual QRect defaultGeometry() const;
|
||||||
void sendExposeEvent(const QRect &rect);
|
void sendExposeEvent(const QRect &rect);
|
||||||
|
|
||||||
QWaylandDisplay *mDisplay = nullptr;
|
QWaylandDisplay *mDisplay = nullptr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user