Hello community, here is the log from the commit of package khtml for openSUSE:Factory checked in at 2016-05-19 12:07:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/khtml (Old) and /work/SRC/openSUSE:Factory/.khtml.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "khtml" Changes: -------- --- /work/SRC/openSUSE:Factory/khtml/khtml.changes 2016-04-12 19:17:51.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.khtml.new/khtml.changes 2016-05-19 12:07:34.000000000 +0200 @@ -1,0 +2,13 @@ +Sat May 7 18:31:48 UTC 2016 - [email protected] + +- Update to 5.22.0 (boo#980066) + * Implement toString for Uint8ArrayConstructor and friends + * Merge in several Coverity-related fixes + * Correctly use QCache::insert + * Fix some memory leaks + * Sanity check CSS web font parsing, avoid potential mem leak + * dom: Add tag priorities for 'comment' tag + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.22.0.php + +------------------------------------------------------------------- Old: ---- khtml-5.21.0.tar.xz New: ---- khtml-5.22.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ khtml.spec ++++++ --- /var/tmp/diff_new_pack.x3j70L/_old 2016-05-19 12:07:35.000000000 +0200 +++ /var/tmp/diff_new_pack.x3j70L/_new 2016-05-19 12:07:35.000000000 +0200 @@ -18,9 +18,9 @@ %bcond_without lang %define lname libKF5KHtml5 -%define _tar_path 5.21 +%define _tar_path 5.22 Name: khtml -Version: 5.21.0 +Version: 5.22.0 Release: 0 %define kf5_version %{version} BuildRequires: cmake >= 2.8.12 ++++++ khtml-5.21.0.tar.xz -> khtml-5.22.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/CMakeLists.txt new/khtml-5.22.0/CMakeLists.txt --- old/khtml-5.21.0/CMakeLists.txt 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/CMakeLists.txt 2016-05-07 17:13:57.000000000 +0200 @@ -3,7 +3,7 @@ project(KHtml) include(FeatureSummary) -find_package(ECM 5.21.0 NO_MODULE) +find_package(ECM 5.22.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -20,8 +20,8 @@ include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) -set(KF5_VERSION "5.21.0") # handled by release scripts -set(KF5_DEP_VERSION "5.21.0") # handled by release scripts +set(KF5_VERSION "5.22.0") # handled by release scripts +set(KF5_DEP_VERSION "5.22.0") # handled by release scripts find_package(KF5Archive ${KF5_DEP_VERSION} REQUIRED) find_package(KF5Codecs ${KF5_DEP_VERSION} REQUIRED) find_package(KF5GlobalAccel ${KF5_DEP_VERSION} REQUIRED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/po/is/khtml5.po new/khtml-5.22.0/po/is/khtml5.po --- old/khtml-5.21.0/po/is/khtml5.po 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/po/is/khtml5.po 2016-05-07 17:13:57.000000000 +0200 @@ -6,15 +6,15 @@ # Richard Allen <[email protected]>, 1998-2004. # Pjetur G. Hjaltason <[email protected]>, 2003. # Arnar Leósson <[email protected]>, 2003, 2005. -# Sveinn í Felli <[email protected]>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014. +# Sveinn í Felli <[email protected]>, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016. msgid "" msgstr "" "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2016-03-06 07:13+0000\n" -"PO-Revision-Date: 2014-11-24 08:44+0000\n" +"PO-Revision-Date: 2016-04-08 22:57+0000\n" "Last-Translator: Sveinn í Felli <[email protected]>\n" -"Language-Team: Icelandic <[email protected]>\n" +"Language-Team: Icelandic <[email protected]>\n" "Language: is\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -38,7 +38,7 @@ msgid "Your emails" msgstr "" "[email protected], [email protected], [email protected], [email protected], svanur@tern." -"is, [email protected]" +"is, [email protected]" #: ecma/debugger/callstackdock.cpp:35 msgid "Call Stack" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/po/pl/khtml5.po new/khtml-5.22.0/po/pl/khtml5.po --- old/khtml-5.21.0/po/pl/khtml5.po 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/po/pl/khtml5.po 2016-05-07 17:13:57.000000000 +0200 @@ -11,13 +11,13 @@ # Marta Rybczyńska <[email protected]>, 2007, 2008, 2009, 2010, 2011, 2012, 2013. # Michal Rudolf <[email protected]>, 2010. # Artur Chłond <[email protected]>, 2010. -# Łukasz Wojniłowicz <[email protected]>, 2011, 2012, 2013, 2014, 2015. +# Łukasz Wojniłowicz <[email protected]>, 2011, 2012, 2013, 2014, 2015, 2016. msgid "" msgstr "" "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2016-03-06 07:13+0000\n" -"PO-Revision-Date: 2015-12-05 06:45+0100\n" +"PO-Revision-Date: 2016-04-30 06:53+0100\n" "Last-Translator: Łukasz Wojniłowicz <[email protected]>\n" "Language-Team: Polish <[email protected]>\n" "Language: pl\n" @@ -443,8 +443,8 @@ "This wizard is intended to guide you through the procedure. You may cancel " "at any time, and this will abort the transaction." msgstr "" -"Wybrałeś pobranie lub kupno bezpiecznego certyfikatu. Ten asystent pomoże Ci " -"w tej operacji. Operację można będzie przerwać w dowolnej chwili." +"Wybrałeś pobranie lub kupno bezpiecznego certyfikatu. To narzędzie wesprze " +"cięw tej operacji. Operację można będzie przerwać w dowolnej chwili." #. i18n: ectx: property (text), widget (QLabel, TextLabel4) #: html/keygenwizard2.ui:35 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/css/css_webfont.cpp new/khtml-5.22.0/src/css/css_webfont.cpp --- old/khtml-5.21.0/src/css/css_webfont.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/css/css_webfont.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -669,6 +669,11 @@ familyFontFaces->append(fontFace); */ } + + // Should be impossible, but in case empty/invalid family name makes it through... + if (fontFace->refCount() < 1) { + delete fontFace; + } } void CSSFontSelector::requestFamilyName(const DOMString &familyName) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/css/cssparser.cpp new/khtml-5.22.0/src/css/cssparser.cpp --- old/khtml-5.21.0/src/css/cssparser.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/css/cssparser.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -30,6 +30,7 @@ #include <QDebug> #include <QUrl> +#include <QScopedPointer> #include "css_valueimpl.h" #include "css_ruleimpl.h" @@ -1677,7 +1678,8 @@ // [ <string> | attr(X) | open-quote | close-quote | no-open-quote | no-close-quote ]+ | inherit bool CSSParser::parseContent(int propId, bool important) { - CSSValueListImpl *values = new CSSValueListImpl(CSSValueListImpl::Comma); + QScopedPointer<CSSValueListImpl> values( + new CSSValueListImpl(CSSValueListImpl::Comma)); bool isValid = true; Value *val; @@ -1748,12 +1750,11 @@ valueList->next(); } if (isValid && values->length()) { - addProperty(propId, values, important); + addProperty(propId, values.take(), important); valueList->next(); return true; } - delete values; // also frees any content by deref return false; } @@ -2105,12 +2106,14 @@ values = new CSSValueListImpl(); values->append(value); value = 0; - } - if (value2 && !values2) { - values2 = new CSSValueListImpl(); - values2->append(value2); - value2 = 0; + // Track value, value2 as either a pair of items or a pair + // of lists, not in-between + if (value2 && !values2) { + values2 = new CSSValueListImpl(); + values2->append(value2); + value2 = 0; + } } if (values) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/ecma/kjs_arraybufferview.h new/khtml-5.22.0/src/ecma/kjs_arraybufferview.h --- old/khtml-5.21.0/src/ecma/kjs_arraybufferview.h 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/ecma/kjs_arraybufferview.h 2016-05-07 17:13:57.000000000 +0200 @@ -23,6 +23,8 @@ #include "ecma/kjs_arraybuffer.h" #include <kjs/object.h> +#include <kjs/function.h> +#include <kjs/function_object.h> #include <kjs/operations.h> #include <kjs/array_instance.h> #include <dom/dom_exception.h> @@ -41,7 +43,7 @@ //type, TypedArrayClass template <class T, class U> -class ArrayBufferViewConstructorImp : public JSObject +class ArrayBufferViewConstructorImp : public KJS::FunctionPrototype { public: ArrayBufferViewConstructorImp(ExecState *exec, DOM::DocumentImpl *d); @@ -243,7 +245,7 @@ template <class T, class U> ArrayBufferViewConstructorImp<T, U>::ArrayBufferViewConstructorImp(ExecState *exec, DOM::DocumentImpl *d) - : JSObject(exec->lexicalInterpreter()->builtinFunctionPrototype()), + : KJS::FunctionPrototype(exec), doc(d) { } @@ -330,7 +332,7 @@ template <class T, class U> bool ArrayBufferViewConstructorImp<T, U>::getOwnPropertySlot(ExecState *exec, const Identifier &propertyName, PropertySlot &slot) { - return getStaticValueSlot<ArrayBufferViewConstructorImp<T, U>, JSObject>(exec, &ArrayBufferViewConstTable, this, propertyName, slot); + return getStaticPropertySlot<ArrayBufferViewProtoFunc<T, U>, ArrayBufferViewConstructorImp<T, U>, KJS::FunctionPrototype>(exec, &ArrayBufferViewConstTable, this, propertyName, slot); } // -------------------- ArrayBufferView --------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/ecma/kjs_html.cpp new/khtml-5.22.0/src/ecma/kjs_html.cpp --- old/khtml-5.21.0/src/ecma/kjs_html.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/ecma/kjs_html.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -3495,6 +3495,7 @@ option = static_cast<DOM::HTMLOptionElementImpl *>(element->ownerDocument()->importNode(option, true, exception)); } if (exception.triggered()) { + delete option; return; } @@ -3507,6 +3508,7 @@ static_cast<DOM::HTMLElementImpl *>(element->document()->createElement("OPTION")), before, exception); if (exception.triggered()) { + delete option; return; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/editing/htmlediting_impl.cpp new/khtml-5.22.0/src/editing/htmlediting_impl.cpp --- old/khtml-5.21.0/src/editing/htmlediting_impl.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/editing/htmlediting_impl.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -49,6 +49,7 @@ #include "khtmlview.h" #include <QList> +#include <QScopedPointer> #include <limits.h> using DOM::AttrImpl; @@ -623,8 +624,9 @@ static void applyStyleChangeOnTheNode(ElementImpl *element, CSSStyleDeclarationImpl *style) { - CSSStyleDeclarationImpl *computedStyle = element->document()->defaultView()->getComputedStyle(element, 0); - assert(computedStyle); + QScopedPointer<CSSStyleDeclarationImpl> computedStyle( + element->document()->defaultView()->getComputedStyle(element, 0)); + assert(!computedStyle.isNull()); #ifdef DEBUG_COMMANDS qDebug() << "[change style]" << element << endl; #endif @@ -891,8 +893,9 @@ static bool /*ApplyStyleCommandImpl::*/checkIfNewStylingNeeded(ElementImpl *element, CSSStyleDeclarationImpl *style) { - CSSStyleDeclarationImpl *computedStyle = element->document()->defaultView()->getComputedStyle(element, 0); - assert(computedStyle); + QScopedPointer<CSSStyleDeclarationImpl> computedStyle( + element->document()->defaultView()->getComputedStyle(element, 0)); + assert(!computedStyle.isNull()); #ifdef DEBUG_COMMANDS qDebug() << "[check styling]" << element << endl; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/html/dtd.cpp new/khtml-5.22.0/src/html/dtd.cpp --- old/khtml-5.21.0/src/html/dtd.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/html/dtd.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -154,6 +154,7 @@ 0, // ID_WBR 5, // ID_XMP 0, // ID_TEXT + 0, // ID_COMMENT }; const tagStatus DOM::endTagArray[] = { @@ -266,7 +267,8 @@ REQUIRED, // ID_VIDEO FORBIDDEN, // ID_WBR REQUIRED, // ID_XMP - REQUIRED // ID_TEXT + REQUIRED, // ID_TEXT + REQUIRED // ID_COMMENT }; // This a combination of HTML4.dtd XHTML11.dtd and various extensions diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/rendering/render_object.cpp new/khtml-5.22.0/src/rendering/render_object.cpp --- old/khtml-5.21.0/src/rendering/render_object.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/rendering/render_object.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -1083,27 +1083,32 @@ quint64 key = int(horizontal) << 31 | (onLen & 0xff) << 23 | (offLen & 0xff) << 15 | (width & 0x7fff); key = key << 32 | c.rgba(); - QPixmap *tile = s_dashedLineCache->object(key); - if (!tile) { + QPixmap *tilePtr = s_dashedLineCache->object(key); + QPixmap tile; + if (!tilePtr) { QPainterPath path; int size = (onLen + offLen) * (64 / (onLen + offLen)); if (horizontal) { - tile = new QPixmap(size, width); - tile->fill(Qt::transparent); - for (int x = 0; x < tile->width(); x += onLen + offLen) { - path.addRect(x, 0, onLen, tile->height()); + tilePtr = new QPixmap(size, width); + tilePtr->fill(Qt::transparent); + for (int x = 0; x < tilePtr->width(); x += onLen + offLen) { + path.addRect(x, 0, onLen, tilePtr->height()); } } else { //Vertical - tile = new QPixmap(width, size); - tile->fill(Qt::transparent); - for (int y = 0; y < tile->height(); y += onLen + offLen) { - path.addRect(0, y, tile->width(), onLen); + tilePtr = new QPixmap(width, size); + tilePtr->fill(Qt::transparent); + for (int y = 0; y < tilePtr->height(); y += onLen + offLen) { + path.addRect(0, y, tilePtr->width(), onLen); } } - QPainter p2(tile); + QPainter p2(tilePtr); p2.fillPath(path, c); p2.end(); - s_dashedLineCache->insert(key, tile); + tile = tilePtr->copy(); + s_dashedLineCache->insert(key, tilePtr); + } + else { + tile = *tilePtr; } QRect r = QRect(x1, y1, x2 - x1, y2 - y1); @@ -1118,7 +1123,7 @@ offset.ry() += (y1 - r.top()); } - p->drawTiledPixmap(r, *tile, -offset); + p->drawTiledPixmap(r, tile, -offset); } else { const QRect bounding(x1, y1, x2 - x1, y2 - y1); QPainterPath path; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/khtml-5.21.0/src/xml/dom_docimpl.cpp new/khtml-5.22.0/src/xml/dom_docimpl.cpp --- old/khtml-5.21.0/src/xml/dom_docimpl.cpp 2016-04-03 22:53:09.000000000 +0200 +++ new/khtml-5.22.0/src/xml/dom_docimpl.cpp 2016-05-07 17:13:57.000000000 +0200 @@ -3213,6 +3213,7 @@ { XPathExpressionImpl *expr = createExpression(expression, resolver, exceptioncode); if (exceptioncode) { + delete expr; return 0; }
