Hello community, here is the log from the commit of package qt3 checked in at Wed Nov 1 01:40:02 CET 2006. -------- --- KDE/qt3/qt3-devel-doc.changes 2006-10-22 23:39:19.000000000 +0200 +++ /mounts/work_src_done/STABLE/qt3/qt3-devel-doc.changes 2006-11-01 01:39:30.000000000 +0100 @@ -1,0 +2,7 @@ +Tue Oct 31 13:18:44 CET 2006 - dmueller@suse.de + +- add patch to fix han localisation issue (#216183) +- update qt-debug-timer patch to output more verbose debug +- add patch to fix xinerama issue with popupmenus (#216235) + +------------------------------------------------------------------- qt3-extensions.changes: same change qt3-static.changes: same change qt3.changes: same change New: ---- fix-han-localisation.diff xinerama-qpopupmenu.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt3-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.sQANHz/_old 2006-11-01 01:39:38.000000000 +0100 +++ /var/tmp/diff_new_pack.sQANHz/_new 2006-11-01 01:39:38.000000000 +0100 @@ -13,12 +13,12 @@ Name: qt3-devel-doc BuildRequires: cups-devel freeglut-devel freetype2-devel gcc-c++ libjpeg-devel libmng-devel libpng-devel pkgconfig qt3-devel update-desktop-files Url: http://www.trolltech.com/ -License: Other License(s), see package +License: GNU General Public License (GPL) - all versions, THE Q PUBLIC LICENSE (QPL) Autoreqprov: on Summary: Qt 3 Development Kit Group: Documentation/HTML Version: 3.3.7 -Release: 1 +Release: 3 PreReq: /bin/grep BuildArch: noarch Provides: qt3-devel-tutorial @@ -83,6 +83,8 @@ Patch115: restore-qtextedit-performance.diff Patch116: pedantic-headers.diff Patch117: qtimer-debug.diff +Patch118: fix-han-localisation.diff +Patch119: xinerama-qpopupmenu.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -144,6 +146,8 @@ %patch115 %patch116 %patch117 +%patch118 +%patch119 ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/ ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/ ln -sf $PWD/src/kernel/qinputcontext.h include/ @@ -227,6 +231,10 @@ /usr/share/pixmaps/assistant3.png %changelog -n qt3-devel-doc +* Tue Oct 31 2006 - dmueller@suse.de +- add patch to fix han localisation issue (#216183) +- update qt-debug-timer patch to output more verbose debug +- add patch to fix xinerama issue with popupmenus (#216235) * Fri Oct 20 2006 - dmueller@suse.de - update to 3.3.7: * include CVE-2006-4811 patch ++++++ qt3-extensions.spec ++++++ --- /var/tmp/diff_new_pack.sQANHz/_old 2006-11-01 01:39:38.000000000 +0100 +++ /var/tmp/diff_new_pack.sQANHz/_new 2006-11-01 01:39:38.000000000 +0100 @@ -14,7 +14,7 @@ BuildRequires: cups-devel krb5-devel libjpeg-devel mysql-devel postgresql-devel qt3-devel sqlite2-devel unixODBC-devel update-desktop-files License: GNU General Public License (GPL) - all versions, THE Q PUBLIC LICENSE (QPL) Version: 3.3.7 -Release: 1 +Release: 3 Autoreqprov: on Requires: qt3 = %version Group: Development/Tools/Other @@ -78,6 +78,8 @@ Patch115: restore-qtextedit-performance.diff Patch116: pedantic-headers.diff Patch117: qtimer-debug.diff +Patch118: fix-han-localisation.diff +Patch119: xinerama-qpopupmenu.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -137,6 +139,8 @@ %patch115 %patch116 %patch117 +%patch118 +%patch119 ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/ ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/ ln -sf $PWD/src/kernel/qinputcontext.h include/ @@ -471,6 +475,10 @@ %{_mandir}/man*/* %changelog -n qt3-extensions +* Tue Oct 31 2006 - dmueller@suse.de +- add patch to fix han localisation issue (#216183) +- update qt-debug-timer patch to output more verbose debug +- add patch to fix xinerama issue with popupmenus (#216235) * Fri Oct 20 2006 - dmueller@suse.de - update to 3.3.7: * include CVE-2006-4811 patch ++++++ qt3-static.spec ++++++ --- /var/tmp/diff_new_pack.sQANHz/_old 2006-11-01 01:39:38.000000000 +0100 +++ /var/tmp/diff_new_pack.sQANHz/_new 2006-11-01 01:39:38.000000000 +0100 @@ -12,12 +12,12 @@ Name: qt3-static BuildRequires: cups-devel freeglut-devel freetype2-devel gcc-c++ libdrm-devel libjpeg-devel libmng-devel libpng-devel -License: Other License(s), see package +License: GNU General Public License (GPL) - all versions, Other License(s), see package Group: Development/Libraries/X11 Autoreqprov: on Summary: static program library for developing applications with graphical user interfaces Version: 3.3.7 -Release: 1 +Release: 4 %define x11_free -x11-free- %define rversion %version # COMMON-BEGIN @@ -77,6 +77,8 @@ Patch115: restore-qtextedit-performance.diff Patch116: pedantic-headers.diff Patch117: qtimer-debug.diff +Patch118: fix-han-localisation.diff +Patch119: xinerama-qpopupmenu.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -147,6 +149,8 @@ %patch115 %patch116 %patch117 +%patch118 +%patch119 ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/ ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/ ln -sf $PWD/src/kernel/qinputcontext.h include/ @@ -236,6 +240,10 @@ #/usr/lib/qt3/%{_lib}/libqt-mini.a %changelog -n qt3-static +* Tue Oct 31 2006 - dmueller@suse.de +- add patch to fix han localisation issue (#216183) +- update qt-debug-timer patch to output more verbose debug +- add patch to fix xinerama issue with popupmenus (#216235) * Fri Oct 20 2006 - dmueller@suse.de - update to 3.3.7: * include CVE-2006-4811 patch ++++++ qt3.spec ++++++ --- /var/tmp/diff_new_pack.sQANHz/_old 2006-11-01 01:39:38.000000000 +0100 +++ /var/tmp/diff_new_pack.sQANHz/_new 2006-11-01 01:39:38.000000000 +0100 @@ -14,12 +14,12 @@ #Remember also to modify Requires in -devel package BuildRequires: Mesa-devel c++_compiler cups-devel freetype2-devel libjpeg-devel libmng-devel libpng-devel pkgconfig update-desktop-files xorg-x11-devel URL: http://www.trolltech.com/ -License: Other License(s), see package, GNU General Public License (GPL) - all versions +License: GNU General Public License (GPL) - all versions, Other License(s), see package Group: System/Libraries Autoreqprov: on Summary: A library for developing applications with graphical user interfaces Version: 3.3.7 -Release: 1 +Release: 3 Provides: qt_library_%version PreReq: /bin/grep %define x11_free -x11-free- @@ -80,6 +80,8 @@ Patch115: restore-qtextedit-performance.diff Patch116: pedantic-headers.diff Patch117: qtimer-debug.diff +Patch118: fix-han-localisation.diff +Patch119: xinerama-qpopupmenu.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -148,6 +150,8 @@ %patch115 %patch116 %patch117 +%patch118 +%patch119 ln -sf $PWD/src/inputmethod/qinputcontextfactory.h include/ ln -sf $PWD/src/inputmethod/qinputcontextplugin.h include/ ln -sf $PWD/src/kernel/qinputcontext.h include/ @@ -367,6 +371,10 @@ /etc/profile.d/qt3.* %changelog -n qt3 +* Tue Oct 31 2006 - dmueller@suse.de +- add patch to fix han localisation issue (#216183) +- update qt-debug-timer patch to output more verbose debug +- add patch to fix xinerama issue with popupmenus (#216235) * Fri Oct 20 2006 - dmueller@suse.de - update to 3.3.7: * include CVE-2006-4811 patch ++++++ fix-han-localisation.diff ++++++ --- src/kernel/qfontdatabase.cpp +++ src/kernel/qfontdatabase.cpp @@ -957,7 +957,7 @@ parseFontName( request.family, foundry_name, family_name ); #ifdef Q_WS_X11 - if (family_name.isEmpty() && script == QFont::Han) { + if (script == QFont::Han) { // modify script according to locale static QFont::Script defaultHan = QFont::UnknownScript; if (defaultHan == QFont::UnknownScript) { ++++++ qtimer-debug.diff ++++++ --- /var/tmp/diff_new_pack.sQANHz/_old 2006-11-01 01:39:39.000000000 +0100 +++ /var/tmp/diff_new_pack.sQANHz/_new 2006-11-01 01:39:39.000000000 +0100 @@ -1,8 +1,38 @@ -Index: src/kernel/qeventloop_unix.cpp -=================================================================== ---- src/kernel/qeventloop_unix.cpp (revision 594273) -+++ src/kernel/qeventloop_unix.cpp (working copy) -@@ -552,6 +552,14 @@ int QEventLoop::activateTimers() +--- src/kernel/qeventloop_unix.cpp ++++ src/kernel/qeventloop_unix.cpp +@@ -514,6 +528,17 @@ + return (tm->tv_sec*1000) + (tm->tv_usec/1000); + } + ++static QString fullName(QObject* obj) ++{ ++ QString oname; ++ if (obj && obj->name()) ++ oname = obj->name(); ++ ++ if (obj && obj->parent()) ++ return fullName(obj->parent()) + "/" + oname; ++ return oname; ++} ++ + int QEventLoop::activateTimers() + { + if ( !timerList || !timerList->count() ) // no timers +@@ -549,9 +574,27 @@ + t->timeout += t->interval; + if ( t->timeout < currentTime ) + t->timeout = currentTime + t->interval; ++ // prefer system clock ticks for low resolution timers ++ // to save cpu power ++ if (t->interval.tv_sec * 1000 + t->interval.tv_usec / 1000 >= 1000) { ++ timeval drift; ++ drift.tv_sec = 0; ++ drift.tv_usec = (t->interval.tv_usec / 8) + (t->interval.tv_sec % 8) * 1000 * 1000 / 8; ++ timeval synced = t->timeout + drift; ++ if (synced.tv_usec < 2 * drift.tv_usec) ++ synced.tv_usec = 0; ++ t->timeout = synced; ++ } insertTimer( t ); // relink timer if ( t->interval.tv_usec > 0 || t->interval.tv_sec > 0 ) n_act++; @@ -11,8 +41,7 @@ + qDebug("qtimer: %d/%s %d ms for %p/%s %s", + getpid(), qApp && qApp->name() ? qApp->name() : "", + t->interval.tv_sec * 1000 + t->interval.tv_usec / 1000, -+ t->obj, t->obj && t->obj->name() ? t->obj->name() : -+ "", t->obj->className()); ++ t->obj, fullName(t->obj).latin1(), t->obj->className()); + QTimerEvent e( t->id ); QApplication::sendEvent( t->obj, &e ); // send event ++++++ xinerama-qpopupmenu.diff ++++++ --- 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 ); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org