commit libqt4 for openSUSE:Factory
Hello community, here is the log from the commit of package libqt4 for openSUSE:Factory checked in at Fri Jul 31 22:41:28 CEST 2009. -------- --- libqt4/libQtWebKit-devel.changes 2009-06-24 17:42:33.000000000 +0200 +++ /mounts/work_src_done/STABLE/libqt4/libQtWebKit-devel.changes 2009-07-28 18:47:23.000000000 +0200 @@ -1,0 +2,10 @@ +Tue Jul 28 18:31:05 CEST 2009 - dmueller@novell.com + +- disable use of x shared pixmaps, not supported by newer + drivers anymore and very slow anyway +- Fix QMenu not respecting minimum width, this affects + the Plasma taskabar +- Fix X11 timestamp issues which cause clipboard synchronisation + bugs + +------------------------------------------------------------------- libqt4-devel-doc-data.changes: same change libqt4-sql-plugins.changes: same change libqt4.changes: same change calling whatdependson for head-i586 New: ---- 0012-This-patch-makes-the-raster-graphics-system-use-shar.patch 0019-Make-QMenu-respect-the-minimum-width-set.patch 9e5fa633913ef952ca4ef5312fe396bcfc885321.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libQtWebKit-devel.spec ++++++ --- /var/tmp/diff_new_pack.wofjow/_old 2009-07-31 22:40:35.000000000 +0200 +++ /var/tmp/diff_new_pack.wofjow/_new 2009-07-31 22:40:35.000000000 +0200 @@ -38,7 +38,7 @@ # COMMON-BEGIN # COMMON-BEGIN Version: 4.5.2 -Release: 1 +Release: 2 %define base_name libqt4 %define x11_free -x11-opensource-src- %define rversion 4.5.2 @@ -72,6 +72,9 @@ Patch106: build-install-qdoc3.diff Patch108: 0280-deserialization-custom-dbus-properties.diff Patch111: 0283-do-not-deduce-scrollbar-extent-twice.diff +Patch112: 0012-This-patch-makes-the-raster-graphics-system-use-shar.patch +Patch113: 0019-Make-QMenu-respect-the-minimum-width-set.patch +Patch114: 9e5fa633913ef952ca4ef5312fe396bcfc885321.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %suse_version > 910 %define common_options --opensource -fast -no-separate-debug-info -shared -xkb -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib -optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support @@ -128,6 +131,9 @@ %patch106 %patch108 %patch111 +%patch112 -p1 +%patch113 -p1 +%patch114 -p1 # be sure not to use them rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib,libtiff} # COMMON-END libqt4-devel-doc-data.spec: same change libqt4-sql-plugins.spec: same change ++++++ libqt4.spec ++++++ --- /var/tmp/diff_new_pack.wofjow/_old 2009-07-31 22:40:35.000000000 +0200 +++ /var/tmp/diff_new_pack.wofjow/_new 2009-07-31 22:40:35.000000000 +0200 @@ -50,7 +50,7 @@ Obsoletes: libqt4-dbus-1 < 4.4.0 # COMMON-BEGIN Version: 4.5.2 -Release: 1 +Release: 2 %define base_name libqt4 %define x11_free -x11-opensource-src- %define rversion 4.5.2 @@ -84,6 +84,9 @@ Patch106: build-install-qdoc3.diff Patch108: 0280-deserialization-custom-dbus-properties.diff Patch111: 0283-do-not-deduce-scrollbar-extent-twice.diff +Patch112: 0012-This-patch-makes-the-raster-graphics-system-use-shar.patch +Patch113: 0019-Make-QMenu-respect-the-minimum-width-set.patch +Patch114: 9e5fa633913ef952ca4ef5312fe396bcfc885321.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %suse_version > 910 %define common_options --opensource -fast -no-separate-debug-info -shared -xkb -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound -no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis -system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir %_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir %_libdir/qt4/demos -plugindir %plugindir -translationdir /usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir /usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib -optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support @@ -140,6 +143,9 @@ %patch106 %patch108 %patch111 +%patch112 -p1 +%patch113 -p1 +%patch114 -p1 # be sure not to use them rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib,libtiff} # COMMON-END ++++++ 0012-This-patch-makes-the-raster-graphics-system-use-shar.patch ++++++
From 8731ab999b849dac4716e3d29f5f55ed8e56438e Mon Sep 17 00:00:00 2001 From: Thiago Macieira <thiago.macieira@nokia.com> Date: Thu, 25 Jun 2009 13:50:29 +0200 Subject: [PATCH 12/19] This patch makes the raster graphics system use shared images instead of shared pixmaps.
Shared memory pixmaps are deprecated since they are slower than shared images with modern graphics hardware. They are also not supported by EXA drivers and can be disabled in the latest version of the NVidia driver. qt-bugs@ issue : none Qt Software task ID : none bugs.kde.org number : none --- src/gui/image/qnativeimage.cpp | 10 ---------- src/gui/image/qnativeimage_p.h | 1 - src/gui/painting/qwindowsurface_raster.cpp | 13 ++++++++++--- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/gui/image/qnativeimage.cpp b/src/gui/image/qnativeimage.cpp index 3745708..3c21fce 100644 --- a/src/gui/image/qnativeimage.cpp +++ b/src/gui/image/qnativeimage.cpp @@ -147,7 +147,6 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* { if (!X11->use_mitshm) { xshmimg = 0; - xshmpm = 0; image = QImage(width, height, format); return; } @@ -191,11 +190,6 @@ QNativeImage::QNativeImage(int width, int height, QImage::Format format,bool /* shmctl(xshminfo.shmid, IPC_RMID, 0); return; } - xshmpm = XShmCreatePixmap(X11->display, DefaultRootWindow(X11->display), xshmimg->data, - &xshminfo, width, height, dd); - if (!xshmpm) { - qWarning() << "QNativeImage: Unable to create shared Pixmap."; - } } @@ -204,10 +198,6 @@ QNativeImage::~QNativeImage() if (!xshmimg) return; - if (xshmpm) { - XFreePixmap(X11->display, xshmpm); - xshmpm = 0; - } XShmDetach(X11->display, &xshminfo); xshmimg->data = 0; XDestroyImage(xshmimg); diff --git a/src/gui/image/qnativeimage_p.h b/src/gui/image/qnativeimage_p.h index 07d5dfe..ba01854 100644 --- a/src/gui/image/qnativeimage_p.h +++ b/src/gui/image/qnativeimage_p.h @@ -90,7 +90,6 @@ public: #elif defined(Q_WS_X11) && !defined(QT_NO_MITSHM) XImage *xshmimg; - Pixmap xshmpm; XShmSegmentInfo xshminfo; #elif defined(Q_WS_MAC) diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp index d6fb03b..09963d9 100644 --- a/src/gui/painting/qwindowsurface_raster.cpp +++ b/src/gui/painting/qwindowsurface_raster.cpp @@ -220,9 +220,16 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi QRect br = rgn.boundingRect().translated(offset); #ifndef QT_NO_MITSHM - if (d_ptr->image->xshmpm) { - XCopyArea(X11->display, d_ptr->image->xshmpm, widget->handle(), d_ptr->gc, - br.x(), br.y(), br.width(), br.height(), wbr.x(), wbr.y()); + if (d_ptr->image->xshmimg && (br.width() * br.height() > 65536)) { + const QImage &src = d->image->image; + br = br.intersected(src.rect()); + // Hack to make sure we satisify the PutImage() constraints in the X server, + // since the doShmPutImage() route currently forces a migration to system ram. + wbr.setX(wbr.x() - br.x()); + br.setX(0); + br.setWidth(src.width()); + XShmPutImage(X11->display, widget->handle(), d_ptr->gc, d_ptr->image->xshmimg, + br.x(), br.y(), wbr.x(), wbr.y(), br.width(), br.height(), False); XSync(X11->display, False); } else #endif -- 1.6.3.3 ++++++ 0019-Make-QMenu-respect-the-minimum-width-set.patch ++++++
From 01f26d0756839fbe783c637ca7dec5b7987f7e14 Mon Sep 17 00:00:00 2001 From: Aaron Seigo <aseigo@kde.org> Date: Mon, 27 Jul 2009 21:46:22 -0600 Subject: [PATCH 19/19] Make QMenu respect the minimum width set
If one sets a minimum width on a QMenu and that size is larger than the smallest size needed by the large menu item, it ignores the minimum width and just uses the largest menu item size. This results in ugly painting artifacts. This currently affects (at least) the tasks widget in Plasma in KDE4. --- src/gui/widgets/qmenu.cpp | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/gui/widgets/qmenu.cpp b/src/gui/widgets/qmenu.cpp index 9fbbb04..5d62ea6 100644 --- a/src/gui/widgets/qmenu.cpp +++ b/src/gui/widgets/qmenu.cpp @@ -280,7 +280,7 @@ void QMenuPrivate::calcActionRects(QMap<QAction*, QRect> &actionRects, QList<QAc if (!sz.isEmpty()) { - max_column_width = qMax(max_column_width, sz.width()); + max_column_width = qMax(q->minimumWidth(), qMax(max_column_width, sz.width())); //wrapping if (!scroll && y+sz.height()+vmargin > dh - (q->style()->pixelMetric(QStyle::PM_MenuDesktopFrameWidth, 0, q) * 2)) { -- 1.6.3.3 ++++++ 9e5fa633913ef952ca4ef5312fe396bcfc885321.patch ++++++
From 9e5fa633913ef952ca4ef5312fe396bcfc885321 Mon Sep 17 00:00:00 2001 From: Denis Dzyubenko <denis.dzyubenko@nokia.com> Date: Wed, 22 Jul 2009 17:12:17 +0200 Subject: [PATCH] Revert "Added a check that X11 timestamp goes forward only."
In some cases we might get an invalid timestamp that is far away in the future, so remembering it will break all consequent X calls that require a timestamp because it just contains junk (for example clipboard will stop working). This happens with XIM+SCIM pair - whenever we start input method and type something to the widget, we get a XKeyPress event with a commited string, however the 'serial' and 'time' members of the XEvent structure are not initialized (according to valgrind) and contain junk. This reverts commit 2ed015b8a0ffad63f0f59b0e2255057f416895fb. Reviewed-By: Brad --- src/gui/kernel/qapplication_x11.cpp | 35 +++++++++++++++-------------------- 1 files changed, 15 insertions(+), 20 deletions(-) diff --git a/src/gui/kernel/qapplication_x11.cpp b/src/gui/kernel/qapplication_x11.cpp index 163ceb6..abedfd6 100644 --- a/src/gui/kernel/qapplication_x11.cpp +++ b/src/gui/kernel/qapplication_x11.cpp @@ -3142,48 +3142,43 @@ int QApplication::x11ProcessEvent(XEvent* event) #ifdef ALIEN_DEBUG //qDebug() << "QApplication::x11ProcessEvent:" << event->type; #endif - Time time = 0, userTime = 0; switch (event->type) { case ButtonPress: pressed_window = event->xbutton.window; - userTime = event->xbutton.time; + X11->userTime = event->xbutton.time; // fallthrough intended case ButtonRelease: - time = event->xbutton.time; + X11->time = event->xbutton.time; break; case MotionNotify: - time = event->xmotion.time; + X11->time = event->xmotion.time; break; case XKeyPress: - userTime = event->xkey.time; + X11->userTime = event->xkey.time; // fallthrough intended case XKeyRelease: - time = event->xkey.time; + X11->time = event->xkey.time; break; case PropertyNotify: - time = event->xproperty.time; + X11->time = event->xproperty.time; break; case EnterNotify: case LeaveNotify: - time = event->xcrossing.time; + X11->time = event->xcrossing.time; break; case SelectionClear: - time = event->xselectionclear.time; + X11->time = event->xselectionclear.time; break; default: -#ifndef QT_NO_XFIXES - if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) { - XFixesSelectionNotifyEvent *req = - reinterpret_cast<XFixesSelectionNotifyEvent *>(event); - time = req->selection_timestamp; - } -#endif break; } - if (time > X11->time) - X11->time = time; - if (userTime > X11->userTime) - X11->userTime = userTime; +#ifndef QT_NO_XFIXES + if (X11->use_xfixes && event->type == (X11->xfixes_eventbase + XFixesSelectionNotify)) { + XFixesSelectionNotifyEvent *req = + reinterpret_cast<XFixesSelectionNotifyEvent *>(event); + X11->time = req->selection_timestamp; + } +#endif QETWidget *widget = (QETWidget*)QWidget::find((WId)event->xany.window); -- 1.6.1 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@Hilbert.suse.de