--- qt-2.3.10/src/kernel/qsharedmemory.cpp~64bit 2005-12-14 12:31:39.000000000 +0000 +++ qt-2.3.10/src/kernel/qsharedmemory.cpp 2005-12-14 13:24:41.000000000 +0000 @@ -36,6 +36,7 @@ #include #include +#include #if defined(QT_POSIX_QSHM) #include @@ -122,8 +123,8 @@ if (shmId == -1) shmId = shmget (key, shmSize, 0); - shmBase = shmat (shmId, 0, 0); - if ((int) shmBase == -1 || shmBase == 0) + intptr_t shmBase = (intptr_t) shmat (shmId, 0, 0); + if (shmBase == -1 || shmBase == 0) return FALSE; else return TRUE; --- qt-2.3.10/src/kernel/qapplication_qws.cpp~64bit 2005-12-14 12:15:42.000000000 +0000 +++ qt-2.3.10/src/kernel/qapplication_qws.cpp 2005-12-14 12:19:39.000000000 +0000 @@ -87,6 +87,7 @@ #include #include #include +#include #endif #include @@ -2041,7 +2042,7 @@ w = widgetAt(*qt_last_x, *qt_last_y, FALSE); if ( !w ) w = desktop(); - QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle()); + QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle()); } void QApplication::restoreOverrideCursor() @@ -2060,11 +2061,11 @@ cursorStack = 0; qws_overrideCursor = FALSE; if ( w->testWState(WState_OwnCursor) ) - QPaintDevice::qwsDisplay()->selectCursor(w, (int)w->cursor().handle()); + QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)w->cursor().handle()); else QPaintDevice::qwsDisplay()->selectCursor(w, ArrowCursor); } else { - QPaintDevice::qwsDisplay()->selectCursor(w, (int)app_cursor->handle()); + QPaintDevice::qwsDisplay()->selectCursor(w, (intptr_t)app_cursor->handle()); } } #endif// QT_NO_CURSOR @@ -2635,7 +2636,7 @@ } if ( !qws_overrideCursor ) { // is override cursor active? if (curs) - QPaintDevice::qwsDisplay()->selectCursor(widget, (int)curs->handle()); + QPaintDevice::qwsDisplay()->selectCursor(widget, (intptr_t)curs->handle()); else QPaintDevice::qwsDisplay()->selectCursor(widget, ArrowCursor); } --- qt-2.3.10/src/kernel/qgfxlinuxfb_qws.cpp~64bit 2005-01-23 14:00:46.000000000 +0000 +++ qt-2.3.10/src/kernel/qgfxlinuxfb_qws.cpp 2005-12-14 12:04:56.000000000 +0000 @@ -42,6 +42,7 @@ #include #include #include +#include #include "qgfxlinuxfb_qws.h" #include "qwindowsystem_qws.h" @@ -164,7 +165,7 @@ MAP_SHARED, fd, 0); data += dataoffset; - if ((int)data == -1) { + if ((intptr_t)data == -1) { perror("mapping /dev/fb0"); qWarning("Error: failed to map framebuffer device to memory."); return FALSE; @@ -703,7 +704,7 @@ psize += 8; // for alignment psize &= ~0x7; // align - unsigned int pos=(unsigned int)data; + uintptr_t pos=(uintptr_t)data; pos += psize; entryp = ((int *)pos); lowest = ((unsigned int *)pos)+1; --- qt-2.3.10/src/kernel/qmemorymanager_qws.h~64bit 2005-01-23 14:00:46.000000000 +0000 +++ qt-2.3.10/src/kernel/qmemorymanager_qws.h 2005-12-14 12:00:32.000000000 +0000 @@ -33,6 +33,9 @@ #ifndef QMEMORYMANAGER_H #define QMEMORYMANAGER_H +/* Needed for uintptr_t to allow 64bit clean pointer handling */ +#include + #ifndef QT_H #include #include @@ -126,8 +129,8 @@ // constructs from a memory ptr to where the data after the item starts QSMCacheItemPtr(void *data) { char *ptr = (char*)data; - if ( (int)ptr != (((int)ptr+3)&~3) ) - qDebug("err, passed a non-aligned data ptr %x", (int)ptr); + if (intptr_t(data)&3!=0) + qDebug("err, passed a non-aligned data ptr %p", ptr); d = (QSMCacheItem*)(ptr - sizeof(QSMCacheItem)); } // returns a pointer to the data after the item --- qt-2.3.10/src/kernel/qwsregionmanager_qws.cpp~64bit 2005-12-14 13:25:06.000000000 +0000 +++ qt-2.3.10/src/kernel/qwsregionmanager_qws.cpp 2005-12-14 13:25:51.000000000 +0000 @@ -32,6 +32,7 @@ #include "qwsdisplay_qws.h" #include "qwsregionmanager_qws.h" #include +#include #ifndef QT_NO_QWS_MULTIPROCESS #include @@ -286,7 +287,7 @@ data = (unsigned char *)shmat( shmId, 0, SHM_RDONLY ); } - return ( shmId != -1 && (int)data != -1 ); + return ( shmId != -1 && (intptr_t)data != -1 ); #else int dataSize = sizeof(QWSRegionHeader) // header + sizeof(QWSRegionIndex) * QT_MAX_REGIONS // + index --- qt-2.3.10/src/kernel/qpixmapcache.cpp~64bit 2005-12-14 13:26:43.000000000 +0000 +++ qt-2.3.10/src/kernel/qpixmapcache.cpp 2005-12-14 13:30:33.000000000 +0000 @@ -38,6 +38,7 @@ #include "qpixmapcache.h" #include "qcache.h" #include "qobject.h" +#include // REVISED: paul @@ -519,7 +520,7 @@ #endif // DEBUG_SHARED_MEMORY_CACHE } - if ( shmId == -1 || (int)shm == -1 ) + if ( shmId == -1 || (intptr_t)shm == -1 ) qFatal("Cannot attach to shared memory"); qt_sharedMemoryData = shm->data; @@ -536,8 +537,8 @@ shm->tail.setFree(false); shm->tail.setNextFree(QSMemPtr()); #ifdef THROW_AWAY_UNUSED_PAGES - int freePageStart = PAGE_ALIGN((int)&shm->first + sizeof(QSMemNode)); - int freePagesLength = PAGE_ALIGN((int)&shm->tail) - freePageStart; + intptr_t freePageStart = PAGE_ALIGN((intptr_t)&shm->first + sizeof(QSMemNode)); + intptr_t freePagesLength = PAGE_ALIGN((intptr_t)&shm->tail) - freePageStart; if ( freePagesLength ) { # ifdef DEBUG_SHARED_MEMORY_CACHE qDebug("Initially marking free pages as not needed"); @@ -770,8 +771,8 @@ node = newFreeNode->next(); #ifdef THROW_AWAY_UNUSED_PAGES - int freePageStart = PAGE_ALIGN((int)newFreeNode+sizeof(QSMemNode)); - int freePagesLength = PAGE_ALIGN((int)node) - freePageStart; + intptr_t freePageStart = PAGE_ALIGN((intptr_t)newFreeNode+sizeof(QSMemNode)); + intptr_t freePagesLength = PAGE_ALIGN((intptr_t)node) - freePageStart; if ( freePagesLength ) { #ifdef DEBUG_SHARED_MEMORY_CACHE qDebug("Marking pages not needed"); --- qt-2.3.10/src/kernel/qwidget_qws.cpp~64bit 2005-12-14 12:20:46.000000000 +0000 +++ qt-2.3.10/src/kernel/qwidget_qws.cpp 2005-12-14 12:30:35.000000000 +0000 @@ -50,6 +50,7 @@ #include "qwsmanager_qws.h" #include "qwsregionmanager_qws.h" #include "qinputcontext_p.h" +#include void qt_insert_sip( QWidget*, int, int ); // defined in qapplication_x11.cpp int qt_sip_count( QWidget* ); // --- "" --- @@ -633,7 +634,7 @@ qt_mouseGrb->releaseMouse(); qwsDisplay()->grabMouse(this,TRUE); - qwsDisplay()->selectCursor(this, (unsigned int)cursor.handle()); + qwsDisplay()->selectCursor(this, (uintptr_t)cursor.handle()); qt_mouseGrb = this; qt_pressGrab = 0; } @@ -1840,11 +1841,11 @@ void QWidget::updateCursor( const QRegion &r ) const { if ( qt_last_x && (!QWidget::mouseGrabber() || QWidget::mouseGrabber() == this) && - qt_last_cursor != (WId)cursor().handle() && !qws_overrideCursor ) { + qt_last_cursor != (uintptr_t)cursor().handle() && !qws_overrideCursor ) { QSize s( qt_screen->width(), qt_screen->height() ); QPoint pos = qt_screen->mapToDevice(QPoint(*qt_last_x, *qt_last_y), s); if ( r.contains(pos) ) - qwsDisplay()->selectCursor((QWidget*)this, (unsigned int)cursor().handle()); + qwsDisplay()->selectCursor((QWidget*)this, (uintptr_t)cursor().handle()); } } #endif --- qt-2.3.10/tools/qvfb/qvfbview.cpp~64bit 2005-12-14 13:32:47.000000000 +0000 +++ qt-2.3.10/tools/qvfb/qvfbview.cpp 2005-12-14 13:33:27.000000000 +0000 @@ -40,6 +40,7 @@ #include #include #include +#include QVFbView::QVFbView( int display_id, int _w, int _h, int d, Rotation r, QWidget *parent, @@ -136,7 +137,7 @@ data = (unsigned char *)shmat( shmId, 0, 0 ); } - if ( (int)data == -1 ){ + if ( (intptr_t)data == -1 ){ ::close(mouseFd); ::close(keyboardFd); qFatal( "Cannot attach to shared memory %d",shmId );