summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3
diff options
context:
space:
mode:
authorRobert Xu <robxu9@gmail.com>2011-11-19 19:30:53 -0500
committerRobert Xu <robxu9@gmail.com>2011-11-19 19:30:53 -0500
commit27c9e783c6283f8916ebee3a23c6d1ba909a5126 (patch)
treeb2e83e72bb13db04a79c6266998a84d11622549b /opensuse/core/qt3
parentd23dfe93da17397db5e6f8bdf74fedf769379bdb (diff)
downloadtde-packaging-27c9e783c6283f8916ebee3a23c6d1ba909a5126.tar.gz
tde-packaging-27c9e783c6283f8916ebee3a23c6d1ba909a5126.zip
Thanks to Andrea Cascio for getting Qt3 3.3.8d building!
Diffstat (limited to 'opensuse/core/qt3')
-rw-r--r--opensuse/core/qt3/0005-qpixmap_mitshm.patch569
-rw-r--r--opensuse/core/qt3/0048-qclipboard_hack_80072.patch51
-rw-r--r--opensuse/core/qt3/0055-qtextedit_zoom.patch4
-rw-r--r--opensuse/core/qt3/0056-khotkeys_input_84434.patch22
-rw-r--r--opensuse/core/qt3/0059-qpopup_has_mouse.patch69
-rw-r--r--opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch60
-rw-r--r--opensuse/core/qt3/0079-compositing-types.patch413
-rw-r--r--opensuse/core/qt3/0080-net-wm-sync-request.patch301
-rw-r--r--opensuse/core/qt3/0085-fix-buildkey.diff22
-rw-r--r--opensuse/core/qt3/add_qexport_visibility.patch4
-rw-r--r--opensuse/core/qt3/aliasing.diff2
-rw-r--r--opensuse/core/qt3/external-libs.diff2
-rw-r--r--opensuse/core/qt3/fix-GL-loading.diff44
-rw-r--r--opensuse/core/qt3/fix-assistant-path.patch2
-rw-r--r--opensuse/core/qt3/fix-key-release-event-with-imm.diff55
-rw-r--r--opensuse/core/qt3/fix-qtranslator-crash.diff2
-rw-r--r--opensuse/core/qt3/fix-xinerama-dialog-placement.diff13
-rw-r--r--opensuse/core/qt3/gcc46.diff20
-rw-r--r--opensuse/core/qt3/kmenu-search-fix.diff2
-rw-r--r--opensuse/core/qt3/lib64-plugin-support.diff2
-rw-r--r--opensuse/core/qt3/limit-image-size.diff12
-rw-r--r--opensuse/core/qt3/mng-reading-fix.patch4
-rw-r--r--opensuse/core/qt3/parseFontName.diff2
-rw-r--r--opensuse/core/qt3/pluginmanager-fix.diff2
-rw-r--r--opensuse/core/qt3/qcstring-format-warnings.diff2
-rw-r--r--opensuse/core/qt3/qt-3.3.8c.diff58
-rw-r--r--opensuse/core/qt3/qt-transparency.patch10
-rw-r--r--opensuse/core/qt3/qt.patch270
-rw-r--r--opensuse/core/qt3/qt3-arm-gcc4.patch22
-rw-r--r--opensuse/core/qt3/qt3-devel-doc.changes19
-rw-r--r--opensuse/core/qt3/qt3-devel-doc.spec78
-rw-r--r--opensuse/core/qt3/qt3-devel-doc.spec.in6
-rw-r--r--opensuse/core/qt3/qt3-extensions.changes19
-rw-r--r--opensuse/core/qt3/qt3-extensions.spec65
-rw-r--r--opensuse/core/qt3/qt3-extensions.spec.in6
-rw-r--r--opensuse/core/qt3/qt3-fix-cast.diff13
-rw-r--r--opensuse/core/qt3/qt3-libpng14.diff22
-rw-r--r--opensuse/core/qt3/qt3-never-strip.diff2
-rw-r--r--opensuse/core/qt3/qt3-warnings.diff2
-rw-r--r--opensuse/core/qt3/qt3.changes9
-rw-r--r--opensuse/core/qt3/qt3.spec58
-rw-r--r--opensuse/core/qt3/qtimer-debug.diff4
-rw-r--r--opensuse/core/qt3/qtkdeintegration_x11.cpp242
-rw-r--r--opensuse/core/qt3/qtkdeintegration_x11_p.h59
-rw-r--r--opensuse/core/qt3/qtrc-path.diff6
-rw-r--r--opensuse/core/qt3/revert-iodbc-to-uodbc.diff22
-rw-r--r--opensuse/core/qt3/shut-up.diff4
-rw-r--r--opensuse/core/qt3/use-xrandr-1.2.diff106
-rw-r--r--opensuse/core/qt3/xinerama-qpopupmenu.diff104
-rw-r--r--opensuse/core/qt3/xinerama.patch49
50 files changed, 128 insertions, 2808 deletions
diff --git a/opensuse/core/qt3/0005-qpixmap_mitshm.patch b/opensuse/core/qt3/0005-qpixmap_mitshm.patch
deleted file mode 100644
index e6683f726..000000000
--- a/opensuse/core/qt3/0005-qpixmap_mitshm.patch
+++ /dev/null
@@ -1,569 +0,0 @@
-qt-bugs@ issue : 11790 (part of)
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
-NOTE: Needs #define QT_MITSHM in the matching qplatformdefs.h file. This
- patch does so only for linux-g++ and linux-g++-distcc platforms.
-
-MITSHM extension support for QPixmap<->QImage conversions.
-
-Hello,
-
- the review and apply the attached patches that improve performance of
-QImage->QPixmap conversions. They should be applied in order
-'mitshm','more_local' and 'fast', but they're independent from each other
-(well, besides merging problems).
-
- Mitshm patch adds MITSHM extension support for both
-QPixmap::convertFromImage() and QPixmap::convertToImage(). I've noticed there
-was some MITSHM support already, turned off by default, but it was used only
-for QPixmap::xForm() , and it used shared pixmaps (and I'd bet nobody uses
-it). My patch adds shared ximages support for faster pixmap<->image
-conversions. Since I don't understand the xForm() code much, and I didn't
-want to do anything with it, I added three #define's:
- - QT_MITSHM generally enabling MITSHM support, which should be set in
-qplatformsdefs.h (or wherever you setup platform specific stuff), it can be
-enabled at least on Linux
- - QT_MITSHM_CONVERSIONS - this is for my new code
- - QT_MITSHM_XFORM - this is for the xForm() code
- There's one more #define, QT_MITSHM_RMID_IGNORES_REFCOUNT. Glibc
-documentation of shmctl( ... IPC_RMID ) quite clearly says that the memory
-segment is freed only after the refcount increased by shmat() and decreased
-by shmdt() is 0. However, at least according to
-http://bugs.kde.org/show_bug.cgi?id=27517 , this doesn't happen on other
-platforms for some strange reason. Such platforms should have this #define if
-you ever consider supporting MITSHM on them.
-
- The lower limit for using MITSHM for the image is about 8KiB
-(width*height*depth > 100*100*32 ). Also, BestOptim in such case doesn't keep
-the ximage, as the shared ximage is always freed before the function returns
-(I don't know if it's worth copying it).
-
- The second patch ('more_local'), in short, does nothing. Besides improving
-performance by about 10% by making variables more "local", making few of them
-const, and also making some of them unsigned (this help gcc for some reason).
-
- The last one, 'fast', moves some if's out of the loops, and handles some most
-common case specially (15bpp, 16bpp and 32bpp ximage depths). 32bpp case, if
-the endianess matches, is simply uses memcpy(), for the 15/16bpp depth,
-variables are replaced directly by matching values, statements are a bit
-reordered and merged when suitable, and again, in case endianess matches,
-pixels are written simply as Q_INT16. Most probably it would also help to
-process two pixels at once and write them as Q_INT32, but I didn't want to
-complicate the code too much (later >;) ).
-
- The last snippet of 'fast' handles case when xi->bytes_per_line is not equal
-to width for 8bpp ximage. I'm not actually sure if that can ever happen, but
-since I've already written it *shrug*.
-
- The 'more_local' and 'fast' patches change only convertFromImage(), as I
-don't think convertToImage() is that performance critical (but it's as
-unoptimized as convertFromImage() was).
-
- Maybe some numbers. The difference is of course mainly visible with larger
-pixmaps. The two optimizations alone reduce the time to 50% for 32bpp, to 70%
-for 16bpp. The MITSHM support, when other patches are already applied too,
-for 32bpp images saves about 33%. Together, the total time is reduced to
-about 40% for 32bpp. Imlib probably still beats that, but at least this
-obsoletes KPixmapIO.
-
-
---- src/kernel/qpixmap_x11.cpp
-+++ src/kernel/qpixmap_x11.cpp
-@@ -37,7 +37,19 @@
-
- // NOT REVISED
-
-+#include "qplatformdefs.h"
-+
-+#if defined(Q_OS_WIN32) && defined(QT_MITSHM)
-+#undef QT_MITSHM
-+#endif
-+
-+#ifdef QT_MITSHM
-+
-+// Use the MIT Shared Memory extension for pixmap<->image conversions
-+#define QT_MITSHM_CONVERSIONS
-+
- // Uncomment the next line to enable the MIT Shared Memory extension
-+// for QPixmap::xForm()
- //
- // WARNING: This has some problems:
- //
-@@ -45,14 +57,13 @@
- // 2. Qt does not handle the ShmCompletion message, so you will
- // get strange effects if you xForm() repeatedly.
- //
--// #define QT_MITSHM
-+// #define QT_MITSHM_XFORM
-
--#if defined(Q_OS_WIN32) && defined(QT_MITSHM)
--#undef QT_MITSHM
-+#else
-+#undef QT_MITSHM_CONVERSIONS
-+#undef QT_MITSHM_XFORM
- #endif
-
--#include "qplatformdefs.h"
--
- #include "qbitmap.h"
- #include "qpaintdevicemetrics.h"
- #include "qimage.h"
-@@ -91,7 +102,7 @@ inline static void qSafeXDestroyImage( X
- MIT Shared Memory Extension support: makes xForm noticeably (~20%) faster.
- *****************************************************************************/
-
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
-
- static bool xshminit = FALSE;
- static XShmSegmentInfo xshminfo;
-@@ -173,8 +184,100 @@ static bool qt_create_mitshm_buffer( con
- // return FALSE;
- // }
-
--#endif // QT_MITSHM
-+#endif // QT_MITSHM_XFORM
-+
-+#ifdef QT_MITSHM_CONVERSIONS
-+
-+static bool qt_mitshm_error = false;
-+static int qt_mitshm_errorhandler( Display*, XErrorEvent* )
-+{
-+ qt_mitshm_error = true;
-+ return 0;
-+}
-+
-+static XImage* qt_XShmCreateImage( Display* dpy, Visual* visual, unsigned int depth,
-+ int format, int /*offset*/, char* /*data*/, unsigned int width, unsigned int height,
-+ int /*bitmap_pad*/, int /*bytes_per_line*/, XShmSegmentInfo* shminfo )
-+{
-+ if( width * height * depth < 100*100*32 )
-+ return NULL;
-+ static int shm_inited = -1;
-+ if( shm_inited == -1 ) {
-+ if( XShmQueryExtension( dpy ))
-+ shm_inited = 1;
-+ else
-+ shm_inited = 0;
-+ }
-+ if( shm_inited == 0 )
-+ return NULL;
-+ XImage* xi = XShmCreateImage( dpy, visual, depth, format, NULL, shminfo, width,
-+ height );
-+ if( xi == NULL )
-+ return NULL;
-+ shminfo->shmid = shmget( IPC_PRIVATE, xi->bytes_per_line * xi->height,
-+ IPC_CREAT|0600);
-+ if( shminfo->shmid < 0 ) {
-+ XDestroyImage( xi );
-+ return NULL;
-+ }
-+ shminfo->readOnly = False;
-+ shminfo->shmaddr = (char*)shmat( shminfo->shmid, 0, 0 );
-+ if( shminfo->shmaddr == (char*)-1 ) {
-+ XDestroyImage( xi );
-+ shmctl( shminfo->shmid, IPC_RMID, 0 );
-+ return NULL;
-+ }
-+ xi->data = shminfo->shmaddr;
-+#ifndef QT_MITSHM_RMID_IGNORES_REFCOUNT
-+ // mark as deleted to automatically free the memory in case
-+ // of a crash (but this doesn't work e.g. on Solaris)
-+ shmctl( shminfo->shmid, IPC_RMID, 0 );
-+#endif
-+ if( shm_inited == 1 ) { // first time
-+ XErrorHandler old_h = XSetErrorHandler( qt_mitshm_errorhandler );
-+ XShmAttach( dpy, shminfo );
-+ shm_inited = 2;
-+ XSync( dpy, False );
-+ XSetErrorHandler( old_h );
-+ if( qt_mitshm_error ) { // oops ... perhaps we are remote?
-+ shm_inited = 0;
-+ XDestroyImage( xi );
-+ shmdt( shminfo->shmaddr );
-+#ifdef QT_MITSHM_RMID_IGNORES_REFCOUNT
-+ shmctl( shminfo->shmid, IPC_RMID, 0 );
-+#endif
-+ return NULL;
-+ }
-+ } else
-+ XShmAttach( dpy, shminfo );
-+ return xi;
-+}
-+
-+static void qt_XShmDestroyImage( XImage* xi, XShmSegmentInfo* shminfo )
-+{
-+ XShmDetach( QPaintDevice::x11AppDisplay(), shminfo );
-+ XDestroyImage( xi );
-+ shmdt( shminfo->shmaddr );
-+#ifdef QT_MITSHM_RMID_IGNORES_REFCOUNT
-+ shmctl( shminfo->shmid, IPC_RMID, 0 );
-+#endif
-+}
-+
-+static XImage* qt_XShmGetImage( const QPixmap* pix, int format,
-+ XShmSegmentInfo* shminfo )
-+{
-+ XImage* xi = qt_XShmCreateImage( pix->x11Display(), (Visual*)pix->x11Visual(),
-+ pix->depth(), format, 0, 0, pix->width(), pix->height(), 32, 0, shminfo );
-+ if( xi == NULL )
-+ return NULL;
-+ if( XShmGetImage( pix->x11Display(), pix->handle(), xi, 0, 0, AllPlanes ) == False ) {
-+ qt_XShmDestroyImage( xi, shminfo );
-+ return NULL;
-+ }
-+ return xi;
-+}
-
-+#endif // QT_MITSHM_CONVERSIONS
-
- /*****************************************************************************
- Internal functions
-@@ -627,9 +730,20 @@ QImage QPixmap::convertToImage() const
- d = 32; // > 8 ==> 32
-
- XImage *xi = (XImage *)data->ximage; // any cached ximage?
-- if ( !xi ) // fetch data from X server
-+#ifdef QT_MITSHM_CONVERSIONS
-+ bool mitshm_ximage = false;
-+ XShmSegmentInfo shminfo;
-+#endif
-+ if ( !xi ) { // fetch data from X server
-+#ifdef QT_MITSHM_CONVERSIONS
-+ xi = qt_XShmGetImage( this, mono ? XYPixmap : ZPixmap, &shminfo );
-+ if( xi ) {
-+ mitshm_ximage = true;
-+ } else
-+#endif
- xi = XGetImage( x11Display(), hd, 0, 0, w, h, AllPlanes,
- mono ? XYPixmap : ZPixmap );
-+ }
- Q_CHECK_PTR( xi );
- if (!xi)
- return image; // null image
-@@ -640,15 +754,31 @@ QImage QPixmap::convertToImage() const
- QImage::LittleEndian : QImage::BigEndian;
- }
- image.create( w, h, d, 0, bitOrder );
-- if ( image.isNull() ) // could not create image
-+ if ( image.isNull() ) { // could not create image
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage )
-+ qt_XShmDestroyImage( xi, &shminfo );
-+ else
-+#endif
-+ qSafeXDestroyImage( xi );
- return image;
-+ }
-
- const QPixmap* msk = mask();
- const QPixmap *alf = data->alphapm;
-
- QImage alpha;
- if (alf) {
-- XImage *axi = XGetImage(x11Display(), alf->hd, 0, 0, w, h, AllPlanes, ZPixmap);
-+ XImage* axi;
-+#ifdef QT_MITSHM_CONVERSIONS
-+ bool mitshm_aximage = false;
-+ XShmSegmentInfo ashminfo;
-+ axi = qt_XShmGetImage( alf, ZPixmap, &ashminfo );
-+ if( axi ) {
-+ mitshm_aximage = true;
-+ } else
-+#endif
-+ axi = XGetImage(x11Display(), alf->hd, 0, 0, w, h, AllPlanes, ZPixmap);
-
- if (axi) {
- image.setAlphaBuffer( TRUE );
-@@ -662,6 +792,11 @@ QImage QPixmap::convertToImage() const
- src += axi->bytes_per_line;
- }
-
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_aximage )
-+ qt_XShmDestroyImage( axi, &ashminfo );
-+ else
-+#endif
- qSafeXDestroyImage( axi );
- }
- } else if (msk) {
-@@ -804,6 +939,12 @@ QImage QPixmap::convertToImage() const
- xi->bits_per_pixel );
- #endif
- image.reset();
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage )
-+ qt_XShmDestroyImage( xi, &shminfo );
-+ else
-+#endif
-+ qSafeXDestroyImage( xi );
- return image;
- }
-
-@@ -909,10 +1050,22 @@ QImage QPixmap::convertToImage() const
- delete [] carr;
- }
- if ( data->optim != BestOptim ) { // throw away image data
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage )
-+ qt_XShmDestroyImage( xi, &shminfo );
-+ else
-+#endif
- qSafeXDestroyImage( xi );
- ((QPixmap*)this)->data->ximage = 0;
-- } else // keep ximage data
-+ } else { // keep ximage data
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage ) { // copy the XImage?
-+ qt_XShmDestroyImage( xi, &shminfo );
-+ xi = 0;
-+ }
-+#endif
- ((QPixmap*)this)->data->ximage = xi;
-+ }
-
- return image;
- }
-@@ -1085,6 +1238,11 @@ bool QPixmap::convertFromImage( const QI
- bool trucol = (visual->c_class == TrueColor || visual->c_class == DirectColor);
- int nbytes = image.numBytes();
- uchar *newbits= 0;
-+ int newbits_size = 0;
-+#ifdef QT_MITSHM_CONVERSIONS
-+ bool mitshm_ximage = false;
-+ XShmSegmentInfo shminfo;
-+#endif
-
- if ( trucol ) { // truecolor display
- QRgb pix[256]; // pixel translation table
-@@ -1113,10 +1271,18 @@ bool QPixmap::convertFromImage( const QI
- }
- }
-
-+#ifdef QT_MITSHM_CONVERSIONS
-+ xi = qt_XShmCreateImage( dpy, visual, dd, ZPixmap, 0, 0, w, h, 32, 0, &shminfo );
-+ if( xi != NULL ) {
-+ mitshm_ximage = true;
-+ newbits = (uchar*)xi->data;
-+ }
-+ else
-+#endif
- xi = XCreateImage( dpy, visual, dd, ZPixmap, 0, 0, w, h, 32, 0 );
-- Q_CHECK_PTR( xi );
- if (!xi)
- return false;
-+ if( newbits == NULL )
- newbits = (uchar *)malloc( xi->bytes_per_line*h );
- Q_CHECK_PTR( newbits );
- if ( !newbits ) // no memory
-@@ -1323,6 +1489,7 @@ bool QPixmap::convertFromImage( const QI
- }
-
- newbits = (uchar *)malloc( nbytes ); // copy image into newbits
-+ newbits_size = nbytes;
- Q_CHECK_PTR( newbits );
- if ( !newbits ) // no memory
- return FALSE;
-@@ -1440,11 +1607,18 @@ bool QPixmap::convertFromImage( const QI
- }
-
- if ( !xi ) { // X image not created
-+#ifdef QT_MITSHM_CONVERSIONS
-+ xi = qt_XShmCreateImage( dpy, visual, dd, ZPixmap, 0, 0, w, h, 32, 0, &shminfo );
-+ if( xi != NULL )
-+ mitshm_ximage = true;
-+ else
-+#endif
- xi = XCreateImage( dpy, visual, dd, ZPixmap, 0, 0, w, h, 32, 0 );
- if ( xi->bits_per_pixel == 16 ) { // convert 8 bpp ==> 16 bpp
- ushort *p2;
- int p2inc = xi->bytes_per_line/sizeof(ushort);
- ushort *newerbits = (ushort *)malloc( xi->bytes_per_line * h );
-+ newbits_size = xi->bytes_per_line * h;
- Q_CHECK_PTR( newerbits );
- if ( !newerbits ) // no memory
- return FALSE;
-@@ -1462,6 +1636,14 @@ bool QPixmap::convertFromImage( const QI
- "(bpp=%d)", xi->bits_per_pixel );
- #endif
- }
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( newbits_size > 0 && mitshm_ximage ) { // need to copy to shared memory
-+ memcpy( xi->data, newbits, newbits_size );
-+ free( newbits );
-+ newbits = (uchar*)xi->data;
-+ }
-+ else
-+#endif
- xi->data = (char *)newbits;
- }
-
-@@ -1495,19 +1677,24 @@ bool QPixmap::convertFromImage( const QI
-
- }
-
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage )
-+ XShmPutImage( dpy, hd, qt_xget_readonly_gc( x11Screen(), FALSE ),
-+ xi, 0, 0, 0, 0, w, h, False );
-+ else
-+#endif
- XPutImage( dpy, hd, qt_xget_readonly_gc( x11Screen(), FALSE ),
- xi, 0, 0, 0, 0, w, h );
-
-- if ( data->optim != BestOptim ) { // throw away image
-- qSafeXDestroyImage( xi );
-- data->ximage = 0;
-- } else { // keep ximage that we created
-- data->ximage = xi;
-- }
- data->w = w;
- data->h = h;
- data->d = dd;
-
-+ XImage* axi = NULL;
-+#ifdef QT_MITSHM_CONVERSIONS
-+ bool mitshm_aximage = false;
-+ XShmSegmentInfo ashminfo;
-+#endif
- if ( image.hasAlphaBuffer() ) {
- QBitmap m;
- m = image.createAlphaMask( conversion_flags );
-@@ -1543,13 +1730,22 @@ bool QPixmap::convertFromImage( const QI
- data->alphapm->rendhd =
- (HANDLE) XftDrawCreateAlpha( x11Display(), data->alphapm->hd, 8 );
-
-- XImage *axi = XCreateImage(x11Display(), (Visual *) x11Visual(),
-+#ifdef QT_MITSHM_CONVERSIONS
-+ axi = qt_XShmCreateImage( x11Display(), (Visual*)x11Visual(),
-+ 8, ZPixmap, 0, 0, w, h, 8, 0, &ashminfo );
-+ if( axi != NULL )
-+ mitshm_aximage = true;
-+ else
-+#endif
-+ axi = XCreateImage(x11Display(), (Visual *) x11Visual(),
- 8, ZPixmap, 0, 0, w, h, 8, 0);
-
- if (axi) {
-+ if( axi->data==NULL ) {
- // the data is deleted by qSafeXDestroyImage
- axi->data = (char *) malloc(h * axi->bytes_per_line);
- Q_CHECK_PTR( axi->data );
-+ }
- char *aptr = axi->data;
-
- if (image.depth() == 32) {
-@@ -1567,14 +1763,48 @@ bool QPixmap::convertFromImage( const QI
- }
-
- GC gc = XCreateGC(x11Display(), data->alphapm->hd, 0, 0);
-+ #ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_aximage )
-+ XShmPutImage( dpy, data->alphapm->hd, gc, axi, 0, 0, 0, 0, w, h, False );
-+ else
-+#endif
- XPutImage(dpy, data->alphapm->hd, gc, axi, 0, 0, 0, 0, w, h);
- XFreeGC(x11Display(), gc);
-- qSafeXDestroyImage(axi);
- }
- }
- #endif // QT_NO_XFTFREETYPE
- }
-
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage || mitshm_aximage )
-+ XSync( x11Display(), False ); // wait until processed
-+#endif
-+
-+ if ( data->optim != BestOptim ) { // throw away image
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage )
-+ qt_XShmDestroyImage( xi, &shminfo );
-+ else
-+#endif
-+ qSafeXDestroyImage( xi );
-+ data->ximage = 0;
-+ } else { // keep ximage that we created
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_ximage ) { // copy the XImage?
-+ qt_XShmDestroyImage( xi, &shminfo );
-+ xi = 0;
-+ }
-+#endif
-+ data->ximage = xi;
-+ }
-+ if( axi ) {
-+#ifdef QT_MITSHM_CONVERSIONS
-+ if( mitshm_aximage )
-+ qt_XShmDestroyImage( axi, &ashminfo );
-+ else
-+#endif
-+ qSafeXDestroyImage(axi);
-+ }
- return TRUE;
- }
-
-@@ -1737,7 +1967,7 @@ QPixmap QPixmap::xForm( const QWMatrix &
- return pm;
- }
-
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
- static bool try_once = TRUE;
- if (try_once) {
- try_once = FALSE;
-@@ -1770,7 +2000,7 @@ QPixmap QPixmap::xForm( const QWMatrix &
- dbpl = ((w*bpp+31)/32)*4;
- dbytes = dbpl*h;
-
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
- if ( use_mitshm ) {
- dptr = (uchar *)xshmimg->data;
- uchar fillbyte = bpp == 8 ? white.pixel() : 0xff;
-@@ -1786,7 +2016,7 @@ QPixmap QPixmap::xForm( const QWMatrix &
- memset( dptr, Qt::white.pixel( x11Screen() ), dbytes );
- else
- memset( dptr, 0xff, dbytes );
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
- }
- #endif
-
-@@ -1817,7 +2047,7 @@ QPixmap QPixmap::xForm( const QWMatrix &
- } else {
- xbpl = (w*bpp)/8;
- p_inc = dbpl - xbpl;
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
- if ( use_mitshm )
- p_inc = xshmimg->bytes_per_line - xbpl;
- #endif
-@@ -1854,7 +2084,7 @@ QPixmap QPixmap::xForm( const QWMatrix &
- QPixmap pm( w, h );
- pm.data->uninit = FALSE;
- pm.x11SetScreen( x11Screen() );
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
- if ( use_mitshm ) {
- XCopyArea( dpy, xshmpm, pm.handle(), gc, 0, 0, w, h, 0, 0 );
- } else {
-@@ -1863,7 +2093,7 @@ QPixmap QPixmap::xForm( const QWMatrix &
- ZPixmap, 0, (char *)dptr, w, h, 32, 0 );
- XPutImage( dpy, pm.handle(), gc, xi, 0, 0, 0, 0, w, h);
- qSafeXDestroyImage( xi );
--#if defined(QT_MITSHM)
-+#if defined(QT_MITSHM_XFORM)
- }
- #endif
-
---- mkspecs/linux-g++/qplatformdefs.h
-+++ mkspecs/linux-g++/qplatformdefs.h
-@@ -102,5 +102,6 @@
- #define QT_VSNPRINTF ::vsnprintf
- #endif
-
-+#define QT_MITSHM
-
- #endif // QPLATFORMDEFS_H
diff --git a/opensuse/core/qt3/0048-qclipboard_hack_80072.patch b/opensuse/core/qt3/0048-qclipboard_hack_80072.patch
deleted file mode 100644
index 2f508019b..000000000
--- a/opensuse/core/qt3/0048-qclipboard_hack_80072.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-qt-bugs@ issue : none, probably even won't be
-bugs.kde.org number : 80072
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
-A crude hack for KDE #80072. No good idea how to fix it properly yet :(.
-
-================================================================================
-Index: src/kernel/qclipboard_x11.cpp
-===================================================================
---- src/kernel/qclipboard_x11.cpp.orig
-+++ src/kernel/qclipboard_x11.cpp
-@@ -112,6 +112,7 @@ static int pending_timer_id = 0;
- static bool pending_clipboard_changed = FALSE;
- static bool pending_selection_changed = FALSE;
-
-+Q_EXPORT bool qt_qclipboard_bailout_hack = false;
-
- // event capture mechanism for qt_xclb_wait_for_event
- static bool waiting_for_data = FALSE;
-@@ -464,6 +465,15 @@ static Bool checkForClipboardEvents(Disp
- || e->xselectionclear.selection == qt_xa_clipboard)));
- }
-
-+static bool selection_request_pending = false;
-+
-+static Bool check_selection_request_pending( Display*, XEvent* e, XPointer )
-+ {
-+ if( e->type == SelectionRequest && e->xselectionrequest.owner == owner->winId())
-+ selection_request_pending = true;
-+ return False;
-+ }
-+
- bool qt_xclb_wait_for_event( Display *dpy, Window win, int type, XEvent *event,
- int timeout )
- {
-@@ -515,6 +525,14 @@ bool qt_xclb_wait_for_event( Display *dp
- do {
- if ( XCheckTypedWindowEvent(dpy,win,type,event) )
- return TRUE;
-+ if( qt_qclipboard_bailout_hack ) {
-+ XEvent dummy;
-+ selection_request_pending = false;
-+ if ( owner != NULL )
-+ XCheckIfEvent(dpy,&dummy,check_selection_request_pending,NULL);
-+ if( selection_request_pending )
-+ return TRUE;
-+ }
-
- // process other clipboard events, since someone is probably requesting data from us
- XEvent e;
diff --git a/opensuse/core/qt3/0055-qtextedit_zoom.patch b/opensuse/core/qt3/0055-qtextedit_zoom.patch
index ad4174a1f..38cdaa8a7 100644
--- a/opensuse/core/qt3/0055-qtextedit_zoom.patch
+++ b/opensuse/core/qt3/0055-qtextedit_zoom.patch
@@ -11,7 +11,7 @@ Index: widgets/qtextedit.cpp
================================================================================
--- src/widgets/qtextedit.cpp
+++ src/widgets/qtextedit.cpp
-@@ -5767,7 +5767,11 @@
+@@ -5774,7 +5774,11 @@
void QTextEdit::zoomIn( int range )
{
QFont f( QScrollView::font() );
@@ -24,7 +24,7 @@ Index: widgets/qtextedit.cpp
setFont( f );
}
-@@ -5782,7 +5786,11 @@
+@@ -5789,7 +5793,11 @@
void QTextEdit::zoomOut( int range )
{
QFont f( QScrollView::font() );
diff --git a/opensuse/core/qt3/0056-khotkeys_input_84434.patch b/opensuse/core/qt3/0056-khotkeys_input_84434.patch
deleted file mode 100644
index d6092c3e9..000000000
--- a/opensuse/core/qt3/0056-khotkeys_input_84434.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-qt-bugs@ issue : 58251
-bugs.kde.org number : 84434
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
-Fixes keyboard input action in KHotKeys (see bug #84434).
-
-================================================================================
---- src/kernel/qapplication_x11.cpp
-+++ src/kernel/qapplication_x11.cpp
-@@ -5401,8 +5401,10 @@
- qt_auto_repeat_data *d = (qt_auto_repeat_data *) arg;
- if (d->error ||
- event->xkey.window != d->window ||
-- event->xkey.keycode != d->keycode)
-+ event->xkey.keycode != d->keycode) {
-+ d->error = TRUE;
- return FALSE;
-+ }
-
- if (event->type == XKeyPress) {
- d->error = (! d->release || event->xkey.time - d->timestamp > 10);
diff --git a/opensuse/core/qt3/0059-qpopup_has_mouse.patch b/opensuse/core/qt3/0059-qpopup_has_mouse.patch
deleted file mode 100644
index 18ae0081d..000000000
--- a/opensuse/core/qt3/0059-qpopup_has_mouse.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-qt-bugs@ issue : 49417
-bugs.kde.org number : 58719
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
-Hello,
-
- please consider applying the two attached QPopupMenu patches fixing KDE bugs
- #58719 and #74778 (http://bugs.kde.org/show_bug.cgi?id=58719,
- http://bugs.kde.org/show_bug.cgi?id=74778), which complain about keyboard
- navigation in popup menus being very uncomfortable because of being affected
- by mouse position despite mouse not being used at all.
-
- - hasmouse.patch - (#58719) - use keyboard to open and navigate in any popup
- menu and "accidentally" hit your mouse. Depending on the mouse cursor
- position either no popup entry is selected or the random popup entry
- happening to be at the cursor position becomes highlighted. The patch
- basically copies the 'hasmouse' code from QMenuBar which prevents the mouse
- having any effect on the popup if it's outside the popup geometry.
-
- [ ... #74778 ... ]
-
-================================================================================
---- src/widgets/qpopupmenu.cpp
-+++ src/widgets/qpopupmenu.cpp
-@@ -253,6 +253,7 @@
- } scroll;
- QSize calcSize;
- QRegion mouseMoveBuffer;
-+ uint hasmouse : 1;
- };
-
- static QPopupMenu* active_popup_menu = 0;
-@@ -272,6 +273,7 @@
- d->scroll.scrollableSize = d->scroll.topScrollableIndex = 0;
- d->scroll.scrollable = QPopupMenuPrivate::Scroll::ScrollNone;
- d->scroll.scrolltimer = 0;
-+ d->hasmouse = 0;
- isPopupMenu = TRUE;
- #ifndef QT_NO_ACCEL
- autoaccel = 0;
-@@ -1741,6 +1743,11 @@
-
- int item = itemAtPos( e->pos() );
- if ( item == -1 ) { // no valid item
-+ if( !d->hasmouse ) {
-+ tryMenuBar( e );
-+ return;
-+ }
-+ d->hasmouse = 0;
- int lastActItem = actItem;
- actItem = -1;
- if ( lastActItem >= 0 )
-@@ -1752,6 +1759,7 @@
- }
- } else { // mouse on valid item
- // but did not register mouse press
-+ d->hasmouse = 1;
- if ( (e->state() & Qt::MouseButtonMask) && !mouseBtDn )
- mouseBtDn = TRUE; // so mouseReleaseEvent will pop down
-
-@@ -2160,6 +2168,7 @@
- */
- void QPopupMenu::leaveEvent( QEvent * )
- {
-+ d->hasmouse = 0;
- if ( testWFlags( WStyle_Tool ) && style().styleHint(QStyle::SH_PopupMenu_MouseTracking, this) ) {
- int lastActItem = actItem;
- actItem = -1;
diff --git a/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch b/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch
deleted file mode 100644
index 50d48bd35..000000000
--- a/opensuse/core/qt3/0060-qpopup_ignore_mousepos.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-qt-bugs@ issue : 49417
-bugs.kde.org number : 74778
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
- Hello,
-
- please consider applying the two attached QPopupMenu patches fixing KDE bugs
- #58719 and #74778 (http://bugs.kde.org/show_bug.cgi?id=58719,
- http://bugs.kde.org/show_bug.cgi?id=74778), which complain about keyboard
- navigation in popup menus being very uncomfortable because of being affected
- by mouse position despite mouse not being used at all.
-
- [... #58719 ... ]
-
- - ignoremousepos.patch - (#74778) - use keyboard to open some popup which
- doesn't show up at mouse position (e.g. Alt+F3 with KWin or the context menu
- key with some file selected in Konqueror). If the mouse is positioned in the
- area where the popup shows, the random entry happening to be at the cursor
- position becomes highlighted.
- The patch fixes this by ignoring mouse events that happen at mouse position
- which was current when the popup was shown, i.e. all mouse move events that
- actually aren't triggered by mouse move are ignored. I first wanted to ignore
- only the very first mouse move event (which should be caused by EnterNotify
- for the popup) but I realized that Qt's event handling causes the popup to
- possibly get more than just one initial move event, caused by LeaveNotify
- events for normal widgets being transformed to mouse move events for the
- popup, so I have no better idea how to solve this problem.
-
-================================================================================
---- src/widgets/qpopupmenu.cpp
-+++ src/widgets/qpopupmenu.cpp
-@@ -254,6 +254,7 @@
- QSize calcSize;
- QRegion mouseMoveBuffer;
- uint hasmouse : 1;
-+ QPoint ignoremousepos;
- };
-
- static QPopupMenu* active_popup_menu = 0;
-@@ -1356,6 +1357,7 @@
- popupActive = -1;
- if(style().styleHint(QStyle::SH_PopupMenu_SubMenuPopupDelay, this))
- d->mouseMoveBuffer = QRegion();
-+ d->ignoremousepos = QCursor::pos();
- }
-
- /*!
-@@ -1703,6 +1705,11 @@
-
- void QPopupMenu::mouseMoveEvent( QMouseEvent *e )
- {
-+ if( e->globalPos() == d->ignoremousepos ) {
-+ return;
-+ }
-+ d->ignoremousepos = QPoint();
-+
- motion++;
-
- if ( parentMenu && parentMenu->isPopupMenu ) {
diff --git a/opensuse/core/qt3/0079-compositing-types.patch b/opensuse/core/qt3/0079-compositing-types.patch
deleted file mode 100644
index 7899cf584..000000000
--- a/opensuse/core/qt3/0079-compositing-types.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-qt-bugs@ issue : none
-bugs.kde.org number : none
-applied: no
-author: Lubos Lunak <l.lunak@kde.org>
-
-This patch adds support for window types used for compositing (popup menu, dropdown menu,
-tooltip, combobox, dnd).
-
---- src/kernel/qdnd_x11.cpp.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/kernel/qdnd_x11.cpp 2007-05-31 10:30:58.000000000 +0200
-@@ -261,6 +261,7 @@ public:
- QWidget(QApplication::desktop()->screen( screen ),
- 0, WStyle_Customize | WStyle_Tool | WStyle_NoBorder | WX11BypassWM ), oldpmser( 0 ), oldbmser( 0 )
- {
-+ x11SetWindowType( X11WindowTypeDND );
- }
-
- void setPixmap(QPixmap pm, QPoint hot)
-@@ -1221,6 +1222,7 @@ void QDragManager::move( const QPoint &
- // recreate the pixmap on the new screen...
- delete qt_xdnd_deco;
- qt_xdnd_deco = new QShapedPixmapWidget( screen );
-+ qt_xdnd_deco->x11SetWindowTransient( dragSource->topLevelWidget());
- if (!QWidget::mouseGrabber()) {
- updatePixmap();
- qt_xdnd_deco->grabMouse();
-@@ -1774,6 +1776,7 @@ bool QDragManager::drag( QDragObject * o
-
- dragSource = (QWidget *)(object->parent());
-
-+ qt_xdnd_deco->x11SetWindowTransient( dragSource->topLevelWidget());
- qApp->installEventFilter( this );
- qt_xdnd_source_current_time = qt_x_time;
- XSetSelectionOwner( QPaintDevice::x11AppDisplay(), qt_xdnd_selection,
---- src/kernel/qapplication_x11.cpp.sav 2007-05-29 16:24:58.000000000 +0200
-+++ src/kernel/qapplication_x11.cpp 2007-05-31 10:30:58.000000000 +0200
-@@ -268,6 +268,11 @@ Atom qt_net_wm_window_type_menu = 0;
- Atom qt_net_wm_window_type_utility = 0;
- Atom qt_net_wm_window_type_splash = 0;
- Atom qt_net_wm_window_type_override = 0; // KDE extension
-+Atom qt_net_wm_window_type_dropdown_menu = 0;
-+Atom qt_net_wm_window_type_popup_menu = 0;
-+Atom qt_net_wm_window_type_tooltip = 0;
-+Atom qt_net_wm_window_type_combo = 0;
-+Atom qt_net_wm_window_type_dnd = 0;
- Atom qt_net_wm_frame_strut = 0; // KDE extension
- Atom qt_net_wm_state_stays_on_top = 0; // KDE extension
- Atom qt_net_wm_pid = 0;
-@@ -1920,6 +1925,11 @@ void qt_init_internal( int *argcptr, cha
- qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_UTILITY", &qt_net_wm_window_type_utility );
- qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_SPLASH", &qt_net_wm_window_type_splash );
- qt_x11_intern_atom( "_KDE_NET_WM_WINDOW_TYPE_OVERRIDE", &qt_net_wm_window_type_override );
-+ qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_DROPDOWN_MENU", &qt_net_wm_window_type_dropdown_menu );
-+ qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_POPUP_MENU", &qt_net_wm_window_type_popup_menu );
-+ qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_TOOLTIP", &qt_net_wm_window_type_tooltip );
-+ qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_COMBO", &qt_net_wm_window_type_combo );
-+ qt_x11_intern_atom( "_NET_WM_WINDOW_TYPE_DND", &qt_net_wm_window_type_dnd );
- qt_x11_intern_atom( "_KDE_NET_WM_FRAME_STRUT", &qt_net_wm_frame_strut );
- qt_x11_intern_atom( "_NET_WM_STATE_STAYS_ON_TOP",
- &qt_net_wm_state_stays_on_top );
---- src/kernel/qwidget_x11.cpp.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/kernel/qwidget_x11.cpp 2007-05-31 10:30:58.000000000 +0200
-@@ -125,6 +125,11 @@ extern Atom qt_net_wm_window_type_menu;
- extern Atom qt_net_wm_window_type_utility;
- extern Atom qt_net_wm_window_type_splash;
- extern Atom qt_net_wm_window_type_override;
-+extern Atom qt_net_wm_window_type_dropdown_menu;
-+extern Atom qt_net_wm_window_type_popup_menu;
-+extern Atom qt_net_wm_window_type_combo;
-+extern Atom qt_net_wm_window_type_dnd;
-+extern Atom qt_net_wm_window_type_tooltip;
- extern Atom qt_net_wm_pid;
- extern Atom qt_net_wm_user_time;
- extern Atom qt_enlightenment_desktop;
-@@ -448,10 +453,6 @@ void QWidget::create( WId window, bool i
- x11Colormap() );
- #endif // QT_NO_XFTFREETYPE
-
-- // NET window types
-- long net_wintypes[7] = { 0, 0, 0, 0, 0, 0, 0 };
-- int curr_wintype = 0;
--
- // NET window states
- long net_winstates[6] = { 0, 0, 0, 0, 0, 0 };
- int curr_winstate = 0;
-@@ -473,7 +474,6 @@ void QWidget::create( WId window, bool i
- if ( testWFlags(WStyle_Splash) ) {
- if (qt_net_supports(qt_net_wm_window_type_splash)) {
- clearWFlags( WX11BypassWM );
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_splash;
- } else {
- setWFlags( WX11BypassWM | WStyle_Tool | WStyle_NoBorder );
- }
-@@ -482,27 +482,22 @@ void QWidget::create( WId window, bool i
- mwmhints.decorations = 0L;
- mwmhints.flags |= (1L << 1); // MWM_HINTS_DECORATIONS
-
-- if ( testWFlags( WStyle_NoBorder ) ) {
-- // override netwm type - quick and easy for KDE noborder
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_override;
-- } else {
-- if ( testWFlags( WStyle_NormalBorder | WStyle_DialogBorder ) ) {
-- mwmhints.decorations |= (1L << 1); // MWM_DECOR_BORDER
-- mwmhints.decorations |= (1L << 2); // MWM_DECOR_RESIZEH
-- }
-+ if ( testWFlags( WStyle_NormalBorder | WStyle_DialogBorder ) ) {
-+ mwmhints.decorations |= (1L << 1); // MWM_DECOR_BORDER
-+ mwmhints.decorations |= (1L << 2); // MWM_DECOR_RESIZEH
-+ }
-
-- if ( testWFlags( WStyle_Title ) )
-- mwmhints.decorations |= (1L << 3); // MWM_DECOR_TITLE
-+ if ( testWFlags( WStyle_Title ) )
-+ mwmhints.decorations |= (1L << 3); // MWM_DECOR_TITLE
-
-- if ( testWFlags( WStyle_SysMenu ) )
-- mwmhints.decorations |= (1L << 4); // MWM_DECOR_MENU
-+ if ( testWFlags( WStyle_SysMenu ) )
-+ mwmhints.decorations |= (1L << 4); // MWM_DECOR_MENU
-
-- if ( testWFlags( WStyle_Minimize ) )
-- mwmhints.decorations |= (1L << 5); // MWM_DECOR_MINIMIZE
-+ if ( testWFlags( WStyle_Minimize ) )
-+ mwmhints.decorations |= (1L << 5); // MWM_DECOR_MINIMIZE
-
-- if ( testWFlags( WStyle_Maximize ) )
-- mwmhints.decorations |= (1L << 6); // MWM_DECOR_MAXIMIZE
-- }
-+ if ( testWFlags( WStyle_Maximize ) )
-+ mwmhints.decorations |= (1L << 6); // MWM_DECOR_MAXIMIZE
-
- if (testWFlags(WStyle_Tool)) {
- wsa.save_under = True;
-@@ -522,23 +517,6 @@ void QWidget::create( WId window, bool i
- }
- }
-
-- // ### need a better way to do this
-- if (inherits("QPopupMenu")) {
-- // menu netwm type
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_menu;
-- } else if (inherits("QToolBar")) {
-- // toolbar netwm type
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_toolbar;
-- } else if (testWFlags(WStyle_Customize) && testWFlags(WStyle_Tool)) {
-- // utility netwm type
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_utility;
-- }
--
-- if (dialog) // dialog netwm type
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_dialog;
-- // normal netwm type - default
-- net_wintypes[curr_wintype++] = qt_net_wm_window_type_normal;
--
- // stays on top
- if (testWFlags(WStyle_StaysOnTop)) {
- net_winstates[curr_winstate++] = qt_net_wm_state_above;
-@@ -573,6 +551,7 @@ void QWidget::create( WId window, bool i
- wsa.save_under = True;
- XChangeWindowAttributes( dpy, id, CWOverrideRedirect | CWSaveUnder,
- &wsa );
-+ x11SetWindowType();
- } else if ( topLevel && !desktop ) { // top-level widget
- QWidget *p = parentWidget(); // real parent
- if (p)
-@@ -632,12 +611,7 @@ void QWidget::create( WId window, bool i
- else
- XDeleteProperty(dpy, id, qt_xa_motif_wm_hints);
-
-- // set _NET_WM_WINDOW_TYPE
-- if (curr_wintype > 0)
-- XChangeProperty(dpy, id, qt_net_wm_window_type, XA_ATOM, 32, PropModeReplace,
-- (unsigned char *) net_wintypes, curr_wintype);
-- else
-- XDeleteProperty(dpy, id, qt_net_wm_window_type);
-+ x11SetWindowType();
-
- // set _NET_WM_WINDOW_STATE
- if (curr_winstate > 0)
-@@ -896,6 +870,64 @@ void QWidget::reparentSys( QWidget *pare
- setMouseTracking(mouse_tracking);
- }
-
-+// 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 )
-+{
-+ // NET window types
-+ long net_wintypes[7] = { 0, 0, 0, 0, 0, 0, 0 };
-+ int curr_wintype = 0;
-+ if( testWFlags(WType_Desktop))
-+ return;
-+ if( type == X11WindowTypeSelect ) {
-+ if ( testWFlags(WStyle_Splash)) {
-+ if (qt_net_supports(qt_net_wm_window_type_splash)) {
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_splash;
-+ }
-+ } else if (inherits("QToolBar")) {
-+ // toolbar netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_toolbar;
-+ } else if (testWFlags(WStyle_Customize) && testWFlags(WStyle_Tool)) {
-+ // utility netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_utility;
-+ } else if (testWFlags(WType_Dialog)) {
-+ // dialog netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_dialog;
-+ }
-+ } else if( type == X11WindowTypeCombo ) {
-+ // combo netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_combo;
-+ } else if( type == X11WindowTypeDND ) {
-+ // dnd netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_dnd;
-+ } else if( type == X11WindowTypeDropdown ) {
-+ // dropdown netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_dropdown_menu;
-+ } else if( type == X11WindowTypePopup ) {
-+ // popup netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_popup_menu;
-+ } else if( type == X11WindowTypeMenu ) {
-+ // menu netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_menu;
-+ } else if( type == X11WindowTypeTooltip ) {
-+ // tooltip netwm type
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_tooltip;
-+ }
-+
-+ // normal netwm type - default
-+ net_wintypes[curr_wintype++] = qt_net_wm_window_type_normal;
-+ // set _NET_WM_WINDOW_TYPE
-+ if (curr_wintype > 0)
-+ XChangeProperty(x11Display(), winId(), qt_net_wm_window_type, XA_ATOM, 32, PropModeReplace,
-+ (unsigned char *) net_wintypes, curr_wintype);
-+ else
-+ XDeleteProperty(x11Display(), winId(), qt_net_wm_window_type);
-+}
-+
-+void QWidget::x11SetWindowTransient( QWidget* parent )
-+{
-+ XSetTransientForHint( x11Display(), winId(), parent->winId());
-+}
-
- /*!
- Translates the widget coordinate \a pos to global screen
---- src/kernel/qwidget.h.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/kernel/qwidget.h 2007-05-31 10:30:58.000000000 +0200
-@@ -464,7 +464,19 @@ public:
- CGContextRef macCGContext(bool clipped=TRUE) const;
- #endif
- #endif
--
-+#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
- void setWindowOpacity(double level);
- double windowOpacity() const;
-
---- src/dialogs/qdialog.cpp.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/dialogs/qdialog.cpp 2007-05-31 10:30:58.000000000 +0200
-@@ -705,7 +701,7 @@ void QDialog::show()
- && qApp->mainWidget() && qApp->mainWidget()->isVisible()
- && !qApp->mainWidget()->isMinimized()) {
- // make sure the transient for hint is set properly for modal dialogs
-- XSetTransientForHint( x11Display(), winId(), qApp->mainWidget()->winId() );
-+ x11SetWindowTransient( qApp->mainWidget());
- }
- #endif // Q_WS_X11
-
---- src/widgets/qtooltip.cpp.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/widgets/qtooltip.cpp 2007-05-31 10:30:58.000000000 +0200
-@@ -72,6 +72,7 @@ public:
- polish();
- setText(text);
- adjustSize();
-+ x11SetWindowType( X11WindowTypeTooltip );
- }
- void setWidth( int w ) { resize( sizeForWidth( w ) ); }
- };
-@@ -528,6 +529,10 @@ void QTipManager::showTip()
- if (!widget)
- return;
-
-+#ifdef Q_WS_X11
-+ label->x11SetWindowTransient( widget->topLevelWidget());
-+#endif
-+
- #ifdef Q_WS_MAC
- QRect screen = QApplication::desktop()->availableGeometry( scr );
- #else
---- src/widgets/qcombobox.cpp.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/widgets/qcombobox.cpp 2007-05-31 10:49:13.000000000 +0200
-@@ -389,12 +389,8 @@ public:
- inline QListBox * listBox() { return lBox; }
- inline QComboBoxPopup * popup() { return pop; }
- void updateLinedGeometry();
--
-- void setListBox( QListBox *l ) { lBox = l ; usingLBox = TRUE;
-- l->setMouseTracking( TRUE );}
--
-- void setPopupMenu( QComboBoxPopup * pm, bool isPopup=TRUE )
-- { pop = pm; if(isPopup) usingLBox = FALSE; }
-+ void setListBox( QListBox *l );
-+ void setPopupMenu( QComboBoxPopup * pm, bool isPopup=TRUE );
-
- int current;
- int maxCount;
-@@ -440,6 +436,30 @@ void QComboBoxData::updateLinedGeometry(
- ed->setGeometry( r );
- }
-
-+void QComboBoxData::setListBox( QListBox *l )
-+{
-+ lBox = l;
-+ usingLBox = TRUE;
-+ l->setMouseTracking( TRUE );
-+#ifdef Q_WS_X11
-+ l->x11SetWindowType( QWidget::X11WindowTypeCombo );
-+ l->x11SetWindowTransient( combo->topLevelWidget());
-+#endif
-+}
-+
-+void QComboBoxData::setPopupMenu( QComboBoxPopup * pm, bool isPopup )
-+{
-+ pop = pm;
-+ if(isPopup)
-+ usingLBox = FALSE;
-+#ifdef Q_WS_X11
-+ if( pm ) {
-+ pm->x11SetWindowType( QWidget::X11WindowTypeCombo );
-+ pm->x11SetWindowTransient( combo->topLevelWidget());
-+ }
-+#endif
-+}
-+
- static inline bool checkInsertIndex( const char *method, const char * name,
- int count, int *index)
- {
---- src/widgets/qpopupmenu.cpp.sav 2007-05-25 18:56:23.000000000 +0200
-+++ src/widgets/qpopupmenu.cpp 2007-05-31 11:09:22.000000000 +0200
-@@ -298,6 +298,9 @@ QPopupMenu::QPopupMenu( QWidget *parent,
- connectModalRecursionSafety = 0;
-
- setFocusPolicy( StrongFocus );
-+#ifdef Q_WS_X11
-+ x11SetWindowType( X11WindowTypePopup );
-+#endif
- }
-
- /*!
-@@ -537,6 +540,29 @@ void QPopupMenu::popup( const QPoint &po
- emit aboutToShow();
- updateSize(TRUE);
- }
-+#ifdef Q_WS_X11
-+#ifndef QT_NO_MENUBAR
-+ QMenuData *top = this; // find top level
-+ while ( top->parentMenu )
-+ top = top->parentMenu;
-+ if( top->isMenuBar )
-+ x11SetWindowType( X11WindowTypeDropdown );
-+ if( parentMenu && parentMenu->isMenuBar )
-+ x11SetWindowTransient( static_cast< QMenuBar* >( parentMenu )->topLevelWidget());
-+#endif
-+ if( parentMenu && !parentMenu->isMenuBar )
-+ x11SetWindowTransient( static_cast< QPopupMenu* >( parentMenu ));
-+ if( !parentMenu ) {
-+ // hackish ... try to find the main window related to this popup
-+ QWidget* parent = parentWidget() ? parentWidget()->topLevelWidget() : NULL;
-+ if( parent == NULL )
-+ parent = QApplication::widgetAt( pos );
-+ if( parent == NULL )
-+ parent = qApp->activeWindow();
-+ if( parent != NULL )
-+ x11SetWindowTransient( parent );
-+ }
-+#endif
-
- int sw = screen.width(); // screen width
- int sh = screen.height(); // screen height
-@@ -1390,6 +1416,13 @@ void QPopupMenu::hide()
- #if defined(QT_ACCESSIBILITY_SUPPORT)
- QAccessible::updateAccessibility( this, 0, QAccessible::PopupMenuEnd );
- #endif
-+#ifndef QT_NO_MENUBAR
-+ QMenuData *top = this; // find top level
-+ while ( top->parentMenu )
-+ top = top->parentMenu;
-+ if( top->isMenuBar )
-+ x11SetWindowType( X11WindowTypePopup ); // reset
-+#endif
- parentMenu = 0;
- hidePopups();
- QWidget::hide();
-@@ -2713,6 +2746,9 @@ void QPopupMenu::toggleTearOff()
- geometry().topLeft(), FALSE );
- p->mitems->setAutoDelete( FALSE );
- p->tornOff = TRUE;
-+#ifdef Q_WS_X11
-+ p->x11SetWindowType( X11WindowTypeMenu );
-+#endif
- for ( QMenuItemListIt it( *mitems ); it.current(); ++it ) {
- if ( it.current()->id() != QMenuData::d->aInt && !it.current()->widget() )
- p->mitems->append( it.current() );
diff --git a/opensuse/core/qt3/0080-net-wm-sync-request.patch b/opensuse/core/qt3/0080-net-wm-sync-request.patch
deleted file mode 100644
index b3e23cd13..000000000
--- a/opensuse/core/qt3/0080-net-wm-sync-request.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-This qt-copy patch has been slightly modified to apply to the SUSE package
-(does not apply directly because of the immodule patch).
-
---- src/kernel/qwidget_x11.cpp.sav 2007-08-29 15:04:42.000000000 +0200
-+++ src/kernel/qwidget_x11.cpp 2007-08-29 15:06:17.000000000 +0200
-@@ -85,6 +85,12 @@ static QWidget *keyboardGrb = 0;
- extern Time qt_x_time;
- extern Time qt_x_user_time;
-
-+#ifndef QT_NO_XSYNC
-+extern Atom qt_net_wm_sync_request_counter;
-+extern Atom qt_net_wm_sync_request;
-+extern bool qt_use_xsync;
-+#endif
-+
- // defined in qfont_x11.cpp
- extern bool qt_has_xft;
-
-@@ -593,11 +599,14 @@ void QWidget::create( WId window, bool i
-
- XResizeWindow( dpy, id, crect.width(), crect.height() );
- XStoreName( dpy, id, qAppName() );
-- Atom protocols[4];
-+ Atom protocols[5];
- int n = 0;
- protocols[n++] = qt_wm_delete_window; // support del window protocol
- protocols[n++] = qt_wm_take_focus; // support take focus window protocol
- protocols[n++] = qt_net_wm_ping; // support _NET_WM_PING protocol
-+#ifndef QT_NO_XSYNC
-+ protocols[n++] = qt_net_wm_sync_request;// support the _NET_WM_SYNC_REQUEST protocol
-+#endif
- if ( testWFlags( WStyle_ContextHelp ) )
- protocols[n++] = qt_net_wm_context_help;
- XSetWMProtocols( dpy, id, protocols, n );
-@@ -623,6 +632,14 @@ void QWidget::create( WId window, bool i
- XChangeProperty(dpy, id, qt_net_wm_pid, XA_CARDINAL, 32, PropModeReplace,
- (unsigned char *) &curr_pid, 1);
-
-+#ifndef QT_NO_XSYNC
-+ // set _NET_WM_SYNC_COUNTER
-+ createSyncCounter();
-+ long counterVal = topData()->syncCounter;
-+ XChangeProperty( dpy, id, qt_net_wm_sync_request_counter, XA_CARDINAL, 32, PropModeReplace,
-+ (unsigned char*) &counterVal, 1);
-+#endif
-+
- // when we create a toplevel widget, the frame strut should be dirty
- fstrut_dirty = 1;
-
-@@ -722,6 +739,9 @@ void QWidget::destroy( bool destroyWindo
- if ( destroyWindow )
- qt_XDestroyWindow( this, x11Display(), winid );
- }
-+#ifndef QT_NO_XSYNC
-+ destroySyncCounter();
-+#endif
- setWinId( 0 );
-
- extern void qPRCleanup( QWidget *widget ); // from qapplication_x11.cpp
-@@ -781,6 +801,10 @@ void QWidget::reparentSys( QWidget *pare
- destroyInputContext();
- }
-
-+#ifndef QT_NO_XSYNC
-+ destroySyncCounter();
-+#endif
-+
- if ( isTopLevel() || !parent ) // we are toplevel, or reparenting to toplevel
- topData()->parentWinId = 0;
-
-@@ -2464,6 +2488,11 @@ void QWidget::createTLSysExtra()
- // created lazily
- extra->topextra->xic = 0;
- #endif
-+#ifndef QT_NO_XSYNC
-+ extra->topextra->syncCounter = 0;
-+ extra->topextra->syncRequestValue[0] = 0;
-+ extra->topextra->syncRequestValue[1] = 0;
-+#endif
- }
-
- void QWidget::deleteTLSysExtra()
-@@ -2510,6 +2539,51 @@ void QWidget::checkChildrenDnd()
- }
- }
-
-+
-+#ifndef QT_NO_XSYNC
-+// create a window's XSyncCounter
-+void QWidget::createSyncCounter()
-+{
-+ if( !qt_use_xsync || !isTopLevel() || topData()->syncCounter )
-+ return;
-+ XSyncValue zero;
-+ XSyncIntToValue( &zero, 0 );
-+ topData()->syncCounter = XSyncCreateCounter( x11Display(), zero );
-+}
-+
-+// destroy a window's XSyncCounter
-+void QWidget::destroySyncCounter()
-+{
-+ if( !qt_use_xsync || !extra || !extra->topextra
-+ || !extra->topextra->syncCounter )
-+ return;
-+ XSyncDestroyCounter( x11Display(), extra->topextra->syncCounter );
-+ extra->topextra->syncCounter = 0;
-+}
-+
-+// increment a window's XSyncCounter
-+void QWidget::incrementSyncCounter()
-+{
-+ if( qt_use_xsync && topData()->syncCounter &&
-+ !(topData()->syncRequestValue[0] == 0 &&
-+ topData()->syncRequestValue[1] == 0) ) {
-+ XSyncValue val;
-+ XSyncIntsToValue( &val, topData()->syncRequestValue[ 0 ], topData()->syncRequestValue[ 1 ] );
-+ XSyncSetCounter( x11Display(), topData()->syncCounter, val );
-+ topData()->syncRequestValue[0] = topData()->syncRequestValue[1] = 0;
-+ }
-+}
-+
-+// handle _NET_WM_SYNC_REQUEST
-+void QWidget::handleSyncRequest( void* ev )
-+{
-+ XEvent* xev = (XEvent*)ev;
-+ topData()->syncRequestValue[ 0 ] = xev->xclient.data.l[ 2 ];
-+ topData()->syncRequestValue[ 1 ] = xev->xclient.data.l[ 3 ];
-+}
-+#endif // QT_NO_XSYNC
-+
-+
- /*!
- \property QWidget::acceptDrops
- \brief whether drop events are enabled for this widget
---- src/kernel/qt_x11_p.h.sav 2007-08-29 15:04:42.000000000 +0200
-+++ src/kernel/qt_x11_p.h 2007-08-29 15:05:27.000000000 +0200
-@@ -174,6 +174,11 @@ extern "C" {
- #endif // QT_NO_XRENDER
-
-
-+#ifndef QT_NO_XSYNC
-+# include <X11/extensions/sync.h>
-+#endif // QT_NO_XSYNC
-+
-+
- #ifndef QT_NO_XKB
- # include <X11/XKBlib.h>
- #endif // QT_NO_XKB
---- src/kernel/qwidget.h.sav 2007-08-29 15:04:42.000000000 +0200
-+++ src/kernel/qwidget.h 2007-08-29 15:05:52.000000000 +0200
-@@ -605,6 +605,14 @@ private:
- void focusInputContext();
- void unfocusInputContext();
- void checkChildrenDnd();
-+
-+#ifndef QT_NO_XSYNC
-+ void createSyncCounter();
-+ void destroySyncCounter();
-+ void incrementSyncCounter();
-+ void handleSyncRequest( void* ev );
-+#endif
-+
- #elif defined(Q_WS_MAC)
- uint own_id : 1, macDropEnabled : 1;
- EventHandlerRef window_event;
-@@ -986,6 +994,10 @@ struct Q_EXPORT QTLWExtra {
- #if defined(QT_NO_IM_EXTENSIONS)
- void *xic; // Input Context
- #endif
-+#ifndef QT_NO_XSYNC
-+ ulong syncCounter;
-+ uint syncRequestValue[2];
-+#endif
- #endif
- #if defined(Q_WS_MAC)
- WindowGroupRef group;
---- src/kernel/qapplication_x11.cpp.sav 2007-08-29 15:04:42.000000000 +0200
-+++ src/kernel/qapplication_x11.cpp 2007-08-29 15:05:27.000000000 +0200
-@@ -288,6 +288,11 @@ Atom *qt_net_supported_list = 0;
- Window *qt_net_virtual_root_list = 0;
-
-
-+// X11 SYNC support
-+#ifndef QT_NO_XSYNC
-+Atom qt_net_wm_sync_request_counter = 0;
-+Atom qt_net_wm_sync_request = 0;
-+#endif
-
- // client leader window
- Window qt_x11_wm_client_leader = 0;
-@@ -312,6 +317,13 @@ static int xrandr_eventbase;
- // Display
- Q_EXPORT bool qt_use_xrender = FALSE;
-
-+#ifndef QT_NO_XSYNC
-+// True if SYNC extension exists on the connected display
-+bool qt_use_xsync = FALSE;
-+static int xsync_eventbase;
-+static int xsync_errorbase;
-+#endif
-+
- // modifier masks for alt/meta - detected when the application starts
- static long qt_alt_mask = 0;
- static long qt_meta_mask = 0;
-@@ -2007,6 +2019,11 @@ void qt_init_internal( int *argcptr, cha
- qt_x11_intern_atom( "UTF8_STRING", &qt_utf8_string );
- qt_x11_intern_atom( "_SGI_DESKS_MANAGER", &qt_sgi_desks_manager );
-
-+#ifndef QT_NO_XSYNC
-+ qt_x11_intern_atom( "_NET_WM_SYNC_REQUEST_COUNTER", &qt_net_wm_sync_request_counter );
-+ qt_x11_intern_atom( "_NET_WM_SYNC_REQUEST", &qt_net_wm_sync_request );
-+#endif
-+
- qt_xdnd_setup();
- qt_x11_motifdnd_init();
-
-@@ -2043,6 +2060,15 @@ void qt_init_internal( int *argcptr, cha
- }
- #endif // QT_NO_XRENDER
-
-+#ifndef QT_NO_XSYNC
-+ // Try to initialize SYNC extension on the connected display
-+ int xsync_major, xsync_minor;
-+ if ( XSyncQueryExtension( appDpy, &xsync_eventbase, &xsync_errorbase ) &&
-+ XSyncInitialize( appDpy, &xsync_major, &xsync_minor ) ) {
-+ qt_use_xsync = TRUE;
-+ }
-+#endif
-+
- #ifndef QT_NO_XKB
- // If XKB is detected, set the GrabsUseXKBState option so input method
- // compositions continue to work (ie. deadkeys)
-@@ -3196,6 +3222,10 @@ int QApplication::x11ClientMessage(QWidg
- XSendEvent( event->xclient.display, event->xclient.window,
- False, SubstructureNotifyMask|SubstructureRedirectMask, event );
- }
-+#ifndef QT_NO_XSYNC
-+ } else if (a == qt_net_wm_sync_request ) {
-+ widget->handleSyncRequest( event );
-+#endif
- }
- } else if ( event->xclient.message_type == qt_qt_scrolldone ) {
- widget->translateScrollDoneEvent(event);
-@@ -5818,6 +5848,21 @@ bool QETWidget::translateScrollDoneEvent
- return FALSE;
- }
-
-+#if defined(Q_C_CALLBACKS)
-+extern "C" {
-+#endif
-+#ifndef QT_NO_XSYNC
-+static Bool qt_net_wm_sync_request_scanner(Display*, XEvent* event, XPointer arg)
-+{
-+ return (event->type == ClientMessage && event->xclient.window == *(Window*)arg
-+ && event->xclient.message_type == qt_wm_protocols
-+ && event->xclient.data.l[ 0 ] == qt_net_wm_sync_request );
-+}
-+#endif
-+
-+#if defined(Q_C_CALLBACKS)
-+}
-+#endif
-
- //
- // ConfigureNotify (window move and resize) event translation
-@@ -5849,6 +5894,7 @@ bool QETWidget::translateConfigEvent( co
- if (! extra || extra->compress_events) {
- // ConfigureNotify compression for faster opaque resizing
- XEvent otherEvent;
-+ int compressed_configs = 0;
- while ( XCheckTypedWindowEvent( x11Display(), winId(), ConfigureNotify,
- &otherEvent ) ) {
- if ( qt_x11EventFilter( &otherEvent ) )
-@@ -5869,7 +5915,18 @@ bool QETWidget::translateConfigEvent( co
- newCPos.ry() = otherEvent.xconfigure.y +
- otherEvent.xconfigure.border_width;
- }
-+ ++compressed_configs;
-+ }
-+#ifndef QT_NO_XSYNC
-+ // _NET_WM_SYNC_REQUEST compression
-+ Window wid = winId();
-+ while ( compressed_configs &&
-+ XCheckIfEvent( x11Display(), &otherEvent,
-+ qt_net_wm_sync_request_scanner, (XPointer)&wid ) ) {
-+ handleSyncRequest( (void*)&otherEvent );
-+ --compressed_configs;
- }
-+#endif
- }
-
- QRect cr ( geometry() );
-@@ -5923,6 +5980,8 @@ bool QETWidget::translateConfigEvent( co
- repaint( !testWFlags(WResizeNoErase) || transbg );
- }
-
-+ incrementSyncCounter();
-+
- return TRUE;
- }
-
diff --git a/opensuse/core/qt3/0085-fix-buildkey.diff b/opensuse/core/qt3/0085-fix-buildkey.diff
deleted file mode 100644
index 5891d6144..000000000
--- a/opensuse/core/qt3/0085-fix-buildkey.diff
+++ /dev/null
@@ -1,22 +0,0 @@
---- configure
-+++ configure
-@@ -3140,15 +3140,15 @@ case "$COMPILER" in
- g++*)
- # GNU C++
- QMAKE_CONF_COMPILER=`grep "QMAKE_CXX[^_A-Z0-9a-z]" $QMAKESPEC/qmake.conf | sed "s,.* *= *\(.*\)$,\1,"`
-- COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null`
-+ COMPILER_VERSION=`${QMAKE_CONF_COMPILER} --version 2>/dev/null | sed 's,^[^0-9]*,,g'`
- case "$COMPILER_VERSION" in
-- *2.95.*)
-+ 2.95.*)
- COMPILER_VERSION="2.95.*"
- ;;
-- *3.*)
-+ 3.*)
- COMPILER_VERSION="3.*"
- ;;
-- *4.*)
-+ 4.*)
- COMPILER_VERSION="4"
- ;;
- *)
diff --git a/opensuse/core/qt3/add_qexport_visibility.patch b/opensuse/core/qt3/add_qexport_visibility.patch
index da256192c..26399a498 100644
--- a/opensuse/core/qt3/add_qexport_visibility.patch
+++ b/opensuse/core/qt3/add_qexport_visibility.patch
@@ -2,7 +2,7 @@ Index: src/kernel/qgplugin.h
================================================================================
--- src/kernel/qgplugin.h
+++ src/kernel/qgplugin.h
-@@ -90,35 +90,19 @@
+@@ -93,35 +93,19 @@
return i->iface(); \
}
@@ -50,7 +50,7 @@ Index: src/kernel/qgplugin.h
struct QUnknownInterface;
--- src/tools/qglobal.h
+++ src/tools/qglobal.h
-@@ -882,6 +882,10 @@
+@@ -885,6 +885,10 @@
# define Q_TEMPLATE_EXTERN
# undef Q_DISABLE_COPY /* avoid unresolved externals */
# endif
diff --git a/opensuse/core/qt3/aliasing.diff b/opensuse/core/qt3/aliasing.diff
index 88ef366b5..d3e2f58ea 100644
--- a/opensuse/core/qt3/aliasing.diff
+++ b/opensuse/core/qt3/aliasing.diff
@@ -1,6 +1,6 @@
--- src/qt.pro
+++ src/qt.pro
-@@ -40,6 +40,8 @@
+@@ -41,6 +41,8 @@
XML_CPP = xml
STYLES_CPP = styles
EMBEDDED_CPP = embedded
diff --git a/opensuse/core/qt3/external-libs.diff b/opensuse/core/qt3/external-libs.diff
index dcf7f04ae..c11174071 100644
--- a/opensuse/core/qt3/external-libs.diff
+++ b/opensuse/core/qt3/external-libs.diff
@@ -67,7 +67,7 @@
target.path += $$plugins.path/sqldrivers
--- src/tools/qcstring.cpp
+++ src/tools/qcstring.cpp
-@@ -50,7 +50,7 @@
+@@ -53,7 +53,7 @@
#include <ctype.h>
#include <limits.h>
#ifndef QT_NO_COMPRESS
diff --git a/opensuse/core/qt3/fix-GL-loading.diff b/opensuse/core/qt3/fix-GL-loading.diff
deleted file mode 100644
index 61c2f379a..000000000
--- a/opensuse/core/qt3/fix-GL-loading.diff
+++ /dev/null
@@ -1,44 +0,0 @@
---- src/opengl/qgl_x11.cpp
-+++ src/opengl/qgl_x11.cpp 2004/04/13 14:56:00
-@@ -267,7 +267,7 @@
- typedef Status (*_XmuLookupStandardColormap)( Display *dpy, int screen, VisualID visualid, unsigned int depth,
- Atom property, Bool replace, Bool retain );
- _XmuLookupStandardColormap qt_XmuLookupStandardColormap;
-- qt_XmuLookupStandardColormap = (_XmuLookupStandardColormap) QLibrary::resolve("Xmu", "XmuLookupStandardColormap");
-+ qt_XmuLookupStandardColormap = (_XmuLookupStandardColormap) QLibrary::resolve("Xmu.so.6", "XmuLookupStandardColormap");
- if (!qt_XmuLookupStandardColormap)
- qFatal("Unable to resolve Xmu symbols - please check your Xmu library installation.");
- #define XmuLookupStandardColormap qt_XmuLookupStandardColormap
-Index: src/tools/qlibrary.cpp
-===================================================================
-RCS file: /home/kde/qt-copy/src/tools/qlibrary.cpp,v
-retrieving revision 1.26
-diff -u -3 -p -r1.26 qlibrary.cpp
---- src/tools/qlibrary.cpp 4 Feb 2004 14:25:02 -0000 1.26
-+++ src/tools/qlibrary.cpp 2 Jun 2004 08:26:21 -0000
-@@ -424,7 +424,8 @@ QString QLibrary::library() const
- } else {
- tmpfilename = QString( "lib%1" ).arg( filename );
- }
-- tmpfilename += filter;
-+ if ( !filename.contains(".so") )
-+ tmpfilename += filter;
- if(QFile::exists(tmpfilename) || it == filters.end()) {
- filename = tmpfilename;
- break;
-Index: src/opengl/qgl_x11.cpp
-===================================================================
-RCS file: /home/kde/qt-copy/src/opengl/qgl_x11.cpp,v
-retrieving revision 1.34
-diff -u -3 -p -r1.34 qgl_x11.cpp
---- src/opengl/qgl_x11.cpp 21 Dec 2003 00:48:09 -0000 1.34
-+++ src/opengl/qgl_x11.cpp 2 Jun 2004 08:26:21 -0000
-@@ -116,7 +116,7 @@ bool qt_resolve_gl_symbols(bool fatal)
- if (gl_syms_resolved)
- return TRUE;
-
-- QLibrary gl("GL");
-+ QLibrary gl("GL.so.1");
- gl.setAutoUnload(FALSE);
-
- qt_glCallLists = (_glCallLists) gl.resolve("glCallLists");
diff --git a/opensuse/core/qt3/fix-assistant-path.patch b/opensuse/core/qt3/fix-assistant-path.patch
index 3f30e7013..f508d5069 100644
--- a/opensuse/core/qt3/fix-assistant-path.patch
+++ b/opensuse/core/qt3/fix-assistant-path.patch
@@ -1,6 +1,6 @@
--- tools/assistant/lib/qassistantclient.cpp
+++ tools/assistant/lib/qassistantclient.cpp
-@@ -128,7 +128,7 @@
+@@ -135,7 +135,7 @@
: QObject( parent, name ), host ( "localhost" )
{
if ( path.isEmpty() )
diff --git a/opensuse/core/qt3/fix-key-release-event-with-imm.diff b/opensuse/core/qt3/fix-key-release-event-with-imm.diff
deleted file mode 100644
index 3bd1b8da2..000000000
--- a/opensuse/core/qt3/fix-key-release-event-with-imm.diff
+++ /dev/null
@@ -1,55 +0,0 @@
---- src/kernel/qapplication_x11.cpp
-+++ src/kernel/qapplication_x11.cpp
-@@ -3294,11 +3294,7 @@
- // filtering opportunity first to ensure all input methods work
- // properly regardless of application design.
-
--#ifndef QT_NO_IM_EXTENSIONS
- if( keywidget && keywidget->isEnabled() && keywidget->isInputMethodEnabled() ) {
--#else
-- if( keywidget && keywidget->isEnabled() ) {
--#endif
- if( ( event->type==XKeyPress || event->type==XKeyRelease ) &&
- sm_blockUserInput ) // block user interaction during session management
- return TRUE;
-@@ -5220,11 +5216,12 @@
- } else {
- key = (int)(long)keyDict->find( keycode );
- if ( key )
-- if( !willRepeat ) // Take out key of dictionary only if this call.
-+ if( !willRepeat && statefulTranslation ) // Take out key of dictionary only if this call.
- keyDict->take( keycode );
- long s = (long)textDict->find( keycode );
- if ( s ) {
-- textDict->take( keycode );
-+ if( statefulTranslation )
-+ textDict->take( keycode );
- ascii = (char)(s-256);
- }
- }
---- src/kernel/qwidget_x11.cpp
-+++ src/kernel/qwidget_x11.cpp
-@@ -2699,11 +2699,10 @@
- {
- QInputContext *qic = 0;
-
--#if !defined(QT_NO_IM_EXTENSIONS)
- if ( isInputMethodEnabled() ) {
-+#if !defined(QT_NO_IM_EXTENSIONS)
- qic = icHolderWidget()->ic;
- #else
-- {
- // icHolderWidget is always topLevelWidget
- QTLWExtra *topdata = icHolderWidget()->topData();
- qic = (QInputContext *)topdata->xic;
-@@ -2754,10 +2753,8 @@
- */
- void QWidget::createInputContext()
- {
--#if !defined(QT_NO_IM_EXTENSIONS)
- if( !isInputMethodEnabled() || QApplication::closingDown() )
- return;
--#endif
-
- QWidget *icWidget = icHolderWidget();
- #ifndef QT_NO_IM
diff --git a/opensuse/core/qt3/fix-qtranslator-crash.diff b/opensuse/core/qt3/fix-qtranslator-crash.diff
index e28d7126a..2e3488c86 100644
--- a/opensuse/core/qt3/fix-qtranslator-crash.diff
+++ b/opensuse/core/qt3/fix-qtranslator-crash.diff
@@ -1,6 +1,6 @@
--- src/kernel/qtranslator.cpp
+++ src/kernel/qtranslator.cpp
-@@ -1012,7 +1012,7 @@
+@@ -1015,7 +1015,7 @@
char con[256];
for ( ;; ) {
t >> len;
diff --git a/opensuse/core/qt3/fix-xinerama-dialog-placement.diff b/opensuse/core/qt3/fix-xinerama-dialog-placement.diff
deleted file mode 100644
index 26ca37c16..000000000
--- a/opensuse/core/qt3/fix-xinerama-dialog-placement.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/dialogs/qdialog.cpp
-+++ src/dialogs/qdialog.cpp
-@@ -803,7 +803,9 @@
- w = w->topLevelWidget();
- QRect desk;
- if ( w ) {
-- scrn = QApplication::desktop()->screenNumber( w );
-+ // Use mapToGlobal rather than geometry() in case w might
-+ // be embedded in another application
-+ scrn = QApplication::desktop()->screenNumber( w->mapToGlobal( QPoint(0,0) ) );
- } else if ( QApplication::desktop()->isVirtualDesktop() ) {
- scrn = QApplication::desktop()->screenNumber( QCursor::pos() );
- } else {
diff --git a/opensuse/core/qt3/gcc46.diff b/opensuse/core/qt3/gcc46.diff
index beae96ff2..756aadd7b 100644
--- a/opensuse/core/qt3/gcc46.diff
+++ b/opensuse/core/qt3/gcc46.diff
@@ -1,20 +1,8 @@
-Index: src/tools/qvaluelist.h
-===================================================================
---- src/tools/qvaluelist.h.orig 2011-03-31 20:14:47.200973928 +0200
-+++ src/tools/qvaluelist.h 2011-03-31 20:14:55.352615654 +0200
-@@ -50,6 +50,7 @@
- #ifndef QT_NO_STL
- #include <iterator>
- #include <list>
-+#include <cstddef>
- #endif
-
- //#define QT_CHECK_VALUELIST_RANGE
Index: src/tools/qvaluevector.h
===================================================================
--- src/tools/qvaluevector.h.orig 2008-01-15 20:09:13.000000000 +0100
+++ src/tools/qvaluevector.h 2011-03-31 20:15:15.904712567 +0200
-@@ -244,7 +244,7 @@ public:
+@@ -246,7 +246,7 @@ public:
typedef const value_type& const_reference;
typedef size_t size_type;
#ifndef QT_NO_STL
@@ -27,7 +15,7 @@ Index: src/tools/qmap.h
===================================================================
--- src/tools/qmap.h.orig 2008-01-15 20:09:13.000000000 +0100
+++ src/tools/qmap.h 2011-03-31 20:24:35.802101605 +0200
-@@ -107,7 +107,7 @@ class QMapIterator
+@@ -108,7 +108,7 @@ class QMapIterator
#endif
typedef T value_type;
#ifndef QT_NO_STL
@@ -36,7 +24,7 @@ Index: src/tools/qmap.h
#else
typedef int difference_type;
#endif
-@@ -223,7 +223,7 @@ class QMapConstIterator
+@@ -224,7 +224,7 @@ class QMapConstIterator
#endif
typedef T value_type;
#ifndef QT_NO_STL
@@ -45,7 +33,7 @@ Index: src/tools/qmap.h
#else
typedef int difference_type;
#endif
-@@ -604,7 +604,7 @@ public:
+@@ -605,7 +605,7 @@ public:
typedef value_type& reference;
typedef const value_type& const_reference;
#ifndef QT_NO_STL
diff --git a/opensuse/core/qt3/kmenu-search-fix.diff b/opensuse/core/qt3/kmenu-search-fix.diff
index 8aff068ad..c63011de0 100644
--- a/opensuse/core/qt3/kmenu-search-fix.diff
+++ b/opensuse/core/qt3/kmenu-search-fix.diff
@@ -1,6 +1,6 @@
--- src/widgets/qpopupmenu.cpp
+++ src/widgets/qpopupmenu.cpp
-@@ -1354,6 +1354,7 @@
+@@ -1391,6 +1391,7 @@
performDelayedChanges();
updateSize(TRUE);
QWidget::show();
diff --git a/opensuse/core/qt3/lib64-plugin-support.diff b/opensuse/core/qt3/lib64-plugin-support.diff
index 384673269..e78a9cf2b 100644
--- a/opensuse/core/qt3/lib64-plugin-support.diff
+++ b/opensuse/core/qt3/lib64-plugin-support.diff
@@ -1,6 +1,6 @@
--- src/tools/qgpluginmanager.cpp
+++ src/tools/qgpluginmanager.cpp 2004/09/25 11:46:41
-@@ -377,6 +377,9 @@
+@@ -380,6 +380,9 @@
QString basename = (*git).left( (*git).find( QChar(0xfffd) ) );
++git;
diff --git a/opensuse/core/qt3/limit-image-size.diff b/opensuse/core/qt3/limit-image-size.diff
index dcf8d6f21..6d4fab3fa 100644
--- a/opensuse/core/qt3/limit-image-size.diff
+++ b/opensuse/core/qt3/limit-image-size.diff
@@ -2,7 +2,7 @@ Index: kernel/qasyncimageio.cpp
================================================================================
--- src/kernel/qasyncimageio.cpp
+++ src/kernel/qasyncimageio.cpp
-@@ -901,7 +901,12 @@
+@@ -904,7 +904,12 @@
sheight = newtop + newheight;
if (img.isNull()) {
@@ -16,7 +16,7 @@ Index: kernel/qasyncimageio.cpp
memset( img.bits(), 0, img.numBytes() );
if (consumer) consumer->setSize(swidth, sheight);
}
-@@ -956,9 +961,15 @@
+@@ -959,9 +964,15 @@
if (backingstore.width() < w
|| backingstore.height() < h) {
// We just use the backing store as a byte array
@@ -35,7 +35,7 @@ Index: kernel/qasyncimageio.cpp
for (int ln=0; ln<h; ln++) {
--- src/kernel/qimage.cpp
+++ src/kernel/qimage.cpp
-@@ -65,6 +65,8 @@
+@@ -68,6 +68,8 @@
#define QT_NO_IMAGE_16_BIT
#endif
@@ -44,7 +44,7 @@ Index: kernel/qasyncimageio.cpp
/*!
\class QImage
-@@ -1201,6 +1203,28 @@
+@@ -1211,6 +1213,28 @@
data->alpha = enable;
}
@@ -73,7 +73,7 @@ Index: kernel/qasyncimageio.cpp
/*!
Sets the image \a width, \a height, \a depth, its number of colors
-@@ -1230,6 +1254,14 @@
+@@ -1240,6 +1264,14 @@
reset(); // reset old data
if ( width <= 0 || height <= 0 || depth <= 0 || numColors < 0 )
return FALSE; // invalid parameter(s)
@@ -90,7 +90,7 @@ Index: kernel/qasyncimageio.cpp
qWarning( "QImage::create: Bit order is required for 1 bpp images" );
--- src/kernel/qimage.h
+++ src/kernel/qimage.h
-@@ -194,6 +194,10 @@
+@@ -197,6 +197,10 @@
int quality=-1 ) const;
bool save( QIODevice * device, const char* format,
int quality=-1 ) const;
diff --git a/opensuse/core/qt3/mng-reading-fix.patch b/opensuse/core/qt3/mng-reading-fix.patch
index f0582ac6c..ccfd1c452 100644
--- a/opensuse/core/qt3/mng-reading-fix.patch
+++ b/opensuse/core/qt3/mng-reading-fix.patch
@@ -1,6 +1,6 @@
--- src/kernel/qmngio.cpp.sav 2007-02-23 14:01:19.000000000 +0100
+++ src/kernel/qmngio.cpp 2007-08-28 15:27:28.000000000 +0200
-@@ -411,8 +411,11 @@ int QMNGFormat::decode( QImage& img, QIm
+@@ -414,8 +414,11 @@ int QMNGFormat::decode( QImage& img, QIm
}
losttime += losingtimer.elapsed();
@@ -14,7 +14,7 @@
losingtimer.start();
image = 0;
-@@ -422,6 +425,13 @@ int QMNGFormat::decode( QImage& img, QIm
+@@ -425,6 +428,13 @@ int QMNGFormat::decode( QImage& img, QIm
// Move back unused tail
memcpy(buffer,buffer+ubuffer,nbuffer);
}
diff --git a/opensuse/core/qt3/parseFontName.diff b/opensuse/core/qt3/parseFontName.diff
index eb0c6cbea..d6ad66602 100644
--- a/opensuse/core/qt3/parseFontName.diff
+++ b/opensuse/core/qt3/parseFontName.diff
@@ -1,6 +1,6 @@
--- src/kernel/qfontdatabase.cpp
+++ src/kernel/qfontdatabase.cpp
-@@ -2470,11 +2470,14 @@ void QFontDatabase::parseFontName(const
+@@ -2476,11 +2476,14 @@ void QFontDatabase::parseFontName(const
int i = name.find('[');
int li = name.findRev(']');
diff --git a/opensuse/core/qt3/pluginmanager-fix.diff b/opensuse/core/qt3/pluginmanager-fix.diff
index 88ad08ae4..d24c38aa1 100644
--- a/opensuse/core/qt3/pluginmanager-fix.diff
+++ b/opensuse/core/qt3/pluginmanager-fix.diff
@@ -1,6 +1,6 @@
--- src/tools/qgpluginmanager.cpp
+++ src/tools/qgpluginmanager.cpp
-@@ -383,6 +383,8 @@
+@@ -389,6 +389,8 @@
sameBasename << (*git).mid( (*git).find( QChar(0xfffd) ) + 1 );
++git;
}
diff --git a/opensuse/core/qt3/qcstring-format-warnings.diff b/opensuse/core/qt3/qcstring-format-warnings.diff
index a597dc578..cac735dbb 100644
--- a/opensuse/core/qt3/qcstring-format-warnings.diff
+++ b/opensuse/core/qt3/qcstring-format-warnings.diff
@@ -1,6 +1,6 @@
--- src/tools/qcstring.h (revision 658213)
+++ src/tools/qcstring.h (working copy)
-@@ -161,7 +161,11 @@ public:
+@@ -164,7 +164,11 @@ public:
QCString copy() const;
diff --git a/opensuse/core/qt3/qt-3.3.8c.diff b/opensuse/core/qt3/qt-3.3.8c.diff
deleted file mode 100644
index 860e99e4b..000000000
--- a/opensuse/core/qt3/qt-3.3.8c.diff
+++ /dev/null
@@ -1,58 +0,0 @@
---- src/kernel/qobject.cpp
-+++ src/kernel/qobject.cpp
-@@ -360,6 +360,30 @@
- }
- }
-
-+/*! \internal
-+ TQt compatibility function
-+*/
-+QObjectList QObject::childrenListObject() {
-+ if (children()) return *(children());
-+ else return QObjectList();
-+}
-+
-+/*! \internal
-+ TQt compatibility function
-+*/
-+const QObjectList QObject::childrenListObject() const {
-+ if (children()) return *(children());
-+ else return QObjectList();
-+}
-+
-+/*! \internal
-+ TQt compatibility function
-+*/
-+const QObjectList QObject::objectTreesListObject() {
-+ if (objectTrees()) return *(objectTrees());
-+ else return QObjectList();
-+}
-+
-
- /*****************************************************************************
- QObject member functions
---- src/kernel/qobject.h
-+++ src/kernel/qobject.h
-@@ -101,8 +101,11 @@
-
- QObject *child( const char *objName, const char *inheritsClass = 0, bool recursiveSearch = TRUE ); //### const in 4.0
- const QObjectList *children() const { return childObjects; }
-+ QObjectList childrenListObject();
-+ const QObjectList childrenListObject() const;
-
- static const QObjectList *objectTrees();
-+ static const QObjectList objectTreesListObject();
-
- QObjectList *queryList( const char *inheritsClass = 0,
- const char *objName = 0,
---- src/tools/qglobal.h
-+++ src/tools/qglobal.h
-@@ -41,7 +41,7 @@
- #ifndef QGLOBAL_H
- #define QGLOBAL_H
-
--#define QT_VERSION_STR "3.3.8b"
-+#define QT_VERSION_STR "3.3.8c"
- /*
- QT_VERSION is (major << 16) + (minor << 8) + patch.
- */
diff --git a/opensuse/core/qt3/qt-transparency.patch b/opensuse/core/qt3/qt-transparency.patch
index d2de72f0d..b7bfa7b8a 100644
--- a/opensuse/core/qt3/qt-transparency.patch
+++ b/opensuse/core/qt3/qt-transparency.patch
@@ -1,6 +1,6 @@
--- src/kernel/qapplication.cpp
+++ src/kernel/qapplication.cpp
-@@ -317,6 +317,7 @@
+@@ -320,6 +320,7 @@
void qt_cleanup();
#if defined(Q_WS_X11)
void qt_init( Display* dpy, Qt::HANDLE, Qt::HANDLE );
@@ -8,7 +8,7 @@
#endif
Q_EXPORT bool qt_tryModalHelper( QWidget *widget, QWidget **rettop );
-@@ -905,7 +906,7 @@
+@@ -908,7 +909,7 @@
qt_init( &argc, argv, GuiClient );
} else {
@@ -19,7 +19,7 @@
process_cmdline( &argc, argv );
--- src/kernel/qapplication_x11.cpp
+++ src/kernel/qapplication_x11.cpp
-@@ -197,6 +197,7 @@
+@@ -201,6 +201,7 @@
static Display *appDpy = 0; // X11 application display
static char *appDpyName = 0; // X11 display name
static bool appForeignDpy = FALSE; // we didn't create display
@@ -27,7 +27,7 @@
static bool appSync = FALSE; // X11 synchronization
#if defined(QT_DEBUG)
static bool appNoGrab = FALSE; // X11 grabbing enabled
-@@ -1610,7 +1611,7 @@
+@@ -1632,7 +1633,7 @@
setlocale( LC_ALL, "" ); // use correct char set mapping
setlocale( LC_NUMERIC, "C" ); // make sprintf()/scanf() work
@@ -36,7 +36,7 @@
// Qt part of other application
appForeignDpy = TRUE;
-@@ -2390,6 +2391,10 @@
+@@ -2432,6 +2433,10 @@
qt_init_internal( 0, 0, display, visual, colormap );
}
diff --git a/opensuse/core/qt3/qt.patch b/opensuse/core/qt3/qt.patch
deleted file mode 100644
index fb236265a..000000000
--- a/opensuse/core/qt3/qt.patch
+++ /dev/null
@@ -1,270 +0,0 @@
---- src/dialogs/qcolordialog.cpp
-+++ src/dialogs/qcolordialog.cpp
-@@ -60,6 +60,10 @@
- QColor macGetColor( const QColor& initial, QWidget *parent, const char *name );
- #endif
-
-+#ifdef Q_WS_X11
-+#include "private/qtkdeintegration_x11_p.h"
-+#endif
-+
- //////////// QWellArray BEGIN
-
- struct QWellArrayData;
-@@ -1478,7 +1482,10 @@
- QColor QColorDialog::getColor( const QColor& initial, QWidget *parent,
- const char *name )
- {
--#if defined(Q_WS_MAC)
-+#if defined(Q_WS_X11)
-+ if( QKDEIntegration::enabled())
-+ return QKDEIntegration::getColor( initial, parent, name );
-+#elif defined(Q_WS_MAC)
- return macGetColor(initial, parent, name);
- #endif
-
-@@ -1516,6 +1523,13 @@
- QWidget *parent, const char* name )
- {
- #if defined(Q_WS_MAC)
-+ if( QKDEIntegration::enabled()) {
-+ QColor color = QKDEIntegration::getColor( QColor( initial ), parent, name );
-+ if( ok )
-+ *ok = color.isValid();
-+ return color.rgba();
-+ }
-+#elif defined(Q_WS_MAC)
- return macGetRgba(initial, ok, parent, name);
- #endif
-
---- src/dialogs/qfiledialog.cpp
-+++ src/dialogs/qfiledialog.cpp
-@@ -92,6 +92,10 @@
- #include "qvbox.h"
- #include "qwidgetstack.h"
-
-+#ifdef Q_WS_X11
-+#include "private/qtkdeintegration_x11_p.h"
-+#endif
-+
- #ifdef Q_WS_WIN
- #ifdef QT_THREAD_SUPPORT
- # include <private/qmutexpool_p.h>
-@@ -3464,7 +3468,11 @@
- if ( workingDirectory->isNull() )
- *workingDirectory = ::toRootIfNotExists( QDir::currentDirPath() );
-
--#if defined(Q_WS_WIN)
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::getOpenFileNames( filter, workingDirectory, parent, name,
-+ caption, selectedFilter, false ).first();
-+#elif defined(Q_WS_WIN)
- if ( qt_use_native_dialogs && qApp->style().styleHint( QStyle::SH_GUIStyle ) == WindowsStyle )
- return winGetOpenFileName( initialSelection, filter, workingDirectory,
- parent, name, caption, selectedFilter );
-@@ -3585,7 +3593,11 @@
- if ( workingDirectory->isNull() )
- *workingDirectory = ::toRootIfNotExists( QDir::currentDirPath() );
-
--#if defined(Q_WS_WIN)
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::getSaveFileName( initialSelection, filter, workingDirectory,
-+ parent, name, caption, selectedFilter );
-+#elif defined(Q_WS_WIN)
- if ( qt_use_native_dialogs && qApp->style().styleHint( QStyle::SH_GUIStyle ) == WindowsStyle )
- return winGetSaveFileName( initialSelection, filter, workingDirectory,
- parent, name, caption, selectedFilter );
-@@ -4475,7 +4487,17 @@
- if ( workingDirectory )
- wd = *workingDirectory;
-
--#if defined(Q_WS_WIN)
-+#if defined(Q_WS_X11)
-+ QString initialDir;
-+ if ( !dir.isEmpty() ) {
-+ QUrlOperator u( dir );
-+ if ( QFileInfo( u.path() ).isDir() )
-+ initialDir = dir;
-+ } else
-+ initialDir = QString::null;
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::getExistingDirectory( initialDir, parent, name, caption );
-+#elif defined(Q_WS_WIN)
- QString initialDir;
- if ( !dir.isEmpty() ) {
- QUrlOperator u( dir );
-@@ -5636,7 +5658,10 @@
- }
- }
-
--#if defined(Q_WS_WIN)
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::getOpenFileNames( filter, workingDirectory, parent, name, caption, selectedFilter, true );
-+#elif defined(Q_WS_WIN)
- if ( qt_use_native_dialogs && qApp->style().styleHint( QStyle::SH_GUIStyle ) == WindowsStyle )
- return winGetOpenFileNames( filter, workingDirectory, parent, name, caption, selectedFilter );
- #elif defined(Q_WS_MAC)
---- src/dialogs/qfontdialog.cpp
-+++ src/dialogs/qfontdialog.cpp
-@@ -56,6 +56,10 @@
- #include <private/qfontdata_p.h>
- #include <qvalidator.h>
-
-+#ifdef Q_WS_X11
-+#include "private/qtkdeintegration_x11_p.h"
-+#endif
-+
- /*!
- \class QFontDialog qfontdialog.h
- \ingroup dialogs
-@@ -384,9 +388,15 @@
- return getFont( ok, 0, parent, name );
- }
-
-+extern bool qt_use_native_dialogs;
-+
- QFont QFontDialog::getFont( bool *ok, const QFont *def,
- QWidget *parent, const char* name)
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::getFont( ok, def, parent, name );
-+#endif
- QFont result;
- if ( def )
- result = *def;
---- src/dialogs/qmessagebox.cpp
-+++ src/dialogs/qmessagebox.cpp
-@@ -54,6 +54,12 @@
- #endif
-
-
-+#ifdef Q_WS_X11
-+#include "private/qtkdeintegration_x11_p.h"
-+#endif
-+
-+extern bool qt_use_native_dialogs;
-+
- // Internal class - don't touch
-
- class QMessageBoxLabel : public QLabel
-@@ -1110,6 +1116,10 @@
- const QString& caption, const QString& text,
- int button0, int button1, int button2 )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::information( parent, caption, text, button0, button1, button2 );
-+#endif
- QMessageBox *mb = new QMessageBox( caption, text, Information,
- button0, button1, button2,
- parent, "qt_msgbox_information", TRUE,
-@@ -1157,6 +1167,10 @@
- const QString& caption, const QString& text,
- int button0, int button1, int button2 )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::question( parent, caption, text, button0, button1, button2 );
-+#endif
- QMessageBox *mb = new QMessageBox( caption, text, Question,
- button0, button1, button2,
- parent, "qt_msgbox_information", TRUE,
-@@ -1205,6 +1219,10 @@
- const QString& caption, const QString& text,
- int button0, int button1, int button2 )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::warning( parent, caption, text, button0, button1, button2 );
-+#endif
- QMessageBox *mb = new QMessageBox( caption, text, Warning,
- button0, button1, button2,
- parent, "qt_msgbox_warning", TRUE,
-@@ -1253,6 +1271,10 @@
- const QString& caption, const QString& text,
- int button0, int button1, int button2 )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::critical( parent, caption, text, button0, button1, button2 );
-+#endif
- QMessageBox *mb = new QMessageBox( caption, text, Critical,
- button0, button1, button2,
- parent, "qt_msgbox_critical", TRUE,
-@@ -1400,6 +1422,11 @@
- int defaultButtonNumber,
- int escapeButtonNumber )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::information( parent, caption, text,
-+ button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber );
-+#endif
- return textBox( parent, Information, caption, text,
- button0Text, button1Text, button2Text,
- defaultButtonNumber, escapeButtonNumber );
-@@ -1442,6 +1469,11 @@
- int defaultButtonNumber,
- int escapeButtonNumber )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::question( parent, caption, text,
-+ button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber );
-+#endif
- return textBox( parent, Question, caption, text,
- button0Text, button1Text, button2Text,
- defaultButtonNumber, escapeButtonNumber );
-@@ -1486,6 +1518,11 @@
- int defaultButtonNumber,
- int escapeButtonNumber )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::warning( parent, caption, text,
-+ button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber );
-+#endif
- return textBox( parent, Warning, caption, text,
- button0Text, button1Text, button2Text,
- defaultButtonNumber, escapeButtonNumber );
-@@ -1526,6 +1563,11 @@
- int defaultButtonNumber,
- int escapeButtonNumber )
- {
-+#if defined(Q_WS_X11)
-+ if ( qt_use_native_dialogs && QKDEIntegration::enabled())
-+ return QKDEIntegration::critical( parent, caption, text,
-+ button0Text, button1Text, button2Text, defaultButtonNumber, escapeButtonNumber );
-+#endif
- return textBox( parent, Critical, caption, text,
- button0Text, button1Text, button2Text,
- defaultButtonNumber, escapeButtonNumber );
---- src/kernel/qt.h
-+++ src/kernel/qt.h
-@@ -313,6 +313,10 @@
- #endif // Private headers
-
-
-+#ifdef Q_WS_X11
-+#include "private/qtkdeintegration_x11_p.h"
-+#endif
-+
- #ifdef Q_WS_MAC
- #include <qaquastyle.h>
- #include <qmacstyle_mac.h>
---- src/kernel/qt_x11.pri
-+++ src/kernel/qt_x11.pri
-@@ -10,6 +10,9 @@
-
- SOURCES += $$KERNEL_CPP/qtaddons_x11.cpp
- PRECOMPILED_HEADER = kernel/qt_pch.h
-+
-+ SOURCES += $$KERNEL_CPP/qtkdeintegration_x11.cpp
-+ HEADERS += $$KERNEL_H/qtkdeintegration_x11_p.h
- }
-
- nas {
diff --git a/opensuse/core/qt3/qt3-arm-gcc4.patch b/opensuse/core/qt3/qt3-arm-gcc4.patch
deleted file mode 100644
index d9f38f547..000000000
--- a/opensuse/core/qt3/qt3-arm-gcc4.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/tools/qglobal.h
-+++ src/tools/qglobal.h
-@@ -317,7 +317,7 @@
- supposedly know what you are doing.) */
- # if (defined(__arm__) || defined(__ARMEL__)) && !defined(QT_MOC_CPP)
- # define Q_PACKED __attribute__ ((packed))
--# if __GNUC__ == 3 && __GNUC_MINOR__ >= 4
-+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || __GNUC__ > 3
- # define Q_NO_PACKED_REFERENCE
- # endif
- # endif
---- src/tools/qstring.h
-+++ src/tools/qstring.h
-@@ -194,7 +194,7 @@
- char latin1() const { return ucs > 0xff ? 0 : (char) ucs; }
- ushort unicode() const { return ucs; }
- #ifdef Q_NO_PACKED_REFERENCE
-- ushort &unicode() { return *(&ucs); }
-+ ushort &unicode() { return *((ushort*)&ucs); }
- #else
- ushort &unicode() { return ucs; }
- #endif
diff --git a/opensuse/core/qt3/qt3-devel-doc.changes b/opensuse/core/qt3/qt3-devel-doc.changes
index db0df1efa..bffb1fdc2 100644
--- a/opensuse/core/qt3/qt3-devel-doc.changes
+++ b/opensuse/core/qt3/qt3-devel-doc.changes
@@ -1,4 +1,23 @@
-------------------------------------------------------------------
+Sat Nov 19 23:23:57 UTC 2011 - andrea@nucleus.it
+
+- Removed all the patches already applied in the 3.3.8d tree.
+- Modified all the remaining to apply with fuzz=0.
+- Created a new patch to revert the use of libiodbc to libodbc
+ otherwise qt3-unixODBC does not build.
+- Some cosmetic change to the specfiles.
+
+-------------------------------------------------------------------
+Sun Nov 13 22:40:37 UTC 2011 - robxu9@gmail.com
+
+- Remove 0001-dnd_optimization.patch; upstream
+
+-------------------------------------------------------------------
+Sun Nov 13 16:28:34 UTC 2011 - robxu9@gmail.com
+
+- Qt3 has a new upstream; update to 3.3.8d
+
+-------------------------------------------------------------------
Fri Sep 23 10:16:33 UTC 2011 - coolo@suse.com
- fix qt3-extensions
diff --git a/opensuse/core/qt3/qt3-devel-doc.spec b/opensuse/core/qt3/qt3-devel-doc.spec
index 601b85b0c..aa2dbcfa9 100644
--- a/opensuse/core/qt3/qt3-devel-doc.spec
+++ b/opensuse/core/qt3/qt3-devel-doc.spec
@@ -37,12 +37,8 @@ BuildArch: noarch
Provides: qt3-devel-tutorial
Obsoletes: qt3-devel-tutorial
Requires: qt3-devel
-%define x11_free -x11-free-
-%define rversion %version
# COMMON-BEGIN
# COMMON-BEGIN
-%define x11_free -x11-free-
-%define rversion 3.3.8b
Source0: http://mirror.its.uidaho.edu/pub/trinity/releases/3.5.13/dependencies/qt3-3.3.8.d.tar.gz
Source1: build_script.sh
Source2: qtconfig3.desktop
@@ -55,10 +51,8 @@ Source9: linguist.desktop
Source5: linguist.png
Source10: qt3.sh
Source11: qt3.csh
-# Translations did not change at 3.3.8c
+# Translations did not change at 3.3.8d
Source12: qt3-3.3.8b-translations.tar.bz2
-Source100: qtkdeintegration_x11.cpp
-Source101: qtkdeintegration_x11_p.h
Source102: baselibs.conf
Source200: attributes
Source201: update_spec.pl
@@ -71,43 +65,24 @@ Patch14: lib64-plugin-support.diff
Patch15: pluginmanager-fix.diff
Patch18: no-rpath.dif
Patch19: shut-up.diff
-Patch21: fix-GL-loading.diff
Patch23: fix-accessible.diff
-Patch28: fix-key-release-event-with-imm.diff
Patch31: limit-image-size.diff
-Patch34: 0005-qpixmap_mitshm.patch
Patch35: qt-transparency.patch
Patch37: 0055-qtextedit_zoom.patch
-Patch38: 0048-qclipboard_hack_80072.patch
Patch39: fix-qtranslator-crash.diff
-Patch40: 0059-qpopup_has_mouse.patch
-Patch41: 0060-qpopup_ignore_mousepos.patch
Patch42: add_qexport_visibility.patch
-Patch43: 0056-khotkeys_input_84434.patch
-Source250: enable-designer-plugins.diff
-Patch53: fix-xinerama-dialog-placement.diff
Patch54: kmenu-search-fix.diff
-Patch55: qt3-fix-cast.diff
-Patch100: qt.patch
-Patch101: qt3-arm-gcc4.patch
-Patch102: xinerama.patch
Patch113: fix-assistant-path.patch
Patch117: qtimer-debug.diff
-Patch119: xinerama-qpopupmenu.diff
Patch121: qt3-warnings.diff
-Patch123: use-xrandr-1.2.diff
Patch125: qcstring-format-warnings.diff
Patch127: mng-reading-fix.patch
-Patch128: 0079-compositing-types.patch
-Patch129: 0080-net-wm-sync-request.patch
-Patch132: revert-qt-3.3.8-khmer-fix.diff
-Patch133: 0085-fix-buildkey.diff
Patch134: fix-xinput-clash.diff
Patch135: parseFontName.diff
Patch136: qt3-no-date.diff
Patch137: popen-leak-fix.diff
-Patch138: qt3-libpng14.diff
Patch139: gcc46.diff
+Patch140: revert-iodbc-to-uodbc.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -122,16 +97,6 @@ This package contains the documentation for the Qt 3 Development Kit.
You will find documentation, precompiled examples, and a tutorial for
getting started with Qt in /usr/lib/qt3/doc.
-This package contains the documentation for the Qt 3 Development Kit.
-
-You will find documentation, precompiled examples, and a tutorial for
-getting started with Qt in /usr/lib/qt3/doc.
-
-This package contains the documentation for the Qt 3 Development Kit.
-
-You will find documentation, precompiled examples, and a tutorial for
-getting started with Qt in /usr/lib/qt3/doc.
-
%define build_sub_dirs src plugins/src tools/designer/uilib/ tools/designer/uic tools/qtconfig tools/assistant/lib tools/assistant tutorial
%prep
@@ -148,55 +113,28 @@ fi
%patch18
%patch19
%patch23
-#%patch28
%patch31
-%patch34
%patch35
%patch37
-%patch38
%patch39
-%patch40
-%patch41
%patch42
-%patch43
-%patch100
-%patch102
-%patch53
%patch54
-%patch55
-%patch101
%patch113
%patch117
-%patch119
%patch121
-%patch123
ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/
ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/
ln -sf $PWD/src/kernel/qinputcontext.h include/
ln -sf $PWD/src/kernel/qinputcontextinterface_p.h include/private/
ln -sf $PWD/src/kernel/qximinputcontext_p.h include/private/
-if [ %_lib = "lib" ]; then
-sed 's,/lib64/,/lib/,' %PATCH21 | patch -p0
-else
-%patch21
-fi
%patch125
%patch127
-%patch128
-%patch129
-%patch132
-%patch133
%patch134
%patch135
%patch136
%patch137
-%if %suse_version > 1120
-%patch138 -p1
-%endif
%patch139
-# copy qt kde integration files
-cp %SOURCE100 %SOURCE101 src/kernel/
-cp %SOURCE101 include/private/
+%patch140
cd translations
tar xvjf %SOURCE12
cd ..
@@ -214,16 +152,6 @@ This package contains the documentation for the Qt 3 Development Kit.
You will find documentation, precompiled examples, and a tutorial for
getting started with Qt in /usr/lib/qt3/doc.
-This package contains the documentation for the Qt 3 Development Kit.
-
-You will find documentation, precompiled examples, and a tutorial for
-getting started with Qt in /usr/lib/qt3/doc.
-
-This package contains the documentation for the Qt 3 Development Kit.
-
-You will find documentation, precompiled examples, and a tutorial for
-getting started with Qt in /usr/lib/qt3/doc.
-
%build
export VERSION=%suse_version
source %SOURCE1 %{version}
diff --git a/opensuse/core/qt3/qt3-devel-doc.spec.in b/opensuse/core/qt3/qt3-devel-doc.spec.in
index ad9fd3e99..090675643 100644
--- a/opensuse/core/qt3/qt3-devel-doc.spec.in
+++ b/opensuse/core/qt3/qt3-devel-doc.spec.in
@@ -1,5 +1,5 @@
#
-# spec file for package qt3 (Version 3.3.8b)
+# spec file for package qt3 (Version 3.3.8d)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -22,15 +22,13 @@ License: GPL, QPL
Autoreqprov: on
Summary: Qt 3 Development Kit
Group: Documentation/HTML
-Version: 3.3.8c
+Version: 3.3.8d
Release: 1
PreReq: /bin/grep
BuildArch: noarch
Provides: qt3-devel-tutorial
Obsoletes: qt3-devel-tutorial
Requires: qt3-devel
-%define x11_free -x11-free-
-%define rversion %version
# COMMON-BEGIN
# COMMON-END
diff --git a/opensuse/core/qt3/qt3-extensions.changes b/opensuse/core/qt3/qt3-extensions.changes
index db0df1efa..bffb1fdc2 100644
--- a/opensuse/core/qt3/qt3-extensions.changes
+++ b/opensuse/core/qt3/qt3-extensions.changes
@@ -1,4 +1,23 @@
-------------------------------------------------------------------
+Sat Nov 19 23:23:57 UTC 2011 - andrea@nucleus.it
+
+- Removed all the patches already applied in the 3.3.8d tree.
+- Modified all the remaining to apply with fuzz=0.
+- Created a new patch to revert the use of libiodbc to libodbc
+ otherwise qt3-unixODBC does not build.
+- Some cosmetic change to the specfiles.
+
+-------------------------------------------------------------------
+Sun Nov 13 22:40:37 UTC 2011 - robxu9@gmail.com
+
+- Remove 0001-dnd_optimization.patch; upstream
+
+-------------------------------------------------------------------
+Sun Nov 13 16:28:34 UTC 2011 - robxu9@gmail.com
+
+- Qt3 has a new upstream; update to 3.3.8d
+
+-------------------------------------------------------------------
Fri Sep 23 10:16:33 UTC 2011 - coolo@suse.com
- fix qt3-extensions
diff --git a/opensuse/core/qt3/qt3-extensions.spec b/opensuse/core/qt3/qt3-extensions.spec
index 969cc4da2..d44f8c188 100644
--- a/opensuse/core/qt3/qt3-extensions.spec
+++ b/opensuse/core/qt3/qt3-extensions.spec
@@ -32,8 +32,6 @@ Group: Development/Tools/Other
Summary: Qt3 Extensions
# COMMON-BEGIN
# COMMON-BEGIN
-%define x11_free -x11-free-
-%define rversion 3.3.8b
Source0: http://mirror.its.uidaho.edu/pub/trinity/releases/3.5.13/dependencies/qt3-3.3.8.d.tar.gz
Source1: build_script.sh
Source2: qtconfig3.desktop
@@ -48,8 +46,6 @@ Source10: qt3.sh
Source11: qt3.csh
# Translations did not change at 3.3.8d
Source12: qt3-3.3.8b-translations.tar.bz2
-Source100: qtkdeintegration_x11.cpp
-Source101: qtkdeintegration_x11_p.h
Source102: baselibs.conf
Source200: attributes
Source201: update_spec.pl
@@ -62,43 +58,24 @@ Patch14: lib64-plugin-support.diff
Patch15: pluginmanager-fix.diff
Patch18: no-rpath.dif
Patch19: shut-up.diff
-Patch21: fix-GL-loading.diff
Patch23: fix-accessible.diff
-Patch28: fix-key-release-event-with-imm.diff
Patch31: limit-image-size.diff
-Patch34: 0005-qpixmap_mitshm.patch
Patch35: qt-transparency.patch
Patch37: 0055-qtextedit_zoom.patch
-Patch38: 0048-qclipboard_hack_80072.patch
Patch39: fix-qtranslator-crash.diff
-Patch40: 0059-qpopup_has_mouse.patch
-Patch41: 0060-qpopup_ignore_mousepos.patch
Patch42: add_qexport_visibility.patch
-Patch43: 0056-khotkeys_input_84434.patch
-Source250: enable-designer-plugins.diff
-Patch53: fix-xinerama-dialog-placement.diff
Patch54: kmenu-search-fix.diff
-Patch55: qt3-fix-cast.diff
-Patch100: qt.patch
-Patch101: qt3-arm-gcc4.patch
-Patch102: xinerama.patch
Patch113: fix-assistant-path.patch
Patch117: qtimer-debug.diff
-Patch119: xinerama-qpopupmenu.diff
Patch121: qt3-warnings.diff
-Patch123: use-xrandr-1.2.diff
Patch125: qcstring-format-warnings.diff
Patch127: mng-reading-fix.patch
-Patch128: 0079-compositing-types.patch
-Patch129: 0080-net-wm-sync-request.patch
-Patch132: revert-qt-3.3.8-khmer-fix.diff
-Patch133: 0085-fix-buildkey.diff
Patch134: fix-xinput-clash.diff
Patch135: parseFontName.diff
Patch136: qt3-no-date.diff
Patch137: popen-leak-fix.diff
-Patch138: qt3-libpng14.diff
Patch139: gcc46.diff
+Patch140: revert-iodbc-to-uodbc.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -106,6 +83,9 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
This package contains extension libraries for Qt 3, such as the
Netscape plug-in modules.
+This package contains extension libraries for Qt 3, such as the
+Netscape plug-in modules.
+
%define build_sub_dirs src plugins/src tools/designer/uilib/ tools/designer/uic tools/qtconfig tools/assistant/lib tools/assistant tutorial
%prep
@@ -122,55 +102,28 @@ fi
%patch18
%patch19
%patch23
-#%patch28
%patch31
-%patch34
%patch35
%patch37
-%patch38
%patch39
-%patch40
-%patch41
%patch42
-%patch43
-%patch100
-%patch102
-%patch53
%patch54
-%patch55
-%patch101
%patch113
%patch117
-%patch119
%patch121
-%patch123
ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/
ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/
ln -sf $PWD/src/kernel/qinputcontext.h include/
ln -sf $PWD/src/kernel/qinputcontextinterface_p.h include/private/
ln -sf $PWD/src/kernel/qximinputcontext_p.h include/private/
-if [ %_lib = "lib" ]; then
-sed 's,/lib64/,/lib/,' %PATCH21 | patch -p0
-else
-%patch21
-fi
%patch125
%patch127
-%patch128
-%patch129
-%patch132
-%patch133
%patch134
%patch135
%patch136
%patch137
-%if %suse_version > 1120
-%patch138 -p1
-%endif
%patch139
-# copy qt kde integration files
-cp %SOURCE100 %SOURCE101 src/kernel/
-cp %SOURCE101 include/private/
+%patch140
cd translations
tar xvjf %SOURCE12
cd ..
@@ -184,12 +137,6 @@ Netscape plug-in modules.
This package contains extension libraries for Qt 3, such as the
Netscape plug-in modules.
-This package contains extension libraries for Qt 3, such as the
-Netscape plug-in modules.
-
-This package contains extension libraries for Qt 3, such as the
-Netscape plug-in modules.
-
%package -n qt3-devel-examples
Summary: Programming Examples for Qt 3
AutoReqProv: on
@@ -415,6 +362,8 @@ rm -rf ${RPM_BUILD_ROOT}
%defattr(-,root,root)
#/usr/bin/designer
#/usr/bin/linguist
+/usr/lib/qt3/bin/createcw
+/usr/lib/qt3/bin/makeqpf
/usr/lib/qt3/bin/qconfig
/usr/lib/qt3/bin/findtr
/usr/lib/qt3/bin/qt20fix
diff --git a/opensuse/core/qt3/qt3-extensions.spec.in b/opensuse/core/qt3/qt3-extensions.spec.in
index e1014767a..736f1ae2b 100644
--- a/opensuse/core/qt3/qt3-extensions.spec.in
+++ b/opensuse/core/qt3/qt3-extensions.spec.in
@@ -1,5 +1,5 @@
#
-# spec file for package qt3-extensions (Version 3.3.8b)
+# spec file for package qt3-extensions (Version 3.3.8d)
#
# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -16,7 +16,7 @@ BuildRequires: cups-devel krb5-devel mysql-devel postgresql-devel qt3-devel sqli
BuildRequires: fdupes
%endif
License: GPL, QPL
-Version: 3.3.8c
+Version: 3.3.8d
Release: 1
Autoreqprov: on
Requires: qt3 = %version
@@ -325,6 +325,8 @@ rm -rf ${RPM_BUILD_ROOT}
%defattr(-,root,root)
#/usr/bin/designer
#/usr/bin/linguist
+/usr/lib/qt3/bin/createcw
+/usr/lib/qt3/bin/makeqpf
/usr/lib/qt3/bin/qconfig
/usr/lib/qt3/bin/findtr
/usr/lib/qt3/bin/qt20fix
diff --git a/opensuse/core/qt3/qt3-fix-cast.diff b/opensuse/core/qt3/qt3-fix-cast.diff
deleted file mode 100644
index 5ad34108b..000000000
--- a/opensuse/core/qt3/qt3-fix-cast.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: tools/qvfb/qvfbview.cpp
-================================================================================
---- tools/qvfb/qvfbview.cpp
-+++ tools/qvfb/qvfbview.cpp
-@@ -115,7 +115,7 @@
- data = (unsigned char *)shmat( shmId, 0, 0 );
- }
-
-- if ( (int)data == -1 )
-+ if ( (long)data == -1 )
- qFatal( "Cannot attach to shared memory" );
-
- hdr = (QVFbHeader *)data;
diff --git a/opensuse/core/qt3/qt3-libpng14.diff b/opensuse/core/qt3/qt3-libpng14.diff
deleted file mode 100644
index 8df6929fa..000000000
--- a/opensuse/core/qt3/qt3-libpng14.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: qt-x11-free-3.3.8b/src/kernel/qpngio.cpp
-===================================================================
---- qt-x11-free-3.3.8b.orig/src/kernel/qpngio.cpp
-+++ qt-x11-free-3.3.8b/src/kernel/qpngio.cpp
-@@ -162,7 +162,7 @@ void setup_qt( QImage& image, png_struct
- image.setColor( i, qRgba(c,c,c,0xff) );
- }
- if ( png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS) ) {
-- const int g = info_ptr->trans_values.gray;
-+ const int g = info_ptr->trans_color.gray;
- if (g < ncols) {
- image.setAlphaBuffer(TRUE);
- image.setColor(g, image.color(g) & RGB_MASK);
-@@ -190,7 +190,7 @@ void setup_qt( QImage& image, png_struct
- info_ptr->palette[i].red,
- info_ptr->palette[i].green,
- info_ptr->palette[i].blue,
-- info_ptr->trans[i]
-+ info_ptr->trans_alpha[i]
- )
- );
- i++;
diff --git a/opensuse/core/qt3/qt3-never-strip.diff b/opensuse/core/qt3/qt3-never-strip.diff
index 86e09c1ef..da38a015b 100644
--- a/opensuse/core/qt3/qt3-never-strip.diff
+++ b/opensuse/core/qt3/qt3-never-strip.diff
@@ -1,6 +1,6 @@
--- qmake/generators/unix/unixmake.cpp
+++ qmake/generators/unix/unixmake.cpp
-@@ -836,7 +836,7 @@
+@@ -839,7 +839,7 @@
ret += "\n\t";
ret += QString(resource ? "-$(INSTALL_DIR)" : "-$(INSTALL_FILE)") + " \"" +
src_targ + "\" \"" + dst_targ + "\"";
diff --git a/opensuse/core/qt3/qt3-warnings.diff b/opensuse/core/qt3/qt3-warnings.diff
index 870017ded..a67293de3 100644
--- a/opensuse/core/qt3/qt3-warnings.diff
+++ b/opensuse/core/qt3/qt3-warnings.diff
@@ -2,7 +2,7 @@ Index: src/kernel/qimage.h
===================================================================
--- src/kernel/qimage.h (revision 594273)
+++ src/kernel/qimage.h (working copy)
-@@ -55,7 +55,7 @@ public:
+@@ -58,7 +58,7 @@ public:
QCString lang;
bool operator< (const QImageTextKeyLang& other) const
diff --git a/opensuse/core/qt3/qt3.changes b/opensuse/core/qt3/qt3.changes
index 72551ce1c..bffb1fdc2 100644
--- a/opensuse/core/qt3/qt3.changes
+++ b/opensuse/core/qt3/qt3.changes
@@ -1,4 +1,13 @@
-------------------------------------------------------------------
+Sat Nov 19 23:23:57 UTC 2011 - andrea@nucleus.it
+
+- Removed all the patches already applied in the 3.3.8d tree.
+- Modified all the remaining to apply with fuzz=0.
+- Created a new patch to revert the use of libiodbc to libodbc
+ otherwise qt3-unixODBC does not build.
+- Some cosmetic change to the specfiles.
+
+-------------------------------------------------------------------
Sun Nov 13 22:40:37 UTC 2011 - robxu9@gmail.com
- Remove 0001-dnd_optimization.patch; upstream
diff --git a/opensuse/core/qt3/qt3.spec b/opensuse/core/qt3/qt3.spec
index 0c6df00cd..ffc2a9e61 100644
--- a/opensuse/core/qt3/qt3.spec
+++ b/opensuse/core/qt3/qt3.spec
@@ -40,8 +40,6 @@ Provides: qt_library_%version
Recommends: kdelibs3-default-style
PreReq: /bin/grep
# COMMON-BEGIN
-%define x11_free -x11-free-
-%define rversion 3.3.8b
Source0: http://mirror.its.uidaho.edu/pub/trinity/releases/3.5.13/dependencies/qt3-3.3.8.d.tar.gz
Source1: build_script.sh
Source2: qtconfig3.desktop
@@ -54,10 +52,8 @@ Source9: linguist.desktop
Source5: linguist.png
Source10: qt3.sh
Source11: qt3.csh
-# Translations did not change at 3.3.8c
+# Translations did not change at 3.3.8d
Source12: qt3-3.3.8b-translations.tar.bz2
-Source100: qtkdeintegration_x11.cpp
-Source101: qtkdeintegration_x11_p.h
Source102: baselibs.conf
Source200: attributes
Source201: update_spec.pl
@@ -70,43 +66,24 @@ Patch14: lib64-plugin-support.diff
Patch15: pluginmanager-fix.diff
Patch18: no-rpath.dif
Patch19: shut-up.diff
-Patch21: fix-GL-loading.diff
Patch23: fix-accessible.diff
-Patch28: fix-key-release-event-with-imm.diff
Patch31: limit-image-size.diff
-Patch34: 0005-qpixmap_mitshm.patch
Patch35: qt-transparency.patch
Patch37: 0055-qtextedit_zoom.patch
-Patch38: 0048-qclipboard_hack_80072.patch
Patch39: fix-qtranslator-crash.diff
-Patch40: 0059-qpopup_has_mouse.patch
-Patch41: 0060-qpopup_ignore_mousepos.patch
Patch42: add_qexport_visibility.patch
-Patch43: 0056-khotkeys_input_84434.patch
-Source250: enable-designer-plugins.diff
-Patch53: fix-xinerama-dialog-placement.diff
Patch54: kmenu-search-fix.diff
-Patch55: qt3-fix-cast.diff
-Patch100: qt.patch
-Patch101: qt3-arm-gcc4.patch
-Patch102: xinerama.patch
Patch113: fix-assistant-path.patch
Patch117: qtimer-debug.diff
-Patch119: xinerama-qpopupmenu.diff
Patch121: qt3-warnings.diff
-Patch123: use-xrandr-1.2.diff
Patch125: qcstring-format-warnings.diff
Patch127: mng-reading-fix.patch
-Patch128: 0079-compositing-types.patch
-Patch129: 0080-net-wm-sync-request.patch
-Patch132: revert-qt-3.3.8-khmer-fix.diff
-Patch133: 0085-fix-buildkey.diff
Patch134: fix-xinput-clash.diff
Patch135: parseFontName.diff
Patch136: qt3-no-date.diff
Patch137: popen-leak-fix.diff
-Patch138: qt3-libpng14.diff
Patch139: gcc46.diff
+Patch140: revert-iodbc-to-uodbc.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@@ -139,55 +116,28 @@ fi
%patch18
%patch19
%patch23
-#%patch28
%patch31
-%patch34
%patch35
%patch37
-%patch38
%patch39
-%patch40
-%patch41
%patch42
-%patch43
-%patch100
-%patch102
-%patch53
%patch54
-%patch55
-%patch101
%patch113
%patch117
-%patch119
%patch121
-%patch123
ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/
ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/
ln -sf $PWD/src/kernel/qinputcontext.h include/
ln -sf $PWD/src/kernel/qinputcontextinterface_p.h include/private/
ln -sf $PWD/src/kernel/qximinputcontext_p.h include/private/
-if [ %_lib = "lib" ]; then
-sed 's,/lib64/,/lib/,' %PATCH21 | patch -p0
-else
-%patch21
-fi
%patch125
%patch127
-%patch128
-%patch129
-%patch132
-%patch133
%patch134
%patch135
%patch136
%patch137
-%if %suse_version > 1120
-%patch138 -p1
-%endif
%patch139
-# copy qt kde integration files
-cp %SOURCE100 %SOURCE101 src/kernel/
-cp %SOURCE101 include/private/
+%patch140
cd translations
tar xvjf %SOURCE12
cd ..
@@ -337,7 +287,7 @@ fi
%files
%defattr(-,root,root,755)
# FIXME provide new changelog if kb9vqf will give one
-%doc changes-3.3.8b README* LICENSE* MANIFEST FAQ
+%doc changes-3.3.8d README* LICENSE* MANIFEST FAQ
%dir /usr/lib/qt3/translations
%dir /usr/lib/qt3
%dir /usr/lib/qt3/bin
diff --git a/opensuse/core/qt3/qtimer-debug.diff b/opensuse/core/qt3/qtimer-debug.diff
index 5511f2a16..65db5f4f6 100644
--- a/opensuse/core/qt3/qtimer-debug.diff
+++ b/opensuse/core/qt3/qtimer-debug.diff
@@ -1,6 +1,6 @@
--- src/kernel/qeventloop_unix.cpp
+++ src/kernel/qeventloop_unix.cpp
-@@ -514,6 +528,17 @@
+@@ -517,6 +531,17 @@
return (tm->tv_sec*1000) + (tm->tv_usec/1000);
}
@@ -18,7 +18,7 @@
int QEventLoop::activateTimers()
{
if ( !timerList || !timerList->count() ) // no timers
-@@ -549,9 +574,27 @@
+@@ -552,9 +577,27 @@
t->timeout += t->interval;
if ( t->timeout < currentTime )
t->timeout = currentTime + t->interval;
diff --git a/opensuse/core/qt3/qtkdeintegration_x11.cpp b/opensuse/core/qt3/qtkdeintegration_x11.cpp
deleted file mode 100644
index 8f837b412..000000000
--- a/opensuse/core/qt3/qtkdeintegration_x11.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-#define QT_CLEAN_NAMESPACE
-#include "qtkdeintegration_x11_p.h"
-
-#include <qcolordialog.h>
-#include <qfiledialog.h>
-#include <qfontdialog.h>
-#include <qlibrary.h>
-#include <qregexp.h>
-#include <qmessagebox.h>
-#include <stdlib.h>
-
-bool QKDEIntegration::inited = false;
-bool QKDEIntegration::enable = false;
-
-bool QKDEIntegration::enabled()
- {
- if( !inited )
- initLibrary();
- return enable;
- }
-
-static QCString findLibrary()
- {
- if( getenv( "QT_NO_KDE_INTEGRATION" ) == NULL
- || getenv( "QT_NO_KDE_INTEGRATION" )[ 0 ] == '0' )
- {
-#ifdef USE_LIB64_PATHES
- return "/opt/kde3/lib64/kde3/plugins/integration/libqtkde";
-#else
- return "/opt/kde3/lib/kde3/plugins/integration/libqtkde";
-#endif
- }
- return "";
- }
-
-inline static long widgetToWinId( const QWidget* w )
- {
- return w != NULL ? w->winId() : 0;
- }
-
-inline static QFont fontPtrToFontRef( const QFont* f )
- {
- return f != NULL ? *f : QFont();
- }
-
-// ---
-static bool (*qtkde_initializeIntegration)( );
-static QStringList (*qtkde_getOpenFileNames)( const QString& filter, QString* workingDirectory,
- long parent, const QCString& name, const QString& caption, QString* selectedFilter,
- bool multiple );
-static QString (*qtkde_getSaveFileName)( const QString& initialSelection, const QString& filter,
- QString* workingDirectory, long parent, const QCString& name, const QString& caption,
- QString* selectedFilter );
-static QString (*qtkde_getExistingDirectory)( const QString& initialDirectory, long parent,
- const QCString& name, const QString& caption );
-static QColor (*qtkde_getColor)( const QColor& color, long parent, const QCString& name );
-static QFont (*qtkde_getFont)( bool* ok, const QFont& def, long parent, const QCString& name );
-static int (*qtkde_messageBox1)( int type, long parent, const QString& caption, const QString& text,
- int button0, int button1, int button2 );
-static int (*qtkde_messageBox2)( int type, long parent, const QString& caption, const QString& text,
- const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton );
-
-void QKDEIntegration::initLibrary()
- {
- if( !inited )
- {
- enable = false;
- inited = true;
- QString libpath = findLibrary();
- if( libpath.isEmpty())
- return;
- QLibrary lib( libpath );
- lib.setAutoUnload( false );
- qtkde_initializeIntegration = (
- bool (*)( )
- )
- lib.resolve("initializeIntegration");
- if( qtkde_initializeIntegration == NULL )
- return;
- qtkde_getOpenFileNames = (
- QStringList (*)( const QString& filter, QString* workingDirectory, long parent,
- const QCString& name, const QString& caption, QString* selectedFilter,
- bool multiple )
- )
- lib.resolve("getOpenFileNames");
- if( qtkde_getOpenFileNames == NULL )
- return;
- qtkde_getSaveFileName = (
- QString (*)( const QString& initialSelection, const QString& filter, QString* workingDirectory,
- long parent, const QCString& name, const QString& caption, QString* selectedFilter )
- )
- lib.resolve("getSaveFileName");
- if( qtkde_getSaveFileName == NULL )
- return;
- qtkde_getExistingDirectory = (
- QString (*)( const QString& initialDirectory, long parent, const QCString& name,
- const QString& caption )
- )
- lib.resolve("getExistingDirectory");
- if( qtkde_getExistingDirectory == NULL )
- return;
- qtkde_getColor = (
- QColor (*)( const QColor& color, long parent, const QCString& name )
- )
- lib.resolve("getColor");
- if( qtkde_getColor == NULL )
- return;
- qtkde_getFont = (
- QFont (*)( bool* ok, const QFont& def, long parent, const QCString& name )
- )
- lib.resolve("getFont");
- if( qtkde_getFont == NULL )
- return;
- qtkde_messageBox1 = (
- int (*)( int type, long parent, const QString& caption, const QString& text,
- int button0, int button1, int button2 )
- )
- lib.resolve("messageBox1");
- if( qtkde_messageBox1 == NULL )
- return;
- qtkde_messageBox2 = (
- int (*)( int type, long parent, const QString& caption, const QString& text,
- const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton )
- )
- lib.resolve("messageBox2");
- if( qtkde_messageBox2 == NULL )
- return;
- enable = qtkde_initializeIntegration();
- }
- }
-
-bool QKDEIntegration::initializeIntegration( )
- {
- return qtkde_initializeIntegration(
- );
- }
-QStringList QKDEIntegration::getOpenFileNames( const QString& filter, QString* workingDirectory,
- QWidget* parent, const char* name, const QString& caption, QString* selectedFilter,
- bool multiple )
- {
- return qtkde_getOpenFileNames(
- filter, workingDirectory, widgetToWinId( parent ), name, caption, selectedFilter, multiple );
- }
-QString QKDEIntegration::getSaveFileName( const QString& initialSelection, const QString& filter,
- QString* workingDirectory, QWidget* parent, const char* name, const QString& caption,
- QString* selectedFilter )
- {
- return qtkde_getSaveFileName(
- initialSelection, filter, workingDirectory, widgetToWinId( parent ), name, caption, selectedFilter );
- }
-QString QKDEIntegration::getExistingDirectory( const QString& initialDirectory, QWidget* parent,
- const char* name, const QString& caption )
- {
- return qtkde_getExistingDirectory(
- initialDirectory, widgetToWinId( parent ), name, caption );
- }
-QColor QKDEIntegration::getColor( const QColor& color, QWidget* parent, const char* name )
- {
- return qtkde_getColor(
- color, widgetToWinId( parent ), name );
- }
-QFont QKDEIntegration::getFont( bool* ok, const QFont* def, QWidget* parent, const char* name )
- {
- return qtkde_getFont(
- ok, fontPtrToFontRef( def ), widgetToWinId( parent ), name );
- }
-int QKDEIntegration::messageBox1( int type, QWidget* parent, const QString& caption,
- const QString& text, int button0, int button1, int button2 )
- {
- return qtkde_messageBox1(
- type, widgetToWinId( parent ), caption, text, button0, button1, button2 );
- }
-int QKDEIntegration::messageBox2( int type, QWidget* parent, const QString& caption,
- const QString& text, const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton )
- {
- return qtkde_messageBox2(
- type, widgetToWinId( parent ), caption, text, button0Text, button1Text, button2Text, defaultButton, escapeButton );
- }
-// ---
-
-int QKDEIntegration::information( QWidget* parent, const QString& caption,
- const QString& text, int button0, int button1, int button2 )
- {
- return qtkde_messageBox1(
- QMessageBox::Information, widgetToWinId( parent ), caption, text, button0, button1, button2 );
- }
-
-int QKDEIntegration::question( QWidget* parent, const QString& caption,
- const QString& text, int button0, int button1, int button2 )
- {
- return qtkde_messageBox1(
- QMessageBox::Question, widgetToWinId( parent ), caption, text, button0, button1, button2 );
- }
-
-int QKDEIntegration::warning( QWidget* parent, const QString& caption,
- const QString& text, int button0, int button1, int button2 )
- {
- return qtkde_messageBox1(
- QMessageBox::Warning, widgetToWinId( parent ), caption, text, button0, button1, button2 );
- }
-
-int QKDEIntegration::critical( QWidget* parent, const QString& caption,
- const QString& text, int button0, int button1, int button2 )
- {
- return qtkde_messageBox1(
- QMessageBox::Critical, widgetToWinId( parent ), caption, text, button0, button1, button2 );
- }
-
-int QKDEIntegration::information( QWidget* parent, const QString& caption,
- const QString& text, const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton )
- {
- return qtkde_messageBox2(
- QMessageBox::Information, widgetToWinId( parent ), caption, text, button0Text, button1Text, button2Text, defaultButton, escapeButton );
- }
-
-int QKDEIntegration::question( QWidget* parent, const QString& caption,
- const QString& text, const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton )
- {
- return qtkde_messageBox2(
- QMessageBox::Question, widgetToWinId( parent ), caption, text, button0Text, button1Text, button2Text, defaultButton, escapeButton );
- }
-
-int QKDEIntegration::warning( QWidget* parent, const QString& caption,
- const QString& text, const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton )
- {
- return qtkde_messageBox2(
- QMessageBox::Warning, widgetToWinId( parent ), caption, text, button0Text, button1Text, button2Text, defaultButton, escapeButton );
- }
-
-int QKDEIntegration::critical( QWidget* parent, const QString& caption,
- const QString& text, const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton )
- {
- return qtkde_messageBox2(
- QMessageBox::Critical, widgetToWinId( parent ), caption, text, button0Text, button1Text, button2Text, defaultButton, escapeButton );
- }
diff --git a/opensuse/core/qt3/qtkdeintegration_x11_p.h b/opensuse/core/qt3/qtkdeintegration_x11_p.h
deleted file mode 100644
index 9c1676ddb..000000000
--- a/opensuse/core/qt3/qtkdeintegration_x11_p.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef QKDEINTEGRATION_H
-#define QKDEINTEGRATION_H
-
-#include <qstringlist.h>
-
-class QLibrary;
-class QWidget;
-class QColor;
-class QFont;
-
-class QKDEIntegration
- {
- public:
- static bool enabled();
-// ---
- static bool initializeIntegration( );
- static QStringList getOpenFileNames( const QString& filter, QString* workingDirectory,
- QWidget* parent, const char* name, const QString& caption, QString* selectedFilter,
- bool multiple );
- static QString getSaveFileName( const QString& initialSelection, const QString& filter,
- QString* workingDirectory, QWidget* parent, const char* name, const QString& caption,
- QString* selectedFilter );
- static QString getExistingDirectory( const QString& initialDirectory, QWidget* parent,
- const char* name, const QString& caption );
- static QColor getColor( const QColor& color, QWidget* parent, const char* name );
- static QFont getFont( bool* ok, const QFont* def, QWidget* parent, const char* name );
- static int messageBox1( int type, QWidget* parent, const QString& caption,
- const QString& text, int button0, int button1, int button2 );
- static int information( QWidget* parent, const QString& caption, const QString& text,
- int button0, int button1, int button2 );
- static int question( QWidget* parent, const QString& caption, const QString& text,
- int button0, int button1, int button2 );
- static int warning( QWidget* parent, const QString& caption, const QString& text,
- int button0, int button1, int button2 );
- static int critical( QWidget* parent, const QString& caption, const QString& text,
- int button0, int button1, int button2 );
- static int messageBox2( int type, QWidget* parent, const QString& caption,
- const QString& text, const QString& button0Text, const QString& button1Text,
- const QString& button2Text, int defaultButton, int escapeButton );
- static int information( QWidget* parent, const QString& caption, const QString& text,
- const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton );
- static int question( QWidget* parent, const QString& caption, const QString& text,
- const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton );
- static int warning( QWidget* parent, const QString& caption, const QString& text,
- const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton );
- static int critical( QWidget* parent, const QString& caption, const QString& text,
- const QString& button0Text, const QString& button1Text, const QString& button2Text,
- int defaultButton, int escapeButton );
-// ---
- private:
- static void initLibrary();
- static bool inited;
- static bool enable;
- };
-
-#endif
diff --git a/opensuse/core/qt3/qtrc-path.diff b/opensuse/core/qt3/qtrc-path.diff
index 41830d988..3ed8a86a0 100644
--- a/opensuse/core/qt3/qtrc-path.diff
+++ b/opensuse/core/qt3/qtrc-path.diff
@@ -1,6 +1,6 @@
--- src/tools/qsettings.cpp
+++ src/tools/qsettings.cpp
-@@ -36,6 +36,7 @@
+@@ -39,6 +39,7 @@
**********************************************************************/
#include "qplatformdefs.h"
@@ -8,7 +8,7 @@
// POSIX Large File Support redefines open -> open64
static inline int qt_open( const char *pathname, int flags, mode_t mode )
-@@ -465,8 +466,18 @@
+@@ -468,8 +469,18 @@
Q_UNUSED( format );
#endif
@@ -29,7 +29,7 @@
#ifdef Q_WS_WIN
#ifdef Q_OS_TEMP
TCHAR path[MAX_PATH];
-@@ -514,6 +525,15 @@
+@@ -517,6 +528,15 @@
if ( !!defPath )
searchPaths.append(defPath);
diff --git a/opensuse/core/qt3/revert-iodbc-to-uodbc.diff b/opensuse/core/qt3/revert-iodbc-to-uodbc.diff
new file mode 100644
index 000000000..f7c815ef1
--- /dev/null
+++ b/opensuse/core/qt3/revert-iodbc-to-uodbc.diff
@@ -0,0 +1,22 @@
+--- src/sql/qt_sql.pri 2011-10-30 19:55:58.000000000 +0100
++++ src/sql/qt_sql.pri 2008-01-15 20:09:13.000000000 +0100
+@@ -116,7 +116,7 @@
+
+ unix {
+ !contains( LIBS, .*odbc.* ) {
+- LIBS *= -liodbc
++ LIBS *= -lodbc
+ }
+ }
+
+--- plugins/src/sqldrivers/odbc/odbc.pro 2011-10-30 19:55:57.000000000 +0100
++++ plugins/src/sqldrivers/odbc/odbc.pro 2008-01-15 20:09:17.000000000 +0100
+@@ -17,7 +17,7 @@
+ unix {
+ OBJECTS_DIR = .obj
+ !contains( LIBS, .*odbc.* ) {
+- LIBS *= -liodbc
++ LIBS *= -lodbc
+ }
+ }
+
diff --git a/opensuse/core/qt3/shut-up.diff b/opensuse/core/qt3/shut-up.diff
index 6191c5d93..498b25b62 100644
--- a/opensuse/core/qt3/shut-up.diff
+++ b/opensuse/core/qt3/shut-up.diff
@@ -1,6 +1,6 @@
--- src/kernel/qpixmap_x11.cpp
+++ src/kernel/qpixmap_x11.cpp
-@@ -288,8 +288,9 @@
+@@ -394,8 +394,9 @@
{
#if defined(QT_CHECK_STATE)
if ( qApp->type() == QApplication::Tty ) {
@@ -14,7 +14,7 @@
--- src/tools/qcomlibrary.cpp
+++ src/tools/qcomlibrary.cpp
-@@ -102,25 +102,11 @@
+@@ -105,25 +105,11 @@
(const char*) QFile::encodeName(library) );
} else if ( ( version > QT_VERSION ) ||
( ( QT_VERSION & 0xff0000 ) > ( version & 0xff0000 ) ) ) {
diff --git a/opensuse/core/qt3/use-xrandr-1.2.diff b/opensuse/core/qt3/use-xrandr-1.2.diff
deleted file mode 100644
index 4ec4174e7..000000000
--- a/opensuse/core/qt3/use-xrandr-1.2.diff
+++ /dev/null
@@ -1,106 +0,0 @@
-qt-bugs@ issue :
-bugs.kde.org number :
-applied: no
-author: Dirk Mueller <mueller@kde.org>
-
-support xrandr 1.2 configurations. same patch like for trunk qt-copy,
-please see there for details.
-
-
---- src/kernel/qdesktopwidget_x11.cpp
-+++ src/kernel/qdesktopwidget_x11.cpp
-@@ -107,7 +107,7 @@ QDesktopWidgetPrivate::~QDesktopWidgetPr
- screens[i] = 0;
- }
-
-- delete [] screens;
-+ free(screens);
- }
-
- if ( rects ) delete [] rects;
-@@ -119,30 +119,33 @@ void QDesktopWidgetPrivate::init()
- // get the screen count
- #ifndef QT_NO_XINERAMA
- XineramaScreenInfo *xinerama_screeninfo = 0;
-- int unused;
-+ int unused, newScreenCount;
- use_xinerama = (XineramaQueryExtension(QPaintDevice::x11AppDisplay(),
- &unused, &unused) &&
- XineramaIsActive(QPaintDevice::x11AppDisplay()));
-
- if (use_xinerama) {
- xinerama_screeninfo =
-- XineramaQueryScreens(QPaintDevice::x11AppDisplay(), &screenCount);
-+ XineramaQueryScreens(QPaintDevice::x11AppDisplay(), &newScreenCount);
-+
-+ if (xinerama_screeninfo)
- defaultScreen = 0;
- } else
- #endif // QT_NO_XINERAMA
- {
- defaultScreen = DefaultScreen(QPaintDevice::x11AppDisplay());
-- screenCount = ScreenCount(QPaintDevice::x11AppDisplay());
-+ newScreenCount = ScreenCount(QPaintDevice::x11AppDisplay());
-+ use_xinerama = false;
- }
-
- delete [] rects;
-- rects = new QRect[ screenCount ];
-+ rects = new QRect[ newScreenCount ];
- delete [] workareas;
-- workareas = new QRect[ screenCount ];
-+ workareas = new QRect[ newScreenCount ];
-
- // get the geometry of each screen
-- int i, x, y, w, h;
-- for ( i = 0; i < screenCount; i++ ) {
-+ int i, j, x, y, w, h;
-+ for ( i = 0, j = 0; i < newScreenCount; i++ ) {
-
- #ifndef QT_NO_XINERAMA
- if (use_xinerama) {
-@@ -159,11 +162,33 @@ void QDesktopWidgetPrivate::init()
- h = HeightOfScreen(ScreenOfDisplay(QPaintDevice::x11AppDisplay(), i));
- }
-
-- rects[i].setRect(x, y, w, h);
- workareas[i] = QRect();
-+ rects[j].setRect(x, y, w, h);
-+
-+ // overlapping?
-+ if (j > 0 && rects[j-1].intersects(rects[j])) {
-+ // pick the bigger one, ignore the other
-+ if ((rects[j].width()*rects[j].height()) >
-+ (rects[j-1].width()*rects[j-1].height()))
-+ rects[j-1] = rects[j];
-+ }
-+ else
-+ j++;
- }
-
-+ if (screens) {
-+ // leaks QWidget* pointers on purpose, can't delete them as pointer escapes
-+ screens = (QWidget**) realloc(screens, j * sizeof(QWidget*));
-+ if (j > screenCount)
-+ memset(&screens[screenCount], 0, (j-screenCount) * sizeof(QWidget*));
-+ }
-+
-+ screenCount = j;
-+
- #ifndef QT_NO_XINERAMA
-+ if (use_xinerama && screenCount == 1)
-+ use_xinerama = false;
-+
- if (xinerama_screeninfo)
- XFree(xinerama_screeninfo);
- #endif // QT_NO_XINERAMA
-@@ -216,8 +241,7 @@ QWidget *QDesktopWidget::screen( int scr
- screen = d->defaultScreen;
-
- if ( ! d->screens ) {
-- d->screens = new QWidget*[ d->screenCount ];
-- memset( d->screens, 0, d->screenCount * sizeof( QWidget * ) );
-+ d->screens = (QWidget**) calloc( d->screenCount, sizeof(QWidget*));
- d->screens[ d->defaultScreen ] = this;
- }
-
diff --git a/opensuse/core/qt3/xinerama-qpopupmenu.diff b/opensuse/core/qt3/xinerama-qpopupmenu.diff
deleted file mode 100644
index 07927206f..000000000
--- a/opensuse/core/qt3/xinerama-qpopupmenu.diff
+++ /dev/null
@@ -1,104 +0,0 @@
---- src/widgets/qpopupmenu.cpp.sav
-+++ src/widgets/qpopupmenu.cpp
-@@ -457,6 +457,15 @@
- menuContentsChanged();
- }
-
-+QRect QPopupMenu::screenRect( const QPoint& pos )
-+{
-+ int screen_num = QApplication::desktop()->screenNumber( pos );
-+#ifdef Q_WS_MAC
-+ return QApplication::desktop()->availableGeometry( screen_num );
-+#else
-+ return QApplication::desktop()->screenGeometry( screen_num );
-+#endif
-+}
- /*!
- Displays the popup menu so that the item number \a indexAtPoint
- will be at the specified \e global position \a pos. To translate a
-@@ -501,6 +510,15 @@
- // point.
- #endif
-
-+ QRect screen = screenRect( geometry().center());
-+ QRect screen2 = screenRect( QApplication::reverseLayout()
-+ ? pos+QPoint(width(),0) : pos );
-+ // if the widget is not in the screen given by the position, move it
-+ // there, so that updateSize() uses the right size of the screen
-+ if( screen != screen2 ) {
-+ screen = screen2;
-+ move( screen.x(), screen.y());
-+ }
- if(d->scroll.scrollable) {
- d->scroll.scrollable = QPopupMenuPrivate::Scroll::ScrollNone;
- d->scroll.topScrollableIndex = d->scroll.scrollableSize = 0;
-@@ -520,18 +538,6 @@
- updateSize(TRUE);
- }
-
-- int screen_num;
-- if (QApplication::desktop()->isVirtualDesktop())
-- screen_num =
-- QApplication::desktop()->screenNumber( QApplication::reverseLayout() ?
-- pos+QPoint(width(),0) : pos );
-- else
-- screen_num = QApplication::desktop()->screenNumber( this );
--#ifdef Q_WS_MAC
-- QRect screen = QApplication::desktop()->availableGeometry( screen_num );
--#else
-- QRect screen = QApplication::desktop()->screenGeometry( screen_num );
--#endif
- int sw = screen.width(); // screen width
- int sh = screen.height(); // screen height
- int sx = screen.x(); // screen pos
-@@ -1059,7 +1065,7 @@
- mi->iconSet()->pixmap( QIconSet::Small, QIconSet::Normal ).width() + 4 );
- }
-
-- int dh = QApplication::desktop()->height();
-+ int dh = screenRect( geometry().center()).height();
- ncols = 1;
-
- for ( QMenuItemListIt it2( *mitems ); it2.current(); ++it2 ) {
-@@ -2313,9 +2319,9 @@
- bool right = FALSE;
- if ( ( parentMenu && parentMenu->isPopupMenu &&
- ((QPopupMenu*)parentMenu)->geometry().x() < geometry().x() ) ||
-- p.x() < 0 )
-+ p.x() < screenRect( p ).left())
- right = TRUE;
-- if ( right && (ps.width() > QApplication::desktop()->width() - mapToGlobal( r.topRight() ).x() ) )
-+ if ( right && (ps.width() > screenRect( p ).right() - mapToGlobal( r.topRight() ).x() ) )
- right = FALSE;
- if ( right )
- p.setX( mapToGlobal( r.topRight() ).x() );
-@@ -2326,7 +2332,7 @@
- bool left = FALSE;
- if ( ( parentMenu && parentMenu->isPopupMenu &&
- ((QPopupMenu*)parentMenu)->geometry().x() > geometry().x() ) ||
-- p.x() + ps.width() > QApplication::desktop()->width() )
-+ p.x() + ps.width() > screenRect( p ).right() )
- left = TRUE;
- if ( left && (ps.width() > mapToGlobal( r.topLeft() ).x() ) )
- left = FALSE;
-@@ -2334,8 +2340,8 @@
- p.setX( mapToGlobal( r.topLeft() ).x() - ps.width() );
- }
- QRect pr = popup->itemGeometry(popup->count() - 1);
-- if (p.y() + ps.height() > QApplication::desktop()->height() &&
-- p.y() - ps.height() + (QCOORD) pr.height() >= 0)
-+ if (p.y() + ps.height() > screenRect( p ).bottom() &&
-+ p.y() - ps.height() + (QCOORD) pr.height() >= screenRect( p ).top())
- p.setY( p.y() - ps.height() + (QCOORD) pr.height());
-
- if ( style().styleHint(QStyle::SH_PopupMenu_SloppySubMenus, this )) {
---- src/widgets/qpopupmenu.h.sav
-+++ src/widgets/qpopupmenu.h
-@@ -152,6 +152,7 @@
-
- QSize updateSize(bool force_recalc=FALSE, bool do_resize=TRUE);
- void updateRow( int row );
-+ QRect screenRect(const QPoint& pos);
- #ifndef QT_NO_ACCEL
- void updateAccel( QWidget * );
- void enableAccel( bool );
diff --git a/opensuse/core/qt3/xinerama.patch b/opensuse/core/qt3/xinerama.patch
deleted file mode 100644
index 1fee04aae..000000000
--- a/opensuse/core/qt3/xinerama.patch
+++ /dev/null
@@ -1,49 +0,0 @@
---- src/dialogs/qdialog.cpp
-+++ src/dialogs/qdialog.cpp
-@@ -670,6 +670,11 @@
-
- #if defined(Q_WS_X11)
- extern "C" { int XSetTransientForHint( Display *, unsigned long, unsigned long ); }
-+#include <private/qt_x11_p.h>
-+#undef FocusIn
-+// defined in qapplication_x11.cpp
-+extern Atom qt_net_wm_full_placement;
-+extern bool qt_net_supports(Atom atom);
- #endif // Q_WS_X11
-
- /*!
-@@ -691,10 +696,12 @@
-
- if ( !did_resize )
- adjustSize();
-- if ( has_relpos && !did_move ) {
-- adjustPositionInternal( parentWidget(), TRUE );
-- } else if ( !did_move ) {
-- adjustPositionInternal( parentWidget() );
-+ if( !qt_net_supports( qt_net_wm_full_placement )) {
-+ if ( has_relpos && !did_move ) {
-+ adjustPositionInternal( parentWidget(), TRUE );
-+ } else if ( !did_move ) {
-+ adjustPositionInternal( parentWidget() );
-+ }
- }
-
- if (windowState() != state)
---- src/kernel/qapplication_x11.cpp
-+++ src/kernel/qapplication_x11.cpp
-@@ -273,6 +273,7 @@
- Atom qt_net_wm_state_stays_on_top = 0; // KDE extension
- Atom qt_net_wm_pid = 0;
- Atom qt_net_wm_user_time = 0;
-+Atom qt_net_wm_full_placement = 0; // KDE extension
- // Enlightenment support
- Atom qt_enlightenment_desktop = 0;
-
-@@ -1989,6 +1990,7 @@
- &qt_net_wm_state_stays_on_top );
- qt_x11_intern_atom( "_NET_WM_PID", &qt_net_wm_pid );
- qt_x11_intern_atom( "_NET_WM_USER_TIME", &qt_net_wm_user_time );
-+ qt_x11_intern_atom( "_NET_WM_FULL_PLACEMENT", &qt_net_wm_full_placement );
- qt_x11_intern_atom( "ENLIGHTENMENT_DESKTOP", &qt_enlightenment_desktop );
- qt_x11_intern_atom( "_NET_WM_NAME", &qt_net_wm_name );
- qt_x11_intern_atom( "_NET_WM_ICON_NAME", &qt_net_wm_icon_name );