<?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>36373</bug_id>
          
          <creation_ts>2010-03-19 09:40:25 -0700</creation_ts>
          <short_desc>[Qt] Don&apos;t construct a QLineEdit every time when painting a text field</short_desc>
          <delta_ts>2010-03-29 04:06:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jakub Wieczorek">jwieczorek</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>201896</commentid>
    <comment_count>0</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-19 09:40:25 -0700</bug_when>
    <thetext>In RenderThemeQt.cpp there is this magic findFrameLineWidth() function, which queries the style for the frame line width:

static int findFrameLineWidth(QStyle* style)
{
    QLineEdit lineEdit;
    QStyleOptionFrameV2 opt;
    return style-&gt;pixelMetric(QStyle::PM_DefaultFrameWidth, &amp;opt, &amp;lineEdit);
}

It needs to provide the style with a widget so that the style will give the right width, but constructing it every time seems like an overkill. Making it static and keeping one instance in the memory should not hurt the memory consumption too much.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>201903</commentid>
    <comment_count>1</comment_count>
      <attachid>51163</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-19 09:52:41 -0700</bug_when>
    <thetext>Created attachment 51163
patch

Additionally I included a very basic benchmark I used to measure the gain. I&apos;m not sure if these results are trustworthy but they are the following. According to Valgrind, quite a bit of time is spent in QLineEditPrivate::init().

Before:
********* Start testing of tst_Painting *********
Config: Using QTest library 4.7.0, Qt 4.7.0
PASS   : tst_Painting::initTestCase()
RESULT : tst_Painting::textAreas():
     62.415 msecs per iteration (total: 62,416, iterations: 1000)
PASS   : tst_Painting::textAreas()
PASS   : tst_Painting::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of tst_Painting *********

After:
********* Start testing of tst_Painting *********
Config: Using QTest library 4.7.0, Qt 4.7.0
PASS   : tst_Painting::initTestCase()
RESULT : tst_Painting::textAreas():
     46.996 msecs per iteration (total: 46,996, iterations: 1000)
PASS   : tst_Painting::textAreas()
PASS   : tst_Painting::cleanupTestCase()
Totals: 3 passed, 0 failed, 0 skipped
********* Finished testing of tst_Painting *********</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202346</commentid>
    <comment_count>2</comment_count>
      <attachid>51163</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 15:40:43 -0700</bug_when>
    <thetext>Comment on attachment 51163
patch

Good catch Jakub!!

It really sucks that we have to create a QLineEdit instance in the first place :-(, but I understand that this is a flaw in the QStyle API.

Instead of creating a global QLineEdit that runs the risk of being destructed after the QApplication destructor, how about assocating it with the RenderTheme? Then it would be destroyed when the page dies.

Alternatively you could _cache_ the frame width in the RenderThemeQt as a member variable and initialize it through a temporary QLineEdit instance the first time it&apos;s queried.

It&apos;s not perfect as it wouldn&apos;t follow style changes, but it&apos;s a start :)

I&apos;m going to say r- because I believe we should destroy the QLineEdit instance earlier. But otherwise a great catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202350</commentid>
    <comment_count>3</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-21 15:48:33 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 51163 [details])
&gt; Good catch Jakub!!
&gt; 
&gt; It really sucks that we have to create a QLineEdit instance in the first place
&gt; :-(, but I understand that this is a flaw in the QStyle API.
&gt; 
&gt; Instead of creating a global QLineEdit that runs the risk of being destructed
&gt; after the QApplication destructor, how about assocating it with the
&gt; RenderTheme? Then it would be destroyed when the page dies.

With this patch, QLineEdit would not be destructed as such - DEFINE_STATIC_LOCAL allocates an object on the heap so the destructor would not be called at the exit.

&gt; Alternatively you could _cache_ the frame width in the RenderThemeQt as a
&gt; member variable and initialize it through a temporary QLineEdit instance the
&gt; first time it&apos;s queried.

Would this work with style changes during the application lifetime?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202351</commentid>
    <comment_count>4</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-21 15:49:18 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Would this work with style changes during the application lifetime?

Nevermind that. I just noticed your comment on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202360</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-21 16:09:17 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Instead of creating a global QLineEdit that runs the risk of being destructed
&gt; &gt; after the QApplication destructor, how about assocating it with the
&gt; &gt; RenderTheme? Then it would be destroyed when the page dies.
&gt; 
&gt; With this patch, QLineEdit would not be destructed as such -
&gt; DEFINE_STATIC_LOCAL allocates an object on the heap so the destructor would not
&gt; be called at the exit.

True true, but that&apos;s evil, too, isn&apos;t it? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202379</commentid>
    <comment_count>6</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-21 16:37:06 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; &gt; Instead of creating a global QLineEdit that runs the risk of being destructed
&gt; &gt; &gt; after the QApplication destructor, how about assocating it with the
&gt; &gt; &gt; RenderTheme? Then it would be destroyed when the page dies.
&gt; &gt; 
&gt; &gt; With this patch, QLineEdit would not be destructed as such -
&gt; &gt; DEFINE_STATIC_LOCAL allocates an object on the heap so the destructor would not
&gt; &gt; be called at the exit.
&gt; 
&gt; True true, but that&apos;s evil, too, isn&apos;t it? :)

