rev 7014 - in trunk/packages/qt4-x11/debian: . patches

Fathi Boudra fboudra-guest at alioth.debian.org
Wed Aug 8 21:59:17 UTC 2007


Author: fboudra-guest
Date: 2007-08-08 21:59:17 +0000 (Wed, 08 Aug 2007)
New Revision: 7014

Added:
   trunk/packages/qt4-x11/debian/patches/
   trunk/packages/qt4-x11/debian/patches/0163-fix-gcc43-support.diff
   trunk/packages/qt4-x11/debian/patches/0167-fix-group-reading.diff
   trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff
   trunk/packages/qt4-x11/debian/patches/0175-fix-s390-qatomic.diff
   trunk/packages/qt4-x11/debian/patches/0176-coverity-fixes.diff
   trunk/packages/qt4-x11/debian/patches/0178-transparency-window-types.diff
   trunk/packages/qt4-x11/debian/patches/0179-transient-hack.diff
   trunk/packages/qt4-x11/debian/patches/0180-window-role.diff
   trunk/packages/qt4-x11/debian/patches/0181-qdnd-x11-fix.diff
   trunk/packages/qt4-x11/debian/patches/0182-argb-visuals-default.diff
   trunk/packages/qt4-x11/debian/patches/0185-fix-format-strings.diff
   trunk/packages/qt4-x11/debian/patches/0186-fix-component-alpha-text.diff
   trunk/packages/qt4-x11/debian/patches/0187-fix-font-fixed-pitch.diff
   trunk/packages/qt4-x11/debian/patches/01_qmake_for_debian.diff
   trunk/packages/qt4-x11/debian/patches/02_launch_assistant-qt4.diff
   trunk/packages/qt4-x11/debian/patches/03_launch_moc-qt4.diff
   trunk/packages/qt4-x11/debian/patches/04_launch_uic-qt4.diff
   trunk/packages/qt4-x11/debian/patches/05_append_qt4_target.diff
   trunk/packages/qt4-x11/debian/patches/06_qtdemo_destdir.diff
   trunk/packages/qt4-x11/debian/patches/20_mips_atomic_ops.diff
   trunk/packages/qt4-x11/debian/patches/30_arm_ftbfs_fixes.diff
   trunk/packages/qt4-x11/debian/patches/31_arm_eabi_fix.diff
   trunk/packages/qt4-x11/debian/patches/40_alpha_ice.diff
   trunk/packages/qt4-x11/debian/patches/41_disable_opengl_visibility.diff
   trunk/packages/qt4-x11/debian/patches/50_kfreebsd_build_fix.diff
   trunk/packages/qt4-x11/debian/patches/60_m68k_inotify_fix.diff
   trunk/packages/qt4-x11/debian/patches/70_hppa_ldcw_fix.diff
   trunk/packages/qt4-x11/debian/patches/80_hurd_max_path.diff
   trunk/packages/qt4-x11/debian/patches/series
Modified:
   trunk/packages/qt4-x11/debian/changelog
   trunk/packages/qt4-x11/debian/control
   trunk/packages/qt4-x11/debian/copyright
   trunk/packages/qt4-x11/debian/rules
Log:
  * Switch to quilt patch system.
  * Update copyright. Add Trolltech GPL Exception.
  * Update patches for Qt4.3.1.
  * Remove patches merged upstream:
    * 0177-qurl-clear-fix
    * 0183-qprocess-corruption
    * 42_alpha_fetch_and_add

  * TODO: workaround for 51_kfreebsd_mkspecs patch.


Modified: trunk/packages/qt4-x11/debian/changelog
===================================================================
--- trunk/packages/qt4-x11/debian/changelog	2007-08-08 21:57:03 UTC (rev 7013)
+++ trunk/packages/qt4-x11/debian/changelog	2007-08-08 21:59:17 UTC (rev 7014)
@@ -1,7 +1,16 @@
-qt4-x11 (4.3.1-1) UNRELEASED; urgency=low
+qt4-x11 (4.3.1-1) unstable; urgency=low
 
   * New upstream release.
+  * Switch to quilt patch system.
+  * Update copyright. Add Trolltech GPL Exception.
+  * Update patches for Qt4.3.1.
+  * Remove patches merged upstream:
+    * 0177-qurl-clear-fix
+    * 0183-qprocess-corruption
+    * 42_alpha_fetch_and_add
 
+  * TODO: workaround for 51_kfreebsd_mkspecs patch.
+
  -- Fathi Boudra <fboudra at free.fr>  Wed, 08 Aug 2007 15:08:11 +0200
 
 qt4-x11 (4.3.0-5) unstable; urgency=low

Modified: trunk/packages/qt4-x11/debian/control
===================================================================
--- trunk/packages/qt4-x11/debian/control	2007-08-08 21:57:03 UTC (rev 7013)
+++ trunk/packages/qt4-x11/debian/control	2007-08-08 21:59:17 UTC (rev 7014)
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org>
 Uploaders: Brian Nelson <pyro at debian.org>, Sune Vuorela <debian at pusling.com>, Fathi Boudra <fboudra at free.fr>, Ana Beatriz Guerrero Lopez <ana at debian.org>
-Build-Depends: debhelper (>= 5.0.0), libxext-dev (>= 4.3.0.dfsg.1-4), libxrandr-dev (>= 4.3.0.dfsg.1-4), x11proto-core-dev, libsm-dev (>= 4.3.0.dfsg.1-4), libxmu-dev (>= 4.3.0.dfsg.1-4), libice-dev (>= 4.3.0.dfsg.1-4), libx11-dev (>= 4.3.0.dfsg.1-4), libxt-dev (>= 4.3.0.dfsg.1-4), libjpeg62-dev, zlib1g-dev, libmng-dev (>= 1.0.3), libpng12-dev, libfreetype6-dev, libmysqlclient15-dev, flex, libpq-dev, libaudio-dev, libcupsys2-dev, xlibmesa-gl-dev | libgl-dev, libglu1-xorg-dev | libglu1-mesa-dev | libglu-dev, libxft-dev, libxrender-dev, libxcursor-dev, cdbs (>= 0.4.0), dpatch, libxinerama-dev, libsqlite0-dev, libsqlite3-dev, libdbus-1-dev, libglib2.0-dev, libxi-dev
+Build-Depends: cdbs, debhelper (>= 5), quilt, libxext-dev (>= 4.3.0.dfsg.1-4), libxrandr-dev (>= 4.3.0.dfsg.1-4), x11proto-core-dev, libsm-dev (>= 4.3.0.dfsg.1-4), libxmu-dev (>= 4.3.0.dfsg.1-4), libice-dev (>= 4.3.0.dfsg.1-4), libx11-dev (>= 4.3.0.dfsg.1-4), libxt-dev (>= 4.3.0.dfsg.1-4), libjpeg62-dev, zlib1g-dev, libmng-dev (>= 1.0.3), libpng12-dev, libfreetype6-dev, libmysqlclient15-dev, flex, libpq-dev, libaudio-dev, libcupsys2-dev, xlibmesa-gl-dev | libgl-dev, libglu1-xorg-dev | libglu1-mesa-dev | libglu-dev, libxft-dev, libxrender-dev, libxcursor-dev, libxinerama-dev, libsqlite0-dev, libsqlite3-dev, libdbus-1-dev, libglib2.0-dev, libxi-dev
 Standards-Version: 3.7.2
 
 Package: libqt4-dev

