--- qt-3.3.6-r1/work/qt-x11-free-3.3.6/src/kernel/qwidget_x11.cpp.orig 2006-03-08 08:47:47.000000000 -0800 +++ qt-3.3.6-r1/work/qt-x11-free-3.3.6/src/kernel/qwidget_x11.cpp 2006-05-17 22:57:29.000000000 -0700 @@ -292,6 +292,8 @@ void QWidget::create( WId window, bool initializeWindow, bool destroyOldWindow) { + unsigned long buf[(sizeof(XWindowAttributes) + sizeof(long) - 1)/ sizeof(long)]; + memset(&buf, 0xAB, sizeof(buf)); if ( testWState(WState_Created) && window == 0 ) return; @@ -375,7 +377,17 @@ id = window; setWinId( window ); XWindowAttributes a; + fprintf(stderr, "size = %d/%d, diff = %d\n", sizeof(buf), sizeof(a), ((char*)buf - (char*)&a)); + for (unsigned i = 0; i < sizeof(buf)/sizeof(*buf); i++) { + fprintf(stderr, "%x ", buf[i]); + } + fprintf(stderr, "\n---- BEFORE ----\n"); XGetWindowAttributes( dpy, window, &a ); + fprintf(stderr, "---- AFTER ----\n"); + for (unsigned i = 0; i < sizeof(buf)/sizeof(*buf); i++) { + fprintf(stderr, "%x ", buf[i]); + } + fprintf(stderr, "\n"); crect.setRect( a.x, a.y, a.width, a.height ); if ( a.map_state == IsUnmapped )