<?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>19465</bug_id>
          
          <creation_ts>2008-06-10 11:47:25 -0700</creation_ts>
          <short_desc>Cursor sometimes gets &apos;stuck&apos; in textareas when trying to navigate with arrow keys</short_desc>
          <delta_ts>2008-06-23 14:00: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>Text</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>1</everconfirmed>
          <reporter name="Jonathon Jongsma (jonner)">jonathon</reporter>
          <assigned_to name="Jonathon Jongsma (jonner)">jonathon</assigned_to>
          <cc>ap</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>pierre-luc.beaudoin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>82843</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-10 11:47:25 -0700</bug_when>
    <thetext>In some textareas, if I press the &apos;down&apos; key to try to navigate to the bottom of a text area, the cursor will get &apos;stuck&apos; in a certain spot and won&apos;t move down to the next line even though there are more lines of text below.  I&apos;ve observed this behavior on Qt and Gtk ports.  I&apos;ll attach a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82844</commentid>
    <comment_count>1</comment_count>
      <attachid>21605</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-10 11:50:05 -0700</bug_when>
    <thetext>Created attachment 21605
Test Case

To reproduce the bug, place the cursor at the very end of the first line of text (after the &apos;?&apos;).  Then press the &apos;down&apos; key repeatedly to try to move the cursor to the last line in the textarea.  The behavior I observe is that the cursor gets to the line with the &apos;3. &apos; and then pressing down has no effect.  The cursor effectively gets stuck at that line.  Pressing the right arrow will move it to the next line and then the down arrow will begin to work again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82851</commentid>
    <comment_count>2</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-10 13:06:24 -0700</bug_when>
    <thetext>aha, one potentially important piece of information:

In QtWebKit, when you press down repeatedly and then get stuck at the &quot;3. &quot; line, if you then press the right arrow key and then the left arrow key, an ASSERT will be violated:

Starting program: /home/jonathon/Projects/webkit.git/WebKitBuild/Debug/bin/QtLauncher 
[Thread debugging using libthread_db enabled]
[New Thread 0xb4fbb720 (LWP 21709)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb4fbb720 (LWP 21709)]
0xb70770f4 in WebCore::VisiblePosition::previous (this=0xbfbc7084, 
    stayInEditableContent=true)
    at ../../../WebCore/editing/VisiblePosition.cpp:95
95	        ASSERT(inSameLine(temp, prev));
90	    // we should always be able to make the affinity DOWNSTREAM, because going previous from an
91	    // UPSTREAM position can never yield another UPSTREAM position (unless line wrap length is 0!).
92	    if (prev.isNotNull() &amp;&amp; m_affinity == UPSTREAM) {
93	        VisiblePosition temp = prev;
94	        temp.setAffinity(UPSTREAM);
95	        ASSERT(inSameLine(temp, prev));
96	    }
97	#endif
98	
99	    if (!stayInEditableContent)
#0  0xb70770f4 in WebCore::VisiblePosition::previous (this=0xbfbc7084, 
    stayInEditableContent=true)
    at ../../../WebCore/editing/VisiblePosition.cpp:95
#1  0xb705b663 in WebCore::SelectionController::modifyMovingBackward (
    this=0xbfbc7250, granularity=WebCore::CharacterGranularity)
    at ../../../WebCore/editing/SelectionController.cpp:439
#2  0xb7060aa5 in WebCore::SelectionController::modify (this=0xbfbc7250, 
    alter=WebCore::SelectionController::MOVE, 
    dir=WebCore::SelectionController::BACKWARD, 
    granularity=WebCore::CharacterGranularity, userTriggered=false)
    at ../../../WebCore/editing/SelectionController.cpp:515
#3  0xb70606ad in WebCore::SelectionController::modify (this=0x8122d58, 
    alter=WebCore::SelectionController::MOVE, 
    dir=WebCore::SelectionController::BACKWARD, 
    granularity=WebCore::CharacterGranularity, userTriggered=true)
    at ../../../WebCore/editing/SelectionController.cpp:479
#4  0xb7028aab in executeMoveBackward (frame=0x8122a48)
    at ../../../WebCore/editing/EditorCommand.cpp:530
#5  0xb7026e42 in WebCore::Editor::Command::execute (this=0xbfbc7658, 
    parameter=@0xbfbc7670, triggeringEvent=0x0)
    at ../../../WebCore/editing/EditorCommand.cpp:1371
#6  0xb7402f12 in QWebPage::triggerAction (this=0x8121a78, 
    action=QWebPage::MoveToPreviousChar, checked=false)
    at ../../../WebKit/qt/Api/qwebpage.cpp:1373
#7  0xb73fee6c in QWebPagePrivate::keyPressEvent (this=0x8121ca0, 
    ev=0xbfbc7bc4) at ../../../WebKit/qt/Api/qwebpage.cpp:534
#8  0xb73ff9ca in QWebPage::event (this=0x8121a78, ev=0xbfbc7bc4)
    at ../../../WebKit/qt/Api/qwebpage.cpp:1675
#9  0xb74058e8 in QWebView::keyPressEvent (this=0x8121750, ev=0xbfbc7bc4)
    at ../../../WebKit/qt/Api/qwebview.cpp:710
#10 0xb5b2d6f4 in QWidget::event () from /usr/lib/libQtGui.so.4
#11 0xb7405cee in QWebView::event (this=0x8121750, e=0xbfbc7bc4)
    at ../../../WebKit/qt/Api/qwebview.cpp:539
#12 0xb5ad5c0c in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#13 0xb5adaaec in QApplication::notify () from /usr/lib/libQtGui.so.4
#14 0xb58a36a9 in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#15 0xb5b3122e in ?? () from /usr/lib/libQtGui.so.4
#16 0xb5b65eeb in ?? () from /usr/lib/libQtGui.so.4
#17 0xb5b67fce in ?? () from /usr/lib/libQtGui.so.4
#18 0xb5b404e5 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#19 0xb5b693ba in ?? () from /usr/lib/libQtGui.so.4
#20 0xb5283bf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0xb5286e5e in ?? () from /usr/lib/libglib-2.0.so.0
#22 0xb52873ac in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#23 0xb58cef98 in QEventDispatcherGlib::processEvents ()
   from /usr/lib/libQtCore.so.4
