[Pkg-kde-commits] rev 1529 - in people/chrsmrtn/qt-x11-free/debian:
. patches
Christopher Martin
chrsmrtn-guest at costa.debian.org
Sun Aug 21 21:27:47 UTC 2005
Author: chrsmrtn-guest
Date: 2005-08-21 21:27:46 +0000 (Sun, 21 Aug 2005)
New Revision: 1529
Added:
people/chrsmrtn/qt-x11-free/debian/patches/07_gcc4_workarounds.dpatch
Modified:
people/chrsmrtn/qt-x11-free/debian/changelog
people/chrsmrtn/qt-x11-free/debian/patches/00list
Log:
OK, here's the postscript patch. This really must be in the next
upload - once kdebase hits unstable, people will start to notice
that printing doesn't work. We may already be responsible for some
bugs files against ghostscript packages.
Modified: people/chrsmrtn/qt-x11-free/debian/changelog
===================================================================
--- people/chrsmrtn/qt-x11-free/debian/changelog 2005-08-21 21:01:22 UTC (rev 1528)
+++ people/chrsmrtn/qt-x11-free/debian/changelog 2005-08-21 21:27:46 UTC (rev 1529)
@@ -2,6 +2,10 @@
+++ Changes by Christopher Martin:
+ * Add a patch fixing the generation of PostScript, which was broken due to
+ a flaw in the code that only manifested itself with the GCC 4.0
+ transition. This should fix printing in all Qt and KDE applications.
+
* No longer build non-threaded libraries. (Closes: #180326)
* Add a libqt3c102-mt-dbg package. (Closes: #235396, #322868)
Modified: people/chrsmrtn/qt-x11-free/debian/patches/00list
===================================================================
--- people/chrsmrtn/qt-x11-free/debian/patches/00list 2005-08-21 21:01:22 UTC (rev 1528)
+++ people/chrsmrtn/qt-x11-free/debian/patches/00list 2005-08-21 21:27:46 UTC (rev 1529)
@@ -3,6 +3,7 @@
04_qsql_odbc
05_qvfb_cpp
06_disable_rpath
+07_gcc4_workarounds
08_thread_default
09_amd64_lib64
10_arm_gcc4
Added: people/chrsmrtn/qt-x11-free/debian/patches/07_gcc4_workarounds.dpatch
===================================================================
--- people/chrsmrtn/qt-x11-free/debian/patches/07_gcc4_workarounds.dpatch 2005-08-21 21:01:22 UTC (rev 1528)
+++ people/chrsmrtn/qt-x11-free/debian/patches/07_gcc4_workarounds.dpatch 2005-08-21 21:27:46 UTC (rev 1529)
@@ -0,0 +1,97 @@
+#! /bin/sh -e
+
+if [ $# -lt 1 ]; then
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
+
+case "$1" in
+ -patch) patch -p1 ${patch_opts} < $0;;
+ -unpatch) patch -R -p1 ${patch_opts} < $0;;
+ *)
+ echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
+ exit 1;;
+esac
+
+exit 0
+
+ at DPATCH@
+--- qt.orig/src/tools/qlocale.cpp
++++ qt.orig/src/tools/qlocale.cpp
+@@ -72,6 +72,12 @@
+ # define NAN DBL_QNAN
+ #endif
+
++#if (defined(Q_CC_GNU) && defined(Q_OS_WIN)) || __GNUC__ == 4 || defined(QT_QLOCALE_NEEDS_VOLATILE)
++# define NEEDS_VOLATILE volatile
++#else
++# define NEEDS_VOLATILE
++#endif
++
+ enum {
+ LittleEndian,
+ BigEndian
+@@ -4068,9 +4074,9 @@
+ #error Exactly one of IEEE_BIG_OR_LITTLE_ENDIAN, VAX, or IBM should be defined.
+ #endif
+
+-inline ULong getWord0(double x)
++inline ULong getWord0(const NEEDS_VOLATILE double x)
+ {
+- uchar *ptr = (uchar *)&x;
++ const NEEDS_VOLATILE uchar *ptr = reinterpret_cast<const NEEDS_VOLATILE uchar *>(&x);
+ if (ByteOrder == BigEndian) {
+ return (ptr[0]<<24) + (ptr[1]<<16) + (ptr[2]<<8) + ptr[3];
+ } else {
+@@ -4078,9 +4084,9 @@
+ }
+ }
+
+-inline void setWord0(double *x, ULong l)
++inline void setWord0(NEEDS_VOLATILE double *x, ULong l)
+ {
+- uchar *ptr = (uchar *)x;
++ NEEDS_VOLATILE uchar *ptr = reinterpret_cast<NEEDS_VOLATILE uchar *>(x);
+ if (ByteOrder == BigEndian) {
+ ptr[0] = (uchar)(l>>24);
+ ptr[1] = (uchar)(l>>16);
+@@ -4094,18 +4100,18 @@
+ }
+ }
+
+-inline ULong getWord1(double x)
++inline ULong getWord1(const NEEDS_VOLATILE double x)
+ {
+- uchar *ptr = (uchar *)&x;
++ const NEEDS_VOLATILE uchar *ptr = reinterpret_cast<const NEEDS_VOLATILE uchar *>(&x);
+ if (ByteOrder == BigEndian) {
+ return (ptr[4]<<24) + (ptr[5]<<16) + (ptr[6]<<8) + ptr[7];
+ } else {
+ return (ptr[3]<<24) + (ptr[2]<<16) + (ptr[1]<<8) + ptr[0];
+ }
+ }
+-inline void setWord1(double *x, ULong l)
++inline void setWord1(NEEDS_VOLATILE double *x, ULong l)
+ {
+- uchar *ptr = (uchar *)x;
++ NEEDS_VOLATILE uchar *ptr = reinterpret_cast<uchar NEEDS_VOLATILE *>(x);
+ if (ByteOrder == BigEndian) {
+ ptr[4] = (uchar)(l>>24);
+ ptr[5] = (uchar)(l>>16);
+@@ -5679,11 +5685,11 @@
+ #ifdef Q_OS_LINUX
+ fesetenv(&envp);
+ #endif
+-
++
+ return s;
+ }
+
+-static char *_qdtoa( double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp)
++static char *_qdtoa( NEEDS_VOLATILE double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp)
+ {
+ /*
+ Arguments ndigits, decpt, sign are similar to those
More information about the Pkg-kde-commits
mailing list