Modified: trunk/packages/qt4-x11/debian/copyright
===================================================================
--- trunk/packages/qt4-x11/debian/copyright	2007-08-08 21:57:03 UTC (rev 7013)
+++ trunk/packages/qt4-x11/debian/copyright	2007-08-08 21:59:17 UTC (rev 7014)
@@ -23,3 +23,93 @@
 
 On Debian systems, the complete text of the GNU General Public License
 can be found in `/usr/share/common-licenses/GPL'.
+
+Since Qt4.3.1, a Trolltech GPL exception was added:
+
+        Trolltech GPL Exception version 1.0
+        ===================================
+
+        Additional rights granted beyond the GPL (the "Exception").
+
+        As a special exception to the terms and conditions of version 2.0 of the
+GPL, Trolltech hereby grants you the rights described below, provided you agree
+to the terms and conditions in this Exception, including its obligations and
+restrictions on use.
+
+        Nothing in this Exception gives you or anyone else the right to change
+the licensing terms of the Qt Open Source Edition.
+
+        Below, "Licensed Software" shall refer to the software licensed under
+the GPL and this exception.
+
+        1) The right to use Open Source Licenses not compatible with the GNU
+        General Public License: You may link software (hereafter referred to as
+"Your Software") against the Licensed Software and/or distribute binaries of
+Your Software linked against the Licensed Software, provided that:
+
+        A) Your Software is licensed under one of the following licenses:
+
+
+        License name                            Version(s)/Copyright Date
+        Academic Free License                   2.0 or 2.1
+        Apache Software License                 1.0 or 1.1
+        Apache License                          2.0
+        Apple Public Source License             2.0
+        Artistic license                        From Perl 5.8.0
+        BSD license                             "July 22 1999"
+        Common Public License                   1.0
+        GNU Library or "Lesser"
+        General Public License (LGPL)           2.0 or 2.1
+        Jabber Open Source License              1.0
+        MIT License                             (as set forth in the addendum file)
+        Mozilla Public License (MPL)            1.0 or 1.1
+        Open Software License                   2.0
+        OpenSSL license (with original
+        SSLeay license)                         "2003" ("1998")
+        PHP License                             3.0
+        Python license (CNRI Python License)    (as set forth in the addendum file)
+        Python Software Foundation License      2.1.1
+        Q Public License                        v1.0
+        Sleepycat License                       "1999"
+        W3C License                             "2001"
+        X11 License                             X11R6.6
+        Zlib/libpng License                     (as set forth in the addendum file)
+        Zope Public License                     2.0
+
+
+        (Licenses without a specific version number or date are reproduced
+        in the file GPL_EXCEPTION_ADDENDUM.TXT in your source package).
+
+
+        and
+
+        B) You must, on request, make a complete package including
+        the complete source code of Your Software (as defined
+        in the GNU General Public License version 2, section 3,
+        but excluding anything excluded by the special
+        exception in the same section) available to Trolltech
+        under the same license as that granted to other
+        recipients of the source code of Your Software.
+
+        and
+
+        C) Your or any other contributor's rights to:
+
+                i) distribute the source code of Your Software to anyone for
+                any purpose;
+
+                and
+
+                ii) publicly discuss the development project for Your
+                Software and its goals in any form and in any forum
+
+        are not prohibited by any legal instrument, including but not limited to
+contracts, non-disclosure agreements, and employee contracts.
+
+
+        2) The right to link non-Open Source applications with pre-installed
+versions of the Licensed Software: You may link applications with binary
+pre-installed versions of the Licensed Software, provided that such applications
+have been developed and are deployed in ac cordance with the terms and
+conditions of the Qt Commercial License Agreement.
+

Added: trunk/packages/qt4-x11/debian/patches/0163-fix-gcc43-support.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0163-fix-gcc43-support.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0163-fix-gcc43-support.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,156 @@
+--- qt4-x11-4.3.1.orig/config.tests/unix/endian.test
++++ qt4-x11-4.3.1/config.tests/unix/endian.test
+@@ -30,6 +30,7 @@
+     [ "$VERBOSE" = "yes" ] && echo "    Found 'MostSignificantByteFirst' in binary"
+     ENDIAN="BIG"
+ fi
++[ "$VERBOSE" = "yes" ] && make clean || make clean >/dev/null 2>&1
+ 
+ # done
+ if [ "$ENDIAN" = "LITTLE" ]; then
+--- qt4-x11-4.3.1.orig/config.tests/x11/glib/glib.cpp
++++ qt4-x11-4.3.1/config.tests/x11/glib/glib.cpp
+@@ -6,7 +6,7 @@
+ {
+     GMainContext *context;
+     GSource *source;
+-    GPollFD *pollfd;
++    GPollFD *pollfd = NULL;
+     if (!g_thread_supported())
+         g_thread_init(NULL);
+     context = g_main_context_default();
+--- qt4-x11-4.3.1.orig/src/corelib/codecs/qtextcodec.cpp
++++ qt4-x11-4.3.1/src/corelib/codecs/qtextcodec.cpp
+@@ -432,7 +432,7 @@
+             localeMapper = checkForCodec(lang);
+ 
+         // 5. "@euro"
+-        if (!localeMapper && ctype && strstr(ctype, "@euro") || lang && strstr(lang, "@euro"))
++        if ((!localeMapper && ctype && strstr(ctype, "@euro")) || (lang && strstr(lang, "@euro")))
+             localeMapper = checkForCodec("ISO 8859-15");
+ 
+         // 6. guess locale from ctype unless ctype is "C"
+--- qt4-x11-4.3.1.orig/src/corelib/io/qtextstream.cpp
++++ qt4-x11-4.3.1/src/corelib/io/qtextstream.cpp
+@@ -556,8 +556,8 @@
+     if (!codec || autoDetectUnicode) {
+         autoDetectUnicode = false;
+         
+-        if (bytesRead >= 2 && (uchar(buf[0]) == 0xff && uchar(buf[1]) == 0xfe
+-                               || uchar(buf[0]) == 0xfe && uchar(buf[1]) == 0xff)) {
++        if (bytesRead >= 2 && ((uchar(buf[0]) == 0xff && uchar(buf[1]) == 0xfe)
++                               || (uchar(buf[0]) == 0xfe && uchar(buf[1]) == 0xff))) {
+             codec = QTextCodec::codecForName("UTF-16");
+         } else if (!codec) {
+             codec = QTextCodec::codecForLocale();
+--- qt4-x11-4.3.1.orig/src/corelib/io/qurl.cpp
++++ qt4-x11-4.3.1/src/corelib/io/qurl.cpp
+@@ -4740,9 +4740,9 @@
+     if (include.isEmpty()) {
+         for (int i = 0; i < len; ++i) {
+             unsigned char c = *inputData++;
+-            if (c >= 0x61 && c <= 0x7A // ALPHA
+-                || c >= 0x41 && c <= 0x5A // ALPHA
+-                || c >= 0x30 && c <= 0x39 // DIGIT
++            if ((c >= 0x61 && c <= 0x7A) // ALPHA
++                || (c >= 0x41 && c <= 0x5A) // ALPHA
++                || (c >= 0x30 && c <= 0x39) // DIGIT
+                 || c == 0x2D // -
+                 || c == 0x2E // .
+                 || c == 0x5F // _
+@@ -4759,9 +4759,9 @@
+         const char * alsoEncode = include.constData();
+         for (int i = 0; i < len; ++i) {
+             unsigned char c = *inputData++;
+-            if ((c >= 0x61 && c <= 0x7A // ALPHA
+-                || c >= 0x41 && c <= 0x5A // ALPHA
+-                || c >= 0x30 && c <= 0x39 // DIGIT
++            if (((c >= 0x61 && c <= 0x7A) // ALPHA
++                || (c >= 0x41 && c <= 0x5A) // ALPHA
++                || (c >= 0x30 && c <= 0x39) // DIGIT
+                 || c == 0x2D // -
+                 || c == 0x2E // .
+                 || c == 0x5F // _
+--- qt4-x11-4.3.1.orig/src/corelib/tools/qlocale.cpp
++++ qt4-x11-4.3.1/src/corelib/tools/qlocale.cpp
+@@ -2609,8 +2609,8 @@
+ 
+         QChar c1 = format.at(i);
+         QChar c2 = format.at(i + 1);
+-        if (c1.unicode() == 'a' && c2.unicode() == 'p'
+-            || c1.unicode() == 'A' && c2.unicode() == 'P')
++        if ((c1.unicode() == 'a' && c2.unicode() == 'p')
++            || (c1.unicode() == 'A' && c2.unicode() == 'P'))
+             return true;
+ 
+         ++i;
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qapplication.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qapplication.cpp
+@@ -2036,11 +2036,11 @@
+ #ifndef QT_NO_TRANSLATION
+ static bool qt_detectRTLLanguage()
+ {
+-    return force_reverse ^
++    return (force_reverse ^
+         QApplication::tr("QT_LAYOUT_DIRECTION",
+                          "Translate this string to the string 'LTR' in left-to-right"
+                          " languages or to 'RTL' in right-to-left languages (such as Hebrew"
+-                         " and Arabic) to get proper widget layout.") == QLatin1String("RTL");
++                         " and Arabic) to get proper widget layout.") == QLatin1String("RTL"));
+ }
+ #endif
+ 
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qkeymapper_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qkeymapper_x11.cpp
+@@ -1330,8 +1330,8 @@
+         }
+ 
+         if (directionKeyEvent && lastWinId == keyWidget->internalWinId()) {
+-            if (keysym == XK_Shift_L && directionKeyEvent == XK_Control_L ||
+-                keysym == XK_Control_L && directionKeyEvent == XK_Shift_L) {
++            if ((keysym == XK_Shift_L && directionKeyEvent == XK_Control_L) ||
++                (keysym == XK_Control_L && directionKeyEvent == XK_Shift_L)) {
+                 directionKeyEvent = Qt::Key_Direction_L;
+             } else if (keysym == XK_Shift_R && directionKeyEvent == XK_Control_R ||
+                        keysym == XK_Control_R && directionKeyEvent == XK_Shift_R) {
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget.cpp
+@@ -1830,7 +1830,7 @@
+ 
+             for (int i = 0; i < pd->children.size(); ++i) {
+                 QWidget *w = qobject_cast<QWidget *>(pd->children.at(i));
+-                if (w && !w->isWindow() && !w->testAttribute(Qt::WA_WState_Created))
++                if (w && !w->isWindow() && !w->testAttribute(Qt::WA_WState_Created)) {
+                     if (w!=q) {
+                         w->create();
+                     } else {
+@@ -1840,6 +1840,7 @@
+                         if (winid)
+                             w->raise();
+                     }
++                }
+             }
+         } else {
+             q->create();
+--- qt4-x11-4.3.1.orig/src/gui/painting/qregion_unix.cpp
++++ qt4-x11-4.3.1/src/gui/painting/qregion_unix.cpp
+@@ -1944,7 +1944,7 @@
+         else
+             --isInside;
+ 
+-        if (!inside && !isInside || inside && isInside) {
++        if ((!inside && !isInside) || (inside && isInside)) {
+             pWETE->nextWETE = AET;
+             pWETE = AET;
+             inside = !inside;
+--- qt4-x11-4.3.1.orig/src/tools/uic/driver.cpp
++++ qt4-x11-4.3.1/src/tools/uic/driver.cpp
+@@ -175,7 +175,7 @@
+ 
+ static bool isAnsiCCharacter(const QChar& c)
+ {
+-    return c.toUpper() >= QLatin1Char('A') && c.toUpper() <= QLatin1Char('Z')
++    return (c.toUpper() >= QLatin1Char('A') && c.toUpper() <= QLatin1Char('Z'))
+            || c.isDigit() || c == QLatin1Char('_');
+ }
+ 

Added: trunk/packages/qt4-x11/debian/patches/0167-fix-group-reading.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0167-fix-group-reading.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0167-fix-group-reading.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,22 @@
+--- qt4-x11-4.3.1.orig/src/corelib/io/qfsfileengine_unix.cpp
++++ qt4-x11-4.3.1/src/corelib/io/qfsfileengine_unix.cpp
+@@ -845,9 +845,16 @@
+     } else if (own == OwnerGroup) {
+         struct group *gr = 0;
+ #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
+-        buf.resize(sysconf(_SC_GETGR_R_SIZE_MAX));
+-        struct group entry;
+-        getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr);
++        for (unsigned size = sysconf(_SC_GETGR_R_SIZE_MAX); size < 256000; size += size)
++        {
++            buf.resize(size);
++            struct group entry;
++            // ERANGE indicates that the buffer was too small
++            if (!getgrgid_r(ownerId(own), &entry, buf.data(), buf.size(), &gr)
++                || errno != ERANGE)
++                break;
++        }
++
+ #else
+         gr = getgrgid(ownerId(own));
+ #endif

Added: trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0172-prefer-xrandr-over-xinerama.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,42 @@
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qdesktopwidget_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qdesktopwidget_x11.cpp
+@@ -124,11 +124,38 @@
+     int unused;
+     use_xinerama = (XineramaQueryExtension(X11->display, &unused, &unused) && XineramaIsActive(X11->display));
+ 
++    // only use xinerama for old Xrandr versions
++#ifndef QT_NO_XRANDR
++    int ncrtc = 0;
++    if (X11->use_xrandr) {
++        int major, minor;
++
++#if RANDR_MAJOR > 1 || RANDR_MINOR > 1
++        XRRQueryVersion(QPaintDevice::x11AppDisplay(), &major, &minor);
++        if (major > 1 || (major == 1 && minor >= 2)) {
++            XRRScreenResources* res;
++            res = XRRGetScreenResources(QPaintDevice::x11AppDisplay(),
++                    QPaintDevice::x11AppRootWindow( 0 ));
++            if (res) {
++                ncrtc = res->ncrtc;
++                XRRFreeScreenResources(res);
++            }
++        }
++#endif
++    }
++#endif
++
+     if (use_xinerama) {
+         xinerama_screeninfo =
+             XineramaQueryScreens(X11->display, &screenCount);
+         defaultScreen = 0;
+-    } else
++    }
++#ifndef QT_NO_XRANDR
++    if (use_xinerama && screenCount <= ncrtc) {
++        use_xinerama = FALSE;
++    }
++#endif
++    else
+ #endif // QT_NO_XINERAMA
+     {
+         defaultScreen = DefaultScreen(X11->display);

Added: trunk/packages/qt4-x11/debian/patches/0175-fix-s390-qatomic.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0175-fix-s390-qatomic.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0175-fix-s390-qatomic.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,27 @@
+--- qt4-x11-4.3.1.orig/src/corelib/arch/qatomic_s390.h
++++ qt4-x11-4.3.1/src/corelib/arch/qatomic_s390.h
+@@ -197,10 +197,20 @@
+ #endif
+ }
+ 
+-#error "fetch-and-add not implemented"
+-// int q_atomic_fetch_and_add_int(volatile int *ptr, int value);
+-// int q_atomic_fetch_and_add_acquire_int(volatile int *ptr, int value);
+-// int q_atomic_fetch_and_add_release_int(volatile int *ptr, int value);
++inline int q_atomic_fetch_and_add_int(volatile int *ptr, int value)
++{
++    return __sync_fetch_and_add(ptr, value);
++}
++
++inline int q_atomic_fetch_and_add_acquire_int(volatile int *ptr, int value)
++{
++    return __sync_fetch_and_add(ptr, value);
++}
++
++inline int q_atomic_fetch_and_add_release_int(volatile int *ptr, int value)
++{
++    return __sync_fetch_and_add(ptr, value);
++}
+ 
+ QT_END_HEADER
+ 

Added: trunk/packages/qt4-x11/debian/patches/0176-coverity-fixes.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0176-coverity-fixes.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0176-coverity-fixes.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,29 @@
+--- qt4-x11-4.3.1.orig/src/gui/painting/qimagescale.cpp
++++ qt4-x11-4.3.1/src/gui/painting/qimagescale.cpp
+@@ -1020,6 +1020,7 @@
+     buffer = QImage(dw, dh, src.format());
+     if (buffer.isNull()) {
+         qWarning("QImage: out of memory, returning null");
++        qimageFreeScaleInfo(scaleinfo);
+         return QImage();
+     }
+ 
+--- qt4-x11-4.3.1.orig/src/svg/qsvghandler.cpp
++++ qt4-x11-4.3.1/src/svg/qsvghandler.cpp
+@@ -1136,15 +1136,9 @@
+         if (!size.isEmpty()) {
+             QSvgHandler::LengthType type;
+             qreal len = parseLength(size, type, handler);
+-            //len = convertToPixels(len, false, type);
+             // ### org_module.svg shows that font size
+             // seems to be always in px...
+-            type  = QSvgHandler::PX;
+-            if (type == QSvgHandler::PX ||
+-                type == QSvgHandler::OTHER)
+-                font.setPixelSize(int(len));
+-            else
+-                font.setPointSizeF(len);
++            font.setPixelSize(int(len));
+         }
+         if (!style.isEmpty()) {
+             if (style == QLatin1String("normal")) {

Added: trunk/packages/qt4-x11/debian/patches/0178-transparency-window-types.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0178-transparency-window-types.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0178-transparency-window-types.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,327 @@
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qapplication_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qapplication_x11.cpp
+@@ -214,6 +214,11 @@
+     "_NET_WM_WINDOW_TYPE_SPLASH\0"
+     "_NET_WM_WINDOW_TYPE_TOOLBAR\0"
+     "_NET_WM_WINDOW_TYPE_UTILITY\0"
++    "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU\0"
++    "_NET_WM_WINDOW_TYPE_POPUP_MENU\0"
++    "_NET_WM_WINDOW_TYPE_COMBO\0"
++    "_NET_WM_WINDOW_TYPE_DND\0"
++    "_NET_WM_WINDOW_TYPE_TOOLTIP\0"
+ 
+     "_KDE_NET_WM_FRAME_STRUT\0"
+ 
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qdnd_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qdnd_x11.cpp
+@@ -270,6 +270,7 @@
+         QWidget(QApplication::desktop()->screen(screen),
+                 Qt::Tool | Qt::FramelessWindowHint | Qt::X11BypassWindowManagerHint)
+     {
++    x11SetWindowType( X11WindowTypeDND );
+     }
+ 
+     void setPixmap(const QPixmap &pm)
+@@ -1438,6 +1439,7 @@
+         // recreate the pixmap on the new screen...
+         delete xdnd_data.deco;
+         xdnd_data.deco = new QShapedPixmapWidget(screen);
++        xdnd_data.deco->x11SetWindowTransient( object->source()->topLevelWidget());
+         if (!QWidget::mouseGrabber()) {
+             updatePixmap();
+             xdnd_data.deco->grabMouse();
+@@ -1899,6 +1901,7 @@
+     object = o;
+     object->d_func()->target = 0;
+     xdnd_data.deco = new QShapedPixmapWidget();
++    xdnd_data.deco->x11SetWindowTransient( object->source()->topLevelWidget());
+ 
+     willDrop = false;
+ 
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qt_x11_p.h
++++ qt4-x11-4.3.1/src/gui/kernel/qt_x11_p.h
+@@ -530,6 +530,11 @@
+         _NET_WM_WINDOW_TYPE_SPLASH,
+         _NET_WM_WINDOW_TYPE_TOOLBAR,
+         _NET_WM_WINDOW_TYPE_UTILITY,
++        _NET_WM_WINDOW_TYPE_DROPDOWN_MENU,
++        _NET_WM_WINDOW_TYPE_POPUP_MENU,
++        _NET_WM_WINDOW_TYPE_COMBO,
++        _NET_WM_WINDOW_TYPE_DND,
++        _NET_WM_WINDOW_TYPE_TOOLTIP,
+ 
+         _KDE_NET_WM_FRAME_STRUT,
+ 
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qtooltip.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qtooltip.cpp
+@@ -149,6 +149,9 @@
+     setMouseTracking(true);
+     fadingOut = false;
+     reuseTip(text);
++#ifdef Q_WS_X11
++    x11SetWindowType( X11WindowTypeTooltip );
++#endif
+ }
+ 
+ void QTipLabel::restartHideTimer()
+@@ -369,6 +372,10 @@
+             // that is showing (removes flickering)
+             if (QTipLabel::instance->tipChanged(pos, text, w)){
+                 QTipLabel::instance->reuseTip(text);
++#ifdef Q_WS_X11
++                if (w)
++                    QTipLabel::instance->x11SetWindowTransient( w->topLevelWidget());
++#endif
+                 QTipLabel::instance->setTipRect(w, rect);
+                 QTipLabel::instance->placeTip(pos, w);
+             }
+@@ -378,6 +385,10 @@
+ 
+     if (!text.isEmpty()){ // no tip can be reused, create new tip:
+         new QTipLabel(pos, text, w); // sets QTipLabel::instance to itself
++#ifdef Q_WS_X11
++        if (w)
++            QTipLabel::instance->x11SetWindowTransient( w->topLevelWidget());
++#endif
+         QTipLabel::instance->setTipRect(w, rect);
+         QTipLabel::instance->placeTip(pos, w);
+         QTipLabel::instance->setObjectName(QLatin1String("qtooltip_label"));
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget.h
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget.h
+@@ -354,6 +354,19 @@
+ 
+     void setWindowOpacity(qreal level);
+     qreal windowOpacity() const;
++#if defined(Q_WS_X11)
++    enum X11WindowType {
++        X11WindowTypeSelect,
++        X11WindowTypeCombo,
++        X11WindowTypeDND,
++        X11WindowTypeTooltip,
++        X11WindowTypeMenu, // torn-off
++        X11WindowTypeDropdown,
++        X11WindowTypePopup
++    };
++    void x11SetWindowType( X11WindowType type = X11WindowTypeSelect );
++    void x11SetWindowTransient( QWidget* parent );
++#endif
+ 
+     bool isWindowModified() const;
+ #ifndef QT_NO_TOOLTIP
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget_x11.cpp
+@@ -562,10 +562,6 @@
+     }
+ #endif // QT_NO_XRENDER
+ 
+-    // NET window types
+-    long net_wintypes[7] = { 0, 0, 0, 0, 0, 0, 0 };
+-    int curr_wintype = 0;
+-
+     QtMWMHints mwmhints;
+     mwmhints.flags = 0L;
+     mwmhints.functions = MWM_FUNC_ALL;
+@@ -576,15 +572,11 @@
+     if (topLevel) {
+         ulong wsa_mask = 0;
+         if (type == Qt::SplashScreen) {
+-            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_SPLASH);
+         } else { //       if (customize) {
+             mwmhints.decorations = 0L;
+             mwmhints.flags |= MWM_HINTS_DECORATIONS;
+ 
+-            if (flags & Qt::FramelessWindowHint) {
+-                // override netwm type - quick and easy for KDE noborder
+-                net_wintypes[curr_wintype++] = ATOM(_KDE_NET_WM_WINDOW_TYPE_OVERRIDE);
+-            } else {
++            if ((flags & Qt::FramelessWindowHint) == 0 ) {
+                 mwmhints.decorations |= MWM_DECOR_BORDER;
+                 mwmhints.decorations |= MWM_DECOR_RESIZEH;
+ 
+@@ -606,22 +598,6 @@
+             wsa.save_under = True;
+             wsa_mask |= CWSaveUnder;
+         }
+-        // ### need a better way to do this
+-        if (q->inherits("QMenu")) {
+-            // menu netwm type
+-            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_MENU);
+-        } else if (q->inherits("QToolBar")) {
+-            // toolbar netwm type
+-            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_TOOLBAR);
+-        } else if (type == Qt::Tool || type == Qt::Drawer) {
+-            // utility netwm type
+-            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_UTILITY);
+-        }
+-
+-        if (dialog) // dialog netwm type
+-            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
+-        // normal netwm type - default
+-        net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
+ 
+         if (flags & Qt::X11BypassWindowManagerHint) {
+             wsa.override_redirect = True;
+@@ -640,6 +616,7 @@
+         wsa.save_under = True;
+         XChangeWindowAttributes(dpy, id, CWOverrideRedirect | CWSaveUnder,
+                                 &wsa);
++        q->x11SetWindowType();
+     } else if (topLevel && !desktop) {        // top-level widget
+         if (!X11->wm_client_leader)
+             create_wm_client_leader();
+@@ -684,12 +661,7 @@
+         // set mwm hints
+         SetMWMHints(dpy, id, mwmhints);
+ 
+-        // set _NET_WM_WINDOW_TYPE
+-        if (curr_wintype > 0)
+-            XChangeProperty(dpy, id, ATOM(_NET_WM_WINDOW_TYPE), XA_ATOM, 32, PropModeReplace,
+-                            (unsigned char *) net_wintypes, curr_wintype);
+-        else
+-            XDeleteProperty(dpy, id, ATOM(_NET_WM_WINDOW_TYPE));
++        q->x11SetWindowType(); // set _NET_WM_WINDOW_TYPE
+ 
+         // set _NET_WM_PID
+         long curr_pid = getpid();
+@@ -785,6 +757,63 @@
+         q->setAttribute(Qt::WA_OutsideWSRange, true);
+ }
+ 
++// Sets the EWMH (netwm) window type. Needed as a separate function
++// because create() may be too soon in some cases.
++void QWidget::x11SetWindowType( X11WindowType type )
++{
++    Display* dpy = X11->display;
++    // NET window types
++    long net_wintypes[7] = { 0, 0, 0, 0, 0, 0, 0 };
++    int curr_wintype = 0;
++    if( type == X11WindowTypeSelect ) {
++        if ( windowType() == Qt::SplashScreen ) {
++            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_SPLASH);
++        } else if (inherits("QToolBar")) {
++	    // toolbar netwm type
++	    net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_TOOLBAR);
++        } else if (windowType() == Qt::Tool || windowType() == Qt::Drawer) {
++	    // utility netwm type
++	    net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_UTILITY);
++        } else if (windowType() == Qt::Dialog || windowType() == Qt::Sheet
++            || (windowFlags() & Qt::MSWindowsFixedSizeDialogHint)) {
++            // dialog netwm type
++            net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_DIALOG);
++        }
++    } else if( type == X11WindowTypeCombo ) {
++        // combo netwm type
++	net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_COMBO);
++    } else if( type == X11WindowTypeDND ) {
++        // dnd netwm type
++    	net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_DND);
++    } else if( type == X11WindowTypeDropdown ) {
++        // dropdown netwm type
++    	net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_DROPDOWN_MENU);
++    } else if( type == X11WindowTypePopup ) {
++        // popup netwm type
++    	net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_POPUP_MENU);
++    } else if( type == X11WindowTypeMenu ) {
++        // menu netwm type
++	net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_MENU);
++    } else if( type == X11WindowTypeTooltip ) {
++        // tooltip netwm type
++    	net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_TOOLTIP);
++    }
++
++    // normal netwm type - default
++    net_wintypes[curr_wintype++] = ATOM(_NET_WM_WINDOW_TYPE_NORMAL);
++    // set _NET_WM_WINDOW_TYPE
++    if (curr_wintype > 0)
++        XChangeProperty(dpy, winId(), ATOM(_NET_WM_WINDOW_TYPE), XA_ATOM, 32, PropModeReplace,
++			(unsigned char *) net_wintypes, curr_wintype);
++    else
++        XDeleteProperty(dpy, winId(), ATOM(_NET_WM_WINDOW_TYPE));
++}
++
++void QWidget::x11SetWindowTransient( QWidget* parent )
++{
++    XSetTransientForHint( X11->display, winId(), parent->window()->winId());
++}
++
+ /*!
+     Frees up window system resources. Destroys the widget window if \a
+     destroyWindow is true.
+--- qt4-x11-4.3.1.orig/src/gui/widgets/qcombobox.cpp
++++ qt4-x11-4.3.1/src/gui/widgets/qcombobox.cpp
+@@ -333,6 +333,10 @@
+             combo->update();
+         }
+     }
++#ifdef Q_WS_X11
++    x11SetWindowType( X11WindowTypeCombo );
++    x11SetWindowTransient( combo->topLevelWidget());
++#endif
+ }
+ 
+ void QComboBoxPrivateContainer::leaveEvent(QEvent *)
+--- qt4-x11-4.3.1.orig/src/gui/widgets/qmenu.cpp
++++ qt4-x11-4.3.1/src/gui/widgets/qmenu.cpp
+@@ -99,6 +99,9 @@
+     QTornOffMenu(QMenu *p) : QMenu(*(new QTornOffMenuPrivate(p)))
+     {
+         setParent(p, Qt::Window | Qt::Tool);
++#ifdef Q_WS_X11
++        x11SetWindowType( X11WindowTypeMenu );
++#endif
+ 	setAttribute(Qt::WA_DeleteOnClose, true);
+         setWindowTitle(p->windowTitle());
+         setEnabled(p->isEnabled());
+@@ -145,6 +148,9 @@
+     }
+     defaultMenuAction = menuAction = new QAction(q);
+     menuAction->d_func()->menu = q;
++#ifdef Q_WS_X11
++    q->x11SetWindowType( QWidget::X11WindowTypePopup );
++#endif
+ }
+ 
+ //Windows and KDE allows menus to cover the taskbar, while GNOME and Mac don't
+@@ -1669,6 +1675,32 @@
+     }
+     setGeometry(QRect(pos, size));
+ 
++#ifdef Q_WS_X11
++    QWidget* top = this;
++    for(;;) {
++        if( QMenu* m = qobject_cast< QMenu* >( top )) {
++            if( m->d_func()->causedPopup.widget == NULL )
++                break; // --->
++            top = m->d_func()->causedPopup.widget;
++        } else
++            break; // -->
++    }
++    if( QMenu* m = qobject_cast< QMenu* >( top ))
++        x11SetWindowType( X11WindowTypePopup );
++    else
++        x11SetWindowType( X11WindowTypeDropdown );
++    // hackish ... try to find the main window related to this popup
++    QWidget* parent = d_func()->causedPopup.widget;
++    if( parent == NULL )
++        parent = parentWidget() ? parentWidget()->topLevelWidget() : NULL;
++    if( parent == NULL )
++        parent = QApplication::widgetAt( pos );
++    if( parent == NULL )
++        parent = qApp->activeWindow();
++    if( parent != NULL )
++        x11SetWindowTransient( parent );
++#endif
++
+ #ifndef QT_NO_EFFECTS
+     int hGuess = qApp->layoutDirection() == Qt::RightToLeft ? QEffects::LeftScroll : QEffects::RightScroll;
+     int vGuess = QEffects::DownScroll;
+@@ -1865,6 +1897,9 @@
+     if (QMenuBar *mb = qobject_cast<QMenuBar*>(d->causedPopup.widget))
+         mb->d_func()->setCurrentAction(0);
+ #endif
++#ifdef Q_WS_X11
++    x11SetWindowType( X11WindowTypePopup ); // reset
++#endif
+     d->mouseDown = 0;
+     d->hasHadMouse = false;
+     d->causedPopup.widget = 0;

Added: trunk/packages/qt4-x11/debian/patches/0179-transient-hack.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0179-transient-hack.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0179-transient-hack.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,11 @@
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget_x11.cpp
+@@ -1650,7 +1650,7 @@
+         do_size_hints(q, extra);
+ 
+         // udpate WM_TRANSIENT_FOR
+-        if (isTransient(q)) {
++        if (isTransient(q) && !( q->windowFlags() & Qt::X11BypassWindowManagerHint)) {
+             QWidget *p = q->parentWidget();
+             if (p)
+                 p = p->window();

Added: trunk/packages/qt4-x11/debian/patches/0180-window-role.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0180-window-role.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0180-window-role.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,81 @@
+--- qt4-x11-4.3.1.orig/src/corelib/kernel/qobject.cpp
++++ qt4-x11-4.3.1/src/corelib/kernel/qobject.cpp
+@@ -1008,9 +1008,18 @@
+ {
+     Q_D(QObject);
+     d->objectName = name;
++#if defined(Q_WS_X11)
++    d->checkWindowRole();
++#endif
+ }
+ 
+ 
++#if defined(Q_WS_X11)
++void QObjectPrivate::checkWindowRole()
++{
++}
++#endif
++
+ #ifdef QT3_SUPPORT
+ /*! \internal
+     QObject::child is compat but needs to call itself recursively,
+--- qt4-x11-4.3.1.orig/src/corelib/kernel/qobject_p.h
++++ qt4-x11-4.3.1/src/corelib/kernel/qobject_p.h
+@@ -139,6 +139,9 @@
+     mutable quint32 connectedSignals;
+ 
+     QString objectName;
++#if defined(Q_WS_X11)
++    virtual void checkWindowRole();
++#endif
+ };
+ 
+ class QSemaphore;
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget_p.h
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget_p.h
+@@ -305,6 +305,7 @@
+ 
+ #if defined(Q_WS_X11)
+     void setWindowRole(const char *role);
++    virtual void checkWindowRole();
+     void sendStartupMessage(const char *message) const;
+ #endif
+ 
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget_x11.cpp
+@@ -671,11 +671,8 @@
+         // when we create a toplevel widget, the frame strut should be dirty
+         data.fstrut_dirty = 1;
+ 
+-        // declare the widget's object name as window role
+-        QByteArray objName = q->objectName().toLocal8Bit();
+-        XChangeProperty(dpy, id,
+-                        ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
+-                        (unsigned char *)objName.constData(), objName.length());
++        // declare the widget's object name as window role if not set
++        setWindowRole( !q->windowRole().isEmpty() ? q->windowRole().toUtf8() : q->objectName().toUtf8());
+ 
+         // set client leader property
+         XChangeProperty(dpy, id, ATOM(WM_CLIENT_LEADER),
+@@ -2669,12 +2666,20 @@
+ void QWidgetPrivate::setWindowRole(const char *role)
+ {
+     Q_Q(QWidget);
+-    Q_ASSERT(q->testAttribute(Qt::WA_WState_Created));
++    if( !q->testAttribute(Qt::WA_WState_Created))
++        return;
+     XChangeProperty(X11->display, q->internalWinId(),
+                     ATOM(WM_WINDOW_ROLE), XA_STRING, 8, PropModeReplace,
+                     (unsigned char *)role, qstrlen(role));
+ }
+ 
++void QWidgetPrivate::checkWindowRole()
++{
++    Q_Q(QWidget);
++    if( q->windowRole().isEmpty())
++        setWindowRole( objectName.toUtf8());
++}
++
+ Q_GLOBAL_STATIC(QX11PaintEngine, qt_widget_paintengine)
+ QPaintEngine *QWidget::paintEngine() const
+ {

Added: trunk/packages/qt4-x11/debian/patches/0181-qdnd-x11-fix.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0181-qdnd-x11-fix.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0181-qdnd-x11-fix.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,84 @@
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qdnd_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qdnd_x11.cpp
+@@ -58,6 +58,7 @@
+ #include "qimagewriter.h"
+ #include "qbuffer.h"
+ #include "qtextcodec.h"
++#include "qstack.h"
+ 
+ #include "qdnd_p.h"
+ #include "qt_x11_p.h"
+@@ -715,7 +716,44 @@
+ }
+ 
+ 
+-static QWidget *find_child(QWidget *tlw, QPoint & p)
++static QWidget *find_next_child(QWidget *child, QPoint &p, QStack<int> &chosenLine)
++{
++    p = child->mapToParent(p);
++    QWidget *widget = child->parentWidget();
++    if (!widget) {
++        return widget;
++    }
++
++    bool done = false;
++    bool backwards = true;
++    while (!done) {
++        done = true;
++        if (((QExtraWidget*)widget)->extraData() &&
++             ((QExtraWidget*)widget)->extraData()->xDndProxy != 0)
++            break; // stop searching for widgets under the mouse cursor if found widget is a proxy.
++        QObjectList children = widget->children();
++        if (!chosenLine.isEmpty() && !children.isEmpty()) {
++            for(int i = backwards ? chosenLine.pop() : children.size(); i > 0;) {
++                --i;
++                QWidget *w = qobject_cast<QWidget *>(children.at(i));
++                if (!w)
++                    continue;
++                if (w->isVisible() &&
++                     w->geometry().contains(p) &&
++                     !w->isWindow()) {
++                    widget = w;
++                    done = false;
++                    backwards = false;
++                    p = widget->mapFromParent(p);
++                    chosenLine << i;
++                    break;
++                }
++            }
++        }
++    }
++    return widget;
++}
++static QWidget *find_child(QWidget *tlw, QPoint & p, QStack<int> &chosenLine)
+ {
+     QWidget *widget = tlw;
+ 
+@@ -739,6 +777,7 @@
+                     widget = w;
+                     done = false;
+                     p = widget->mapFromParent(p);
++                    chosenLine.push(i);
+                     break;
+                 }
+             }
+@@ -827,7 +866,8 @@
+     const unsigned long *l = (const unsigned long *)xe->xclient.data.l;
+ 
+     QPoint p((l[2] & 0xffff0000) >> 16, l[2] & 0x0000ffff);
+-    QWidget * c = find_child(w, p); // changes p to to c-local coordinates
++    QStack<int> chosenLine;
++    QWidget * c = find_child(w, p, chosenLine); // changes p to to c-local coordinates
+ 
+     if (!passive && checkEmbedded(c, xe))
+         return;
+@@ -861,8 +901,7 @@
+ 
+     if (!passive) { // otherwise just reject
+         while (c && !c->acceptDrops() && !c->isWindow()) {
+-            p = c->mapToParent(p);
+-            c = c->parentWidget();
++            c = find_next_child(c, p, chosenLine);
+         }
+         QWidget *target_widget = c && c->acceptDrops() ? c : 0;
+ 

Added: trunk/packages/qt4-x11/debian/patches/0182-argb-visuals-default.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0182-argb-visuals-default.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0182-argb-visuals-default.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,124 @@
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qapplication_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qapplication_x11.cpp
+@@ -1567,6 +1567,30 @@
+                            / (DisplayHeightMM(X11->display, s)*10);
+         }
+ 
++
++#ifndef QT_NO_XRENDER
++        int xrender_eventbase,  xrender_errorbase;
++        // See if XRender is supported on the connected display
++        if (XQueryExtension(X11->display, "RENDER", &X11->xrender_major,
++                            &xrender_eventbase, &xrender_errorbase)
++            && XRenderQueryExtension(X11->display, &xrender_eventbase,
++                                     &xrender_errorbase)) {
++            // Check the version as well - we need v0.4 or higher
++            int major = 0;
++            int minor = 0;
++            XRenderQueryVersion(X11->display, &major, &minor);
++            if (qgetenv("QT_X11_NO_XRENDER").isNull()) {
++                X11->use_xrender = (major >= 0 && minor >= 5);
++                X11->xrender_version = major*100+minor;
++                // workaround for broken XServer on Ubuntu Breezy (6.8 compiled with 7.0
++                // protocol headers)
++                if (X11->xrender_version == 10
++                    && VendorRelease(X11->display) < 60900000
++                    && QByteArray(ServerVendor(X11->display)).contains("X.Org"))
++                    X11->xrender_version = 9;
++            }
++        }
++#endif // QT_NO_XRENDER
+         QColormap::initialize();
+ 
+         // Support protocols
+@@ -1590,30 +1614,15 @@
+ #endif // QT_NO_XRANDR
+ 
+ #ifndef QT_NO_XRENDER
+-        int xrender_eventbase,  xrender_errorbase;
+-        // See if XRender is supported on the connected display
+-        if (XQueryExtension(X11->display, "RENDER", &X11->xrender_major,
+-                            &xrender_eventbase, &xrender_errorbase)
+-            && XRenderQueryExtension(X11->display, &xrender_eventbase,
+-                                     &xrender_errorbase)) {
++        if (X11->use_xrender) {
+             // XRender is supported, let's see if we have a PictFormat for the
+             // default visual
+             XRenderPictFormat *format =
+                 XRenderFindVisualFormat(X11->display,
+                                         (Visual *) QX11Info::appVisual(X11->defaultScreen));
+-            // Check the version as well - we need v0.4 or higher
+-            int major = 0;
+-            int minor = 0;
+-            XRenderQueryVersion(X11->display, &major, &minor);
+-            if (qgetenv("QT_X11_NO_XRENDER").isNull() && format != 0) {
+-                X11->use_xrender = (major >= 0 && minor >= 5);
+-                X11->xrender_version = major*100+minor;
+-                // workaround for broken XServer on Ubuntu Breezy (6.8 compiled with 7.0
+-                // protocol headers)
+-                if (X11->xrender_version == 10
+-                    && VendorRelease(X11->display) < 60900000
+-                    && QByteArray(ServerVendor(X11->display)).contains("X.Org"))
+-                    X11->xrender_version = 9;
++
++            if (!format) {
++                X11->use_xrender = false;
+             }
+         }
+ #endif // QT_NO_XRENDER
+--- qt4-x11-4.3.1.orig/src/gui/kernel/qwidget_x11.cpp
++++ qt4-x11-4.3.1/src/gui/kernel/qwidget_x11.cpp
+@@ -555,7 +555,7 @@
+         picture = 0;
+     }
+ 
+-    if (X11->use_xrender) {
++    if (X11->use_xrender && !desktop) {
+         XRenderPictFormat *format = XRenderFindVisualFormat(dpy, (Visual *) xinfo.visual());
+         if (format)
+             picture = XRenderCreatePicture(dpy, id, format, 0, 0);
+--- qt4-x11-4.3.1.orig/src/gui/painting/qcolormap_x11.cpp
++++ qt4-x11-4.3.1/src/gui/painting/qcolormap_x11.cpp
+@@ -401,7 +401,33 @@
+         } else if (!X11->custom_cmap) {
+             XStandardColormap *stdcmap = 0;
+             int ncmaps = 0;
+-            if (XGetRGBColormaps(display, RootWindow(display, i),
++
++            bool foundArgbVisual = false;
++#ifndef QT_NO_XRENDER
++            if (X11->use_xrender) {
++                int nvi;
++                XVisualInfo templ;
++                templ.screen  = i;
++                templ.depth   = 32;
++                templ.c_class = TrueColor;
++                XVisualInfo *xvi = XGetVisualInfo(X11->display, VisualScreenMask |
++                                                  VisualDepthMask |
++                                                  VisualClassMask, &templ, &nvi);
++                for (int idx = 0; idx < nvi; ++idx) {
++                    XRenderPictFormat *format = XRenderFindVisualFormat(X11->display,
++                                                                        xvi[idx].visual);
++                    if (format->type == PictTypeDirect && format->direct.alphaMask) {
++                        d->visual = xvi[idx].visual;
++                        d->depth = 32;
++                        d->defaultVisual = false;
++                        foundArgbVisual = true;
++                        break;
++                    }
++                }
++            }
++#endif
++            if (!foundArgbVisual &&
++                XGetRGBColormaps(display, RootWindow(display, i),
+                                  &stdcmap, &ncmaps, XA_RGB_DEFAULT_MAP)) {
+                 if (stdcmap) {
+                     for (int c = 0; c < ncmaps; ++c) {
+@@ -459,7 +485,6 @@
+                 }
+             }
+         }
+-
+         if (!use_stdcmap) {
+             switch (d->visual->c_class) {
+             case StaticGray:

Added: trunk/packages/qt4-x11/debian/patches/0185-fix-format-strings.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0185-fix-format-strings.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0185-fix-format-strings.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,251 @@
+--- qt4-x11-4.3.1.orig/src/corelib/global/qglobal.h
++++ qt4-x11-4.3.1/src/corelib/global/qglobal.h
+@@ -1276,8 +1276,16 @@
+ #ifdef QT3_SUPPORT
+ Q_CORE_EXPORT QT3_SUPPORT void qSystemWarning(const char *msg, int code = -1);
+ #endif /* QT3_SUPPORT */
+-Q_CORE_EXPORT void qErrnoWarning(int code, const char *msg, ...);
+-Q_CORE_EXPORT void qErrnoWarning(const char *msg, ...);
++Q_CORE_EXPORT void qErrnoWarning(int code, const char *msg, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++    __attribute__ ((format (printf, 2, 3)))
++#endif
++    ;
++Q_CORE_EXPORT void qErrnoWarning(const char *msg, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++    __attribute__ ((format (printf, 1, 2)))
++#endif
++    ;
+ 
+ #if (defined(QT_NO_DEBUG_OUTPUT) || defined(QT_NO_TEXTSTREAM)) && !defined(QT_NO_DEBUG_STREAM)
+ #define QT_NO_DEBUG_STREAM
+--- qt4-x11-4.3.1.orig/src/corelib/tools/qbytearray.h
++++ qt4-x11-4.3.1/src/corelib/tools/qbytearray.h
+@@ -86,8 +86,16 @@
+ Q_CORE_EXPORT int qstrnicmp(const char *, const char *, uint len);
+ 
+ // implemented in qvsnprintf.cpp
+-Q_CORE_EXPORT int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap);
+-Q_CORE_EXPORT int qsnprintf(char *str, size_t n, const char *fmt, ...);
++Q_CORE_EXPORT int qvsnprintf(char *str, size_t n, const char *fmt, va_list ap)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++        __attribute__ ((format (printf, 3, 0)))
++#endif
++    ;
++Q_CORE_EXPORT int qsnprintf(char *str, size_t n, const char *fmt, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++        __attribute__ ((format (printf, 3, 4)))
++#endif
++    ;
+ 
+ #ifdef QT3_SUPPORT
+ inline QT3_SUPPORT void *qmemmove(void *dst, const void *src, uint len)
+--- qt4-x11-4.3.1.orig/src/gui/painting/qprintengine_pdf.cpp
++++ qt4-x11-4.3.1/src/gui/painting/qprintengine_pdf.cpp
+@@ -401,9 +401,8 @@
+         object = addXrefEntry(-1);
+         QByteArray alphaDef;
+         QPdf::ByteStream s(&alphaDef);
+-        s << "<< /ca " << (alpha/qreal(255.)) << ">>\n";
+-        xprintf(alphaDef.constData());
+-        xprintf("endobj\n");
++        s << "<< /ca " << (alpha/qreal(255.)) << ">>";
++        xprintf("%s\nendobj\n", alphaDef.constData());
+     }
+     currentPage->graphicStates.append(object);
+     return object;
+--- qt4-x11-4.3.1.orig/src/gui/painting/qprintengine_pdf_p.h
++++ qt4-x11-4.3.1/src/gui/painting/qprintengine_pdf_p.h
+@@ -163,7 +163,11 @@
+     void writePage();
+ 
+     int addXrefEntry(int object, bool printostr = true);
+-    void xprintf(const char* fmt, ...);
++    void xprintf(const char* fmt, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++        __attribute__ ((format (printf, 2, 3)))
++#endif
++        ;
+     inline void write(const QByteArray &data) {
+         stream->writeRawData(data.constData(), data.size());
+         streampos += data.size();
+--- qt4-x11-4.3.1.orig/src/qt3support/tools/q3cstring.h
++++ qt4-x11-4.3.1/src/qt3support/tools/q3cstring.h
+@@ -72,7 +72,11 @@
+     }
+ 
+     Q3CString        copy()        const { return *this; }
+-    Q3CString    &sprintf(const char *format, ...);
++    Q3CString    &sprintf(const char *format, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++        __attribute__ ((format (printf, 2, 3)))
++#endif
++        ;
+ 
+     Q3CString        left(uint len)  const { return QByteArray::left(len); }
+     Q3CString        right(uint len) const { return QByteArray::right(len); }
+--- qt4-x11-4.3.1.orig/src/qt3support/tools/q3gcache.cpp
++++ qt4-x11-4.3.1/src/qt3support/tools/q3gcache.cpp
+@@ -637,7 +637,7 @@
+ #if defined(QT_DEBUG)
+     QString line;
+     line.fill(QLatin1Char('*'), 80);
+-    qDebug(line.ascii());
++    qDebug("%s", line.ascii());
+     qDebug("CACHE STATISTICS:");
+     qDebug("cache contains %d item%s, with a total cost of %d",
+ 	   count(), count() != 1 ? "s" : "", tCost);
+@@ -658,7 +658,7 @@
+ 	   lruList->dumps != 1 ? "have" : "has", lruList->dumpCosts);
+     qDebug("Statistics from internal dictionary class:");
+     dict->statistics();
+-    qDebug(line.ascii());
++    qDebug("%s", line.ascii());
+ #endif
+ }
+ 
+--- qt4-x11-4.3.1.orig/src/qt3support/tools/q3gdict.cpp
++++ qt4-x11-4.3.1/src/qt3support/tools/q3gdict.cpp
+@@ -843,11 +843,11 @@
+     QString line;
+     line.fill(QLatin1Char('-'), 60);
+     double real, ideal;
+-    qDebug(line.ascii());
++    qDebug("%s", line.ascii());
+     qDebug("DICTIONARY STATISTICS:");
+     if (count() == 0) {
+         qDebug("Empty!");
+-        qDebug(line.ascii());
++        qDebug("%s", line.ascii());
+         return;
+     }
+     real = 0.0;
+@@ -868,7 +868,7 @@
+         while (b--)
+             *pbuf++ = '*';
+         *pbuf = '\0';
+-        qDebug(buf);
++        qDebug("%s", buf);
+         i++;
+     }
+     qDebug("Array size = %d", size());
+@@ -876,7 +876,7 @@
+     qDebug("Real dist  = %g", real);
+     qDebug("Rand dist  = %g", ideal);
+     qDebug("Real/Rand  = %g", real/ideal);
+-    qDebug(line.ascii());
++    qDebug("%s", line.ascii());
+ #endif // QT_DEBUG
+ }
+ 
+--- qt4-x11-4.3.1.orig/tools/assistant/config.cpp
++++ qt4-x11-4.3.1/tools/assistant/config.cpp
+@@ -88,12 +88,12 @@
+ 
+     QFile file(profileFileName);
+     if (!file.exists()) {
+-        qWarning( (QLatin1String("File does not exist: ") + profileFileName).toAscii().constData() );
++        qWarning( "File does not exist: %s", qPrintable(profileFileName) );
+         return 0;
+     }
+     DocuParser *parser = DocuParser::createParser( profileFileName );
+     if (!parser) {
+-        qWarning( (QLatin1String("Failed to create parser for file: ") + profileFileName).toAscii().constData() );
++        qWarning( "Failed to create parser for file: %s", qPrintable(profileFileName) );
+         return 0;
+     }
+     if (parser->parserVersion() < DocuParser::Qt320) {
+@@ -104,7 +104,7 @@
+     parser->parse(&file);
+     config->profil = profileParser->profile();
+     if (!config->profil) {
+-        qWarning( (QLatin1String("Config::loadConfig(), no profile in: ") + profileFileName).toAscii().constData() );
++        qWarning( "Config::loadConfig(), no profile in: %s", qPrintable(profileFileName) );
+         return 0;
+     }
+     config->profil->setProfileType(Profile::UserProfile);
+--- qt4-x11-4.3.1.orig/tools/assistant/index.cpp
++++ qt4-x11-4.3.1/tools/assistant/index.cpp
+@@ -195,7 +195,7 @@
+ {
+     QFile file( filename );
+     if ( !file.open(QFile::ReadOnly) ) {
+-        qWarning( (QLatin1String("can not open file ") + filename).toAscii().constData() );
++        qWarning( "can not open file %s", qPrintable(filename) );
+         return;
+     }
+ 
+@@ -367,7 +367,7 @@
+ 
+     QFile file( fileName );
+     if ( !file.open( QFile::ReadOnly ) ) {
+-        qWarning( (QLatin1String("cannot open file ") + fileName).toAscii().constData() );
++        qWarning( "cannot open file %s", qPrintable(fileName) );
+         return fileName;
+     }
+     QTextStream s( &file );
+@@ -489,7 +489,7 @@
+     QString fName = url.toLocalFile();
+     QFile file( fName );
+     if ( !file.open( QFile::ReadOnly ) ) {
+-        qWarning( (QLatin1String("cannot open file ") + fName).toAscii().constData() );
++        qWarning( "cannot open file %s", qPrintable(fName) );
+         return false;
+     }
+ 
+--- qt4-x11-4.3.1.orig/tools/designer/src/lib/shared/qdesigner_utils.cpp
++++ qt4-x11-4.3.1/tools/designer/src/lib/shared/qdesigner_utils.cpp
+@@ -55,9 +55,7 @@
+ {
+     QDESIGNER_SHARED_EXPORT void designerWarning(const QString &message)
+     {
+-        QString prefixedMessage = QLatin1String("Designer: ");
+-        prefixedMessage += message;
+-        qWarning(prefixedMessage.toUtf8().constData());
++        qWarning("Designer: %s", qPrintable(message));
+     }
+ 
+     QString EnumType::id() const
+--- qt4-x11-4.3.1.orig/tools/designer/src/lib/uilib/formbuilderextra.cpp
++++ qt4-x11-4.3.1/tools/designer/src/lib/uilib/formbuilderextra.cpp
+@@ -48,9 +48,7 @@
+ #endif
+ 
+ void uiLibWarning(const QString &message) {
+-    QString prefixedMessage = QLatin1String("Designer: ");
+-    prefixedMessage += message;
+-    qWarning(prefixedMessage.toUtf8().constData());
++    qWarning("Designer: %s", qPrintable(message));
+ }
+ 
+ QFormBuilderExtra::QFormBuilderExtra() :
+--- qt4-x11-4.3.1.orig/tools/linguist/shared/profileevaluator.h
++++ qt4-x11-4.3.1/tools/linguist/shared/profileevaluator.h
+@@ -103,7 +103,11 @@
+ 
+ private:
+     void logMessage(const QString &msg, MessageType mt = MT_DebugLevel2);
+-    void logMessage(MessageType mt, const char *msg, ...);
++    void logMessage(MessageType mt, const char *msg, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++        __attribute__ ((format (printf, 3, 4)))
++#endif
++        ;
+     QString expandVariableReferences(const QString &value);
+     QString evaluateExpandFunction(const QByteArray &func, const QString &arguments);
+ 
+--- qt4-x11-4.3.1.orig/tools/qtestlib/src/qtest_global.h
++++ qt4-x11-4.3.1/tools/qtestlib/src/qtest_global.h
+@@ -74,7 +74,11 @@
+     enum SkipMode { SkipSingle = 1, SkipAll = 2 };
+     enum TestFailMode { Abort = 1, Continue = 2 };
+ 
+-    int Q_TESTLIB_EXPORT qt_snprintf(char *str, int size, const char *format, ...);
++    int Q_TESTLIB_EXPORT qt_snprintf(char *str, int size, const char *format, ...)
++#if defined(Q_CC_GNU) && !defined(__INSURE__)
++        __attribute__ ((format (printf, 3, 4)))
++#endif
++        ;
+ }
+ 
+ QT_END_HEADER

Added: trunk/packages/qt4-x11/debian/patches/0186-fix-component-alpha-text.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0186-fix-component-alpha-text.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0186-fix-component-alpha-text.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,40 @@
+--- qt4-x11-4.3.1.orig/src/gui/text/qfontengine_ft.cpp
++++ qt4-x11-4.3.1/src/gui/text/qfontengine_ft.cpp
+@@ -716,7 +716,8 @@
+                         uint red = src[x];
+                         uint green = src[x+1];
+                         uint blue = src[x+2];
+-                        uint res = (red << 16) + (green << 8) + blue;
++                        uint alpha = green;
++                        uint res = (alpha << 24) + (red << 16) + (green << 8) + blue;
+                         *dd = res;
+                         ++dd;
+                     }
+@@ -730,7 +731,8 @@
+                         uint blue = src[x];
+                         uint green = src[x+1];
+                         uint red = src[x+2];
+-                        uint res = (red << 16) + (green << 8) + blue;
++                        uint alpha = green;
++                        uint res = (alpha << 24) + (red << 16) + (green << 8) + blue;
+                         *dd = res;
+                         ++dd;
+                     }
+@@ -754,7 +756,7 @@
+                         uint high = (red*subpixel_filter[0][0] + green*subpixel_filter[0][1] + blue*subpixel_filter[0][2]) >> 8;
+                         uint mid = (red*subpixel_filter[1][0] + green*subpixel_filter[1][1] + blue*subpixel_filter[1][2]) >> 8;
+                         uint low = (red*subpixel_filter[2][0] + green*subpixel_filter[2][1] + blue*subpixel_filter[2][2]) >> 8;
+-                        uint res = (high << 16) + (mid << 8) + low;
++                        uint res = (mid << 24) + (high << 16) + (mid << 8) + low;
+                         dst[x] = res;
+                     }
+                     dst += info.width;
+@@ -769,7 +771,7 @@
+                         uint high = (red*subpixel_filter[0][0] + green*subpixel_filter[0][1] + blue*subpixel_filter[0][2]) >> 8;
+                         uint mid = (red*subpixel_filter[1][0] + green*subpixel_filter[1][1] + blue*subpixel_filter[1][2]) >> 8;
+                         uint low = (red*subpixel_filter[2][0] + green*subpixel_filter[2][1] + blue*subpixel_filter[2][2]) >> 8;
+-                        uint res = (high << 16) + (mid << 8) + low;
++                        uint res = (mid << 24) + (high << 16) + (mid << 8) + low;
+                         dst[x] = res;
+                     }
+                     dst += info.width;

Added: trunk/packages/qt4-x11/debian/patches/0187-fix-font-fixed-pitch.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0187-fix-font-fixed-pitch.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0187-fix-font-fixed-pitch.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,39 @@
+--- qt4-x11-4.3.1.orig/src/gui/text/qfont.cpp
++++ qt4-x11-4.3.1/src/gui/text/qfont.cpp
+@@ -2093,7 +2093,6 @@
+ {
+     QFontEngine *engine = d->engineForScript(QUnicodeTables::Common);
+     Q_ASSERT(engine != 0);
+-#ifdef Q_OS_MAC
+     if (!engine->fontDef.fixedPitchComputed) {
+         QChar ch[2] = { QLatin1Char('i'), QLatin1Char('m') };
+         QGlyphLayout g[2];
+@@ -2102,7 +2101,6 @@
+         engine->fontDef.fixedPitch = g[0].advance.x == g[1].advance.x;
+         engine->fontDef.fixedPitchComputed = true;
+     }
+-#endif
+     return engine->fontDef.fixedPitch;
+ }
+ 
+--- qt4-x11-4.3.1.orig/src/gui/text/qfont_p.h
++++ qt4-x11-4.3.1/src/gui/text/qfont_p.h
+@@ -66,9 +66,7 @@
+           styleStrategy(QFont::PreferDefault), styleHint(QFont::AnyStyle),
+           weight(50), fixedPitch(false), style(QFont::StyleNormal), stretch(100),
+           ignorePitch(true)
+-#ifdef Q_WS_MAC
+           ,fixedPitchComputed(false)
+-#endif
+     {
+     }
+ 
+@@ -90,7 +88,7 @@
+     uint stretch    : 12; // 0-400
+ 
+     uint ignorePitch : 1;
+-    uint fixedPitchComputed : 1; // for Mac OS X only
++    uint fixedPitchComputed : 1;
+     uint reserved   : 16; // for future extensions
+ 
+     bool exactMatch(const QFontDef &other) const;

Added: trunk/packages/qt4-x11/debian/patches/01_qmake_for_debian.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/01_qmake_for_debian.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/01_qmake_for_debian.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,26 @@
+--- qt4-x11-4.3.1.orig/mkspecs/common/linux.conf
++++ qt4-x11-4.3.1/mkspecs/common/linux.conf
+@@ -23,8 +23,8 @@
+ QMAKE_LIBS_OPENGL_QT  = -lGL
+ QMAKE_LIBS_THREAD     = -lpthread
+ 
+-QMAKE_MOC             = $$[QT_INSTALL_BINS]/moc
+-QMAKE_UIC             = $$[QT_INSTALL_BINS]/uic
++QMAKE_MOC             = $$[QT_INSTALL_BINS]/moc-qt4
++QMAKE_UIC             = $$[QT_INSTALL_BINS]/uic-qt4
+ 
+ QMAKE_AR              = ar cqs
+ QMAKE_RANLIB          =
+--- qt4-x11-4.3.1.orig/mkspecs/linux-g++/qmake.conf
++++ qt4-x11-4.3.1/mkspecs/linux-g++/qmake.conf
+@@ -4,8 +4,9 @@
+ 
+ MAKEFILE_GENERATOR	= UNIX
+ TEMPLATE		= app
+-CONFIG			+= qt warn_on release incremental link_prl
++CONFIG			+= qt warn_on release incremental
+ QT			+= core gui
++DEFINES		+= QT_SHARED
+ QMAKE_INCREMENTAL_STYLE = sublib
+ 
+ include(../common/g++.conf)

Added: trunk/packages/qt4-x11/debian/patches/02_launch_assistant-qt4.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/02_launch_assistant-qt4.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/02_launch_assistant-qt4.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,16 @@
+--- qt4-x11-4.3.1.orig/tools/assistant/lib/qassistantclient.cpp
++++ qt4-x11-4.3.1/tools/assistant/lib/qassistantclient.cpp
+@@ -187,11 +187,11 @@
+     : QObject( parent ), host ( QLatin1String("localhost") )
+ {
+     if ( path.isEmpty() )
+-        assistantCommand = QLatin1String("assistant");
++        assistantCommand = QLatin1String("assistant-qt4");
+     else {
+         QFileInfo fi( path );
+         if ( fi.isDir() )
+-            assistantCommand = path + QLatin1String("/assistant");
++            assistantCommand = path + QLatin1String("/assistant-qt4");
+         else
+             assistantCommand = path;
+     }

Added: trunk/packages/qt4-x11/debian/patches/03_launch_moc-qt4.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/03_launch_moc-qt4.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/03_launch_moc-qt4.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,11 @@
+--- qt4-x11-4.3.1.orig/tools/qdbus/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
++++ qt4-x11-4.3.1/tools/qdbus/tools/qdbuscpp2xml/qdbuscpp2xml.cpp
+@@ -391,7 +391,7 @@
+         else {
+             // run moc on this file
+             QProcess proc;
+-            proc.start(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/moc"), QStringList() << QFile::decodeName(argv[i]), QIODevice::ReadOnly | QIODevice::Text);
++            proc.start(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QLatin1String("/moc-qt4"), QStringList() << QFile::decodeName(argv[i]), QIODevice::ReadOnly | QIODevice::Text);
+ 
+             if (!proc.waitForStarted()) {
+                 fprintf(stderr, PROGRAMNAME ": could not execute moc! Aborting.\n");

Added: trunk/packages/qt4-x11/debian/patches/04_launch_uic-qt4.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/04_launch_uic-qt4.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/04_launch_uic-qt4.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,11 @@
+--- qt4-x11-4.3.1.orig/tools/designer/src/lib/shared/qdesigner_utils.cpp
++++ qt4-x11-4.3.1/tools/designer/src/lib/shared/qdesigner_utils.cpp
+@@ -133,7 +133,7 @@
+         binary += QDir::separator();
+         switch (mode) {
+         case UIC_GenerateCode:
+-            binary += QLatin1String("uic");
++            binary += QLatin1String("uic-qt4");
+             break;
+         case UIC_ConvertV3:
+             binary += QLatin1String("uic3");

Added: trunk/packages/qt4-x11/debian/patches/05_append_qt4_target.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/05_append_qt4_target.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/05_append_qt4_target.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,221 @@
+--- qt4-x11-4.3.1.orig/config.tests/unix/compile.test
++++ qt4-x11-4.3.1/config.tests/unix/compile.test
+@@ -51,7 +51,7 @@
+ cd "$OUTDIR/$TEST"
+ 
+ make distclean >/dev/null 2>&1
+-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
++"$OUTDIR/bin/qmake-qt4" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
+ 
+ if [ "$VERBOSE" = "yes" ]; then
+     make
+--- qt4-x11-4.3.1.orig/config.tests/unix/doubleformat.test
++++ qt4-x11-4.3.1/config.tests/unix/doubleformat.test
+@@ -10,7 +10,7 @@
+ 
+ # build and run a test program
+ test -d "$OUTDIR/config.tests/unix/doubleformat" || mkdir -p "$OUTDIR/config.tests/unix/doubleformat"
+-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/doubleformat/doubleformattest.pro" -o "$OUTDIR/config.tests/unix/doubleformat/Makefile" >/dev/null 2>&1
++"$OUTDIR/bin/qmake-qt4" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/doubleformat/doubleformattest.pro" -o "$OUTDIR/config.tests/unix/doubleformat/Makefile" >/dev/null 2>&1
+ cd "$OUTDIR/config.tests/unix/doubleformat"
+ 
+ DOUBLEFORMAT="UNKNOWN"
+--- qt4-x11-4.3.1.orig/config.tests/unix/endian.test
++++ qt4-x11-4.3.1/config.tests/unix/endian.test
+@@ -10,7 +10,7 @@
+ 
+ # build and run a test program
+ test -d "$OUTDIR/config.tests/unix/endian" || mkdir -p "$OUTDIR/config.tests/unix/endian"
+-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/endian/endiantest.pro" -o "$OUTDIR/config.tests/unix/endian/Makefile" >/dev/null 2>&1
++"$OUTDIR/bin/qmake-qt4" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/endian/endiantest.pro" -o "$OUTDIR/config.tests/unix/endian/Makefile" >/dev/null 2>&1
+ cd "$OUTDIR/config.tests/unix/endian"
+ 
+ ENDIAN="UNKNOWN"
+--- qt4-x11-4.3.1.orig/config.tests/unix/ptrsize.test
++++ qt4-x11-4.3.1/config.tests/unix/ptrsize.test
+@@ -10,7 +10,7 @@
+ 
+ # build and run a test program
+ test -d "$OUTDIR/config.tests/unix/ptrsize" || mkdir -p "$OUTDIR/config.tests/unix/ptrsize"
+-"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/ptrsize/ptrsizetest.pro" -o "$OUTDIR/config.tests/unix/ptrsize/Makefile" >/dev/null 2>&1
++"$OUTDIR/bin/qmake-qt4" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/unix/ptrsize/ptrsizetest.pro" -o "$OUTDIR/config.tests/unix/ptrsize/Makefile" >/dev/null 2>&1
+ cd "$OUTDIR/config.tests/unix/ptrsize"
+ 
+ if [ "$VERBOSE" = "yes" ]; then
+--- qt4-x11-4.3.1.orig/config.tests/x11/notype.test
++++ qt4-x11-4.3.1/config.tests/x11/notype.test
+@@ -27,7 +27,7 @@
+     NOTYPE=yes
+ 
+     test -d "$OUTDIR/config.tests/x11/notype" || mkdir -p "$OUTDIR/config.tests/x11/notype"
+-    "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/x11/notype/notypetest.pro" -o "$OUTDIR/config.tests/x11/notype/Makefile" >/dev/null 2>&1
++    "$OUTDIR/bin/qmake-qt4" -nocache -spec "$QMKSPEC" "$SRCDIR/config.tests/x11/notype/notypetest.pro" -o "$OUTDIR/config.tests/x11/notype/Makefile" >/dev/null 2>&1
+     cd "$OUTDIR/config.tests/x11/notype"
+ 
+     if [ "$VERBOSE" = "yes" ]; then
+--- qt4-x11-4.3.1.orig/configure
++++ qt4-x11-4.3.1/configure
+@@ -3412,7 +3412,7 @@
+ }
+ 
+ # build qmake
+-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
++if true; then ###[ '!' -f "$outpath/bin/qmake-qt4" ];
+     echo "Creating qmake. Please wait..."
+ 
+     OLD_QCONFIG_H=
+@@ -5328,8 +5328,8 @@
+ QMAKE_MOC_SRC    = \$\$QT_BUILD_TREE/src/moc
+ 
+ #local paths that cannot be queried from the QT_INSTALL_* properties while building QTDIR
+-QMAKE_MOC        = \$\$QT_BUILD_TREE/bin/moc
+-QMAKE_UIC        = \$\$QT_BUILD_TREE/bin/uic
++QMAKE_MOC        = \$\$QT_BUILD_TREE/bin/moc-qt4
++QMAKE_UIC        = \$\$QT_BUILD_TREE/bin/uic-qt4
+ QMAKE_UIC3       = \$\$QT_BUILD_TREE/bin/uic3
+ QMAKE_RCC        = \$\$QT_BUILD_TREE/bin/rcc
+ QMAKE_QDBUSXML2CPP = \$\$QT_BUILD_TREE/bin/qdbusxml2cpp
+@@ -5593,11 +5593,11 @@
+ #-------------------------------------------------------------------------------
+ 
+ echo "Finding project files. Please wait..."
+-"$outpath/bin/qmake" -prl -r "${relpath}/projects.pro"
++"$outpath/bin/qmake-qt4" -prl -r "${relpath}/projects.pro"
+ if [ -f "${relpath}/projects.pro" ]; then
+     mkfile="${outpath}/Makefile"
+     [ -f "$mkfile" ] && chmod +w "$mkfile"
+-    QTDIR="$outpath" "$outpath/bin/qmake" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
++    QTDIR="$outpath" "$outpath/bin/qmake-qt4" -spec "$XQMAKESPEC" "${relpath}/projects.pro" -o "$mkfile"
+ fi
+ 
+ # .projects      -> projects to process
+@@ -5770,7 +5770,7 @@
+             echo "  for $a\c"
+         fi
+ 
+-        QMAKE="$outpath/bin/qmake"
++        QMAKE="$outpath/bin/qmake-qt4"
+ 	QMAKE_ARGS="$QMAKE_SWITCHES $QMAKE_SPEC_ARGS"
+         if [ "$file" = ".projects.3" ]; then
+             if echo '\c' | grep '\c' >/dev/null; then
+--- qt4-x11-4.3.1.orig/projects.pro
++++ qt4-x11-4.3.1/projects.pro
+@@ -115,7 +115,7 @@
+ win32 {
+    qmake.files=$$QT_BUILD_TREE/bin/qmake.exe
+ } else {
+-   qmake.files=$$QT_BUILD_TREE/bin/qmake
++   qmake.files=$$QT_BUILD_TREE/bin/qmake-qt4
+ }
+ INSTALLS += qmake
+ 
+--- qt4-x11-4.3.1.orig/qmake/Makefile.unix
++++ qt4-x11-4.3.1/qmake/Makefile.unix
+@@ -89,17 +89,17 @@
+ 
+ CXXFLAGS = @QMAKE_CXXFLAGS@ $(CPPFLAGS)
+ 
+-first all: $(BUILD_PATH)/bin/qmake
+-qmake: $(BUILD_PATH)/bin/qmake
++first all: $(BUILD_PATH)/bin/qmake-qt4
++qmake: $(BUILD_PATH)/bin/qmake-qt4
+ 
+-$(BUILD_PATH)/bin/qmake: $(OBJS) $(QOBJS)
++$(BUILD_PATH)/bin/qmake-qt4: $(OBJS) $(QOBJS)
+ 	$(CXX) -o "$@" $(OBJS) $(QOBJS) $(LFLAGS)
+ 
+ clean::
+ 	rm -f $(OBJS) $(QOBJS)
+ 
+ distclean:: clean
+-	rm -rf $(BUILD_PATH)/bin/qmake .deps
++	rm -rf $(BUILD_PATH)/bin/qmake-qt4 .deps
+ 
+ depend:
+ 	makedepend -D__MAKEDEPEND__ $(CPPFLAGS) $(DEPEND_SRC)
+--- qt4-x11-4.3.1.orig/src/tools/moc/moc.pro
++++ qt4-x11-4.3.1/src/tools/moc/moc.pro
+@@ -1,5 +1,5 @@
+ TEMPLATE	= app
+-TARGET		= moc
++TARGET		= moc-qt4
+ 
+ CONFIG 	       += console qtinc
+ CONFIG         -= qt
+--- qt4-x11-4.3.1.orig/src/tools/uic/uic.pro
++++ qt4-x11-4.3.1/src/tools/uic/uic.pro
+@@ -9,7 +9,7 @@
+ 
+ unix:!contains(QT_CONFIG, zlib):LIBS        += -lz
+ 
+-TARGET = uic
++TARGET = uic-qt4
+ DESTDIR = ../../../bin
+ 
+ DEFINES	       += QT_BOOTSTRAPPED QT_UIC QT_LITE_UNICODE QT_NO_DATASTREAM \
+--- qt4-x11-4.3.1.orig/tools/assistant/assistant.pro
++++ qt4-x11-4.3.1/tools/assistant/assistant.pro
+@@ -2,7 +2,7 @@
+ 
+ TEMPLATE = app
+ LANGUAGE = C++
+-TARGET = assistant
++TARGET = assistant-qt4
+ 
+ CONFIG += qt warn_on
+ 
+--- qt4-x11-4.3.1.orig/tools/designer/src/designer/designer.pro
++++ qt4-x11-4.3.1/tools/designer/src/designer/designer.pro
+@@ -25,7 +25,7 @@
+     DEFINES += QT_DESIGNER_STATIC
+ }
+ 
+-TARGET = designer
++TARGET = designer-qt4
+ 
+ include($$QT_SOURCE_TREE/tools/shared/fontpanel/fontpanel.pri)
+ 
+--- qt4-x11-4.3.1.orig/tools/linguist/linguist/linguist.pro
++++ qt4-x11-4.3.1/tools/linguist/linguist/linguist.pro
+@@ -50,7 +50,7 @@
+ DEFINES        += QT_KEYWORDS
+ 
+ DESTDIR                = ../../../bin
+-TARGET                = linguist
++TARGET                = linguist-qt4
+ 
+ win32:RC_FILE        = linguist.rc
+ 
+--- qt4-x11-4.3.1.orig/tools/linguist/lrelease/lrelease.pro
++++ qt4-x11-4.3.1/tools/linguist/lrelease/lrelease.pro
+@@ -29,7 +29,7 @@
+ SOURCES += $$PROPARSERPATH/proitems.cpp \
+         $$PROPARSERPATH/proreader.cpp
+ 
+-TARGET          = lrelease
++TARGET          = lrelease-qt4
+ INCLUDEPATH     += ../shared
+ DESTDIR         = ../../../bin
+ 
+--- qt4-x11-4.3.1.orig/tools/linguist/lupdate/lupdate.pro
++++ qt4-x11-4.3.1/tools/linguist/lupdate/lupdate.pro
+@@ -39,7 +39,7 @@
+         $$PROPARSERPATH/proreader.cpp
+ 
+ 
+-TARGET          = lupdate
++TARGET          = lupdate-qt4
+ INCLUDEPATH     += ../shared
+ DESTDIR          = ../../../bin
+ 
+--- qt4-x11-4.3.1.orig/tools/qtconfig/qtconfig.pro
++++ qt4-x11-4.3.1/tools/qtconfig/qtconfig.pro
+@@ -16,7 +16,7 @@
+ RESOURCES    = qtconfig.qrc
+ 
+ PROJECTNAME        = Qt Configuration
+-TARGET                = qtconfig
++TARGET                = qtconfig-qt4
+ DESTDIR                = ../../bin
+ 
+ target.path=$$[QT_INSTALL_BINS]

Added: trunk/packages/qt4-x11/debian/patches/06_qtdemo_destdir.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/06_qtdemo_destdir.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/06_qtdemo_destdir.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,21 @@
+--- qt4-x11-4.3.1.orig/demos/arthurplugin/arthurplugin.pro
++++ qt4-x11-4.3.1/demos/arthurplugin/arthurplugin.pro
+@@ -3,7 +3,7 @@
+ 
+ CONFIG      += designer plugin debug_and_release
+ TEMPLATE    = lib
+-QTDIR_build:DESTDIR     = $$QT_BUILD_TREE/plugins/designer
++QTDIR_build:DESTDIR     = plugins/designer
+ 
+ contains(QT_CONFIG, opengl) {
+ 	DEFINES += QT_OPENGL_SUPPORT
+--- qt4-x11-4.3.1.orig/demos/qtdemo/qtdemo.pro
++++ qt4-x11-4.3.1/demos/qtdemo/qtdemo.pro
+@@ -1,6 +1,6 @@
+ CONFIG += assistant x11inc
+ TARGET = qtdemo
+-DESTDIR = $$QT_BUILD_TREE/bin
++DESTDIR = bin
+ OBJECTS_DIR = .obj
+ MOC_DIR = .moc
+ INSTALLS += target sources

Added: trunk/packages/qt4-x11/debian/patches/20_mips_atomic_ops.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/20_mips_atomic_ops.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/20_mips_atomic_ops.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,58 @@
+--- qt4-x11-4.3.1.orig/src/corelib/arch/mips/qatomic32.s
++++ qt4-x11-4.3.1/src/corelib/arch/mips/qatomic32.s
+@@ -6,10 +6,12 @@
+ 	.globl	q_atomic_test_and_set_int
+ 	.ent	q_atomic_test_and_set_int
+ q_atomic_test_and_set_int:
++	.set mips2
+ 1:	ll   $8,0($4)
+ 	bne  $8,$5,2f
+ 	move $2,$6
+ 	sc   $2,0($4)
++	.set mips0
+ 	beqz $2,1b
+ 	nop
+ 	jr   $31
+@@ -21,6 +23,7 @@
+ 	.globl	q_atomic_test_and_set_acquire_int
+ 	.ent	q_atomic_test_and_set_acquire_int
+ q_atomic_test_and_set_acquire_int:
++	.set mips2
+ 1:	ll   $8,0($4)
+ 	bne  $8,$5,2f
+ 	move $2,$6
+@@ -30,6 +33,7 @@
+ 	jr   $31
+ 	nop
+ 2:	sync
++	.set mips0
+ 	jr   $31
+ 	move $2,$0
+ 	.end	q_atomic_test_and_set_acquire_int
+@@ -37,11 +41,13 @@
+ 	.globl	q_atomic_test_and_set_release_int
+ 	.ent	q_atomic_test_and_set_release_int
+ q_atomic_test_and_set_release_int:
++	.set mips2
+ 	sync
+ 1:	ll   $8,0($4)
+ 	bne  $8,$5,2f
+ 	move $2,$6
+ 	sc   $2,0($4)
++	.set mips0
+ 	beqz $2,1b
+ 	nop
+ 	jr   $31
+@@ -53,10 +59,12 @@
+ 	.globl	q_atomic_test_and_set_ptr
+ 	.ent	q_atomic_test_and_set_ptr
+ q_atomic_test_and_set_ptr:
++	.set mips2
+ 1:	ll   $8,0($4)
+ 	bne  $8,$5,2f
+ 	move $2,$6
+ 	sc   $2,0($4)
++	.set mips0
+ 	beqz $2,1b
+ 	nop
+ 	jr   $31

Added: trunk/packages/qt4-x11/debian/patches/30_arm_ftbfs_fixes.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/30_arm_ftbfs_fixes.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/30_arm_ftbfs_fixes.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,11 @@
+--- qt4-x11-4.3.1.orig/tools/qtestlib/src/qtestcase.h
++++ qt4-x11-4.3.1/tools/qtestlib/src/qtestcase.h
+@@ -210,7 +210,7 @@
+     template <typename T1, typename T2>
+     bool qCompare(T1 const &, T2 const &, const char *, const char *, const char *, int);
+ 
+-#if defined(QT_COORD_TYPE) || defined(__arm__)
++#if defined(QT_COORD_TYPE) || defined(QT_ARCH_ARM)
+     template <>
+     inline bool qCompare<qreal, double>(qreal const &t1, double const &t2, const char *actual,
+                                  const char *expected, const char *file, int line)

Added: trunk/packages/qt4-x11/debian/patches/31_arm_eabi_fix.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/31_arm_eabi_fix.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/31_arm_eabi_fix.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,11 @@
+--- qt4-x11-4.3.1.orig/src/corelib/global/qglobal.h
++++ qt4-x11-4.3.1/src/corelib/global/qglobal.h
+@@ -331,7 +331,7 @@
+ #  if defined(Q_OS_DARWIN) && __GNUC__ == 3 && (__GNUC_MINOR__ >= 1 && __GNUC_MINOR__ < 3)
+ #    define Q_BROKEN_DEBUG_STREAM
+ #  endif
+-#  if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
++#  if (defined(__arm__) || defined(__ARMEL__)) && !defined(__ARM_EABI__) && !defined(QT_MOC_CPP)
+ #    define Q_PACKED __attribute__ ((__packed__))
+ #    define Q_NO_PACKED_REFERENCE
+ #  endif

Added: trunk/packages/qt4-x11/debian/patches/40_alpha_ice.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/40_alpha_ice.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/40_alpha_ice.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,45 @@
+--- qt4-x11-4.3.1.orig/src/corelib/global/qlibraryinfo.cpp
++++ qt4-x11-4.3.1/src/corelib/global/qlibraryinfo.cpp
+@@ -69,14 +69,7 @@
+ {
+ public:
+     static QSettings *findConfiguration();
+-    static void cleanup()
+-    {
+-        QLibrarySettings *ls = qt_library_settings();
+-        if (ls) {
+-            delete static_cast<QSettings *>(ls->settings);
+-            ls->settings = 0;
+-        }
+-    }
++    static void cleanup();
+     static QSettings *configuration()
+     {
+ #ifdef QT_NO_THREAD
+@@ -95,6 +88,15 @@
+     }
+ };
+ 
++void QLibraryInfoPrivate::cleanup()
++{
++    QLibrarySettings *ls = qt_library_settings();
++    if (ls) {
++        delete static_cast<QSettings *>(ls->settings);
++        ls->settings = 0;
++    }
++}
++
+ QLibrarySettings::QLibrarySettings()
+ {
+     settings = QLibraryInfoPrivate::findConfiguration();
+--- qt4-x11-4.3.1.orig/src/corelib/tools/qhash.h
++++ qt4-x11-4.3.1/src/corelib/tools/qhash.h
+@@ -479,7 +479,7 @@
+ }
+ 
+ template <class Key, class T>
+-Q_INLINE_TEMPLATE void QHash<Key, T>::duplicateNode(QHashData::Node *node, void *newNode)
++void QHash<Key, T>::duplicateNode(QHashData::Node *node, void *newNode)
+ {
+     Node *concreteNode = concrete(node);
+     if (QTypeInfo<T>::isDummy) {

Added: trunk/packages/qt4-x11/debian/patches/41_disable_opengl_visibility.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/41_disable_opengl_visibility.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/41_disable_opengl_visibility.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,10 @@
+--- qt4-x11-4.3.1.orig/src/opengl/opengl.pro
++++ qt4-x11-4.3.1/src/opengl/opengl.pro
+@@ -5,6 +5,7 @@
+ win32-msvc*|win32-icc:QMAKE_LFLAGS += /BASE:0x63000000
+ solaris-cc*:QMAKE_CXXFLAGS_RELEASE -= -O2
+ 
++QMAKE_CXXFLAGS_HIDESYMS -= -fvisibility-inlines-hidden
+ 
+ include(../qbase.pri)
+ 

Added: trunk/packages/qt4-x11/debian/patches/50_kfreebsd_build_fix.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/50_kfreebsd_build_fix.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/50_kfreebsd_build_fix.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,69 @@
+--- qt4-x11-4.3.1.orig/src/corelib/global/qglobal.h
++++ qt4-x11-4.3.1/src/corelib/global/qglobal.h
+@@ -125,6 +125,12 @@
+ #  define Q_OS_RELIANT
+ #elif defined(__linux__) || defined(__linux)
+ #  define Q_OS_LINUX
++#  define Q_OS_GLIBC
++#elif defined(__GNU_HURD__) || defined(__GNU__)
++#  define Q_OS_HURD
++#  define Q_OS_GLIBC
++#elif defined(__GLIBC__)
++#  define Q_OS_GLIBC
+ #elif defined(__FreeBSD__) || defined(__DragonFly__)
+ #  define Q_OS_FREEBSD
+ #  define Q_OS_BSD4
+@@ -145,8 +151,6 @@
+ #  define Q_OS_AIX
+ #elif defined(__Lynx__)
+ #  define Q_OS_LYNX
+-#elif defined(__GNU__)
+-#  define Q_OS_HURD
+ #elif defined(__DGUX__)
+ #  define Q_OS_DGUX
+ #elif defined(__QNXNTO__)
+--- qt4-x11-4.3.1.orig/src/corelib/plugin/qlibrary.cpp
++++ qt4-x11-4.3.1/src/corelib/plugin/qlibrary.cpp
+@@ -293,11 +293,11 @@
+ 
+ #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
+ 
+-#if defined(Q_OS_FREEBSD) || defined(Q_OS_LINUX)
++#if defined(Q_OS_FREEBSD) || defined(Q_OS_GLIBC)
+ #  define USE_MMAP
+ #  include <sys/types.h>
+ #  include <sys/mman.h>
+-#endif // Q_OS_FREEBSD || Q_OS_LINUX
++#endif // Q_OS_FREEBSD || Q_OS_GLIBC
+ 
+ static long qt_find_pattern(const char *s, ulong s_len,
+                              const char *pattern, ulong p_len)
+--- qt4-x11-4.3.1.orig/src/corelib/tools/qlocale.cpp
++++ qt4-x11-4.3.1/src/corelib/tools/qlocale.cpp
+@@ -63,7 +63,7 @@
+ #include <qdebug.h>
+ #include <time.h>
+ 
+-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
++#if defined(Q_OS_GLIBC) && !defined(__UCLIBC__)
+ #    include <fenv.h>
+ #endif
+ 
+@@ -5930,7 +5930,7 @@
+     _control87(MCW_EM, MCW_EM);
+ #endif
+ 
+-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
++#if defined(Q_OS_GLIBC) && !defined(__UCLIBC__)
+     fenv_t envp;
+     feholdexcept(&envp);
+ #endif
+@@ -5946,7 +5946,7 @@
+ #endif //_M_X64
+ #endif //Q_OS_WIN
+ 
+-#if defined(Q_OS_LINUX) && !defined(__UCLIBC__)
++#if defined(Q_OS_GLIBC) && !defined(__UCLIBC__)
+     fesetenv(&envp);
+ #endif
+ 

Added: trunk/packages/qt4-x11/debian/patches/60_m68k_inotify_fix.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/60_m68k_inotify_fix.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/60_m68k_inotify_fix.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,13 @@
+--- qt4-x11-4.3.1.orig/src/corelib/io/qfilesystemwatcher_inotify.cpp
++++ qt4-x11-4.3.1/src/corelib/io/qfilesystemwatcher_inotify.cpp
+@@ -103,6 +103,10 @@
+ # define __NR_inotify_init      269
+ # define __NR_inotify_add_watch 270
+ # define __NR_inotify_rm_watch  271
++#elif defined (__mc68000__)
++# define __NR_inotify_init      284
++# define __NR_inotify_add_watch 285
++# define __NR_inotify_rm_watch  286
+ #else
+ # error "This architecture is not supported. Please talk to qt-bugs at trolltech.com"
+ #endif

Added: trunk/packages/qt4-x11/debian/patches/70_hppa_ldcw_fix.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/70_hppa_ldcw_fix.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/70_hppa_ldcw_fix.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,22 @@
+--- qt4-x11-4.3.1.orig/src/corelib/arch/parisc/q_ldcw.s
++++ qt4-x11-4.3.1/src/corelib/arch/parisc/q_ldcw.s
+@@ -1,17 +1,7 @@
+-	.SPACE $PRIVATE$
+-	.SUBSPA $DATA$,QUAD=1,ALIGN=8,ACCESS=31
+-	.SUBSPA $BSS$,QUAD=1,ALIGN=8,ACCESS=31,ZERO,SORT=82
+-	.SPACE $TEXT$
+-	.SUBSPA $LIT$,QUAD=0,ALIGN=8,ACCESS=44
+-	.SUBSPA $CODE$,QUAD=0,ALIGN=8,ACCESS=44,CODE_ONLY
+-	.IMPORT $global$,DATA
+-	.IMPORT $$dyncall,MILLICODE
+-	.SPACE $TEXT$
+-	.SUBSPA $CODE$
+-
++	.text
+ 	.align 4
+ 	.EXPORT q_ldcw,ENTRY,PRIV_LEV=3,ARGW0=GR,RTNVAL=GR
+-q_ldcw
++	.label q_ldcw
+ 	.PROC
+ 	.CALLINFO FRAME=0,CALLS,SAVE_RP
+ 	.ENTRY

Added: trunk/packages/qt4-x11/debian/patches/80_hurd_max_path.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/80_hurd_max_path.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/80_hurd_max_path.diff	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,13 @@
+--- qt4-x11-4.3.1.orig/src/corelib/io/qfsfileengine_unix.cpp
++++ qt4-x11-4.3.1/src/corelib/io/qfsfileengine_unix.cpp
+@@ -55,6 +55,10 @@
+ # include <private/qcore_mac_p.h>
+ #endif
+ 
++#ifndef PATH_MAX
++#define PATH_MAX 4096
++#endif
++
+ /*!
+     \internal
+ 

Added: trunk/packages/qt4-x11/debian/patches/series
===================================================================
--- trunk/packages/qt4-x11/debian/patches/series	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/series	2007-08-08 21:59:17 UTC (rev 7014)
@@ -0,0 +1,31 @@
+# qt-copy patches
+0163-fix-gcc43-support.diff
+0167-fix-group-reading.diff
+0172-prefer-xrandr-over-xinerama.diff
+0175-fix-s390-qatomic.diff
+0176-coverity-fixes.diff
+0178-transparency-window-types.diff
+0179-transient-hack.diff
+0180-window-role.diff
+0181-qdnd-x11-fix.diff
+0182-argb-visuals-default.diff
+0185-fix-format-strings.diff
+0186-fix-component-alpha-text.diff
+0187-fix-font-fixed-pitch.diff
+
+# debian patches
+01_qmake_for_debian.diff
+02_launch_assistant-qt4.diff
+03_launch_moc-qt4.diff
+04_launch_uic-qt4.diff
+05_append_qt4_target.diff
+06_qtdemo_destdir.diff
+20_mips_atomic_ops.diff
+30_arm_ftbfs_fixes.diff
+31_arm_eabi_fix.diff
+40_alpha_ice.diff
+41_disable_opengl_visibility.diff
+50_kfreebsd_build_fix.diff
+60_m68k_inotify_fix.diff
+70_hppa_ldcw_fix.diff
+80_hurd_max_path.diff

Modified: trunk/packages/qt4-x11/debian/rules
===================================================================
--- trunk/packages/qt4-x11/debian/rules	2007-08-08 21:57:03 UTC (rev 7013)
+++ trunk/packages/qt4-x11/debian/rules	2007-08-08 21:59:17 UTC (rev 7014)
@@ -6,7 +6,7 @@
 
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/class/makefile.mk
-include /usr/share/cdbs/1/rules/dpatch.mk
+include /usr/share/cdbs/1/rules/patchsys-quilt.mk
 include /usr/share/cdbs/1/rules/utils.mk
 
 DEB_MAKE_INVOKE := $(MAKE)
@@ -97,9 +97,6 @@
 	                -o -name Makefile.Release -print0 \
 	                | xargs -0r rm -f
 
-# Hack to fix dpatch-edit-patch
-unpatch: deapply-dpatches
-
 PKGCONFIGDIR := $(DEB_DESTDIR)/usr/lib/pkgconfig
 common-install-arch::
 # Fix wrong path in pkgconfig files




More information about the pkg-kde-commits mailing list