#24 0xb5b691b5 in ?? () from /usr/lib/libQtGui.so.4
#25 0xb58a292d in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#26 0xb58a2abd in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#27 0xb58a4d3d in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#28 0xb5ad5567 in QApplication::exec () from /usr/lib/libQtGui.so.4
#29 0x0805809b in main (argc=Cannot access memory at address 0x0
) at /home/jonathon/Projects/webkit.git/WebKit/qt/QtLauncher/main.cpp:314
The program is running.  Exit anyway? (y or n) </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82883</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-06-10 20:05:39 -0700</bug_when>
    <thetext>See also: bug 13736. Note that I couldn&apos;t reproduce this bug on the Mac with the attached test case, but it may have the same cause as bug 13736 anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82944</commentid>
    <comment_count>4</comment_count>
      <attachid>21625</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-11 07:10:38 -0700</bug_when>
    <thetext>Created attachment 21625
potential fix for the stuck cursor

Here&apos;s a potential fix.  It solves the keyboard navigation issue on both Qt and Gtk ports.  It basically duplicates the logic of the &apos;if (x &lt; box-&gt;m_x + box-&gt;m_width)&apos; block by only using UPSTREAM affinity if the offset is greater than 0.  If this fix is deemed correct, it might be worth testing to see if it has an impact on bug 13736 as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82981</commentid>
    <comment_count>5</comment_count>
      <attachid>21625</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-11 11:53:48 -0700</bug_when>
    <thetext>Comment on attachment 21625
potential fix for the stuck cursor

The fix might be right -- it&apos;s hard for me to tell. But we need a test case. We require test cases for all bug fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83010</commentid>
    <comment_count>6</comment_count>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-11 12:53:56 -0700</bug_when>
    <thetext>working on the test case.  Any opinions on the right place to put it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83020</commentid>
    <comment_count>7</comment_count>
      <attachid>21642</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-11 13:39:20 -0700</bug_when>
    <thetext>Created attachment 21642
Updated patch for stuck cursor with test case

Adds a layout test.  Note that this is the first test i&apos;ve ever created for webkit, so I may have missed something or put it in the wrong spot.  Feel free to correct me if that&apos;s the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83028</commentid>
    <comment_count>8</comment_count>
      <attachid>21642</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-11 14:57:16 -0700</bug_when>
    <thetext>Comment on attachment 21642
Updated patch for stuck cursor with test case

Thanks!

This looks good.

Normally, we require that the patch includes the output of the test was well as the input. So there should be files with &quot;expected&quot; in their names in the patch. You generate those by running run-webkit-tests.

Also, we try to design the tests so they are self explanatory. Someone should be able to tell what successful results look like.

Further, we often make the tests &quot;text only&quot; so they can be used cross-platform. That&apos;s done by making sure the actual text of the result reflects success (so a dump of the render tree is not necessary) and adding a call to layoutTestController.dumpAsText. This tells the test engine to dump only the text rather than the render tree.

There are many examples to show how this is done. One is editing/selection/anchor-focus1.html -- just to pick out a specific example.

By the way, I&apos;m not absolutely sure you need the runEditingTest() machinery. I think that sets up some things you really don&apos;t need if you&apos;re testing input in a textarea. You&apos;d have to find a different way to do moveSelectionForwardBySentenceCommand() and moveSelectionForwardByLineCommand() if you didn&apos;t use editing.js -- I think you could just make keyboard events for arrow keys for those.

It&apos;s not good to use the &quot;by sentence&quot; in the test, since that&apos;s very platform dependent. It would be better to move to the end of the line than to move forward by a sentence. Maybe the easiest thing would be to move forward by a line and then backward by a character?

review- because this doesn&apos;t include expected test results, but please consider my other comments too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83112</commentid>
    <comment_count>9</comment_count>
      <attachid>21659</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-12 09:17:53 -0700</bug_when>
    <thetext>Created attachment 21659
Patch for stuck cursor with updated test case

Here&apos;s another attempt.  Thanks for you guidance on this.  I modified the test to use layoutTestController.dumpAsText() and I removed the call to move forward by sentence.  Instead I just set the initial selection partway through the first line of text (it&apos;s only important that it be past the end of the numbered lines that follow.  

As I&apos;m not particularly familiar with the test infrastructure, I wasn&apos;t exactly sure what to expect for output of the dumpAsText() command.  The output before the patch is 6 lines of &apos;EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification&apos;, and after the patch it&apos;s 8 lines (since the cursor position no longer gets suck at the end of &apos;3. &apos;).  So it seems that the output is adequate to detect the broken behavior.

I did not remove the runEditingTest() infrastructure from the test as I did not know a way to send down-arrow key events without it (I&apos;m afraid I&apos;m not particularly familiar with javascript).  If you can easily replace it with something simpler, feel free, but I thought I&apos;d leave it how it is since it seems to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83159</commentid>
    <comment_count>10</comment_count>
      <attachid>21659</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-12 22:09:13 -0700</bug_when>
    <thetext>Comment on attachment 21659
Patch for stuck cursor with updated test case

I think the test would be better if it got the value of textarea.selectionStart at the end of the test and wrote it out. Depending on the editing delegate values is too subtle. In fact, I&apos;d prefer not to log the editing delegate messages -- but I can&apos;t remember what turns that logging on! Maybe it&apos;s something about being inside the editing directory?

+    layoutTestController.dumpAsText();

The normal idiom for this is to check for the existence of layoutTestController first, before using it, with if (window.layoutTestController). Your version will fail with an exception when it hits that line of code when run in the browser.

Also, the test needs to be more self documenting. It should indicate what successful output looks like.

I&apos;m going to say review+, but feel free to make another pass at this with a better test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83210</commentid>
    <comment_count>11</comment_count>
      <attachid>21680</attachid>
    <who name="Jonathon Jongsma (jonner)">jonathon</who>
    <bug_when>2008-06-13 08:34:05 -0700</bug_when>
    <thetext>Created attachment 21680
Further improvements to the test case for stuck cursor bug

Hopefully this is the last revision :)

