Windows: Change cursor clipping from cursor warping to ClipCursor(), fixes #5498.

This commit is contained in:
OBattler
2025-05-21 13:32:17 +02:00
parent bf12aeea1f
commit e76a89bcc8
3 changed files with 40 additions and 3 deletions

View File

@@ -61,6 +61,11 @@ struct mouseinputdata {
static mouseinputdata mousedata;
extern MainWindow *main_window;
#ifdef Q_OS_WINDOWS
HWND rw_hwnd;
#endif
RendererStack::RendererStack(QWidget *parent, int monitor_index)
: QStackedWidget(parent)
, ui(new Ui::RendererStack)
@@ -251,7 +256,9 @@ RendererStack::mouseMoveEvent(QMouseEvent *event)
leaveEvent((QEvent *) event);
ignoreNextMouseEvent--;
}
#if !defined _WIN32
QCursor::setPos(mapToGlobal(QPoint(width() / 2, height() / 2)));
#endif
ignoreNextMouseEvent = 2;
oldPos = event->pos();
#endif
@@ -405,8 +412,15 @@ RendererStack::createRenderer(Renderer renderer)
}
#endif
}
if (current.get() == nullptr)
if (current.get() == nullptr) {
#ifdef Q_OS_WINDOWS
rw_hwnd = NULL;
#endif
return;
}
#ifdef Q_OS_WINDOWS
rw_hwnd = (HWND) this->winId();
#endif
current->setFocusPolicy(Qt::NoFocus);
current->setFocusProxy(this);
current->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);