From 9249484c37cbd31f4f248ca8f57082653308d0ce Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Feb 11 2013 17:58:18 +0000 Subject: SIGSEGV when called from QMetaObject::metaCall (QTBUG-29082, kde#311751) --- diff --git a/qt-everywhere-opensource-src-4.8.4-QTBUG-29082.patch b/qt-everywhere-opensource-src-4.8.4-QTBUG-29082.patch new file mode 100644 index 0000000..fb1a06b --- /dev/null +++ b/qt-everywhere-opensource-src-4.8.4-QTBUG-29082.patch @@ -0,0 +1,33 @@ +Parent: a1bc10b7 (Make sure QGraphicsItem notifies changes to focusScopeItem.) +Author: David E. Narváez +AuthorDate: 2013-01-30 06:13:00 -0500 +Commit: David E. Narváez +CommitDate: 2013-01-30 06:13:00 -0500 + +Avoid calling metacall directly from the property animation code + +Calling metacall directly will cause an invalid read when the +object in question is a QDeclarativeVMEMetaObject. See a full +explanation at the bug report. + +Task-Number: QTBUG-29082 +Change-Id: Ia2772bce409876861b7004320641b0c4e8996fa8 +diff --git a/src/corelib/animation/qpropertyanimation.cpp b/src/corelib/animation/qpropertyanimation.cpp +index 31b129a..bcf82bf 100644 +--- a/src/corelib/animation/qpropertyanimation.cpp ++++ b/src/corelib/animation/qpropertyanimation.cpp +@@ -133,13 +133,7 @@ + return; + } + +- if (newValue.userType() == propertyType) { +- //no conversion is needed, we directly call the QMetaObject::metacall +- void *data = const_cast(newValue.constData()); +- QMetaObject::metacall(targetValue, QMetaObject::WriteProperty, propertyIndex, &data); +- } else { +- targetValue->setProperty(propertyName.constData(), newValue); +- } ++ targetValue->setProperty(propertyName.constData(), newValue); + } + + /*! diff --git a/qt.spec b/qt.spec index 7c0a462..4559ee5 100644 --- a/qt.spec +++ b/qt.spec @@ -20,7 +20,7 @@ Summary: Qt toolkit Name: qt Epoch: 1 Version: 4.8.4 -Release: 13%{?dist} +Release: 14%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT @@ -123,6 +123,8 @@ Patch83: qt-4.8-poll.patch # upstream patches # http://codereview.qt-project.org/#change,22006 Patch100: qt-everywhere-opensource-src-4.8.1-qtgahandle.patch +# https://bugreports.qt-project.org/browse/QTBUG-29082 +Patch101: qt-everywhere-opensource-src-4.8.4-QTBUG-29082.patch # backported from Qt5 (essentially) # http://bugzilla.redhat.com/702493 # https://bugreports.qt-project.org/browse/QTBUG-5545 @@ -481,6 +483,7 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags # upstream patches %patch100 -p1 -b .QTgaHandler +%patch101 -p1 -b .QTBUG-29082 %patch102 -p1 -b .qgtkstyle_disable_gtk_theme_check %patch113 -p1 -b .QTBUG-22829 %patch154 -p1 -b .0054 @@ -1151,6 +1154,9 @@ fi %changelog +* Mon Feb 11 2013 Rex Dieter 4.8.4-14 +- SIGSEGV when called from QMetaObject::metaCall (QTBUG-29082, kde#311751) + * Mon Feb 11 2013 Rex Dieter 4.8.4-13 - qmake: add support for pkgconfig Requires.private