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

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>156732</bug_id>
          
          <creation_ts>2008-01-26 18:45:38 +0000</creation_ts>
          <short_desc>Would like to sync Dolphin&apos;s view with terminal location</short_desc>
          <delta_ts>2012-06-17 07:12:09 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>dolphin</product>
          <component>panels: terminal</component>
          <version>16.12.2</version>
          <rep_platform>Ubuntu</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>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Benjamin">davidben</reporter>
          <assigned_to name="Peter Penz">peter.penz19</assigned_to>
          <cc>adaptee</cc>
    
    <cc>david.linguist</cc>
    
    <cc>frank78ac</cc>
    
    <cc>gilboad</cc>
    
    <cc>jonas743</cc>
    
    <cc>juglist</cc>
    
    <cc>kde-2011.08</cc>
    
    <cc>mmodem00</cc>
    
    <cc>robertknight</cc>
          
          <cf_commitlink>http://commits.kde.org/kde-baseapps/b53f7c6c19dda3cd1f11b9cb4c2aca84aa806fd1</cf_commitlink>
          <cf_versionfixedin>4.9.0</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>575579</commentid>
    <comment_count>0</comment_count>
    <who name="David Benjamin">davidben</who>
    <bug_when>2008-01-26 18:45:38 +0000</bug_when>
    <thetext>Version:           1.0 (using KDE 4.0.0)
Installed from:    Ubuntu Packages
OS:                Linux

Currently, when Dolphin has a terminal open, it synchronizes the terminal&apos;s location with Dolphin&apos;s. It would be nice to do it the other way around as well.

Use case:
David is using zsh. He is browsing /usr/share/icons/FOO/scalable/categories. zsh has an awesome feature to type cd FOO BAR and replace FOO with BAR, with tab-completion on BAR. David wants to use this to browse those folders while using Dolphin to be able to preview things, etc.

Patch (sort of) attached below. (or will be, anyway ...is there any reason why Bugzilla doesn&apos;t let you attach on the first post?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575587</commentid>
    <comment_count>1</comment_count>
      <attachid>23298</attachid>
    <who name="David Benjamin">davidben</who>
    <bug_when>2008-01-26 19:02:40 +0000</bug_when>
    <thetext>Created attachment 23298
A (sort of hacky) patch

A patch to do it. Sort of. :-) I don&apos;t know how to make cmake install stuff or
how to do paths cleanly, etc.

Also, is there a way to make TerminalInterface (or whatever) set an environment
variable? It might be better to make a folder with dolphin shell utils and add
that to $PATH, and then stuff in the mainwindow id into another environment
variable. Although, I&apos;m not sure if their inheritability could cause oddness.

Incidentally, why does the Konsole KPart&apos;s implementation of
TerminalInterface::showShellInDir not follow the documentation... it doesn&apos;t
send &quot;cd ...&quot; if the shell is already running.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>576360</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Knight">robertknight</who>
    <bug_when>2008-01-29 15:55:09 +0000</bug_when>
    <thetext>Depends on Bug #156919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>737904</commentid>
    <comment_count>3</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2009-04-02 22:47:07 +0000</bug_when>
    <thetext>*** Bug 167211 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749248</commentid>
    <comment_count>4</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2009-04-28 20:37:05 +0000</bug_when>
    <thetext>*** Bug 190940 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893936</commentid>
    <comment_count>5</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2010-01-07 16:24:43 +0000</bug_when>
    <thetext>*** Bug 221341 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>893937</commentid>
    <comment_count>6</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2010-01-07 16:25:59 +0000</bug_when>
    <thetext>The reporter of bug 221341 suggested to watch /proc/$PID/cwd, where $PID is the process ID of the shell that belongs to the terminal panel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121088</commentid>
    <comment_count>7</comment_count>
    <who name="Sebastian Dörner">sebastian</who>
    <bug_when>2011-05-19 23:05:17 +0000</bug_when>
    <thetext>*** Bug 273674 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230501</commentid>
    <comment_count>8</comment_count>
    <who name="Jekyll Wu">adaptee</who>
    <bug_when>2012-02-26 05:38:27 +0000</bug_when>
    <thetext>*** Bug 294839 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244833</commentid>
    <comment_count>9</comment_count>
    <who name="Jekyll Wu">adaptee</who>
    <bug_when>2012-04-11 01:36:30 +0000</bug_when>
    <thetext>Now that bug 156919 has been implemented, it should be possible for dolphin to implement the synchronization in the other direction. Just listen to the currentDirectoryChanged(const QString&amp; dir) signal emitted from konsolepart.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244882</commentid>
    <comment_count>10</comment_count>
    <who name="Peter Penz">peter.penz19</who>
    <bug_when>2012-04-11 09:19:32 +0000</bug_when>
    <thetext>Thanks Jekyll for the update, I&apos;ll try to use the new API (hopefully I can do it until 4.9)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245430</commentid>
    <comment_count>11</comment_count>
      <attachid>70353</attachid>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-04-12 21:26:05 +0000</bug_when>
    <thetext>Created attachment 70353
Patch (still work in progress)

@Jekyll: nice work :-)

This patch is a first step toward making use of the new konsole API. Some remarks about it:

1. I think it&apos;s necessary to keep track of the current directory of the konsole part to prevent sending an unneeded &quot;cd&quot; to the terminal after a currentDirectoryChanged(QString) signal is received and the URL is changed -&gt; added a new member m_konsolePartCurrentDirectory.

2. When the terminal&apos;s current directory changes and the view&apos;s URL is updated accordingly, the terminal loses focus at the moment. I think that this is very distracting -&gt; needs more work.

3. Sometimes, there is a noticeable delay between the &quot;cd&quot; command which is entered in the terminal and the update of the view&apos;s URL. I have the feeling that this delay originates inside the terminal, i.e., that the currentDirectoryChanged(QString) signal is not emitted right after the &quot;cd&quot; command has been entered, but a little while later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245444</commentid>
    <comment_count>12</comment_count>
    <who name="Peter Penz">peter.penz19</who>
    <bug_when>2012-04-12 22:49:32 +0000</bug_when>
    <thetext>Thanks Frank! Regarding point 2 (focus): I&apos;d say don&apos;t lets touch the focus-handling in the class DolphinView - grabbing the focus when changing a directory is usually the preferred behavior and a good default. Probably introducing a kind of slot DolphinMainWindow::slotTerminalDirectoryChange() (naming?) might make sense: Here we can call changeUrl() and return the focus to the terminal-panel afterwards. This is just a suggestion, probably you have a better idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245530</commentid>
    <comment_count>13</comment_count>
    <who name="Jonas">jonas743</who>
    <bug_when>2012-04-13 09:24:02 +0000</bug_when>
    <thetext>Great to hear that this is going to be implemented.

With respect to the question about focus: like Frank, I would prefer that the focus stays in the terminal if I change the directory via &apos;cd&apos; in the terminal. This would allow to use dolphin as a kind of terminal replacement with the folder view as graphical upgrade.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245889</commentid>
    <comment_count>14</comment_count>
    <who name="Jekyll Wu">adaptee</who>
    <bug_when>2012-04-13 23:39:47 +0000</bug_when>
    <thetext>@Frank:

Thanks for your work!

The delay is mentioned in the konsolepart commit[1]. That is also true for standalone Konsole .  Currently Konsole gets process information through polling /proc periodically and when needed (after keyboard event). For the concern of efficiency and load, the polling does not start immediately after each keystroke. A hardcoded 1000ms oneshot timer is used to start the polling later. If the user feedback suggests that delay is a show stopper for this new dolphin feature, I think it should be OK to decrase that 1000ms to a smaller value. But it is unlikely to be immediate.

As for the focus problem, I think that depends upon how (most) users take advantage of this new synchronization. 

   * some users think using &quot;cd /some/path/&quot; in the shell is the more efficient way than using mouse to enter into the needed folder, and they want to use dolphin to operate files after entering into that folder. So changing focus should make sense for them.  For them, they are using &quot;dolphin + shell&quot;

   * some users realize they can now use dolphin as an previewer or helper for their favorite ncurses filemanagers, like mc, vifm, and ranger. Most of time they want to do their work in the ncurses filemanagers running in the terminal panel. So chaning focus would totally defeat that possiblily. For them, they are using &quot;mc/ranger + dolphin&quot;

