<?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>110865</bug_id>
          
          <creation_ts>2013-02-26 03:23:56 -0800</creation_ts>
          <short_desc>[GTK] Closing inspector window crashes wk</short_desc>
          <delta_ts>2013-09-09 09:19:37 -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>WebKitGTK</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Claudio Saavedra">csaavedra</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841843</commentid>
    <comment_count>0</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2013-02-26 03:23:56 -0800</bug_when>
    <thetext>This is WK1. Here&apos;s the stacktrace:

#0  0x00007ffff38ff41e in WebKit::InspectorFrontendClient::~InspectorFrontendClient (this=0xb0ed90, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp:192
#1  0x00007ffff38ff47a in WebKit::InspectorFrontendClient::~InspectorFrontendClient (this=0xb0ed90, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp:193
#2  0x00007ffff39001a2 in WTF::deleteOwnedPtr&lt;WebCore::InspectorFrontendClient&gt; (ptr=0xb0ed90)
    at ../../Source/WTF/wtf/OwnPtrCommon.h:63
#3  0x00007ffff4030ec1 in WTF::OwnPtr&lt;WebCore::InspectorFrontendClient&gt;::~OwnPtr (this=0xafed98, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WTF/wtf/OwnPtr.h:63
#4  0x00007ffff402ef7b in WebCore::InspectorController::~InspectorController (this=0xafed30, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WebCore/inspector/InspectorController.cpp:189
#5  0x00007ffff42a9282 in WTF::deleteOwnedPtr&lt;WebCore::InspectorController&gt; (ptr=0xafed30) at ../../Source/WTF/wtf/OwnPtrCommon.h:63
#6  0x00007ffff42a7e41 in WTF::OwnPtr&lt;WebCore::InspectorController&gt;::~OwnPtr (this=0xaff078, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WTF/wtf/OwnPtr.h:63
#7  0x00007ffff42a254d in WebCore::Page::~Page (this=0xaff020, __in_chrg=&lt;optimized out&gt;) at ../../Source/WebCore/page/Page.cpp:194
#8  0x00007ffff392dec3 in webkit_web_view_dispose (object=0x7f43d0) at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:1353
#9  0x00007fffee8380ea in g_object_run_dispose (object=0x7f43d0) at gobject.c:1062
#10 0x00007ffff0a7acb6 in gtk_widget_destroy (widget=0x7f43d0) at gtkwidget.c:4090
#11 0x00007ffff0790498 in gtk_bin_forall (container=0x8a6280, include_internals=0, callback=0x7ffff0a7abff &lt;gtk_widget_destroy&gt;, 
    callback_data=0x0) at gtkbin.c:180
#12 0x00007ffff096d746 in gtk_scrolled_window_forall (container=0x8a6280, include_internals=0, 
    callback=0x7ffff0a7abff &lt;gtk_widget_destroy&gt;, callback_data=0x0) at gtkscrolledwindow.c:1582
#13 0x00007ffff07f6c34 in gtk_container_foreach (container=0x8a6280, callback=0x7ffff0a7abff &lt;gtk_widget_destroy&gt;, callback_data=0x0)
    at gtkcontainer.c:2074
#14 0x00007ffff07f52eb in gtk_container_destroy (widget=0x8a6280) at gtkcontainer.c:1377
#15 0x00007ffff096c9b7 in gtk_scrolled_window_destroy (widget=0x8a6280) at gtkscrolledwindow.c:1265
#16 0x00007fffee833c60 in g_cclosure_marshal_VOID__VOID (closure=0x6102c0, return_value=0x0, n_param_values=1, 
    param_values=0x7fffffffc4a0, invocation_hint=0x7fffffffc3d0, marshal_data=0x7ffff096c7b7 &lt;gtk_scrolled_window_destroy&gt;)
    at gmarshal.c:85
#17 0x00007fffee83123d in g_type_class_meta_marshal (closure=0x6102c0, return_value=0x0, n_param_values=1, 
    param_values=0x7fffffffc4a0, invocation_hint=0x7fffffffc3d0, marshal_data=0x98) at gclosure.c:970
#18 0x00007fffee830bed in g_closure_invoke (closure=0x6102c0, return_value=0x0, n_param_values=1, param_values=0x7fffffffc4a0, 
    invocation_hint=0x7fffffffc3d0) at gclosure.c:777
#19 0x00007fffee84ed32 in signal_emit_unlocked_R (node=0x610760, detail=0, instance=0x8a6280, emission_return=0x0, 
    instance_and_params=0x7fffffffc4a0) at gsignal.c:3700
#20 0x00007fffee84dadb in g_signal_emit_valist (instance=0x8a6280, signal_id=3, detail=0, var_args=0x7fffffffc758) at gsignal.c:3328
#21 0x00007fffee84e023 in g_signal_emit (instance=0x8a6280, signal_id=3, detail=0) at gsignal.c:3384
#22 0x00007ffff0a87ed0 in gtk_widget_dispose (object=0x8a6280) at gtkwidget.c:10768
#23 0x00007fffee8380ea in g_object_run_dispose (object=0x8a6280) at gobject.c:1062
#24 0x00007ffff0a7acb6 in gtk_widget_destroy (widget=0x8a6280) at gtkwidget.c:4090
#25 0x00007ffff0790498 in gtk_bin_forall (container=0xafb000, include_internals=0, callback=0x7ffff0a7abff &lt;gtk_widget_destroy&gt;, 
    callback_data=0x0) at gtkbin.c:180
#26 0x00007ffff07f6c34 in gtk_container_foreach (container=0xafb000, callback=0x7ffff0a7abff &lt;gtk_widget_destroy&gt;, callback_data=0x0)
    at gtkcontainer.c:2074
#27 0x00007ffff07f52eb in gtk_container_destroy (widget=0xafb000) at gtkcontainer.c:1377
#28 0x00007ffff0a9b7e3 in gtk_window_destroy (widget=0xafb000) at gtkwindow.c:4702
#29 0x00007fffee833c60 in g_cclosure_marshal_VOID__VOID (closure=0x6102c0, return_value=0x0, n_param_values=1, 
    param_values=0x7fffffffcca0, invocation_hint=0x7fffffffcbd0, marshal_data=0x7ffff0a9b6ad &lt;gtk_window_destroy&gt;) at gmarshal.c:85
