rev 10098 - trunk/packages/qt4-x11/debian/patches

Fathi Boudra fabo at alioth.debian.org
Thu Apr 10 07:07:14 UTC 2008


Author: fabo
Date: 2008-04-10 07:07:14 +0000 (Thu, 10 Apr 2008)
New Revision: 10098

Added:
   trunk/packages/qt4-x11/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff
   trunk/packages/qt4-x11/debian/patches/0216-allow-isystem-for-headers.diff
   trunk/packages/qt4-x11/debian/patches/0220-no-x-recursion-in-xerrhandler.diff
   trunk/packages/qt4-x11/debian/patches/11_qdbus_to_dbus_fix.diff
   trunk/packages/qt4-x11/debian/patches/71_hppa_unaligned_access_fix_458133.diff
   trunk/packages/qt4-x11/debian/patches/90_gcc43.diff
Log:
Add missed patches for branch-trunk sync

Added: trunk/packages/qt4-x11/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0214-fix-qgraphicsproxywidget-tab-crash.diff	2008-04-10 07:07:14 UTC (rev 10098)
@@ -0,0 +1,23 @@
+qt-bugs@ issue : N199058
+Trolltech task ID : none
+applied: no
+author: Frerich Raabe <raabe at kde.org>
+
+Fixes a crash in QGraphicsProxyWidget which was triggered when no
+QGraphicsProxyWidget item in a QGraphicsScene had a QWidget associated
+with it. As soon as the user pressed <Tab>, QGraphicsProxyWidget
+attempted to give the focus to *some* QWidget (even if it was null).
+
+--- a/src/gui/graphicsview/qgraphicsproxywidget.cpp
++++ b/src/gui/graphicsview/qgraphicsproxywidget.cpp
+@@ -376,6 +376,10 @@
+ 	}
+     }
+ 
++    if (!child) {
++	return 0;
++    }
++
+     QWidget *oldChild = child;
+     do {
+         if (child->isEnabled()

Added: trunk/packages/qt4-x11/debian/patches/0216-allow-isystem-for-headers.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0216-allow-isystem-for-headers.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0216-allow-isystem-for-headers.diff	2008-04-10 07:07:14 UTC (rev 10098)
@@ -0,0 +1,48 @@
+qt-bugs@ issue : 199610
+Trolltech task ID : 
+bugs.kde.org number : 
+applied: no
+author: Benjamin Reed <rangerrick at befunk.com>
+
+I don't have the exact output anymore (I've since patched Qt's configure) but
+essentially, since I have pcre.h in /opt/kde4-deps/include, it was
+conflicting with Qt's (modified) pcre.h in the WebKit bits, since
+-I /opt/kde4-deps/include ends up in CXXFLAGS in the generated makefiles, it
+comes *before* the specific locations in INCPATH on the compile line, and you
+end up with a conflict with the system-installed pcre.h.
+
+Presumably, if your pcre.h is in /usr/include as on most Linux systems, you
+wouldn't notice this issue since /usr/include's already in your include path
+and people likely don't pass -I /usr/include to configure.  I suspect that on
+any platform with a regular, system-installed pcre.h (or clucene headers),
+adding -I /usr/include would exhibit this bug, just as a custom-installed
+pcre/clucene in another root would.
+
+This patch adds support for using -isystem to allow putting an include
+directory at the end of the compiler's header search path.
+
+
+--- a/configure
++++ b/configure
+@@ -829,6 +829,11 @@
+             VAL=`echo $1 | sed 's,-D,,'`
+         fi
+         ;;
++    -isystem)
++        VAR="add_isystempath"
++        shift
++        VAL="$1"
++        ;;
+     -I?*|-I)
+         VAR="add_ipath"
+         if [ "$1" = "-I" ]; then
+@@ -1724,6 +1729,9 @@
+     add_ipath)
+         I_FLAGS="$I_FLAGS -I\"${VAL}\""
+         ;;
++    add_isystempath)
++        I_FLAGS="$I_FLAGS -isystem \"${VAL}\""
++        ;;
+     add_lpath)
+         L_FLAGS="$L_FLAGS -L\"${VAL}\""
+         ;;