[1] http://commits.kde.org/konsole/675dbcb2fe777b22044510579321148989d29cfb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245926</commentid>
    <comment_count>15</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-04-14 07:09:05 +0000</bug_when>
    <thetext>(In reply to comment #14)
&gt; The delay is mentioned in the konsolepart commit[1]. 

I must have missed that in the commit message. Thanks for the detailed explanation! Just a quick idea: maybe one could reduce the 1000ms if the key pressed is &quot;Enter&quot;?

&gt; As for the focus problem, I think that depends upon how (most) users take
&gt; advantage of this new synchronization. 

It&apos;s also important to consider how any changes can break existing use patterns. I sometimes use the Terminal Panel to run some quick commands in the current folder, then realise I have to do something else in a subfolder, so I enter &quot;cd subfolder&quot; and run some more commands. In this situation, it would be unwanted to change focus.

I understand that changing focus may make sense in some use cases, but it would be a behaviour change that is likely to frustrate users who got used to the terminal *not* losing focus after a &quot;cd&quot; command. I&apos;m pretty sure that I&apos;m not the only one ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245956</commentid>
    <comment_count>16</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-04-14 09:27:06 +0000</bug_when>
    <thetext>(In reply to comment #12)
&gt; Thanks Frank! Regarding point 2 (focus): I&apos;d say don&apos;t lets touch the
&gt; focus-handling in the class DolphinView - grabbing the focus when changing a
&gt; directory is usually the preferred behavior and a good default. Probably
&gt; introducing a kind of slot DolphinMainWindow::slotTerminalDirectoryChange()
&gt; (naming?) might make sense: Here we can call changeUrl() and return the
&gt; focus to the terminal-panel afterwards.

I tried that:

void DolphinMainWindow::slotTerminalDirectoryChanged(const KUrl&amp; url)
{
    QWidget* focusWidget = QApplication::focusWidget();
    changeUrl(url);
    if (focusWidget) {
        focusWidget-&gt;setFocus();
    }
}

This does not work because DolphinViewContainer requests the focus asynchronously when the URL navigator&apos;s url changes, see DolphinViewContainer::slotUrlNavigatorLocationChanged(const KUrl&amp; url).

The cleanest solution I can see at the moment is to add a function like DolphinViewContainer::doNotRequestFocusAfterNextUrlChange(), which could be called by DolphinMainWindow::slotTerminalDirectoryChanged(). An alternative could be that DolphinViewContainer tries to find out which widget has the focus and does not change focus if a parent of that widget is a TerminalPanel (using parent-&gt;metaObject()-&gt;className()), but this seems a bit more hackish to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245967</commentid>
    <comment_count>17</comment_count>
    <who name="Peter Penz">peter.penz19</who>
    <bug_when>2012-04-14 10:14:23 +0000</bug_when>
    <thetext>&gt; The cleanest solution I can see at the moment is to add a function like 
&gt; DolphinViewContainer::doNotRequestFocusAfterNextUrlChange(), which
&gt; could be called by DolphinMainWindow::slotTerminalDirectoryChanged().
&gt; An alternative could be that DolphinViewContainer tries to find out which
&gt; widget has the focus and does not change focus if a parent of that widget is a
&gt; TerminalPanel (using parent-&gt;metaObject()-&gt;className()), but this seems
&gt; a bit more hackish to me.

Hm... As you say checking the class-name inside DolphinViewContainer is a hack, let us ignore this ;-) In opposite to having a temporary state change due to an interface like DolphinViewContainer::doNotRequestFocusAfterNextUrlChange(), what do you think about adding something explicit like:
  /**
   * If \a grab is set to true, the container automatically grabs the focus
   * as soon as the URL has been changed. Per default the grabbing
   * of the focus is enabled.
   */
  void DolphinViewContainer:: setAutoGrabFocus(bool grab);
  bool DolphinViewContainer::autoGrabFocus() const;

DolphinMainWindow (which is aware about the terminal-panel + container) takes care to disable the autograbbing in case if the Terminal has the focus. Personally I&apos;d prefer this interface in comparison to such internal state-changes like doNotRequestFocusAfterNextUrlChange(), which depends on triggering another action to get back the old behavior.

BTW: Generally I agree that we should not change the focus. We did not change the focus when synchronizing the terminal with the view and I think we should not change the focus too when synchronizing the view with the terminal. Of course as Jekyll said there might be usecases where such an automatic focus-change might be fine, but my gut feeling believes that these are corner-cases...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246018</commentid>
    <comment_count>18</comment_count>
    <who name="Jekyll Wu">adaptee</who>
    <bug_when>2012-04-14 13:55:22 +0000</bug_when>
    <thetext>I myself prefer not changing focus, because I&apos;m really interested with using &quot;ranger + dolphin&quot; . That is what is in my mind when I decide to add that konsolepart signal :)

My point is this new synchronization itself introduces behavior change, and some users might feel uncomfortable with it.

There is another minor problem with the current patch:  after hiding the terminal panel with F4, dolphin automatically sends &quot;cd /&quot;  into the shell, which makes terminal panel emit that directory changing signal later,  and finally dolphin shows the &quot;/&quot; folder. I guess that &quot;cd /&quot; is to make sure the shell does not stands in the way of unplugging removable media.  I would suggest disconnecting that signal after terminal panel is hidden and connecting it when the terminal panel is shown again later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246066</commentid>
    <comment_count>19</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-04-14 16:52:18 +0000</bug_when>
    <thetext>(In reply to comment #18)
&gt; My point is this new synchronization itself introduces behavior change, and
&gt; some users might feel uncomfortable with it.

You&apos;re right of course, any behaviour change may turn out to be unwanted for some users. But I can&apos;t see any way to prevent this here. IMHO, the benefit of syncing the view&apos;s URL with the terminal is much larger than the risk of a large number of users not liking it. And those users still have the possibility to work in an external Konsole by pressing Shift+F4.

&gt; There is another minor problem with the current patch:  after hiding the
&gt; terminal panel with F4, dolphin automatically sends &quot;cd /&quot;  into the shell,
&gt; which makes terminal panel emit that directory changing signal later,  and
&gt; finally dolphin shows the &quot;/&quot; folder. I guess that &quot;cd /&quot; is to make sure
&gt; the shell does not stands in the way of unplugging removable media.  I would
&gt; suggest disconnecting that signal after terminal panel is hidden and
&gt; connecting it when the terminal panel is shown again later.

Thanks, I had already noticed that when playing around with it. I&apos;ll work on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246120</commentid>
    <comment_count>20</comment_count>
      <attachid>70382</attachid>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-04-14 20:17:41 +0000</bug_when>
    <thetext>Created attachment 70382
Updated patch

(In reply to comment #17)
&gt; Hm... As you say checking the class-name inside DolphinViewContainer is a
&gt; hack, let us ignore this ;-) 

I fully agree ;-) My new patch builds upon the DolphinViewContainer changes suggested by Peter and the connect/disconnect approach proposed by Jekyll. Note that I added a pointer to the Konsole part to TerminalPanel to make it possible to connect to/disconnect from the part&apos;s signal at any time. Casting from m_terminal is not possible via qobject_cast because m_terminal is not a QObject (a dynamic_cast would be possible, however).

I have not found any situation where it doesn&apos;t work as it should, but many eyes make bugs shallow ;-)

