From 310b44b8c461ff5007ab5da9f1d30e78383734c6 Mon Sep 17 00:00:00 2001 From: Yuhang Zhao <2546789017@qq.com> Date: Thu, 24 Dec 2020 10:30:46 +0800 Subject: [PATCH] Skip invisible objects Fixes: #40 Signed-off-by: Yuhang Zhao <2546789017@qq.com> --- framelesshelper.cpp | 4 ++++ winnativeeventfilter.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/framelesshelper.cpp b/framelesshelper.cpp index e6c5ea6..89e7342 100644 --- a/framelesshelper.cpp +++ b/framelesshelper.cpp @@ -177,6 +177,10 @@ bool FramelessHelper::eventFilter(QObject *object, QEvent *event) qWarning() << obj << "is not a QWidget or QQuickItem!"; continue; } + if (!obj->property("visible").toBool()) { + qDebug() << "Skipping invisible object" << obj; + continue; + } const auto mapOriginPointToWindow = [](const QObject *obj) -> QPointF { Q_ASSERT(obj); QPointF point = {obj->property("x").toReal(), obj->property("y").toReal()}; diff --git a/winnativeeventfilter.cpp b/winnativeeventfilter.cpp index da388c4..950a15d 100644 --- a/winnativeeventfilter.cpp +++ b/winnativeeventfilter.cpp @@ -1301,6 +1301,10 @@ bool WinNativeEventFilter::nativeEventFilter(const QByteArray &eventType, qWarning() << object << "is not a QWidget or QQuickItem!"; continue; } + if (!object->property("visible").toBool()) { + qDebug() << "Skipping invisible object" << object; + continue; + } const auto mapOriginPointToWindow = [](const QObject *obj) -> QPointF { Q_ASSERT(obj); QPointF point = {obj->property("x").toReal(), obj->property("y").toReal()};