rpms/qt/F-12 0002-This-patch-makes-override-redirect-windows-popup-men.patch, NONE, 1.1 0003-This-patch-changes-QObjectPrivateVersion-thus-preven.patch, NONE, 1.1 0004-This-patch-adds-support-for-using-isystem-to-allow-p.patch, NONE, 1.1 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch, NONE, 1.1 0008-This-patch-makes-the-raster-graphics-system-use-shar.patch, NONE, 1.1 0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch, NONE, 1.1 0012-Add-context-to-tr-calls-in-QShortcut.patch, NONE, 1.1 qt-cups-1.patch, NONE, 1.1 qt-everywhere-opensource-src-4.6.0-beta1-qdoc3.patch, NONE, 1.1 qt-everywhere-opensource-src-4.6.0-gst-pulsaudio.patch, NONE, 1.1 .cvsignore, 1.63, 1.64 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch, 1.1, 1.2 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch, 1.1, 1.2 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch, 1.1, 1.2 kde-qt-patches.sh, 1.1, 1.2 qt.spec, 1.345, 1.346 sources, 1.65, 1.66 0002-This-patch-makes-override-redirect-windows-popup-me.patch, 1.1, NONE 0003-This-patch-changes-QObjectPrivateVersion-thus-preve.patch, 1.1, NONE 0004-This-patch-adds-support-for-using-isystem-to-allow.patch, 1.1, NONE 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-g.patch, 1.1, NONE 0008-In-a-treeview-with-columns-like-this.patch, 1.1, NONE 0009-This-patch-fixes-deserialization-of-values-with-cust.patch, 1.1, NONE 0010-Import-README.qt-copy-from-the-original-qt-copy.patch, 1.1, NONE 0011-Update-this-file-to-reflect-the-workflow-with-Git-a.patch, 1.1, NONE 0015-Make-QMenu-respect-the-minimum-width-set.patch, 1.1, NONE 0016-Fill-gap-of-X.org-XFree-multimedia-special-launcher.patch, 1.1, NONE 0017-Add-context-to-tr-calls-in-QShortcut.patch, 1.1, NONE 0118-qtcopy-define.diff, 1.1, NONE 0274-shm-native-image-fix.patch, 1.1, NONE 0283-do-not-deduce-scrollbar-extent-twice.diff, 1.1, NONE 0285-qgv-dontshowchildren.diff, 1.1, NONE qeventdispatcher_glib_fix.diff, 1.1, NONE qt-x11-opensource-src-4.5.0-qdoc3.patch, 1.2, NONE qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch, 1.1, NONE qt-x11-opensource-src-4.5.3-cve-2009-2816-cors.patch, 1.1, NONE qt-x11-opensource-src-4.5.3-cve-2009-3384-ftp-ls-handling.patch, 1.1, NONE qt-x11-opensource-src-4.5.3-glib-event-loop.patch, 1.1, NONE qt-x11-opensource-src-4.5.3-javascript-disable-jit.patch, 1.1, NONE

Rex Dieter rdieter at fedoraproject.org
Fri Feb 5 16:40:23 UTC 2010


Author: rdieter

Update of /cvs/pkgs/rpms/qt/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv20027/F-12

Modified Files:
	.cvsignore 
	0001-This-patch-uses-object-name-as-a-fallback-for-window.patch 
	0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch 
	0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch 
	kde-qt-patches.sh qt.spec sources 
Added Files:
	0002-This-patch-makes-override-redirect-windows-popup-men.patch 
	0003-This-patch-changes-QObjectPrivateVersion-thus-preven.patch 
	0004-This-patch-adds-support-for-using-isystem-to-allow-p.patch 
	0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch 
	0008-This-patch-makes-the-raster-graphics-system-use-shar.patch 
	0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch 
	0012-Add-context-to-tr-calls-in-QShortcut.patch 
	qt-cups-1.patch 
	qt-everywhere-opensource-src-4.6.0-beta1-qdoc3.patch 
	qt-everywhere-opensource-src-4.6.0-gst-pulsaudio.patch 
Removed Files:
	0002-This-patch-makes-override-redirect-windows-popup-me.patch 
	0003-This-patch-changes-QObjectPrivateVersion-thus-preve.patch 
	0004-This-patch-adds-support-for-using-isystem-to-allow.patch 
	0007-When-using-qmake-outside-qt-src-tree-it-sometimes-g.patch 
	0008-In-a-treeview-with-columns-like-this.patch 
	0009-This-patch-fixes-deserialization-of-values-with-cust.patch 
	0010-Import-README.qt-copy-from-the-original-qt-copy.patch 
	0011-Update-this-file-to-reflect-the-workflow-with-Git-a.patch 
	0015-Make-QMenu-respect-the-minimum-width-set.patch 
	0016-Fill-gap-of-X.org-XFree-multimedia-special-launcher.patch 
	0017-Add-context-to-tr-calls-in-QShortcut.patch 
	0118-qtcopy-define.diff 0274-shm-native-image-fix.patch 
	0283-do-not-deduce-scrollbar-extent-twice.diff 
	0285-qgv-dontshowchildren.diff qeventdispatcher_glib_fix.diff 
	qt-x11-opensource-src-4.5.0-qdoc3.patch 
	qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch 
	qt-x11-opensource-src-4.5.3-cve-2009-2816-cors.patch 
	qt-x11-opensource-src-4.5.3-cve-2009-3384-ftp-ls-handling.patch 
	qt-x11-opensource-src-4.5.3-glib-event-loop.patch 
	qt-x11-opensource-src-4.5.3-javascript-disable-jit.patch 
Log Message:
sync w/devel branch for qt-4.6.1 goodness


0002-This-patch-makes-override-redirect-windows-popup-men.patch:
 qwidget_x11.cpp |   22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

--- NEW FILE 0002-This-patch-makes-override-redirect-windows-popup-men.patch ---
>From 339e220e29ff39b86705438b4be6f90e5618d27b Mon Sep 17 00:00:00 2001
From: Lubos Lunak <l.lunak at kde.org>
Date: Tue, 2 Oct 2007 16:08:32 +0200
Subject: [PATCH 02/13] This patch makes override-redirect windows (popup menu, dropdown menu,
 tooltip, combobox, etc.) also have more window properties like WM_CLASS,
 so they can be used when compositing.

qt-bugs@ issue : none
bugs.kde.org number : none
---
 src/gui/kernel/qwidget_x11.cpp |   21 +++++++++++++++------
 1 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/gui/kernel/qwidget_x11.cpp b/src/gui/kernel/qwidget_x11.cpp
index 79ee8c9..a74a849 100644
--- a/src/gui/kernel/qwidget_x11.cpp
+++ b/src/gui/kernel/qwidget_x11.cpp
@@ -719,6 +719,11 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
         Q_ASSERT(id);
         XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder,
                                 &wsa);
