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