Right. :)

Another option would be to make the QApplication instance the parent of this object. This way we could avoid having one QLineEdit per page and could keep up with the style change. If that sounds reasonable, I&apos;ll try this tomorrow, otherwise I&apos;ll pick either of the ideas suggested by you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202497</commentid>
    <comment_count>7</comment_count>
      <attachid>51289</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-22 08:18:34 -0700</bug_when>
    <thetext>Created attachment 51289
patch

OK, I went for having a QLineEdit per RenderTheme to simplify dealing with its lifetime. This could be further improved if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202502</commentid>
    <comment_count>8</comment_count>
      <attachid>51290</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-22 08:21:13 -0700</bug_when>
    <thetext>Created attachment 51290
patch

Updated the ChangeLog in respect of the new approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202593</commentid>
    <comment_count>9</comment_count>
      <attachid>51290</attachid>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-22 10:42:55 -0700</bug_when>
    <thetext>Comment on attachment 51290
patch

Clearing flags on attachment: 51290

Committed r56343: &lt;http://trac.webkit.org/changeset/56343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>202594</commentid>
    <comment_count>10</comment_count>
    <who name="Jakub Wieczorek">jwieczorek</who>
    <bug_when>2010-03-22 10:43:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>205395</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-29 04:06:12 -0700</bug_when>
    <thetext>Cherry-picked into qtwebkit-4.6 with commit bd724fb2f716336a8a4b54cd2edc96851a5a26a4</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51163</attachid>
            <date>2010-03-19 09:52:41 -0700</date>
            <delta_ts>2010-03-22 08:18:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>RenderThemeQLineEdit.patch</filename>
            <type>text/plain</type>
            <size>3188</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjA4YTlmNy4uYWZkM2Y2MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0xOSAgSmFrdWIgV2llY3pv
