[packages/qt4] QGtkStyle was unable to detect the current GTK+ theme (RHBZ#702493, QTBUG-5545))

glen glen at pld-linux.org
Sat Apr 6 12:39:20 CEST 2013


commit 3329512cf34943cad8ff16816b94dd1b38c015b3
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Sat Apr 6 13:38:40 2013 +0300

    QGtkStyle was unable to detect the current GTK+ theme (RHBZ#702493, QTBUG-5545))

 ...c-4.8.4-qgtkstyle_disable_gtk_theme_check.patch | 26 ++++++++++++++++++++++
 qt4.spec                                           | 13 ++++++-----
 2 files changed, 34 insertions(+), 5 deletions(-)
---
diff --git a/qt4.spec b/qt4.spec
index 573a30e..1dad4d2 100644
--- a/qt4.spec
+++ b/qt4.spec
@@ -26,7 +26,7 @@
 %bcond_with	sse41		# use SSE4.1 instructions (Intel since middle Core2)
 %bcond_with	sse42		# use SSE4.2 instructions (the same)
 %bcond_with	avx		# use AVX instructions (future Intel x86 CPUs only)
-#
+
 %ifnarch %{ix86} %{x8664} sparc sparcv9 alpha ppc
 %undefine	with_ibase
 %endif
@@ -45,14 +45,14 @@
 # any SQL
 %define		_withsql	1
 %{!?with_sqlite3:%{!?with_sqlite:%{!?with_ibase:%{!?with_mysql:%{!?with_pgsql:%{!?with_odbc:%undefine _withsql}}}}}}
-#
+
 Summary:	The Qt GUI application framework
 Summary(es.UTF-8):	Biblioteca para ejecutar aplicaciones GUI Qt
 Summary(pl.UTF-8):	Biblioteka Qt do tworzenia GUI
 Summary(pt_BR.UTF-8):	Estrutura para rodar aplicações GUI Qt
 Name:		qt4
 Version:	4.8.4
-Release:	2
+Release:	3
 License:	LGPL v2.1 or GPL v3.0
 Group:		X11/Libraries
 Source0:	http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-%{version}.tar.gz
@@ -81,7 +81,10 @@ Patch11:	moc-boost148.patch
 Patch12:	fix-crash-in-assistant.patch
 Patch13:	improve-cups-support.patch
 Patch14:	qt4-CVE-2013-0254.patch
-
+# backported from Qt5 (essentially)
+# http://bugzilla.redhat.com/702493
+# https://bugreports.qt-project.org/browse/QTBUG-5545
+Patch15:	qt-everywhere-opensource-src-4.8.4-qgtkstyle_disable_gtk_theme_check.patch
 Patch16:	qt-everywhere-opensource-src-4.8.3-QTBUG-4862.patch
 URL:		http://qt.nokia.com/
 %{?with_ibase:BuildRequires:	Firebird-devel}
@@ -1455,7 +1458,7 @@ Programas exemplo para o Qt versão.
 %patch12 -p1
 %patch13 -p1
 %patch14 -p1
-
+%patch15 -p1
 %patch16 -p1
 
 %{__sed} -i -e 's,usr/X11R6/,usr/g,' mkspecs/linux-g++-64/qmake.conf \
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);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/qt4.git/commitdiff/3329512cf34943cad8ff16816b94dd1b38c015b3



More information about the pld-cvs-commit mailing list