diff --git a/framebuffers/pipewire/pw_framebuffer.cpp b/framebuffers/pipewire/pw_framebuffer.cpp index 9e2ffa4b..a76b2f37 100644 --- a/framebuffers/pipewire/pw_framebuffer.cpp +++ b/framebuffers/pipewire/pw_framebuffer.cpp @@ -961,8 +961,8 @@ PWFrameBuffer::Private::~Private() } } -PWFrameBuffer::PWFrameBuffer(WId winid, QObject *parent) - : FrameBuffer (winid, parent), +PWFrameBuffer::PWFrameBuffer(QObject *parent) + : FrameBuffer (parent), d(new Private(this)) { fb = nullptr; diff --git a/framebuffers/pipewire/pw_framebuffer.h b/framebuffers/pipewire/pw_framebuffer.h index 9b0efb7a..9ae38eaf 100644 --- a/framebuffers/pipewire/pw_framebuffer.h +++ b/framebuffers/pipewire/pw_framebuffer.h @@ -30,7 +30,7 @@ public: }; using Streams = QList; - PWFrameBuffer(WId winid, QObject *parent = nullptr); + PWFrameBuffer(QObject *parent = nullptr); virtual ~PWFrameBuffer() override; void initDBus(); diff --git a/framebuffers/pipewire/pw_framebufferplugin.cpp b/framebuffers/pipewire/pw_framebufferplugin.cpp index 8f54889d..24bafc99 100644 --- a/framebuffers/pipewire/pw_framebufferplugin.cpp +++ b/framebuffers/pipewire/pw_framebufferplugin.cpp @@ -30,11 +30,9 @@ PWFrameBufferPlugin::PWFrameBufferPlugin(QObject *parent, const QVariantList &ar } -FrameBuffer *PWFrameBufferPlugin::frameBuffer(WId id, const QVariantMap &args) +FrameBuffer *PWFrameBufferPlugin::frameBuffer(const QVariantMap &args) { - //NOTE WId is irrelevant in Wayland - - auto pwfb = new PWFrameBuffer(id); + auto pwfb = new PWFrameBuffer; if (args.contains(QLatin1String("name"))) { pwfb->startVirtualMonitor(args[QStringLiteral("name")].toString(), args[QStringLiteral("resolution")].toSize(), args[QStringLiteral("scale")].toDouble()); } else { diff --git a/framebuffers/pipewire/pw_framebufferplugin.h b/framebuffers/pipewire/pw_framebufferplugin.h index e000b38d..21fad4f1 100644 --- a/framebuffers/pipewire/pw_framebufferplugin.h +++ b/framebuffers/pipewire/pw_framebufferplugin.h @@ -34,7 +34,7 @@ class PWFrameBufferPlugin: public FrameBufferPlugin public: PWFrameBufferPlugin(QObject *parent, const QVariantList &args); - FrameBuffer *frameBuffer(WId id, const QVariantMap &args) override; + FrameBuffer *frameBuffer(const QVariantMap &args) override; private: Q_DISABLE_COPY(PWFrameBufferPlugin) diff --git a/framebuffers/qt/qtframebuffer.cpp b/framebuffers/qt/qtframebuffer.cpp index 5eb49d3d..15b76f20 100644 --- a/framebuffers/qt/qtframebuffer.cpp +++ b/framebuffers/qt/qtframebuffer.cpp @@ -19,8 +19,8 @@ const int UPDATE_TIME = 500; -QtFrameBuffer::QtFrameBuffer(WId id, QObject *parent) - : FrameBuffer(id, parent) +QtFrameBuffer::QtFrameBuffer(QObject *parent) + : FrameBuffer(parent) { QScreen *screen = QGuiApplication::primaryScreen(); if (screen) { diff --git a/framebuffers/qt/qtframebuffer.h b/framebuffers/qt/qtframebuffer.h index 303201b2..07d1a18e 100644 --- a/framebuffers/qt/qtframebuffer.h +++ b/framebuffers/qt/qtframebuffer.h @@ -22,7 +22,7 @@ class QtFrameBuffer : public FrameBuffer { Q_OBJECT public: - explicit QtFrameBuffer(WId id, QObject *parent = nullptr); + explicit QtFrameBuffer(QObject *parent = nullptr); ~QtFrameBuffer() override; diff --git a/framebuffers/qt/qtframebufferplugin.cpp b/framebuffers/qt/qtframebufferplugin.cpp index 8bfa38bf..10ed0785 100644 --- a/framebuffers/qt/qtframebufferplugin.cpp +++ b/framebuffers/qt/qtframebufferplugin.cpp @@ -31,10 +31,10 @@ QtFrameBufferPlugin::QtFrameBufferPlugin(QObject *parent, const QVariantList &ar { } -FrameBuffer *QtFrameBufferPlugin::frameBuffer(WId id, const QVariantMap &args) +FrameBuffer *QtFrameBufferPlugin::frameBuffer(const QVariantMap &args) { Q_UNUSED(args); - return new QtFrameBuffer(id); + return new QtFrameBuffer; } #include "qtframebufferplugin.moc" diff --git a/framebuffers/qt/qtframebufferplugin.h b/framebuffers/qt/qtframebufferplugin.h index 96d7f815..15954652 100644 --- a/framebuffers/qt/qtframebufferplugin.h +++ b/framebuffers/qt/qtframebufferplugin.h @@ -34,7 +34,7 @@ class QtFrameBufferPlugin : public FrameBufferPlugin public: QtFrameBufferPlugin(QObject *parent, const QVariantList &args); - FrameBuffer *frameBuffer(WId id, const QVariantMap &args) override; + FrameBuffer *frameBuffer(const QVariantMap &args) override; private: Q_DISABLE_COPY(QtFrameBufferPlugin) diff --git a/framebuffers/xcb/xcb_framebuffer.cpp b/framebuffers/xcb/xcb_framebuffer.cpp index 76306057..22e4a1d3 100644 --- a/framebuffers/xcb/xcb_framebuffer.cpp +++ b/framebuffers/xcb/xcb_framebuffer.cpp @@ -19,7 +19,8 @@ #include #include -#include +#include +#include #include #include #include @@ -130,6 +131,7 @@ public: bool running; QRect area; // capture area, primary monitor coordinates + WId win; }; @@ -144,8 +146,8 @@ static xcb_screen_t *get_xcb_screen(xcb_connection_t *conn, int screen_num) { -XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): - FrameBuffer(winid, parent), d(new XCBFrameBuffer::P) +XCBFrameBuffer::XCBFrameBuffer(QObject *parent): + FrameBuffer(parent), d(new XCBFrameBuffer::P) { d->running = false; d->damage = XCB_NONE; @@ -157,6 +159,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): d->area.setRect(0, 0, 0, 0); d->x11EvtFilter = new KrfbXCBEventFilter(this); d->rootScreen = get_xcb_screen(QX11Info::connection(), QX11Info::appScreen()); + d->win = QApplication::desktop()->winId(); this->fb = nullptr; diff --git a/framebuffers/xcb/xcb_framebuffer.h b/framebuffers/xcb/xcb_framebuffer.h index 684c5668..c6831ca4 100644 --- a/framebuffers/xcb/xcb_framebuffer.h +++ b/framebuffers/xcb/xcb_framebuffer.h @@ -22,7 +22,7 @@ class XCBFrameBuffer: public FrameBuffer { Q_OBJECT public: - explicit XCBFrameBuffer(WId winid, QObject *parent = nullptr); + explicit XCBFrameBuffer(QObject *parent = nullptr); ~XCBFrameBuffer() override; public: diff --git a/framebuffers/xcb/xcb_framebufferplugin.cpp b/framebuffers/xcb/xcb_framebufferplugin.cpp index dbcb599a..94f66c36 100644 --- a/framebuffers/xcb/xcb_framebufferplugin.cpp +++ b/framebuffers/xcb/xcb_framebufferplugin.cpp @@ -29,10 +29,10 @@ XCBFrameBufferPlugin::XCBFrameBufferPlugin(QObject *parent, const QVariantList & { } -FrameBuffer *XCBFrameBufferPlugin::frameBuffer(WId id, const QVariantMap &args) +FrameBuffer *XCBFrameBufferPlugin::frameBuffer(const QVariantMap &args) { Q_UNUSED(args); - return new XCBFrameBuffer(id); + return new XCBFrameBuffer; } #include "xcb_framebufferplugin.moc" diff --git a/framebuffers/xcb/xcb_framebufferplugin.h b/framebuffers/xcb/xcb_framebufferplugin.h index 0a29e130..d3a0ca71 100644 --- a/framebuffers/xcb/xcb_framebufferplugin.h +++ b/framebuffers/xcb/xcb_framebufferplugin.h @@ -34,7 +34,7 @@ class XCBFrameBufferPlugin: public FrameBufferPlugin public: XCBFrameBufferPlugin(QObject *parent, const QVariantList &args); - FrameBuffer *frameBuffer(WId id, const QVariantMap &args) override; + FrameBuffer *frameBuffer(const QVariantMap &args) override; private: Q_DISABLE_COPY(XCBFrameBufferPlugin) diff --git a/krfb/framebuffer.cpp b/krfb/framebuffer.cpp index 60251ae0..0c9635c2 100644 --- a/krfb/framebuffer.cpp +++ b/krfb/framebuffer.cpp @@ -13,8 +13,8 @@ #include -FrameBuffer::FrameBuffer(WId id, QObject *parent) - : QObject(parent), win(id) +FrameBuffer::FrameBuffer(QObject *parent) + : QObject(parent) { } diff --git a/krfb/framebuffer.h b/krfb/framebuffer.h index 47ebb666..dd2df0e5 100644 --- a/krfb/framebuffer.h +++ b/krfb/framebuffer.h @@ -29,7 +29,7 @@ class KRFBPRIVATE_EXPORT FrameBuffer : public QObject { Q_OBJECT public: - explicit FrameBuffer(WId id, QObject *parent = nullptr); + explicit FrameBuffer(QObject *parent = nullptr); ~FrameBuffer() override; diff --git a/krfb/framebuffermanager.cpp b/krfb/framebuffermanager.cpp index 1e8a02da..4cce3c7a 100644 --- a/krfb/framebuffermanager.cpp +++ b/krfb/framebuffermanager.cpp @@ -81,7 +81,7 @@ QSharedPointer FrameBufferManager::frameBuffer(WId id, const QVaria if (it.key() == KrfbConfig::preferredFrameBufferPlugin()) { qCDebug(KRFB) << "Using FrameBuffer:" << KrfbConfig::preferredFrameBufferPlugin(); - QSharedPointer frameBuffer(it.value()->frameBuffer(id, args)); + QSharedPointer frameBuffer(it.value()->frameBuffer(args)); if (frameBuffer) { m_frameBuffers.insert(id, frameBuffer.toWeakRef()); diff --git a/krfb/framebufferplugin.h b/krfb/framebufferplugin.h index 1c88a072..8f1bd1ba 100644 --- a/krfb/framebufferplugin.h +++ b/krfb/framebufferplugin.h @@ -37,7 +37,7 @@ public: explicit FrameBufferPlugin(QObject *parent, const QVariantList &args); ~FrameBufferPlugin() override; - virtual FrameBuffer *frameBuffer(WId id, const QVariantMap &args) = 0; + virtual FrameBuffer *frameBuffer(const QVariantMap &args) = 0; }; #endif // Header guard