cmVrICA8andpZWN6b3Jla0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRG9uJ3QgY29uc3RydWN0IGEgUUxpbmVFZGl0IGV2
ZXJ5IHRpbWUgd2hlbiBwYWludGluZyBhIHRleHQgZmllbGQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MzczCisKKyAgICAgICAgSW5zdGVhZCwga2Vl
cCBvbmUgc3RhdGljIGluc3RhbmNlIGluIHRoZSBtZW1vcnkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRGcmFtZUxpbmVX
aWR0aCk6CisKIDIwMTAtMDMtMTcgIE5hdGUgQ2hhcGluICA8amFwaGV0QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCBDaHJvbWl1bSBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9x
dC9SZW5kZXJUaGVtZVF0LmNwcAppbmRleCA4ZmU2NTNhLi5kYTc1NDdmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKQEAgLTIyMCw3ICsyMjAsNyBAQCBib29sIFJlbmRlclRo
ZW1lUXQ6OnN1cHBvcnRzQ29udHJvbFRpbnRzKCkgY29uc3QKIAogc3RhdGljIGludCBmaW5kRnJh
bWVMaW5lV2lkdGgoUVN0eWxlKiBzdHlsZSkKIHsKLSAgICBRTGluZUVkaXQgbGluZUVkaXQ7Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChRTGluZUVkaXQsIGxpbmVFZGl0LCAoKSk7CiAgICAgUVN0
eWxlT3B0aW9uRnJhbWVWMiBvcHQ7CiAgICAgcmV0dXJuIHN0eWxlLT5waXhlbE1ldHJpYyhRU3R5
bGU6OlBNX0RlZmF1bHRGcmFtZVdpZHRoLCAmb3B0LCAmbGluZUVkaXQpOwogfQpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggNTQ2YWMz
NC4uNmFkMDk2MCAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQv
cXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMTkgIEpha3ViIFdpZWN6b3Jl
ayAgPGp3aWVjem9yZWtAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbUXRdIERvbid0IGNvbnN0cnVjdCBhIFFMaW5lRWRpdCBldmVy
eSB0aW1lIHdoZW4gcGFpbnRpbmcgYSB0ZXh0IGZpZWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjM3MworCisgICAgICAgIEFkZCBhIHNpbXBsZSBi
ZW5jaG1hcmsgY292ZXJpbmcgdGhpcyBhcmVhLgorCisgICAgICAgICogdGVzdHMvYmVuY2htYXJr
cy9wYWludGluZy90c3RfcGFpbnRpbmcuY3BwOgorICAgICAgICAodHN0X1BhaW50aW5nOjp0ZXh0
QXJlYXMpOgorCiAyMDEwLTAzLTE3ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRp
ZmYgLS1naXQgYS9XZWJLaXQvcXQvdGVzdHMvYmVuY2htYXJrcy9wYWludGluZy90c3RfcGFpbnRp
bmcuY3BwIGIvV2ViS2l0L3F0L3Rlc3RzL2JlbmNobWFya3MvcGFpbnRpbmcvdHN0X3BhaW50aW5n
LmNwcAppbmRleCBmNDUzMWZkLi5mYzViOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMv
YmVuY2htYXJrcy9wYWludGluZy90c3RfcGFpbnRpbmcuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0
cy9iZW5jaG1hcmtzL3BhaW50aW5nL3RzdF9wYWludGluZy5jcHAKQEAgLTE5LDYgKzE5LDcgQEAK
IAogI2luY2x1ZGUgPFF0VGVzdC9RdFRlc3Q+CiAKKyNpbmNsdWRlIDxxd2ViZWxlbWVudC5oPgog
I2luY2x1ZGUgPHF3ZWJmcmFtZS5oPgogI2luY2x1ZGUgPHF3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8
cXBhaW50ZXIuaD4KQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljIFFfU0xPVFM6CiBwcml2YXRlIFFf
U0xPVFM6CiAgICAgdm9pZCBwYWludF9kYXRhKCk7CiAgICAgdm9pZCBwYWludCgpOworICAgIHZv
aWQgdGV4dEFyZWFzKCk7CiAKIHByaXZhdGU6CiAgICAgUVdlYlZpZXcqIG1fdmlldzsKQEAgLTEw
NSw1ICsxMDcsMzAgQEAgdm9pZCB0c3RfUGFpbnRpbmc6OnBhaW50KCkKICAgICB9CiB9CiAKK3Zv
aWQgdHN0X1BhaW50aW5nOjp0ZXh0QXJlYXMoKQoreworICAgIG1fdmlldy0+bG9hZChRVXJsKCJk
YXRhOnRleHQvaHRtbDs8aHRtbD48Ym9keT48L2JvZHk+PC9odG1sPiIpKTsKKyAgICA6OndhaXRG
b3JTaWduYWwobV92aWV3LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSk7CisKKyAgICBRV2Vi
RWxlbWVudCBib2R5RWxlbWVudCA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmZpbmRGaXJzdEVsZW1l
bnQoImJvZHkiKTsKKworICAgIGludCBjb3VudCA9IDEwMDsKKyAgICB3aGlsZSAoY291bnQtLSkg
eworICAgICAgICBRU3RyaW5nIG1hcmt1cCgiPHRleHRhcmVhIGNvbHM9JzEnIHJvd3M9JzEnPjwv
dGV4dGFyZWE+Iik7CisgICAgICAgIGJvZHlFbGVtZW50LmFwcGVuZEluc2lkZShtYXJrdXApOwor
ICAgIH0KKworICAgIC8qIGZvcmNlIGEgbGF5b3V0ICovCisgICAgUVdlYkZyYW1lKiBtYWluRnJh
bWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOworICAgIG1haW5GcmFtZS0+dG9QbGFpblRleHQoKTsK
KworICAgIFFQaXhtYXAgcGl4bWFwKG1haW5GcmFtZS0+Y29udGVudHNTaXplKCkpOworICAgIFFC
RU5DSE1BUksgeworICAgICAgICBRUGFpbnRlciBwYWludGVyKCZwaXhtYXApOworICAgICAgICBt
YWluRnJhbWUtPnJlbmRlcigmcGFpbnRlciwgUVJlY3QoUVBvaW50KDAsIDApLCBtYWluRnJhbWUt
PmNvbnRlbnRzU2l6ZSgpKSk7CisgICAgICAgIHBhaW50ZXIuZW5kKCk7CisgICAgfQorfQorCiBR
VEVTVF9NQUlOKHRzdF9QYWludGluZykKICNpbmNsdWRlICJ0c3RfcGFpbnRpbmcubW9jIgo=
</data>
<flag name="review"
          id="34382"
          type_id="1"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51289</attachid>
            <date>2010-03-22 08:18:34 -0700</date>
            <delta_ts>2010-03-22 08:21:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>RenderTheme-QLineEdit.patch</filename>
            <type>text/plain</type>
            <size>4604</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjRiNmIwZi4uMTU4NTc0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0yMiAgSmFrdWIgV2llY3pv