The test case should hopefully be a bit more self-explanatory now, and I&apos;ve made it output &apos;success&apos; if the test passed and if it failed, it prints out the current cursor position and what it should have been.  I couldn&apos;t figure out how to disable the editing delegat messages.  If you can figure it out, feel free to modify the patch.

Thanks for your help</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83217</commentid>
    <comment_count>12</comment_count>
      <attachid>21680</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-06-13 10:41:50 -0700</bug_when>
    <thetext>Comment on attachment 21680
Further improvements to the test case for stuck cursor bug

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84099</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-06-22 18:22:29 -0700</bug_when>
    <thetext>Landed in r34735.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84188</commentid>
    <comment_count>14</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2008-06-23 14:00:29 -0700</bug_when>
    <thetext>Sadly, this did not fix Bug 13736, which seems to be a different issue.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>21605</attachid>
            <date>2008-06-10 11:50:05 -0700</date>
            <delta_ts>2008-06-10 11:50:05 -0700</delta_ts>
            <desc>Test Case</desc>
            <filename>textarea.html</filename>
            <type>text/html</type>
            <size>375</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">PGh0bWw+CiAgICA8aGVhZD4KICAgICAgICA8dGl0bGU+VGl0bGUgaGVyZTwvdGl0bGU+CiAgICA8
L2hlYWQ+CiAgICA8Ym9keT4KPHRleHRhcmVhIHJvd3M9IjE1IiBjb2xzPSI4MCI+V2hhdCBzdGVw
cyB3aWxsIHJlcHJvZHVjZSB0aGUgcHJvYmxlbT8KMS4gCjIuIAozLiAKCldoYXQgaXMgdGhlIGV4
cGVjdGVkIG91dHB1dD8gV2hhdCBkbyB5b3Ugc2VlIGluc3RlYWQ/CgoKV2hhdCB2ZXJzaW9uIG9m
IHRoZSBwcm9kdWN0IGFyZSB5b3UgdXNpbmc/IE9uIHdoYXQgb3BlcmF0aW5nIHN5c3RlbT8KCgpQ
bGVhc2UgcHJvdmlkZSBhbnkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBiZWxvdy4KIAogICAgICAg
IDwvdGV4dGFyZWE+CiAgICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21625</attachid>
            <date>2008-06-11 07:10:38 -0700</date>
            <delta_ts>2008-06-11 13:39:20 -0700</delta_ts>
            <desc>potential fix for the stuck cursor</desc>
            <filename>0001-2008-06-11-Jonathon-Jongsma-jonathon.jongsma-coll.patch</filename>
            <type>text/plain</type>
            <size>2577</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSA5OGZiMzY5MjY0ZDFhZGU2MjI2NzcwMTAzMzlmMjAzZTFlZmY5Yzc0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogV2VkLCAxMSBKdW4gMjAwOCAwOTowNTo0NSAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIDIwMDgtMDYtMTEgIEpvbmF0aG9uIEpvbmdzbWEgIDxqb25hdGhvbi5qb25n
