<?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>84278</bug_id>
          
          <creation_ts>2012-04-18 14:25:52 -0700</creation_ts>
          <short_desc>[Qt] ASSERT(m_thread == currentThread()) on Mac when threaded rendering is enabled for the Qt scenegraph</short_desc>
          <delta_ts>2012-04-19 17:37:24 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tor Arne Vestbø">vestbo</reporter>
          <assigned_to name="Viatcheslav Ostapenko">ostap73</assigned_to>
          <cc>jturcotte</cc>
    
    <cc>menard</cc>
    
    <cc>noam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>605087</commentid>
    <comment_count>0</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2012-04-18 14:25:52 -0700</bug_when>
    <thetext>Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000bbadbeef
0x0000000104ebeea1 in WebCore::TimerBase::stop (this=0x10ce237c8) at /Users/torarne/dev/webkit/wip/Source/WebCore/platform/Timer.cpp:219
219	    ASSERT(m_thread == currentThread());
(gdb) bt
#0  0x0000000104ebeea1 in WebCore::TimerBase::stop (this=0x10ce237c8) at /Users/torarne/dev/webkit/wip/Source/WebCore/platform/Timer.cpp:219
#1  0x0000000104ebede9 in WebCore::TimerBase::~TimerBase (this=0x10ce237c8) at /Users/torarne/dev/webkit/wip/Source/WebCore/platform/Timer.cpp:205
#2  0x000000010563ddd5 in WebCore::Timer&lt;WebCore::GraphicsLayerTextureMapper&gt;::~Timer (this=0x10ce237c8) at Timer.h:92
#3  0x000000010563cd15 in WebCore::Timer&lt;WebCore::GraphicsLayerTextureMapper&gt;::~Timer (this=0x10ce237c8) at Timer.h:92
#4  0x000000010563b97b in WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper (this=0x10ce23550) at /Users/torarne/dev/webkit/wip/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:62
#5  0x000000010563b935 in WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper (this=0x10ce23550) at /Users/torarne/dev/webkit/wip/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:60
#6  0x000000010563b8b8 in WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper (this=0x10ce23550) at /Users/torarne/dev/webkit/wip/Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:60
#7  0x0000000103f8b4ce in WTF::deleteOwnedPtr&lt;WebCore::GraphicsLayer&gt; (ptr=0x10ce23550) at OwnPtrCommon.h:55
#8  0x0000000103f8b498 in WTF::OwnPtr&lt;WebCore::GraphicsLayer&gt;::~OwnPtr (this=0x10e8334c0) at OwnPtr.h:55
#9  0x0000000103f8a935 in WTF::OwnPtr&lt;WebCore::GraphicsLayer&gt;::~OwnPtr (this=0x10e8334c0) at OwnPtr.h:55
#10 0x00000001040d2448 in WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer (this=0x10e8333b0) at /Users/torarne/dev/webkit/wip/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:95
#11 0x00000001040d23d5 in WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer (this=0x10e8333b0) at /Users/torarne/dev/webkit/wip/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:94
#12 0x00000001040d2358 in WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer (this=0x10e8333b0) at /Users/torarne/dev/webkit/wip/Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:94
#13 0x00000001040342f3 in WTF::ThreadSafeRefCounted&lt;WebKit::WebLayerTreeRenderer&gt;::deref (this=0x10e8333b8) at ThreadSafeRefCounted.h:137
#14 0x000000010406f7ac in WTF::RefAndDeref&lt;WebKit::WebLayerTreeRenderer*, true&gt;::deref (t=0x10e8333b0) at Functional.h:286
#15 0x0000000104070c46 in WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (WebKit::WebLayerTreeRenderer::*)()&gt;, void ()(WebKit::WebLayerTreeRenderer*)&gt;::~BoundFunctionImpl (this=0x10eb439a0) at Functional.h:367
#16 0x0000000104070ad5 in WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (WebKit::WebLayerTreeRenderer::*)()&gt;, void ()(WebKit::WebLayerTreeRenderer*)&gt;::~BoundFunctionImpl (this=0x10eb439a0) at Functional.h:366
#17 0x0000000104070af8 in WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (WebKit::WebLayerTreeRenderer::*)()&gt;, void ()(WebKit::WebLayerTreeRenderer*)&gt;::~BoundFunctionImpl (this=0x10eb439a0) at Functional.h:366
#18 0x0000000103fb63a3 in WTF::ThreadSafeRefCounted&lt;WTF::FunctionImplBase&gt;::deref (this=0x10eb439a8) at ThreadSafeRefCounted.h:137
#19 0x0000000103fb6c6b in WTF::derefIfNotNull&lt;WTF::FunctionImplBase&gt; (ptr=0x10eb439a0) at PassRefPtr.h:52
#20 0x0000000103fbc488 in WTF::RefPtr&lt;WTF::FunctionImplBase&gt;::~RefPtr (this=0x10eb1cfd0) at RefPtr.h:56
#21 0x0000000103fbc465 in WTF::RefPtr&lt;WTF::FunctionImplBase&gt;::~RefPtr (this=0x10eb1cfd0) at RefPtr.h:56
#22 0x0000000103fbc445 in WTF::FunctionBase::~FunctionBase (this=0x10eb1cfd0) at Functional.h:535
#23 0x0000000103fbc425 in WTF::Function&lt;void ()()&gt;::~Function (this=0x10eb1cfd0) at Functional.h:562
#24 0x0000000103faf8d5 in WTF::Function&lt;void ()()&gt;::~Function (this=0x10eb1cfd0) at Functional.h:562
#25 0x0000000105f166eb in callFunctionObject (context=0x10eb1cfd0) at /Users/torarne/dev/webkit/wip/Source/WTF/wtf/MainThread.cpp:226
#26 0x0000000105f15ed5 in WTF::dispatchFunctionsFromMainThread () at /Users/torarne/dev/webkit/wip/Source/WTF/wtf/MainThread.cpp:156
#27 0x0000000105f2328c in WTF::MainThreadInvoker::event (this=0x10e8278a0, e=0x10eb2db80) at /Users/torarne/dev/webkit/wip/Source/WTF/wtf/qt/MainThreadQt.cpp:60
#28 0x00000001016c36d8 in QCoreApplicationPrivate::notify_helper (this=0x10cc1dd10, receiver=0x10e8278a0, event=0x10eb2db80) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:810
#29 0x00000001016c362a in QCoreApplication::notify (this=0x7fff5fbfd300, receiver=0x10e8278a0, event=0x10eb2db80) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:756
#30 0x0000000101e435b8 in QGuiApplication::notify (this=0x7fff5fbfd300, object=0x10e8278a0, event=0x10eb2db80) at /Users/torarne/dev/qt/5.0/qtbase/src/gui/kernel/qguiapplication.cpp:901
#31 0x00000001016c34af in QCoreApplication::notifyInternal (this=0x7fff5fbfd300, receiver=0x10e8278a0, event=0x10eb2db80) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:694
#32 0x00000001016c7e04 in QCoreApplication::sendEvent (receiver=0x10e8278a0, event=0x10eb2db80) at qcoreapplication.h:210
#33 0x00000001016c4960 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0x0, data=0x10ce00a10) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1293
#34 0x00000001016c3de8 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0x0) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1154
#35 0x0000000101e3092f in QWindowSystemInterface::sendWindowSystemEvents (eventDispatcher=0x10eb17310, flags={i = 0x0}) at /Users/torarne/dev/qt/5.0/qtbase/src/gui/kernel/qwindowsysteminterface_qpa.cpp:452
#36 0x000000010ee0faf2 in QCocoaEventDispatcherPrivate::processPostedEvents ()
#37 0x000000010ee10241 in QCocoaEventDispatcherPrivate::postedEventsSourcePerformCallback ()
#38 0x00007fff91ff96e1 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#39 0x00007fff91ff8f4d in __CFRunLoopDoSources0 ()
#40 0x00007fff9201fd39 in __CFRunLoopRun ()
#41 0x00007fff9201f676 in CFRunLoopRunSpecific ()
#42 0x00007fff8f68b31f in RunCurrentEventLoopInMode ()
#43 0x00007fff8f69251b in ReceiveNextEventCommon ()
#44 0x00007fff8f692456 in BlockUntilNextEventMatchingListInMode ()
#45 0x00007fff8d207f5d in _DPSNextEvent ()
#46 0x00007fff8d207861 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#47 0x00007fff8d20419d in -[NSApplication run] ()
#48 0x000000010ee0f20a in QCocoaEventDispatcher::processEvents ()
#49 0x00000001016beaec in QEventLoop::processEvents (this=0x7fff5fbfd090, flags={i = 0x24}) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qeventloop.cpp:135
#50 0x00000001016bed08 in QEventLoop::exec (this=0x7fff5fbfd090, flags={i = 0x0}) at /Users/torarne/dev/qt/5.0/qtbase/src/corelib/kernel/qeventloop.cpp:211
#51 0x0000000100019196 in quick_test_main (argc=0x2, argv=0x7fff5fbfd320, name=0x10000aba0 &quot;qmltests&quot;, createViewport=0, sourceDir=0x10000aba9 &quot;/Users/torarne/dev/webkit/wip/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView&quot;) at /Users/torarne/dev/qt/5.0/qtdeclarative/src/qmltest/quicktest.cpp:293
#52 0x0000000100008906 in main ()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605414</commentid>
    <comment_count>1</comment_count>
      <attachid>137856</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-04-19 00:06:06 -0700</bug_when>
    <thetext>Created attachment 137856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605526</commentid>
    <comment_count>2</comment_count>
      <attachid>137856</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-19 06:11:07 -0700</bug_when>
    <thetext>Comment on attachment 137856
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=137856&amp;action=review

