forked from pool/libqt5-qtbase
Accepting request 656557 from KDE:Qt5
Qt 5.12.0 final OBS-URL: https://build.opensuse.org/request/show/656557 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtbase?expand=0&rev=90
This commit is contained in:
parent
a9a0afee32
commit
96ba422bf3
@ -18,10 +18,10 @@ a Change-Id: Ib70715d331e8f380a3c9039011bb8521986652aa
|
||||
src/plugins/printsupport/cups/qppdprintdevice.cpp | 33 +++++++-
|
||||
4 files changed, 160 insertions(+), 11 deletions(-)
|
||||
|
||||
Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||
Index: qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.11.0-beta1.orig/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||
+++ qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||
--- qtbase-everywhere-src-5.12.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||
+++ qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qcupsprintengine.cpp
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <qbuffer.h>
|
||||
#include "private/qcups_p.h" // Only needed for PPK_CupsOptions
|
||||
@ -30,7 +30,7 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
|
||||
#include <cups/cups.h>
|
||||
|
||||
@@ -243,8 +244,40 @@ void QCupsPrintEnginePrivate::closePrint
|
||||
@@ -252,8 +253,40 @@ void QCupsPrintEnginePrivate::closePrint
|
||||
const auto parts = printerName.splitRef(QLatin1Char('/'));
|
||||
const auto printerOriginalName = parts.at(0);
|
||||
cups_option_t* optPtr = cupsOptStruct.size() ? &cupsOptStruct.first() : 0;
|
||||
@ -72,11 +72,11 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
|
||||
QFile::remove(tempFile);
|
||||
}
|
||||
Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||
Index: qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.11.0-beta1.orig/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||
+++ qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||
@@ -52,6 +52,35 @@
|
||||
--- qtbase-everywhere-src-5.12.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||
+++ qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport.cpp
|
||||
@@ -61,6 +61,35 @@
|
||||
# include <cups/language.h>
|
||||
#endif
|
||||
|
||||
@ -111,8 +111,8 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
+
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
QCupsPrinterSupport::QCupsPrinterSupport()
|
||||
@@ -81,17 +110,35 @@ QPrintDevice QCupsPrinterSupport::create
|
||||
#if QT_CONFIG(dialogbuttonbox)
|
||||
@@ -159,17 +188,35 @@ QPrintDevice QCupsPrinterSupport::create
|
||||
|
||||
QStringList QCupsPrinterSupport::availablePrintDeviceIds() const
|
||||
{
|
||||
@ -153,7 +153,7 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
return list;
|
||||
}
|
||||
|
||||
@@ -99,8 +146,18 @@ QString QCupsPrinterSupport::defaultPrin
|
||||
@@ -177,8 +224,18 @@ QString QCupsPrinterSupport::defaultPrin
|
||||
{
|
||||
QString printerId;
|
||||
cups_dest_t *dests;
|
||||
@ -174,7 +174,7 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
if (dests[i].is_default) {
|
||||
printerId = QString::fromLocal8Bit(dests[i].name);
|
||||
if (dests[i].instance) {
|
||||
@@ -109,8 +166,30 @@ QString QCupsPrinterSupport::defaultPrin
|
||||
@@ -187,8 +244,30 @@ QString QCupsPrinterSupport::defaultPrin
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -206,10 +206,10 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
+
|
||||
+
|
||||
QT_END_NAMESPACE
|
||||
Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||
Index: qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.11.0-beta1.orig/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||
+++ qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||
--- qtbase-everywhere-src-5.12.0-alpha.orig/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||
+++ qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qcupsprintersupport_p.h
|
||||
@@ -56,6 +56,8 @@
|
||||
|
||||
#include <QtCore/qstringlist.h>
|
||||
@ -234,10 +234,10 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qcupspri
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||
Index: qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.11.0-beta1.orig/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||
+++ qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||
--- qtbase-everywhere-src-5.12.0-alpha.orig/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||
+++ qtbase-everywhere-src-5.12.0-alpha/src/plugins/printsupport/cups/qppdprintdevice.cpp
|
||||
@@ -39,6 +39,7 @@
|
||||
|
||||
#include "qppdprintdevice.h"
|
||||
@ -246,44 +246,42 @@ Index: qtbase-everywhere-src-5.11.0-beta1/src/plugins/printsupport/cups/qppdprin
|
||||
#include <QtCore/QMimeDatabase>
|
||||
#include <qdebug.h>
|
||||
|
||||
@@ -493,10 +494,38 @@ void QPpdPrintDevice::loadPrinter()
|
||||
m_cupsDest = 0;
|
||||
}
|
||||
@@ -63,10 +64,36 @@ QPpdPrintDevice::QPpdPrintDevice(const Q
|
||||
if (parts.size() > 1)
|
||||
m_cupsInstance = parts.at(1).toUtf8();
|
||||
|
||||
+ bool enablePrinterDiscovery = qEnvironmentVariableIsSet("QT_ENABLE_PRINTER_DISCOVERY");
|
||||
+ bool enablePrinterDiscovery = qEnvironmentVariableIsSet("QT_ENABLE_PRINTER_DISCOVERY");
|
||||
+
|
||||
// Get the print instance and PPD file
|
||||
- m_cupsDest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, m_cupsName, m_cupsInstance.isNull() ? nullptr : m_cupsInstance.constData());
|
||||
+
|
||||
+ if (!enablePrinterDiscovery) {
|
||||
+ m_cupsDest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, m_cupsName, m_cupsInstance.isNull() ? nullptr : m_cupsInstance.constData());
|
||||
+ } else {
|
||||
+ cups_dest_t *cupsDest = cupsGetDest( m_cupsName,
|
||||
+ (m_cupsInstance.isEmpty() ? nullptr : m_cupsInstance.data()),
|
||||
+ QCupsPrinterSupport::cupsPrintersCount(),
|
||||
+ QCupsPrinterSupport::cupsPrinters() );
|
||||
+ cupsCopyDest(cupsDest, 0, &m_cupsDest);
|
||||
+ }
|
||||
if (m_cupsDest) {
|
||||
- const char *ppdFile = cupsGetPPD(m_cupsName);
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = NULL;
|
||||
+ const char *ppdFile = NULL;
|
||||
+
|
||||
+ if (enablePrinterDiscovery) {
|
||||
+ http = cupsConnectDest (m_cupsDest, 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ }
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ ppdFile = cupsGetPPD2 (http, ++name);
|
||||
+ httpClose(http);
|
||||
// Get the print instance and PPD file
|
||||
- m_cupsDest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, m_cupsName, m_cupsInstance.isNull() ? nullptr : m_cupsInstance.constData());
|
||||
+ if (!enablePrinterDiscovery) {
|
||||
+ m_cupsDest = cupsGetNamedDest(CUPS_HTTP_DEFAULT, m_cupsName, m_cupsInstance.isNull() ? nullptr : m_cupsInstance.constData());
|
||||
+ } else {
|
||||
+ ppdFile = cupsGetPPD(m_cupsName);
|
||||
+ cups_dest_t *cupsDest = cupsGetDest( m_cupsName,
|
||||
+ (m_cupsInstance.isEmpty() ? nullptr : m_cupsInstance.data()),
|
||||
+ QCupsPrinterSupport::cupsPrintersCount(),
|
||||
+ QCupsPrinterSupport::cupsPrinters() );
|
||||
+ cupsCopyDest(cupsDest, 0, &m_cupsDest);
|
||||
+ }
|
||||
if (m_cupsDest) {
|
||||
- const char *ppdFile = cupsGetPPD(m_cupsName);
|
||||
+ char resource[HTTP_MAX_URI];
|
||||
+ http_t *http = NULL;
|
||||
+ const char *ppdFile = NULL;
|
||||
+
|
||||
if (ppdFile) {
|
||||
m_ppd = ppdOpenFile(ppdFile);
|
||||
unlink(ppdFile);
|
||||
+ if (enablePrinterDiscovery) {
|
||||
+ http = cupsConnectDest (m_cupsDest, 0, -1, 0,
|
||||
+ resource, sizeof (resource),
|
||||
+ 0, 0);
|
||||
+ }
|
||||
+ if (http) {
|
||||
+ char *name = strrchr (resource, '/');
|
||||
+ if (name)
|
||||
+ ppdFile = cupsGetPPD2 (http, ++name);
|
||||
+ httpClose(http);
|
||||
+ } else {
|
||||
+ ppdFile = cupsGetPPD(m_cupsName);
|
||||
+ }
|
||||
if (ppdFile) {
|
||||
m_ppd = ppdOpenFile(ppdFile);
|
||||
unlink(ppdFile);
|
||||
|
@ -1,77 +0,0 @@
|
||||
From 58426659165f3da4458ff370efe056ac17406422 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Vogt <fabian@ritter-vogt.de>
|
||||
Date: Thu, 14 Jun 2018 10:02:38 +0200
|
||||
Subject: [PATCH] Hack together a way to get fallback from xcb working
|
||||
|
||||
QTBUG-68859
|
||||
---
|
||||
src/plugins/platforms/xcb/qxcbintegration.cpp | 7 ++++++-
|
||||
src/plugins/platforms/xcb/qxcbintegration.h | 1 +
|
||||
src/plugins/platforms/xcb/qxcbmain.cpp | 13 ++++++++++---
|
||||
3 files changed, 17 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbintegration.cpp b/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
index 471287eb44..eb0607c6b6 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbintegration.cpp
|
||||
@@ -206,7 +206,7 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters, int &argc, char
|
||||
|
||||
if (m_connections.isEmpty()) {
|
||||
qCritical("Could not connect to any X display.");
|
||||
- exit(1);
|
||||
+ return;
|
||||
}
|
||||
|
||||
m_fontDatabase.reset(new QGenericUnixFontDatabase());
|
||||
@@ -219,6 +219,11 @@ QXcbIntegration::QXcbIntegration(const QStringList ¶meters, int &argc, char
|
||||
#endif
|
||||
}
|
||||
|
||||
+bool QXcbIntegration::connected() const
|
||||
+{
|
||||
+ return !m_connections.isEmpty();
|
||||
+}
|
||||
+
|
||||
QXcbIntegration::~QXcbIntegration()
|
||||
{
|
||||
qDeleteAll(m_connections);
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbintegration.h b/src/plugins/platforms/xcb/qxcbintegration.h
|
||||
index 186b6c5ddd..6fa2b1f25f 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbintegration.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbintegration.h
|
||||
@@ -60,6 +60,7 @@ class Q_XCB_EXPORT QXcbIntegration : public QPlatformIntegration
|
||||
public:
|
||||
QXcbIntegration(const QStringList ¶meters, int &argc, char **argv);
|
||||
~QXcbIntegration();
|
||||
+ bool connected() const;
|
||||
|
||||
QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const override;
|
||||
QPlatformWindow *createPlatformWindow(QWindow *window) const override;
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbmain.cpp b/src/plugins/platforms/xcb/qxcbmain.cpp
|
||||
index f8cb9a9269..f48366655c 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbmain.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbmain.cpp
|
||||
@@ -52,10 +52,17 @@ public:
|
||||
|
||||
QPlatformIntegration* QXcbIntegrationPlugin::create(const QString& system, const QStringList& parameters, int &argc, char **argv)
|
||||
{
|
||||
- if (!system.compare(QLatin1String("xcb"), Qt::CaseInsensitive))
|
||||
- return new QXcbIntegration(parameters, argc, argv);
|
||||
+ if (system.compare(QLatin1String("xcb"), Qt::CaseInsensitive))
|
||||
+ return 0;
|
||||
|
||||
- return 0;
|
||||
+ QXcbIntegration *p = new QXcbIntegration(parameters, argc, argv);
|
||||
+
|
||||
+ if(!p->connected()) {
|
||||
+ delete p;
|
||||
+ p = nullptr;
|
||||
+ }
|
||||
+
|
||||
+ return p;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
--
|
||||
2.17.1
|
||||
|
@ -9,14 +9,14 @@ and fall back to 96dpi instead of returning unexpected values.
|
||||
src/plugins/platforms/xcb/qxcbscreen.cpp | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
index df458e85d7..7e898db17c 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
@@ -751,6 +751,16 @@ void QXcbScreen::updateGeometry(const QRect &geometry, uint8_t rotation)
|
||||
Index: qtbase-everywhere-src-5.12.0-beta3/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
===================================================================
|
||||
--- qtbase-everywhere-src-5.12.0-beta3.orig/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
+++ qtbase-everywhere-src-5.12.0-beta3/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
@@ -752,6 +752,16 @@ void QXcbScreen::updateGeometry(const QR
|
||||
qreal referenceDpi = physicalSize().width() <= 320 ? 128 : 96;
|
||||
|
||||
qreal dpi = geometry.width() / physicalSize().width() * qreal(25.4);
|
||||
m_pixelDensity = qMax(1, qRound(dpi/96));
|
||||
m_pixelDensity = qMax(1, qRound(dpi/referenceDpi));
|
||||
+
|
||||
+ if(m_pixelDensity > 1 && qEnvironmentVariableIsEmpty("QT_XCB_FORCE_ACCEPT_DPI")) {
|
||||
+ // If we have no physical size or the resolution is untypical, fall back to 1x
|
||||
@ -30,6 +30,3 @@ index df458e85d7..7e898db17c 100644
|
||||
m_geometry = geometry;
|
||||
m_availableGeometry = geometry & m_virtualDesktop->workArea();
|
||||
QWindowSystemInterface::handleScreenGeometryChange(QPlatformScreen::screen(), m_geometry, m_availableGeometry);
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
@ -1,88 +0,0 @@
|
||||
From 82f21f3d47cf4bb3be71bf2eda3f971b43acc76d Mon Sep 17 00:00:00 2001
|
||||
From: Mischa Salle <mischa.salle@gmail.com>
|
||||
Date: Thu, 27 Sep 2018 13:22:47 +0200
|
||||
Subject: [PATCH] Unix print dialog: Properly initialize duplex
|
||||
|
||||
This is a backport of https://codereview.qt-project.org/#/c/226881/ and fixes
|
||||
https://bugzilla.suse.com/show_bug.cgi?id=1096328
|
||||
---
|
||||
src/printsupport/dialogs/qprintdialog_unix.cpp | 32 ++++++++++++++++++++++----
|
||||
1 file changed, 27 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp
|
||||
index 86daea3b02..53d26bf9fc 100644
|
||||
--- a/src/printsupport/dialogs/qprintdialog_unix.cpp
|
||||
+++ b/src/printsupport/dialogs/qprintdialog_unix.cpp
|
||||
@@ -240,6 +240,10 @@ public:
|
||||
QDialogButtonBox *buttons;
|
||||
QPushButton *collapseButton;
|
||||
QPrinter::OutputFormat printerOutputFormat;
|
||||
+private:
|
||||
+ void setExplicitDuplexMode(QPrint::DuplexMode duplexMode);
|
||||
+ // duplex mode explicitly set by user, QPrint::DuplexAuto otherwise
|
||||
+ QPrint::DuplexMode explicitDuplexMode;
|
||||
};
|
||||
|
||||
#if QT_CONFIG(cups)
|
||||
@@ -479,7 +483,8 @@ void QPrintPropertiesDialog::accept()
|
||||
|
||||
*/
|
||||
QPrintDialogPrivate::QPrintDialogPrivate()
|
||||
- : top(nullptr), bottom(nullptr), buttons(nullptr), collapseButton(nullptr)
|
||||
+ : top(nullptr), bottom(nullptr), buttons(nullptr), collapseButton(nullptr),
|
||||
+ explicitDuplexMode(QPrint::DuplexAuto)
|
||||
{
|
||||
initResources();
|
||||
}
|
||||
@@ -540,6 +545,10 @@ void QPrintDialogPrivate::init()
|
||||
q, SLOT(_q_togglePageSetCombo(bool)));
|
||||
|
||||
QObject::connect(collapseButton, SIGNAL(released()), q, SLOT(_q_collapseOrExpandDialog()));
|
||||
+
|
||||
+ QObject::connect(options.noDuplex, &QAbstractButton::clicked, q, [this] { setExplicitDuplexMode(QPrint::DuplexNone); });
|
||||
+ QObject::connect(options.duplexLong, &QAbstractButton::clicked, q, [this] { setExplicitDuplexMode(QPrint::DuplexLongSide); });
|
||||
+ QObject::connect(options.duplexShort, &QAbstractButton::clicked, q, [this] { setExplicitDuplexMode(QPrint::DuplexShortSide); });
|
||||
}
|
||||
|
||||
// initialize printer options
|
||||
@@ -559,13 +568,21 @@ void QPrintDialogPrivate::selectPrinter(const QPrinter::OutputFormat outputForma
|
||||
else
|
||||
options.grayscale->setChecked(true);
|
||||
|
||||
- switch (p->duplex()) {
|
||||
- case QPrinter::DuplexNone:
|
||||
+ // keep duplex value explicitly set by user, if any, and selected printer supports it;
|
||||
+ // use device default otherwise
|
||||
+ QPrint::DuplexMode duplex;
|
||||
+ if (explicitDuplexMode != QPrint::DuplexAuto && supportedDuplexMode.contains(explicitDuplexMode))
|
||||
+ duplex = explicitDuplexMode;
|
||||
+ else
|
||||
+ duplex = top->d->m_currentPrintDevice.defaultDuplexMode();
|
||||
+
|
||||
+ switch (duplex) {
|
||||
+ case QPrint::DuplexNone:
|
||||
options.noDuplex->setChecked(true); break;
|
||||
- case QPrinter::DuplexLongSide:
|
||||
+ case QPrint::DuplexLongSide:
|
||||
case QPrinter::DuplexAuto:
|
||||
options.duplexLong->setChecked(true); break;
|
||||
- case QPrinter::DuplexShortSide:
|
||||
+ case QPrint::DuplexShortSide:
|
||||
options.duplexShort->setChecked(true); break;
|
||||
}
|
||||
options.copies->setValue(p->copyCount());
|
||||
@@ -667,6 +684,11 @@ static bool isValidPagesString(const QString &pagesString) Q_DECL_NOTHROW
|
||||
}
|
||||
#endif
|
||||
|
||||
+void QPrintDialogPrivate::setExplicitDuplexMode(const QPrint::DuplexMode duplexMode)
|
||||
+{
|
||||
+ explicitDuplexMode = duplexMode;
|
||||
+}
|
||||
+
|
||||
void QPrintDialogPrivate::setupPrinter()
|
||||
{
|
||||
// First setup the requested OutputFormat, Printer and Page Size first
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 2283db90d8872df8cb3e1b2d6a3ba080b0bc687b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?B=C5=82a=C5=BCej=20Szczygie=C5=82?= <spaz16@wp.pl>
|
||||
Date: Tue, 25 Sep 2018 18:45:10 +0200
|
||||
Subject: [PATCH] xcb: Don't get initial screen rotation
|
||||
|
||||
"xcb_randr_get_screen_info" can be slow and in some configurations can
|
||||
cause short mouse cursor freezes (which will happen on Qt application
|
||||
startup).
|
||||
|
||||
Initial rotation state (if differs than 0 degrees) is used only for
|
||||
filtering first screen change notify event if nothing has changed.
|
||||
|
||||
Also remove unused variable.
|
||||
|
||||
Change-Id: I9f01325a045d2c82c4dd2fce91a18a34e54a4bcd
|
||||
---
|
||||
src/plugins/platforms/xcb/qxcbscreen.cpp | 7 -------
|
||||
src/plugins/platforms/xcb/qxcbscreen.h | 1 -
|
||||
2 files changed, 8 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbscreen.cpp b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
index 7f2793b2b7..a696e2a311 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.cpp
|
||||
@@ -118,13 +118,6 @@ QXcbVirtualDesktop::QXcbVirtualDesktop(QXcbConnection *connection, xcb_screen_t
|
||||
|
||||
xcb_depth_next(&depth_iterator);
|
||||
}
|
||||
-
|
||||
- if (connection->hasXRandr()) {
|
||||
- xcb_connection_t *conn = connection->xcb_connection();
|
||||
- auto screen_info = Q_XCB_REPLY(xcb_randr_get_screen_info, conn, screen->root);
|
||||
- if (screen_info)
|
||||
- m_rotation = screen_info->rotation;
|
||||
- }
|
||||
}
|
||||
|
||||
QXcbVirtualDesktop::~QXcbVirtualDesktop()
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbscreen.h b/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
index 6438669e7a..ae595dbda2 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
+++ b/src/plugins/platforms/xcb/qxcbscreen.h
|
||||
@@ -220,7 +220,6 @@ private:
|
||||
xcb_randr_crtc_t m_crtc;
|
||||
xcb_randr_mode_t m_mode = XCB_NONE;
|
||||
bool m_primary = false;
|
||||
- uint8_t m_rotation = XCB_RANDR_ROTATION_ROTATE_0;
|
||||
|
||||
QString m_outputName;
|
||||
QSizeF m_outputSizeMillimeters;
|
||||
--
|
||||
2.18.0
|
||||
|
@ -1,30 +0,0 @@
|
||||
From ba22a6731377c8604d13e3855204c03652c0a2e3 Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago.macieira@intel.com>
|
||||
Date: Fri, 21 Sep 2018 09:04:24 -0700
|
||||
Subject: [PATCH] Export qt_open64 from QtCore
|
||||
|
||||
Other libs use qcore_unix_p.h.
|
||||
|
||||
qopenglprogrambinarycache.cpp:function QOpenGLProgramBinaryCache::load(QByteArray const&, unsigned int): error: undefined reference to 'qt_open64(char const*, int, unsigned int)'
|
||||
|
||||
Change-Id: I44e7d800c68141bdaae0fffd155675d15eded2e4
|
||||
---
|
||||
src/corelib/kernel/qcore_unix_p.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/corelib/kernel/qcore_unix_p.h b/src/corelib/kernel/qcore_unix_p.h
|
||||
index cb98bef3476..5a2a29a3273 100644
|
||||
--- a/src/corelib/kernel/qcore_unix_p.h
|
||||
+++ b/src/corelib/kernel/qcore_unix_p.h
|
||||
@@ -178,7 +178,7 @@ inline void qt_ignore_sigpipe()
|
||||
|
||||
#if defined(Q_PROCESSOR_X86_32) && defined(__GLIBC__)
|
||||
# if !__GLIBC_PREREQ(2, 22)
|
||||
-int qt_open64(const char *pathname, int flags, mode_t);
|
||||
+Q_CORE_EXPORT int qt_open64(const char *pathname, int flags, mode_t);
|
||||
# undef QT_OPEN
|
||||
# define QT_OPEN qt_open64
|
||||
# endif
|
||||
--
|
||||
2.16.3
|
||||
|
@ -1,3 +1,85 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 6 13:35:10 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0:
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
* http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.12.0/?h=v5.12.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Dec 3 08:16:17 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-rc2:
|
||||
* New bugfix release
|
||||
* Only important bugfixes
|
||||
- Changelog for Qt 5.12.0:
|
||||
* http://code.qt.io/cgit/qt/qtbase.git/plain/dist/changes-5.12.0/?h=5.12.0
|
||||
- Remove patches, now upstream:
|
||||
* 0001-Fix-build-with-OpenSSL-1.1.0.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 27 08:12:10 UTC 2018 - Fabian Vogt <fabian@ritter-vogt.de>
|
||||
|
||||
- Remove uikit qmake spec to avoid automatic dep on python2
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 22 13:38:47 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-rc:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
- Add patch to fix build with OpenSSL 1.1.0:
|
||||
* 0001-Fix-build-with-OpenSSL-1.1.0.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 8 15:24:22 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-beta4:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
- Remove patches, now upstream:
|
||||
* 0001-xcb-Don-t-get-initial-screen-rotation.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 26 07:20:17 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-beta3:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
- Refresh 0001-Sanitize-QXcbScreen-s-pixelDensity-values.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 17 08:22:23 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-beta2:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 5 18:54:41 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-beta1:
|
||||
* New bugfix release
|
||||
* No changelog available
|
||||
- Remove patches, now upstream:
|
||||
* Export-qt_open64-from-QtCore.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 2 07:33:10 UTC 2018 - fabian@ritter-vogt.de
|
||||
|
||||
- Update to 5.12.0-alpha:
|
||||
* New feature release
|
||||
* For more details please see:
|
||||
* http://wiki.qt.io/New_Features_in_Qt_5.12
|
||||
- Refresh patches:
|
||||
* 0001-Add-remote-print-queue-support.patch
|
||||
* 0001-xcb-Don-t-get-initial-screen-rotation.patch
|
||||
- Remove patches, now upstream:
|
||||
* 0001-Hack-together-a-way-to-get-fallback-from-xcb-working.patch
|
||||
* 0001-Unix-print-dialog-Properly-initialize-duplex.patch
|
||||
- Rename -platformtheme-flatpak to platformtheme-xdgdesktopportal
|
||||
- Adjust libQt5PrintSupport-private-headers-devel Requires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 27 11:34:31 UTC 2018 - mischa.salle@gmail.com
|
||||
|
||||
|
@ -36,17 +36,17 @@
|
||||
%endif
|
||||
|
||||
Name: libqt5-qtbase
|
||||
Version: 5.11.2
|
||||
Version: 5.12.0
|
||||
Release: 0
|
||||
Summary: C++ Program Library, Core Components
|
||||
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-only
|
||||
Group: System/Libraries
|
||||
Url: https://www.qt.io
|
||||
%define base_name libqt5
|
||||
%define real_version 5.11.2
|
||||
%define so_version 5.11.2
|
||||
%define tar_version qtbase-everywhere-src-5.11.2
|
||||
Source: https://download.qt.io/official_releases/qt/5.11/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
%define real_version 5.12.0
|
||||
%define so_version 5.12.0
|
||||
%define tar_version qtbase-everywhere-src-5.12.0
|
||||
Source: https://download.qt.io/official_releases/qt/5.12/%{real_version}/submodules/%{tar_version}.tar.xz
|
||||
# to get mtime of file:
|
||||
Source1: libqt5-qtbase.changes
|
||||
Source2: macros.qt5
|
||||
@ -65,16 +65,12 @@ Patch12: 0001-Add-remote-print-queue-support.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch13: 0001-Revert-QWidgetWindow-Immediately-forward-close-event.patch
|
||||
# PATCH-FIX-OPENSUSE
|
||||
Patch16: 0001-Hack-together-a-way-to-get-fallback-from-xcb-working.patch
|
||||
Patch17: 0001-Sanitize-QXcbScreen-s-pixelDensity-values.patch
|
||||
Patch18: 0002-xcb-Use-the-screen-s-physical-DPI-as-logical-DPI-unl.patch
|
||||
# PATCH-FIX-UPSTREAM
|
||||
Patch19: qapplication-emit-palettechanged.patch
|
||||
# patches 1000- 2000 and above from upstream 5.11 branch #
|
||||
Patch1000: Export-qt_open64-from-QtCore.patch
|
||||
Patch1001: 0001-xcb-Don-t-get-initial-screen-rotation.patch
|
||||
# patches 2000-3000 and above from upstream 5.12/dev branch #
|
||||
Patch2000: 0001-Unix-print-dialog-Properly-initialize-duplex.patch
|
||||
# patches 1000-2000 and above from upstream 5.12 branch #
|
||||
# patches 2000-3000 and above from upstream 5.13/dev branch #
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: double-conversion-devel
|
||||
@ -420,6 +416,8 @@ Requires: libQt5Core-private-headers-devel = %{version}
|
||||
Requires: libQt5Gui-private-headers-devel = %{version}
|
||||
Requires: libQt5PrintSupport-devel = %{version}
|
||||
Requires: libQt5Widgets-private-headers-devel = %{version}
|
||||
# Includes <cups/ppd.h> in qprint_p.h
|
||||
Requires: cups-devel
|
||||
|
||||
%description -n libQt5PrintSupport-private-headers-devel
|
||||
This package provides private headers of libQt5PrintSupport that are
|
||||
@ -604,13 +602,15 @@ Requires: libQt5Gui5 = %{version}
|
||||
%description platformtheme-gtk3
|
||||
Qt 5 plugin for better integration with gtk3-based desktop enviroments.
|
||||
|
||||
%package platformtheme-flatpak
|
||||
Summary: Qt 5 Flatpak plugin
|
||||
%package platformtheme-xdgdesktopportal
|
||||
Summary: Qt 5 XDG Desktop Portal Plugin
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: libQt5Gui5 = %{version}
|
||||
Obsoletes: %{name}-platformtheme-flatpak < %{version}
|
||||
Provides: %{name}-platformtheme-flatpak = %{version}
|
||||
|
||||
%description platformtheme-flatpak
|
||||
Qt 5 plugin for integration with flatpak.
|
||||
%description platformtheme-xdgdesktopportal
|
||||
Qt 5 plugin for integration with flatpak and snap.
|
||||
|
||||
%package -n libQt5Gui-devel
|
||||
Summary: Development files for the Qt5 GUI library
|
||||
@ -943,6 +943,9 @@ rm -fv %{buildroot}%{libqt5_libdir}/*png.*
|
||||
#
|
||||
rm -fv %{buildroot}%{libqt5_libdir}/cmake/Qt5*/Q*Plugin.cmake
|
||||
|
||||
# This is only for Apple platforms and has a python2 dep
|
||||
rm -r %{buildroot}%{libqt5_archdatadir}/mkspecs/features/uikit
|
||||
|
||||
mkdir -p %{buildroot}%{libqt5_plugindir}/sqldrivers
|
||||
|
||||
# put all the binaries to %{_bindir}, add -qt5 suffix, and symlink them back to %_qt5_bindir
|
||||
@ -1210,11 +1213,11 @@ popd
|
||||
%dir %{libqt5_plugindir}/platformthemes
|
||||
%{libqt5_plugindir}/platformthemes/libqgtk3.so
|
||||
|
||||
%files platformtheme-flatpak
|
||||
%files platformtheme-xdgdesktopportal
|
||||
%defattr(-,root,root,755)
|
||||
%doc *.txt LICENSE.*
|
||||
%dir %{libqt5_plugindir}/platformthemes
|
||||
%{libqt5_plugindir}/platformthemes/libqflatpak.so
|
||||
%{libqt5_plugindir}/platformthemes/libqxdgdesktopportal.so
|
||||
|
||||
%files -n libQt5Gui-devel
|
||||
%defattr(-,root,root,755)
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6381e7c3468d5a1dcfe3683b29eeced192faa0f8a32434fec071a59b8bcd0107
|
||||
size 46954920
|
3
qtbase-everywhere-src-5.12.0.tar.xz
Normal file
3
qtbase-everywhere-src-5.12.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5e03221d780e121aabd734896aab8f331e5d8c9d9b54f1eb04907d0818eaeecb
|
||||
size 48288896
|
Loading…
Reference in New Issue
Block a user