+        XClassHint class_hint;
+        QByteArray appName = qAppName().toLatin1();
+        class_hint.res_name = appName.data(); // application name
+        class_hint.res_class = const_cast<char *>(QX11Info::appClass());   // application class
+        XSetWMProperties(dpy, id, 0, 0, 0, 0, 0, 0, &class_hint);
     } else if (topLevel && !desktop) {        // top-level widget
         if (!X11->wm_client_leader)
             create_wm_client_leader();
@@ -769,13 +774,21 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
         // set EWMH window types
         setNetWmWindowTypes();
 
+        // when we create a toplevel widget, the frame strut should be dirty
+        data.fstrut_dirty = 1;
+
+    } else {
+        // non-toplevel widgets don't have a frame, so no need to
+        // update the strut
+        data.fstrut_dirty = 0;
+    }
+
+    if (initializeWindow && (popup || (topLevel && !desktop))) { // properties set on all toplevel windows
         // set _NET_WM_PID
         long curr_pid = getpid();
         XChangeProperty(dpy, id, ATOM(_NET_WM_PID), XA_CARDINAL, 32, PropModeReplace,
                         (unsigned char *) &curr_pid, 1);
 
-        // when we create a toplevel widget, the frame strut should be dirty
-        data.fstrut_dirty = 1;
 
         // declare the widget's window role
         if (QTLWExtra *topData = maybeTopData()) {
@@ -791,10 +804,6 @@ void QWidgetPrivate::create_sys(WId window, bool initializeWindow, bool destroyO
         XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
                         XA_WINDOW, 32, PropModeReplace,
                         (unsigned char *)&X11->wm_client_leader, 1);
-    } else {
-        // non-toplevel widgets don't have a frame, so no need to
-        // update the strut
-        data.fstrut_dirty = 0;
     }
 
     if (initializeWindow && q->internalWinId()) {
-- 
1.6.5.1


0003-This-patch-changes-QObjectPrivateVersion-thus-preven.patch:
 qobject_p.h |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--- NEW FILE 0003-This-patch-changes-QObjectPrivateVersion-thus-preven.patch ---
>From 68eaa07de69e873b89d4aba341c6ed1ca81f6819 Mon Sep 17 00:00:00 2001
From: Lubos Lunak <l.lunak at kde.org>
Date: Wed, 30 Jan 2008 14:24:01 +0100
Subject: [PATCH 03/13] This patch changes QObjectPrivateVersion, thus preventing mixing
 parts of upstream Qt and qt-copy. In general it is a bad idea to mix
 e.g. libQtCore from one build and libQtGui from another one, and other
 qt-copy patches could make changes in Qt internal structures that could
 cause problems when mixed with upstream Qt.

This patch does not make qt-copy binary incompatible with upstream Qt.
It only further enforces using the same sources for the whole Qt build.

qt-bugs@ issue : none
Trolltech task ID : none
bugs.kde.org number : none
---
 src/corelib/kernel/qobject_p.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/corelib/kernel/qobject_p.h b/src/corelib/kernel/qobject_p.h
index 0bcccba..88192fd 100644
--- a/src/corelib/kernel/qobject_p.h
+++ b/src/corelib/kernel/qobject_p.h
@@ -83,7 +83,9 @@ extern QSignalSpyCallbackSet Q_CORE_EXPORT qt_signal_spy_callback_set;
 
 inline QObjectData::~QObjectData() {}
 
-enum { QObjectPrivateVersion = QT_VERSION };
+// add 0x1000000 to mark it as qt-copy version, with possible modifications
+// in some Q*Private class
+enum { QObjectPrivateVersion = QT_VERSION + 0x1000000 };
 
 class Q_CORE_EXPORT QObjectPrivate : public QObjectData
 {
-- 
1.6.5.1


0004-This-patch-adds-support-for-using-isystem-to-allow-p.patch:
 configure |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

--- NEW FILE 0004-This-patch-adds-support-for-using-isystem-to-allow-p.patch ---
>From 86fc0d43cdcf3232ae0e4e6f4f28cf8f1a45ede5 Mon Sep 17 00:00:00 2001
From: Benjamin Reed <rangerrick at befunk.com>
Date: Tue, 19 Feb 2008 17:37:37 +0100
Subject: [PATCH 04/13] This patch adds support for using -isystem to allow putting an include
 directory at the end of the compiler's header search path.

I don't have the exact output anymore (I've since patched Qt's configure) but
essentially, since I have pcre.h in /opt/kde4-deps/include, it was
conflicting with Qt's (modified) pcre.h in the WebKit bits, since
-I /opt/kde4-deps/include ends up in CXXFLAGS in the generated makefiles, it
comes *before* the specific locations in INCPATH on the compile line, and you
end up with a conflict with the system-installed pcre.h.

Presumably, if your pcre.h is in /usr/include as on most Linux systems, you
wouldn't notice this issue since /usr/include's already in your include path
and people likely don't pass -I /usr/include to configure.  I suspect that on
any platform with a regular, system-installed pcre.h (or clucene headers),
adding -I /usr/include would exhibit this bug, just as a custom-installed
pcre/clucene in another root would.

qt-bugs@ issue : 199610
Trolltech task ID :
bugs.kde.org number :
---
 configure |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 2c108ad..610a201 100755
--- a/configure
+++ b/configure
@@ -927,6 +927,11 @@ while [ "$#" -gt 0 ]; do
             VAL=`echo $1 | sed 's,-D,,'`
         fi
         ;;
+    -isystem)
+        VAR="add_isystempath"
+        shift
+        VAL="$1"
+        ;;
     -I?*|-I)
         VAR="add_ipath"
         if [ "$1" = "-I" ]; then
@@ -1890,6 +1895,9 @@ while [ "$#" -gt 0 ]; do
     add_ipath)
         I_FLAGS="$I_FLAGS -I\"${VAL}\""
         ;;
+    add_isystempath)
+        I_FLAGS="$I_FLAGS -isystem \"${VAL}\""
+        ;;
     add_lpath)
         L_FLAGS="$L_FLAGS -L\"${VAL}\""
         ;;
-- 
1.6.5.1


0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch:
 property.cpp |   30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

--- NEW FILE 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch ---
>From 0afcf33127c6ccbe5dfaae4f4c5e02f28dc10ae1 Mon Sep 17 00:00:00 2001
From: Christian Ehrlicher <ch.ehrlicher at gmx.de>
Date: Thu, 8 May 2008 21:25:49 +0200
Subject: [PATCH 07/13] When using qmake outside qt src tree, it sometimes generates wrong
 paths (wrong path separator)

qt-bugs@ issue : none
Trolltech task ID : 214661
---
 qmake/property.cpp |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/qmake/property.cpp b/qmake/property.cpp