Are we sure that the web process is suspended between purgeGLResources and the next update?

&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:289
&gt; +    if (!layer)

Comment

&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:303
&gt; +    if (backingStore)

Add a comment about why this might be null.

&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:310
&gt; +    if (backingStore)

Add a comment about why this might be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605553</commentid>
    <comment_count>3</comment_count>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-04-19 07:10:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 137856 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=137856&amp;action=review
&gt; 
&gt; Are we sure that the web process is suspended between purgeGLResources and the next update?

The whole webprocess is not suspended, but rendering on drawing area should be. I don&apos;t know any scenario when scenegraph would delete paint node of visible item.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605564</commentid>
    <comment_count>4</comment_count>
      <attachid>137856</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-19 07:35:18 -0700</bug_when>
    <thetext>Comment on attachment 137856
Patch

r=me
Please add some comments in places where we return null, explaining that those updates come when the view is invisible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605638</commentid>
    <comment_count>5</comment_count>
      <attachid>137856</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-19 09:50:07 -0700</bug_when>
    <thetext>Comment on attachment 137856
Patch

On second thought, this is bug-prone.
Let&apos;s make sure we don&apos;t do anything with the render-queue if the page is invisible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605667</commentid>
    <comment_count>6</comment_count>
      <attachid>137918</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-04-19 10:24:39 -0700</bug_when>
    <thetext>Created attachment 137918
Remove null checks and make sure that queue is empty after paint node was deleted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605730</commentid>
    <comment_count>7</comment_count>
      <attachid>137918</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-19 11:25:41 -0700</bug_when>
    <thetext>Comment on attachment 137918
Remove null checks and make sure that queue is empty after paint node was deleted

View in context: https://bugs.webkit.org/attachment.cgi?id=137918&amp;action=review

We should also ignore new incoming LayerTreeHostProxy messages until the next updatePaintNode.

&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:431
&gt; +void WebLayerTreeRenderer::clearUpdateQueue()

Maybe clearRenderQueue, considering the line below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>605783</commentid>
    <comment_count>8</comment_count>
      <attachid>137947</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-04-19 12:15:06 -0700</bug_when>
    <thetext>Created attachment 137947
Ignore updates if paint node is deleted until recreated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606115</commentid>
    <comment_count>9</comment_count>
      <attachid>137947</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-19 16:24:38 -0700</bug_when>
    <thetext>Comment on attachment 137947
Ignore updates if paint node is deleted until recreated.

View in context: https://bugs.webkit.org/attachment.cgi?id=137947&amp;action=review

&gt; Source/WebKit2/UIProcess/WebLayerTreeRenderer.cpp:441
&gt; +void WebLayerTreeRenderer::clearRenderQueue()
&gt; +{
&gt; +    m_isActive = false;
&gt; +    m_renderQueue.clear();
&gt; +}
&gt; +
&gt; +void WebLayerTreeRenderer::activate()

These can be one function with a bool argument, that also call m_renderQueue.clear(). That way you don&apos;t have to call clearRenderQueue before activate().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606169</commentid>
    <comment_count>10</comment_count>
      <attachid>137947</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2012-04-19 16:48:49 -0700</bug_when>
    <thetext>Comment on attachment 137947
Ignore updates if paint node is deleted until recreated.

Please fix previous comments, otherwise r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606203</commentid>
    <comment_count>11</comment_count>
      <attachid>138009</attachid>
    <who name="Viatcheslav Ostapenko">ostap73</who>
    <bug_when>2012-04-19 17:04:03 -0700</bug_when>
    <thetext>Created attachment 138009
Updated patch by Noam comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606238</commentid>
    <comment_count>12</comment_count>
      <attachid>138009</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 17:37:19 -0700</bug_when>
    <thetext>Comment on attachment 138009
Updated patch by Noam comments.

Clearing flags on attachment: 138009

