<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>46812</bug_id>
          
          <creation_ts>2010-09-29 08:18:40 -0700</creation_ts>
          <short_desc>[Qt] Crash if an scene with accelerated compositing layout during the paint event</short_desc>
          <delta_ts>2011-04-19 05:15:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>286888</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-29 08:18:40 -0700</bug_when>
    <thetext>QGraphicsWebView crashes if a layout modifying the scene graph is done during a paint event. This happens 

The problem is happening as follow:
-QGraphicsScenePrivate::drawItemHelper() render QGraphicsItemOverlay to the cache
-QGraphicsItemOverlay go through the render path of WebKit which cause a layout
-The layout remove the QGraphicsItemOverlay since accelerated compositing is not needed anymore
-QGraphicsScenePrivate::drawItemHelper() continue to render the item, which as been destroyed
-we enjoy a crash ;)

Here is the output from valgrind for such crash: 
==25380== Invalid write of size 1
==25380==    at 0x7D4DE1A: QGraphicsScenePrivate::drawItemHelper(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D518AA: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52D43: QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D6C18A: QGraphicsView::paintEvent(QPaintEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x505660F: MWindow::paintEvent(QPaintEvent*) (mwindow.cpp:1009)
==25380==    by 0x7753EC1: QWidget::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7B19895: QFrame::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D6712A: QGraphicsView::viewportEvent(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83990F6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x76FDB3B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x770559C: QApplication::notify(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83998CB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x775C94C: QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&amp;, QPoint const&amp;, int, QPainter*, QWidgetBackingStore*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x792A69B: QWidgetPrivate::repaint_sys(QRegion const&amp;) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x774DD83: QWidgetPrivate::syncBackingStore() (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x775458A: QWidget::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x9DE1BC0: QGLWidget::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtOpenGL.so.4.7.0)
==25380==    by 0x76FDB6B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x770559C: QApplication::notify(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83998CB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x839D75A: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x7D50EB2: QGraphicsScenePrivate::_q_processDirtyItems() (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D513E1: QGraphicsScene::qt_metacall(QMetaObject::Call, int, void**) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x509CFF6: MScene::qt_metacall(QMetaObject::Call, int, void**) (moc_mscene.cpp:64)
==25380==    by 0x83AAF2D: QObject::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x7D4BF3F: QGraphicsScene::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x4F7F8AC: MScene::event(QEvent*) (mscene.cpp:468)
==25380==    by 0x76FDB6B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x770559C: QApplication::notify(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83998CB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x839D75A: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x83C5E52: postEventSourceDispatch(_GSource*, int (*)(void*), void*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0xB93D8C1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2400.1)
==25380==    by 0xB941747: ??? (in /lib/libglib-2.0.so.0.2400.1)
==25380==    by 0xB9418FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1)
==25380==    by 0x83C5992: QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x77AF75D: QGuiEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==  Address 0x11897fb0 is 48 bytes inside a block of size 56 free&apos;d
==25380==    at 0x4C27DCF: operator delete(void*) (vg_replace_malloc.c:387)
==25380==    by 0x7D1179F: QGraphicsItemPrivate::removeExtraItemCache() (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D139DF: QGraphicsItem::~QGraphicsItem() (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x6550EF2: WebCore::QGraphicsItemOverlay::~QGraphicsItemOverlay() (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x65516A2: WebCore::PageClientQGraphicsWidget::createOrDeleteOverlay() (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x6551836: WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer(QGraphicsItem*) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x6478ABB: WebCore::RenderLayerCompositor::detachRootPlatformLayer() (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x647A8DF: WebCore::RenderLayerCompositor::destroyRootPlatformLayer() (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x647B534: WebCore::RenderLayerCompositor::computeCompositingRequirements(WebCore::RenderLayer*, WTF::HashMap&lt;WebCore::RenderLayer*, WebCore::IntRect, WTF::PtrHash&lt;WebCore::RenderLayer*&gt;, WTF::HashTraits&lt;WebCore::RenderLayer*&gt;, WTF::HashTraits&lt;WebCore::IntRect&gt; &gt;*, WebCore::CompositingState&amp;, bool&amp;) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x647BBAE: WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x637374C: WebCore::FrameView::layout(bool) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x637414C: WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive() (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x655A287: QWebFramePrivate::renderRelativeCoords(WebCore::GraphicsContext*, QWebFrame::RenderLayer, QRegion const&amp;) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x655A9E9: QWebFrame::render(QPainter*, QWebFrame::RenderLayer, QRegion const&amp;) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x6550FCB: WebCore::QGraphicsItemOverlay::paint(QPainter*, QStyleOptionGraphicsItem const*, QWidget*) (in /home/ikipou/dev/webkit/qtwebkit/WebKitBuild/Release/lib/libQtWebKit.so.4.9.0)
==25380==    by 0x7D33BA2: _q_paintItem(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D3607B: _q_paintIntoCache(QPixmap*, QGraphicsItem*, QRegion const&amp;, QTransform const&amp;, QFlags&lt;QPainter::RenderHint&gt;, QStyleOptionGraphicsItem const*, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D4DE11: QGraphicsScenePrivate::drawItemHelper(QGraphicsItem*, QPainter*, QStyleOptionGraphicsItem const*, QWidget*, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D518AA: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D5195F: QGraphicsScenePrivate::draw(QGraphicsItem*, QPainter*, QTransform const*, QTransform const*, QRegion*, QWidget*, double, QTransform const*, bool, bool) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52521: QGraphicsScenePrivate::drawSubtreeRecursive(QGraphicsItem*, QPainter*, QTransform const*, QRegion*, QWidget*, double, QTransform const*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D52D43: QGraphicsScenePrivate::drawItems(QPainter*, QTransform const*, QRegion*, QWidget*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D6C18A: QGraphicsView::paintEvent(QPaintEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x505660F: MWindow::paintEvent(QPaintEvent*) (mwindow.cpp:1009)
==25380==    by 0x7753EC1: QWidget::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7B19895: QFrame::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x7D6712A: QGraphicsView::viewportEvent(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83990F6: QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x76FDB3B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x770559C: QApplication::notify(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83998CB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)
==25380==    by 0x775C94C: QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&amp;, QPoint const&amp;, int, QPainter*, QWidgetBackingStore*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x792A69B: QWidgetPrivate::repaint_sys(QRegion const&amp;) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x774DD83: QWidgetPrivate::syncBackingStore() (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x775458A: QWidget::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x9DE1BC0: QGLWidget::event(QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtOpenGL.so.4.7.0)
==25380==    by 0x76FDB6B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x770559C: QApplication::notify(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtGui.so.4.7.0)
==25380==    by 0x83998CB: QCoreApplication::notifyInternal(QObject*, QEvent*) (in /home/ikipou/dev/qt-oslo-staging-2_release_64/lib/libQtCore.so.4.7.0)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286928</commentid>
    <comment_count>1</comment_count>
      <attachid>69204</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-29 09:43:25 -0700</bug_when>
    <thetext>Created attachment 69204
Clean up QGraphicsWebViewPrivate::overlay (r=ariya)

Let&apos;s clean up the QGraphicsWebViewPrivate::overlay pointer before anything else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>286930</commentid>
    <comment_count>2</comment_count>
      <attachid>69204</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-29 09:46:33 -0700</bug_when>
    <thetext>Comment on attachment 69204
Clean up QGraphicsWebViewPrivate::overlay (r=ariya)

Clearing flags on attachment: 69204

Committed r68653: &lt;http://trac.webkit.org/changeset/68653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287033</commentid>
    <comment_count>3</comment_count>
      <attachid>69237</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-09-29 11:49:39 -0700</bug_when>
    <thetext>Created attachment 69237
Patch

We have two options:
-keep the overlay around but hide it
-delete the overlay with deleteLater.

I prefer deleting the overlay because:
1) hiding it will not solve the problem that the current frame is gonna be rendered incorrectly
2) QGraphicsItem::setVisible() does not define explicitely what happen to the cached data. A clever algorithm might decide to keep the cached pixmap around and keep track of the updates.
3) accelerated compositing might not be used ever after this page, not point at keeping the memory around

I leave the commit queue blank for now. I hope No&apos;am will have time to look at this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287059</commentid>
    <comment_count>4</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2010-09-29 12:28:37 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=69237) [details]
&gt; Patch
&gt; 
&gt; We have two options:
&gt; -keep the overlay around but hide it
&gt; -delete the overlay with deleteLater.
&gt; 
&gt; I prefer deleting the overlay because:

Me too.

&gt; 1) hiding it will not solve the problem that the current frame is gonna be rendered incorrectly
&gt; 2) QGraphicsItem::setVisible() does not define explicitely what happen to the cached data. A clever algorithm might decide to keep the cached pixmap around and keep track of the updates.

Really complex to do since all call to update are discarded if the item is not visible...Too much complication for little result. setVisible(true) will trigger a full redraw...

&gt; 3) accelerated compositing might not be used ever after this page, not point at keeping the memory around
&gt; 

Good point.

&gt; I leave the commit queue blank for now. I hope No&apos;am will have time to look at this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287061</commentid>
    <comment_count>5</comment_count>
      <attachid>69237</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-09-29 12:33:01 -0700</bug_when>
    <thetext>Comment on attachment 69237
Patch

r=me, thanks Alexis for comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287071</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2010-09-29 12:51:58 -0700</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287408</commentid>
    <comment_count>7</comment_count>
      <attachid>69237</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-30 00:23:06 -0700</bug_when>
    <thetext>Comment on attachment 69237
Patch

Clearing flags on attachment: 69237

Committed r68761: &lt;http://trac.webkit.org/changeset/68761&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>287409</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-30 00:23:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288131</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2010-10-01 02:15:29 -0700</bug_when>
    <thetext>Move the bug as critical for 2.1 now that we know the scope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>288208</commentid>
    <comment_count>10</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-10-01 06:11:02 -0700</bug_when>
    <thetext>Revision r68653 cherry-picked into qtwebkit-2.1 with commit 13e454d &lt;http://gitorious.org/webkit/qtwebkit/commit/13e454d&gt;
Revision r68761 cherry-picked into qtwebkit-2.1 with commit 35e5a3e &lt;http://gitorious.org/webkit/qtwebkit/commit/35e5a3e&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69204</attachid>
            <date>2010-09-29 09:43:25 -0700</date>
            <delta_ts>2010-09-29 09:46:33 -0700</delta_ts>
            <desc>Clean up QGraphicsWebViewPrivate::overlay (r=ariya)</desc>
            <filename>bug-46812-patch1.diff</filename>
            <type>text/plain</type>
            <size>3269</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgYi9XZWJLaXQv
cXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDM2ZDQzMjYuLjkzNmQzNmQgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcApAQCAtNzYsOCArNzYsMTIgQEAgcHVibGljOgogICAg
IFFXZWJQYWdlKiBwYWdlOwogICAgIGJvb2wgcmVzaXplc1RvQ29udGVudHM7CiAKLSAgICAvLyBK
dXN0IGEgY29udmVuaWVuY2UgdG8gYXZvaWQgdXNpbmcgcGFnZS0+Y2xpZW50LT5vdmVybGF5IGFs
d2F5cwotICAgIFFTaGFyZWRQb2ludGVyPFFHcmFwaGljc0l0ZW1PdmVybGF5PiBvdmVybGF5Owor
ICAgIFFHcmFwaGljc0l0ZW1PdmVybGF5KiBvdmVybGF5KCkgY29uc3QKKyAgICB7CisgICAgICAg
IGlmICghcGFnZSB8fCAhcGFnZS0+ZC0+Y2xpZW50KQorICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxQYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0Kj4ocGFn
ZS0+ZC0+Y2xpZW50KS0+b3ZlcmxheS5kYXRhKCk7CisgICAgfQogfTsKIAogUUdyYXBoaWNzV2Vi
Vmlld1ByaXZhdGU6On5RR3JhcGhpY3NXZWJWaWV3UHJpdmF0ZSgpCkBAIC0yOTQsNyArMjk4LDcg
QEAgdm9pZCBRR3JhcGhpY3NXZWJWaWV3OjpwYWludChRUGFpbnRlciogcGFpbnRlciwgY29uc3Qg
UVN0eWxlT3B0aW9uR3JhcGhpY3NJdGVtKgogICAgIH0gCiAjZW5kaWYKICNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCi0gICAgcGFnZSgpLT5tYWluRnJhbWUoKS0+cmVuZGVyKHBhaW50
ZXIsIGQtPm92ZXJsYXkgPyBRV2ViRnJhbWU6OkNvbnRlbnRzTGF5ZXIgOiBRV2ViRnJhbWU6OkFs
bExheWVycywgb3B0aW9uLT5leHBvc2VkUmVjdC50b0FsaWduZWRSZWN0KCkpOworICAgIHBhZ2Uo
KS0+bWFpbkZyYW1lKCktPnJlbmRlcihwYWludGVyLCBkLT5vdmVybGF5KCkgPyBRV2ViRnJhbWU6
OkNvbnRlbnRzTGF5ZXIgOiBRV2ViRnJhbWU6OkFsbExheWVycywgb3B0aW9uLT5leHBvc2VkUmVj
dC50b0FsaWduZWRSZWN0KCkpOwogI2Vsc2UKICAgICBwYWdlKCktPm1haW5GcmFtZSgpLT5yZW5k
ZXIocGFpbnRlciwgUVdlYkZyYW1lOjpBbGxMYXllcnMsIG9wdGlvbi0+ZXhwb3NlZFJlY3QudG9S
ZWN0KCkpOwogI2VuZGlmCkBAIC00NDUsMTAgKzQ0OSw5IEBAIHZvaWQgUUdyYXBoaWNzV2ViVmll
dzo6c2V0UGFnZShRV2ViUGFnZSogcGFnZSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZC0+cGFn
ZS0+ZC0+Y2xpZW50ID0gbmV3IFBhZ2VDbGllbnRRR3JhcGhpY3NXaWRnZXQodGhpcywgcGFnZSk7
IC8vIHNldCB0aGUgcGFnZSBjbGllbnQKLSAgICBkLT5vdmVybGF5ID0gc3RhdGljX2Nhc3Q8UGFn
ZUNsaWVudFFHcmFwaGljc1dpZGdldCo+KGQtPnBhZ2UtPmQtPmNsaWVudCktPm92ZXJsYXk7CiAK
LSAgICBpZiAoZC0+b3ZlcmxheSkKLSAgICAgICAgZC0+b3ZlcmxheS0+cHJlcGFyZUdyYXBoaWNz
SXRlbUdlb21ldHJ5Q2hhbmdlKCk7CisgICAgaWYgKGQtPm92ZXJsYXkoKSkKKyAgICAgICAgZC0+
b3ZlcmxheSgpLT5wcmVwYXJlR3JhcGhpY3NJdGVtR2VvbWV0cnlDaGFuZ2UoKTsKIAogICAgIFFT
aXplIHNpemUgPSBnZW9tZXRyeSgpLnNpemUoKS50b1NpemUoKTsKICAgICBwYWdlLT5zZXRWaWV3
cG9ydFNpemUoc2l6ZSk7CkBAIC01NjAsOCArNTYzLDggQEAgcXJlYWwgUUdyYXBoaWNzV2ViVmll
dzo6em9vbUZhY3RvcigpIGNvbnN0CiAqLwogdm9pZCBRR3JhcGhpY3NXZWJWaWV3Ojp1cGRhdGVH
ZW9tZXRyeSgpCiB7Ci0gICAgaWYgKGQtPm92ZXJsYXkpCi0gICAgICAgIGQtPm92ZXJsYXktPnBy
ZXBhcmVHcmFwaGljc0l0ZW1HZW9tZXRyeUNoYW5nZSgpOworICAgIGlmIChkLT5vdmVybGF5KCkp
CisgICAgICAgIGQtPm92ZXJsYXkoKS0+cHJlcGFyZUdyYXBoaWNzSXRlbUdlb21ldHJ5Q2hhbmdl
KCk7CiAKICAgICBRR3JhcGhpY3NXaWRnZXQ6OnVwZGF0ZUdlb21ldHJ5KCk7CiAKQEAgLTU3OCw4
ICs1ODEsOCBAQCB2b2lkIFFHcmFwaGljc1dlYlZpZXc6OnNldEdlb21ldHJ5KGNvbnN0IFFSZWN0
RiYgcmVjdCkKIHsKICAgICBRR3JhcGhpY3NXaWRnZXQ6OnNldEdlb21ldHJ5KHJlY3QpOwogCi0g
ICAgaWYgKGQtPm92ZXJsYXkpCi0gICAgICAgIGQtPm92ZXJsYXktPnByZXBhcmVHcmFwaGljc0l0
ZW1HZW9tZXRyeUNoYW5nZSgpOworICAgIGlmIChkLT5vdmVybGF5KCkpCisgICAgICAgIGQtPm92
ZXJsYXkoKS0+cHJlcGFyZUdyYXBoaWNzSXRlbUdlb21ldHJ5Q2hhbmdlKCk7CiAKICAgICBpZiAo
IWQtPnBhZ2UpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9DaGFuZ2VM
b2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDdhMmMwNjQuLjdlNzBhOWUgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIyIEBACisyMDEwLTA5LTI5ICBBbmRyZWFzIEtsaW5nICA8YW5kcmVhcy5rbGluZ0Bub2tp
YS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQXJpeWEgSGlkYXlhdC4KKworICAgICAgICBb
UXRdIERvbid0IGtlZXAgbG9jYWwgcmVmZXJlbmNlIHRvIFFHcmFwaGljc0l0ZW1PdmVybGF5IGlu
IFFHV1ZQcml2YXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00NjgxMgorCisgICAgICAgIEdldCB0aGUgUUdyYXBoaWNzSXRlbU92ZXJsYXkqIHZpYSB0
aGUgUVdlYlBhZ2VDbGllbnQgKGQtPnBhZ2UtPmQtPmNsaWVudCkKKyAgICAgICAgaW5zdGVhZCBv
ZiBrZWVwaW5nIGEgbG9jYWwgcG9pbnRlciB0byBpdC4KKworICAgICAgICBUaGlzIGlzIGNsZWFu
dXAgZm9yIGEgZm9sbG93LXVwIHBhdGNoLgorCisgICAgICAgICogQXBpL3FncmFwaGljc3dlYnZp
ZXcuY3BwOgorICAgICAgICAoUUdyYXBoaWNzV2ViVmlld1ByaXZhdGU6Om92ZXJsYXkpOgorICAg
ICAgICAoUUdyYXBoaWNzV2ViVmlldzo6cGFpbnQpOgorICAgICAgICAoUUdyYXBoaWNzV2ViVmll
dzo6c2V0UGFnZSk6CisgICAgICAgIChRR3JhcGhpY3NXZWJWaWV3Ojp1cGRhdGVHZW9tZXRyeSk6
CisgICAgICAgIChRR3JhcGhpY3NXZWJWaWV3OjpzZXRHZW9tZXRyeSk6CisKIDIwMTAtMDktMjgg
IEplbm4gQnJhaXRod2FpdGUgIDxqZW5uYkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRG1pdHJ5IFRpdG92Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>69237</attachid>
            <date>2010-09-29 11:49:39 -0700</date>
            <delta_ts>2010-09-30 00:23:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>46812.diff</filename>
            <type>text/plain</type>
            <size>4250</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAgYi9XZWJLaXQv
cXQvQXBpL3FncmFwaGljc3dlYnZpZXcuY3BwCmluZGV4IDkzNmQzNmQuLmJjZTBiNjEgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9xdC9BcGkvcWdyYXBoaWNzd2Vidmlldy5jcHAKKysrIGIvV2ViS2l0L3F0
L0FwaS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcApAQCAtODAsNyArODAsNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgICAgICBpZiAoIXBhZ2UgfHwgIXBhZ2UtPmQtPmNsaWVudCkKICAgICAgICAgICAgIHJl
dHVybiAwOwotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFHcmFwaGljc1dp
ZGdldCo+KHBhZ2UtPmQtPmNsaWVudCktPm92ZXJsYXkuZGF0YSgpOworICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8UGFnZUNsaWVudFFHcmFwaGljc1dpZGdldCo+KHBhZ2UtPmQtPmNsaWVudCkt
Pm92ZXJsYXk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBi
L1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggN2U3MGE5ZS4uNTQ0NzdiOCAxMDA2NDQKLS0tIGEv
V2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjQgQEAKKzIwMTAtMDktMjkgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbi5wb3VsYWluQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbUXRdIENyYXNoIGlmIGFuIHNjZW5lIHdpdGggYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgbGF5
b3V0IGR1cmluZyB0aGUgcGFpbnQgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ2ODEyCisKKyAgICAgICAgRGVsYXkgdGhlIGRlbGV0aW9uIG9m
IHRoZSBvdmVybGF5IGFmdGVyIHRoZSBjdXJyZW50IGV2ZW50IGlzIHByb2Nlc3NlZC4KKworICAg
ICAgICBSZW1vdmluZyB0aGUgb3ZlcmxheSBjYW4gc29tZXRpbWVzIGJlIGRvbmUgaW5zaWRlIHRo
ZSByZW5kZXJpbmcgY29kZSBvZgorICAgICAgICB0aGUgb3ZlcmxheSBpdHNlbGYuIFdoZW4gdGhl
IHJlbmRlcmluZyBjb2RlIGlzIHVzaW5nIHRoZSByZWZlcmVuY2UgYWZ0ZXIKKyAgICAgICAgdGhl
IGRlbGV0aW9uIG9mIHRoZSBvdmVybGF5LCBXZWJLaXQgY3Jhc2hlcy4KKworICAgICAgICAqIEFw
aS9xZ3JhcGhpY3N3ZWJ2aWV3LmNwcDoKKyAgICAgICAgKFFHcmFwaGljc1dlYlZpZXdQcml2YXRl
OjpvdmVybGF5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QYWdlQ2xpZW50UXQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFHcmFwaGljc1dpZGdldDo6flBhZ2VDbGllbnRR
R3JhcGhpY3NXaWRnZXQpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZUNsaWVudFFHcmFwaGljc1dp
ZGdldDo6Y3JlYXRlT3JEZWxldGVPdmVybGF5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Q
YWdlQ2xpZW50UXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VDbGllbnRRR3JhcGhpY3NXaWRn
ZXQ6OlBhZ2VDbGllbnRRR3JhcGhpY3NXaWRnZXQpOgorCiAyMDEwLTA5LTI5ICBBbmRyZWFzIEts
aW5nICA8YW5kcmVhcy5rbGluZ0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQXJp
eWEgSGlkYXlhdC4KZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QYWdlQ2xp
ZW50UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5jcHAKaW5k
ZXggZWEyMDlkOS4uOWYxMTQ5NiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L1BhZ2VDbGllbnRRdC5jcHAKKysrIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGll
bnRRdC5jcHAKQEAgLTEwNSw2ICsxMDUsNyBAQCBRUmVjdEYgUGFnZUNsaWVudFFXaWRnZXQ6Ondp
bmRvd1JlY3QoKSBjb25zdAogCiBQYWdlQ2xpZW50UUdyYXBoaWNzV2lkZ2V0Ojp+UGFnZUNsaWVu
dFFHcmFwaGljc1dpZGdldCgpCiB7CisgICAgZGVsZXRlIG92ZXJsYXk7CiAjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIGlmICghcm9vdEdyYXBoaWNzTGF5ZXIpCiAgICAgICAg
IHJldHVybjsKQEAgLTE1MCwxMSArMTUxLDE1IEBAIHZvaWQgUGFnZUNsaWVudFFHcmFwaGljc1dp
ZGdldDo6Y3JlYXRlT3JEZWxldGVPdmVybGF5KCkKICAgICB9CiAgICAgaWYgKHVzZU92ZXJsYXkg
PT0gISFvdmVybGF5KQogICAgICAgICByZXR1cm47CisKICAgICBpZiAodXNlT3ZlcmxheSkgewot
ICAgICAgICBvdmVybGF5ID0gUVNoYXJlZFBvaW50ZXI8UUdyYXBoaWNzSXRlbU92ZXJsYXk+KG5l
dyBRR3JhcGhpY3NJdGVtT3ZlcmxheSh2aWV3LCBwYWdlKSk7CisgICAgICAgIG92ZXJsYXkgPSBu
ZXcgUUdyYXBoaWNzSXRlbU92ZXJsYXkodmlldywgcGFnZSk7CiAgICAgICAgIG92ZXJsYXktPnNl
dFpWYWx1ZShPdmVybGF5WlZhbHVlKTsKLSAgICB9IGVsc2UKLSAgICAgICAgb3ZlcmxheS5jbGVh
cigpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIENoYW5naW5nIHRoZSBvdmVybGF5IG1pZ2h0
IGJlIGRvbmUgaW5zaWRlIHBhaW50IGV2ZW50cy4KKyAgICAgICAgb3ZlcmxheS0+ZGVsZXRlTGF0
ZXIoKTsKKyAgICAgICAgb3ZlcmxheSA9IDA7CisgICAgfQogfQogCiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1Bh
Z2VDbGllbnRRdC5oIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BhZ2VDbGllbnRRdC5oCmlu
ZGV4IGVlYTdmNDAuLjNjMzJlYzEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9QYWdlQ2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGFnZUNsaWVu
dFF0LmgKQEAgLTMyLDcgKzMyLDYgQEAKICNpbmNsdWRlICJxd2VicGFnZS5oIgogI2luY2x1ZGUg
InF3ZWJwYWdlX3AuaCIKICNpbmNsdWRlIDxRdENvcmUvcW1ldGFvYmplY3QuaD4KLSNpbmNsdWRl
IDxRdENvcmUvcXNoYXJlZHBvaW50ZXIuaD4KICNpbmNsdWRlIDxRdEd1aS9xZ3JhcGhpY3NzY2Vu
ZS5oPgogI2luY2x1ZGUgPFF0R3VpL3FncmFwaGljc3ZpZXcuaD4KICNpbmNsdWRlIDxRdEd1aS9x
Z3JhcGhpY3N3aWRnZXQuaD4KQEAgLTgzLDEwICs4MiwxMCBAQCBwdWJsaWM6CiAKIC8vIHRoZSBv
dmVybGF5IGlzIGhlcmUgZm9yIG9uZSByZWFzb24gb25seTogdG8gaGF2ZSB0aGUgc2Nyb2xsLWJh
cnMgYW5kIG90aGVyCiAvLyBleHRyYSBVSSBlbGVtZW50cyBhcHBlYXIgb24gdG9wIG9mIGFueSBR
R3JhcGhpY3NJdGVtcyBjcmVhdGVkIGJ5IENTUyBjb21wb3NpdGluZyBsYXllcnMKLWNsYXNzIFFH
cmFwaGljc0l0ZW1PdmVybGF5IDogcHVibGljIFFHcmFwaGljc0l0ZW0geworY2xhc3MgUUdyYXBo
aWNzSXRlbU92ZXJsYXkgOiBwdWJsaWMgUUdyYXBoaWNzT2JqZWN0IHsKICAgICBwdWJsaWM6CiAg
ICAgUUdyYXBoaWNzSXRlbU92ZXJsYXkoUUdyYXBoaWNzV2lkZ2V0KiB2aWV3LCBRV2ViUGFnZSog
cCkKLSAgICAgICAgICAgIDpRR3JhcGhpY3NJdGVtKHZpZXcpCisgICAgICAgICAgICA6UUdyYXBo
aWNzT2JqZWN0KHZpZXcpCiAgICAgICAgICAgICAsIHEodmlldykKICAgICAgICAgICAgICwgcGFn
ZShwKQogICAgIHsKQEAgLTEyNCw2ICsxMjMsNyBAQCBwdWJsaWM6CiAjaWYgVVNFKEFDQ0VMRVJB
VEVEX0NPTVBPU0lUSU5HKQogICAgICAgICAsIHNob3VsZFN5bmMoZmFsc2UpCiAjZW5kaWYKKyAg
ICAgICAgLCBvdmVybGF5KDApCiAgICAgewogICAgICAgIFFfQVNTRVJUKHZpZXcpOwogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKQEAgLTE5NCw3ICsxOTQsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBzaG91bGRTeW5jOwogI2VuZGlmCiAgICAgLy8gdGhlIG92ZXJsYXkgZ2V0cyBpbnN0
YW50aWF0ZWQgd2hlbiB0aGUgcm9vdCBsYXllciBpcyBhdHRhY2hlZCwgYW5kIGdldCBkZWxldGVk
IHdoZW4gaXQncyBkZXRhY2hlZAotICAgIFFTaGFyZWRQb2ludGVyPFFHcmFwaGljc0l0ZW1PdmVy
bGF5PiBvdmVybGF5OworICAgIFFHcmFwaGljc0l0ZW1PdmVybGF5KiBvdmVybGF5OwogCiAgICAg
Ly8gd2UgbmVlZCB0byBwdXQgdGhlIHJvb3QgZ3JhcGhpY3MgbGF5ZXIgYmVoaW5kIHRoZSBvdmVy
bGF5ICh3aGljaCBjb250YWlucyB0aGUgc2Nyb2xsYmFyKQogICAgIGVudW0geyBSb290R3JhcGhp
Y3NMYXllclpWYWx1ZSwgT3ZlcmxheVpWYWx1ZSB9Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>