[SCM] Qt 4 packaging branch, master, updated. debian/4.7.3-8-2-gb6ac519

Fathi Boudra fabo at alioth.debian.org
Mon Sep 12 06:31:23 UTC 2011


The following commit has been merged in the master branch:
commit b6ac5196b4488756d35c2be7be2167febc0b0386
Author: Fathi Boudra <fabo at debian.org>
Date:   Mon Sep 12 09:30:28 2011 +0300

    * Remove patches:
      - Fix_GL_problems_on_stock_1.4_SGX_drivers.patch - stolen upstream.
      - Fixed_missing_text_when_using_static_text_items_in_GL_2_engine.patch -
        stolen upstream.
      - Prevent_recursion_when_creating_window_surface.patch - stolen
        upstream.
      - Check-if-the-interpolators-have-already-been-deleted.patch - stolen
        upstream.
      - 21_qt_ia32_library_path.diff - interacts incompatibly with the multiarch
        path resolution and should be obsolete anyway now that multiarch is
        available: we should drop qt from the next ia32-libs upload.
---
 debian/changelog                                   |   10 ++
 debian/patches/21_qt_ia32_library_path.diff        |   82 --------------
 ...e-interpolators-have-already-been-deleted.patch |   44 --------
 .../Fix_GL_problems_on_stock_1.4_SGX_drivers.patch |   72 ------------
 ...en_using_static_text_items_in_GL_2_engine.patch |  116 --------------------
 ...nt_recursion_when_creating_window_surface.patch |   41 -------
 debian/patches/series                              |    5 -
 7 files changed, 10 insertions(+), 360 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 89d4100..8bf3321 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,16 @@
 qt4-x11 (4:4.7.4-1) UNRELEASED; urgency=low
 
   * New upstream release.
+  * Remove patches:
+    - Fix_GL_problems_on_stock_1.4_SGX_drivers.patch - stolen upstream.
+    - Fixed_missing_text_when_using_static_text_items_in_GL_2_engine.patch -
+      stolen upstream.
+    - Prevent_recursion_when_creating_window_surface.patch - stolen upstream.
+    - Check-if-the-interpolators-have-already-been-deleted.patch - stolen
+      upstream.
+    - 21_qt_ia32_library_path.diff - interacts incompatibly with the multiarch
+      path resolution and should be obsolete anyway now that multiarch is
+      available: we should drop qt from the next ia32-libs upload.
 
  -- Fathi Boudra <fabo at debian.org>  Mon, 12 Sep 2011 08:52:33 +0300
 
