wayland: Don't send preferred scale and transform if not determined yet
Rather not send anything than a potentially wrong default scale value of 1.0 or transform of Normal.
This commit is contained in:
parent
ff636fc909
commit
b0897a9aa5
3 changed files with 13 additions and 5 deletions
|
@ -49,7 +49,9 @@ FractionalScaleV1Interface::FractionalScaleV1Interface(SurfaceInterface *surface
|
|||
{
|
||||
SurfaceInterfacePrivate *surfacePrivate = SurfaceInterfacePrivate::get(surface);
|
||||
surfacePrivate->fractionalScaleExtension = this;
|
||||
setPreferredScale(surfacePrivate->preferredBufferScale);
|
||||
if (surfacePrivate->preferredBufferScale.has_value()) {
|
||||
setPreferredScale(surfacePrivate->preferredBufferScale.value());
|
||||
}
|
||||
}
|
||||
|
||||
FractionalScaleV1Interface::~FractionalScaleV1Interface()
|
||||
|
|
|
@ -69,8 +69,12 @@ void SurfaceInterfacePrivate::addChild(SubSurfaceInterface *child)
|
|||
cached.above.append(child);
|
||||
current.above.append(child);
|
||||
child->surface()->setOutputs(outputs);
|
||||
child->surface()->setPreferredBufferScale(preferredBufferScale);
|
||||
child->surface()->setPreferredBufferTransform(preferredBufferTransform);
|
||||
if (preferredBufferScale.has_value()) {
|
||||
child->surface()->setPreferredBufferScale(preferredBufferScale.value());
|
||||
}
|
||||
if (preferredBufferTransform.has_value()) {
|
||||
child->surface()->setPreferredBufferTransform(preferredBufferTransform.value());
|
||||
}
|
||||
|
||||
Q_EMIT q->childSubSurfaceAdded(child);
|
||||
Q_EMIT q->childSubSurfacesChanged();
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
#include <QVector>
|
||||
// Wayland
|
||||
#include "qwayland-server-wayland.h"
|
||||
// C++
|
||||
#include <optional>
|
||||
|
||||
namespace KWaylandServer
|
||||
{
|
||||
|
@ -135,8 +137,8 @@ public:
|
|||
qreal pendingScaleOverride = 1.;
|
||||
|
||||
QVector<OutputInterface *> outputs;
|
||||
qreal preferredBufferScale = 1.0;
|
||||
KWin::OutputTransform preferredBufferTransform = KWin::OutputTransform::Normal;
|
||||
std::optional<qreal> preferredBufferScale;
|
||||
std::optional<KWin::OutputTransform> preferredBufferTransform;
|
||||
|
||||
LockedPointerV1Interface *lockedPointer = nullptr;
|
||||
ConfinedPointerV1Interface *confinedPointer = nullptr;
|
||||
|
|
Loading…
Reference in a new issue