#30 0x00007fffee83123d in g_type_class_meta_marshal (closure=0x6102c0, return_value=0x0, n_param_values=1, 
    param_values=0x7fffffffcca0, invocation_hint=0x7fffffffcbd0, marshal_data=0x98) at gclosure.c:970
#31 0x00007fffee830bed in g_closure_invoke (closure=0x6102c0, return_value=0x0, n_param_values=1, param_values=0x7fffffffcca0, 
    invocation_hint=0x7fffffffcbd0) at gclosure.c:777
#32 0x00007fffee84ed32 in signal_emit_unlocked_R (node=0x610760, detail=0, instance=0xafb000, emission_return=0x0, 
    instance_and_params=0x7fffffffcca0) at gsignal.c:3700
#33 0x00007fffee84dadb in g_signal_emit_valist (instance=0xafb000, signal_id=3, detail=0, var_args=0x7fffffffcf58) at gsignal.c:3328
#34 0x00007fffee84e023 in g_signal_emit (instance=0xafb000, signal_id=3, detail=0) at gsignal.c:3384
#35 0x00007ffff0a87ed0 in gtk_widget_dispose (object=0xafb000) at gtkwidget.c:10768
#36 0x00007ffff0a9740a in gtk_window_dispose (object=0xafb000) at gtkwindow.c:2401
#37 0x00007fffee8380ea in g_object_run_dispose (object=0xafb000) at gobject.c:1062
#38 0x00007ffff0a7acb6 in gtk_widget_destroy (widget=0xafb000) at gtkwidget.c:4090
#39 0x00007ffff08d0900 in gtk_main_do_event (event=0xafd4a0) at gtkmain.c:1597
#40 0x00007ffff043df82 in _gdk_event_emit (event=0xafd4a0) at gdkevents.c:69
#41 0x00007ffff047a4c4 in gdk_event_source_dispatch (source=0x65f6f0, callback=0x0, user_data=0x0) at gdkeventsource.c:364
#42 0x00007fffee52323d in g_main_dispatch (context=0x63be20) at gmain.c:3054
#43 0x00007fffee523fa2 in g_main_context_dispatch (context=0x63be20) at gmain.c:3630
#44 0x00007fffee524192 in g_main_context_iterate (context=0x63be20, block=1, dispatch=1, self=0x67b830) at gmain.c:3701
#45 0x00007fffee5245c2 in g_main_loop_run (loop=0x8cdbe0) at gmain.c:3895
#46 0x00007ffff08d0254 in gtk_main () at gtkmain.c:1156
#47 0x0000000000405a61 in main (argc=1, argv=0x7fffffffd558) at ../../Tools/GtkLauncher/main.c:542</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>905835</commentid>
    <comment_count>1</comment_count>
      <attachid>205995</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-03 05:57:56 -0700</bug_when>
    <thetext>Created attachment 205995
Patch

This happens because when we destroy priv-&gt;corePage in
webkit_web_view_dispose() we&apos;re triggering the deletion of
InspectorFrontendClient before it can clean up itself.

This can be fixed by waiting until the dispose method finishes before
actually destroying the corePage object. This way we ensure that the
webView&apos;s &quot;destroy&quot; signal is emitted first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906054</commentid>
    <comment_count>2</comment_count>
      <attachid>205995</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-03 23:38:19 -0700</bug_when>
    <thetext>Comment on attachment 205995
Patch

I think it would be cleaner to delete the page in finalize instead of dispose. Since WebKitWebView uses the placement new syntax, you can make page a OwnPtr and it will be automatically deleted in finalize.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906064</commentid>
    <comment_count>3</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-07-04 00:25:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I think it would be cleaner to delete the page in finalize instead
&gt; of dispose. Since WebKitWebView uses the placement new syntax, you
&gt; can make page a OwnPtr and it will be automatically deleted in
&gt; finalize.

The problem is that the corePage pointer will still be != 0 in the
meantime, and that will produce a crash during the disposal of the
parent class:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3d2f5e8 in WebCore::AXObjectCache::rootObject (this=0x0)
    at ../../Source/WebCore/accessibility/AXObjectCache.cpp:415
415         return getOrCreate(m_document-&gt;view());
#0  0x00007ffff3d2f5e8 in WebCore::AXObjectCache::rootObject (this=0x0)
    at ../../Source/WebCore/accessibility/AXObjectCache.cpp:415
#1  0x00007ffff3b8f2df in webkit_web_view_get_accessible (widget=0x5da2a0)
    at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:1416
#2  0x00007ffff1c34ee9 in gtk_container_accessible_real_remove_gtk (container=0x449320, widget=0x5da2a0, data=0x1a8a0e0)
    at gtkcontaineraccessible.c:137
[...]
#7  0x00007ffff1a2abb4 in gtk_container_remove (container=&lt;optimized out&gt;, widget=widget@entry=0x5da2a0)
    at gtkcontainer.c:1546
#8  0x00007ffff1bf6cc2 in gtk_widget_dispose (object=0x5da2a0) at gtkwidget.c:10254