cmVrICA8andpZWN6b3Jla0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRG9uJ3QgY29uc3RydWN0IGEgUUxpbmVFZGl0IGV2
ZXJ5IHRpbWUgd2hlbiBwYWludGluZyBhIHRleHQgZmllbGQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MzczCisKKyAgICAgICAgSW5zdGVhZCwga2Vl
cCBvbmUgc3RhdGljIGluc3RhbmNlIGluIHRoZSBtZW1vcnkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRGcmFtZUxpbmVX
aWR0aCk6CisKIDIwMTAtMDMtMjIgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL3F0
L1JlbmRlclRoZW1lUXQuY3BwCmluZGV4IGZhMjEwYTkuLjE1MmM0MTEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9y
bS9xdC9SZW5kZXJUaGVtZVF0LmNwcApAQCAtMTM4LDYgKzEzOCw3IEBAIFBhc3NSZWZQdHI8UmVu
ZGVyVGhlbWU+IFJlbmRlclRoZW1lOjp0aGVtZUZvclBhZ2UoUGFnZSogcGFnZSkKIFJlbmRlclRo
ZW1lUXQ6OlJlbmRlclRoZW1lUXQoUGFnZSogcGFnZSkKICAgICA6IFJlbmRlclRoZW1lKCkKICAg
ICAsIG1fcGFnZShwYWdlKQorICAgICwgbV9saW5lRWRpdCgwKQogewogICAgIFFQdXNoQnV0dG9u
IGJ1dHRvbjsKICAgICBidXR0b24uc2V0QXR0cmlidXRlKFF0OjpXQV9NYWNTbWFsbFNpemUpOwpA
QCAtMTU0LDYgKzE1NSw3IEBAIFJlbmRlclRoZW1lUXQ6OlJlbmRlclRoZW1lUXQoUGFnZSogcGFn
ZSkKIFJlbmRlclRoZW1lUXQ6On5SZW5kZXJUaGVtZVF0KCkKIHsKICAgICBkZWxldGUgbV9mYWxs
YmFja1N0eWxlOworICAgIGRlbGV0ZSBtX2xpbmVFZGl0OwogfQogCiAvLyBmb3Igc29tZSB3aWRn
ZXQgcGFpbnRpbmcsIHdlIG5lZWQgdG8gZmFsbGJhY2sgdG8gV2luZG93cyBzdHlsZQpAQCAtMjI3
LDExICsyMjksMTMgQEAgYm9vbCBSZW5kZXJUaGVtZVF0OjpzdXBwb3J0c0NvbnRyb2xUaW50cygp
IGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXN0YXRpYyBpbnQgZmluZEZyYW1lTGluZVdp
ZHRoKFFTdHlsZSogc3R5bGUpCitpbnQgUmVuZGVyVGhlbWVRdDo6ZmluZEZyYW1lTGluZVdpZHRo
KFFTdHlsZSogc3R5bGUpIGNvbnN0CiB7Ci0gICAgUUxpbmVFZGl0IGxpbmVFZGl0OworICAgIGlm
ICghbV9saW5lRWRpdCkKKyAgICAgICAgbV9saW5lRWRpdCA9IG5ldyBRTGluZUVkaXQoKTsKKwog
ICAgIFFTdHlsZU9wdGlvbkZyYW1lVjIgb3B0OwotICAgIHJldHVybiBzdHlsZS0+cGl4ZWxNZXRy
aWMoUVN0eWxlOjpQTV9EZWZhdWx0RnJhbWVXaWR0aCwgJm9wdCwgJmxpbmVFZGl0KTsKKyAgICBy
ZXR1cm4gc3R5bGUtPnBpeGVsTWV0cmljKFFTdHlsZTo6UE1fRGVmYXVsdEZyYW1lV2lkdGgsICZv
cHQsIG1fbGluZUVkaXQpOwogfQogCiBzdGF0aWMgUVJlY3QgaW5mbGF0ZUJ1dHRvblJlY3QoY29u
c3QgUVJlY3QmIG9yaWdpbmFsUmVjdCwgUVN0eWxlKiBzdHlsZSkKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGxhdGZvcm0vcXQvUmVuZGVyVGhlbWVRdC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmgKaW5kZXggNzM2ZTZkNi4uMTIxYjA3OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5k
ZXJUaGVtZVF0LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlIDxRU3R5bGU+CiAKIFFUX0JF
R0lOX05BTUVTUEFDRQorY2xhc3MgUUxpbmVFZGl0OwogY2xhc3MgUVBhaW50ZXI7CiBjbGFzcyBR
V2lkZ2V0OwogUVRfRU5EX05BTUVTUEFDRQpAQCAtMTY0LDYgKzE2NSw4IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHNldFBhbGV0dGVGcm9tUGFnZUNsaWVudElmRXhpc3RzKFFQYWxldHRlJikgY29u
c3Q7CiAKKyAgICBpbnQgZmluZEZyYW1lTGluZVdpZHRoKFFTdHlsZSogc3R5bGUpIGNvbnN0Owor
CiAgICAgUVN0eWxlKiBmYWxsYmFja1N0eWxlKCkgY29uc3Q7CiAKICAgICBQYWdlKiBtX3BhZ2U7
CkBAIC0xNzQsNiArMTc3LDcgQEAgcHJpdmF0ZToKICAgICBRU3RyaW5nIG1fYnV0dG9uRm9udEZh
bWlseTsKIAogICAgIFFTdHlsZSogbV9mYWxsYmFja1N0eWxlOworICAgIG11dGFibGUgUUxpbmVF
ZGl0KiBtX2xpbmVFZGl0OwogfTsKIAogY2xhc3MgU3R5bGVQYWludGVyIHsKZGlmZiAtLWdpdCBh
L1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDAzZjUwOTcu
LjEwOGJhOTcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTAzLTIyICBKYWt1YiBXaWVjem9yZWsg
IDxqd2llY3pvcmVrQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgW1F0XSBEb24ndCBjb25zdHJ1Y3QgYSBRTGluZUVkaXQgZXZlcnkg
dGltZSB3aGVuIHBhaW50aW5nIGEgdGV4dCBmaWVsZAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzYzNzMKKworICAgICAgICBBZGQgYSBzaW1wbGUgYmVu
Y2htYXJrIGNvdmVyaW5nIHRoaXMgYXJlYS4KKworICAgICAgICAqIHRlc3RzL2JlbmNobWFya3Mv
cGFpbnRpbmcvdHN0X3BhaW50aW5nLmNwcDoKKyAgICAgICAgKHRzdF9QYWludGluZzo6dGV4dEFy
ZWFzKToKKwogMjAxMC0wMy0yMSAgS3Jpc3RpYW4gQW1saWUgIDxrcmlzdGlhbi5hbWxpZUBub2tp
YS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvdGVzdHMvYmVuY2htYXJrcy9wYWludGluZy90c3RfcGFpbnRpbmcuY3BwIGIv
V2ViS2l0L3F0L3Rlc3RzL2JlbmNobWFya3MvcGFpbnRpbmcvdHN0X3BhaW50aW5nLmNwcAppbmRl
eCBmNDUzMWZkLi5mYzViOGUzIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvdGVzdHMvYmVuY2htYXJr
cy9wYWludGluZy90c3RfcGFpbnRpbmcuY3BwCisrKyBiL1dlYktpdC9xdC90ZXN0cy9iZW5jaG1h
cmtzL3BhaW50aW5nL3RzdF9wYWludGluZy5jcHAKQEAgLTE5LDYgKzE5LDcgQEAKIAogI2luY2x1
ZGUgPFF0VGVzdC9RdFRlc3Q+CiAKKyNpbmNsdWRlIDxxd2ViZWxlbWVudC5oPgogI2luY2x1ZGUg
PHF3ZWJmcmFtZS5oPgogI2luY2x1ZGUgPHF3ZWJ2aWV3Lmg+CiAjaW5jbHVkZSA8cXBhaW50ZXIu
aD4KQEAgLTU5LDYgKzYwLDcgQEAgcHVibGljIFFfU0xPVFM6CiBwcml2YXRlIFFfU0xPVFM6CiAg
ICAgdm9pZCBwYWludF9kYXRhKCk7CiAgICAgdm9pZCBwYWludCgpOworICAgIHZvaWQgdGV4dEFy
ZWFzKCk7CiAKIHByaXZhdGU6CiAgICAgUVdlYlZpZXcqIG1fdmlldzsKQEAgLTEwNSw1ICsxMDcs
MzAgQEAgdm9pZCB0c3RfUGFpbnRpbmc6OnBhaW50KCkKICAgICB9CiB9CiAKK3ZvaWQgdHN0X1Bh
aW50aW5nOjp0ZXh0QXJlYXMoKQoreworICAgIG1fdmlldy0+bG9hZChRVXJsKCJkYXRhOnRleHQv
aHRtbDs8aHRtbD48Ym9keT48L2JvZHk+PC9odG1sPiIpKTsKKyAgICA6OndhaXRGb3JTaWduYWwo
bV92aWV3LCBTSUdOQUwobG9hZEZpbmlzaGVkKGJvb2wpKSk7CisKKyAgICBRV2ViRWxlbWVudCBi
b2R5RWxlbWVudCA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmZpbmRGaXJzdEVsZW1lbnQoImJvZHki
KTsKKworICAgIGludCBjb3VudCA9IDEwMDsKKyAgICB3aGlsZSAoY291bnQtLSkgeworICAgICAg
ICBRU3RyaW5nIG1hcmt1cCgiPHRleHRhcmVhIGNvbHM9JzEnIHJvd3M9JzEnPjwvdGV4dGFyZWE+
Iik7CisgICAgICAgIGJvZHlFbGVtZW50LmFwcGVuZEluc2lkZShtYXJrdXApOworICAgIH0KKwor
ICAgIC8qIGZvcmNlIGEgbGF5b3V0ICovCisgICAgUVdlYkZyYW1lKiBtYWluRnJhbWUgPSBtX3Bh
Z2UtPm1haW5GcmFtZSgpOworICAgIG1haW5GcmFtZS0+dG9QbGFpblRleHQoKTsKKworICAgIFFQ
aXhtYXAgcGl4bWFwKG1haW5GcmFtZS0+Y29udGVudHNTaXplKCkpOworICAgIFFCRU5DSE1BUksg
eworICAgICAgICBRUGFpbnRlciBwYWludGVyKCZwaXhtYXApOworICAgICAgICBtYWluRnJhbWUt
PnJlbmRlcigmcGFpbnRlciwgUVJlY3QoUVBvaW50KDAsIDApLCBtYWluRnJhbWUtPmNvbnRlbnRz
U2l6ZSgpKSk7CisgICAgICAgIHBhaW50ZXIuZW5kKCk7CisgICAgfQorfQorCiBRVEVTVF9NQUlO
KHRzdF9QYWludGluZykKICNpbmNsdWRlICJ0c3RfcGFpbnRpbmcubW9jIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51290</attachid>
            <date>2010-03-22 08:21:13 -0700</date>
            <delta_ts>2010-03-22 10:42:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>RenderTheme-QLineEdit.patch</filename>
            <type>text/plain</type>
            <size>4606</size>
            <attacher name="Jakub Wieczorek">jwieczorek</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjRiNmIwZi4uNDQ3YWU5ZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0yMiAgSmFrdWIgV2llY3pv
