From a96c4b3aab4592155f7647399f6f2eda98d3908a Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 11 Sep 2019 14:42:30 +0200 Subject: QHighDPI: Fix wrong conversion for native child windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Do not try to find a screen for native child coordinates. Fixes: QTBUG-78158 Change-Id: I78ba814929f4db3dfd7dd43c09f7c7642222f4fb Reviewed-by: Morten Johan Sørvig --- src/gui/kernel/qhighdpiscaling.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/gui') diff --git a/src/gui/kernel/qhighdpiscaling.cpp b/src/gui/kernel/qhighdpiscaling.cpp index 64f1397771..8189eebedd 100644 --- a/src/gui/kernel/qhighdpiscaling.cpp +++ b/src/gui/kernel/qhighdpiscaling.cpp @@ -476,8 +476,10 @@ QHighDpiScaling::ScaleAndOrigin QHighDpiScaling::scaleAndOrigin(const QWindow *w { if (!m_active) return { qreal(1), QPoint() }; + QScreen *screen = window ? window->screen() : QGuiApplication::primaryScreen(); - return scaleAndOrigin(screen, nativePosition); + const bool searchScreen = !window || window->isTopLevel(); + return scaleAndOrigin(screen, searchScreen ? nativePosition : nullptr); } #endif //QT_NO_HIGHDPISCALING -- cgit v1.2.3 From 392931662d92a73a4379e59b077dc48ee43f1e70 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 13 Sep 2019 14:04:25 +0200 Subject: Fix qtConfLibrary_freetype's include paths The variable QMAKE_DEFAULT_INCDIRS was misspelled, which means we never really looked for freetype in the default paths. Change-Id: I20c35a783505678169ecb642927f74b339e55b68 Reviewed-by: Edward Welbourne --- src/gui/configure.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/gui') diff --git a/src/gui/configure.pri b/src/gui/configure.pri index 1b95449a10..1c024779b2 100644 --- a/src/gui/configure.pri +++ b/src/gui/configure.pri @@ -3,7 +3,7 @@ defineTest(qtConfLibrary_freetype) { TRY_INCLUDEPATHS = $$EXTRA_INCLUDEPATH $$QMAKE_INCDIR_X11 haiku: TRY_INCLUDEPATHS += /system/develop/headers - TRY_INCLUDEPATHS += $$QMAKE_DEFAULT_INCDIR + TRY_INCLUDEPATHS += $$QMAKE_DEFAULT_INCDIRS for (p, TRY_INCLUDEPATHS) { includedir = $$p/freetype2 exists($$includedir) { -- cgit v1.2.3 From 20d8186c24144de90b75a036ee284c68380d9ff5 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 13 Sep 2019 14:20:48 +0200 Subject: Fix passing FREETYPE_LIBS and friends to configure On systems where the pkg-config source fails, configure falls back to a library source of the type 'freetype'. This ignored variables like FREETYPE_LIBS users can pass to configure. The qtConfLibrary_freetype function now diverts to qtConfLibrary_inline which handles all those variables. Change-Id: Icef70deb130ce6d2de1520af4344ccccd677f287 Fixes: QTBUG-77643 Reviewed-by: Edward Welbourne Reviewed-by: Oliver Wolff --- src/gui/configure.pri | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/gui') diff --git a/src/gui/configure.pri b/src/gui/configure.pri index 1c024779b2..490ef0df28 100644 --- a/src/gui/configure.pri +++ b/src/gui/configure.pri @@ -1,18 +1,22 @@ # custom tests defineTest(qtConfLibrary_freetype) { - TRY_INCLUDEPATHS = $$EXTRA_INCLUDEPATH $$QMAKE_INCDIR_X11 - haiku: TRY_INCLUDEPATHS += /system/develop/headers - TRY_INCLUDEPATHS += $$QMAKE_DEFAULT_INCDIRS - for (p, TRY_INCLUDEPATHS) { - includedir = $$p/freetype2 - exists($$includedir) { - $${1}.includedir = $$includedir - export($${1}.includedir) - return(true) + input = $$eval($${2}.alias) + isEmpty(config.input.$${input}.incdir) { + TRY_INCLUDEPATHS = $$EXTRA_INCLUDEPATH $$QMAKE_INCDIR_X11 + haiku: TRY_INCLUDEPATHS += /system/develop/headers + TRY_INCLUDEPATHS += $$QMAKE_DEFAULT_INCDIRS + for (p, TRY_INCLUDEPATHS) { + includedir = $$p/freetype2 + exists($$includedir) { + config.input.$${input}.incdir = $$includedir + export(config.input.$${input}.incdir) + break() + } } } - return(true) + qtConfLibrary_inline($$1, $$2): return(true) + return(false) } # Check for Direct X shader compiler 'fxc'. -- cgit v1.2.3