c21hQGNvbGxhYm9yYS5jby51az4KCiAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CgogICAgICAgIFdBUk5JTkc6IE5PIFRFU1QgQ0FTRVMgQURERUQgT1IgQ0hBTkdFRAoKICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4
dDo6cG9zaXRpb25Gb3JDb29yZGluYXRlcyk6IEZpeCBmb3IgYnVnICMxOTQ2NSB3aGVyZQogICAg
ICAgIHRoZSBjdXJzb3IgY2FuIGdldCAnc3R1Y2snIHdoZW4gdHJ5aW5nIHRvIG5hdmlnYXRlIGEg
dGV4dGFyZWEgd2l0aCBrZXlib2FyZCBhcnJvdwogICAgICAgIGtleXMuICBJbiB0aGUgY2FzZSB3
aGVuIHRoZSBuZXh0IHBvc2l0aW9uIGlzIHRvIHRoZSByaWdodCBvZiB0aGUgbGFzdCB0ZXh0IGJv
eCBidXQKICAgICAgICB0aGUgdGV4dCBvZmZzZXQgaXMgMCwgc2V0IHRoZSBhZmZpbml0eSB0byBE
T1dOU1RSRUFNIGluc3RlYWQgb2YgVVBTVFJFQU0gc28gdGhhdAogICAgICAgIHRoZSBjdXJzb3Ig
ZG9lc24ndCByZW1haW4gb24gdGhlIHByZXZpb3VzIGxpbmUuCi0tLQogV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgfCAgIDEzICsrKysrKysrKysrKysKIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHQuY3BwIHwgICAgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25z
KCspLCAxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggMmZhMGIxMC4uZjUyYTcwYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAw
OC0wNi0xMSAgSm9uYXRob24gSm9uZ3NtYSAgPGpvbmF0aG9uLmpvbmdzbWFAY29sbGFib3JhLmNv
LnVrPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdB
Uk5JTkc6IE5PIFRFU1QgQ0FTRVMgQURERUQgT1IgQ0hBTkdFRAorCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6cG9zaXRp
b25Gb3JDb29yZGluYXRlcyk6IEZpeCBmb3IgYnVnICMxOTQ2NSB3aGVyZQorICAgICAgICB0aGUg
Y3Vyc29yIGNhbiBnZXQgJ3N0dWNrJyB3aGVuIHRyeWluZyB0byBuYXZpZ2F0ZSBhIHRleHRhcmVh
IHdpdGgga2V5Ym9hcmQgYXJyb3cKKyAgICAgICAga2V5cy4gIEluIHRoZSBjYXNlIHdoZW4gdGhl
IG5leHQgcG9zaXRpb24gaXMgdG8gdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IHRleHQgYm94IGJ1dAor
ICAgICAgICB0aGUgdGV4dCBvZmZzZXQgaXMgMCwgc2V0IHRoZSBhZmZpbml0eSB0byBET1dOU1RS
RUFNIGluc3RlYWQgb2YgVVBTVFJFQU0gc28gdGhhdAorICAgICAgICB0aGUgY3Vyc29yIGRvZXNu
J3QgcmVtYWluIG9uIHRoZSBwcmV2aW91cyBsaW5lLgorCiAyMDA4LTA2LTA3ICBKdWxpZW4gQ2hh
ZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAg
Yi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBhYjViNjJlLi5hNTg4YjE3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMzE1LDcgKzMxNSw3IEBAIFZpc2libGVQ
b3NpdGlvbiBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvckNvb3JkaW5hdGVzKGludCB4LCBpbnQgeSkK
ICAgICAgICAgICAgICAgICAgICAgLy8gYm94IGlzIGxhc3Qgb24gbGluZQogICAgICAgICAgICAg
ICAgICAgICAvLyBhbmQgdGhlIHggY29vcmRpbmF0ZSBpcyB0byB0aGUgcmlnaHQgb2YgdGhlIGxh
c3QgdGV4dCBib3ggcmlnaHQgZWRnZQogICAgICAgICAgICAgICAgICAgICAvLyBnZW5lcmF0ZSBW
aXNpYmxlUG9zaXRpb24sIHVzZSBVUFNUUkVBTSBhZmZpbml0eSBpZiBwb3NzaWJsZQotICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGVsZW1lbnQoKSwgb2Zmc2V0ICsg
Ym94LT5tX3N0YXJ0LCBWUF9VUFNUUkVBTV9JRl9QT1NTSUJMRSk7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBWaXNpYmxlUG9zaXRpb24oZWxlbWVudCgpLCBvZmZzZXQgKyBib3gtPm1fc3Rh
cnQsIG9mZnNldCA+IDAgPyBWUF9VUFNUUkVBTV9JRl9QT1NTSUJMRSA6IERPV05TVFJFQU0pOwog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgbGFzdEJveEFib3ZlID0gYm94OwogICAgICAgICB9
Ci0tIAoxLjUuNQoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21642</attachid>
            <date>2008-06-11 13:39:20 -0700</date>
            <delta_ts>2008-06-12 09:17:53 -0700</delta_ts>
            <desc>Updated patch for stuck cursor with test case</desc>
            <filename>0001-Fix-for-stuck-cursor-with-keyboard-navigation-bug.patch</filename>
            <type>text/plain</type>
            <size>3805</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSBlYzhlNzg0OTU4MmJmNjMwZWUxYjRjNjAzODYyYmY4YzY1NWE4N2MxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogV2VkLCAxMSBKdW4gMjAwOCAxNTo0MDoxMyAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIEZpeCBmb3Igc3R1Y2sgY3Vyc29yIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlv
biAoYnVnICMxOTQ2NSkKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA2ICsrKwogLi4uL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJy
b3ctbmF2aWdhdGlvbi5odG1sICAgfCAgIDMzICsrKysrKysrKysrKysrKysrKysrCiBXZWJDb3Jl
L0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgKysrKysr
KysKIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwICAgICAgICAgICAgICAgICAgIHwg
ICAgMiArLQogNCBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygt
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEt
YXJyb3ctbmF2aWdhdGlvbi5odG1sCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY2N2UxMWQuLmQxYmY3ZjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw5IEBACisyMDA4LTA2LTExICBKb25hdGhvbiBKb25nc21hICA8am9uYXRob24uam9u
Z3NtYUBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3RleHRhcmVhLWFycm93LW5hdmlnYXRpb24u
aHRtbDogQWRkZWQuCisKIDIwMDgtMDYtMDggIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBbGRlci4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvZWRpdGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhNGJiYQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5o
dG1sCkBAIC0wLDAgKzEsMzMgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9c3R5bGVzaGVl
dCBocmVmPSIuLi9lZGl0aW5nU3R5bGUuY3NzIiB0eXBlPSJ0ZXh0L2NzcyI+Cis8c2NyaXB0IHNy
Yz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdlPSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3Jp
cHQiID48L3NjcmlwdD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBlZGl0aW5nVGVzdCgpIHsKKyAgICAv
LyBzZXQgdGhlIHNlbGVjdGlvbiBpbiB0aGUgdGV4dGFyZWEKKyAgICB0ZXh0YXJlYSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0Iik7CisgICAgdGV4dGFyZWEuc2V0U2VsZWN0aW9uUmFu
Z2UoMCwgMCk7CisgICAgLy8gZ28gdG8gdGhlIGVuZCBvZiB0aGUgbGluZQorICAgIG1vdmVTZWxl
Y3Rpb25Gb3J3YXJkQnlTZW50ZW5jZUNvbW1hbmQoKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8
IDEwOyBpKyspIHsKKyAgICAgICAgLy8gcHJlc3MgdGhlICdkb3duIGFycm93JyBhIGJ1bmNoIG9m
IHRpbWVzCisgICAgICAgIG1vdmVTZWxlY3Rpb25Gb3J3YXJkQnlMaW5lQ29tbWFuZCgpOworICAg
IH0KK30KKzwvc2NyaXB0PgorCis8L2hlYWQ+CisgICAgPGJvZHk+Cis8dGV4dGFyZWEgaWQ9InRl
c3QiIHJvd3M9IjEwIiBjb2xzPSI4MCI+V2hhdCBzdGVwcyB3aWxsIHJlcHJvZHVjZSB0aGUgcHJv
YmxlbT8KKzEuIAorMi4gCiszLiAKKworV2hhdCBpcyB0aGUgZXhwZWN0ZWQgb3V0cHV0PyBXaGF0
IGRvIHlvdSBzZWUgaW5zdGVhZD88L3RleHRhcmVhPgorCis8c2NyaXB0PgorcnVuRWRpdGluZ1Rl
c3QoKTsKKzwvc2NyaXB0PgorCisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZmEwYjEwLi5hYWJmOWIy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDA4LTA2LTExICBKb25hdGhvbiBKb25nc21hICA8am9uYXRob24u
am9uZ3NtYUBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZp
Z2F0aW9uLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnBvc2l0aW9uRm9yQ29vcmRpbmF0ZXMpOiBGaXggZm9y
IGJ1ZyAjMTk0NjUgd2hlcmUKKyAgICAgICAgdGhlIGN1cnNvciBjYW4gZ2V0ICdzdHVjaycgd2hl
biB0cnlpbmcgdG8gbmF2aWdhdGUgYSB0ZXh0YXJlYSB3aXRoIGtleWJvYXJkIGFycm93CisgICAg
ICAgIGtleXMuICBJbiB0aGUgY2FzZSB3aGVuIHRoZSBuZXh0IHBvc2l0aW9uIGlzIHRvIHRoZSBy
aWdodCBvZiB0aGUgbGFzdCB0ZXh0IGJveCBidXQKKyAgICAgICAgdGhlIHRleHQgb2Zmc2V0IGlz
IDAsIHNldCB0aGUgYWZmaW5pdHkgdG8gRE9XTlNUUkVBTSBpbnN0ZWFkIG9mIFVQU1RSRUFNIHNv
IHRoYXQKKyAgICAgICAgdGhlIGN1cnNvciBkb2Vzbid0IHJlbWFpbiBvbiB0aGUgcHJldmlvdXMg
bGluZS4KKwogMjAwOC0wNi0wNyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dC5jcHAKaW5kZXggYWI1YjYyZS4uYTU4OGIxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5j
cHAKQEAgLTMxNSw3ICszMTUsNyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4dDo6cG9zaXRp
b25Gb3JDb29yZGluYXRlcyhpbnQgeCwgaW50IHkpCiAgICAgICAgICAgICAgICAgICAgIC8vIGJv
eCBpcyBsYXN0IG9uIGxpbmUKICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSB4IGNvb3Jk
aW5hdGUgaXMgdG8gdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IHRleHQgYm94IHJpZ2h0IGVkZ2UKICAg
ICAgICAgICAgICAgICAgICAgLy8gZ2VuZXJhdGUgVmlzaWJsZVBvc2l0aW9uLCB1c2UgVVBTVFJF
QU0gYWZmaW5pdHkgaWYgcG9zc2libGUKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2li
bGVQb3NpdGlvbihlbGVtZW50KCksIG9mZnNldCArIGJveC0+bV9zdGFydCwgVlBfVVBTVFJFQU1f
SUZfUE9TU0lCTEUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KGVsZW1lbnQoKSwgb2Zmc2V0ICsgYm94LT5tX3N0YXJ0LCBvZmZzZXQgPiAwID8gVlBfVVBTVFJF
QU1fSUZfUE9TU0lCTEUgOiBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGxhc3RCb3hBYm92ZSA9IGJveDsKICAgICAgICAgfQotLSAKMS41LjUKCg==
</data>
<flag name="review"
          id="9484"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21659</attachid>
            <date>2008-06-12 09:17:53 -0700</date>
            <delta_ts>2008-06-13 08:34:05 -0700</delta_ts>
            <desc>Patch for stuck cursor with updated test case</desc>
            <filename>0001-Fix-for-stuck-cursor-with-keyboard-navigation-bug.patch</filename>
            <type>text/plain</type>
            <size>5136</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSAwMTM2MjlmZGVjYmQxMGM0MTljZjM5ZTQ4ZGY0MDIzZmU2YzI5Zjg4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogV2VkLCAxMSBKdW4gMjAwOCAxNTo0MDoxMyAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIEZpeCBmb3Igc3R1Y2sgY3Vyc29yIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlv
biAoYnVnICMxOTQ2NSkKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA3ICsrKysKIC4uLi9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZp
Z2F0aW9uLWV4cGVjdGVkLnR4dCAgIHwgICAgOSArKysrKwogLi4uL2VkaXRpbmcvaW5wdXQvdGV4
dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5odG1sICAgfCAgIDM2ICsrKysrKysrKysrKysrKysrKysr
CiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MTMgKysrKysrKwogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgICAgICAgICAgICAg
ICAgICAgfCAgICAyICstCiA1IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDEgZGVs
ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC90
ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5odG1s
CgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGY2N2UxMWQuLjUxMDMwYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMCBAQAorMjAwOC0w
Ni0xMSAgSm9uYXRob24gSm9uZ3NtYSAgPGpvbmF0aG9uLmpvbmdzbWFAY29sbGFib3JhLmNvLnVr
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRp
dGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLmh0bWw6CisgICAgICAgICogZWRp
dGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorCiAyMDA4LTA2LTA4ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWxkZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL2lucHV0L3RleHRhcmVhLWFycm93LW5hdmlnYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZWRpdGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTZkNzJiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0
aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkgQEAKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4
dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC90
ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uNzhhOWI4YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
aW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5odG1sCkBAIC0wLDAgKzEsMzYgQEAKKzxo
dG1sPgorPGhlYWQ+Cis8bGluayByZWw9c3R5bGVzaGVldCBocmVmPSIuLi9lZGl0aW5nU3R5bGUu
Y3NzIiB0eXBlPSJ0ZXh0L2NzcyI+Cis8c2NyaXB0IHNyYz0uLi9lZGl0aW5nLmpzIGxhbmd1YWdl
PSJKYXZhU2NyaXB0IiB0eXBlPSJ0ZXh0L0phdmFTY3JpcHQiID48L3NjcmlwdD4KKzxzY3JpcHQ+
CitmdW5jdGlvbiBlZGl0aW5nVGVzdCgpIHsKKyAgICB0ZXh0YXJlYSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0ZXN0Iik7CisKKyAgICAvLyBzZXQgdGhlIGN1cnNvciBzZXZlcmFsIGNoYXJh
Y3RlcnMgaW50byB0aGUgZmlyc3QgbGluZSBvZiB0aGUgdGV4dCBhcmVhIHNvCisgICAgLy8gdGhh
dCB3aGVuIHlvdSBnbyBkb3duIGJ5IGEgbGluZSwgdGhlIGN1cnNvciB3aWxsIGJlIGF0IHRoZSBl
bmQgb2YgdGhlCisgICAgLy8gbnVtYmVyZWQgbGluZXM6CisgICAgdGV4dGFyZWEuc2V0U2VsZWN0
aW9uUmFuZ2UoNSwgNSk7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDsgaSsrKSB7CisgICAg
ICAgIC8vIHByZXNzIHRoZSAnZG93biBhcnJvdycgYSBidW5jaCBvZiB0aW1lcyB0byB0cnkgdG8g
Z2V0IHRvIHRoZSBlbmQgb2YKKyAgICAgICAgLy8gdGhlIHRleHQgYXJlYQorICAgICAgICBtb3Zl
U2VsZWN0aW9uRm9yd2FyZEJ5TGluZUNvbW1hbmQoKTsKKyAgICB9CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworfQorPC9zY3JpcHQ+CisKKzwvaGVhZD4KKyAgICA8Ym9k
eT4KKzx0ZXh0YXJlYSBpZD0idGVzdCIgcm93cz0iMTAiIGNvbHM9IjgwIj5XaGF0IHN0ZXBzIHdp
bGwgcmVwcm9kdWNlIHRoZSBwcm9ibGVtPworMS4gCisyLiAKKzMuIAorCitXaGF0IGlzIHRoZSBl
eHBlY3RlZCBvdXRwdXQ/IFdoYXQgZG8geW91IHNlZSBpbnN0ZWFkPzwvdGV4dGFyZWE+CisKKzxz
Y3JpcHQ+CitydW5FZGl0aW5nVGVzdCgpOworPC9zY3JpcHQ+CisKKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDJmYTBiMTAuLmFhYmY5YjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDgtMDYtMTEgIEpvbmF0aG9u
IEpvbmdzbWEgIDxqb25hdGhvbi5qb25nc21hQGNvbGxhYm9yYS5jby51az4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2lucHV0
L3RleHRhcmVhLWFycm93LW5hdmlnYXRpb24uaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dDo6cG9zaXRpb25Gb3JD
b29yZGluYXRlcyk6IEZpeCBmb3IgYnVnICMxOTQ2NSB3aGVyZQorICAgICAgICB0aGUgY3Vyc29y
IGNhbiBnZXQgJ3N0dWNrJyB3aGVuIHRyeWluZyB0byBuYXZpZ2F0ZSBhIHRleHRhcmVhIHdpdGgg
a2V5Ym9hcmQgYXJyb3cKKyAgICAgICAga2V5cy4gIEluIHRoZSBjYXNlIHdoZW4gdGhlIG5leHQg
cG9zaXRpb24gaXMgdG8gdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IHRleHQgYm94IGJ1dAorICAgICAg
ICB0aGUgdGV4dCBvZmZzZXQgaXMgMCwgc2V0IHRoZSBhZmZpbml0eSB0byBET1dOU1RSRUFNIGlu
c3RlYWQgb2YgVVBTVFJFQU0gc28gdGhhdAorICAgICAgICB0aGUgY3Vyc29yIGRvZXNuJ3QgcmVt
YWluIG9uIHRoZSBwcmV2aW91cyBsaW5lLgorCiAyMDA4LTA2LTA3ICBKdWxpZW4gQ2hhZmZyYWl4
ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFk
bGVyLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAppbmRleCBhYjViNjJlLi5hNTg4YjE3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcAorKysgYi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAtMzE1LDcgKzMxNSw3IEBAIFZpc2libGVQb3NpdGlv
biBSZW5kZXJUZXh0Ojpwb3NpdGlvbkZvckNvb3JkaW5hdGVzKGludCB4LCBpbnQgeSkKICAgICAg
ICAgICAgICAgICAgICAgLy8gYm94IGlzIGxhc3Qgb24gbGluZQogICAgICAgICAgICAgICAgICAg
ICAvLyBhbmQgdGhlIHggY29vcmRpbmF0ZSBpcyB0byB0aGUgcmlnaHQgb2YgdGhlIGxhc3QgdGV4
dCBib3ggcmlnaHQgZWRnZQogICAgICAgICAgICAgICAgICAgICAvLyBnZW5lcmF0ZSBWaXNpYmxl
UG9zaXRpb24sIHVzZSBVUFNUUkVBTSBhZmZpbml0eSBpZiBwb3NzaWJsZQotICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKGVsZW1lbnQoKSwgb2Zmc2V0ICsgYm94LT5t
X3N0YXJ0LCBWUF9VUFNUUkVBTV9JRl9QT1NTSUJMRSk7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybiBWaXNpYmxlUG9zaXRpb24oZWxlbWVudCgpLCBvZmZzZXQgKyBib3gtPm1fc3RhcnQsIG9m
ZnNldCA+IDAgPyBWUF9VUFNUUkVBTV9JRl9QT1NTSUJMRSA6IERPV05TVFJFQU0pOwogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgbGFzdEJveEFib3ZlID0gYm94OwogICAgICAgICB9Ci0tIAox
LjUuNQoK
</data>
<flag name="review"
          id="9498"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21680</attachid>
            <date>2008-06-13 08:34:05 -0700</date>
            <delta_ts>2008-06-13 10:41:50 -0700</delta_ts>
            <desc>Further improvements to the test case for stuck cursor bug</desc>
            <filename>0001-Fix-for-stuck-cursor-with-keyboard-navigation-bug.patch</filename>
            <type>text/plain</type>
            <size>6256</size>
            <attacher name="Jonathon Jongsma (jonner)">jonathon</attacher>
            
              <data encoding="base64">RnJvbSBlMTRjMDMzYjcwNWYyNDI0NGJkZGFjMjgxOTkzYmU3MTEwOGI0ZjZiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb25hdGhvbiBKb25nc21hIDxqb25hdGhvbi5qb25nc21hQGNv