cmVrICA8andpZWN6b3Jla0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gRG9uJ3QgY29uc3RydWN0IGEgUUxpbmVFZGl0IGV2
ZXJ5IHRpbWUgd2hlbiBwYWludGluZyBhIHRleHQgZmllbGQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM2MzczCisKKyAgICAgICAgSW5zdGVhZCwga2Vl
cCBvbmUgaW5zdGFuY2UgcGVyIFJlbmRlclRoZW1lIGFyb3VuZC4KKworICAgICAgICAqIHBsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEZyYW1lTGlu
ZVdpZHRoKToKKwogMjAxMC0wMy0yMiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
cXQvUmVuZGVyVGhlbWVRdC5jcHAKaW5kZXggZmEyMTBhOS4uMTUyYzQxMSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL3F0L1JlbmRlclRoZW1lUXQuY3BwCkBAIC0xMzgsNiArMTM4LDcgQEAgUGFzc1JlZlB0cjxS
ZW5kZXJUaGVtZT4gUmVuZGVyVGhlbWU6OnRoZW1lRm9yUGFnZShQYWdlKiBwYWdlKQogUmVuZGVy
VGhlbWVRdDo6UmVuZGVyVGhlbWVRdChQYWdlKiBwYWdlKQogICAgIDogUmVuZGVyVGhlbWUoKQog
ICAgICwgbV9wYWdlKHBhZ2UpCisgICAgLCBtX2xpbmVFZGl0KDApCiB7CiAgICAgUVB1c2hCdXR0
b24gYnV0dG9uOwogICAgIGJ1dHRvbi5zZXRBdHRyaWJ1dGUoUXQ6OldBX01hY1NtYWxsU2l6ZSk7
CkBAIC0xNTQsNiArMTU1LDcgQEAgUmVuZGVyVGhlbWVRdDo6UmVuZGVyVGhlbWVRdChQYWdlKiBw
YWdlKQogUmVuZGVyVGhlbWVRdDo6flJlbmRlclRoZW1lUXQoKQogewogICAgIGRlbGV0ZSBtX2Zh
bGxiYWNrU3R5bGU7CisgICAgZGVsZXRlIG1fbGluZUVkaXQ7CiB9CiAKIC8vIGZvciBzb21lIHdp
ZGdldCBwYWludGluZywgd2UgbmVlZCB0byBmYWxsYmFjayB0byBXaW5kb3dzIHN0eWxlCkBAIC0y
MjcsMTEgKzIyOSwxMyBAQCBib29sIFJlbmRlclRoZW1lUXQ6OnN1cHBvcnRzQ29udHJvbFRpbnRz
KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGludCBmaW5kRnJhbWVMaW5l
V2lkdGgoUVN0eWxlKiBzdHlsZSkKK2ludCBSZW5kZXJUaGVtZVF0OjpmaW5kRnJhbWVMaW5lV2lk
dGgoUVN0eWxlKiBzdHlsZSkgY29uc3QKIHsKLSAgICBRTGluZUVkaXQgbGluZUVkaXQ7CisgICAg
aWYgKCFtX2xpbmVFZGl0KQorICAgICAgICBtX2xpbmVFZGl0ID0gbmV3IFFMaW5lRWRpdCgpOwor
CiAgICAgUVN0eWxlT3B0aW9uRnJhbWVWMiBvcHQ7Ci0gICAgcmV0dXJuIHN0eWxlLT5waXhlbE1l
dHJpYyhRU3R5bGU6OlBNX0RlZmF1bHRGcmFtZVdpZHRoLCAmb3B0LCAmbGluZUVkaXQpOworICAg
IHJldHVybiBzdHlsZS0+cGl4ZWxNZXRyaWMoUVN0eWxlOjpQTV9EZWZhdWx0RnJhbWVXaWR0aCwg
Jm9wdCwgbV9saW5lRWRpdCk7CiB9CiAKIHN0YXRpYyBRUmVjdCBpbmZsYXRlQnV0dG9uUmVjdChj
b25zdCBRUmVjdCYgb3JpZ2luYWxSZWN0LCBRU3R5bGUqIHN0eWxlKQpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9SZW5kZXJUaGVtZVF0LmggYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1Jl
bmRlclRoZW1lUXQuaAppbmRleCA3MzZlNmQ2Li4xMjFiMDc4IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL3F0L1JlbmRlclRoZW1lUXQuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL3F0L1Jl
bmRlclRoZW1lUXQuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPFFTdHlsZT4KIAogUVRf
QkVHSU5fTkFNRVNQQUNFCitjbGFzcyBRTGluZUVkaXQ7CiBjbGFzcyBRUGFpbnRlcjsKIGNsYXNz
IFFXaWRnZXQ7CiBRVF9FTkRfTkFNRVNQQUNFCkBAIC0xNjQsNiArMTY1LDggQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgc2V0UGFsZXR0ZUZyb21QYWdlQ2xpZW50SWZFeGlzdHMoUVBhbGV0dGUmKSBj
b25zdDsKIAorICAgIGludCBmaW5kRnJhbWVMaW5lV2lkdGgoUVN0eWxlKiBzdHlsZSkgY29uc3Q7
CisKICAgICBRU3R5bGUqIGZhbGxiYWNrU3R5bGUoKSBjb25zdDsKIAogICAgIFBhZ2UqIG1fcGFn
ZTsKQEAgLTE3NCw2ICsxNzcsNyBAQCBwcml2YXRlOgogICAgIFFTdHJpbmcgbV9idXR0b25Gb250
RmFtaWx5OwogCiAgICAgUVN0eWxlKiBtX2ZhbGxiYWNrU3R5bGU7CisgICAgbXV0YWJsZSBRTGlu
ZUVkaXQqIG1fbGluZUVkaXQ7CiB9OwogCiBjbGFzcyBTdHlsZVBhaW50ZXIgewpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggMDNmNTA5
Ny4uMTA4YmE5NyAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9XZWJLaXQv
cXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMjIgIEpha3ViIFdpZWN6b3Jl
ayAgPGp3aWVjem9yZWtAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBbUXRdIERvbid0IGNvbnN0cnVjdCBhIFFMaW5lRWRpdCBldmVy
eSB0aW1lIHdoZW4gcGFpbnRpbmcgYSB0ZXh0IGZpZWxkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNjM3MworCisgICAgICAgIEFkZCBhIHNpbXBsZSBi
ZW5jaG1hcmsgY292ZXJpbmcgdGhpcyBhcmVhLgorCisgICAgICAgICogdGVzdHMvYmVuY2htYXJr
cy9wYWludGluZy90c3RfcGFpbnRpbmcuY3BwOgorICAgICAgICAodHN0X1BhaW50aW5nOjp0ZXh0
QXJlYXMpOgorCiAyMDEwLTAzLTIxICBLcmlzdGlhbiBBbWxpZSAgPGtyaXN0aWFuLmFtbGllQG5v
a2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBIYXVzbWFubi4KZGlmZiAtLWdp
dCBhL1dlYktpdC9xdC90ZXN0cy9iZW5jaG1hcmtzL3BhaW50aW5nL3RzdF9wYWludGluZy5jcHAg
Yi9XZWJLaXQvcXQvdGVzdHMvYmVuY2htYXJrcy9wYWludGluZy90c3RfcGFpbnRpbmcuY3BwCmlu
ZGV4IGY0NTMxZmQuLmZjNWI4ZTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC90ZXN0cy9iZW5jaG1h
cmtzL3BhaW50aW5nL3RzdF9wYWludGluZy5jcHAKKysrIGIvV2ViS2l0L3F0L3Rlc3RzL2JlbmNo
bWFya3MvcGFpbnRpbmcvdHN0X3BhaW50aW5nLmNwcApAQCAtMTksNiArMTksNyBAQAogCiAjaW5j
bHVkZSA8UXRUZXN0L1F0VGVzdD4KIAorI2luY2x1ZGUgPHF3ZWJlbGVtZW50Lmg+CiAjaW5jbHVk
ZSA8cXdlYmZyYW1lLmg+CiAjaW5jbHVkZSA8cXdlYnZpZXcuaD4KICNpbmNsdWRlIDxxcGFpbnRl
ci5oPgpAQCAtNTksNiArNjAsNyBAQCBwdWJsaWMgUV9TTE9UUzoKIHByaXZhdGUgUV9TTE9UUzoK
ICAgICB2b2lkIHBhaW50X2RhdGEoKTsKICAgICB2b2lkIHBhaW50KCk7CisgICAgdm9pZCB0ZXh0
QXJlYXMoKTsKIAogcHJpdmF0ZToKICAgICBRV2ViVmlldyogbV92aWV3OwpAQCAtMTA1LDUgKzEw
NywzMCBAQCB2b2lkIHRzdF9QYWludGluZzo6cGFpbnQoKQogICAgIH0KIH0KIAordm9pZCB0c3Rf
UGFpbnRpbmc6OnRleHRBcmVhcygpCit7CisgICAgbV92aWV3LT5sb2FkKFFVcmwoImRhdGE6dGV4
dC9odG1sOzxodG1sPjxib2R5PjwvYm9keT48L2h0bWw+IikpOworICAgIDo6d2FpdEZvclNpZ25h
bChtX3ZpZXcsIFNJR05BTChsb2FkRmluaXNoZWQoYm9vbCkpKTsKKworICAgIFFXZWJFbGVtZW50
IGJvZHlFbGVtZW50ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+ZmluZEZpcnN0RWxlbWVudCgiYm9k
eSIpOworCisgICAgaW50IGNvdW50ID0gMTAwOworICAgIHdoaWxlIChjb3VudC0tKSB7CisgICAg
ICAgIFFTdHJpbmcgbWFya3VwKCI8dGV4dGFyZWEgY29scz0nMScgcm93cz0nMSc+PC90ZXh0YXJl
YT4iKTsKKyAgICAgICAgYm9keUVsZW1lbnQuYXBwZW5kSW5zaWRlKG1hcmt1cCk7CisgICAgfQor
CisgICAgLyogZm9yY2UgYSBsYXlvdXQgKi8KKyAgICBRV2ViRnJhbWUqIG1haW5GcmFtZSA9IG1f
cGFnZS0+bWFpbkZyYW1lKCk7CisgICAgbWFpbkZyYW1lLT50b1BsYWluVGV4dCgpOworCisgICAg
UVBpeG1hcCBwaXhtYXAobWFpbkZyYW1lLT5jb250ZW50c1NpemUoKSk7CisgICAgUUJFTkNITUFS
SyB7CisgICAgICAgIFFQYWludGVyIHBhaW50ZXIoJnBpeG1hcCk7CisgICAgICAgIG1haW5GcmFt
ZS0+cmVuZGVyKCZwYWludGVyLCBRUmVjdChRUG9pbnQoMCwgMCksIG1haW5GcmFtZS0+Y29udGVu
dHNTaXplKCkpKTsKKyAgICAgICAgcGFpbnRlci5lbmQoKTsKKyAgICB9Cit9CisKIFFURVNUX01B
SU4odHN0X1BhaW50aW5nKQogI2luY2x1ZGUgInRzdF9wYWludGluZy5tb2MiCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>