From 007c05dfcbee624dfd331220fd6a047f65dd5061 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 15 Jun 2020 18:51:17 -0400 Subject: [PATCH 1/3] Don't call setDevicePixelRatio after setDevicePixelRatioF. --- lib/matplotlib/backends/qt_compat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index 4252dad47335..a4fc49075b41 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -220,6 +220,6 @@ def _setDevicePixelRatioF(obj, val): if hasattr(obj, 'setDevicePixelRatioF'): # Not available on Qt<5.6 obj.setDevicePixelRatioF(val) - if hasattr(obj, 'setDevicePixelRatio'): + elif hasattr(obj, 'setDevicePixelRatio'): # Not available on Qt4 or some older Qt5. obj.setDevicePixelRatio(val) From 1fb756e0aaec6fdc1af64099135c845a12f6b61e Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 15 Jun 2020 18:51:49 -0400 Subject: [PATCH 2/3] Update a missed call to _setDevicePixelRatio. --- lib/matplotlib/backends/backend_qt5.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index bd5b3babb90b..829c042e3631 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -18,7 +18,7 @@ from . import qt_compat from .qt_compat import ( QtCore, QtGui, QtWidgets, __version__, QT_API, - _devicePixelRatioF, _isdeleted, + _devicePixelRatioF, _isdeleted, _setDevicePixelRatioF, ) backend_version = __version__ @@ -710,7 +710,7 @@ def _icon(self, name): if QtCore.qVersion() >= '5.': name = name.replace('.png', '_large.png') pm = QtGui.QPixmap(str(cbook._get_data_path('images', name))) - qt_compat._setDevicePixelRatio(pm, _devicePixelRatioF(self)) + _setDevicePixelRatioF(pm, _devicePixelRatioF(self)) if self.palette().color(self.backgroundRole()).value() < 128: icon_color = self.palette().color(self.foregroundRole()) mask = pm.createMaskFromColor(QtGui.QColor('black'), From 5b6e92a374721aeb2a747cbfac3d1364e6d7c958 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 15 Jun 2020 18:52:17 -0400 Subject: [PATCH 3/3] Remove redundant pixel ratio compat functions. --- lib/matplotlib/backends/qt_compat.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/matplotlib/backends/qt_compat.py b/lib/matplotlib/backends/qt_compat.py index a4fc49075b41..3c0f2b74c84a 100644 --- a/lib/matplotlib/backends/qt_compat.py +++ b/lib/matplotlib/backends/qt_compat.py @@ -67,7 +67,7 @@ def _setup_pyqt5(): global QtCore, QtGui, QtWidgets, __version__, is_pyqt5, \ - _isdeleted, _devicePixelRatio, _setDevicePixelRatio, _getSaveFileName + _isdeleted, _getSaveFileName if QT_API == QT_API_PYQT5: from PyQt5 import QtCore, QtGui, QtWidgets @@ -89,14 +89,10 @@ def _isdeleted(obj): return not shiboken2.isValid(obj) def is_pyqt5(): return True - # self.devicePixelRatio() returns 0 in rare cases - def _devicePixelRatio(obj): return obj.devicePixelRatio() or 1 - def _setDevicePixelRatio(obj, factor): obj.setDevicePixelRatio(factor) - def _setup_pyqt4(): global QtCore, QtGui, QtWidgets, __version__, is_pyqt5, \ - _isdeleted, _devicePixelRatio, _setDevicePixelRatio, _getSaveFileName + _isdeleted, _getSaveFileName def _setup_pyqt4_internal(api): global QtCore, QtGui, QtWidgets, \ @@ -149,9 +145,6 @@ def _isdeleted(obj): return not shiboken.isValid(obj) def is_pyqt5(): return False - def _devicePixelRatio(obj): return 1 - def _setDevicePixelRatio(obj, factor): pass - if QT_API in [QT_API_PYQT5, QT_API_PYSIDE2]: _setup_pyqt5()