index 8ba89f9..dd78349 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -81,29 +81,32 @@ QMakeProperty::keyBase(bool version) const
 QString
 QMakeProperty::value(QString v, bool just_check)
 {
+    QString ret;
     if(v == "QT_INSTALL_PREFIX")
-        return QLibraryInfo::location(QLibraryInfo::PrefixPath);
+        ret = QLibraryInfo::location(QLibraryInfo::PrefixPath);
     else if(v == "QT_INSTALL_DATA")
-        return QLibraryInfo::location(QLibraryInfo::DataPath);
+        ret = QLibraryInfo::location(QLibraryInfo::DataPath);
     else if(v == "QT_INSTALL_DOCS")
-        return QLibraryInfo::location(QLibraryInfo::DocumentationPath);
+        ret = QLibraryInfo::location(QLibraryInfo::DocumentationPath);
     else if(v == "QT_INSTALL_HEADERS")
-        return QLibraryInfo::location(QLibraryInfo::HeadersPath);
+        ret = QLibraryInfo::location(QLibraryInfo::HeadersPath);
     else if(v == "QT_INSTALL_LIBS")
-        return QLibraryInfo::location(QLibraryInfo::LibrariesPath);
+        ret = QLibraryInfo::location(QLibraryInfo::LibrariesPath);
     else if(v == "QT_INSTALL_BINS")
-        return QLibraryInfo::location(QLibraryInfo::BinariesPath);
+        ret = QLibraryInfo::location(QLibraryInfo::BinariesPath);
     else if(v == "QT_INSTALL_PLUGINS")
-        return QLibraryInfo::location(QLibraryInfo::PluginsPath);
+        ret = QLibraryInfo::location(QLibraryInfo::PluginsPath);
     else if(v == "QT_INSTALL_TRANSLATIONS")
-        return QLibraryInfo::location(QLibraryInfo::TranslationsPath);
+        ret = QLibraryInfo::location(QLibraryInfo::TranslationsPath);
     else if(v == "QT_INSTALL_CONFIGURATION")
-        return QLibraryInfo::location(QLibraryInfo::SettingsPath);
+        ret = QLibraryInfo::location(QLibraryInfo::SettingsPath);
     else if(v == "QT_INSTALL_EXAMPLES")
-        return QLibraryInfo::location(QLibraryInfo::ExamplesPath);
+        ret = QLibraryInfo::location(QLibraryInfo::ExamplesPath);
     else if(v == "QT_INSTALL_DEMOS")
-        return QLibraryInfo::location(QLibraryInfo::DemosPath);
-    else if(v == "QMAKE_MKSPECS")
+        ret = QLibraryInfo::location(QLibraryInfo::DemosPath);
+    if(!ret.isEmpty())
+        return QDir::toNativeSeparators(ret);
+    if(v == "QMAKE_MKSPECS")
         return qmake_mkspec_paths().join(Option::target_mode == Option::TARG_WIN_MODE ? ";" : ":");
     else if(v == "QMAKE_VERSION")
         return qmake_version();
@@ -116,7 +119,7 @@ QMakeProperty::value(QString v, bool just_check)
     int slash = v.lastIndexOf('/');
     QVariant var = settings->value(keyBase(slash == -1) + v);
     bool ok = var.isValid();
-    QString ret = var.toString();
+    ret = var.toString();
     if(!ok) {
         QString version = qmake_version();
         if(slash != -1) {
-- 
1.6.5.1


0008-This-patch-makes-the-raster-graphics-system-use-shar.patch:
 image/qnativeimage.cpp             |   10 ----------
 image/qnativeimage_p.h             |    1 -
 painting/qwindowsurface_raster.cpp |   14 ++++++++++----
 3 files changed, 10 insertions(+), 15 deletions(-)

--- NEW FILE 0008-This-patch-makes-the-raster-graphics-system-use-shar.patch ---
>From 8731ab999b849dac4716e3d29f5f55ed8e56438e Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira at nokia.com>
Date: Thu, 25 Jun 2009 13:50:29 +0200
Subject: [PATCH 08/13] This patch makes the raster graphics system use shared images instead
 of shared pixmaps.

Shared memory pixmaps are deprecated since they are slower than shared
images with modern graphics hardware. They are also not supported by EXA
drivers and can be disabled in the latest version of the NVidia driver.

qt-bugs@ issue : none
Qt Software task ID : none
bugs.kde.org number : none
---
 src/gui/image/qnativeimage.cpp             |   10 ----------
 src/gui/image/qnativeimage_p.h             |    1 -
 src/gui/painting/qwindowsurface_raster.cpp |   13 ++++++++++---
 3 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp
index 3745708..3c21fce 100644
--- a/src/gui/image/qnativeimage.cpp
+++ b/src/gui/image/qnativeimage.cpp
@@ -147,7 +147,6 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /*
 {
     if (!X11->use_mitshm) {
         xshmimg = 0;
-        xshmpm = 0;
         image = QImage(width, height, format);
         return;
     }
@@ -191,11 +190,6 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /*
             shmctl(xshminfo.shmid, IPC_RMID, 0);
         return;
     }
-    xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data,
-                              &xshminfo, width, height, dd);
-    if (!xshmpm) {
-        qWarning() << "QNativeImage: Unable to create shared Pixmap.";
-    }
 }
 
 
@@ -204,10 +198,6 @@ QNativeImage::~QNativeImage()
     if (!xshmimg)
         return;
 
-    if (xshmpm) {
-        XFreePixmap(X11->display, xshmpm);
-        xshmpm = 0;
-    }
     XShmDetach(X11->display, &xshminfo);
     xshmimg->data = 0;
     XDestroyImage(xshmimg);
diff --git a/src/gui/image/qnativeimage_p.h b/src/gui/image/qnativeimage_p.h
index 07d5dfe..ba01854 100644
--- a/src/gui/image/qnativeimage_p.h
+++ b/src/gui/image/qnativeimage_p.h
@@ -90,7 +90,6 @@ public:
 
 #elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM)
     XImage *xshmimg;
-    Pixmap xshmpm;
     XShmSegmentInfo xshminfo;
 
 #elif defined(Q_WS_MAC)
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index d6fb03b..09963d9 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -220,9 +220,16 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
 
     QRect br = rgn.boundingRect().translated(offset);
 #ifndef QT_NO_MITSHM
-    if (d_ptr->image->xshmpm) {
-        XCopyArea(X11->display, d_ptr->image->xshmpm, widget->handle(), d_ptr->gc,
-                  br.x(), br.y(), br.width(), br.height(), wbr.x(), wbr.y());
+    if (d_ptr->image->xshmimg && (br.width() * br.height() > 65536)) {
+        const QImage &src = d->image->image;
+        br = br.intersected(src.rect());
+        // Hack to make sure we satisify the PutImage() constraints in the X server,
+        // since the doShmPutImage() route currently forces a migration to system ram.
+        wbr.setX(wbr.x() - br.x());
+        br.setX(0);
+        br.setWidth(src.width());
+        XShmPutImage(X11->display, widget->handle(), d_ptr->gc, d_ptr->image->xshmimg,
+                     br.x(), br.y(), wbr.x(), wbr.y(), br.width(), br.height(), False);
         XSync(X11->display, False);
     } else
 #endif
-- 
1.6.5.1


0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch:
 qapplication_x11.cpp |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

--- NEW FILE 0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch ---
>From bb8255da422470c5012b6b1c4c24eb2afb6804dc Mon Sep 17 00:00:00 2001
From: Thiago Macieira <thiago.macieira at nokia.com>
Date: Fri, 26 Jun 2009 11:41:45 +0200
Subject: [PATCH 09/13] Restore a section of the file that got removed due to conflict resolution.

Thanks to Kevin Kofler for pointing this out
---
 src/gui/kernel/qapplication_x11.cpp |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp
index 33aec9e..53f020b 100644
--- a/src/gui/kernel/qapplication_x11.cpp
+++ b/src/gui/kernel/qapplication_x11.cpp
@@ -1955,9 +1955,9 @@ void qt_init(QApplicationPrivate *priv, int,
             bool local = displayName.isEmpty() || displayName.lastIndexOf(QLatin1Char(':')) == 0;
             if (local && (qgetenv("QT_X11_NO_MITSHM").toInt() == 0)) {
                 Visual *defaultVisual = DefaultVisual(X11->display, DefaultScreen(X11->display));
-                X11->use_mitshm = mitshm_pixmaps && (defaultVisual->red_mask == 0xff0000
-                                                     && defaultVisual->green_mask == 0xff00
-                                                     && defaultVisual->blue_mask == 0xff);
+                X11->use_mitshm = defaultVisual->red_mask == 0xff0000
+                                  && defaultVisual->green_mask == 0xff00
+                                  && defaultVisual->blue_mask == 0xff;
             }
         }
 #endif // QT_NO_MITSHM
-- 
1.6.5.1


0012-Add-context-to-tr-calls-in-QShortcut.patch:
 qkeysequence.cpp |   21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

--- NEW FILE 0012-Add-context-to-tr-calls-in-QShortcut.patch ---
>From 9eb3560cfd5cd0bc9c7bf79f2c27657ee07b8f95 Mon Sep 17 00:00:00 2001
From: Albert Astals Cid <aacid at kde.org>
Date: Sat, 8 Aug 2009 14:40:25 +0200
Subject: [PATCH 12/13] Add context to tr calls in QShortcut

Some languages have special rules for using "+" to concatenate strings and
for example it needs to be Ctrl + Shift instead of Ctrl+Shift, adding
context to these strings helps creating a more correct translation
---
 src/gui/kernel/qkeysequence.cpp |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/gui/kernel/qkeysequence.cpp b/src/gui/kernel/qkeysequence.cpp
index 894f663..c17f253 100644
--- a/src/gui/kernel/qkeysequence.cpp
+++ b/src/gui/kernel/qkeysequence.cpp
@@ -991,10 +991,10 @@ int QKeySequencePrivate::decodeString(const QString &str, QKeySequence::Sequence
 
     QList<QModifKeyName> modifs;
     if (nativeText) {
-        modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl").toLower().append(QLatin1Char('+')))
-               << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift").toLower().append(QLatin1Char('+')))
-               << QModifKeyName(Qt::ALT, QShortcut::tr("Alt").toLower().append(QLatin1Char('+')))
-               << QModifKeyName(Qt::META, QShortcut::tr("Meta").toLower().append(QLatin1Char('+')));
+        modifs << QModifKeyName(Qt::CTRL, QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts").toLower().append(QLatin1Char('+')))
+               << QModifKeyName(Qt::SHIFT, QShortcut::tr("Shift", "Shift key, used for shortcuts").toLower().append(QLatin1Char('+')))
+               << QModifKeyName(Qt::ALT, QShortcut::tr("Alt", "Alt key, used for shortcuts").toLower().append(QLatin1Char('+')))
+               << QModifKeyName(Qt::META, QShortcut::tr("Meta", "Meta key, used for shortcuts").toLower().append(QLatin1Char('+')));
     }
     modifs += *gmodifs; // Test non-translated ones last
 
@@ -1086,7 +1086,7 @@ QString QKeySequence::encodeString(int key)
 static inline void addKey(QString &str, const QString &theKey, QKeySequence::SequenceFormat format)
 {
     if (!str.isEmpty())
-        str += (format == QKeySequence::NativeText) ? QShortcut::tr("+")
+        str += (format == QKeySequence::NativeText) ? QShortcut::tr("+", "Symbol used to concatenate keys in shortcuts")
                                                     : QString::fromLatin1("+");
     str += theKey;
 }
@@ -1111,13 +1111,13 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
     {
         // On other systems the order is Meta, Control, Alt, Shift
         if ((key & Qt::META) == Qt::META)
-            s = nativeText ? QShortcut::tr("Meta") : QString::fromLatin1("Meta");
+            s = nativeText ? QShortcut::tr("Meta", "Meta key, used for shortcuts") : QString::fromLatin1("Meta");
         if ((key & Qt::CTRL) == Qt::CTRL)
-            addKey(s, nativeText ? QShortcut::tr("Ctrl") : QString::fromLatin1("Ctrl"), format);
+            addKey(s, nativeText ? QShortcut::tr("Ctrl", "Ctrl key, used for shortcuts") : QString::fromLatin1("Ctrl"), format);
         if ((key & Qt::ALT) == Qt::ALT)
-            addKey(s, nativeText ? QShortcut::tr("Alt") : QString::fromLatin1("Alt"), format);
+            addKey(s, nativeText ? QShortcut::tr("Alt", "Alt key, used for shortcuts") : QString::fromLatin1("Alt"), format);
         if ((key & Qt::SHIFT) == Qt::SHIFT)
-            addKey(s, nativeText ? QShortcut::tr("Shift") : QString::fromLatin1("Shift"), format);
+            addKey(s, nativeText ? QShortcut::tr("Shift", "Shift key, used for shortcuts") : QString::fromLatin1("Shift"), format);
     }
 
 
@@ -1132,7 +1132,7 @@ QString QKeySequencePrivate::encodeString(int key, QKeySequence::SequenceFormat
             p += QChar((key-0x10000)%400+0xdc00);
         }
     } else if (key >= Qt::Key_F1 && key <= Qt::Key_F35) {
-            p = nativeText ? QShortcut::tr("F%1").arg(key - Qt::Key_F1 + 1)
+            p = nativeText ? QShortcut::tr("F%1", "Fx key, used for shortcuts").arg(key - Qt::Key_F1 + 1)
                            : QString::fromLatin1("F%1").arg(key - Qt::Key_F1 + 1);
     } else if (key) {
         int i=0;
-- 
1.6.5.1


qt-cups-1.patch:
 dialogs/qprintdialog_unix.cpp |   28 ++++++++++++++++++++++++++++
 painting/qprinter.cpp         |   42 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+)

--- NEW FILE qt-cups-1.patch ---
diff --git a/src/gui/dialogs/qprintdialog_unix.cpp b/src/gui/dialogs/qprintdialog_unix.cpp
index 23f5831..f34277a 100644
--- a/src/gui/dialogs/qprintdialog_unix.cpp
+++ b/src/gui/dialogs/qprintdialog_unix.cpp
@@ -569,6 +569,34 @@ void QPrintDialogPrivate::setTabs(const QList<QWidget*> &tabWidgets)
 void QPrintDialogPrivate::selectPrinter(QCUPSSupport *cups)
 {
     options.duplex->setEnabled(cups && cups->ppdOption("Duplex"));
+
+    if(cups)
+      {
+    	const ppd_option_t* duplex = cups->ppdOption("Duplex");
+    	if( duplex )
+    	  {
+    	    // copy default ppd duplex to qt dialog
+    	    if( qstrcmp(duplex->defchoice, "DuplexTumble") == 0 )
+    	      options.duplexShort->setChecked(true);
+    	    else if ( qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0 )
+    	      options.duplexLong->setChecked(true);
+    	    else
+    	      options.noDuplex->setChecked(true);
+    	  }
+
+    	// set default color
+    	if( cups->currentPPD()->color_device )
+    	  options.color->setChecked(true);
+    	else
+    	  options.grayscale->setChecked(true);
+
+    	// set collation
+    	const ppd_option_t *collate = cups->ppdOption("Collate");
+    	if( collate )
+    	  {
+    	    options.collate->setChecked(qstrcmp(collate->defchoice, "True")==0);
+    	  }
+      }
 }
 #endif
 
diff --git a/src/gui/painting/qprinter.cpp b/src/gui/painting/qprinter.cpp
index 4d2b50a..c7ab1b3 100644
--- a/src/gui/painting/qprinter.cpp
+++ b/src/gui/painting/qprinter.cpp
@@ -627,6 +627,48 @@ QPrinter::QPrinter(PrinterMode mode)
                && d_ptr->paintEngine->type() != QPaintEngine::MacPrinter) {
         setOutputFormat(QPrinter::PdfFormat);
     }
+
+#if !defined(QT_NO_CUPS) && !defined(QT_NO_LIBRARY)
+    // fill in defaults from ppd file
+    QCUPSSupport cups;
+    
+    int printernum = -1;
+    for(int i = 0; i < cups.availablePrintersCount(); i++)
+      {
+	if( printerName().toLocal8Bit() == cups.availablePrinters()[i].name )
+	  printernum = i;
+      }
+    if( printernum >= 0 )
+      {
+	cups.setCurrentPrinter(printernum);
+
+    	const ppd_option_t* duplex = cups.ppdOption("Duplex");
+    	if( duplex )
+    	  {
+    	    // copy default ppd duplex to qt dialog
+    	    if( qstrcmp(duplex->defchoice, "DuplexTumble") == 0 )
+	      setDuplex(DuplexShortSide);
+    	    else if ( qstrcmp(duplex->defchoice, "DuplexNoTumble") == 0 )
+	      setDuplex(DuplexLongSide);
+    	    else
+	      setDuplex(DuplexNone);
+    	  }
+
+    	// set default color
+    	if( cups.currentPPD()->color_device )
+	  setColorMode(Color);
+    	else
+	  setColorMode(GrayScale);
+
+    	// set collation
+    	const ppd_option_t *collate = cups.ppdOption("Collate");
+    	if( collate )
+    	  {
+    	    setCollateCopies(qstrcmp(collate->defchoice, "True")==0);
+    	  }
+      }
+
+#endif
 }
 
 /*!

qt-everywhere-opensource-src-4.6.0-beta1-qdoc3.patch:
 qdoc3/qdoc3.pro |    3 +++
 tools.pro       |    1 +
 2 files changed, 4 insertions(+)

--- NEW FILE qt-everywhere-opensource-src-4.6.0-beta1-qdoc3.patch ---
diff -up qt-everywhere-opensource-src-4.6.0-beta1/tools/qdoc3/qdoc3.pro.qdoc3 qt-everywhere-opensource-src-4.6.0-beta1/tools/qdoc3/qdoc3.pro
--- qt-everywhere-opensource-src-4.6.0-beta1/tools/qdoc3/qdoc3.pro.qdoc3	2009-10-13 10:34:08.000000000 -0500
+++ qt-everywhere-opensource-src-4.6.0-beta1/tools/qdoc3/qdoc3.pro	2009-10-16 14:55:27.024789581 -0500
@@ -105,3 +105,6 @@ SOURCES += apigenerator.cpp \
            webxmlgenerator.cpp \
 	   yyindent.cpp
 
+TARGET= qdoc3
+target.path = $$[QT_INSTALL_BINS]
+INSTALLS += target
diff -up qt-everywhere-opensource-src-4.6.0-beta1/tools/tools.pro.qdoc3 qt-everywhere-opensource-src-4.6.0-beta1/tools/tools.pro
--- qt-everywhere-opensource-src-4.6.0-beta1/tools/tools.pro.qdoc3	2009-10-13 10:34:08.000000000 -0500
+++ qt-everywhere-opensource-src-4.6.0-beta1/tools/tools.pro	2009-10-16 14:57:49.699789384 -0500
@@ -14,6 +14,7 @@ no-png {
          SUBDIRS += designer
      }
      SUBDIRS     += linguist
+     SUBDIRS     += qdoc3
      symbian: SUBDIRS = designer
      wince*: SUBDIRS = qtestlib designer
      unix:!mac:!embedded:contains(QT_CONFIG, qt3support):SUBDIRS += qtconfig

qt-everywhere-opensource-src-4.6.0-gst-pulsaudio.patch:
 audiooutput.cpp   |    4 +++-
 devicemanager.cpp |   22 ++++++++++++++++++++--
 2 files changed, 23 insertions(+), 3 deletions(-)

--- NEW FILE qt-everywhere-opensource-src-4.6.0-gst-pulsaudio.patch ---
diff -up qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/audiooutput.cpp.gst-pulsaudio qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/audiooutput.cpp
--- qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/audiooutput.cpp.gst-pulsaudio	2009-11-27 02:27:50.000000000 +0100
+++ qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/audiooutput.cpp	2009-12-01 13:36:43.000000000 +0100
@@ -148,7 +148,9 @@ bool AudioOutput::setOutputDevice(int ne
         // Save previous state
         GstState oldState = GST_STATE(m_audioSink);
         const QByteArray oldDeviceValue = GstHelper::property(m_audioSink, "device");
-        const QByteArray deviceId = deviceList.at(deviceIdx).gstId;
+        const QByteArray deviceId = (deviceList.at(deviceIdx).gstId == "PulseAudio"
+                                    ? "default"
+                                    : deviceList.at(deviceIdx).gstId);
         m_device = newDevice;
 
         // We test if the device can be opened by checking if it can go from NULL to READY state
diff -up qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/devicemanager.cpp.gst-pulsaudio qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/devicemanager.cpp
--- qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/devicemanager.cpp.gst-pulsaudio	2009-11-27 02:27:50.000000000 +0100
+++ qt-everywhere-opensource-src-4.6.0/src/3rdparty/phonon/gstreamer/devicemanager.cpp	2009-12-01 13:04:18.000000000 +0100
@@ -50,6 +50,8 @@ AudioDevice::AudioDevice(DeviceManager *
     //get name from device
     if (gstId == "default") {
         description = "Default audio device";
+    } else if (gstId == "PulseAudio") {
+        description = QObject::tr("Pass all audio through the PulseAudio Sound Server.\n").toUtf8();
     } else {
         GstElement *aSink= manager->createAudioSink();
 
@@ -178,6 +180,18 @@ GstElement *DeviceManager::createAudioSi
                 }
             }
 
+            if (!sink) {
+                sink = gst_element_factory_make ("pulsesink", NULL);
+                if (canOpenDevice(sink)) {
+                    m_backend->logMessage("AudioOutput using pulse audio sink");
+                    m_audioSink = "pulsesink";
+                }
+                else if (sink) {
+                    gst_object_unref(sink);
+                    sink = 0;
+                }
+            }
+
 #ifdef USE_ALSASINK2
             if (!sink) {
                 sink = gst_element_factory_make ("_k_alsasink", NULL);
@@ -311,8 +325,12 @@ void DeviceManager::updateDeviceList()
     QList<QByteArray> list;
 
     if (audioSink) {
-        list = GstHelper::extractProperties(audioSink, "device");
-        list.prepend("default");
+        if (m_audioSink == "pulsesink") {
+            list.append("PulseAudio");
+        } else {
+            list = GstHelper::extractProperties(audioSink, "device");
+            list.prepend("default");
+        }
 
         for (int i = 0 ; i < list.size() ; ++i) {
             QByteArray gstId = list.at(i);


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/.cvsignore,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -p -r1.63 -r1.64
--- .cvsignore	10 Oct 2009 20:14:40 -0000	1.63
+++ .cvsignore	5 Feb 2010 16:40:18 -0000	1.64
@@ -7,4 +7,6 @@ hi22-phonon-gstreamer.png
 hi32-phonon-gstreamer.png
 hi48-phonon-gstreamer.png
 hi64-phonon-gstreamer.png
-qt-x11-opensource-src-4.5.3.tar.gz
+qt-everywhere-opensource-src-4.6.0-rc1.tar.gz
+qt-everywhere-opensource-src-4.6.0.tar.gz
+qt-everywhere-opensource-src-4.6.1.tar.gz

0001-This-patch-uses-object-name-as-a-fallback-for-window.patch:
 corelib/kernel/qobject.cpp |    8 ++++++++
 corelib/kernel/qobject_p.h |    3 +++
 gui/kernel/qwidget_p.h     |    1 +
 gui/kernel/qwidget_x11.cpp |   28 +++++++++++++++++++++-------
 4 files changed, 33 insertions(+), 7 deletions(-)

Index: 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/0001-This-patch-uses-object-name-as-a-fallback-for-window.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch	10 Oct 2009 20:14:40 -0000	1.1
+++ 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch	5 Feb 2010 16:40:18 -0000	1.2
@@ -1,7 +1,7 @@
 From b48e2091871516496cf0b133249fbf5326a55831 Mon Sep 17 00:00:00 2001
 From: Lubos Lunak <l.lunak at kde.org>
 Date: Sat, 23 Feb 2008 16:44:52 +0100
-Subject: [PATCH 01/18] This patch uses object name as a fallback for window role if no window
+Subject: [PATCH 01/13] This patch uses object name as a fallback for window role if no window
  role is set explicitly using setWindowRole(). Since Qt3 always used
  the object name as the window role and most Qt3/KDE3 code is ported to
  call setObjectName(),
@@ -113,5 +113,5 @@ index 79ee8c9..b56849c 100644
  QPaintEngine *QWidget::paintEngine() const
  {
 -- 
-1.6.2.5
+1.6.5.1
 

0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch:
 qtabbar.cpp |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch	10 Oct 2009 20:14:40 -0000	1.1
+++ 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch	5 Feb 2010 16:40:19 -0000	1.2
@@ -1,7 +1,7 @@
 From 733d1afd03908d695aa8a6518f453b9ff0e5b8a2 Mon Sep 17 00:00:00 2001
 From: Robert Knight <robertknight at gmail.com>
 Date: Sun, 20 Apr 2008 16:28:31 +0200
-Subject: [PATCH 05/18] When tabs are inserted or removed in a QTabBar,
+Subject: [PATCH 05/13] When tabs are inserted or removed in a QTabBar,
  QTabBarPrivate::refresh() is called to update the layout.  If the
  tabbar widget is hidden, this just sets a boolean variable
  (layoutDirty) and returns, so the parent widget's layout is not
@@ -43,5 +43,5 @@ index 419d456..41107a0 100644
  
  /*!
 -- 
-1.6.2.5
+1.6.5.1
 

0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch:
 bin/syncqt             |    6 +++++-
 projects.pro           |    3 +++
 src/tools/moc/main.cpp |    7 ++++++-
 3 files changed, 14 insertions(+), 2 deletions(-)

Index: 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch	10 Oct 2009 20:14:40 -0000	1.1
+++ 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch	5 Feb 2010 16:40:19 -0000	1.2
@@ -1,7 +1,7 @@
 From 8e28e0603a900e1b18ebfd14c4f87b16dabf4cf6 Mon Sep 17 00:00:00 2001
 From: Christian Ehrlicher <ch.ehrlicher at gmx.de>
 Date: Fri, 19 Sep 2008 17:41:26 +0200
-Subject: [PATCH 06/18] Fix configure.exe to do an out-of-source build on windows
+Subject: [PATCH 06/13] Fix configure.exe to do an out-of-source build on windows
 
 qt-bugs@ issue : N227213
 Trolltech task ID : none yet
@@ -63,5 +63,5 @@ index d519b09..7979836 100644
  
  
 -- 
-1.6.2.5
+1.6.5.1
 


Index: kde-qt-patches.sh
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/kde-qt-patches.sh,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- kde-qt-patches.sh	10 Oct 2009 20:14:41 -0000	1.1
+++ kde-qt-patches.sh	5 Feb 2010 16:40:21 -0000	1.2
@@ -1,4 +1,6 @@
 # quick-n-dirty method to fetch patches from -patched git branch
 # unfortunately, requires an already checked-out copy of the git repo
 
-git format-patch --output-directory kde-qt-patches v4.5.3..4.5.3-patched
+# when switching branches, use something like: git checkout --track remotes/origin/4.6-stable-patched 
+git format-patch --output-directory kde-qt-patches v4.6.1..origin/4.6.1-patched
+


Index: qt.spec
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/qt.spec,v
retrieving revision 1.345
retrieving revision 1.346
diff -u -p -r1.345 -r1.346
--- qt.spec	15 Nov 2009 00:04:43 -0000	1.345
+++ qt.spec	5 Feb 2010 16:40:23 -0000	1.346
@@ -4,19 +4,22 @@
 # -no-pch disables precompiled headers, make ccache-friendly
 %define no_pch -no-pch
 
-%define _default_patch_fuzz 2 
+%define _default_patch_fuzz 3 
+
+# enable kde-qt integration/patches (currently a no-op)
+%define kde_qt 1
 
 Summary: Qt toolkit
 Name:    qt
 Epoch:   1
-Version: 4.5.3
-Release: 10%{?dist}
+Version: 4.6.1
+Release: 3%{?dist}
 
 # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
 License: LGPLv2 with exceptions or GPLv3 with exceptions
 Group: System Environment/Libraries
 Url: http://www.qtsoftware.com/
-Source0: ftp://ftp.qt.nokia.com/qt/source/qt-x11-opensource-src-%{version}.tar.gz
+Source0: http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-%{version}.tar.gz
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Obsoletes: qt4 < %{version}-%{release}
 Provides: qt4 = %{version}-%{release}
@@ -40,54 +43,37 @@ Patch16: qt-x11-opensource-src-4.5.1-kde
 # make PulseAudio the default device in Phonon
 Patch17: qt-x11-opensource-src-4.5.2-pulseaudio.patch
 Patch19: qt-x11-opensource-src-4.5.1-phonon.patch
-Patch21: qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch
+Patch21: qt-everywhere-opensource-src-4.6.0-gst-pulsaudio.patch
 # use system ca-bundle certs, http://bugzilla.redhat.com/521911
 Patch22: qt-x11-opensource-src-4.5.3-system_ca_certificates.patch 
 Requires: ca-certificates
-# disable JavaScriptCore JIT as it crashes with SE Linux
-# http://bugzilla.redhat.com/527079
-Patch23: qt-x11-opensource-src-4.5.3-javascript-disable-jit.patch
 
 ## upstreamable bits
 # http://bugzilla.redhat.com/485677
-Patch51: qt-x11-opensource-src-4.5.0-qdoc3.patch
+Patch51: qt-everywhere-opensource-src-4.6.0-beta1-qdoc3.patch 
 Patch52: qt-4.5-sparc64.patch
 # fix invalid inline assembly in qatomic_{i386,x86_64}.h (de)ref implementations
 Patch53: qt-x11-opensource-src-4.5.0-fix-qatomic-inline-asm.patch
 # fix invalid assumptions about mysql_config --libs
 # http://bugzilla.redhat.com/440673
 Patch54: qt-x11-opensource-src-4.5.1-mysql_config.patch
-# glib-event-loop regression
-Patch55: qt-x11-opensource-src-4.5.3-glib-event-loop.patch
-# or fix from http://bugs.kde.org/210171
-# than reports this doesn't fix our original 3star echo bug
-Patch155: http://www.davidfaure.fr/2009/qeventdispatcher_glib_fix.diff
+# http://bugs.kde.org/show_bug.cgi?id=180051#c22
+Patch55: qt-cups-1.patch
 
 # security patches
-Patch180: qt-x11-opensource-src-4.5.3-cve-2009-2816-cors.patch
-Patch181: qt-x11-opensource-src-4.5.3-cve-2009-3384-ftp-ls-handling.patch
 
 # kde-qt git patches
 Patch201: 0001-This-patch-uses-object-name-as-a-fallback-for-window.patch
-Patch202: 0002-This-patch-makes-override-redirect-windows-popup-me.patch
-Patch203: 0003-This-patch-changes-QObjectPrivateVersion-thus-preve.patch
-Patch204: 0004-This-patch-adds-support-for-using-isystem-to-allow.patch
+Patch202: 0002-This-patch-makes-override-redirect-windows-popup-men.patch
+Patch203: 0003-This-patch-changes-QObjectPrivateVersion-thus-preven.patch
+Patch204: 0004-This-patch-adds-support-for-using-isystem-to-allow-p.patch
 Patch205: 0005-When-tabs-are-inserted-or-removed-in-a-QTabBar.patch
 Patch206: 0006-Fix-configure.exe-to-do-an-out-of-source-build-on-wi.patch
-Patch207: 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-g.patch
-Patch208: 0008-In-a-treeview-with-columns-like-this.patch
-Patch209: 0009-This-patch-fixes-deserialization-of-values-with-cust.patch
-Patch210: 0010-Import-README.qt-copy-from-the-original-qt-copy.patch
-Patch211: 0011-Update-this-file-to-reflect-the-workflow-with-Git-a.patch
-Patch212: 0274-shm-native-image-fix.patch
-Patch213: 0015-Make-QMenu-respect-the-minimum-width-set.patch
-Patch214: 0016-Fill-gap-of-X.org-XFree-multimedia-special-launcher.patch
-Patch215: 0017-Add-context-to-tr-calls-in-QShortcut.patch
-
-# these patches are not merged yet in kde-qt branches
-Patch301: 0118-qtcopy-define.diff
-Patch302: 0283-do-not-deduce-scrollbar-extent-twice.diff
-Patch303: 0285-qgv-dontshowchildren.diff
+Patch207: 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-ge.patch
+Patch208: 0008-This-patch-makes-the-raster-graphics-system-use-shar.patch
+Patch209: 0009-Restore-a-section-of-the-file-that-got-removed-due-t.patch
+Patch212: 0012-Add-context-to-tr-calls-in-QShortcut.patch
+
 
 Source10: http://gstreamer.freedesktop.org/data/images/artwork/gstreamer-logo.svg
 Source11: hi16-phonon-gstreamer.png
@@ -125,9 +111,9 @@ Source31: hi48-app-qt4-logo.png
 # if -phonon-backend, include in packaging (else it's omitted)
 %define phonon_backend_packaged 1
 %endif
-%define phonon_version 4.3.1
+%define phonon_version 4.3.50
 %define phonon_version_major 4.3
-%define phonon_release 100
+%define phonon_release 1
 %define webkit -webkit
 %define gtkstyle -gtkstyle
 %define nas -no-nas-sound
@@ -354,17 +340,16 @@ Provides:  qt4-sqlite = %{version}-%{rel
 %description sqlite
 %{summary}.
 
-%package tds 
+%package tds
 Summary: TDS driver for Qt's SQL classes
 Group: System Environment/Libraries
 Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
 Provides: qt4-tds = %{version}-%{release}
 %{?_isa:Provides: qt4-tds%{?_isa} = %{version}-%{release}}
 
-%description tds 
+%description tds
 %{summary}.
 
-
 %package x11
 Summary: Qt GUI-related libraries
 Group: System Environment/Libraries
@@ -397,7 +382,7 @@ Qt libraries used for drawing widgets an
 
 
 %prep
-%setup -q -n qt-x11-opensource-src-%{version}
+%setup -q -n qt-everywhere-opensource-src-%{version}
 
 # don't use -b on mkspec files, else they get installed too.
 # multilib hacks no longer required
@@ -413,17 +398,16 @@ Qt libraries used for drawing widgets an
 %patch19 -p1 -b .servicesfile
 %patch21 -p1 -b .gst-pulsaudio
 %patch22 -p1 -b .system_ca_certificates
-%patch23 -p1 -b .javascriptcore-disable-jit
 %patch51 -p1 -b .qdoc3
-%patch52 -p1 -b .sparc64
+## FIXME: port patch
+#patch52 -p1 -b .sparc64
+## TODO: still worth carrying?  if so, upstream it.
 %patch53 -p1 -b .qatomic-inline-asm
+## TODO: upstream me
 %patch54 -p1 -b .mysql_config
-%patch55 -p1 -b .glib-event-loop
-#patch155 -p1 -b .qeventdispatcher_glib_fix
+%patch55 -p1 -b .cups-1
 
 # security fixes
-%patch180 -p1 -b .cve-2009-2816-cors
-%patch181 -p1 -b .cve-2009-3384-ftp-ls-handling
 
 # kde-qt branch
 %patch201 -p1 -b .kde-qt-0001
@@ -433,19 +417,7 @@ Qt libraries used for drawing widgets an
 %patch205 -p1 -b .kde-qt-0005
 %patch206 -p1 -b .kde-qt-0006
 %patch207 -p1 -b .kde-qt-0007
-%patch208 -p1 -b .kde-qt-0008
-%patch209 -p1 -b .kde-qt-0009
-%patch210 -p1 -b .kde-qt-0010
-%patch211 -p1 -b .kde-qt-0011
-%patch212 -p1 -b .0274-shm-native-image-fix
-%patch213 -p1 -b .kde-qt-0015
-%patch214 -p1 -b .kde-qt-0016
-%patch215 -p1 -b .kde-qt-0017
-
-# not yet merged ones
-%patch301 -p0 -b .0118-qtcopy-define
-%patch302 -p0 -b .0283-do-not-deduce-scrollbar-extent-twice
-%patch303 -p0 -b .0285-qgv-dontshowchildren
+%patch212 -p1 -b .kde-qt-0012
 
 # drop -fexceptions from $RPM_OPT_FLAGS
 RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
@@ -520,6 +492,7 @@ done
   %{?phonon} %{!?phonon:-no-phonon} \
   %{?phonon_backend} \
   %{?no_pch} \
+  -no-javascript-jit \
   -sm \
   -stl \
   -system-libmng \
@@ -720,10 +693,12 @@ EOF
 
 # create/own %%_qt4_plugindir/styles
 mkdir %{buildroot}%{_qt4_plugindir}/styles
+# create/own %%_qt4_plugindir/gui_platform
+mkdir %{buildroot}%{_qt4_plugindir}/gui_platform
 
 %if 0%{?phonon_internal}
 mkdir -p %{buildroot}%{_qt4_plugindir}/phonon_backend
-# needed by qtscriptgenerator
+# needed by qtscriptgenerator 
 pushd %{buildroot}%{_qt4_headerdir}
 ln -s phonon Phonon
 popd
@@ -811,7 +786,7 @@ fi
 
 %files
 %defattr(-,root,root,-)
-%doc README README.kde-qt LGPL_EXCEPTION.txt LICENSE.LGPL LICENSE.GPL3
+%doc README LGPL_EXCEPTION.txt LICENSE.LGPL LICENSE.GPL3
 %if "%{_qt4_libdir}" != "%{_libdir}"
 /etc/ld.so.conf.d/*
 %dir %{_qt4_libdir}
@@ -836,20 +811,20 @@ fi
 %endif
 %config(noreplace) %{_qt4_sysconfdir}/Trolltech.conf
 %{_qt4_datadir}/phrasebooks/
-%{_qt4_libdir}/libQtCore.so.*
+%{_qt4_libdir}/libQtCore.so.4*
 %if 0%{?dbus:1}
 %if "%{_qt4_bindir}" != "%{_bindir}"
 %{_bindir}/qdbus
 %endif
 %{_qt4_bindir}/qdbus
-%{_qt4_libdir}/libQtDBus.so.*
+%{_qt4_libdir}/libQtDBus.so.4*
 %endif
-%{_qt4_libdir}/libQtNetwork.so.*
-%{_qt4_libdir}/libQtScript.so.*
-%{_qt4_libdir}/libQtSql.so.*
-%{_qt4_libdir}/libQtTest.so.*
-%{_qt4_libdir}/libQtXml.so.*
-%{_qt4_libdir}/libQtXmlPatterns.so.*
+%{_qt4_libdir}/libQtNetwork.so.4*
+%{_qt4_libdir}/libQtScript.so.4*
+%{_qt4_libdir}/libQtSql.so.4*
+%{_qt4_libdir}/libQtTest.so.4*
+%{_qt4_libdir}/libQtXml.so.4*
+%{_qt4_libdir}/libQtXmlPatterns.so.4*
 %dir %{_qt4_plugindir}
 %dir %{_qt4_plugindir}/sqldrivers/
 %{_qt4_translationdir}/
@@ -875,6 +850,7 @@ fi
 %{_qt4_bindir}/qdoc3*
 %{_qt4_bindir}/qmake*
 %{_qt4_bindir}/qt3to4
+%{_qt4_bindir}/qttracereplay
 %{_qt4_bindir}/rcc*
 %{_qt4_bindir}/uic*
 %{_qt4_bindir}/qcollectiongenerator
@@ -885,6 +861,7 @@ fi
 %{_qt4_bindir}/qhelpconverter
 %{_qt4_bindir}/qhelpgenerator
 %{_qt4_bindir}/xmlpatterns
+%{_qt4_bindir}/xmlpatternsvalidator
 %if "%{_qt4_bindir}" != "%{_bindir}"
 %{_bindir}/lconvert
 %{_bindir}/lrelease*
@@ -894,6 +871,7 @@ fi
 %{_bindir}/qdoc3
 %{_bindir}/qmake*
 %{_bindir}/qt3to4
+%{_bindir}/qttracereplay
 %{_bindir}/rcc*
 %{_bindir}/uic*
 %{_bindir}/designer*
@@ -906,6 +884,7 @@ fi
 %{_bindir}/qhelpconverter
 %{_bindir}/qhelpgenerator
 %{_bindir}/xmlpatterns
+%{_bindir}/xmlpatternsvalidator
 %endif
 %if "%{_qt4_headerdir}" != "%{_includedir}"
 %dir %{_qt4_headerdir}/
@@ -982,7 +961,7 @@ fi
 %endif
 
 %if "%{?tds}" == "-plugin-sql-tds"
-%files tds 
+%files tds
 %defattr(-,root,root,-)
 %{_qt4_plugindir}/sqldrivers/libqsqltds*
 %endif
@@ -995,17 +974,18 @@ fi
 %dir %{_datadir}/kde4/services/phononbackends/
 %{_datadir}/dbus-1/interfaces/org.kde.Phonon.AudioOutput.xml
 %endif
-%{_qt4_libdir}/libQt3Support.so.*
-%{_qt4_libdir}/libQtAssistantClient.so.*
-%{_qt4_libdir}/libQtCLucene.so.*
-%{_qt4_libdir}/libQtDesigner.so.*
-%{_qt4_libdir}/libQtDesignerComponents.so.*
-%{_qt4_libdir}/libQtGui.so.*
-%{_qt4_libdir}/libQtHelp.so.*
-%{_qt4_libdir}/libQtOpenGL.so.*
-%{_qt4_libdir}/libQtScriptTools.so.*
-%{_qt4_libdir}/libQtSvg.so.*
-%{?webkit:%{_qt4_libdir}/libQtWebKit.so.*}
+%{_qt4_libdir}/libQt3Support.so.4*
+%{_qt4_libdir}/libQtAssistantClient.so.4*
+%{_qt4_libdir}/libQtCLucene.so.4*
+%{_qt4_libdir}/libQtDesigner.so.4*
+%{_qt4_libdir}/libQtDesignerComponents.so.4*
+%{_qt4_libdir}/libQtGui.so.4*
+%{_qt4_libdir}/libQtHelp.so.4*
+%{_qt4_libdir}/libQtMultimedia.so.4*
+%{_qt4_libdir}/libQtOpenGL.so.4*
+%{_qt4_libdir}/libQtScriptTools.so.4*
+%{_qt4_libdir}/libQtSvg.so.4*
+%{?webkit:%{_qt4_libdir}/libQtWebKit.so.4*}
 %{_qt4_plugindir}/*
 %exclude %{_qt4_plugindir}/sqldrivers
 #if "%{?phonon_backend}" == "-phonon-backend"
@@ -1025,27 +1005,52 @@ fi
 
 
 %changelog
-* Sat Nov 14 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.5.3-10
+* Fri Feb 05 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.1-3
+- improve cups support (#523846, kde#180051#c22)
+
+* Tue Jan 19 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.1-2
+- drop bitmap_font_speed patch, rejected upstream
+
+* Tue Jan 19 2010 Than Ngo <than at redhat.com> - 4.6.1-1
+- 4.6.1
+
+* Mon Jan 11 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-5
+- bitmap_font_speed patch (QTBUG-7255)
+
+* Sat Jan 09 2010 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-4
+- Fix crash when QGraphicsItem destructor deletes other QGraphicsItem (kde-qt cec34b01)
+- Fix a crash in KDE/Plasma with QGraphicsView. TopLevel list of items (kde-qt 63839f0c)
+
+* Wed Dec 23 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.6.0-3
+- disable QtWebKit JavaScript JIT again, incompatible with SELinux (#549994)
+
+* Sat Dec 05 2009 Kevin Kofler <Kevin at tigcc.ticalc.org> - 4.6.0-2
+- own %%{_qt4_plugindir}/gui_platform
+
+* Tue Dec 01 2009 Than Ngo <than at redhat.com> - 4.6.0-1
+- 4.6.0
+
+* Tue Nov 17 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-0.6.rc1
+- qt-4.6.0-rc1
+
+* Sat Nov 14 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-0.5.beta1 
 - -tds: Add package with TDS sqldriver (#537586)
 - add arch'd provides for sql drivers
 
-* Thu Nov 12 2009 Jaroslav Reznik <jreznik at redhat.com> - 4.5.3-9
-- CVE-2009-3384 - WebKit, ftp listing handling (#525788)
-- CVE-2009-2816 - WebKit, MITM Cross-Origin Resource Sharing (#525789)
-
-* Sun Nov 08 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.5.3-8
+* Sun Nov 08 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-0.4.beta1
 - -x11: Requires: %%{name}-sqlite%{?_isa}
 
-* Thu Oct 29 2009 Than Ngo <than at redhat.com> - 4.5.3-7
-- fix glib-even-loop issue, regression which causes
-  Password dialogs get stuck
+* Mon Oct 26 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-0.3.beta1
+- kde-qt patches (as of 20091026)
 
-* Fri Oct 16 2009 Than Ngo <than at redhat.com> - 4.5.3-6
+* Fri Oct 16 2009 Than Ngo <than at redhat.com> - 4.6.0-0.2.beta1 
 - subpackage sqlite plugin, add Require on qt-sqlite in qt-x11
   for assistant
+- build/install qdoc3 again
 
-* Wed Oct 14 2009 Rex Dieter <rdieter at fedoraproject.org> 4.5.3-5
-- drop needless Prereq: /etc/ld.so.conf.d
+* Wed Oct 14 2009 Rex Dieter <rdieter at fedoraproject.org> - 4.6.0-0.1.beta1
+- qt-4.6.0-beta1
+- no kde-qt patches (yet)
 
 * Sat Oct 10 2009 Than Ngo <than at redhat.com> - 4.5.3-4
 - fix translation build issue


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/qt/F-12/sources,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -p -r1.65 -r1.66
--- sources	10 Oct 2009 20:14:41 -0000	1.65
+++ sources	5 Feb 2010 16:40:23 -0000	1.66
@@ -7,4 +7,4 @@ d9f511e4b51983b4e10eb58b320416d5  hi128-
 12db12c009b722a6dc141f78feb7e330  hi32-phonon-gstreamer.png
 86c34a1b81d44980b1381f94ed6b7a23  hi48-phonon-gstreamer.png
 153505c71ec021b0a3bd4b74f2492e93  hi64-phonon-gstreamer.png
-3988cf9af68be2df8a8000ede231de9b  qt-x11-opensource-src-4.5.3.tar.gz
+0542a4be6425451ab5f668c6899cac36  qt-everywhere-opensource-src-4.6.1.tar.gz


--- 0002-This-patch-makes-override-redirect-windows-popup-me.patch DELETED ---


--- 0003-This-patch-changes-QObjectPrivateVersion-thus-preve.patch DELETED ---


--- 0004-This-patch-adds-support-for-using-isystem-to-allow.patch DELETED ---


--- 0007-When-using-qmake-outside-qt-src-tree-it-sometimes-g.patch DELETED ---


--- 0008-In-a-treeview-with-columns-like-this.patch DELETED ---


--- 0009-This-patch-fixes-deserialization-of-values-with-cust.patch DELETED ---


--- 0010-Import-README.qt-copy-from-the-original-qt-copy.patch DELETED ---


--- 0011-Update-this-file-to-reflect-the-workflow-with-Git-a.patch DELETED ---


--- 0015-Make-QMenu-respect-the-minimum-width-set.patch DELETED ---


--- 0016-Fill-gap-of-X.org-XFree-multimedia-special-launcher.patch DELETED ---


--- 0017-Add-context-to-tr-calls-in-QShortcut.patch DELETED ---


--- 0118-qtcopy-define.diff DELETED ---


--- 0274-shm-native-image-fix.patch DELETED ---


--- 0283-do-not-deduce-scrollbar-extent-twice.diff DELETED ---


--- 0285-qgv-dontshowchildren.diff DELETED ---


--- qeventdispatcher_glib_fix.diff DELETED ---


--- qt-x11-opensource-src-4.5.0-qdoc3.patch DELETED ---


--- qt-x11-opensource-src-4.5.2-gst-pulsaudio.patch DELETED ---


--- qt-x11-opensource-src-4.5.3-cve-2009-2816-cors.patch DELETED ---


--- qt-x11-opensource-src-4.5.3-cve-2009-3384-ftp-ls-handling.patch DELETED ---


--- qt-x11-opensource-src-4.5.3-glib-event-loop.patch DELETED ---


--- qt-x11-opensource-src-4.5.3-javascript-disable-jit.patch DELETED ---



More information about the scm-commits mailing list