Fix macOS pixel ratio detection

This commit is contained in:
James Rowe 2019-09-18 10:14:35 -06:00
parent 045eec282a
commit 5d97e44279
2 changed files with 3 additions and 2 deletions

View file

@ -144,8 +144,8 @@ QByteArray GRenderWindow::saveGeometry() {
} }
qreal GRenderWindow::windowPixelRatio() const { qreal GRenderWindow::windowPixelRatio() const {
// windowHandle() might not be accessible until the window is displayed to screen. // QOpenGLWidget isn't backed by a native window, so we need to use the top level window instead
return windowHandle() ? windowHandle()->screen()->devicePixelRatio() : 1.0f; return QApplication::activeWindow()->devicePixelRatio();
} }
std::pair<u32, u32> GRenderWindow::ScaleTouch(const QPointF pos) const { std::pair<u32, u32> GRenderWindow::ScaleTouch(const QPointF pos) const {

View file

@ -2062,6 +2062,7 @@ int main(int argc, char* argv[]) {
std::string bin_path = FileUtil::GetBundleDirectory() + DIR_SEP + ".."; std::string bin_path = FileUtil::GetBundleDirectory() + DIR_SEP + "..";
chdir(bin_path.c_str()); chdir(bin_path.c_str());
#endif #endif
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity); QCoreApplication::setAttribute(Qt::AA_DontCheckOpenGLContextThreadAffinity);
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts); QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
QApplication app(argc, argv); QApplication app(argc, argv);