[oe-commits] org.oe.oz354x uicmoc 2.3.10, 3.3.5: add patch to make it build on 64bit platforms.

hrw commit openembedded-commits at lists.openembedded.org
Sun Jan 7 16:22:01 UTC 2007


uicmoc 2.3.10, 3.3.5: add patch to make it build on 64bit platforms.
Thanks Darren Edmundson for writing the patch and Eric Shattow for testing.
uicmoc3: fix a buglet in the 64bit-cleanup patch

applied changes from b10f1ed461d73562b22f666803d0299ed187ca8a
             through 0d418c5552d13b58959ab3334bcae1de8f796828

applied changes from bdfe3d888ff9f0ac9b669e49dc70d55553650a79
             through fdd0a90d3d11c8af63b9dd18e4f2ff096329e970

Author: hrw at openembedded.org
Branch: org.openembedded.oz354x
Revision: 0a22f8dde3fab12b62f662190adc3ecf57f344ca
ViewMTN: http://monotone.openembedded.org/revision.psp?id=0a22f8dde3fab12b62f662190adc3ecf57f344ca
Files:
1
packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch
packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch
packages/uicmoc/uicmoc3-native_3.3.5.bb
Diffs:

#
# mt diff -r48b7e7715acff3360975d5648923fde67dbb1cea -r0a22f8dde3fab12b62f662190adc3ecf57f344ca
#
# 
# 
# delete "packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch"
# 
# add_file "packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch"
#  content [cce2d3b9260b43abb9e33cbf12d279a7f239a461]
# 
# add_file "packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch"
#  content [bd84df91304ac70508bf9ab0b97d42843cdd6bb0]
# 
# patch "packages/uicmoc/uicmoc3-native_3.3.5.bb"
#  from [15b04577b8688635497abfc34cc37c96ff403bbc]
#    to [fab4c5abd4b0cf3bb4d7a351e6752804251fc095]
# 
============================================================
--- packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch	cce2d3b9260b43abb9e33cbf12d279a7f239a461
+++ packages/uicmoc/uicmoc-native-2.3.10/64bit-cleanup.patch	cce2d3b9260b43abb9e33cbf12d279a7f239a461
@@ -0,0 +1,226 @@
+--- 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 <sys/ipc.h>
+ #include <sys/types.h>
++#include <stdint.h>
+ 
+ #if defined(QT_POSIX_QSHM)
+ #include <fcntl.h>
+@@ -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 <sys/shm.h>
+ #include <sys/sem.h>
+ #include <sys/socket.h>
++#include <stdint.h>
+ #endif
+ 
+ #include <stdlib.h>
+@@ -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 <sys/mman.h>
+ #include <fcntl.h>
+ #include <errno.h>
++#include <stdint.h>
+ 
+ #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 <stdint.h> 
++
+ #ifndef QT_H
+ #include <qfontmanager_qws.h>
+ #include <qstring.h>
+@@ -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 <stdlib.h>
++#include <stdint.h>
+ 
+ #ifndef QT_NO_QWS_MULTIPROCESS
+ #include <sys/types.h>
+@@ -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 <stdint.h>
+ 
+ 
+ // 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 <stdint.h>
+ 
+ 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 <fcntl.h>
+ #include <errno.h>
+ #include <math.h>
++#include <stdint.h>
+ 
+ 
+ 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 );
============================================================
--- packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch	bd84df91304ac70508bf9ab0b97d42843cdd6bb0
+++ packages/uicmoc/uicmoc3-native-3.3.5/64bit-cleanup.patch	bd84df91304ac70508bf9ab0b97d42843cdd6bb0
@@ -0,0 +1,147 @@
+--- qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp~64bit	2005-12-14 15:51:23.000000000 +0000
++++ qt-embedded-free-3.3.5/src/embedded/qgfxlinuxfb_qws.cpp	2005-12-14 15:52:29.000000000 +0000
+@@ -176,7 +176,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;
+@@ -737,7 +737,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-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp~64bit	2005-12-14 15:34:43.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qsharedmemory_p.cpp	2005-12-14 15:35:26.000000000 +0000
+@@ -31,6 +31,7 @@
+ **********************************************************************/
+ 
+ #include "qsharedmemory_p.h"
++#include <stdint.h>
+ 
+ #if !defined(QT_QWS_NO_SHM)
+ 
+@@ -132,7 +133,7 @@
+     shmId = shmget (key, shmSize, 0);
+ 
+   shmBase = shmat (shmId, 0, 0);
+-  if ((int) shmBase == -1 || shmBase == 0)
++  if ((intptr_t) shmBase == -1 || shmBase == 0)
+     return FALSE;
+   else
+     return TRUE;
+--- qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp~64bit	2005-12-14 15:27:14.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qapplication_qws.cpp	2005-12-14 15:28:37.000000000 +0000
+@@ -107,6 +107,7 @@
+ #include <locale.h>
+ #include <errno.h>
+ #include <sys/time.h>
++#include <stdint.h>
+ 
+ #if defined(Q_OS_QNX)
+ #include <sys/select.h>
+@@ -1879,7 +1880,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()
+@@ -1898,11 +1899,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
+@@ -2130,7 +2131,7 @@
+ 		    }
+ 		    if ( !qws_overrideCursor ) {
+ 			if (curs)
+-			    QPaintDevice::qwsDisplay()->selectCursor(widget, (int)curs->handle());
++			    QPaintDevice::qwsDisplay()->selectCursor(widget, (intptr_t)curs->handle());
+ 			else
+ 			    QPaintDevice::qwsDisplay()->selectCursor(widget, ArrowCursor);
+ 		    }
+--- qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp~64bit	2005-12-14 15:29:17.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qfont_qws.cpp	2005-12-14 15:29:54.000000000 +0000
+@@ -49,6 +49,7 @@
+ #include "qgfx_qws.h"
+ #include "qtextengine_p.h"
+ #include "qfontengine_p.h"
++#include <stdint.h>
+ 
+ QFont::Script QFontPrivate::defaultScript = QFont::UnknownScript;
+ 
+@@ -133,7 +134,7 @@
+ 	req.pointSize = req.pixelSize*10;
+ 
+     if ( ! engineData ) {
+-	QFontCache::Key key( req, QFont::NoScript, (int)paintdevice );
++	QFontCache::Key key( req, QFont::NoScript, (intptr_t)paintdevice );
+ 
+ 	// look for the requested font in the engine data cache
+ 	engineData = QFontCache::instance->findEngineData( key );
+--- qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp~64bit	2005-12-14 15:32:12.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qwsregionmanager_qws.cpp	2005-12-14 15:32:52.000000000 +0000
+@@ -32,6 +32,7 @@
+ #include "qwsdisplay_qws.h"
+ #include "qwsregionmanager_qws.h"
+ #include <stdlib.h>
++#include <stdint.h>
+ 
+ #ifndef QT_NO_QWS_MULTIPROCESS
+ #include <sys/types.h>
+@@ -288,7 +289,7 @@
+ 	    data = (unsigned char *)shmat( shmId, 0, 0 );
+     }
+ 
+-    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-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp~64bit	2005-12-14 15:30:36.000000000 +0000
++++ qt-embedded-free-3.3.5/src/kernel/qwidget_qws.cpp	2005-12-14 15:31:37.000000000 +0000
+@@ -53,6 +53,7 @@
+ #include "qwsmanager_qws.h"
+ #include "qwsregionmanager_qws.h"
+ #include "qinputcontext_p.h"
++#include <stdint.h>
+ 
+ void qt_insert_sip( QWidget*, int, int );	// defined in qapplication_x11.cpp
+ int  qt_sip_count( QWidget* );			// --- "" ---
+@@ -631,7 +632,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;
+ }
+@@ -1845,7 +1846,7 @@
+ 	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
============================================================
--- packages/uicmoc/uicmoc3-native_3.3.5.bb	15b04577b8688635497abfc34cc37c96ff403bbc
+++ packages/uicmoc/uicmoc3-native_3.3.5.bb	fab4c5abd4b0cf3bb4d7a351e6752804251fc095
@@ -1,12 +1,14 @@ DESCRIPTION = "User Interface Generator 
 DESCRIPTION = "User Interface Generator and Meta Object Compiler (moc) for Qt(E) 3.x"
+HOMEPAGE = "http://www.trolltech.com"
 SECTION = "devel"
 PRIORITY = "optional"
+MAINTAINER = "Michael 'Mickey' Lauer <mickey at Vanille.de>"
 LICENSE = "GPL QPL"
-PR = "r1"
+PR = "r3"
 
 SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-free-${PV}.tar.bz2 \
-	   file://no-examples.patch;patch=1"
-
+           file://no-examples.patch;patch=1 \
+           file://64bit-cleanup.patch;patch=1"
 S = "${WORKDIR}/qt-embedded-free-${PV}"
 
 inherit native qmake-base qt3e






More information about the Openembedded-commits mailing list