From 2a4da933b6d3112879d2dcb45cfc0a1e3ca940a1 Mon Sep 17 00:00:00 2001 From: Santhosh Raju Date: Wed, 4 Sep 2019 02:08:27 +0000 Subject: graphics/dspdfviewer: Fixes build with Qt 5.13 Submitted by: adridg Approved by: philip (mentor) --- graphics/dspdfviewer/Makefile | 2 +- .../dspdfviewer/files/patch-pdfviewerwindow.cpp | 42 ++++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 graphics/dspdfviewer/files/patch-pdfviewerwindow.cpp (limited to 'graphics/dspdfviewer') diff --git a/graphics/dspdfviewer/Makefile b/graphics/dspdfviewer/Makefile index b4371092b8aa..677a5d76b4c9 100644 --- a/graphics/dspdfviewer/Makefile +++ b/graphics/dspdfviewer/Makefile @@ -3,7 +3,7 @@ PORTNAME= dspdfviewer PORTVERSION= 1.15.1 DISTVERSIONPREFIX= v -PORTREVISION= 19 +PORTREVISION= 20 CATEGORIES= graphics MAINTAINER= fox@FreeBSD.org diff --git a/graphics/dspdfviewer/files/patch-pdfviewerwindow.cpp b/graphics/dspdfviewer/files/patch-pdfviewerwindow.cpp new file mode 100644 index 000000000000..d79b94b6bca5 --- /dev/null +++ b/graphics/dspdfviewer/files/patch-pdfviewerwindow.cpp @@ -0,0 +1,42 @@ + Fix graphics/dspdfviewer build w/ Qt 5.13 + + - adjust to deprecated methods + - QApplication::flush() hasn't really been a thing since Qt4, + just comment it out. + +The application looks abandoned upstream. + +Patched by adridg@freebsd.org +--- pdfviewerwindow.cpp.orig 2016-09-13 13:18:47 UTC ++++ pdfviewerwindow.cpp +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #if defined(POPPLER_QT5) && defined(_WIN32) + #include + #endif +@@ -116,7 +117,12 @@ void PDFViewerWindow::reposition() + this->windowHandle()->setScreen(0); + this->showFullScreen(); + #else +- QRect rect = QApplication::desktop()->screenGeometry( numeric_cast(getMonitor()) ); ++ auto screens = QGuiApplication::screens(); ++ int screen_number = numeric_cast(getMonitor()); ++ if ((screen_number < 0) || (screen_number >= screens.length())) { ++ screen_number = 0; ++ } ++ QRect rect = screens.at(screen_number)->geometry(); + move(rect.topLeft()); + resize( rect.size() ); + this->showFullScreen(); +@@ -381,7 +387,7 @@ void PDFViewerWindow::resizeEvent(QResizeEvent* resize + ! i3shellcode_executed + // Make sure to do this only once + ) { +- QApplication::flush(); // Make sure the window has been painted ++ // QApplication::flush(); // Make sure the window has been painted + // This is the second screen. It has now been created. + // so we should call the i3 shellcode now + const std::string shellcode = runtimeConfiguration.i3workaround_shellcode(); -- cgit v1.2.3