Added: trunk/packages/qt4-x11/debian/patches/0220-no-x-recursion-in-xerrhandler.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/0220-no-x-recursion-in-xerrhandler.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/0220-no-x-recursion-in-xerrhandler.diff	2008-04-10 07:07:14 UTC (rev 10098)
@@ -0,0 +1,47 @@
+qt-bugs@ issue : 205699
+Trolltech task ID : none yet
+bugs.kde.org number : none
+applied: no
+author: Lubos Lunak <l.lunak at kde.org>
+os: unix
+
+X error handler is not allowed to do X protocol requests. Therefore e.g. creating
+QDragManager instance should not be allowed in it, as it results in things like
+creating X pixmaps. See https://bugzilla.novell.com/show_bug.cgi?id=368456.
+
+--- a/src/gui/kernel/qdnd_x11.cpp
++++ b/src/gui/kernel/qdnd_x11.cpp
+@@ -1700,21 +1700,23 @@
+ 
+ bool QX11Data::xdndHandleBadwindow()
+ {
+-    QDragManager *manager = QDragManager::self();
+-    if (manager->object && qt_xdnd_current_target) {
+-        qt_xdnd_current_target = 0;
+-        qt_xdnd_current_proxy_target = 0;
+-        manager->object->deleteLater();
+-        manager->object = 0;
+-        delete xdnd_data.deco;
+-        xdnd_data.deco = 0;
+-        return true;
++    if (qt_xdnd_current_target) { // avoid possibly on-demand creating the manager in X error handler
++        QDragManager *manager = QDragManager::self();
++        if (manager->object) {
++            qt_xdnd_current_target = 0;
++            qt_xdnd_current_proxy_target = 0;
++            manager->object->deleteLater();
++            manager->object = 0;
++            xdnd_data.deco->deleteLater();
++            xdnd_data.deco = 0;
++            return true;
++        }
+     }
+     if (qt_xdnd_dragsource_xid) {
+         qt_xdnd_dragsource_xid = 0;
+         if (qt_xdnd_current_widget) {
+             QDragLeaveEvent e;
+-            QApplication::sendEvent(qt_xdnd_current_widget, &e);
++            QApplication::postEvent(qt_xdnd_current_widget, &e);
+             qt_xdnd_current_widget = 0;
+         }
+         return true;

Added: trunk/packages/qt4-x11/debian/patches/11_qdbus_to_dbus_fix.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/11_qdbus_to_dbus_fix.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/11_qdbus_to_dbus_fix.diff	2008-04-10 07:07:14 UTC (rev 10098)
@@ -0,0 +1,17 @@
+--- a/src/phonon/phonon.pro
++++ b/src/phonon/phonon.pro
+@@ -104,7 +104,7 @@
+            $$PHONON_DIR/volumefadereffect.cpp \
+            $$PHONON_DIR/volumeslider.cpp
+ 
+-contains(QT_CONFIG, qdbus) {
++contains(QT_CONFIG, dbus) {
+        CONFIG += qdbus
+        HEADERS += $$PHONON_DIR/audiooutputadaptor.h
+        SOURCES += $$PHONON_DIR/audiooutputadaptor.cpp
+--- a/src/plugins/script/script.pro
++++ b/src/plugins/script/script.pro
+@@ -1,2 +1,2 @@
+ TEMPLATE = subdirs
+-contains(QT_CONFIG, qdbus):SUBDIRS += qtdbus
++contains(QT_CONFIG, dbus):SUBDIRS += qtdbus

Added: trunk/packages/qt4-x11/debian/patches/71_hppa_unaligned_access_fix_458133.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/71_hppa_unaligned_access_fix_458133.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/71_hppa_unaligned_access_fix_458133.diff	2008-04-10 07:07:14 UTC (rev 10098)
@@ -0,0 +1,91 @@
+author: Bernhard R. Link <brlink at debian.org>
+
+Fix unaligned access on hppa
+
+--- a/src/corelib/global/qnumeric_p.h
++++ b/src/corelib/global/qnumeric_p.h
+@@ -64,11 +64,17 @@
+ static const unsigned char qt_armfpa_inf_bytes[] = { 0, 0, 0xf0, 0x7f, 0, 0, 0, 0 };
+ static inline double qt_inf()
+ {
++    union { double d; unsigned char bytes[8]; } val;
++
+ #ifdef QT_ARMFPA
+-    return *reinterpret_cast<const double *>(qt_armfpa_inf_bytes);
++    qMemCopy(val.bytes, qt_armfpa_inf_bytes, 8);
+ #else
+-    return *reinterpret_cast<const double *>(QSysInfo::ByteOrder == QSysInfo::BigEndian ? qt_be_inf_bytes : qt_le_inf_bytes);
++    if (QSysInfo::ByteOrder == QSysInfo::BigEndian)
++        qMemCopy(val.bytes, qt_be_inf_bytes, 8);
++      else
++        qMemCopy(val.bytes, qt_le_inf_bytes, 8);
+ #endif
++    return val.d;
+ }
+ 
+ // Signaling NAN
+@@ -77,11 +83,17 @@
+ static const unsigned char qt_armfpa_snan_bytes[] = { 0, 0, 0xf8, 0x7f, 0, 0, 0, 0 };
+ static inline double qt_snan()
+ {
++    union { double d; unsigned char bytes[8]; } val;
++
+ #ifdef QT_ARMFPA
+-    return *reinterpret_cast<const double *>(qt_armfpa_snan_bytes);
++    qMemCopy(val.bytes, qt_armfpa_snan_bytes, 8);
+ #else
+-    return *reinterpret_cast<const double *>(QSysInfo::ByteOrder == QSysInfo::BigEndian ? qt_be_snan_bytes : qt_le_snan_bytes);
++    if (QSysInfo::ByteOrder == QSysInfo::BigEndian)
++        qMemCopy(val.bytes, qt_be_snan_bytes, 8);
++      else
++        qMemCopy(val.bytes, qt_le_snan_bytes, 8);
+ #endif
++    return val.d;
+ }
+ 
+ // Quiet NAN
+@@ -90,11 +102,17 @@
+ static const unsigned char qt_armfpa_qnan_bytes[] = { 0, 0, 0xf8, 0xff, 0, 0, 0, 0 };
+ static inline double qt_qnan()
+ {
++    union { double d; unsigned char bytes[8]; } val;
++
+ #ifdef QT_ARMFPA
+-    return *reinterpret_cast<const double *>(qt_armfpa_qnan_bytes);
++    qMemCopy(val.bytes, qt_armfpa_qnan_bytes, 8);
+ #else
+-    return *reinterpret_cast<const double *>(QSysInfo::ByteOrder == QSysInfo::BigEndian ? qt_be_qnan_bytes : qt_le_qnan_bytes);
++    if (QSysInfo::ByteOrder == QSysInfo::BigEndian)
++        qMemCopy(val.bytes, qt_be_qnan_bytes, 8);
++      else
++        qMemCopy(val.bytes, qt_le_qnan_bytes, 8);
+ #endif
++    return val.d;
+ }
+ 
+ static inline bool qt_is_inf(double d)
+--- a/src/3rdparty/sha1/sha1.cpp
++++ b/src/3rdparty/sha1/sha1.cpp
+@@ -151,10 +151,10 @@
+     quint32 d = state->h3;
+     quint32 e = state->h4;
+ 
+-    quint8 chunkBuffer[64];
+-    memcpy(chunkBuffer, buffer, 64);
++    Sha1Chunk chunkBuffer;
++    memcpy(chunkBuffer.bytes, buffer, 64);
+ 
+-    Sha1Chunk *chunk = reinterpret_cast<Sha1Chunk*>(&chunkBuffer);
++    Sha1Chunk *chunk = &chunkBuffer;
+ 
+     for (int i = 0; i < 16; ++i)
+         chunk->words[i] = qFromBigEndian(chunk->words[i]);
+@@ -190,7 +190,7 @@
+     // Wipe variables
+ #ifdef SHA1_WIPE_VARIABLES
+     a = b = c = d = e = 0;
+-    memset(chunkBuffer, 0, 64);
++    memset(chunkBuffer.bytes, 0, 64);
+ #endif
+ }
+ 

Added: trunk/packages/qt4-x11/debian/patches/90_gcc43.diff
===================================================================
--- trunk/packages/qt4-x11/debian/patches/90_gcc43.diff	                        (rev 0)
+++ trunk/packages/qt4-x11/debian/patches/90_gcc43.diff	2008-04-10 07:07:14 UTC (rev 10098)
@@ -0,0 +1,20 @@
+--- a/src/sql/drivers/ibase/qsql_ibase.cpp
++++ b/src/sql/drivers/ibase/qsql_ibase.cpp
+@@ -467,7 +467,7 @@
+ }
+ /* char** ? seems like bad influence from oracle ... */
+ template<>
+-static QList<QVariant> toList<long>(char** buf, int count, long*)
++QList<QVariant> toList<long>(char** buf, int count, long*)
+ {
+     QList<QVariant> res;
+     for (int i = 0; i < count; ++i) {
+@@ -622,7 +622,7 @@
+ }
+
+ template<>
+-static char* fillList<float>(char *buffer, const QList<QVariant> &list, float*)
++char* fillList<float>(char *buffer, const QList<QVariant> &list, float*)
+ {
+     for (int i = 0; i < list.size(); ++i) {
+         double val;




More information about the pkg-kde-commits mailing list