A (sort of off-topic) question that I asked myself when working on this: Does anyone remember why the &quot;hide terminal&quot; situation is handled in a slot (which has to be connected by DolphinMainWindow) rather than reimplementing hideEvent() and ignoring (i.e., forwarding) spontaneous events? That would be more symmetric to the showEvent() situation and also slightly reduce the complexity of DolphinMainWindow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247426</commentid>
    <comment_count>21</comment_count>
    <who name="Jekyll Wu">adaptee</who>
    <bug_when>2012-04-18 21:44:59 +0000</bug_when>
    <thetext>(In reply to comment #20)
&gt; Created attachment 70382 [details]
&gt; Updated patch

I have used the patched dolphon for a few days. No problems observed so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249755</commentid>
    <comment_count>22</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-04-26 06:43:00 +0000</bug_when>
    <thetext>Git commit b53f7c6c19dda3cd1f11b9cb4c2aca84aa806fd1 by Frank Reininghaus.
Committed on 26/04/2012 at 08:31.
Pushed by freininghaus into branch &apos;master&apos;.

Update the view when changing the directory using &apos;cd&apos; in the terminal

Thanks to Jekyll Wu for helping to implement this feature!
FIXED-IN: 4.9.0

M  +8    -0    dolphin/src/dolphinmainwindow.cpp
M  +7    -0    dolphin/src/dolphinmainwindow.h
M  +13   -3    dolphin/src/dolphinviewcontainer.cpp
M  +9    -0    dolphin/src/dolphinviewcontainer.h
M  +34   -6    dolphin/src/panels/terminal/terminalpanel.cpp
M  +12   -0    dolphin/src/panels/terminal/terminalpanel.h

http://commits.kde.org/kde-baseapps/b53f7c6c19dda3cd1f11b9cb4c2aca84aa806fd1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266339</commentid>
    <comment_count>23</comment_count>
    <who name="Zé">mmodem00</who>
    <bug_when>2012-06-17 05:04:56 +0000</bug_when>
    <thetext>I never thought that was a feature, i thought it was a bug, i was even going ot create a bug report about this, but then i was told that this was in fact some dolphin feature, so i asked if was possible to disable this and i also was told that atm that does not exist.

So i gently ask to dolphin developers to create a way to disable dolphin from follow konsole &quot;movements&quot;, its rather annoying to have symlinks in out home dir and each time i click on them im automatically redirected to the original location , and there i go again move the mouse to go back to my home dir.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1266353</commentid>
    <comment_count>24</comment_count>
    <who name="Frank Reininghaus">frank78ac</who>
    <bug_when>2012-06-17 07:12:09 +0000</bug_when>
    <thetext>(In reply to comment #23)
&gt; its rather annoying to have symlinks in out
&gt; home dir and each time i click on them im automatically redirected to the
&gt; original location , and there i go again move the mouse to go back to my
&gt; home dir.

Of course this is a bug. I&apos;ve created a new bug report about this (bug 302037). The right solution is to fix this bug, not to work around it by disabling the feature.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23298</attachid>
            <date>2008-01-26 19:02:40 +0000</date>
            <delta_ts>2008-01-26 19:02:40 +0000</delta_ts>
            <desc>A (sort of hacky) patch</desc>
            <filename>terminal_patch.patch</filename>
            <type>text/plain</type>
            <size>2946</size>
            <attacher name="David Benjamin">davidben</attacher>
            
              <data encoding="base64">ZGlmZiAtTmF1ciBvbGRmaWxlcy9kb2xwaGluLWNvbWUuc2ggbmV3ZmlsZXMvZG9scGhpbi1jb21l
LnNoCi0tLSBvbGRmaWxlcy9kb2xwaGluLWNvbWUuc2gJMTk2OS0xMi0zMSAxOTowMDowMC4wMDAw
MDAwMDAgLTA1MDAKKysrIG5ld2ZpbGVzL2RvbHBoaW4tY29tZS5zaAkyMDA4LTAxLTI2IDEyOjIz
OjM0LjAwMDAwMDAwMCAtMDUwMApAQCAtMCwwICsxLDggQEAKKyMhL2Jpbi9zaAorCitpZiBbICIk
IyIgLW5lIDEgLW8gIiQxIiAtbHQgMCBdOyB0aGVuCisgICAgZWNobyAiVXNhZ2U6ICQwIE1BSU5X
SU5ET1dJRCIKKyAgICBleGl0IDEKK2ZpCisKK2RidXMtc2VuZCAtLXR5cGU9bWV0aG9kX2NhbGwg
LS1zZXNzaW9uIC0tZGVzdD1vcmcua2RlLmRvbHBoaW4gIi9kb2xwaGluL01haW5XaW5kb3ckMSIg
b3JnLmtkZS5kb2xwaGluLk1haW5XaW5kb3cuY2hhbmdlVXJsICJzdHJpbmc6JFBXRCIKZGlmZiAt
TmF1ciBvbGRmaWxlcy9kb2xwaGlubWFpbndpbmRvdy5jcHAgbmV3ZmlsZXMvZG9scGhpbm1haW53
aW5kb3cuY3BwCi0tLSBvbGRmaWxlcy9kb2xwaGlubWFpbndpbmRvdy5jcHAJMjAwOC0wMS0yNiAx
MjoyMzoxMy4wMDAwMDAwMDAgLTA1MDAKKysrIG5ld2ZpbGVzL2RvbHBoaW5tYWlud2luZG93LmNw
cAkyMDA4LTAxLTI2IDEyOjIzOjM0LjAwMDAwMDAwMCAtMDUwMApAQCAtMTI3MSw3ICsxMjcxLDcg
QEAKICAgICBRRG9ja1dpZGdldCogdGVybWluYWxEb2NrID0gbmV3IFFEb2NrV2lkZ2V0KGkxOG5j
KCJAdGl0bGU6d2luZG93IiwgIlRlcm1pbmFsIikpOwogICAgIHRlcm1pbmFsRG9jay0+c2V0T2Jq
ZWN0TmFtZSgidGVybWluYWxEb2NrIik7CiAgICAgdGVybWluYWxEb2NrLT5zZXRBbGxvd2VkQXJl
YXMoUXQ6OlRvcERvY2tXaWRnZXRBcmVhIHwgUXQ6OkJvdHRvbURvY2tXaWRnZXRBcmVhKTsKLSAg
ICBTaWRlYmFyUGFnZSogdGVybWluYWxXaWRnZXQgPSBuZXcgVGVybWluYWxTaWRlYmFyUGFnZSh0
ZXJtaW5hbERvY2spOworICAgIFNpZGViYXJQYWdlKiB0ZXJtaW5hbFdpZGdldCA9IG5ldyBUZXJt
aW5hbFNpZGViYXJQYWdlKG1faWQsIHRlcm1pbmFsRG9jayk7CiAgICAgdGVybWluYWxEb2NrLT5z
ZXRXaWRnZXQodGVybWluYWxXaWRnZXQpOwogCiAgICAgY29ubmVjdCh0ZXJtaW5hbFdpZGdldCwg
U0lHTkFMKGhpZGVUZXJtaW5hbFNpZGViYXJQYWdlKCkpLCB0ZXJtaW5hbERvY2ssIFNMT1QoaGlk
ZSgpKSk7CmRpZmYgLU5hdXIgb2xkZmlsZXMvdGVybWluYWxzaWRlYmFycGFnZS5jcHAgbmV3Zmls
ZXMvdGVybWluYWxzaWRlYmFycGFnZS5jcHAKLS0tIG9sZGZpbGVzL3Rlcm1pbmFsc2lkZWJhcnBh
Z2UuY3BwCTIwMDgtMDEtMjYgMTI6MjM6MTMuMDAwMDAwMDAwIC0wNTAwCisrKyBuZXdmaWxlcy90
ZXJtaW5hbHNpZGViYXJwYWdlLmNwcAkyMDA4LTAxLTI2IDEyOjM3OjU0LjAwMDAwMDAwMCAtMDUw
MApAQCAtMjcsMTEgKzI3LDEyIEBACiAjaW5jbHVkZSA8UUJveExheW91dD4KICNpbmNsdWRlIDxR
U2hvd0V2ZW50PgogCi1UZXJtaW5hbFNpZGViYXJQYWdlOjpUZXJtaW5hbFNpZGViYXJQYWdlKFFX
aWRnZXQqIHBhcmVudCkgOgorVGVybWluYWxTaWRlYmFyUGFnZTo6VGVybWluYWxTaWRlYmFyUGFn
ZShpbnQgbWFpbldpbmRvd0lkLCBRV2lkZ2V0KiBwYXJlbnQpIDoKICAgICBTaWRlYmFyUGFnZShw
YXJlbnQpLAogICAgIG1fbGF5b3V0KDApLAogICAgIG1fdGVybWluYWwoMCksCi0gICAgbV90ZXJt
aW5hbFdpZGdldCgwKQorICAgIG1fdGVybWluYWxXaWRnZXQoMCksCisgICAgbV9tYWluV2luZG93
SWQobWFpbldpbmRvd0lkKQogewogICAgIG1fbGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0KHRoaXMp
OwogICAgIG1fbGF5b3V0LT5zZXRNYXJnaW4oMCk7CkBAIC04MSw2ICs4Miw5IEBACiAgICAgICAg
ICAgICBtX2xheW91dC0+YWRkV2lkZ2V0KG1fdGVybWluYWxXaWRnZXQpOwogICAgICAgICAgICAg
bV90ZXJtaW5hbCA9IHFvYmplY3RfY2FzdDxUZXJtaW5hbEludGVyZmFjZSAqPihwYXJ0KTsKICAg
ICAgICAgICAgIG1fdGVybWluYWwtPnNob3dTaGVsbEluRGlyKHVybCgpLnBhdGgoKSk7CisJICAg
IC8vIHNob3VsZCBiZSBkb25lIG1vcmUgY2xlYW5seQorICAgICAgICAgICAgbV90ZXJtaW5hbC0+
c2VuZElucHV0KFFTdHJpbmcoImFsaWFzIGRjb21lPVwiL2hvbWUvZG5hc3RoZWdyZWF0L2NvbXBp
bGVzLyIKKyAgICAgICAgICAgICAgICAgICAgICAgICJrZGViYXNlLTQuMC4wL2FwcHMvZG9scGhp
bi9zcmMvZG9scGhpbi1jb21lLnNoICUxXCJcbiIpLmFyZyhtX21haW5XaW5kb3dJZCkpOwogICAg
ICAgICB9CiAgICAgfQogICAgIGlmIChtX3Rlcm1pbmFsICE9IDApIHsKZGlmZiAtTmF1ciBvbGRm
aWxlcy90ZXJtaW5hbHNpZGViYXJwYWdlLmggbmV3ZmlsZXMvdGVybWluYWxzaWRlYmFycGFnZS5o
Ci0tLSBvbGRmaWxlcy90ZXJtaW5hbHNpZGViYXJwYWdlLmgJMjAwOC0wMS0yNiAxMjoyMzoxMy4w
MDAwMDAwMDAgLTA1MDAKKysrIG5ld2ZpbGVzL3Rlcm1pbmFsc2lkZWJhcnBhZ2UuaAkyMDA4LTAx
LTI2IDEyOjIzOjM0LjAwMDAwMDAwMCAtMDUwMApAQCAtMzUsNyArMzUsNyBAQAogICAgIFFfT0JK
RUNUCiAKIHB1YmxpYzoKLSAgICBUZXJtaW5hbFNpZGViYXJQYWdlKFFXaWRnZXQqIHBhcmVudCA9
IDApOworICAgIFRlcm1pbmFsU2lkZWJhclBhZ2UoaW50IG1haW5XaW5kb3dJZCwgUVdpZGdldCog
cGFyZW50ID0gMCk7CiAgICAgdmlydHVhbCB+VGVybWluYWxTaWRlYmFyUGFnZSgpOwogCiAgICAg
LyoqIEBzZWUgUVdpZGdldDo6c2l6ZUhpbnQoKSAqLwpAQCAtNTcsNiArNTcsNyBAQAogICAgIFFW
Qm94TGF5b3V0KiBtX2xheW91dDsKICAgICBUZXJtaW5hbEludGVyZmFjZSogbV90ZXJtaW5hbDsK
ICAgICBRV2lkZ2V0KiBtX3Rlcm1pbmFsV2lkZ2V0OworICAgIGludCBtX21haW5XaW5kb3dJZDsK
IH07CiAKICNlbmRpZiAvLyBURVJNSU5BTFNJREVCQVJQQUdFX0gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70353</attachid>
            <date>2012-04-12 21:26:05 +0000</date>
            <delta_ts>2012-04-14 20:17:41 +0000</delta_ts>
            <desc>Patch (still work in progress)</desc>
            <filename>p.diff</filename>
            <type>text/plain</type>
            <size>3365</size>
            <attacher name="Frank Reininghaus">frank78ac</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmNwcCBiL2RvbHBoaW4v
c3JjL2RvbHBoaW5tYWlud2luZG93LmNwcAppbmRleCBhY2E0ZDE1Li43OWE0NzE5IDEwMDY0NAot
LS0gYS9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndpbmRvdy5jcHAKKysrIGIvZG9scGhpbi9zcmMv
ZG9scGhpbm1haW53aW5kb3cuY3BwCkBAIC0xNzk3LDYgKzE3OTcsNyBAQCB2b2lkIERvbHBoaW5N
YWluV2luZG93OjpzZXR1cERvY2tXaWRnZXRzKCkKICAgICB0ZXJtaW5hbERvY2stPnNldFdpZGdl
dCh0ZXJtaW5hbFBhbmVsKTsKIAogICAgIGNvbm5lY3QodGVybWluYWxQYW5lbCwgU0lHTkFMKGhp
ZGVUZXJtaW5hbFBhbmVsKCkpLCB0ZXJtaW5hbERvY2ssIFNMT1QoaGlkZSgpKSk7CisgICAgY29u
bmVjdCh0ZXJtaW5hbFBhbmVsLCBTSUdOQUwoY2hhbmdlVXJsKEtVcmwpKSwgdGhpcywgU0xPVChj
aGFuZ2VVcmwoS1VybCkpKTsKICAgICBjb25uZWN0KHRlcm1pbmFsRG9jaywgU0lHTkFMKHZpc2li
aWxpdHlDaGFuZ2VkKGJvb2wpKSwKICAgICAgICAgICAgIHRlcm1pbmFsUGFuZWwsIFNMT1QoZG9j
a1Zpc2liaWxpdHlDaGFuZ2VkKCkpKTsKIApkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMvcGFuZWxz
L3Rlcm1pbmFsL3Rlcm1pbmFscGFuZWwuY3BwIGIvZG9scGhpbi9zcmMvcGFuZWxzL3Rlcm1pbmFs
L3Rlcm1pbmFscGFuZWwuY3BwCmluZGV4IDE5YzZjYjEuLjBmMWNhMGQgMTAwNjQ0Ci0tLSBhL2Rv
bHBoaW4vc3JjL3BhbmVscy90ZXJtaW5hbC90ZXJtaW5hbHBhbmVsLmNwcAorKysgYi9kb2xwaGlu
L3NyYy9wYW5lbHMvdGVybWluYWwvdGVybWluYWxwYW5lbC5jcHAKQEAgLTM4LDcgKzM4LDggQEAg
VGVybWluYWxQYW5lbDo6VGVybWluYWxQYW5lbChRV2lkZ2V0KiBwYXJlbnQpIDoKICAgICBtX21v
c3RMb2NhbFVybEpvYigwKSwKICAgICBtX2xheW91dCgwKSwKICAgICBtX3Rlcm1pbmFsKDApLAot
ICAgIG1fdGVybWluYWxXaWRnZXQoMCkKKyAgICBtX3Rlcm1pbmFsV2lkZ2V0KDApLAorICAgIG1f
a29uc29sZVBhcnRDdXJyZW50RGlyZWN0b3J5KCkKIHsKICAgICBtX2xheW91dCA9IG5ldyBRVkJv
eExheW91dCh0aGlzKTsKICAgICBtX2xheW91dC0+c2V0TWFyZ2luKDApOwpAQCAtOTIsNiArOTMs
NyBAQCB2b2lkIFRlcm1pbmFsUGFuZWw6OnNob3dFdmVudChRU2hvd0V2ZW50KiBldmVudCkKICAg
ICAgICAgS1BhcnRzOjpSZWFkT25seVBhcnQqIHBhcnQgPSBmYWN0b3J5ID8gKGZhY3RvcnktPmNy
ZWF0ZTxLUGFydHM6OlJlYWRPbmx5UGFydD4odGhpcykpIDogMDsKICAgICAgICAgaWYgKHBhcnQp
IHsKICAgICAgICAgICAgIGNvbm5lY3QocGFydCwgU0lHTkFMKGRlc3Ryb3llZChRT2JqZWN0Kikp
LCB0aGlzLCBTTE9UKHRlcm1pbmFsRXhpdGVkKCkpKTsKKyAgICAgICAgICAgIGNvbm5lY3QocGFy
dCwgU0lHTkFMKGN1cnJlbnREaXJlY3RvcnlDaGFuZ2VkKFFTdHJpbmcpKSwgdGhpcywgU0xPVChz
bG90S29uc29sZVBhcnRDdXJyZW50RGlyZWN0b3J5Q2hhbmdlZChRU3RyaW5nKSkpOwogICAgICAg
ICAgICAgbV90ZXJtaW5hbFdpZGdldCA9IHBhcnQtPndpZGdldCgpOwogICAgICAgICAgICAgbV9s
YXlvdXQtPmFkZFdpZGdldChtX3Rlcm1pbmFsV2lkZ2V0KTsKICAgICAgICAgICAgIG1fdGVybWlu
YWwgPSBxb2JqZWN0X2Nhc3Q8VGVybWluYWxJbnRlcmZhY2VWMiAqPihwYXJ0KTsKQEAgLTEyMiw2
ICsxMjQsMTAgQEAgdm9pZCBUZXJtaW5hbFBhbmVsOjpjaGFuZ2VEaXIoY29uc3QgS1VybCYgdXJs
KQogCiB2b2lkIFRlcm1pbmFsUGFuZWw6OnNlbmRDZFRvVGVybWluYWwoY29uc3QgUVN0cmluZyYg
ZGlyKQogeworICAgIGlmIChkaXIgPT0gbV9rb25zb2xlUGFydEN1cnJlbnREaXJlY3RvcnkpIHsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9jbGVhclRlcm1pbmFsKSB7CiAg
ICAgICAgIC8vIFRoZSBUZXJtaW5hbFYyIGludGVyZmFjZSBkb2VzIG5vdCBwcm92aWRlIGEgd2F5
IHRvIGRlbGV0ZSB0aGUKICAgICAgICAgLy8gY3VycmVudCBsaW5lIGJlZm9yZSBzZW5kaW5nIGEg
bmV3IGlucHV0LiBUaGlzIGlzIG1hbmRhdG9yeSwKQEAgLTE1Miw0ICsxNTgsMTQgQEAgdm9pZCBU
ZXJtaW5hbFBhbmVsOjpzbG90TW9zdExvY2FsVXJsUmVzdWx0KEtKb2IqIGpvYikKICAgICBtX21v
c3RMb2NhbFVybEpvYiA9IDA7CiB9CiAKK3ZvaWQgVGVybWluYWxQYW5lbDo6c2xvdEtvbnNvbGVQ
YXJ0Q3VycmVudERpcmVjdG9yeUNoYW5nZWQoY29uc3QgUVN0cmluZyYgZGlyKQoreworICAgIG1f
a29uc29sZVBhcnRDdXJyZW50RGlyZWN0b3J5ID0gZGlyOworCisgICAgY29uc3QgS1VybCBuZXdV
cmwoZGlyKTsKKyAgICBpZiAobmV3VXJsICE9IHVybCgpKSB7CisgICAgICAgIGVtaXQgY2hhbmdl
VXJsKG5ld1VybCk7CisgICAgfQorfQorCiAjaW5jbHVkZSAidGVybWluYWxwYW5lbC5tb2MiCmRp
ZmYgLS1naXQgYS9kb2xwaGluL3NyYy9wYW5lbHMvdGVybWluYWwvdGVybWluYWxwYW5lbC5oIGIv
ZG9scGhpbi9zcmMvcGFuZWxzL3Rlcm1pbmFsL3Rlcm1pbmFscGFuZWwuaAppbmRleCBjYzI3MjEy
Li5hYzZhZjEyIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9wYW5lbHMvdGVybWluYWwvdGVybWlu
YWxwYW5lbC5oCisrKyBiL2RvbHBoaW4vc3JjL3BhbmVscy90ZXJtaW5hbC90ZXJtaW5hbHBhbmVs
LmgKQEAgLTQ5LDYgKzQ5LDExIEBAIHB1YmxpYyBzbG90czoKIHNpZ25hbHM6CiAgICAgdm9pZCBo
aWRlVGVybWluYWxQYW5lbCgpOwogCisgICAgLyoqCisgICAgICogSXMgZW1pdHRlZCBpZiB0aGUg
YW4gVVJMIGNoYW5nZSBpcyByZXF1ZXN0ZWQuCisgICAgICovCisgICAgdm9pZCBjaGFuZ2VVcmwo
Y29uc3QgS1VybCYgdXJsKTsKKwogcHJvdGVjdGVkOgogICAgIC8qKiBAc2VlIFBhbmVsOjp1cmxD
aGFuZ2VkKCkgKi8KICAgICB2aXJ0dWFsIGJvb2wgdXJsQ2hhbmdlZCgpOwpAQCAtNTgsNiArNjMs
NyBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGUgc2xvdHM6CiAgICAgdm9pZCBzbG90TW9zdExvY2Fs
VXJsUmVzdWx0KEtKb2IqIGpvYik7CisgICAgdm9pZCBzbG90S29uc29sZVBhcnRDdXJyZW50RGly
ZWN0b3J5Q2hhbmdlZChjb25zdCBRU3RyaW5nJiBkaXIpOwogCiBwcml2YXRlOgogICAgIHZvaWQg
Y2hhbmdlRGlyKGNvbnN0IEtVcmwmIHVybCk7CkBAIC03MCw2ICs3Niw3IEBAIHByaXZhdGU6CiAg
ICAgUVZCb3hMYXlvdXQqIG1fbGF5b3V0OwogICAgIFRlcm1pbmFsSW50ZXJmYWNlVjIqIG1fdGVy
bWluYWw7CiAgICAgUVdpZGdldCogbV90ZXJtaW5hbFdpZGdldDsKKyAgICBRU3RyaW5nIG1fa29u
c29sZVBhcnRDdXJyZW50RGlyZWN0b3J5OwogfTsKIAogI2VuZGlmIC8vIFRFUk1JTkFMUEFORUxf
SAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70382</attachid>
            <date>2012-04-14 20:17:41 +0000</date>
            <delta_ts>2012-04-14 20:17:41 +0000</delta_ts>
            <desc>Updated patch</desc>
            <filename>p.diff</filename>
            <type>text/plain</type>
            <size>8808</size>
            <attacher name="Frank Reininghaus">frank78ac</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmNwcCBiL2RvbHBoaW4v
c3JjL2RvbHBoaW5tYWlud2luZG93LmNwcAppbmRleCBjNjJkNjg1Li5jYTAzYWFlIDEwMDY0NAot
LS0gYS9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndpbmRvdy5jcHAKKysrIGIvZG9scGhpbi9zcmMv
ZG9scGhpbm1haW53aW5kb3cuY3BwCkBAIC0zODUsNiArMzg1LDEzIEBAIHZvaWQgRG9scGhpbk1h
aW5XaW5kb3c6OmNoYW5nZVVybChjb25zdCBLVXJsJiB1cmwpCiAgICAgfQogfQogCit2b2lkIERv
bHBoaW5NYWluV2luZG93OjpzbG90VGVybWluYWxEaXJlY3RvcnlDaGFuZ2VkKGNvbnN0IEtVcmwm
IHVybCkKK3sKKyAgICBtX2FjdGl2ZVZpZXdDb250YWluZXItPnNldEF1dG9HcmFiRm9jdXMoZmFs
c2UpOworICAgIGNoYW5nZVVybCh1cmwpOworICAgIG1fYWN0aXZlVmlld0NvbnRhaW5lci0+c2V0
QXV0b0dyYWJGb2N1cyh0cnVlKTsKK30KKwogdm9pZCBEb2xwaGluTWFpbldpbmRvdzo6c2xvdEVk
aXRhYmxlU3RhdGVDaGFuZ2VkKGJvb2wgZWRpdGFibGUpCiB7CiAgICAgS1RvZ2dsZUFjdGlvbiog
ZWRpdGFibGVMb2NhdGlvbkFjdGlvbiA9CkBAIC0xNzkxLDYgKzE3OTgsNyBAQCB2b2lkIERvbHBo
aW5NYWluV2luZG93OjpzZXR1cERvY2tXaWRnZXRzKCkKICAgICB0ZXJtaW5hbERvY2stPnNldFdp
ZGdldCh0ZXJtaW5hbFBhbmVsKTsKIAogICAgIGNvbm5lY3QodGVybWluYWxQYW5lbCwgU0lHTkFM
KGhpZGVUZXJtaW5hbFBhbmVsKCkpLCB0ZXJtaW5hbERvY2ssIFNMT1QoaGlkZSgpKSk7CisgICAg
Y29ubmVjdCh0ZXJtaW5hbFBhbmVsLCBTSUdOQUwoY2hhbmdlVXJsKEtVcmwpKSwgdGhpcywgU0xP
VChzbG90VGVybWluYWxEaXJlY3RvcnlDaGFuZ2VkKEtVcmwpKSk7CiAgICAgY29ubmVjdCh0ZXJt
aW5hbERvY2ssIFNJR05BTCh2aXNpYmlsaXR5Q2hhbmdlZChib29sKSksCiAgICAgICAgICAgICB0
ZXJtaW5hbFBhbmVsLCBTTE9UKGRvY2tWaXNpYmlsaXR5Q2hhbmdlZCgpKSk7CiAKZGlmZiAtLWdp
dCBhL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmggYi9kb2xwaGluL3NyYy9kb2xwaGlu
bWFpbndpbmRvdy5oCmluZGV4IGQ0Y2ExMWEuLjdlMGIyZDEgMTAwNjQ0Ci0tLSBhL2RvbHBoaW4v
c3JjL2RvbHBoaW5tYWlud2luZG93LmgKKysrIGIvZG9scGhpbi9zcmMvZG9scGhpbm1haW53aW5k
b3cuaApAQCAtMTI1LDYgKzEyNSwxMyBAQCBwdWJsaWMgc2xvdHM6CiAgICAgICovCiAgICAgdm9p
ZCBjaGFuZ2VVcmwoY29uc3QgS1VybCYgdXJsKTsKIAorICAgIC8qKgorICAgICAqIFRoZSBjdXJy
ZW50IGRpcmVjdG9yeSBvZiB0aGUgVGVybWluYWwgUGFuZWwgaGFzIGNoYW5nZWQsIHByb2JhYmx5
IGJlY2F1c2UKKyAgICAgKiB0aGUgdXNlciBlbnRlcmVkIGEgJ2NkJyBjb21tYW5kLiBUaGlzIHNs
b3QgY2FsbHMgY2hhbmdlVXJsKHVybCkgYW5kIG1ha2VzCisgICAgICogc3VyZSB0aGF0IHRoZSBw
YW5lbCBrZWVwcyB0aGUga2V5Ym9hcmQgZm9jdXMuCisgICAgICovCisgICAgdm9pZCBzbG90VGVy
bWluYWxEaXJlY3RvcnlDaGFuZ2VkKGNvbnN0IEtVcmwmIHVybCk7CisKICAgICAvKiogU3RvcmVz
IGFsbCBzZXR0aW5ncyBhbmQgcXVpdHMgRG9scGhpbi4gKi8KICAgICB2b2lkIHF1aXQoKTsKIApk
aWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMvZG9scGhpbnZpZXdjb250YWluZXIuY3BwIGIvZG9scGhp
bi9zcmMvZG9scGhpbnZpZXdjb250YWluZXIuY3BwCmluZGV4IDlkNzVhZDguLmQ3OTU4NGQgMTAw
NjQ0Ci0tLSBhL2RvbHBoaW4vc3JjL2RvbHBoaW52aWV3Y29udGFpbmVyLmNwcAorKysgYi9kb2xw
aGluL3NyYy9kb2xwaGludmlld2NvbnRhaW5lci5jcHAKQEAgLTQ1LDcgKzQ1LDYgQEAKICNpbmNs
dWRlIDxLUnVuPgogCiAjaW5jbHVkZSAiZG9scGhpbl9nZW5lcmFsc2V0dGluZ3MuaCIKLSNpbmNs
dWRlICJkb2xwaGlubWFpbndpbmRvdy5oIgogI2luY2x1ZGUgImZpbHRlcmJhci9maWx0ZXJiYXIu
aCIKICNpbmNsdWRlICJzZWFyY2gvZG9scGhpbnNlYXJjaGJveC5oIgogI2luY2x1ZGUgInN0YXR1
c2Jhci9kb2xwaGluc3RhdHVzYmFyLmgiCkBAIC02NCw3ICs2Myw4IEBAIERvbHBoaW5WaWV3Q29u
dGFpbmVyOjpEb2xwaGluVmlld0NvbnRhaW5lcihjb25zdCBLVXJsJiB1cmwsIFFXaWRnZXQqIHBh
cmVudCkgOgogICAgIG1fZmlsdGVyQmFyKDApLAogICAgIG1fc3RhdHVzQmFyKDApLAogICAgIG1f
c3RhdHVzQmFyVGltZXIoMCksCi0gICAgbV9zdGF0dXNCYXJUaW1lc3RhbXAoKQorICAgIG1fc3Rh
dHVzQmFyVGltZXN0YW1wKCksCisgICAgbV9hdXRvR3JhYkZvY3VzKHRydWUpCiB7CiAgICAgaGlk
ZSgpOwogCkBAIC0xODAsNiArMTgwLDE2IEBAIGJvb2wgRG9scGhpblZpZXdDb250YWluZXI6Omlz
QWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4gbV92aWV3LT5pc0FjdGl2ZSgpOwogfQogCit2b2lk
IERvbHBoaW5WaWV3Q29udGFpbmVyOjpzZXRBdXRvR3JhYkZvY3VzKGJvb2wgZ3JhYikKK3sKKyAg
ICBtX2F1dG9HcmFiRm9jdXMgPSBncmFiOworfQorCitib29sIERvbHBoaW5WaWV3Q29udGFpbmVy
OjphdXRvR3JhYkZvY3VzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9hdXRvR3JhYkZvY3VzOwor
fQorCiBjb25zdCBEb2xwaGluU3RhdHVzQmFyKiBEb2xwaGluVmlld0NvbnRhaW5lcjo6c3RhdHVz
QmFyKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zdGF0dXNCYXI7CkBAIC01MDgsNyArNTE4LDcg
QEAgdm9pZCBEb2xwaGluVmlld0NvbnRhaW5lcjo6c2xvdFVybE5hdmlnYXRvckxvY2F0aW9uQ2hh
bmdlZChjb25zdCBLVXJsJiB1cmwpCiAgICAgICAgIHNldFNlYXJjaE1vZGVFbmFibGVkKGlzU2Vh
cmNoVXJsKHVybCkpOwogICAgICAgICBtX3ZpZXctPnNldFVybCh1cmwpOwogCi0gICAgICAgIGlm
IChpc0FjdGl2ZSgpICYmICFpc1NlYXJjaFVybCh1cmwpKSB7CisgICAgICAgIGlmIChtX2F1dG9H
cmFiRm9jdXMgJiYgaXNBY3RpdmUoKSAmJiAhaXNTZWFyY2hVcmwodXJsKSkgewogICAgICAgICAg
ICAgLy8gV2hlbiBhbiBVUkwgaGFzIGJlZW4gZW50ZXJlZCwgdGhlIHZpZXcgc2hvdWxkIGdldCB0
aGUgZm9jdXMuCiAgICAgICAgICAgICAvLyBUaGUgZm9jdXMgbXVzdCBiZSByZXF1ZXN0ZWQgYXN5
bmNocm9ub3VzbHksIGFzIGNoYW5naW5nIHRoZSBVUkwgbWlnaHQgY3JlYXRlCiAgICAgICAgICAg
ICAvLyBhIG5ldyB2aWV3IHdpZGdldC4KZGlmZiAtLWdpdCBhL2RvbHBoaW4vc3JjL2RvbHBoaW52
aWV3Y29udGFpbmVyLmggYi9kb2xwaGluL3NyYy9kb2xwaGludmlld2NvbnRhaW5lci5oCmluZGV4
IDVlOThmNWUuLjIyMWMzYTIgMTAwNjQ0Ci0tLSBhL2RvbHBoaW4vc3JjL2RvbHBoaW52aWV3Y29u
dGFpbmVyLmgKKysrIGIvZG9scGhpbi9zcmMvZG9scGhpbnZpZXdjb250YWluZXIuaApAQCAtNzks
NiArNzksMTQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWN0aXZlKGJvb2wgYWN0aXZlKTsKICAg
ICBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAKKyAgICAvKioKKyAgICAgKiBJZiBcYSBncmFiIGlz
IHNldCB0byB0cnVlLCB0aGUgY29udGFpbmVyIGF1dG9tYXRpY2FsbHkgZ3JhYnMgdGhlIGZvY3Vz
CisgICAgICogYXMgc29vbiBhcyB0aGUgVVJMIGhhcyBiZWVuIGNoYW5nZWQuIFBlciBkZWZhdWx0
IHRoZSBncmFiYmluZworICAgICAqIG9mIHRoZSBmb2N1cyBpcyBlbmFibGVkLgorICAgICAqLwor
ICAgIHZvaWQgc2V0QXV0b0dyYWJGb2N1cyhib29sIGdyYWIpOworICAgIGJvb2wgYXV0b0dyYWJG
b2N1cygpIGNvbnN0OworCiAgICAgY29uc3QgRG9scGhpblN0YXR1c0Jhciogc3RhdHVzQmFyKCkg
Y29uc3Q7CiAgICAgRG9scGhpblN0YXR1c0Jhciogc3RhdHVzQmFyKCk7CiAKQEAgLTMwMyw2ICsz
MTEsNyBAQCBwcml2YXRlOgogICAgIERvbHBoaW5TdGF0dXNCYXIqIG1fc3RhdHVzQmFyOwogICAg
IFFUaW1lciogbV9zdGF0dXNCYXJUaW1lcjsgICAgICAgICAgICAvLyBUcmlnZ2VycyBhIGRlbGF5
ZWQgdXBkYXRlCiAgICAgUUVsYXBzZWRUaW1lciBtX3N0YXR1c0JhclRpbWVzdGFtcDsgIC8vIFRp
bWUgaW4gbXMgc2luY2UgbGFzdCB1cGRhdGUKKyAgICBib29sIG1fYXV0b0dyYWJGb2N1czsKIH07
CiAKICNlbmRpZiAvLyBET0xQSElOVklFV0NPTlRBSU5FUl9ICmRpZmYgLS1naXQgYS9kb2xwaGlu
L3NyYy9wYW5lbHMvdGVybWluYWwvdGVybWluYWxwYW5lbC5jcHAgYi9kb2xwaGluL3NyYy9wYW5l
bHMvdGVybWluYWwvdGVybWluYWxwYW5lbC5jcHAKaW5kZXggMTljNmNiMS4uYTUzYjFlZiAxMDA2
NDQKLS0tIGEvZG9scGhpbi9zcmMvcGFuZWxzL3Rlcm1pbmFsL3Rlcm1pbmFscGFuZWwuY3BwCisr
KyBiL2RvbHBoaW4vc3JjL3BhbmVscy90ZXJtaW5hbC90ZXJtaW5hbHBhbmVsLmNwcApAQCAtMzgs
NyArMzgsOSBAQCBUZXJtaW5hbFBhbmVsOjpUZXJtaW5hbFBhbmVsKFFXaWRnZXQqIHBhcmVudCkg
OgogICAgIG1fbW9zdExvY2FsVXJsSm9iKDApLAogICAgIG1fbGF5b3V0KDApLAogICAgIG1fdGVy
bWluYWwoMCksCi0gICAgbV90ZXJtaW5hbFdpZGdldCgwKQorICAgIG1fdGVybWluYWxXaWRnZXQo
MCksCisgICAgbV9rb25zb2xlUGFydCgwKSwKKyAgICBtX2tvbnNvbGVQYXJ0Q3VycmVudERpcmVj
dG9yeSgpCiB7CiAgICAgbV9sYXlvdXQgPSBuZXcgUVZCb3hMYXlvdXQodGhpcyk7CiAgICAgbV9s
YXlvdXQtPnNldE1hcmdpbigwKTsKQEAgLTYwLDggKzYyLDE4IEBAIHZvaWQgVGVybWluYWxQYW5l
bDo6ZG9ja1Zpc2liaWxpdHlDaGFuZ2VkKCkKICAgICAvLyByZXNwb25kIHdoZW4gZS5nLiBEb2xw
aGluIGlzIG1pbmltaXplZC4KICAgICBpZiAocGFyZW50V2lkZ2V0KCkgJiYgcGFyZW50V2lkZ2V0
KCktPmlzSGlkZGVuKCkgJiYKICAgICAgICAgbV90ZXJtaW5hbCAmJiAobV90ZXJtaW5hbC0+Zm9y
ZWdyb3VuZFByb2Nlc3NJZCgpID09IC0xKSkgeworICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0
aGUgZm9sbG93aW5nICJjZCAvIiBjb21tYW5kIHdpbGwgbm90IGFmZmVjdCB0aGUgdmlldy4KKyAg
ICAgICAgZGlzY29ubmVjdChtX2tvbnNvbGVQYXJ0LCBTSUdOQUwoY3VycmVudERpcmVjdG9yeUNo
YW5nZWQoUVN0cmluZykpLAorICAgICAgICAgICAgICAgICAgIHRoaXMsIFNMT1Qoc2xvdEtvbnNv
bGVQYXJ0Q3VycmVudERpcmVjdG9yeUNoYW5nZWQoUVN0cmluZykpKTsKKwogICAgICAgICAvLyBN
YWtlIHN1cmUgdGhpcyB0ZXJtaW5hbCBkb2VzIG5vdCBwcmV2ZW50IHVubW91bnRpbmcgYW55IHJl
bW92YWJsZSBkcml2ZXMKICAgICAgICAgY2hhbmdlRGlyKEtVcmw6OmZyb21QYXRoKCIvIikpOwor
CisgICAgICAgIC8vIEJlY2F1c2Ugd2UgaGF2ZSBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgcGFydCdz
IGN1cnJlbnREaXJlY3RvcnlDaGFuZ2VkKCkKKyAgICAgICAgLy8gc2lnbmFsLCB3ZSBoYXZlIHRv
IHVwZGF0ZSBtX2tvbnNvbGVQYXJ0Q3VycmVudERpcmVjdG9yeSBtYW51YWxseS4gSWYgdGhpcwor
ICAgICAgICAvLyB3YXMgbm90IGRvbmUsIHNob3dpbmcgdGhlIHBhbmVsIGFnYWluIG1pZ2h0IG5v
dCBzZXQgdGhlIHBhcnQncyB3b3JraW5nCisgICAgICAgIC8vIGRpcmVjdG9yeSBjb3JyZWN0bHku
CisgICAgICAgIG1fa29uc29sZVBhcnRDdXJyZW50RGlyZWN0b3J5ID0gIi8iOwogICAgIH0KIH0K
IApAQCAtODksMTUgKzEwMSwxNyBAQCB2b2lkIFRlcm1pbmFsUGFuZWw6OnNob3dFdmVudChRU2hv
d0V2ZW50KiBldmVudCkKICAgICBpZiAoIW1fdGVybWluYWwpIHsKICAgICAgICAgbV9jbGVhclRl
cm1pbmFsID0gdHJ1ZTsKICAgICAgICAgS1BsdWdpbkZhY3RvcnkqIGZhY3RvcnkgPSBLUGx1Z2lu
TG9hZGVyKCJsaWJrb25zb2xlcGFydCIpLmZhY3RvcnkoKTsKLSAgICAgICAgS1BhcnRzOjpSZWFk
T25seVBhcnQqIHBhcnQgPSBmYWN0b3J5ID8gKGZhY3RvcnktPmNyZWF0ZTxLUGFydHM6OlJlYWRP
bmx5UGFydD4odGhpcykpIDogMDsKLSAgICAgICAgaWYgKHBhcnQpIHsKLSAgICAgICAgICAgIGNv
bm5lY3QocGFydCwgU0lHTkFMKGRlc3Ryb3llZChRT2JqZWN0KikpLCB0aGlzLCBTTE9UKHRlcm1p
bmFsRXhpdGVkKCkpKTsKLSAgICAgICAgICAgIG1fdGVybWluYWxXaWRnZXQgPSBwYXJ0LT53aWRn
ZXQoKTsKKyAgICAgICAgbV9rb25zb2xlUGFydCA9IGZhY3RvcnkgPyAoZmFjdG9yeS0+Y3JlYXRl
PEtQYXJ0czo6UmVhZE9ubHlQYXJ0Pih0aGlzKSkgOiAwOworICAgICAgICBpZiAobV9rb25zb2xl
UGFydCkgeworICAgICAgICAgICAgY29ubmVjdChtX2tvbnNvbGVQYXJ0LCBTSUdOQUwoZGVzdHJv
eWVkKFFPYmplY3QqKSksIHRoaXMsIFNMT1QodGVybWluYWxFeGl0ZWQoKSkpOworICAgICAgICAg
ICAgbV90ZXJtaW5hbFdpZGdldCA9IG1fa29uc29sZVBhcnQtPndpZGdldCgpOwogICAgICAgICAg
ICAgbV9sYXlvdXQtPmFkZFdpZGdldChtX3Rlcm1pbmFsV2lkZ2V0KTsKLSAgICAgICAgICAgIG1f
dGVybWluYWwgPSBxb2JqZWN0X2Nhc3Q8VGVybWluYWxJbnRlcmZhY2VWMiAqPihwYXJ0KTsKKyAg
ICAgICAgICAgIG1fdGVybWluYWwgPSBxb2JqZWN0X2Nhc3Q8VGVybWluYWxJbnRlcmZhY2VWMiAq
PihtX2tvbnNvbGVQYXJ0KTsKICAgICAgICAgfQogICAgIH0KICAgICBpZiAobV90ZXJtaW5hbCkg
eworICAgICAgICBjb25uZWN0KG1fa29uc29sZVBhcnQsIFNJR05BTChjdXJyZW50RGlyZWN0b3J5
Q2hhbmdlZChRU3RyaW5nKSksCisgICAgICAgICAgICAgICAgdGhpcywgU0xPVChzbG90S29uc29s
ZVBhcnRDdXJyZW50RGlyZWN0b3J5Q2hhbmdlZChRU3RyaW5nKSkpOwogICAgICAgICBtX3Rlcm1p
bmFsLT5zaG93U2hlbGxJbkRpcih1cmwoKS50b0xvY2FsRmlsZSgpKTsKICAgICAgICAgY2hhbmdl
RGlyKHVybCgpKTsKICAgICAgICAgbV90ZXJtaW5hbFdpZGdldC0+c2V0Rm9jdXMoKTsKQEAgLTEy
Miw2ICsxMzYsMTAgQEAgdm9pZCBUZXJtaW5hbFBhbmVsOjpjaGFuZ2VEaXIoY29uc3QgS1VybCYg
dXJsKQogCiB2b2lkIFRlcm1pbmFsUGFuZWw6OnNlbmRDZFRvVGVybWluYWwoY29uc3QgUVN0cmlu
ZyYgZGlyKQogeworICAgIGlmIChkaXIgPT0gbV9rb25zb2xlUGFydEN1cnJlbnREaXJlY3Rvcnkp
IHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIGlmICghbV9jbGVhclRlcm1pbmFsKSB7
CiAgICAgICAgIC8vIFRoZSBUZXJtaW5hbFYyIGludGVyZmFjZSBkb2VzIG5vdCBwcm92aWRlIGEg
d2F5IHRvIGRlbGV0ZSB0aGUKICAgICAgICAgLy8gY3VycmVudCBsaW5lIGJlZm9yZSBzZW5kaW5n
IGEgbmV3IGlucHV0LiBUaGlzIGlzIG1hbmRhdG9yeSwKQEAgLTE1Miw0ICsxNzAsMTQgQEAgdm9p
ZCBUZXJtaW5hbFBhbmVsOjpzbG90TW9zdExvY2FsVXJsUmVzdWx0KEtKb2IqIGpvYikKICAgICBt
X21vc3RMb2NhbFVybEpvYiA9IDA7CiB9CiAKK3ZvaWQgVGVybWluYWxQYW5lbDo6c2xvdEtvbnNv
bGVQYXJ0Q3VycmVudERpcmVjdG9yeUNoYW5nZWQoY29uc3QgUVN0cmluZyYgZGlyKQoreworICAg
IG1fa29uc29sZVBhcnRDdXJyZW50RGlyZWN0b3J5ID0gZGlyOworCisgICAgY29uc3QgS1VybCBu
ZXdVcmwoZGlyKTsKKyAgICBpZiAobmV3VXJsICE9IHVybCgpKSB7CisgICAgICAgIGVtaXQgY2hh
bmdlVXJsKG5ld1VybCk7CisgICAgfQorfQorCiAjaW5jbHVkZSAidGVybWluYWxwYW5lbC5tb2Mi
CmRpZmYgLS1naXQgYS9kb2xwaGluL3NyYy9wYW5lbHMvdGVybWluYWwvdGVybWluYWxwYW5lbC5o
IGIvZG9scGhpbi9zcmMvcGFuZWxzL3Rlcm1pbmFsL3Rlcm1pbmFscGFuZWwuaAppbmRleCBjYzI3
MjEyLi4zNzQ0NzZlIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9wYW5lbHMvdGVybWluYWwvdGVy
bWluYWxwYW5lbC5oCisrKyBiL2RvbHBoaW4vc3JjL3BhbmVscy90ZXJtaW5hbC90ZXJtaW5hbHBh
bmVsLmgKQEAgLTMwLDYgKzMwLDEwIEBAIG5hbWVzcGFjZSBLSU8gewogICAgIGNsYXNzIFN0YXRK
b2I7CiB9CiAKK25hbWVzcGFjZSBLUGFydHMgeworICAgIGNsYXNzIFJlYWRPbmx5UGFydDsKK30K
KwogLyoqCiAgKiBAYnJpZWYgU2hvd3MgdGhlIHRlcm1pbmFsIHdoaWNoIGlzIHN5bmNocm9uaXpl
ZCB3aXRoIHRoZSBVUkwgb2YgdGhlCiAgKiAgICAgICAgYWN0aXZlIHZpZXcuCkBAIC00OSw2ICs1
MywxMSBAQCBwdWJsaWMgc2xvdHM6CiBzaWduYWxzOgogICAgIHZvaWQgaGlkZVRlcm1pbmFsUGFu
ZWwoKTsKIAorICAgIC8qKgorICAgICAqIElzIGVtaXR0ZWQgaWYgdGhlIGFuIFVSTCBjaGFuZ2Ug
aXMgcmVxdWVzdGVkLgorICAgICAqLworICAgIHZvaWQgY2hhbmdlVXJsKGNvbnN0IEtVcmwmIHVy
bCk7CisKIHByb3RlY3RlZDoKICAgICAvKiogQHNlZSBQYW5lbDo6dXJsQ2hhbmdlZCgpICovCiAg
ICAgdmlydHVhbCBib29sIHVybENoYW5nZWQoKTsKQEAgLTU4LDYgKzY3LDcgQEAgcHJvdGVjdGVk
OgogCiBwcml2YXRlIHNsb3RzOgogICAgIHZvaWQgc2xvdE1vc3RMb2NhbFVybFJlc3VsdChLSm9i
KiBqb2IpOworICAgIHZvaWQgc2xvdEtvbnNvbGVQYXJ0Q3VycmVudERpcmVjdG9yeUNoYW5nZWQo
Y29uc3QgUVN0cmluZyYgZGlyKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIGNoYW5nZURpcihjb25z
dCBLVXJsJiB1cmwpOwpAQCAtNzAsNiArODAsOCBAQCBwcml2YXRlOgogICAgIFFWQm94TGF5b3V0
KiBtX2xheW91dDsKICAgICBUZXJtaW5hbEludGVyZmFjZVYyKiBtX3Rlcm1pbmFsOwogICAgIFFX
aWRnZXQqIG1fdGVybWluYWxXaWRnZXQ7CisgICAgS1BhcnRzOjpSZWFkT25seVBhcnQqIG1fa29u
c29sZVBhcnQ7CisgICAgUVN0cmluZyBtX2tvbnNvbGVQYXJ0Q3VycmVudERpcmVjdG9yeTsKIH07
CiAKICNlbmRpZiAvLyBURVJNSU5BTFBBTkVMX0gK
</data>

          </attachment>
      

    </bug>

</bugzilla>