diff --git a/debian/patches/21_qt_ia32_library_path.diff b/debian/patches/21_qt_ia32_library_path.diff
deleted file mode 100644
index 0f0fb2e..0000000
--- a/debian/patches/21_qt_ia32_library_path.diff
+++ /dev/null
@@ -1,82 +0,0 @@
-Description: fix ia32 library path (e.g. skype application)
-Forwarded: not-needed
-Origin: kubuntu, http://bazaar.launchpad.net/~kubuntu-members/qt/ubuntu/annotate/head:/debian/patches/kubuntu_04_qt_ia32_library_path.patch
-Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/ia32-libs/+bug/353704
-Author: Bo Thorsen <bo at sonofthor.dk>
-
----
- src/corelib/global/qlibraryinfo.cpp |   32 ++++++++++++++++++++++++++------
- 1 file changed, 26 insertions(+), 6 deletions(-)
-
---- a/src/corelib/global/qlibraryinfo.cpp
-+++ b/src/corelib/global/qlibraryinfo.cpp
-@@ -68,6 +68,10 @@ QT_END_NAMESPACE
- 
- #include "qconfig.cpp"
- 
-+#if defined(__linux__) && defined (__i386__)
-+  #include <sys/utsname.h>
-+#endif
-+
- QT_BEGIN_NAMESPACE
- 
- extern void qDumpCPUFeatures(); // in qsimd.cpp
-@@ -217,6 +221,22 @@ QLibraryInfo::buildKey()
-     return QString::fromLatin1(QT_BUILD_KEY);
- }
- 
-+static inline QString fixLibraryPath32(const QString& path)
-+{
-+#if defined(__linux__) && defined (__i386__)
-+    struct utsname uts;
-+
-+    uname(&uts);
-+    if (!strcmp("x86_64", uts.machine) && (path.startsWith(QLatin1String("/usr/lib/"))))
-+    {
-+        QString newPath = QLatin1String("/usr/lib32/") + path.mid(8);
-+        if (QFileInfo(newPath).isDir())
-+            return newPath;
-+    }
-+#endif
-+    return path;
-+}
-+
- /*!
-     \since 4.6
-     Returns the installation date for this build of Qt. The install date will
-@@ -453,7 +473,7 @@ QLibraryInfo::location(LibraryLocation l
-         if (loc == PrefixPath) {
-             // we make the prefix path absolute to the executable's directory
- #ifdef BOOTSTRAPPING
--            return QFileInfo(qmake_libraryInfoFile()).absolutePath();
-+            return fixLibraryPath32(QFileInfo(qmake_libraryInfoFile()).absolutePath());
- #else
-             if (QCoreApplication::instance()) {
- #ifdef Q_OS_MAC
-@@ -462,21 +482,21 @@ QLibraryInfo::location(LibraryLocation l
-                     QCFType<CFURLRef> urlRef = CFBundleCopyBundleURL(bundleRef);
-                     if (urlRef) {
-                         QCFString path = CFURLCopyFileSystemPath(urlRef, kCFURLPOSIXPathStyle);
--                        return QDir::cleanPath(QString(path) + QLatin1String("/Contents/") + ret);
-+                        return fixLibraryPath32(QDir::cleanPath(QString(path) + QLatin1String("/Contents/") + ret));
-                     }
-                 }
- #endif
--                return QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(ret);
-+                return fixLibraryPath32(QDir(QCoreApplication::applicationDirPath()).absoluteFilePath(ret));
-             } else {
--                return QDir::current().absoluteFilePath(ret);
-+                return fixLibraryPath32(QDir::current().absoluteFilePath(ret));
-             }
- #endif
-         } else {
-             // we make any other path absolute to the prefix directory
--            return QDir(location(PrefixPath)).absoluteFilePath(ret);
-+            return fixLibraryPath32(QDir(location(PrefixPath)).absoluteFilePath(ret));
-         }
-     }
--    return ret;
-+    return fixLibraryPath32(ret);
- }
- 
- /*!
diff --git a/debian/patches/Check-if-the-interpolators-have-already-been-deleted.patch b/debian/patches/Check-if-the-interpolators-have-already-been-deleted.patch
deleted file mode 100644
index 1e9c9ea..0000000
--- a/debian/patches/Check-if-the-interpolators-have-already-been-deleted.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 861333040c252fa0f53894b604f7cb768c085281 Mon Sep 17 00:00:00 2001
-From: Thiago Macieira <thiago.macieira at nokia.com>
-Date: Wed, 26 Jan 2011 14:06:11 +0100
-Subject: [PATCH] Check if the interpolators have already been deleted.
-
-During application destruction, the order in which static destructors
-is run is undetermined. So avoid a null-pointer dereference.
-
-Task-number: QTBUG-16855
-Reviewed-by: Robin Burchell
-Patch by task reporter
----
- src/corelib/animation/qvariantanimation.cpp |   13 +++++++++----
- 1 files changed, 9 insertions(+), 4 deletions(-)
-
-diff --git a/src/corelib/animation/qvariantanimation.cpp b/src/corelib/animation/qvariantanimation.cpp
-index 212e85d..c76cb89 100644
---- a/src/corelib/animation/qvariantanimation.cpp
-+++ b/src/corelib/animation/qvariantanimation.cpp
-@@ -431,12 +431,17 @@ void QVariantAnimation::registerInterpolator(QVariantAnimation::Interpolator fun
- {
-     // will override any existing interpolators
-     QInterpolatorVector *interpolators = registeredInterpolators();
-+    // When built on solaris with GCC, the destructors can be called
-+    // in such an order that we get here with interpolators == NULL,
-+    // to continue causes the app to crash on exit with a SEGV
-+    if (interpolators) {
- #ifndef QT_NO_THREAD
--    QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators));
-+        QMutexLocker locker(QMutexPool::globalInstanceGet(interpolators));
- #endif
--    if (int(interpolationType) >= interpolators->count())
--        interpolators->resize(int(interpolationType) + 1);
--    interpolators->replace(interpolationType, func);
-+        if (int(interpolationType) >= interpolators->count())
-+            interpolators->resize(int(interpolationType) + 1);
-+        interpolators->replace(interpolationType, func);
-+    }
- }
- 
- 
--- 
-1.7.5.4
-
diff --git a/debian/patches/Fix_GL_problems_on_stock_1.4_SGX_drivers.patch b/debian/patches/Fix_GL_problems_on_stock_1.4_SGX_drivers.patch
deleted file mode 100644
index 18d0fae..0000000
--- a/debian/patches/Fix_GL_problems_on_stock_1.4_SGX_drivers.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-commit 3fb5fce61b6f64534ad292a78250e4256a6514b6
-Author: Robin Burchell <robin.burchell at collabora.co.uk>
-Date:   Thu Mar 17 18:32:58 2011 +0100
-
-    Changes to driver workarounds.
-
-    - Force enable brokenFBOReadBack on non-Nokia v1.4 SGX drivers (as this is
-      apparantly not fixed, except on the Nokia drivers)
-    - Add debug when workarounds are enabled to ease debugging
-
-    This fixes the following MeeGo bug:
-    https://bugs.meego.com/show_bug.cgi?id=5616
-
-    Merge-request: 1144
-    Reviewed-by: Samuel Rødal <samuel.rodal at nokia.com>
-
----
- src/opengl/qgl_egl.cpp |   27 +++++++++++++++++++++++++--
- 1 file changed, 25 insertions(+), 2 deletions(-)
-
---- a/src/opengl/qgl_egl.cpp
-+++ b/src/opengl/qgl_egl.cpp
-@@ -39,6 +39,7 @@
- **
- ****************************************************************************/
- 
-+#include <QtCore/qdebug.h>
- #include <QtOpenGL/qgl.h>
- #include <QtOpenGL/qglpixelbuffer.h>
- #include "qgl_p.h"
-@@ -195,6 +196,7 @@ void QGLContext::makeCurrent()
-                 // PowerVR MBX/SGX chips needs to clear all buffers when starting to render
-                 // a new frame, otherwise there will be a performance penalty to pay for
-                 // each frame.
-+                qDebug() << "Found SGX/MBX driver, enabling FullClearOnEveryFrame";
-                 d->workaround_needsFullClearOnEveryFrame = true;
- 
-                 // Older PowerVR SGX drivers (like the one in the N900) have a
-@@ -202,10 +204,31 @@ void QGLContext::makeCurrent()
-                 // or GL_ALPHA texture bound to an FBO. The only way to
-                 // identify that driver is to check the EGL version number for it.
-                 const char *egl_version = eglQueryString(d->eglContext->display(), EGL_VERSION);
--                if (egl_version && strstr(egl_version, "1.3"))
-+
-+                if (egl_version && strstr(egl_version, "1.3")) {
-+                    qDebug() << "Found v1.3 driver, enabling brokenFBOReadBack";
-                     d->workaround_brokenFBOReadBack = true;
--                else if (egl_version && strstr(egl_version, "1.4"))
-+                } else if (egl_version && strstr(egl_version, "1.4")) {
-+                    qDebug() << "Found v1.4 driver, enabling brokenTexSubImage";
-                     d->workaround_brokenTexSubImage = true;
-+
-+                    // this is a bit complicated; 1.4 version SGX drivers from
-+                    // Nokia have fixed the brokenFBOReadBack problem, but
-+                    // official drivers from TI haven't, meaning that things
-+                    // like the beagleboard are broken unless we hack around it
-+                    // - but at the same time, we want to not reduce performance
-+                    // by not enabling this elsewhere.
-+                    //
-+                    // so, let's check for a Nokia-specific addon, and only
-+                    // enable if it isn't present.
-+                    // (see MeeGo bug #5616)
-+                    if (!QEgl::hasExtension("EGL_NOK_image_shared")) {
-+                        // no Nokia extension, this is probably a standard SGX
-+                        // driver, so enable the workaround
-+                        qDebug() << "Found non-Nokia v1.4 driver, enabling brokenFBOReadBack";
-+                        d->workaround_brokenFBOReadBack = true;
-+                    }
-+                }
-             }
-         }
-     }
diff --git a/debian/patches/Fixed_missing_text_when_using_static_text_items_in_GL_2_engine.patch b/debian/patches/Fixed_missing_text_when_using_static_text_items_in_GL_2_engine.patch
deleted file mode 100644
index fef940e..0000000
--- a/debian/patches/Fixed_missing_text_when_using_static_text_items_in_GL_2_engine.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-commit 4d38013cfc3058e36de1b6a6c20653ef2688a92b
-Author: Samuel Rødal <samuel.rodal at nokia.com>
-Date:   Tue Feb 1 17:57:10 2011 +0100
-
-    Fixed missing text when using static text items in GL 2 engine.
-    
-    When the context is destroyed and recreated, we end up with a new glyph
-    cache, but we only recreate the vertex arrays for the very first static
-    text item. We need to keep track of the glyph cache in each text item,
-    so that we can recreate the vertex arrays and re-populate the cache
-    accordingly. As the pointer might be the same after the glyph cache is
-    recreated, we need to use serial numbers instead.
-    
-    We also need to re-create the cache when the context pointer has been
-    invalidated, so that the static text items also get invalidated, and
-    the texture glyph cache gets repopulated.
-    
-    Reviewed-by: Eskil Abrahamsen Blomfeldt
-
----
- src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp |   13 ++++++++-----
- src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp  |    3 +++
- src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h  |    3 +++
- 3 files changed, 14 insertions(+), 5 deletions(-)
-
---- a/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
-+++ b/src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp
-@@ -1489,7 +1489,7 @@ namespace {
-     {
-     public:
-         QOpenGLStaticTextUserData()
--            : QStaticTextUserData(OpenGLUserData), cacheSize(0, 0)
-+            : QStaticTextUserData(OpenGLUserData), cacheSize(0, 0), cacheSerialNumber(0)
-         {
-         }
- 
-@@ -1501,6 +1501,7 @@ namespace {
-         QGL2PEXVertexArray vertexCoordinateArray;
-         QGL2PEXVertexArray textureCoordinateArray;
-         QFontEngineGlyphCache::Type glyphType;
-+        int cacheSerialNumber;
-     };
- 
- }
-@@ -1518,12 +1519,10 @@ void QGL2PaintEngineExPrivate::drawCache
- 
-     QGLTextureGlyphCache *cache =
-         (QGLTextureGlyphCache *) staticTextItem->fontEngine()->glyphCache(ctx, glyphType, QTransform());
--    if (!cache || cache->cacheType() != glyphType) {
-+    if (!cache || cache->cacheType() != glyphType || cache->context() == 0) {
-         cache = new QGLTextureGlyphCache(ctx, glyphType, QTransform());
-         staticTextItem->fontEngine()->setGlyphCache(ctx, cache);
-         recreateVertexArrays = true;
--    } else if (cache->context() == 0) { // Old context has been destroyed, new context has same ptr value
--        cache->setContext(ctx);
-     }
- 
-     if (staticTextItem->userDataNeedsUpdate) {
-@@ -1534,8 +1533,11 @@ void QGL2PaintEngineExPrivate::drawCache
-         recreateVertexArrays = true;
-     } else {
-         QOpenGLStaticTextUserData *userData = static_cast<QOpenGLStaticTextUserData *>(staticTextItem->userData());
--        if (userData->glyphType != glyphType)
-+        if (userData->glyphType != glyphType) {
-             recreateVertexArrays = true;
-+        } else if (userData->cacheSerialNumber != cache->serialNumber()) {
-+            recreateVertexArrays = true;
-+        }
-     }
- 
-     // We only need to update the cache with new glyphs if we are actually going to recreate the vertex arrays.
-@@ -1580,6 +1582,7 @@ void QGL2PaintEngineExPrivate::drawCache
-         }
- 
-         userData->glyphType = glyphType;
-+        userData->cacheSerialNumber = cache->serialNumber();
- 
-         // Use cache if backend optimizations is turned on
-         vertexCoordinates = &userData->vertexCoordinateArray;
---- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
-+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl.cpp
-@@ -52,12 +52,15 @@ QT_BEGIN_NAMESPACE
- extern Q_GUI_EXPORT bool qt_cleartype_enabled;
- #endif
- 
-+QBasicAtomicInt qgltextureglyphcache_serial_number = Q_BASIC_ATOMIC_INITIALIZER(1);
-+
- QGLTextureGlyphCache::QGLTextureGlyphCache(QGLContext *context, QFontEngineGlyphCache::Type type, const QTransform &matrix)
-     : QImageTextureGlyphCache(type, matrix)
-     , ctx(0)
-     , m_width(0)
-     , m_height(0)
-     , m_filterMode(Nearest)
-+    , m_serialNumber(qgltextureglyphcache_serial_number.fetchAndAddRelaxed(1))
- {
-     setContext(context);
- }
---- a/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
-+++ b/src/opengl/gl2paintengineex/qtextureglyphcache_gl_p.h
-@@ -83,6 +83,8 @@ public:
- 
-     inline void setPaintEnginePrivate(QGL2PaintEngineExPrivate *p) { pex = p; }
- 
-+    inline int serialNumber() const { return m_serialNumber; }
-+
-     enum FilterMode {
-         Nearest,
-         Linear
-@@ -140,6 +142,7 @@ private:
-     QGLShaderProgram *m_program;
- 
-     FilterMode m_filterMode;
-+    int m_serialNumber;
- };
- 
- QT_END_NAMESPACE
diff --git a/debian/patches/Prevent_recursion_when_creating_window_surface.patch b/debian/patches/Prevent_recursion_when_creating_window_surface.patch
deleted file mode 100644
index 95633a9..0000000
--- a/debian/patches/Prevent_recursion_when_creating_window_surface.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-commit 5ad8cd48a1ed3be183c0af8698491b039f0054e4
-Author: Samuel Rødal <samuel.rodal at nokia.com>
-Date:   Tue Feb 1 17:59:54 2011 +0100
-
-    Prevent recursion when creating window surface.
-    
-    If we can't access the qt_gl_share_widget() we should just create a
-    raster window surface. This might happen when creating the share widget
-    itself leads to creation of a window surface (which isn't really going
-    to be used anyways).
-    
-    Reviewed-by: Michael Dominic K
-
----
- src/plugins/graphicssystems/meego/qmeegographicssystem.cpp |    8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
---- a/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
-+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.cpp
-@@ -42,6 +42,7 @@
- #include <QDebug>
- #include <private/qpixmap_raster_p.h>
- #include <private/qwindowsurface_gl_p.h>
-+#include <private/qwindowsurface_raster_p.h>
- #include <private/qegl_p.h>
- #include <private/qglextensions_p.h>
- #include <private/qgl_p.h>
-@@ -75,7 +76,12 @@ QMeeGoGraphicsSystem::~QMeeGoGraphicsSys
- 
- QWindowSurface* QMeeGoGraphicsSystem::createWindowSurface(QWidget *widget) const
- {
--    QGLShareContextScope ctx(qt_gl_share_widget()->context());
-+    QGLWidget *shareWidget = qt_gl_share_widget();
-+
-+    if (!shareWidget)
-+        return new QRasterWindowSurface(widget);
-+
-+    QGLShareContextScope ctx(shareWidget->context());
- 
-     QMeeGoGraphicsSystem::surfaceWasCreated = true;
-     QWindowSurface *surface = new QGLWindowSurface(widget);
diff --git a/debian/patches/series b/debian/patches/series
index 694e119..d4af59c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,7 +1,5 @@
 # upstream patches
 Fix_builds_with_compilers_without_--with-fpu_neon_as_default.patch
-Fix_GL_problems_on_stock_1.4_SGX_drivers.patch
-Fixed_missing_text_when_using_static_text_items_in_GL_2_engine.patch
 Update_createwindow_in_qgl_x11egl.patch
 Improve-performance-of-partial-updates-in-raster-win.patch
 Fix_transformIsSimple_in_QGraphicsScene.patch
@@ -9,11 +7,9 @@ Micro-optimization_for_QSpanData.patch
 Some_Optimizations_for_the_gray_raster.patch
 Make_use_of_the_fast_image_paths.patch
 Add_support_for_QT_USE_DRAG_DISTANCE_env_var.patch
-Prevent_recursion_when_creating_window_surface.patch
 Fixed_bug_in_X11_backend_when_creating_translucent_windows.patch
 Take_Xft.hintstyle_by_default_to_match_the_behavior_of_GTK+.patch
 Fix_fontconfig_usage_in_X11_font_database.patch
-Check-if-the-interpolators-have-already-been-deleted.patch
 
 # qt-copy patches
 0195-compositing-properties.diff
@@ -33,7 +29,6 @@ buildable_appchooser_states_demos.patch
 16_hide_std_symbols_on_qtwebkit.diff
 18_enable_qt3support_qtwebkit_debug_info.diff
 20_install_qvfb.diff
-21_qt_ia32_library_path.diff
 23_permit_plugins_built_with_future_qt.diff
 30_webkit_unaligned_access.diff
 40_alpha_ice.diff

-- 
Qt 4 packaging



More information about the pkg-kde-commits mailing list