Committed r114705: &lt;http://trac.webkit.org/changeset/114705&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606239</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-19 17:37:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137856</attachid>
            <date>2012-04-19 00:06:06 -0700</date>
            <delta_ts>2012-04-19 10:24:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>LayerTreePurge_01.diff</filename>
            <type>text/plain</type>
            <size>4053</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzMmJkNzkzLi5kOTg5OGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMTItMDQtMTggIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPG9zdGFwZW5rby52aWF0Y2hl
c2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBBU1NFUlQobV90aHJlYWQgPT0gY3VycmVu
dFRocmVhZCgpKSBvbiBNYWMgd2hlbiB0aHJlYWRlZCByZW5kZXJpbmcgaXMgZW5hYmxlZCBmb3Ig
dGhlIFF0IHNjZW5lZ3JhcGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0Mjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGVsZXRlIHRoZSB3aG9sZSBsYXllciB0cmVlIG9uIFVJIHNpZGUgd2hlbiBwYWlu
dCBub2RlIGlzIGRlbGV0ZWQgYW5kIGZvcmNlIHJlc3luYyBvZiB0aGUgbGF5ZXJzIHdoZW4KKyAg
ICAgICAgcGFnZSBiZWNvbWVzIHZpc2libGUgYWdhaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRyZWVS
ZW5kZXJlcjo6V2ViTGF5ZXJUcmVlUmVuZGVyZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXll
clRyZWVSZW5kZXJlcjo6Z2V0QmFja2luZ1N0b3JlKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5
ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZVRpbGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJMYXllclRy
ZWVSZW5kZXJlcjo6cmVtb3ZlVGlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJl
bmRlcmVyOjpwdXJnZUdMUmVzb3VyY2VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR3JhcGhp
Y3NMYXllcjo6cHVyZ2VCYWNraW5nU3RvcmVzKToKKwogMjAxMi0wNC0xOCAgSmVyIE5vYmxlICA8
amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBGdWxsIFNjcmVlbiBtb2RlIGRvZXMgbm90
IHByZXNlcnZlIENBTGF5ZXIgb3JkZXJpbmcgYWZ0ZXIgZXhpdGluZy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCmluZGV4IDk4NTM4ZDYu
LmFlMzYyMjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMYXllclRy
ZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJl
ZVJlbmRlcmVyLmNwcApAQCAtODYsNyArODYsNyBAQCBzdGF0aWMgSW50UG9pbnQgYm91bmRlZFNj
cm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgY29uc3QgSW50Ugog
CiBXZWJMYXllclRyZWVSZW5kZXJlcjo6V2ViTGF5ZXJUcmVlUmVuZGVyZXIoTGF5ZXJUcmVlSG9z
dFByb3h5KiBsYXllclRyZWVIb3N0UHJveHkpCiAgICAgOiBtX2xheWVyVHJlZUhvc3RQcm94eShs
YXllclRyZWVIb3N0UHJveHkpCi0gICAgLCBtX3Jvb3RMYXllcklEKDApCisgICAgLCBtX3Jvb3RM
YXllcklEKEludmFsaWRXZWJMYXllcklEKQogewogfQogCkBAIC0yODYsNyArMjg2LDggQEAgdm9p
ZCBXZWJMYXllclRyZWVSZW5kZXJlcjo6c2V0Um9vdExheWVySUQoV2ViTGF5ZXJJRCBsYXllcklE
KQogUGFzc1JlZlB0cjxMYXllckJhY2tpbmdTdG9yZT4gV2ViTGF5ZXJUcmVlUmVuZGVyZXI6Omdl
dEJhY2tpbmdTdG9yZShXZWJMYXllcklEIGlkKQogewogICAgIFRleHR1cmVNYXBwZXJMYXllciog
bGF5ZXIgPSB0b1RleHR1cmVNYXBwZXJMYXllcihsYXllckJ5SUQoaWQpKTsKLSAgICBBU1NFUlQo
bGF5ZXIpOworICAgIGlmICghbGF5ZXIpCisgICAgICAgIHJldHVybiAwOwogICAgIFJlZlB0cjxM
YXllckJhY2tpbmdTdG9yZT4gYmFja2luZ1N0b3JlID0gc3RhdGljX2Nhc3Q8TGF5ZXJCYWNraW5n
U3RvcmUqPihsYXllci0+YmFja2luZ1N0b3JlKCkuZ2V0KCkpOwogICAgIGlmICghYmFja2luZ1N0
b3JlKSB7CiAgICAgICAgIGJhY2tpbmdTdG9yZSA9IExheWVyQmFja2luZ1N0b3JlOjpjcmVhdGUo
KTsKQEAgLTI5OCwxMiArMjk5LDE2IEBAIFBhc3NSZWZQdHI8TGF5ZXJCYWNraW5nU3RvcmU+IFdl
YkxheWVyVHJlZVJlbmRlcmVyOjpnZXRCYWNraW5nU3RvcmUoV2ViTGF5ZXJJRCBpCiAKIHZvaWQg
V2ViTGF5ZXJUcmVlUmVuZGVyZXI6OmNyZWF0ZVRpbGUoV2ViTGF5ZXJJRCBsYXllcklELCBpbnQg
dGlsZUlELCBmbG9hdCBzY2FsZSkKIHsKLSAgICBnZXRCYWNraW5nU3RvcmUobGF5ZXJJRCktPmNy
ZWF0ZVRpbGUodGlsZUlELCBzY2FsZSk7CisgICAgUmVmUHRyPExheWVyQmFja2luZ1N0b3JlPiBi
YWNraW5nU3RvcmUgPSBnZXRCYWNraW5nU3RvcmUobGF5ZXJJRCk7CisgICAgaWYgKGJhY2tpbmdT
dG9yZSkKKyAgICAgICAgYmFja2luZ1N0b3JlLT5jcmVhdGVUaWxlKHRpbGVJRCwgc2NhbGUpOwog
fQogCiB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVyOjpyZW1vdmVUaWxlKFdlYkxheWVySUQgbGF5
ZXJJRCwgaW50IHRpbGVJRCkKIHsKLSAgICBnZXRCYWNraW5nU3RvcmUobGF5ZXJJRCktPnJlbW92
ZVRpbGUodGlsZUlEKTsKKyAgICBSZWZQdHI8TGF5ZXJCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9y
ZSA9IGdldEJhY2tpbmdTdG9yZShsYXllcklEKTsKKyAgICBpZiAoYmFja2luZ1N0b3JlKQorICAg
ICAgICBiYWNraW5nU3RvcmUtPnJlbW92ZVRpbGUodGlsZUlEKTsKIH0KIAogdm9pZCBXZWJMYXll
clRyZWVSZW5kZXJlcjo6dXBkYXRlVGlsZShXZWJMYXllcklEIGxheWVySUQsIGludCB0aWxlSUQs
IGNvbnN0IFRpbGVVcGRhdGUmIHVwZGF0ZSkKQEAgLTQwMCw2ICs0MDUsMTIgQEAgdm9pZCBXZWJM
YXllclRyZWVSZW5kZXJlcjo6cHVyZ2VHTFJlc291cmNlcygpCiAgICAgICAgIGxheWVyLT5jbGVh
ckJhY2tpbmdTdG9yZXNSZWN1cnNpdmUoKTsKIAogICAgIG1fZGlyZWN0bHlDb21wb3NpdGVkSW1h
Z2VzLmNsZWFyKCk7CisKKyAgICBtX3Jvb3RMYXllci0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAg
ICBtX3Jvb3RMYXllci5jbGVhcigpOworICAgIG1fcm9vdExheWVySUQgPSBJbnZhbGlkV2ViTGF5
ZXJJRDsKKyAgICBtX2xheWVycy5jbGVhcigpOworICAgIG1fZml4ZWRMYXllcnMuY2xlYXIoKTsK
ICAgICBtX3RleHR1cmVNYXBwZXIuY2xlYXIoKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVu
ZGluZ0J1ZmZlcnMuY2xlYXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKaW5kZXggNThh
ODk0OS4uODA1MmEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCkBAIC02MDksNiArNjA5
LDkgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpwdXJnZUJhY2tpbmdTdG9yZXMoKQogICAgICAg
ICBtX3dlYkdyYXBoaWNzTGF5ZXJDbGllbnQtPnJlbGVhc2VJbWFnZUJhY2tpbmdTdG9yZShtX2xh
eWVySW5mby5pbWFnZUJhY2tpbmdTdG9yZUlEKTsKICAgICAgICAgbV9sYXllckluZm8uaW1hZ2VC
YWNraW5nU3RvcmVJRCA9IDA7CiAgICAgfQorCisgICAgZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpOwor
ICAgIGRpZENoYW5nZUNoaWxkcmVuKCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0
V2ViR3JhcGhpY3NMYXllckNsaWVudChXZWJLaXQ6OldlYkdyYXBoaWNzTGF5ZXJDbGllbnQqIGNs
aWVudCkK
</data>
<flag name="review"
          id="143038"
          type_id="1"
          status="-"
          setter="noam"
    />
    <flag name="commit-queue"
          id="143039"
          type_id="3"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137918</attachid>
            <date>2012-04-19 10:24:39 -0700</date>
            <delta_ts>2012-04-19 12:15:06 -0700</delta_ts>
            <desc>Remove null checks and make sure that queue is empty after paint node was deleted</desc>
            <filename>LayerTreePurge_02.diff</filename>
            <type>text/plain</type>
            <size>4880</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzMmJkNzkzLi4yMTM5OWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTItMDQtMTkgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPG9zdGFwZW5rby52aWF0Y2hl