A different alternative would be to run parent-&gt;dispose() first. That
seems to work fine it doesn&apos;t look like the rest of the code in that
method would be affected by that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>908318</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-07-15 00:47:06 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; I think it would be cleaner to delete the page in finalize instead
&gt; &gt; of dispose. Since WebKitWebView uses the placement new syntax, you
&gt; &gt; can make page a OwnPtr and it will be automatically deleted in
&gt; &gt; finalize.
&gt; 
&gt; The problem is that the corePage pointer will still be != 0 in the
&gt; meantime, and that will produce a crash during the disposal of the
&gt; parent class:
&gt; 
&gt; Program received signal SIGSEGV, Segmentation fault.
&gt; 0x00007ffff3d2f5e8 in WebCore::AXObjectCache::rootObject (this=0x0)
&gt;     at ../../Source/WebCore/accessibility/AXObjectCache.cpp:415
&gt; 415         return getOrCreate(m_document-&gt;view());
&gt; #0  0x00007ffff3d2f5e8 in WebCore::AXObjectCache::rootObject (this=0x0)
&gt;     at ../../Source/WebCore/accessibility/AXObjectCache.cpp:415
&gt; #1  0x00007ffff3b8f2df in webkit_web_view_get_accessible (widget=0x5da2a0)
&gt;     at ../../Source/WebKit/gtk/webkit/webkitwebview.cpp:1416
&gt; #2  0x00007ffff1c34ee9 in gtk_container_accessible_real_remove_gtk (container=0x449320, widget=0x5da2a0, data=0x1a8a0e0)
&gt;     at gtkcontaineraccessible.c:137
&gt; [...]
&gt; #7  0x00007ffff1a2abb4 in gtk_container_remove (container=&lt;optimized out&gt;, widget=widget@entry=0x5da2a0)
&gt;     at gtkcontainer.c:1546
&gt; #8  0x00007ffff1bf6cc2 in gtk_widget_dispose (object=0x5da2a0) at gtkwidget.c:10254

hmm, unfortunate.

&gt; A different alternative would be to run parent-&gt;dispose() first. That
&gt; seems to work fine it doesn&apos;t look like the rest of the code in that
&gt; method would be affected by that.

It could be easier, yes, adding a comment explaining why parent dispose is called first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916385</commentid>
    <comment_count>5</comment_count>
      <attachid>208556</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-12 13:16:26 -0700</bug_when>
    <thetext>Created attachment 208556
Patch

