MacOS - Selected area remains on the screen after saving capture (one more attempt to fix not reproducible bug on my laptop)

(cherry picked from commit 75e34746fcbc2819e88a54cc4a18e5df36d5e4f0)
This commit is contained in:
Yuriy Puchkov
2021-02-06 14:15:48 +02:00
parent 1ad6f9ff74
commit 74f5ded7db

View File

@@ -27,6 +27,10 @@
#include <QImageWriter>
#include <QMessageBox>
#include <QMimeData>
#if (defined(Q_OS_MAC) || defined(Q_OS_MAC64) || defined(Q_OS_MACOS) || \
defined(Q_OS_MACX))
#include "src/widgets/capture/capturewidget.h"
#endif
ScreenshotSaver::ScreenshotSaver()
: m_id(0)
@@ -117,6 +121,18 @@ bool ScreenshotSaver::saveToFilesystemGUI(const QPixmap& capture)
while (!ok) {
ConfigHandler config;
QString savePath = FileNameHandler().absoluteSavePath();
#if (defined(Q_OS_MAC) || defined(Q_OS_MAC64) || defined(Q_OS_MACOS) || \
defined(Q_OS_MACX))
for (QWidget* widget : qApp->topLevelWidgets()) {
QString className(widget->metaObject()->className());
if (0 == className.compare(
CaptureWidget::staticMetaObject.className())) {
widget->showNormal();
widget->hide();
break;
}
}
#endif
if (!config.savePathFixed()) {
savePath = QFileDialog::getSaveFileName(
nullptr,