c2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBBU1NFUlQobV90aHJlYWQgPT0gY3VycmVu
dFRocmVhZCgpKSBvbiBNYWMgd2hlbiB0aHJlYWRlZCByZW5kZXJpbmcgaXMgZW5hYmxlZCBmb3Ig
dGhlIFF0IHNjZW5lZ3JhcGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0Mjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGVsZXRlIHRoZSB3aG9sZSBsYXllciB0cmVlIG9uIFVJIHNpZGUgd2hlbiBwYWlu
dCBub2RlIGlzIGRlbGV0ZWQgYW5kIGZvcmNlIHJlc3luYyBvZiB0aGUgbGF5ZXJzIHdoZW4KKyAg
ICAgICAgcGFnZSBiZWNvbWVzIHZpc2libGUgYWdhaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFBy
b3h5OjpwdXJnZUJhY2tpbmdTdG9yZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJMYXllclRy
ZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRlcmVyOjpX
ZWJMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRl
cmVyOjpwdXJnZUdMUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlUmVu
ZGVyZXI6OmNsZWFyVXBkYXRlUXVldWUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKyAgICAgICAgKFdlYkxheWVyVHJlZVJl
bmRlcmVyKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6Q29udGVudHNTR05vZGU6OkNvbnRlbnRzU0dOb2RlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViR3JhcGhpY3NMYXllcjo6cHVyZ2VCYWNraW5nU3RvcmVzKToKKwogMjAx
Mi0wNC0xOCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBGdWxs
IFNjcmVlbiBtb2RlIGRvZXMgbm90IHByZXNlcnZlIENBTGF5ZXIgb3JkZXJpbmcgYWZ0ZXIgZXhp
dGluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXllclRyZWVIb3N0
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5j
cHAKaW5kZXggMGQyNWI5Yi4uYzRhOTRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xheWVyVHJlZUhvc3RQcm94eS5jcHAKQEAgLTEzNCw2ICsxMzQsNyBAQCB2b2lkIExheWVy
VHJlZUhvc3RQcm94eTo6ZGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBv
c2l0aW9uKQogCiB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6cHVyZ2VCYWNraW5nU3RvcmVzKCkK
IHsKKyAgICBtX3JlbmRlcmVyLT5jbGVhclVwZGF0ZVF1ZXVlKCk7CiAgICAgbV9kcmF3aW5nQXJl
YVByb3h5LT5wYWdlKCktPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6TGF5ZXJUcmVlSG9zdDo6
UHVyZ2VCYWNraW5nU3RvcmVzKCksIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFnZSgpLT5wYWdlSUQo
KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMYXllclRy
ZWVSZW5kZXJlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVu
ZGVyZXIuY3BwCmluZGV4IDk4NTM4ZDYuLjJjMDBkYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmNwcApAQCAtODYsNyArODYsNyBAQCBz
dGF0aWMgSW50UG9pbnQgYm91bmRlZFNjcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBzY3Jv
bGxQb3NpdGlvbiwgY29uc3QgSW50UgogCiBXZWJMYXllclRyZWVSZW5kZXJlcjo6V2ViTGF5ZXJU
cmVlUmVuZGVyZXIoTGF5ZXJUcmVlSG9zdFByb3h5KiBsYXllclRyZWVIb3N0UHJveHkpCiAgICAg
OiBtX2xheWVyVHJlZUhvc3RQcm94eShsYXllclRyZWVIb3N0UHJveHkpCi0gICAgLCBtX3Jvb3RM
YXllcklEKDApCisgICAgLCBtX3Jvb3RMYXllcklEKEludmFsaWRXZWJMYXllcklEKQogewogfQog
CkBAIC00MDAsNiArNDAwLDEyIEBAIHZvaWQgV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OnB1cmdlR0xS
ZXNvdXJjZXMoKQogICAgICAgICBsYXllci0+Y2xlYXJCYWNraW5nU3RvcmVzUmVjdXJzaXZlKCk7
CiAKICAgICBtX2RpcmVjdGx5Q29tcG9zaXRlZEltYWdlcy5jbGVhcigpOworCisgICAgbV9yb290
TGF5ZXItPnJlbW92ZUFsbENoaWxkcmVuKCk7CisgICAgbV9yb290TGF5ZXIuY2xlYXIoKTsKKyAg
ICBtX3Jvb3RMYXllcklEID0gSW52YWxpZFdlYkxheWVySUQ7CisgICAgbV9sYXllcnMuY2xlYXIo
KTsKKyAgICBtX2ZpeGVkTGF5ZXJzLmNsZWFyKCk7CiAgICAgbV90ZXh0dXJlTWFwcGVyLmNsZWFy
KCk7CiAgICAgbV9iYWNraW5nU3RvcmVzV2l0aFBlbmRpbmdCdWZmZXJzLmNsZWFyKCk7CiAKQEAg
LTQyMiw2ICs0MjgsMTEgQEAgdm9pZCBXZWJMYXllclRyZWVSZW5kZXJlcjo6YXBwZW5kVXBkYXRl
KGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mIGZ1bmN0aW9uKQogICAgIG1fcmVuZGVyUXVldWUuYXBw
ZW5kKGZ1bmN0aW9uKTsKIH0KIAordm9pZCBXZWJMYXllclRyZWVSZW5kZXJlcjo6Y2xlYXJVcGRh
dGVRdWV1ZSgpCit7CisgICAgbV9yZW5kZXJRdWV1ZS5jbGVhcigpOworfQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFVTRShVSV9TSURFX0NPTVBPU0lUSU5HKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuaAppbmRleCA3YTBi
OGNlLi5hNWE1NjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5
ZXJUcmVlUmVuZGVyZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJU
cmVlUmVuZGVyZXIuaApAQCAtNzAsNiArNzAsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRldGFj
aCgpOwogICAgIHZvaWQgYXBwZW5kVXBkYXRlKGNvbnN0IEZ1bmN0aW9uPHZvaWQoKT4mKTsKKyAg
ICB2b2lkIGNsZWFyVXBkYXRlUXVldWUoKTsKICAgICB2b2lkIHVwZGF0ZVZpZXdwb3J0KCk7CiAK
ICAgICB2b2lkIGRlbGV0ZUxheWVyKFdlYkxheWVySUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcAppbmRleCA5M2UxMjdiLi5jODYyNmZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcApA
QCAtMzUsNiArMzUsOCBAQCBwdWJsaWM6CiAgICAgQ29udGVudHNTR05vZGUoUGFzc1JlZlB0cjxX
ZWJMYXllclRyZWVSZW5kZXJlcj4gcmVuZGVyZXIpCiAgICAgICAgIDogbV9yZW5kZXJlcihyZW5k
ZXJlcikKICAgICB7CisgICAgICAgIC8vIElmIHVwZGF0ZSBxdWV1ZSBoYXMgc29tZSB1cGRhdGVz
IG5vdywgdGhpcyB1cGF0ZWQgYmVsb25nIHRvIHRoZSBwcmV2aW91cyBpbnN0YW5jZSBvZiBjb250
ZW50IG5vZGUuCisgICAgICAgIGxheWVyVHJlZVJlbmRlcmVyKCktPmNsZWFyVXBkYXRlUXVldWUo
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIFN0YXRlRmxhZ3MgY2hhbmdlZFN0YXRlcygpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBo
aWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJHcmFwaGljc0xheWVyLmNwcAppbmRleCA1OGE4OTQ5Li44MDUyYTAyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3Jh
cGhpY3NMYXllci5jcHAKQEAgLTYwOSw2ICs2MDksOSBAQCB2b2lkIFdlYkdyYXBoaWNzTGF5ZXI6
OnB1cmdlQmFja2luZ1N0b3JlcygpCiAgICAgICAgIG1fd2ViR3JhcGhpY3NMYXllckNsaWVudC0+
cmVsZWFzZUltYWdlQmFja2luZ1N0b3JlKG1fbGF5ZXJJbmZvLmltYWdlQmFja2luZ1N0b3JlSUQp
OwogICAgICAgICBtX2xheWVySW5mby5pbWFnZUJhY2tpbmdTdG9yZUlEID0gMDsKICAgICB9CisK
KyAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CisgICAgZGlkQ2hhbmdlQ2hpbGRyZW4oKTsKIH0K
IAogdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRXZWJHcmFwaGljc0xheWVyQ2xpZW50KFdlYktp
dDo6V2ViR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137947</attachid>
            <date>2012-04-19 12:15:06 -0700</date>
            <delta_ts>2012-04-19 17:04:03 -0700</delta_ts>
            <desc>Ignore updates if paint node is deleted until recreated.</desc>
            <filename>LayerTreePurge_03.diff</filename>
            <type>text/plain</type>
            <size>5468</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzMmJkNzkzLi5hNGViMjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkg
QEAKKzIwMTItMDQtMTkgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPG9zdGFwZW5rby52aWF0Y2hl
c2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBBU1NFUlQobV90aHJlYWQgPT0gY3VycmVu
dFRocmVhZCgpKSBvbiBNYWMgd2hlbiB0aHJlYWRlZCByZW5kZXJpbmcgaXMgZW5hYmxlZCBmb3Ig
dGhlIFF0IHNjZW5lZ3JhcGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0Mjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRGVsZXRlIHRoZSB3aG9sZSBsYXllciB0cmVlIG9uIFVJIHNpZGUgd2hlbiBwYWlu
dCBub2RlIGlzIGRlbGV0ZWQgYW5kIGZvcmNlIHJlc3luYyBvZiB0aGUgbGF5ZXJzIHdoZW4KKyAg
ICAgICAgcGFnZSBiZWNvbWVzIHZpc2libGUgYWdhaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFBy
b3h5OjpwdXJnZUJhY2tpbmdTdG9yZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJMYXllclRy
ZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRlcmVyOjpX
ZWJMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRl
cmVyOjpwdXJnZUdMUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlUmVu
ZGVyZXI6OmFwcGVuZFVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRl
cmVyOjpjbGVhclJlbmRlclF1ZXVlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkxheWVyVHJlZVJlbmRlcmVyOjphY3RpdmF0ZSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYkxheWVyVHJlZVJlbmRlcmVyLmg6CisgICAgICAgIChXZWJMYXllclRyZWVSZW5kZXJlcik6
CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkNvbnRlbnRzU0dOb2RlOjpDb250ZW50c1NHTm9kZSk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdyYXBoaWNzTGF5ZXI6OnB1cmdlQmFja2luZ1N0b3Jlcyk6CisKIDIwMTItMDQtMTgg
IEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgRnVsbCBTY3JlZW4g
bW9kZSBkb2VzIG5vdCBwcmVzZXJ2ZSBDQUxheWVyIG9yZGVyaW5nIGFmdGVyIGV4aXRpbmcuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJUcmVlSG9zdFByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXllclRyZWVIb3N0UHJveHkuY3BwCmluZGV4
IDBkMjViOWIuLmU0MjkxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9M
YXllclRyZWVIb3N0UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXll
clRyZWVIb3N0UHJveHkuY3BwCkBAIC0xMzQsNiArMTM0LDcgQEAgdm9pZCBMYXllclRyZWVIb3N0
UHJveHk6OmRpZENoYW5nZVNjcm9sbFBvc2l0aW9uKGNvbnN0IEludFBvaW50JiBwb3NpdGlvbikK
IAogdm9pZCBMYXllclRyZWVIb3N0UHJveHk6OnB1cmdlQmFja2luZ1N0b3JlcygpCiB7CisgICAg
bV9yZW5kZXJlci0+Y2xlYXJSZW5kZXJRdWV1ZSgpOwogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+
cGFnZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUhvc3Q6OlB1cmdlQmFj
a2luZ1N0b3JlcygpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVy
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmNw
cAppbmRleCA5ODUzOGQ2Li5lYmU0YTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHAKQEAgLTg2LDcgKzg2LDggQEAgc3RhdGljIElu
dFBvaW50IGJvdW5kZWRTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgc2Nyb2xsUG9zaXRp
b24sIGNvbnN0IEludFIKIAogV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OldlYkxheWVyVHJlZVJlbmRl
cmVyKExheWVyVHJlZUhvc3RQcm94eSogbGF5ZXJUcmVlSG9zdFByb3h5KQogICAgIDogbV9sYXll
clRyZWVIb3N0UHJveHkobGF5ZXJUcmVlSG9zdFByb3h5KQotICAgICwgbV9yb290TGF5ZXJJRCgw
KQorICAgICwgbV9yb290TGF5ZXJJRChJbnZhbGlkV2ViTGF5ZXJJRCkKKyAgICAsIG1faXNBY3Rp
dmUoZmFsc2UpCiB7CiB9CiAKQEAgLTQwMCw2ICs0MDEsMTIgQEAgdm9pZCBXZWJMYXllclRyZWVS
ZW5kZXJlcjo6cHVyZ2VHTFJlc291cmNlcygpCiAgICAgICAgIGxheWVyLT5jbGVhckJhY2tpbmdT
dG9yZXNSZWN1cnNpdmUoKTsKIAogICAgIG1fZGlyZWN0bHlDb21wb3NpdGVkSW1hZ2VzLmNsZWFy
KCk7CisKKyAgICBtX3Jvb3RMYXllci0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICBtX3Jvb3RM
YXllci5jbGVhcigpOworICAgIG1fcm9vdExheWVySUQgPSBJbnZhbGlkV2ViTGF5ZXJJRDsKKyAg
ICBtX2xheWVycy5jbGVhcigpOworICAgIG1fZml4ZWRMYXllcnMuY2xlYXIoKTsKICAgICBtX3Rl
eHR1cmVNYXBwZXIuY2xlYXIoKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZl
cnMuY2xlYXIoKTsKIApAQCAtNDE5LDkgKzQyNiwyMyBAQCB2b2lkIFdlYkxheWVyVHJlZVJlbmRl
cmVyOjpkZXRhY2goKQogCiB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVyOjphcHBlbmRVcGRhdGUo
Y29uc3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCiB7CisgICAgaWYgKCFtX2lzQWN0aXZl
KQorICAgICAgICByZXR1cm47CisKICAgICBtX3JlbmRlclF1ZXVlLmFwcGVuZChmdW5jdGlvbik7
CiB9CiAKK3ZvaWQgV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OmNsZWFyUmVuZGVyUXVldWUoKQorewor
ICAgIG1faXNBY3RpdmUgPSBmYWxzZTsKKyAgICBtX3JlbmRlclF1ZXVlLmNsZWFyKCk7Cit9CisK
K3ZvaWQgV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OmFjdGl2YXRlKCkKK3sKKyAgICBtX2lzQWN0aXZl
ID0gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoVUlf
U0lERV9DT01QT1NJVElORykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJMYXllclRyZWVSZW5kZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVy
VHJlZVJlbmRlcmVyLmgKaW5kZXggN2EwYjhjZS4uYTM4ZmQxNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTcwLDYgKzcwLDggQEAg
cHVibGljOgogCiAgICAgdm9pZCBkZXRhY2goKTsKICAgICB2b2lkIGFwcGVuZFVwZGF0ZShjb25z
dCBGdW5jdGlvbjx2b2lkKCk+Jik7CisgICAgdm9pZCBjbGVhclJlbmRlclF1ZXVlKCk7CisgICAg
dm9pZCBhY3RpdmF0ZSgpOwogICAgIHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKIAogICAgIHZvaWQg
ZGVsZXRlTGF5ZXIoV2ViTGF5ZXJJRCk7CkBAIC0xMzIsNiArMTM0LDcgQEAgcHJpdmF0ZToKICAg
ICBXZWJMYXllcklEIG1fcm9vdExheWVySUQ7CiAgICAgV2ViQ29yZTo6SW50UG9pbnQgbV9yZW5k
ZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247CiAgICAgV2ViQ29yZTo6SW50UG9pbnQgbV9wZW5k
aW5nUmVuZGVyZWRDb250ZW50c1Njcm9sbFBvc2l0aW9uOworICAgIGJvb2wgbV9pc0FjdGl2ZTsK
IH07CiAKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlU0dOb2RlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05v
ZGUuY3BwCmluZGV4IDkzZTEyN2IuLjZiNDljNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9RdFdlYlBhZ2VTR05vZGUuY3BwCkBAIC0zNSw2ICszNSw5IEBAIHB1YmxpYzoK
ICAgICBDb250ZW50c1NHTm9kZShQYXNzUmVmUHRyPFdlYkxheWVyVHJlZVJlbmRlcmVyPiByZW5k
ZXJlcikKICAgICAgICAgOiBtX3JlbmRlcmVyKHJlbmRlcmVyKQogICAgIHsKKyAgICAgICAgLy8g
SWYgdXBkYXRlIHF1ZXVlIGhhcyBzb21lIHVwZGF0ZXMgbm93LCB0aG9zZSB1cGF0ZXMgYmVsb25n
IHRvIHRoZSBwcmV2aW91cyBpbnN0YW5jZSBvZiBjb250ZW50IG5vZGUuCisgICAgICAgIGxheWVy
VHJlZVJlbmRlcmVyKCktPmNsZWFyUmVuZGVyUXVldWUoKTsKKyAgICAgICAgbGF5ZXJUcmVlUmVu
ZGVyZXIoKS0+YWN0aXZhdGUoKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIFN0YXRlRmxhZ3MgY2hh
bmdlZFN0YXRlcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcAppbmRleCA1OGE4OTQ5Li44MDUy
YTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKQEAgLTYwOSw2ICs2MDksOSBAQCB2b2lk
IFdlYkdyYXBoaWNzTGF5ZXI6OnB1cmdlQmFja2luZ1N0b3JlcygpCiAgICAgICAgIG1fd2ViR3Jh
cGhpY3NMYXllckNsaWVudC0+cmVsZWFzZUltYWdlQmFja2luZ1N0b3JlKG1fbGF5ZXJJbmZvLmlt
YWdlQmFja2luZ1N0b3JlSUQpOwogICAgICAgICBtX2xheWVySW5mby5pbWFnZUJhY2tpbmdTdG9y
ZUlEID0gMDsKICAgICB9CisKKyAgICBkaWRDaGFuZ2VMYXllclN0YXRlKCk7CisgICAgZGlkQ2hh
bmdlQ2hpbGRyZW4oKTsKIH0KIAogdm9pZCBXZWJHcmFwaGljc0xheWVyOjpzZXRXZWJHcmFwaGlj
c0xheWVyQ2xpZW50KFdlYktpdDo6V2ViR3JhcGhpY3NMYXllckNsaWVudCogY2xpZW50KQo=
</data>
<flag name="review"
          id="143165"
          type_id="1"
          status="+"
          setter="noam"
    />
    <flag name="commit-queue"
          id="143166"
          type_id="3"
          status="-"
          setter="noam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>138009</attachid>
            <date>2012-04-19 17:04:03 -0700</date>
            <delta_ts>2012-04-19 17:37:19 -0700</delta_ts>
            <desc>Updated patch by Noam comments.</desc>
            <filename>LayerTreePurge_04.diff</filename>
            <type>text/plain</type>
            <size>5478</size>
            <attacher name="Viatcheslav Ostapenko">ostap73</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzMmJkNzkzLi45NmFhYmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTItMDQtMTkgIFZpYXRjaGVzbGF2IE9zdGFwZW5rbyAgPG9zdGFwZW5rby52aWF0Y2hl