(In reply to comment #4)
&gt; It could be easier, yes, adding a comment explaining why parent
&gt; dispose is called first.

Here it is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916570</commentid>
    <comment_count>6</comment_count>
      <attachid>208556</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-12 23:34:56 -0700</bug_when>
    <thetext>Comment on attachment 208556
Patch

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916612</commentid>
    <comment_count>7</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-13 00:56:03 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/changeset/153991&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916678</commentid>
    <comment_count>8</comment_count>
      <attachid>208556</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-08-13 06:24:21 -0700</bug_when>
    <thetext>Comment on attachment 208556
Patch

This appears to have caused a few API tests to fail:

(./Tools/gtk/../Scripts/../../WebKitBuild/Release/Programs/unittests/testloading:9117): GLib-CRITICAL **: g_hash_table_lookup_extended: assertion `hash_table != NULL&apos; failed
(./Tools/gtk/../Scripts/../../WebKitBuild/Release/Programs/unittests/testhttpbackend:9159): GLib-CRITICAL **: g_hash_table_lookup_extended: assertion `hash_table != NULL&apos; failed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916686</commentid>
    <comment_count>9</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-13 06:55:07 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (./Tools/gtk/../Scripts/../../WebKitBuild/Release/Programs/unittests/testloading:9117): GLib-CRITICAL **: g_hash_table_lookup_extended: assertion `hash_table != NULL&apos; failed
&gt; (./Tools/gtk/../Scripts/../../WebKitBuild/Release/Programs/unittests/testhttpbackend:9159): GLib-CRITICAL **: g_hash_table_lookup_extended: assertion `hash_table != NULL&apos; failed

I think this is because of putting the code after the parent&apos;s dispose call.

Going back to my original solution should fix this. I&apos;ll upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916700</commentid>
    <comment_count>10</comment_count>
      <attachid>208630</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-13 07:56:57 -0700</bug_when>
    <thetext>Created attachment 208630
Patch

Here&apos;s the patch with the original fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916708</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-13 08:08:11 -0700</bug_when>
    <thetext>I guess we need to roll out the patch first</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916710</commentid>
    <comment_count>12</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-13 08:10:16 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; I guess we need to roll out the patch first

This one goes on top of the other already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916725</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-13 08:47:36 -0700</bug_when>
    <thetext>It doesn&apos;t seem to apply in EWS bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916816</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-08-13 11:18:53 -0700</bug_when>
    <thetext>reopening</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916819</commentid>
    <comment_count>15</comment_count>
      <attachid>208658</attachid>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-13 11:21:00 -0700</bug_when>
    <thetext>Created attachment 208658
Patch

Resubmitting patch for EWS processing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>916828</commentid>
    <comment_count>16</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-08-13 11:50:07 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/changeset/154014&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>926732</commentid>
    <comment_count>17</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2013-09-09 09:19:37 -0700</bug_when>
    <thetext>*** Bug 48203 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205995</attachid>
            <date>2013-07-03 05:57:56 -0700</date>
            <delta_ts>2013-08-12 13:16:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>110865.diff</filename>
            <type>text/plain</type>
            <size>3989</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCA3MmUyYzQyLi5mZWU4OTkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTMtMDctMDMgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXSBDbG9zaW5nIGluc3BlY3RvciB3aW5kb3cgY3Jhc2hlcyB3
aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwODY1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVsZXRp
bmcgcHJpdi0+Y29yZVBhZ2UgZHVyaW5nIHRoZSBkZXN0cnVjdGlvbiBvZiBhIHdlYlZpZXcgd2ls
bAorICAgICAgICB0cmlnZ2VyIHRoZSBkZWxldGlvbiBvZiBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dC4gSG93ZXZlciB0aGF0CisgICAgICAgIG9iamVjdCBpcyBzdXBwb3NlZCB0byBoYW5kbGUgdGhl
IHdlYlZpZXcncyBkZXN0cm95IHNpZ25hbCBmaXJzdAorICAgICAgICBpbiBvcmRlciB0byBkbyB0
aGUgbmVjZXNzYXJ5IGNsZWFudXAuCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIHRvIHdhaXQg
dW50aWwgd2Via2l0X3dlYl92aWV3X2Rpc3Bvc2UgZmluaXNoZXMKKyAgICAgICAgYmVmb3JlIGRl
bGV0aW5nIHByaXYtPmNvcmVQYWdlLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2Rpc3Bvc2UpOgorCiAyMDEzLTA3LTAxICBH
dXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvbT4KIAog
ICAgICAgICBbR1RLXSBSZW1vdmUgdW5zdXBwb3J0ZWQgQUMgYmFja2VuZHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCA3NmJiYzFlLi42ODc4MTUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBAIC0xMzI4LDYg
KzEzMjgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZGlzcG9zZShHT2JqZWN0KiBv
YmplY3QpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFVyhv
YmplY3QpOwogICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsK
KyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlUHRyID0gcHJpdi0+Y29yZVBhZ2U7CiAKICAgICBwcml2
LT5kaXNwb3NpbmcgPSBUUlVFOwogCkBAIC0xMzQzLDggKzEzNDQsNyBAQCBzdGF0aWMgdm9pZCB3
ZWJraXRfd2ViX3ZpZXdfZGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCiAgICAgaWYgKHByaXYtPmNv
cmVQYWdlKSB7CiAgICAgICAgIHdlYmtpdF93ZWJfdmlld19zdG9wX2xvYWRpbmcoV0VCS0lUX1dF
Ql9WSUVXKG9iamVjdCkpOwogICAgICAgICBjb3JlKHByaXYtPm1haW5GcmFtZSktPmxvYWRlcigp
LT5kZXRhY2hGcm9tUGFyZW50KCk7Ci0gICAgICAgIGRlbGV0ZSBwcml2LT5jb3JlUGFnZTsKLSAg
ICAgICAgcHJpdi0+Y29yZVBhZ2UgPSAwOworICAgICAgICBwcml2LT5jb3JlUGFnZSA9IDA7IC8v
IFdpbGwgYmUgZGVsZXRlZCBhdCB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24KICAgICB9CiAKICAg
ICBpZiAocHJpdi0+d2ViU2V0dGluZ3MpIHsKQEAgLTEzNjQsNiArMTM2NCw4IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfdmlld19kaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKICAgICBwcml2LT5z
dWJSZXNvdXJjZXMuY2xlYXIoKTsKIAogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF93ZWJfdmll
d19wYXJlbnRfY2xhc3MpLT5kaXNwb3NlKG9iamVjdCk7CisKKyAgICBkZWxldGUgcGFnZVB0cjsK
IH0KIAogc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2ZpbmFsaXplKEdPYmplY3QqIG9iamVj
dCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBl
YzliM2Y2Li5hN2JlMDFmIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDctMDMgIEFsYmVydG8gR2FyY2lhICA8
YmVydG9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBDbG9zaW5nIGluc3BlY3RvciB3aW5k
b3cgY3Jhc2hlcyB3aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTEwODY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRGlzY29ubmVjdCBhbGwgc2lnbmFsIGhhbmRsZXJzIGlmIHRoZSBpbnNwZWN0b3Igd2lu
ZG93IGlzCisgICAgICAgIGRlc3Ryb3llZC4KKworICAgICAgICAqIEd0a0xhdW5jaGVyL0xhdW5j
aGVySW5zcGVjdG9yV2luZG93LmM6CisgICAgICAgIChpbnNwZWN0b3JXaW5kb3dEZXN0cm95ZWQp
OgorICAgICAgICAobGF1bmNoZXJJbnNwZWN0b3JXaW5kb3dOZXcpOgorCiAyMDEzLTA3LTAyICBL
b25kYXBhbGx5IEthbHlhbiAgPGthbHlhbi5rb25kYXBhbGx5QGludGVsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLiBBZGQgbXkgZW1haWwgdG8gYSBmZXcgd2F0Y2hsaXN0cy4KZGlmZiAtLWdp
dCBhL1Rvb2xzL0d0a0xhdW5jaGVyL0xhdW5jaGVySW5zcGVjdG9yV2luZG93LmMgYi9Ub29scy9H
dGtMYXVuY2hlci9MYXVuY2hlckluc3BlY3RvcldpbmRvdy5jCmluZGV4IGYwN2NmN2UuLjhlZTlm
Y2YgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0d0a0xhdW5jaGVyL0xhdW5jaGVySW5zcGVjdG9yV2luZG93
LmMKKysrIGIvVG9vbHMvR3RrTGF1bmNoZXIvTGF1bmNoZXJJbnNwZWN0b3JXaW5kb3cuYwpAQCAt
NzgsNiArNzgsMTEgQEAgc3RhdGljIGdib29sZWFuIGNsb3NlSW5zcGVjdG9yV2luZG93KFdlYktp
dFdlYkluc3BlY3RvciAqaW5zcGVjdG9yLCBMYXVuY2hlckluc3AKICAgICByZXR1cm4gVFJVRTsK
IH0KIAorc3RhdGljIHZvaWQgaW5zcGVjdG9yV2luZG93RGVzdHJveWVkKGdwb2ludGVyIGluc3Bl
Y3RvciwgR09iamVjdCogaW5zcGVjdG9yV2luZG93KQoreworICAgIGdfc2lnbmFsX2hhbmRsZXJz
X2Rpc2Nvbm5lY3RfYnlfZGF0YShpbnNwZWN0b3IsIGluc3BlY3RvcldpbmRvdyk7Cit9CisKIEd0
a1dpZGdldCAqbGF1bmNoZXJJbnNwZWN0b3JXaW5kb3dOZXcoV2ViS2l0V2ViSW5zcGVjdG9yICpp
bnNwZWN0b3IsIEd0a1dpbmRvdyAqcGFyZW50KQogewogICAgIExhdW5jaGVySW5zcGVjdG9yV2lu
ZG93ICppbnNwZWN0b3JXaW5kb3cgPSBMQVVOQ0hFUl9JTlNQRUNUT1JfV0lORE9XKGdfb2JqZWN0
X25ldyhMQVVOQ0hFUl9UWVBFX0lOU1BFQ1RPUl9XSU5ET1csICJ0eXBlIiwgR1RLX1dJTkRPV19U
T1BMRVZFTCwgTlVMTCkpOwpAQCAtOTcsNiArMTAyLDggQEAgR3RrV2lkZ2V0ICpsYXVuY2hlcklu
c3BlY3RvcldpbmRvd05ldyhXZWJLaXRXZWJJbnNwZWN0b3IgKmluc3BlY3RvciwgR3RrV2luZG93
ICoKICAgICBnX3NpZ25hbF9jb25uZWN0KGluc3BlY3RvciwgInNob3ctd2luZG93IiwgR19DQUxM
QkFDSyhzaG93SW5zcGVjdG9yV2luZG93KSwgaW5zcGVjdG9yV2luZG93KTsKICAgICBnX3NpZ25h
bF9jb25uZWN0KGluc3BlY3RvciwgImNsb3NlLXdpbmRvdyIsIEdfQ0FMTEJBQ0soY2xvc2VJbnNw
ZWN0b3JXaW5kb3cpLCBpbnNwZWN0b3JXaW5kb3cpOwogCisgICAgZ19vYmplY3Rfd2Vha19yZWYo
R19PQkpFQ1QoaW5zcGVjdG9yV2luZG93KSwgaW5zcGVjdG9yV2luZG93RGVzdHJveWVkLCBpbnNw
ZWN0b3IpOworCiAgICAgcmV0dXJuIEdUS19XSURHRVQoaW5zcGVjdG9yV2luZG93KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208556</attachid>
            <date>2013-08-12 13:16:26 -0700</date>
            <delta_ts>2013-08-13 07:56:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>110865.diff</filename>
            <type>text/plain</type>
            <size>4351</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCA4Y2NmY2Y4Li5lMzMwNzgxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTMtMDgtMTIgIEFsYmVydG8gR2FyY2lhICA8YmVydG9AaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXSBDbG9zaW5nIGluc3BlY3RvciB3aW5kb3cgY3Jhc2hlcyB3
aworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwODY1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVsZXRp
bmcgcHJpdi0+Y29yZVBhZ2UgZHVyaW5nIHRoZSBkZXN0cnVjdGlvbiBvZiBhIHdlYlZpZXcgd2ls
bAorICAgICAgICB0cmlnZ2VyIHRoZSBkZWxldGlvbiBvZiBJbnNwZWN0b3JGcm9udGVuZENsaWVu
dC4gSG93ZXZlciB0aGF0CisgICAgICAgIG9iamVjdCBpcyBzdXBwb3NlZCB0byBoYW5kbGUgdGhl
IHdlYlZpZXcncyBkZXN0cm95IHNpZ25hbCBmaXJzdCBpbgorICAgICAgICBvcmRlciB0byBkbyB0
aGUgbmVjZXNzYXJ5IGNsZWFudXAuCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIHRvIHdhaXQg
dW50aWwgd2Via2l0X3dlYl92aWV3X2Rpc3Bvc2UgZmluaXNoZXMKKyAgICAgICAgYmVmb3JlIGRl
bGV0aW5nIHByaXYtPmNvcmVQYWdlLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcu
Y3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2Rpc3Bvc2UpOgorCiAyMDEzLTA4LTExICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkLiBVcGRhdGUgTkVXUyBhbmQgVmVyc2lvbnMubTQgZm9yIDIuMS40IHJlbGVhc2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAKaW5kZXggNWZmN2ZiYi4u
MWEwYWM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcApA
QCAtMTM0MCwxMyArMTM0MCw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19kaXNwb3Nl
KEdPYmplY3QqIG9iamVjdCkKICAgICAvLyB2ZXJ5IHNlbnNpdGl2ZSB0byB0aGVpciB2YWx1ZS4g
V2UgbWF5IGNyYXNoIGlmIHRoZXNlIGFyZSBkb25lIGluIHRoZSB3cm9uZyBvcmRlci4KICAgICBw
cml2LT5iYWNrRm9yd2FyZExpc3QuY2xlYXIoKTsKIAotICAgIGlmIChwcml2LT5jb3JlUGFnZSkg
ewotICAgICAgICB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKFdFQktJVF9XRUJfVklFVyhv
YmplY3QpKTsKLSAgICAgICAgY29yZShwcml2LT5tYWluRnJhbWUpLT5sb2FkZXIoKS0+ZGV0YWNo
RnJvbVBhcmVudCgpOwotICAgICAgICBkZWxldGUgcHJpdi0+Y29yZVBhZ2U7Ci0gICAgICAgIHBy
aXYtPmNvcmVQYWdlID0gMDsKLSAgICB9Ci0KICAgICBpZiAocHJpdi0+d2ViU2V0dGluZ3MpIHsK
ICAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9mdW5jKHByaXYtPndlYlNl
dHRpbmdzLmdldCgpLCByZWludGVycHJldF9jYXN0PHZvaWQqPih3ZWJraXRfd2ViX3ZpZXdfc2V0
dGluZ3Nfbm90aWZ5KSwgd2ViVmlldyk7CiAgICAgICAgIHByaXYtPndlYlNldHRpbmdzLmNsZWFy
KCk7CkBAIC0xMzY0LDYgKzEzNTcsMTYgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X2Rp
c3Bvc2UoR09iamVjdCogb2JqZWN0KQogICAgIHByaXYtPnN1YlJlc291cmNlcy5jbGVhcigpOwog
CiAgICAgR19PQkpFQ1RfQ0xBU1Mod2Via2l0X3dlYl92aWV3X3BhcmVudF9jbGFzcyktPmRpc3Bv
c2Uob2JqZWN0KTsKKworICAgIC8vIFdlIG5lZWQgdG8gcnVuIHRoZSBwYXJlbnQncyBkaXNwb3Nl
IGJlZm9yZSBkZXN0cm95aW5nCisgICAgLy8gcHJpdi0+Y29yZVBhZ2UuIE90aGVyd2lzZSB3ZSdy
ZSB0cmlnZ2VyaW5nIHRoZSBkZWxldGlvbiBvZgorICAgIC8vIEluc3BlY3RvckZyb250ZW5kQ2xp
ZW50IGJlZm9yZSBpdCBjYW4gY2xlYW4gdXAgaXRzZWxmLgorICAgIGlmIChwcml2LT5jb3JlUGFn
ZSkgeworICAgICAgICB3ZWJraXRfd2ViX3ZpZXdfc3RvcF9sb2FkaW5nKFdFQktJVF9XRUJfVklF
VyhvYmplY3QpKTsKKyAgICAgICAgY29yZShwcml2LT5tYWluRnJhbWUpLT5sb2FkZXIoKS0+ZGV0
YWNoRnJvbVBhcmVudCgpOworICAgICAgICBkZWxldGUgcHJpdi0+Y29yZVBhZ2U7CisgICAgICAg
IHByaXYtPmNvcmVQYWdlID0gMDsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
dmlld19maW5hbGl6ZShHT2JqZWN0KiBvYmplY3QpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggM2U3Mjg0NS4uN2E5ODQ5YyAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEzLTA4LTEyICBBbGJlcnRvIEdhcmNpYSAgPGJlcnRvQGlnYWxpYS5jb20+CisKKyAgICAgICAg
W0dUS10gQ2xvc2luZyBpbnNwZWN0b3Igd2luZG93IGNyYXNoZXMgd2sKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDg2NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERpc2Nvbm5lY3QgYWxsIHNpZ25hbCBo
YW5kbGVycyBpZiB0aGUgaW5zcGVjdG9yIHdpbmRvdyBpcworICAgICAgICBkZXN0cm95ZWQuCisK
KyAgICAgICAgKiBHdGtMYXVuY2hlci9MYXVuY2hlckluc3BlY3RvcldpbmRvdy5jOgorICAgICAg
ICAoaW5zcGVjdG9yV2luZG93RGVzdHJveWVkKToKKyAgICAgICAgKGxhdW5jaGVySW5zcGVjdG9y
V2luZG93TmV3KToKKwogMjAxMy0wOC0xMSAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdzZW9rLm9oQGNv
bGxhYm9yYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQ2hhbmdlIG15IHByaW1hcnkgbWFp
bCBhZGRyZXNzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvR3RrTGF1bmNoZXIvTGF1bmNoZXJJbnNwZWN0
b3JXaW5kb3cuYyBiL1Rvb2xzL0d0a0xhdW5jaGVyL0xhdW5jaGVySW5zcGVjdG9yV2luZG93LmMK
aW5kZXggZjA3Y2Y3ZS4uOGVlOWZjZiAxMDA2NDQKLS0tIGEvVG9vbHMvR3RrTGF1bmNoZXIvTGF1
bmNoZXJJbnNwZWN0b3JXaW5kb3cuYworKysgYi9Ub29scy9HdGtMYXVuY2hlci9MYXVuY2hlcklu
c3BlY3RvcldpbmRvdy5jCkBAIC03OCw2ICs3OCwxMSBAQCBzdGF0aWMgZ2Jvb2xlYW4gY2xvc2VJ
bnNwZWN0b3JXaW5kb3coV2ViS2l0V2ViSW5zcGVjdG9yICppbnNwZWN0b3IsIExhdW5jaGVySW5z
cAogICAgIHJldHVybiBUUlVFOwogfQogCitzdGF0aWMgdm9pZCBpbnNwZWN0b3JXaW5kb3dEZXN0
cm95ZWQoZ3BvaW50ZXIgaW5zcGVjdG9yLCBHT2JqZWN0KiBpbnNwZWN0b3JXaW5kb3cpCit7Cisg
ICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVjdF9ieV9kYXRhKGluc3BlY3RvciwgaW5zcGVj
dG9yV2luZG93KTsKK30KKwogR3RrV2lkZ2V0ICpsYXVuY2hlckluc3BlY3RvcldpbmRvd05ldyhX
ZWJLaXRXZWJJbnNwZWN0b3IgKmluc3BlY3RvciwgR3RrV2luZG93ICpwYXJlbnQpCiB7CiAgICAg
TGF1bmNoZXJJbnNwZWN0b3JXaW5kb3cgKmluc3BlY3RvcldpbmRvdyA9IExBVU5DSEVSX0lOU1BF
Q1RPUl9XSU5ET1coZ19vYmplY3RfbmV3KExBVU5DSEVSX1RZUEVfSU5TUEVDVE9SX1dJTkRPVywg
InR5cGUiLCBHVEtfV0lORE9XX1RPUExFVkVMLCBOVUxMKSk7CkBAIC05Nyw2ICsxMDIsOCBAQCBH
dGtXaWRnZXQgKmxhdW5jaGVySW5zcGVjdG9yV2luZG93TmV3KFdlYktpdFdlYkluc3BlY3RvciAq
aW5zcGVjdG9yLCBHdGtXaW5kb3cgKgogICAgIGdfc2lnbmFsX2Nvbm5lY3QoaW5zcGVjdG9yLCAi
c2hvdy13aW5kb3ciLCBHX0NBTExCQUNLKHNob3dJbnNwZWN0b3JXaW5kb3cpLCBpbnNwZWN0b3JX
aW5kb3cpOwogICAgIGdfc2lnbmFsX2Nvbm5lY3QoaW5zcGVjdG9yLCAiY2xvc2Utd2luZG93Iiwg
R19DQUxMQkFDSyhjbG9zZUluc3BlY3RvcldpbmRvdyksIGluc3BlY3RvcldpbmRvdyk7CiAKKyAg
ICBnX29iamVjdF93ZWFrX3JlZihHX09CSkVDVChpbnNwZWN0b3JXaW5kb3cpLCBpbnNwZWN0b3JX
aW5kb3dEZXN0cm95ZWQsIGluc3BlY3Rvcik7CisKICAgICByZXR1cm4gR1RLX1dJREdFVChpbnNw
ZWN0b3JXaW5kb3cpOwogfQogCg==
</data>
<flag name="review"
          id="230467"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208630</attachid>
            <date>2013-08-13 07:56:57 -0700</date>
            <delta_ts>2013-08-13 11:21:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>110865.diff</filename>
            <type>text/plain</type>
            <size>2781</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCA3OWYyZDEwLi5lNGIxNWUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0zLDYgKzMsMjAgQEAKICAgICAgICAgW0dUS10gQ2xvc2luZyBpbnNwZWN0b3Igd2luZG93IGNy
YXNoZXMgd2sKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMDg2NQogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBwcmV2aW91cyBmaXggZm9yIHRoZSBpbnNwZWN0b3Igd2luZG93IGNyYXNoIGJyZWFrcyBz
b21lIHVuaXQKKyAgICAgICAgdGVzdHMuIFRoaXMgb25lIGdvZXMgYmFjayB0byB0aGUgb3JpZ2lu
YWwgY29kZSBhbmQgb25seSBtb3ZlcyB0aGUKKyAgICAgICAgYWN0dWFsIGRlbGV0aW9uIG9mIHBy
aXYtPmNvcmVQYWdlIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLgorCisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2Rpc3Bvc2Up
OgorCisyMDEzLTA4LTEzICBBbGJlcnRvIEdhcmNpYSAgPGJlcnRvQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS10gQ2xvc2luZyBpbnNwZWN0b3Igd2luZG93IGNyYXNoZXMgd2sKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDg2NQorCiAgICAgICAg
IFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgogCiAgICAgICAgIERlbGV0aW5nIHBy
aXYtPmNvcmVQYWdlIGR1cmluZyB0aGUgZGVzdHJ1Y3Rpb24gb2YgYSB3ZWJWaWV3IHdpbGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCAxYTBhYzYxLi5i
ZDAzNzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBA
IC0xMzI4LDYgKzEzMjgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZGlzcG9zZShH
T2JqZWN0KiBvYmplY3QpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9X
RUJfVklFVyhvYmplY3QpOwogICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmll
dy0+cHJpdjsKKyAgICBXZWJDb3JlOjpQYWdlKiBjb3JlUGFnZVB0ciA9IHByaXYtPmNvcmVQYWdl
OwogCiAgICAgcHJpdi0+ZGlzcG9zaW5nID0gVFJVRTsKIApAQCAtMTM0MCw2ICsxMzQxLDEyIEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19kaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKICAg
ICAvLyB2ZXJ5IHNlbnNpdGl2ZSB0byB0aGVpciB2YWx1ZS4gV2UgbWF5IGNyYXNoIGlmIHRoZXNl
IGFyZSBkb25lIGluIHRoZSB3cm9uZyBvcmRlci4KICAgICBwcml2LT5iYWNrRm9yd2FyZExpc3Qu
Y2xlYXIoKTsKIAorICAgIGlmIChwcml2LT5jb3JlUGFnZSkgeworICAgICAgICB3ZWJraXRfd2Vi
X3ZpZXdfc3RvcF9sb2FkaW5nKFdFQktJVF9XRUJfVklFVyhvYmplY3QpKTsKKyAgICAgICAgY29y
ZShwcml2LT5tYWluRnJhbWUpLT5sb2FkZXIoKS0+ZGV0YWNoRnJvbVBhcmVudCgpOworICAgICAg
ICBwcml2LT5jb3JlUGFnZSA9IDA7CisgICAgfQorCiAgICAgaWYgKHByaXYtPndlYlNldHRpbmdz
KSB7CiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhwcml2LT53
ZWJTZXR0aW5ncy5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4od2Via2l0X3dlYl92aWV3
X3NldHRpbmdzX25vdGlmeSksIHdlYlZpZXcpOwogICAgICAgICBwcml2LT53ZWJTZXR0aW5ncy5j
bGVhcigpOwpAQCAtMTM1OCwxNSArMTM2NSwxMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfZGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCiAKICAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRf
d2ViX3ZpZXdfcGFyZW50X2NsYXNzKS0+ZGlzcG9zZShvYmplY3QpOwogCi0gICAgLy8gV2UgbmVl
ZCB0byBydW4gdGhlIHBhcmVudCdzIGRpc3Bvc2UgYmVmb3JlIGRlc3Ryb3lpbmcKLSAgICAvLyBw
cml2LT5jb3JlUGFnZS4gT3RoZXJ3aXNlIHdlJ3JlIHRyaWdnZXJpbmcgdGhlIGRlbGV0aW9uIG9m
CisgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHBhcmVudCdzIGRpc3Bvc2UgYmVmb3JlIGRlc3Ry
b3lpbmcgdGhlIFBhZ2UKKyAgICAvLyBwb2ludGVyLiBPdGhlcndpc2Ugd2UncmUgdHJpZ2dlcmlu
ZyB0aGUgZGVsZXRpb24gb2YKICAgICAvLyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCBiZWZvcmUg
aXQgY2FuIGNsZWFuIHVwIGl0c2VsZi4KLSAgICBpZiAocHJpdi0+Y29yZVBhZ2UpIHsKLSAgICAg
ICAgd2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZyhXRUJLSVRfV0VCX1ZJRVcob2JqZWN0KSk7
Ci0gICAgICAgIGNvcmUocHJpdi0+bWFpbkZyYW1lKS0+bG9hZGVyKCktPmRldGFjaEZyb21QYXJl
bnQoKTsKLSAgICAgICAgZGVsZXRlIHByaXYtPmNvcmVQYWdlOwotICAgICAgICBwcml2LT5jb3Jl
UGFnZSA9IDA7Ci0gICAgfQorICAgIGRlbGV0ZSBjb3JlUGFnZVB0cjsKIH0KIAogc3RhdGljIHZv
aWQgd2Via2l0X3dlYl92aWV3X2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208658</attachid>
            <date>2013-08-13 11:21:00 -0700</date>
            <delta_ts>2013-08-13 11:46:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>110865.diff</filename>
            <type>text/plain</type>
            <size>2781</size>
            <attacher name="Alberto Garcia">berto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCA3OWYyZDEwLi5lNGIxNWUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBA
IC0zLDYgKzMsMjAgQEAKICAgICAgICAgW0dUS10gQ2xvc2luZyBpbnNwZWN0b3Igd2luZG93IGNy
YXNoZXMgd2sKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMDg2NQogCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoZSBwcmV2aW91cyBmaXggZm9yIHRoZSBpbnNwZWN0b3Igd2luZG93IGNyYXNoIGJyZWFrcyBz
b21lIHVuaXQKKyAgICAgICAgdGVzdHMuIFRoaXMgb25lIGdvZXMgYmFjayB0byB0aGUgb3JpZ2lu
YWwgY29kZSBhbmQgb25seSBtb3ZlcyB0aGUKKyAgICAgICAgYWN0dWFsIGRlbGV0aW9uIG9mIHBy
aXYtPmNvcmVQYWdlIHRvIHRoZSBlbmQgb2YgdGhlIGZ1bmN0aW9uLgorCisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3X2Rpc3Bvc2Up
OgorCisyMDEzLTA4LTEzICBBbGJlcnRvIEdhcmNpYSAgPGJlcnRvQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS10gQ2xvc2luZyBpbnNwZWN0b3Igd2luZG93IGNyYXNoZXMgd2sKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDg2NQorCiAgICAgICAg
IFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgogCiAgICAgICAgIERlbGV0aW5nIHBy
aXYtPmNvcmVQYWdlIGR1cmluZyB0aGUgZGVzdHJ1Y3Rpb24gb2YgYSB3ZWJWaWV3IHdpbGwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2aWV3LmNwcAppbmRleCAxYTBhYzYxLi5i
ZDAzNzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwCkBA
IC0xMzI4LDYgKzEzMjgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfZGlzcG9zZShH
T2JqZWN0KiBvYmplY3QpCiB7CiAgICAgV2ViS2l0V2ViVmlldyogd2ViVmlldyA9IFdFQktJVF9X
RUJfVklFVyhvYmplY3QpOwogICAgIFdlYktpdFdlYlZpZXdQcml2YXRlKiBwcml2ID0gd2ViVmll
dy0+cHJpdjsKKyAgICBXZWJDb3JlOjpQYWdlKiBjb3JlUGFnZVB0ciA9IHByaXYtPmNvcmVQYWdl
OwogCiAgICAgcHJpdi0+ZGlzcG9zaW5nID0gVFJVRTsKIApAQCAtMTM0MCw2ICsxMzQxLDEyIEBA
IHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld19kaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKICAg
ICAvLyB2ZXJ5IHNlbnNpdGl2ZSB0byB0aGVpciB2YWx1ZS4gV2UgbWF5IGNyYXNoIGlmIHRoZXNl
IGFyZSBkb25lIGluIHRoZSB3cm9uZyBvcmRlci4KICAgICBwcml2LT5iYWNrRm9yd2FyZExpc3Qu
Y2xlYXIoKTsKIAorICAgIGlmIChwcml2LT5jb3JlUGFnZSkgeworICAgICAgICB3ZWJraXRfd2Vi
X3ZpZXdfc3RvcF9sb2FkaW5nKFdFQktJVF9XRUJfVklFVyhvYmplY3QpKTsKKyAgICAgICAgY29y
ZShwcml2LT5tYWluRnJhbWUpLT5sb2FkZXIoKS0+ZGV0YWNoRnJvbVBhcmVudCgpOworICAgICAg
ICBwcml2LT5jb3JlUGFnZSA9IDA7CisgICAgfQorCiAgICAgaWYgKHByaXYtPndlYlNldHRpbmdz
KSB7CiAgICAgICAgIGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyhwcml2LT53
ZWJTZXR0aW5ncy5nZXQoKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4od2Via2l0X3dlYl92aWV3
X3NldHRpbmdzX25vdGlmeSksIHdlYlZpZXcpOwogICAgICAgICBwcml2LT53ZWJTZXR0aW5ncy5j
bGVhcigpOwpAQCAtMTM1OCwxNSArMTM2NSwxMCBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3Zp
ZXdfZGlzcG9zZShHT2JqZWN0KiBvYmplY3QpCiAKICAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRf
d2ViX3ZpZXdfcGFyZW50X2NsYXNzKS0+ZGlzcG9zZShvYmplY3QpOwogCi0gICAgLy8gV2UgbmVl
ZCB0byBydW4gdGhlIHBhcmVudCdzIGRpc3Bvc2UgYmVmb3JlIGRlc3Ryb3lpbmcKLSAgICAvLyBw
cml2LT5jb3JlUGFnZS4gT3RoZXJ3aXNlIHdlJ3JlIHRyaWdnZXJpbmcgdGhlIGRlbGV0aW9uIG9m
CisgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHBhcmVudCdzIGRpc3Bvc2UgYmVmb3JlIGRlc3Ry
b3lpbmcgdGhlIFBhZ2UKKyAgICAvLyBwb2ludGVyLiBPdGhlcndpc2Ugd2UncmUgdHJpZ2dlcmlu
ZyB0aGUgZGVsZXRpb24gb2YKICAgICAvLyBJbnNwZWN0b3JGcm9udGVuZENsaWVudCBiZWZvcmUg
aXQgY2FuIGNsZWFuIHVwIGl0c2VsZi4KLSAgICBpZiAocHJpdi0+Y29yZVBhZ2UpIHsKLSAgICAg
ICAgd2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZyhXRUJLSVRfV0VCX1ZJRVcob2JqZWN0KSk7
Ci0gICAgICAgIGNvcmUocHJpdi0+bWFpbkZyYW1lKS0+bG9hZGVyKCktPmRldGFjaEZyb21QYXJl
bnQoKTsKLSAgICAgICAgZGVsZXRlIHByaXYtPmNvcmVQYWdlOwotICAgICAgICBwcml2LT5jb3Jl
UGFnZSA9IDA7Ci0gICAgfQorICAgIGRlbGV0ZSBjb3JlUGFnZVB0cjsKIH0KIAogc3RhdGljIHZv
aWQgd2Via2l0X3dlYl92aWV3X2ZpbmFsaXplKEdPYmplY3QqIG9iamVjdCkK
</data>
<flag name="review"
          id="230588"
          type_id="1"
          status="+"
          setter="cgarcia"
    />
          </attachment>
      

    </bug>

</bugzilla>