Merge pull request #9461 from liamwhite/wanative

qt: avoid setting WA_DontCreateNativeAncestors on all platforms
This commit is contained in:
Mai 2022-12-17 21:07:01 +00:00 committed by GitHub
commit f8a7d6a0ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -44,6 +44,8 @@
#include "yuzu/bootmanager.h" #include "yuzu/bootmanager.h"
#include "yuzu/main.h" #include "yuzu/main.h"
static Core::Frontend::WindowSystemType GetWindowSystemType();
EmuThread::EmuThread(Core::System& system_) : system{system_} {} EmuThread::EmuThread(Core::System& system_) : system{system_} {}
EmuThread::~EmuThread() = default; EmuThread::~EmuThread() = default;
@ -228,8 +230,10 @@ class RenderWidget : public QWidget {
public: public:
explicit RenderWidget(GRenderWindow* parent) : QWidget(parent), render_window(parent) { explicit RenderWidget(GRenderWindow* parent) : QWidget(parent), render_window(parent) {
setAttribute(Qt::WA_NativeWindow); setAttribute(Qt::WA_NativeWindow);
setAttribute(Qt::WA_DontCreateNativeAncestors);
setAttribute(Qt::WA_PaintOnScreen); setAttribute(Qt::WA_PaintOnScreen);
if (GetWindowSystemType() == Core::Frontend::WindowSystemType::Wayland) {
setAttribute(Qt::WA_DontCreateNativeAncestors);
}
} }
virtual ~RenderWidget() = default; virtual ~RenderWidget() = default;