bGxhYm9yYS5jby51az4KRGF0ZTogV2VkLCAxMSBKdW4gMjAwOCAxNTo0MDoxMyAtMDUwMApTdWJq
ZWN0OiBbUEFUQ0hdIEZpeCBmb3Igc3R1Y2sgY3Vyc29yIHdpdGgga2V5Ym9hcmQgbmF2aWdhdGlv
biAoYnVnICMxOTQ2NSkKCi0tLQogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICA3ICsrCiAuLi4vaW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdh
dGlvbi1leHBlY3RlZC50eHQgICB8ICAgMTQgKysrKysKIC4uLi9lZGl0aW5nL2lucHV0L3RleHRh
cmVhLWFycm93LW5hdmlnYXRpb24uaHRtbCAgIHwgICA1OSArKysrKysrKysrKysrKysrKysrKwog
V2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEz
ICsrKysKIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwICAgICAgICAgICAgICAgICAg
IHwgICAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u
cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFy
ZWEtYXJyb3ctbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3RleHRhcmVhLWFycm93LW5hdmlnYXRpb24uaHRtbAoKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBmNjdlMTFkLi41MTAzMGJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAgQEAKKzIwMDgtMDYtMTEg
IEpvbmF0aG9uIEpvbmdzbWEgIDxqb25hdGhvbi5qb25nc21hQGNvbGxhYm9yYS5jby51az4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGVkaXRpbmcv
aW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi5odG1sOgorICAgICAgICAqIGVkaXRpbmcv
aW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi1leHBlY3RlZC5odG1sOiBBZGRlZC4KKwog
MjAwOC0wNi0wOCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFsZGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9p
bnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZpZ2F0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ViN2JmYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJyb3ctbmF2aWdhdGlvbi1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFu
Z2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KK1RoaXMgdGVzdHMgdGhhdCB0aGUgY3Vyc29yIGRvZXNuJ3QgZ2V0ICdzdHVjaycg
d2hlbiBhZHZhbmNpbmcgdGhyb3VnaCBhIHRleHQgYXJlYSB3aXRoIHRoZSBkb3duIGFycm93IGtl
eS4gU2VlIGJ1ZyAjMTk0NjUgZm9yIG1vcmUgaW5mb3JtYXRpb24KKworSWYgdGhlIHRlc3QgaXMg
c3VjY2Vzc2Z1bCBhbmQgdGhlIGN1cnNvciBpcyBhdCB0aGUgZW5kIG9mIHRoZSB0ZXh0YXJlYSwg
eW91IHNob3VsZCBzZWUgdGhlIHdvcmQgJ1N1Y2Nlc3MnIHByaW50ZWQgYmVsb3cKKworCitTdWNj
ZXNzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3RleHRhcmVhLWFycm93
LW5hdmlnYXRpb24uaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvdGV4dGFyZWEtYXJy
b3ctbmF2aWdhdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhj
ZTI1MDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3RleHRh
cmVhLWFycm93LW5hdmlnYXRpb24uaHRtbApAQCAtMCwwICsxLDU5IEBACis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPXN0eWxlc2hlZXQgaHJlZj0iLi4vZWRpdGluZ1N0eWxlLmNzcyIgdHlwZT0i
dGV4dC9jc3MiPgorPHNjcmlwdCBzcmM9Li4vZWRpdGluZy5qcyBsYW5ndWFnZT0iSmF2YVNjcmlw
dCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0IiA+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlv
biBsb2coc3RyKSB7CisgICAgdmFyIGxpID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGkiKTsK
KyAgICBsaS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzdHIpKTsKKyAgICB2
YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CisgICAgY29u
c29sZS5hcHBlbmRDaGlsZChsaSk7Cit9CisKK2Z1bmN0aW9uIGVkaXRpbmdUZXN0KCkgeworICAg
IGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKKyAgICB2YXIgdGV4dGFyZWEgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOworCisgICAgLy8gc2V0IHRoZSBjdXJzb3Igc2V2ZXJh
bCBjaGFyYWN0ZXJzIGludG8gdGhlIGZpcnN0IGxpbmUgb2YgdGhlIHRleHQgYXJlYSBzbworICAg
IC8vIHRoYXQgd2hlbiB5b3UgZ28gZG93biBieSBhIGxpbmUsIHRoZSBjdXJzb3Igd2lsbCBiZSBh
dCB0aGUgZW5kIG9mIHRoZQorICAgIC8vIG51bWJlcmVkIGxpbmVzOgorICAgIHRleHRhcmVhLnNl
dFNlbGVjdGlvblJhbmdlKDUsIDUpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykg
eworICAgICAgICAvLyBwcmVzcyB0aGUgJ2Rvd24gYXJyb3cnIGEgYnVuY2ggb2YgdGltZXMgdG8g
dHJ5IHRvIGdldCB0byB0aGUgZW5kIG9mCisgICAgICAgIC8vIHRoZSB0ZXh0IGFyZWEKKyAgICAg
ICAgbW92ZVNlbGVjdGlvbkZvcndhcmRCeUxpbmVDb21tYW5kKCk7CisgICAgfQorICAgIGlmICh0
ZXh0YXJlYS5zZWxlY3Rpb25TdGFydCAhPSB0ZXh0YXJlYS52YWx1ZS5sZW5ndGgpCisgICAgICAg
IGxvZyAoIkZhaWwuICBFeHBlY3RlZDogc2VsZWN0aW9uU3RhcnQgPT0gIiArIHRleHRhcmVhLnZh
bHVlLmxlbmd0aCArICIsIEZvdW5kOiAiICsgdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQpOworICAg
IGVsc2UKKyAgICAgICAgbG9nKCJTdWNjZXNzIik7Cit9CisKKzwvc2NyaXB0PgorCis8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxwPgorICAgICAgICBUaGlzIHRlc3RzIHRoYXQgdGhlIGN1
cnNvciBkb2Vzbid0IGdldCAnc3R1Y2snIHdoZW4gYWR2YW5jaW5nIHRocm91Z2ggYQorICAgICAg
ICB0ZXh0IGFyZWEgd2l0aCB0aGUgZG93biBhcnJvdyBrZXkuICBTZWUgYnVnICMxOTQ2NSBmb3Ig
bW9yZSBpbmZvcm1hdGlvbgorICAgICAgICA8L3A+CisgICAgICAgIDxwPgorICAgICAgICBJZiB0
aGUgdGVzdCBpcyBzdWNjZXNzZnVsIGFuZCB0aGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgdGhl
IHRleHRhcmVhLCB5b3Ugc2hvdWxkIHNlZSB0aGUgd29yZCAnU3VjY2VzcycgcHJpbnRlZCBiZWxv
dworICAgICAgICA8L3A+Cis8dGV4dGFyZWEgaWQ9InRlc3QiIHJvd3M9IjEwIiBjb2xzPSI4MCI+
V2hhdCBzdGVwcyB3aWxsIHJlcHJvZHVjZSB0aGUgcHJvYmxlbT8KKzEuIAorMi4gCiszLiAKKwor
V2hhdCBpcyB0aGUgZXhwZWN0ZWQgb3V0cHV0PyBXaGF0IGRvIHlvdSBzZWUgaW5zdGVhZD88L3Rl
eHRhcmVhPgorCis8dWwgaWQ9ImNvbnNvbGUiPjwvdWw+Cis8c2NyaXB0PgorcnVuRWRpdGluZ1Rl
c3QoKTsKKzwvc2NyaXB0PgorCisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZmEwYjEwLi5hYWJmOWIy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDA4LTA2LTExICBKb25hdGhvbiBKb25nc21hICA8am9uYXRob24u
am9uZ3NtYUBjb2xsYWJvcmEuY28udWs+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9pbnB1dC90ZXh0YXJlYS1hcnJvdy1uYXZp
Z2F0aW9uLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHQ6OnBvc2l0aW9uRm9yQ29vcmRpbmF0ZXMpOiBGaXggZm9y
IGJ1ZyAjMTk0NjUgd2hlcmUKKyAgICAgICAgdGhlIGN1cnNvciBjYW4gZ2V0ICdzdHVjaycgd2hl
biB0cnlpbmcgdG8gbmF2aWdhdGUgYSB0ZXh0YXJlYSB3aXRoIGtleWJvYXJkIGFycm93CisgICAg
ICAgIGtleXMuICBJbiB0aGUgY2FzZSB3aGVuIHRoZSBuZXh0IHBvc2l0aW9uIGlzIHRvIHRoZSBy
aWdodCBvZiB0aGUgbGFzdCB0ZXh0IGJveCBidXQKKyAgICAgICAgdGhlIHRleHQgb2Zmc2V0IGlz
IDAsIHNldCB0aGUgYWZmaW5pdHkgdG8gRE9XTlNUUkVBTSBpbnN0ZWFkIG9mIFVQU1RSRUFNIHNv
IHRoYXQKKyAgICAgICAgdGhlIGN1cnNvciBkb2Vzbid0IHJlbWFpbiBvbiB0aGUgcHJldmlvdXMg
bGluZS4KKwogMjAwOC0wNi0wNyAgSnVsaWVuIENoYWZmcmFpeCAgPGpjaGFmZnJhaXhAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dC5jcHAKaW5kZXggYWI1YjYyZS4uYTU4OGIxNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5j
cHAKQEAgLTMxNSw3ICszMTUsNyBAQCBWaXNpYmxlUG9zaXRpb24gUmVuZGVyVGV4dDo6cG9zaXRp
b25Gb3JDb29yZGluYXRlcyhpbnQgeCwgaW50IHkpCiAgICAgICAgICAgICAgICAgICAgIC8vIGJv
eCBpcyBsYXN0IG9uIGxpbmUKICAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSB4IGNvb3Jk
aW5hdGUgaXMgdG8gdGhlIHJpZ2h0IG9mIHRoZSBsYXN0IHRleHQgYm94IHJpZ2h0IGVkZ2UKICAg
ICAgICAgICAgICAgICAgICAgLy8gZ2VuZXJhdGUgVmlzaWJsZVBvc2l0aW9uLCB1c2UgVVBTVFJF
QU0gYWZmaW5pdHkgaWYgcG9zc2libGUKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFZpc2li
bGVQb3NpdGlvbihlbGVtZW50KCksIG9mZnNldCArIGJveC0+bV9zdGFydCwgVlBfVVBTVFJFQU1f
SUZfUE9TU0lCTEUpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9u
KGVsZW1lbnQoKSwgb2Zmc2V0ICsgYm94LT5tX3N0YXJ0LCBvZmZzZXQgPiAwID8gVlBfVVBTVFJF
QU1fSUZfUE9TU0lCTEUgOiBET1dOU1RSRUFNKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGxhc3RCb3hBYm92ZSA9IGJveDsKICAgICAgICAgfQotLSAKMS41LjUKCg==
</data>
<flag name="review"
          id="9509"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>