pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/x11/qt4-libs Add patch from qt-copy. Fixes random cras...
details: https://anonhg.NetBSD.org/pkgsrc/rev/737e4ea82f75
branches: trunk
changeset: 554240:737e4ea82f75
user: markd <markd%pkgsrc.org@localhost>
date: Wed Feb 11 07:46:15 2009 +0000
description:
Add patch from qt-copy. Fixes random crashes seen in kde4's kmail.
Bump PKGREVISION.
diffstat:
x11/qt4-libs/Makefile | 4 ++--
x11/qt4-libs/distinfo | 3 ++-
x11/qt4-libs/patches/patch-au | 40 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 44 insertions(+), 3 deletions(-)
diffs (75 lines):
diff -r 08173651720a -r 737e4ea82f75 x11/qt4-libs/Makefile
--- a/x11/qt4-libs/Makefile Wed Feb 11 05:14:28 2009 +0000
+++ b/x11/qt4-libs/Makefile Wed Feb 11 07:46:15 2009 +0000
@@ -1,11 +1,11 @@
-# $NetBSD: Makefile,v 1.26 2008/12/17 10:43:06 wiz Exp $
+# $NetBSD: Makefile,v 1.27 2009/02/11 07:46:15 markd Exp $
PKG_DESTDIR_SUPPORT= user-destdir
.include "../../x11/qt4-libs/Makefile.common"
PKGNAME= qt4-libs-${QTVERSION}
-PKGREVISION= 2
+PKGREVISION= 3
COMMENT= C++ X GUI toolkit
BUILD_TARGET= sub-src
diff -r 08173651720a -r 737e4ea82f75 x11/qt4-libs/distinfo
--- a/x11/qt4-libs/distinfo Wed Feb 11 05:14:28 2009 +0000
+++ b/x11/qt4-libs/distinfo Wed Feb 11 07:46:15 2009 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.25 2008/10/26 14:02:33 adam Exp $
+$NetBSD: distinfo,v 1.26 2009/02/11 07:46:15 markd Exp $
SHA1 (qt-x11-opensource-src-4.4.3.tar.bz2) = 099bcc2dfda73f093f7e80e9004114d41db40b51
RMD160 (qt-x11-opensource-src-4.4.3.tar.bz2) = 3c73d9c549523efa0e760965c38c7876b4636861
@@ -22,3 +22,4 @@
SHA1 (patch-ar) = 5bc9a1d384c9a888f1295b87968a09236b48af65
SHA1 (patch-as) = 244a3017e2780270b61ac50af000cd6fd1bb9cf5
SHA1 (patch-at) = c8c818dcf45822c8510568bc738b819493f38b11
+SHA1 (patch-au) = 0d816fc2c359cf8fdea039b9307faf8e4651f608
diff -r 08173651720a -r 737e4ea82f75 x11/qt4-libs/patches/patch-au
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/x11/qt4-libs/patches/patch-au Wed Feb 11 07:46:15 2009 +0000
@@ -0,0 +1,40 @@
+qt-bugs@ issue : N227209
+Trolltech task ID : none yet
+bugs.kde.org number : 174065
+applied: yes
+author: Szymon Tomasz Stefanek <s.stefanek%gmail.com@localhost>
+
+This patch fixes a crash deep inside the qt painting engine.
+
+The toplevel shared painter is instantiated by the topmost window
+which "owns" the backingstore buffer. The topmost window then recursively
+asks the children to paint themselves with the shared painter.
+With certain widget hierarchies it turns out that the topmost window
+may be asked to paint itself deep inside the recursive painting stack:
+a sort of "hierarchy-looping recursion".
+The window will do the job and then happily destroy the shared
+painter leaving the outer stack frames with a dangling pointer.
+
+This patch stops the "looping recursion" when it's triggered
+with a shared painter already active. The bug doesn't seem to
+be present in qt 4.5 snapshots, but in the meantime we need this fix.
+
+
+Index: src/gui/painting/qbackingstore.cpp
+===================================================================
+--- src/gui/painting/qbackingstore.cpp (revision 879741)
++++ src/gui/painting/qbackingstore.cpp (working copy)
+@@ -987,8 +987,12 @@
+ return;
+ }
+
+- if (tlw->updatesEnabled()) {
++ // With certain widget hierarchies we may end up being called recursively
++ // on the same toplevel. This is likely to explode once the painter is released
++ // in the code below (since there is no reference counting). Avoid it.
++ bool alreadyPainting = tlwExtra->sharedPainter && tlwExtra->sharedPainter->isActive();
+
++ if (tlw->updatesEnabled() && !alreadyPainting) {
+ // hw: XXX the toClean region is not correct if !dirtyWidgets.isEmpty()
+
+ // Pre render config
Home |
Main Index |
Thread Index |
Old Index