diff --git a/qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch b/qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch new file mode 100644 index 0000000..1510564 --- /dev/null +++ b/qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch @@ -0,0 +1,26 @@ +diff -up qt-everywhere-opensource-src-4.8.4/src/gui/styles/qgtkstyle.cpp.disable_gtk_theme_check qt-everywhere-opensource-src-4.8.4/src/gui/styles/qgtkstyle.cpp +diff -up qt-everywhere-opensource-src-4.8.4/src/gui/styles/qgtkstyle_p.cpp.disable_gtk_theme_check qt-everywhere-opensource-src-4.8.4/src/gui/styles/qgtkstyle_p.cpp +--- qt-everywhere-opensource-src-4.8.4/src/gui/styles/qgtkstyle_p.cpp.disable_gtk_theme_check 2012-11-23 04:09:53.000000000 -0600 ++++ qt-everywhere-opensource-src-4.8.4/src/gui/styles/qgtkstyle_p.cpp 2013-01-04 11:37:22.111481756 -0600 +@@ -503,21 +503,6 @@ void QGtkStylePrivate::initGtkWidgets() + return; + } + +- static QString themeName; +- if (!gtkWidgetMap()->contains("GtkWindow") && themeName.isEmpty()) { +- themeName = getThemeName(); +- +- if (themeName.isEmpty()) { +- qWarning("QGtkStyle was unable to detect the current GTK+ theme."); +- return; +- } else if (themeName == QLS("Qt") || themeName == QLS("Qt4")) { +- // Due to namespace conflicts with Qt3 and obvious recursion with Qt4, +- // we cannot support the GTK_Qt Gtk engine +- qWarning("QGtkStyle cannot be used together with the GTK_Qt engine."); +- return; +- } +- } +- + if (QGtkStylePrivate::gtk_init) { + // Gtk will set the Qt error handler so we have to reset it afterwards + x11ErrorHandler qt_x_errhandler = XSetErrorHandler(0); diff --git a/qt.spec b/qt.spec index 4a1fbae..6d4ee5a 100644 --- a/qt.spec +++ b/qt.spec @@ -16,7 +16,7 @@ Summary: Qt toolkit Name: qt Epoch: 1 Version: 4.8.4 -Release: 4%{?dist} +Release: 5%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT @@ -122,6 +122,10 @@ Patch100: qt-everywhere-opensource-src-4.8.1-qtgahandle.patch # QSslSocket may report incorrect errors when certificate verification fails # https://codereview.qt-project.org/#change,42461 Patch101: 0054-Fix-binary-incompatibility-between-openssl-versions.patch +# backported from Qt5 (essentially) +# http://bugzilla.redhat.com/702493 +# https://bugreports.qt-project.org/browse/QTBUG-5545 +Patch102: qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch # security patches # CVE-2011-3922 qt: Stack-based buffer overflow in embedded harfbuzz code @@ -467,6 +471,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags # upstream patches %patch100 -p1 -b .QTgaHandler %patch101 -p1 -b .0054 +%patch102 -p1 -b .qgtkstyle_disable_gtk_theme_check # security fixes %patch200 -p1 -b .CVE-2011-3922 @@ -1109,6 +1114,9 @@ fi %changelog +* Fri Jan 04 2013 Rex Dieter 1:4.8.4-5 +- QGtkStyle was unable to detect the current GTK+ theme (#702493, QTBUG-5545)) + * Fri Jan 04 2013 Rex Dieter 1:4.8.4-4 - QSslSocket may report incorrect errors when certificate verification fails