c2xhdkBub2tpYS5jb20+CisKKyAgICAgICAgW1F0XSBBU1NFUlQobV90aHJlYWQgPT0gY3VycmVu
dFRocmVhZCgpKSBvbiBNYWMgd2hlbiB0aHJlYWRlZCByZW5kZXJpbmcgaXMgZW5hYmxlZCBmb3Ig
dGhlIFF0IHNjZW5lZ3JhcGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg0Mjc4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTm9hbSBSb3NlbnRoYWwuCisK
KyAgICAgICAgRGVsZXRlIHRoZSB3aG9sZSBsYXllciB0cmVlIG9uIFVJIHNpZGUgd2hlbiBwYWlu
dCBub2RlIGlzIGRlbGV0ZWQgYW5kIGZvcmNlIHJlc3luYyBvZiB0aGUgbGF5ZXJzIHdoZW4KKyAg
ICAgICAgcGFnZSBiZWNvbWVzIHZpc2libGUgYWdhaW4uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
TGF5ZXJUcmVlSG9zdFByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdFBy
b3h5OjpwdXJnZUJhY2tpbmdTdG9yZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJMYXllclRy
ZWVSZW5kZXJlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRlcmVyOjpX
ZWJMYXllclRyZWVSZW5kZXJlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRl
cmVyOjpwdXJnZUdMUmVzb3VyY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGF5ZXJUcmVlUmVu
ZGVyZXI6OmFwcGVuZFVwZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkxheWVyVHJlZVJlbmRl
cmVyOjpzZXRBY3RpdmUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViTGF5ZXJUcmVlUmVuZGVyZXIuaDoKKyAgICAgICAgKFdlYkxheWVyVHJlZVJlbmRlcmVyKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlU0dOb2RlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q29udGVudHNTR05vZGU6OkNvbnRlbnRzU0dOb2RlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViR3JhcGhpY3NMYXllcjo6cHVyZ2VCYWNraW5nU3RvcmVzKToKKwogMjAxMi0wNC0xOCAg
SmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBGdWxsIFNjcmVlbiBt
b2RlIGRvZXMgbm90IHByZXNlcnZlIENBTGF5ZXIgb3JkZXJpbmcgYWZ0ZXIgZXhpdGluZy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXllclRyZWVIb3N0UHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVyVHJlZUhvc3RQcm94eS5jcHAKaW5kZXgg
MGQyNWI5Yi4uNTM4MWU4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
eWVyVHJlZUhvc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xheWVy
VHJlZUhvc3RQcm94eS5jcHAKQEAgLTEzNCw2ICsxMzQsNyBAQCB2b2lkIExheWVyVHJlZUhvc3RQ
cm94eTo6ZGlkQ2hhbmdlU2Nyb2xsUG9zaXRpb24oY29uc3QgSW50UG9pbnQmIHBvc2l0aW9uKQog
CiB2b2lkIExheWVyVHJlZUhvc3RQcm94eTo6cHVyZ2VCYWNraW5nU3RvcmVzKCkKIHsKKyAgICBt
X3JlbmRlcmVyLT5zZXRBY3RpdmUoZmFsc2UpOwogICAgIG1fZHJhd2luZ0FyZWFQcm94eS0+cGFn
ZSgpLT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkxheWVyVHJlZUhvc3Q6OlB1cmdlQmFja2lu
Z1N0b3JlcygpLCBtX2RyYXdpbmdBcmVhUHJveHktPnBhZ2UoKS0+cGFnZUlEKCkpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmNwcApp
bmRleCA5ODUzOGQ2Li45OGUwYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViTGF5ZXJUcmVlUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJMYXllclRyZWVSZW5kZXJlci5jcHAKQEAgLTg2LDcgKzg2LDggQEAgc3RhdGljIEludFBv
aW50IGJvdW5kZWRTY3JvbGxQb3NpdGlvbihjb25zdCBJbnRQb2ludCYgc2Nyb2xsUG9zaXRpb24s
IGNvbnN0IEludFIKIAogV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OldlYkxheWVyVHJlZVJlbmRlcmVy
KExheWVyVHJlZUhvc3RQcm94eSogbGF5ZXJUcmVlSG9zdFByb3h5KQogICAgIDogbV9sYXllclRy
ZWVIb3N0UHJveHkobGF5ZXJUcmVlSG9zdFByb3h5KQotICAgICwgbV9yb290TGF5ZXJJRCgwKQor
ICAgICwgbV9yb290TGF5ZXJJRChJbnZhbGlkV2ViTGF5ZXJJRCkKKyAgICAsIG1faXNBY3RpdmUo
ZmFsc2UpCiB7CiB9CiAKQEAgLTQwMCw2ICs0MDEsMTIgQEAgdm9pZCBXZWJMYXllclRyZWVSZW5k
ZXJlcjo6cHVyZ2VHTFJlc291cmNlcygpCiAgICAgICAgIGxheWVyLT5jbGVhckJhY2tpbmdTdG9y
ZXNSZWN1cnNpdmUoKTsKIAogICAgIG1fZGlyZWN0bHlDb21wb3NpdGVkSW1hZ2VzLmNsZWFyKCk7
CisKKyAgICBtX3Jvb3RMYXllci0+cmVtb3ZlQWxsQ2hpbGRyZW4oKTsKKyAgICBtX3Jvb3RMYXll
ci5jbGVhcigpOworICAgIG1fcm9vdExheWVySUQgPSBJbnZhbGlkV2ViTGF5ZXJJRDsKKyAgICBt
X2xheWVycy5jbGVhcigpOworICAgIG1fZml4ZWRMYXllcnMuY2xlYXIoKTsKICAgICBtX3RleHR1
cmVNYXBwZXIuY2xlYXIoKTsKICAgICBtX2JhY2tpbmdTdG9yZXNXaXRoUGVuZGluZ0J1ZmZlcnMu
Y2xlYXIoKTsKIApAQCAtNDE5LDkgKzQyNiwyNCBAQCB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVy
OjpkZXRhY2goKQogCiB2b2lkIFdlYkxheWVyVHJlZVJlbmRlcmVyOjphcHBlbmRVcGRhdGUoY29u
c3QgRnVuY3Rpb248dm9pZCgpPiYgZnVuY3Rpb24pCiB7CisgICAgaWYgKCFtX2lzQWN0aXZlKQor
ICAgICAgICByZXR1cm47CisKICAgICBtX3JlbmRlclF1ZXVlLmFwcGVuZChmdW5jdGlvbik7CiB9
CiAKK3ZvaWQgV2ViTGF5ZXJUcmVlUmVuZGVyZXI6OnNldEFjdGl2ZShib29sIGFjdGl2ZSkKK3sK
KyAgICBpZiAobV9pc0FjdGl2ZSA9PSBhY3RpdmUpCisgICAgICAgIHJldHVybjsKKworICAgIC8v
IEhhdmUgdG8gY2xlYXIgcmVuZGVyIHF1ZXVlIGluIGJvdGggY2FzZXMuCisgICAgLy8gSWYgdGhl
cmUgYXJlIHNvbWUgdXBkYXRlcyBpbiBxdWV1ZSBkdXJpbmcgYWN0aXZhdGlvbiB0aGVuIHRob3Nl
IHVwZGF0ZXMgYXJlIGZyb20gcHJldmlvdXMgaW5zdGFuY2Ugb2YgcGFpbnQgbm9kZQorICAgIC8v
IGFuZCBjYW5ub3QgYmUgYXBwbGllZCB0byB0aGUgbmV3bHkgY3JlYXRlZCBpbnN0YW5jZS4KKyAg
ICBtX3JlbmRlclF1ZXVlLmNsZWFyKCk7CisgICAgbV9pc0FjdGl2ZSA9IGFjdGl2ZTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBVU0UoVUlfU0lERV9DT01QT1NJVElO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMYXllclRyZWVSZW5k
ZXJlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmgK
aW5kZXggN2EwYjhjZS4uNWNiZmFkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkxheWVyVHJlZVJlbmRlcmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkxheWVyVHJlZVJlbmRlcmVyLmgKQEAgLTcxLDYgKzcxLDcgQEAgcHVibGljOgogICAgIHZv
aWQgZGV0YWNoKCk7CiAgICAgdm9pZCBhcHBlbmRVcGRhdGUoY29uc3QgRnVuY3Rpb248dm9pZCgp
PiYpOwogICAgIHZvaWQgdXBkYXRlVmlld3BvcnQoKTsKKyAgICB2b2lkIHNldEFjdGl2ZShib29s
KTsKIAogICAgIHZvaWQgZGVsZXRlTGF5ZXIoV2ViTGF5ZXJJRCk7CiAgICAgdm9pZCBzZXRSb290
TGF5ZXJJRChXZWJMYXllcklEKTsKQEAgLTEzMiw2ICsxMzMsNyBAQCBwcml2YXRlOgogICAgIFdl
YkxheWVySUQgbV9yb290TGF5ZXJJRDsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3JlbmRlcmVk
Q29udGVudHNTY3JvbGxQb3NpdGlvbjsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX3BlbmRpbmdS
ZW5kZXJlZENvbnRlbnRzU2Nyb2xsUG9zaXRpb247CisgICAgYm9vbCBtX2lzQWN0aXZlOwogfTsK
IAogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VT
R05vZGUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5j
cHAKaW5kZXggOTNlMTI3Yi4uZjcwMDM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0V2ViUGFnZVNHTm9kZS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAgcHVibGljOgogICAg
IENvbnRlbnRzU0dOb2RlKFBhc3NSZWZQdHI8V2ViTGF5ZXJUcmVlUmVuZGVyZXI+IHJlbmRlcmVy
KQogICAgICAgICA6IG1fcmVuZGVyZXIocmVuZGVyZXIpCiAgICAgeworICAgICAgICBsYXllclRy
ZWVSZW5kZXJlcigpLT5zZXRBY3RpdmUodHJ1ZSk7CiAgICAgfQogCiAgICAgdmlydHVhbCBTdGF0
ZUZsYWdzIGNoYW5nZWRTdGF0ZXMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViR3JhcGhpY3NMYXllci5jcHAKaW5kZXggNThh
ODk0OS4uODA1MmEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkdyYXBoaWNzTGF5ZXIuY3BwCkBAIC02MDksNiArNjA5
LDkgQEAgdm9pZCBXZWJHcmFwaGljc0xheWVyOjpwdXJnZUJhY2tpbmdTdG9yZXMoKQogICAgICAg
ICBtX3dlYkdyYXBoaWNzTGF5ZXJDbGllbnQtPnJlbGVhc2VJbWFnZUJhY2tpbmdTdG9yZShtX2xh
eWVySW5mby5pbWFnZUJhY2tpbmdTdG9yZUlEKTsKICAgICAgICAgbV9sYXllckluZm8uaW1hZ2VC
YWNraW5nU3RvcmVJRCA9IDA7CiAgICAgfQorCisgICAgZGlkQ2hhbmdlTGF5ZXJTdGF0ZSgpOwor
ICAgIGRpZENoYW5nZUNoaWxkcmVuKCk7CiB9CiAKIHZvaWQgV2ViR3JhcGhpY3NMYXllcjo6c2V0
V2ViR3JhcGhpY3NMYXllckNsaWVudChXZWJLaXQ6OldlYkdyYXBoaWNzTGF5ZXJDbGllbnQqIGNs
aWVudCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>