<?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>19357</bug_id>
          
          <creation_ts>2008-06-02 09:12:34 -0700</creation_ts>
          <short_desc>[GTK] Loading of resource images</short_desc>
          <delta_ts>2015-05-07 16:27:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marco Barisione">marco.barisione</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>christian</cc>
    
    <cc>gustavo</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>nilesh.patil</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>82120</commentid>
    <comment_count>0</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-06-02 09:12:34 -0700</bug_when>
    <thetext>WebCore can request the loading of local images that are shown, for instance, as placeholders when images cannot be loaded (see loadResourceIntoArray in WebCore/platform/gtk/TemporaryLinkStubs.cpp).

Probably the best way to implement this is to add properties to WebKitWebSettings for images to use, but some questions remain open:
- What should we do by default? Do not show anything? Or provide default images?
- What should we store as a property? The uri of the image? A GFile? The image itself?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>82124</commentid>
    <comment_count>1</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-02 09:32:46 -0700</bug_when>
    <thetext>&gt; - What should we do by default? Do not show anything? Or provide default
&gt; images?

The default should probably gtk&apos;s stock &apos;missing&apos; image.

&gt; - What should we store as a property? The uri of the image? A GFile? The image
&gt; itself?

I don&apos;t know what the use case for a custom image is. An icon name is nice, but depending on the task an actual pixbuf makes probably much more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83891</commentid>
    <comment_count>2</comment_count>
      <attachid>21841</attachid>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-06-19 10:05:07 -0700</bug_when>
    <thetext>Created attachment 21841
Use the missing-image stock icon as a placeholder when an image or plugin is missing

Note that I&apos;m using the same image for both missingImage and for nullPlugin as gtk doesn&apos;t have an icon for the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>83991</commentid>
    <comment_count>3</comment_count>
      <attachid>21841</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-20 12:47:09 -0700</bug_when>
    <thetext>Comment on attachment 21841
Use the missing-image stock icon as a placeholder when an image or plugin is missing

&gt;+    if (strcmp(name,&quot;missingImage&quot;) == 0 || strcmp(name, &quot;nullPlugin&quot;) == 0) {
&gt;+        GtkIconTheme* iconTheme = gtk_icon_theme_get_default();
&gt;+        // The image must be a PNG or WebCore will not use it.
&gt;+        GtkIconInfo* iconInfo = gtk_icon_theme_lookup_icon (iconTheme, GTK_STOCK_MISSING_IMAGE, 16, GTK_ICON_LOOKUP_NO_SVG);
&gt;+        if (iconInfo) {

Why would WebCore not use an SVG image? This seems odd.

In any case, there are themes that contain only svg images. So we really want to support vector images as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84259</commentid>
    <comment_count>4</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2008-06-24 08:50:49 -0700</bug_when>
    <thetext>substance:
   + I like the idea of using GtkIconTheme
   - You want to handle &quot;missingImage&quot;, &quot;nullPlugin&quot;, &quot;urlIcon&quot;, &quot;textAreaResizeCorner&quot;.
   - You certainly don&apos;t want to use missingImage for nullPlugin
   - The tricky part where I lack an answer is if we want to install the webkit icons for the above somewhere? Should we embed them in the code? Does the fdo icon theme spec have some icons we could reuse?

so I&apos;m more tempted to say r=-.

style comments:
   - We tend to do early exits in error cases instead of deeply nesting the success cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84274</commentid>
    <comment_count>5</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-06-24 09:26:17 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt;    - You want to handle &quot;missingImage&quot;, &quot;nullPlugin&quot;, &quot;urlIcon&quot;,
&gt; &quot;textAreaResizeCorner&quot;.

For missingImage we want for sure to use the GTK icon. The other icons are probably less important as they are less common, so maybe we can add them in a second time.

Do you know when urlIcon and textAreaResizeCorner are used? I wasn&apos;t able to figure that out reading the code.

&gt;    - You certainly don&apos;t want to use missingImage for nullPlugin

Isn&apos;t it still better than nothing?

&gt;    - The tricky part where I lack an answer is if we want to install the webkit
&gt; icons for the above somewhere? Should we embed them in the code? Does the fdo
&gt; icon theme spec have some icons we could reuse?

Probably yes for the urlIcon but I don&apos;t know when it&apos;s used so I don&apos;t know what is the best icon for that.

The spec doesn&apos;t have anything for missingPlugin (and neither something for plugins in general). I already talked with some tango icon designers about this, probably the best thing is to get a plugin icon in the spec and use that. I will open a bug on fd.o but probably it will take time, so maybe it&apos;s better to ship an icon with WebKit for now.

textAreaResizeCorner doesn&apos;t seem like something that should be an icon, so I think it&apos;s better to ship it with WebKit.

&gt; style comments:
&gt;    - We tend to do early exits in error cases instead of deeply nesting the
&gt; success cases

I will fix this.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84279</commentid>
    <comment_count>6</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-06-24 09:57:39 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The spec doesn&apos;t have anything for missingPlugin (and neither something for
&gt; plugins in general). I already talked with some tango icon designers about
&gt; this, probably the best thing is to get a plugin icon in the spec and use that.
&gt; I will open a bug on fd.o but probably it will take time, so maybe it&apos;s better
&gt; to ship an icon with WebKit for now.

See https://bugs.freedesktop.org/show_bug.cgi?id=16500 and http://bugzilla.gnome.org/show_bug.cgi?id=539994
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84295</commentid>
    <comment_count>7</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-24 13:10:19 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt;    - You want to handle &quot;missingImage&quot;, &quot;nullPlugin&quot;, &quot;urlIcon&quot;,
&gt; &gt; &quot;textAreaResizeCorner&quot;.
&gt; 
&gt; For missingImage we want for sure to use the GTK icon. The other icons are
&gt; probably less important as they are less common, so maybe we can add them in a
&gt; second time.
&gt; 
&gt; Do you know when urlIcon and textAreaResizeCorner are used? I wasn&apos;t able to
&gt; figure that out reading the code.

I suspect textAreaResizeCorner is the resize grip on the bottom right of text areas that you typically see in applications as soon as scrollbars appear. In our case it&apos;s always visible if text areas can be resized.
Instead of using an icon WebKit needs to draw it with gtk_paint_resize_grip.

&gt; &gt;    - You certainly don&apos;t want to use missingImage for nullPlugin
&gt; 
&gt; Isn&apos;t it still better than nothing?

I tend to agree with &apos;anything would be good for now&apos; but that always bares the danger of leaving the problem persist in trunk for even longer.

&gt; &gt;    - The tricky part where I lack an answer is if we want to install the webkit
&gt; &gt; icons for the above somewhere? Should we embed them in the code? Does the fdo
&gt; &gt; icon theme spec have some icons we could reuse?
&gt; 
&gt; Probably yes for the urlIcon but I don&apos;t know when it&apos;s used so I don&apos;t know
&gt; what is the best icon for that.
&gt; 
&gt; The spec doesn&apos;t have anything for missingPlugin (and neither something for
&gt; plugins in general). I already talked with some tango icon designers about
&gt; this, probably the best thing is to get a plugin icon in the spec and use that.
&gt; I will open a bug on fd.o but probably it will take time, so maybe it&apos;s better
&gt; to ship an icon with WebKit for now.

There is no choice. If there is no standard icon, it needs to be shipped, be it in the spec or not. There is no way we can rely on one theme that gains the icon two days before the patch is committed.
We can safely try to get hold of someone who makes the missing icons, install them a private folder, such as $prefix/share/webkit and switch to something else later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84301</commentid>
    <comment_count>8</comment_count>
    <who name="Marco Barisione">marco.barisione</who>
    <bug_when>2008-06-24 13:21:56 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; There is no choice. If there is no standard icon, it needs to be shipped, be it
&gt; in the spec or not. There is no way we can rely on one theme that gains the
&gt; icon two days before the patch is committed.
&gt; We can safely try to get hold of someone who makes the missing icons, install
&gt; them a private folder, such as $prefix/share/webkit and switch to something
&gt; else later.

I already talked about this with Lapo Calamandrei (he works on gnome-icon-theme and tango), he already drew some plugin icons for other programs, so probably we can use one of those and switch to the icon in the spec later.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84711</commentid>
    <comment_count>9</comment_count>
      <attachid>21841</attachid>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-06-29 10:59:24 -0700</bug_when>
    <thetext>Comment on attachment 21841
Use the missing-image stock icon as a placeholder when an image or plugin is missing

Clearing the review flag until recent comments are addressed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>84974</commentid>
    <comment_count>10</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2008-07-02 05:15:31 -0700</bug_when>
    <thetext>*** Bug 19826 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120621</commentid>
    <comment_count>11</comment_count>
      <attachid>30180</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-11 04:39:11 -0700</bug_when>
    <thetext>Created attachment 30180
Another implementation of resource loading

I didn&apos;t see the earlier discussion until now. So the state is that we:
   - install every resource we use
   - provide the facility to map the WebCore resource to the fdo.org name, so we always prefer the icon theme icon if it exists...

What is not done:
   - RenderLayer is not changed and we use the textAreaResize... this actually means we can resize text areas right now instead of not be able to resize them. The RenderLayer change would probably include pushing things into RenderTheme... and have a different implementation for RenderThemeGtk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120622</commentid>
    <comment_count>12</comment_count>
      <attachid>30181</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-11 04:46:32 -0700</bug_when>
    <thetext>Created attachment 30181
Another implementation of resource loading

actually compiling...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120623</commentid>
    <comment_count>13</comment_count>
      <attachid>30182</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-11 04:47:34 -0700</bug_when>
    <thetext>Created attachment 30182
Theme urlIcon

Load urlIcon through the Image class instead of having it compiled in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121588</commentid>
    <comment_count>14</comment_count>
      <attachid>30181</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-15 15:01:43 -0700</bug_when>
    <thetext>Comment on attachment 30181
Another implementation of resource loading

&gt; +        Install the four resources we are using. For the icons
&gt; +        were an icon name is specified by freedeskop.org try to

were -&gt; where

&gt; +template &lt;&gt; void freeOwnedGPtr&lt;GtkIconInfo&gt;(GtkIconInfo*);
&gt; +template &lt;&gt; void freeOwnedGPtr&lt;GtkIconInfo&gt;(GtkIconInfo* info)

Why do you need both? Any C++ craziness I&apos;m not aware of?

&gt; +{
&gt; +    if (info)
&gt; +	gtk_icon_info_free(info);
&gt; +}

Indentation is off here, tab? There are many more throughout the patch, it seems.

&gt; +    GOwnPtr&lt;GtkIconInfo&gt; info(gtk_icon_theme_lookup_icon(gtk_icon_theme_get_default(),
&gt; +							 name, 16, GTK_ICON_LOOKUP_NO_SVG));

There&apos;s a comment by kalikiana regarding this already, from the earlier patches. Why NO_SVG? There are themes which use only SVG files, and there&apos;s no reason not to suport them, I guess. If we are worried about SVG being compiled out, we could just add a preprocessor guard?

&gt; +    if (!info)
&gt; +	return String::format(&quot;%s/webkit-1.0/images/%s.png&quot;, DATA_DIR, fallback).utf8();
&gt; +
&gt; +    return CString(gtk_icon_info_get_filename(info.get()));
&gt; +}

More indentation issues.

I would say r=me if those issues (indentation and no SVG) are fixed, or if there&apos;s a rationale for not being able to support SVG in this specific instance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>121589</commentid>
    <comment_count>15</comment_count>
      <attachid>30182</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-15 15:05:25 -0700</bug_when>
    <thetext>Comment on attachment 30182
Theme urlIcon

r=me on this one, but for anyone looking for pending commits, we need to land this after the other patch is fixed/landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122184</commentid>
    <comment_count>16</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-20 10:15:49 -0700</bug_when>
    <thetext>(In reply to comment #14)

&gt; More indentation issues.

ack

&gt; 
&gt; I would say r=me if those issues (indentation and no SVG) are fixed, or if
&gt; there&apos;s a rationale for not being able to support SVG in this specific
&gt; instance.

the no SVG has one practical issue. we are not able to load it. We will return a byte array here and we have no way to load that through any kind of svg renderer. So in the case of an all svg theme it is best to use our internal icon...

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122186</commentid>
    <comment_count>17</comment_count>
      <attachid>30181</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-05-20 10:20:36 -0700</bug_when>
    <thetext>Comment on attachment 30181
Another implementation of resource loading

(In reply to comment #16)
&gt; &gt; I would say r=me if those issues (indentation and no SVG) are fixed, or if
&gt; &gt; there&apos;s a rationale for not being able to support SVG in this specific
&gt; &gt; instance.
&gt; 
&gt; the no SVG has one practical issue. we are not able to load it. We will return
&gt; a byte array here and we have no way to load that through any kind of svg
&gt; renderer. So in the case of an all svg theme it is best to use our internal
&gt; icon...
 
r=me, then, with the other fixes; thanks for clarifying!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122194</commentid>
    <comment_count>18</comment_count>
    <who name="Christian Dywan">christian</who>
    <bug_when>2009-05-20 11:14:28 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; I would say r=me if those issues (indentation and no SVG) are fixed, or if
&gt; &gt; there&apos;s a rationale for not being able to support SVG in this specific
&gt; &gt; instance.
&gt; 
&gt; the no SVG has one practical issue. we are not able to load it. We will return
&gt; a byte array here and we have no way to load that through any kind of svg
&gt; renderer. So in the case of an all svg theme it is best to use our internal
&gt; icon...

Why can&apos;t we simply use GdkPixbuf or gtk_widget_render_icon for this? Is there a reason why WebCore has to have a filename that it can load?

Or does it boil down to not having support for GdkPixbuf loaders in general?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122243</commentid>
    <comment_count>19</comment_count>
      <attachid>30182</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-20 19:51:06 -0700</bug_when>
    <thetext>Comment on attachment 30182
Theme urlIcon

Clearing review. A follow up patch could use the GtkIconTheme to load a GdkPixbuf and we will convert that to a BitmapImage... this would allow us to work with pure svg themes too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092830</commentid>
    <comment_count>20</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-05-07 16:27:06 -0700</bug_when>
    <thetext>I think we can go on without this feature for the moment.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21841</attachid>
            <date>2008-06-19 10:05:07 -0700</date>
            <delta_ts>2009-05-11 04:39:11 -0700</delta_ts>
            <desc>Use the missing-image stock icon as a placeholder when an image or plugin is missing</desc>
            <filename>missing-image-placeholder.patch</filename>
            <type>text/plain</type>
            <size>2737</size>
            <attacher name="Marco Barisione">marco.barisione</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3RrL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAkocmV2
aXNpb25lIDM0NjUxKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVGVtcG9yYXJ5TGlua1N0dWJz
LmNwcAkoY29waWEgbG9jYWxlKQpAQCAtMzgsMjAgKzM4LDYgQEAKIAogdXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CiAKLS8vIFRoaXMgZnVuY3Rpb24gbG9hZHMgcmVzb3VyY2VzIGZyb20gV2ViS2l0
Ci0vLyBUaGlzIGRvZXMgbm90IGJlbG9uZyBoZXJlIGFuZCBJJ20gbm90IHN1cmUgd2hlcmUKLS8v
IGl0IHNob3VsZCBnbwotLy8gSSBkb24ndCBrbm93IHdoYXQgdGhlIHBsYW5zIG9yIGRlc2lnbiBp
cwotLy8gZm9yIG5vbmUgY29kZSByZXNvdXJjZXMKLVZlY3RvcjxjaGFyPiBsb2FkUmVzb3VyY2VJ
bnRvQXJyYXkoY29uc3QgY2hhciogcmVzb3VyY2VOYW1lKQotewotICAgIFZlY3RvcjxjaGFyPiBy
ZXNvdXJjZTsKLSAgICAvL2lmIChzdHJjbXAocmVzb3VyY2VOYW1lLCJtaXNzaW5nSW1hZ2UiKSA9
PSAwKSB7Ci0gICAgLy99Ci0gICAgcmV0dXJuIHJlc291cmNlOwotfQotCi0KIC8qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIC8qIENvbXBs
ZXRlbHkgZW1wdHkgc3R1YnMgKG1vc3RseSB0byBhbGxvdyBEUlQgdG8gcnVuKTogKi8KIC8qKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KSW5k
ZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5jcHAJKHJldmlzaW9u
ZSAzNDY1MSkKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3RrL0ltYWdlR3RrLmNwcAko
Y29waWEgbG9jYWxlKQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDggQ29sbGFib3JhIEx0ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjksOCArMzAsNyBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVt
ZW50ZWQuaCIKIAotLy8gVGhpcyBmdW5jdGlvbiBsb2FkcyByZXNvdXJjZXMgZnJvbSBXZWJLaXQK
LVZlY3RvcjxjaGFyPiBsb2FkUmVzb3VyY2VJbnRvQXJyYXkoY29uc3QgY2hhciopOworI2luY2x1
ZGUgPGd0ay9ndGsuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NCw5ICs0NCwyNyBA
QAogCiBJbWFnZSogSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGNvbnN0IGNoYXIgKm5hbWUp
CiB7Ci0gICAgVmVjdG9yPGNoYXI+IGFyciA9IGxvYWRSZXNvdXJjZUludG9BcnJheShuYW1lKTsK
ICAgICBCaXRtYXBJbWFnZSogaW1nID0gbmV3IEJpdG1hcEltYWdlOwotICAgIFJlZlB0cjxTaGFy
ZWRCdWZmZXI+IGJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGFyci5kYXRhKCksIGFyci5z
aXplKCkpOworICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcjsKKworICAgIGlmIChzdHJj
bXAobmFtZSwibWlzc2luZ0ltYWdlIikgPT0gMCB8fCBzdHJjbXAobmFtZSwgIm51bGxQbHVnaW4i
KSA9PSAwKSB7CisgICAgICAgIEd0a0ljb25UaGVtZSogaWNvblRoZW1lID0gZ3RrX2ljb25fdGhl
bWVfZ2V0X2RlZmF1bHQoKTsKKyAgICAgICAgLy8gVGhlIGltYWdlIG11c3QgYmUgYSBQTkcgb3Ig
V2ViQ29yZSB3aWxsIG5vdCB1c2UgaXQuCisgICAgICAgIEd0a0ljb25JbmZvKiBpY29uSW5mbyA9
IGd0a19pY29uX3RoZW1lX2xvb2t1cF9pY29uIChpY29uVGhlbWUsIEdUS19TVE9DS19NSVNTSU5H
X0lNQUdFLCAxNiwgR1RLX0lDT05fTE9PS1VQX05PX1NWRyk7CisgICAgICAgIGlmIChpY29uSW5m
bykgeworICAgICAgICAgICAgY29uc3QgZ2NoYXIqIGZpbGVuYW1lID0gZ3RrX2ljb25faW5mb19n
ZXRfZmlsZW5hbWUoaWNvbkluZm8pOworICAgICAgICAgICAgaWYgKGZpbGVuYW1lKSB7CisgICAg
ICAgICAgICAgICAgZ2NoYXIqIGNvbnRlbnRzOworICAgICAgICAgICAgICAgIGdzaXplIGxlbmd0
aDsKKyAgICAgICAgICAgICAgICBpZiAoZ19maWxlX2dldF9jb250ZW50cyhmaWxlbmFtZSwgJmNv
bnRlbnRzLCAmbGVuZ3RoLCBOVUxMKSkgeworICAgICAgICAgICAgICAgICAgICBidWZmZXIgPSBT
aGFyZWRCdWZmZXI6OmNyZWF0ZShjb250ZW50cywgbGVuZ3RoKTsKKyAgICAgICAgICAgICAgICAg
ICAgZ19mcmVlKGNvbnRlbnRzKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICBndGtfaWNvbl9pbmZvX2ZyZWUgKGljb25JbmZvKTsKKyAgICAgICAgfQorICAg
IH0KKwogICAgIGltZy0+c2V0RGF0YShidWZmZXIsIHRydWUpOwogICAgIHJldHVybiBpbWc7CiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30180</attachid>
            <date>2009-05-11 04:39:11 -0700</date>
            <delta_ts>2009-05-11 04:46:32 -0700</delta_ts>
            <desc>Another implementation of resource loading</desc>
            <filename>0005--GTK-Implement-Image-loadPlatformResource.patch</filename>
            <type>text/plain</type>
            <size>5948</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSBjM2JmYjQ3MGIzNWIxYmMzYjdmYmRhZTQ3OWRjMGY4NWZiNjVmMjk4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IE1vbiwgMTEgTWF5IDIwMDkgMDk6NTY6MTcgKzAyMDAKU3ViamVjdDog
W1BBVENIXSBbR1RLXSBJbXBsZW1lbnQgSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlCgpJbnN0
YWxsIHRoZSBmb3VyIHJlc291cmNlcyB3ZSBhcmUgdXNpbmcuIEZvciB0aGUgaWNvbnMKd2VyZSBh
biBpY29uIG5hbWUgaXMgc3BlY2lmaWVkIGJ5IGZyZWVkZXNrb3Aub3JnIHRyeSB0bwptYXAgdGhl
IFdlYkNvcmUgbmFtZSB0byB0aGF0IG5hbWUgYW5kIGZhbGxiYWNrIHRvIHRoZQppbnRlcm5hbCBp
Y29uLiBGb3IgZXZlcnl0aGluZyBlbHNlIGp1c3QgZGlyZWN0bHkgdXNlIHRoZQppbnRlcm5hbCBp
Y29uLiBSZW1vdmUgdGhlIHRlbXBvcmFyeSBsaW5rIHN0dWIgYXMgdGhpcyBpcwpub3QgcmVxdWly
ZWQgYW55IG1vcmUuCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMjEgKysrKysrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgOSArKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsv
SW1hZ2VHdGsuY3BwICB8ICAgNDcgKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBXZWJDb3Jl
L3BsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwIHwgICAxNCAtLS0tLS0tLQogNCBm
aWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ2NjA2N2Qu
LmM1MmY1NTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0yLDYgKzIsMjcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KIAorICAgICAgICBbR1RLXSBJbXBsZW1lbnQgSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291
cmNlCisKKyAgICAgICAgSW5zdGFsbCB0aGUgZm91ciByZXNvdXJjZXMgd2UgYXJlIHVzaW5nLiBG
b3IgdGhlIGljb25zCisgICAgICAgIHdlcmUgYW4gaWNvbiBuYW1lIGlzIHNwZWNpZmllZCBieSBm
cmVlZGVza29wLm9yZyB0cnkgdG8KKyAgICAgICAgbWFwIHRoZSBXZWJDb3JlIG5hbWUgdG8gdGhh
dCBuYW1lIGFuZCBmYWxsYmFjayB0byB0aGUKKyAgICAgICAgaW50ZXJuYWwgaWNvbi4gRm9yIGV2
ZXJ5dGhpbmcgZWxzZSBqdXN0IGRpcmVjdGx5IHVzZSB0aGUKKyAgICAgICAgaW50ZXJuYWwgaWNv
bi4gUmVtb3ZlIHRoZSB0ZW1wb3JhcnkgbGluayBzdHViIGFzIHRoaXMgaXMKKyAgICAgICAgbm90
IHJlcXVpcmVkIGFueSBtb3JlLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEluc3RhbGwg
dGhlIHBuZyBmaWxlcworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5j
cHA6CisgICAgICAgIChXVEY6Okd0a0ljb25JbmZvKTogQWRkIHRlbXBsYXRlIHNwZWNpYWxpemF0
aW9uIGZvciBHdGtJY29uSW5mbworICAgICAgICAoV2ViQ29yZTo6Z2V0SWNvbkZpbGVOYW1lT3JG
YWxsYmFjayk6IFVzZSBHdGtJY29uVGhlbWUgdG8gZ2V0IHRoZSBpY29uCisgICAgICAgIChXZWJD
b3JlOjpsb2FkUmVzb3VyY2VJbnRvU2hhcmVkQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSk6IEltcGxlbWVudAorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwOiBSZW1vdmUgbGluayBzdHViCisKKzIwMDktMDUt
MTEgIEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgVGhlIGtpdCB3YW50
cyB0byBwYXN0ZSBmcm9tIGF0IGxlYXN0IHR3byBkaWZmZXJlbnQKICAgICAgICAgY2xpcGJvYXJk
cy4gQnkgaW50cm9kdWNpbmcgZ2V0Q3VycmVudFRhcmdldCB0byB0aGUKICAgICAgICAgUGFzdGVi
b2FyZEhlbHBlciBpbnRlcmZhY2Ugd2UgY2FuIG1ha2UgdGhpcyBkZWNpc2lvbgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXgg
MzNhYmRhYy4uY2U4YjlkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zMTkyLDYgKzMxOTIsMTUgQEAgd2ViaW5zcGVj
dG9yaW1hZ2VzZGlyID0gJHtkYXRhZGlyfS93ZWJraXQtMS4wL3dlYmluc3BlY3Rvci9JbWFnZXMK
IGRpc3Rfd2ViaW5zcGVjdG9yaW1hZ2VzX0RBVEEgPSBcCiAJJChzaGVsbCBscyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzLyoucG5nKQogCit3ZWJyZXNvdXJjZXNkaXIgPSAk
e2RhdGFkaXJ9L3dlYmtpdC0xLjAvaW1hZ2VzCitkaXN0X3dlYnJlc291cmNlc19EQVRBID0gXAor
CSQoV2ViQ29yZSkvUmVzb3VyY2VzL3RleHRBcmVhUmVzaXplQ29ybmVyLnBuZyBcCisJJChXZWJD
b3JlKS9SZXNvdXJjZXMvbnVsbFBsdWdpbi5wbmcgXAorCSQoV2ViQ29yZSkvUmVzb3VyY2VzL3Vy
bEljb24ucG5nIFwKKwkkKFdlYkNvcmUpL1Jlc291cmNlcy9taXNzaW5nSW1hZ2UucG5nIFwKKwkk
KFdlYkNvcmUpL1Jlc291cmNlcy9wYW5JY29uLnBuZyBcCisJJChXZWJDb3JlKS9SZXNvdXJjZXMv
ZGVsZXRlQnV0dG9uLnBuZworCiAjIENsZWFuIHJ1bGVzIGZvciBXZWJDb3JlCiAKIENMRUFORklM
RVMgKz0gXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VH
dGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCmluZGV4
IGRhZjk4YzIuLmM5MDM3NTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3RrL0ltYWdlR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFn
ZUd0ay5jcHAKQEAgLTI2LDE1ICsyNiw1MyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5j
bHVkZSAiQml0bWFwSW1hZ2UuaCIKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVkZSAiR093
blB0ci5oIgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAKLS8v
IFRoaXMgZnVuY3Rpb24gbG9hZHMgcmVzb3VyY2VzIGZyb20gV2ViS2l0Ci1WZWN0b3I8Y2hhcj4g
bG9hZFJlc291cmNlSW50b0FycmF5KGNvbnN0IGNoYXIqKTsKK25hbWVzcGFjZSBXVEYgeworCit0
ZW1wbGF0ZSA8PiB2b2lkIGZyZWVPd25lZEdQdHI8R3RrSWNvbkluZm8+KEd0a0ljb25JbmZvKik7
Cit0ZW1wbGF0ZSA8PiB2b2lkIGZyZWVPd25lZEdQdHI8R3RrSWNvbkluZm8+KEd0a0ljb25JbmZv
KiBpbmZvKQoreworICAgIGlmIChpbmZvKQorCWd0a19pY29uX2luZm9fZnJlZShpbmZvKTsKK30K
KworfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBDU3RyaW5nIGdldEljb25GaWxl
TmFtZU9yRmFsbGJhY2soY29uc3QgY2hhciogbmFtZSwgY29uc3QgY2hhciogZmFsbGJhY2spCit7
CisgICAgR093blB0cjxHdGtJY29uSW5mbz4gaW5mbyhndGtfaWNvbl90aGVtZV9sb29rdXBfaWNv
bihndGtfaWNvbl90aGVtZV9nZXRfZGVmYXVsdCgpLAorCQkJCQkJCSBuYW1lLCAxNiwgR1RLX0lD
T05fTE9PS1VQX05PX1NWRykpOworICAgIGlmICghaW5mbykKKwlyZXR1cm4gU3RyaW5nOjpmb3Jt
YXQoIiVzL3dlYmtpdC0xLjAvaW1hZ2VzLyVzLnBuZyIsIERBVEFfRElSLCBmYWxsYmFjaykudXRm
OCgpOworCisgICAgcmV0dXJuIENTdHJpbmcoZ3RrX2ljb25faW5mb19nZXRfZmlsZW5hbWUoaW5m
by5nZXQoKSkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGxvYWRSZXNv
dXJjZVNoYXJlZEJ1ZmZlcmNvbnN0IGNoYXIqIG5hbWUpCit7CisgICAgQ1N0cmluZyBmaWxlTmFt
ZTsKKworICAgIC8vIEZpbmQgdGhlIHBhdGggZm9yIHRoZSBpbWFnZQorICAgIGlmIChzdHJjbXAo
Im1pc3NpbmdJbWFnZSIsIG5hbWUpID09IDApCisJZmlsZU5hbWUgPSBnZXRJY29uRmlsZU5hbWVP
ckZhbGxiYWNrKEdUS19TVE9DS19NSVNTSU5HX0lNQUdFLCAibWlzc2luZ0ltYWdlIik7CisgICAg
ZWxzZQorCWZpbGVOYW1lID0gU3RyaW5nOjpmb3JtYXQoIiVzL3dlYmtpdC0xLjAvaW1hZ2VzLyVz
LnBuZyIsIERBVEFfRElSLCBuYW1lKS51dGY4KCk7CisKKyAgICBHT3duUHRyPGdjaGFyPiBjb250
ZW50OworICAgIGdzaXplIGxlbmd0aDsKKyAgICBpZiAoIWdfZmlsZV9nZXRfY29udGVudHMoZmls
ZU5hbWUuZGF0YSgpLCAmY29udGVudC5vdXRQdHIoKSwgJmxlbmd0aCwgMCkpCisJcmV0dXJuIFNo
YXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CisKKyAgICByZXR1cm4gU2hhcmVkQnVmZmVyOjpjcmVhdGUo
Y29udGVudC5nZXQoKSwgbGVuZ3RoKTsKK30KKwogdm9pZCBCaXRtYXBJbWFnZTo6aW5pdFBsYXRm
b3JtRGF0YSgpCiB7CiB9CkBAIC00MywxMSArODEsMTAgQEAgdm9pZCBCaXRtYXBJbWFnZTo6aW52
YWxpZGF0ZVBsYXRmb3JtRGF0YSgpCiB7CiB9CiAKLVBhc3NSZWZQdHI8SW1hZ2U+IEltYWdlOjps
b2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBjaGFyICpuYW1lKQorUGFzc1JlZlB0cjxJbWFnZT4g
SW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGNvbnN0IGNoYXIqIG5hbWUpCiB7Ci0gICAgVmVj
dG9yPGNoYXI+IGFyciA9IGxvYWRSZXNvdXJjZUludG9BcnJheShuYW1lKTsKICAgICBSZWZQdHI8
Qml0bWFwSW1hZ2U+IGltZyA9IEJpdG1hcEltYWdlOjpjcmVhdGUoKTsKLSAgICBSZWZQdHI8U2hh
cmVkQnVmZmVyPiBidWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShhcnIuZGF0YSgpLCBhcnIu
c2l6ZSgpKTsKKyAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBsb2FkUmVzb3VyY2VT
aGFyZWRCdWZmZXIobmFtZSk7CiAgICAgaW1nLT5zZXREYXRhKGJ1ZmZlciwgdHJ1ZSk7CiAgICAg
cmV0dXJuIGltZy5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvVGVtcG9yYXJ5
TGlua1N0dWJzLmNwcAppbmRleCA3MWNkYjAwLi44YzEyZmNiIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL1RlbXBvcmFyeUxpbmtTdHVicy5jcHAKQEAgLTM4LDIwICszOCw2IEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCi0vLyBUaGlzIGZ1bmN0aW9uIGxvYWRzIHJlc291cmNlcyBm
cm9tIFdlYktpdAotLy8gVGhpcyBkb2VzIG5vdCBiZWxvbmcgaGVyZSBhbmQgSSdtIG5vdCBzdXJl
IHdoZXJlCi0vLyBpdCBzaG91bGQgZ28KLS8vIEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBwbGFucyBv
ciBkZXNpZ24gaXMKLS8vIGZvciBub25lIGNvZGUgcmVzb3VyY2VzCi1WZWN0b3I8Y2hhcj4gbG9h
ZFJlc291cmNlSW50b0FycmF5KGNvbnN0IGNoYXIqIHJlc291cmNlTmFtZSkKLXsKLSAgICBWZWN0
b3I8Y2hhcj4gcmVzb3VyY2U7Ci0gICAgLy9pZiAoc3RyY21wKHJlc291cmNlTmFtZSwibWlzc2lu
Z0ltYWdlIikgPT0gMCkgewotICAgIC8vfQotICAgIHJldHVybiByZXNvdXJjZTsKLX0KLQotCiAv
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiov
CiAvKiBDb21wbGV0ZWx5IGVtcHR5IHN0dWJzIChtb3N0bHkgdG8gYWxsb3cgRFJUIHRvIHJ1bik6
ICovCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKiovCi0tIAoxLjYuMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30181</attachid>
            <date>2009-05-11 04:46:32 -0700</date>
            <delta_ts>2010-06-10 17:17:31 -0700</delta_ts>
            <desc>Another implementation of resource loading</desc>
            <filename>0005--GTK-Implement-Image-loadPlatformResource.patch</filename>
            <type>text/plain</type>
            <size>5949</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA2Nzg5NTJlZmZmZDM0NmE2ZTE3MzE4ZjJiYjFjYWQ4NDlmNjYyZTQzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IE1vbiwgMTEgTWF5IDIwMDkgMDk6NTY6MTcgKzAyMDAKU3ViamVjdDog
W1BBVENIXSBbR1RLXSBJbXBsZW1lbnQgSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlCgpJbnN0
YWxsIHRoZSBmb3VyIHJlc291cmNlcyB3ZSBhcmUgdXNpbmcuIEZvciB0aGUgaWNvbnMKd2VyZSBh
biBpY29uIG5hbWUgaXMgc3BlY2lmaWVkIGJ5IGZyZWVkZXNrb3Aub3JnIHRyeSB0bwptYXAgdGhl
IFdlYkNvcmUgbmFtZSB0byB0aGF0IG5hbWUgYW5kIGZhbGxiYWNrIHRvIHRoZQppbnRlcm5hbCBp
Y29uLiBGb3IgZXZlcnl0aGluZyBlbHNlIGp1c3QgZGlyZWN0bHkgdXNlIHRoZQppbnRlcm5hbCBp
Y29uLiBSZW1vdmUgdGhlIHRlbXBvcmFyeSBsaW5rIHN0dWIgYXMgdGhpcyBpcwpub3QgcmVxdWly
ZWQgYW55IG1vcmUuCi0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgMjEgKysrKysrKysrKysrCiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtICAgICAgICAg
ICAgICAgICAgICAgIHwgICAgOSArKysrKwogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsv
SW1hZ2VHdGsuY3BwICB8ICAgNDcgKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBXZWJDb3Jl
L3BsYXRmb3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwIHwgICAxNCAtLS0tLS0tLQogNCBm
aWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ2NjA2N2Qu
LmM1MmY1NTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0yLDYgKzIsMjcgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KIAorICAgICAgICBbR1RLXSBJbXBsZW1lbnQgSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291
cmNlCisKKyAgICAgICAgSW5zdGFsbCB0aGUgZm91ciByZXNvdXJjZXMgd2UgYXJlIHVzaW5nLiBG
b3IgdGhlIGljb25zCisgICAgICAgIHdlcmUgYW4gaWNvbiBuYW1lIGlzIHNwZWNpZmllZCBieSBm
cmVlZGVza29wLm9yZyB0cnkgdG8KKyAgICAgICAgbWFwIHRoZSBXZWJDb3JlIG5hbWUgdG8gdGhh
dCBuYW1lIGFuZCBmYWxsYmFjayB0byB0aGUKKyAgICAgICAgaW50ZXJuYWwgaWNvbi4gRm9yIGV2
ZXJ5dGhpbmcgZWxzZSBqdXN0IGRpcmVjdGx5IHVzZSB0aGUKKyAgICAgICAgaW50ZXJuYWwgaWNv
bi4gUmVtb3ZlIHRoZSB0ZW1wb3JhcnkgbGluayBzdHViIGFzIHRoaXMgaXMKKyAgICAgICAgbm90
IHJlcXVpcmVkIGFueSBtb3JlLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEluc3RhbGwg
dGhlIHBuZyBmaWxlcworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFnZUd0ay5j
cHA6CisgICAgICAgIChXVEY6Okd0a0ljb25JbmZvKTogQWRkIHRlbXBsYXRlIHNwZWNpYWxpemF0
aW9uIGZvciBHdGtJY29uSW5mbworICAgICAgICAoV2ViQ29yZTo6Z2V0SWNvbkZpbGVOYW1lT3JG
YWxsYmFjayk6IFVzZSBHdGtJY29uVGhlbWUgdG8gZ2V0IHRoZSBpY29uCisgICAgICAgIChXZWJD
b3JlOjpsb2FkUmVzb3VyY2VJbnRvU2hhcmVkQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZSk6IEltcGxlbWVudAorICAgICAgICAqIHBsYXRmb3Jt
L2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwOiBSZW1vdmUgbGluayBzdHViCisKKzIwMDktMDUt
MTEgIEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgVGhlIGtpdCB3YW50
cyB0byBwYXN0ZSBmcm9tIGF0IGxlYXN0IHR3byBkaWZmZXJlbnQKICAgICAgICAgY2xpcGJvYXJk
cy4gQnkgaW50cm9kdWNpbmcgZ2V0Q3VycmVudFRhcmdldCB0byB0aGUKICAgICAgICAgUGFzdGVi
b2FyZEhlbHBlciBpbnRlcmZhY2Ugd2UgY2FuIG1ha2UgdGhpcyBkZWNpc2lvbgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXgg
MzNhYmRhYy4uY2U4YjlkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysg
Yi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC0zMTkyLDYgKzMxOTIsMTUgQEAgd2ViaW5zcGVj
dG9yaW1hZ2VzZGlyID0gJHtkYXRhZGlyfS93ZWJraXQtMS4wL3dlYmluc3BlY3Rvci9JbWFnZXMK
IGRpc3Rfd2ViaW5zcGVjdG9yaW1hZ2VzX0RBVEEgPSBcCiAJJChzaGVsbCBscyAkKFdlYkNvcmUp
L2luc3BlY3Rvci9mcm9udC1lbmQvSW1hZ2VzLyoucG5nKQogCit3ZWJyZXNvdXJjZXNkaXIgPSAk
e2RhdGFkaXJ9L3dlYmtpdC0xLjAvaW1hZ2VzCitkaXN0X3dlYnJlc291cmNlc19EQVRBID0gXAor
CSQoV2ViQ29yZSkvUmVzb3VyY2VzL3RleHRBcmVhUmVzaXplQ29ybmVyLnBuZyBcCisJJChXZWJD
b3JlKS9SZXNvdXJjZXMvbnVsbFBsdWdpbi5wbmcgXAorCSQoV2ViQ29yZSkvUmVzb3VyY2VzL3Vy
bEljb24ucG5nIFwKKwkkKFdlYkNvcmUpL1Jlc291cmNlcy9taXNzaW5nSW1hZ2UucG5nIFwKKwkk
KFdlYkNvcmUpL1Jlc291cmNlcy9wYW5JY29uLnBuZyBcCisJJChXZWJDb3JlKS9SZXNvdXJjZXMv
ZGVsZXRlQnV0dG9uLnBuZworCiAjIENsZWFuIHJ1bGVzIGZvciBXZWJDb3JlCiAKIENMRUFORklM
RVMgKz0gXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VH
dGsuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ndGsvSW1hZ2VHdGsuY3BwCmluZGV4
IGRhZjk4YzIuLmZjZjM0MTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3RrL0ltYWdlR3RrLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2d0ay9JbWFn
ZUd0ay5jcHAKQEAgLTI2LDE1ICsyNiw1MyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5j
bHVkZSAiQml0bWFwSW1hZ2UuaCIKKyNpbmNsdWRlICJDU3RyaW5nLmgiCisjaW5jbHVkZSAiR093
blB0ci5oIgogCiAjaW5jbHVkZSA8Y2Fpcm8uaD4KICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAKLS8v
IFRoaXMgZnVuY3Rpb24gbG9hZHMgcmVzb3VyY2VzIGZyb20gV2ViS2l0Ci1WZWN0b3I8Y2hhcj4g
bG9hZFJlc291cmNlSW50b0FycmF5KGNvbnN0IGNoYXIqKTsKK25hbWVzcGFjZSBXVEYgeworCit0
ZW1wbGF0ZSA8PiB2b2lkIGZyZWVPd25lZEdQdHI8R3RrSWNvbkluZm8+KEd0a0ljb25JbmZvKik7
Cit0ZW1wbGF0ZSA8PiB2b2lkIGZyZWVPd25lZEdQdHI8R3RrSWNvbkluZm8+KEd0a0ljb25JbmZv
KiBpbmZvKQoreworICAgIGlmIChpbmZvKQorCWd0a19pY29uX2luZm9fZnJlZShpbmZvKTsKK30K
KworfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK3N0YXRpYyBDU3RyaW5nIGdldEljb25GaWxl
TmFtZU9yRmFsbGJhY2soY29uc3QgY2hhciogbmFtZSwgY29uc3QgY2hhciogZmFsbGJhY2spCit7
CisgICAgR093blB0cjxHdGtJY29uSW5mbz4gaW5mbyhndGtfaWNvbl90aGVtZV9sb29rdXBfaWNv
bihndGtfaWNvbl90aGVtZV9nZXRfZGVmYXVsdCgpLAorCQkJCQkJCSBuYW1lLCAxNiwgR1RLX0lD
T05fTE9PS1VQX05PX1NWRykpOworICAgIGlmICghaW5mbykKKwlyZXR1cm4gU3RyaW5nOjpmb3Jt
YXQoIiVzL3dlYmtpdC0xLjAvaW1hZ2VzLyVzLnBuZyIsIERBVEFfRElSLCBmYWxsYmFjaykudXRm
OCgpOworCisgICAgcmV0dXJuIENTdHJpbmcoZ3RrX2ljb25faW5mb19nZXRfZmlsZW5hbWUoaW5m
by5nZXQoKSkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGxvYWRSZXNv
dXJjZVNoYXJlZEJ1ZmZlcihjb25zdCBjaGFyKiBuYW1lKQoreworICAgIENTdHJpbmcgZmlsZU5h
bWU7CisKKyAgICAvLyBGaW5kIHRoZSBwYXRoIGZvciB0aGUgaW1hZ2UKKyAgICBpZiAoc3RyY21w
KCJtaXNzaW5nSW1hZ2UiLCBuYW1lKSA9PSAwKQorCWZpbGVOYW1lID0gZ2V0SWNvbkZpbGVOYW1l
T3JGYWxsYmFjayhHVEtfU1RPQ0tfTUlTU0lOR19JTUFHRSwgIm1pc3NpbmdJbWFnZSIpOworICAg
IGVsc2UKKwlmaWxlTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCIlcy93ZWJraXQtMS4wL2ltYWdlcy8l
cy5wbmciLCBEQVRBX0RJUiwgbmFtZSkudXRmOCgpOworCisgICAgR093blB0cjxnY2hhcj4gY29u
dGVudDsKKyAgICBnc2l6ZSBsZW5ndGg7CisgICAgaWYgKCFnX2ZpbGVfZ2V0X2NvbnRlbnRzKGZp
bGVOYW1lLmRhdGEoKSwgJmNvbnRlbnQub3V0UHRyKCksICZsZW5ndGgsIDApKQorCXJldHVybiBT
aGFyZWRCdWZmZXI6OmNyZWF0ZSgpOworCisgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRl
KGNvbnRlbnQuZ2V0KCksIGxlbmd0aCk7Cit9CisKIHZvaWQgQml0bWFwSW1hZ2U6OmluaXRQbGF0
Zm9ybURhdGEoKQogewogfQpAQCAtNDMsMTEgKzgxLDEwIEBAIHZvaWQgQml0bWFwSW1hZ2U6Omlu
dmFsaWRhdGVQbGF0Zm9ybURhdGEoKQogewogfQogCi1QYXNzUmVmUHRyPEltYWdlPiBJbWFnZTo6
bG9hZFBsYXRmb3JtUmVzb3VyY2UoY29uc3QgY2hhciAqbmFtZSkKK1Bhc3NSZWZQdHI8SW1hZ2U+
IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZShjb25zdCBjaGFyKiBuYW1lKQogewotICAgIFZl
Y3RvcjxjaGFyPiBhcnIgPSBsb2FkUmVzb3VyY2VJbnRvQXJyYXkobmFtZSk7CiAgICAgUmVmUHRy
PEJpdG1hcEltYWdlPiBpbWcgPSBCaXRtYXBJbWFnZTo6Y3JlYXRlKCk7Ci0gICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gYnVmZmVyID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoYXJyLmRhdGEoKSwgYXJy
LnNpemUoKSk7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gbG9hZFJlc291cmNl
U2hhcmVkQnVmZmVyKG5hbWUpOwogICAgIGltZy0+c2V0RGF0YShidWZmZXIsIHRydWUpOwogICAg
IHJldHVybiBpbWcucmVsZWFzZSgpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL1RlbXBvcmFy
eUxpbmtTdHVicy5jcHAKaW5kZXggNzFjZGIwMC4uOGMxMmZjYiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ndGsvVGVtcG9yYXJ5TGlua1N0dWJzLmNwcAorKysgYi9XZWJDb3JlL3BsYXRm
b3JtL2d0ay9UZW1wb3JhcnlMaW5rU3R1YnMuY3BwCkBAIC0zOCwyMCArMzgsNiBAQAogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotLy8gVGhpcyBmdW5jdGlvbiBsb2FkcyByZXNvdXJjZXMg
ZnJvbSBXZWJLaXQKLS8vIFRoaXMgZG9lcyBub3QgYmVsb25nIGhlcmUgYW5kIEknbSBub3Qgc3Vy
ZSB3aGVyZQotLy8gaXQgc2hvdWxkIGdvCi0vLyBJIGRvbid0IGtub3cgd2hhdCB0aGUgcGxhbnMg
b3IgZGVzaWduIGlzCi0vLyBmb3Igbm9uZSBjb2RlIHJlc291cmNlcwotVmVjdG9yPGNoYXI+IGxv
YWRSZXNvdXJjZUludG9BcnJheShjb25zdCBjaGFyKiByZXNvdXJjZU5hbWUpCi17Ci0gICAgVmVj
dG9yPGNoYXI+IHJlc291cmNlOwotICAgIC8vaWYgKHN0cmNtcChyZXNvdXJjZU5hbWUsIm1pc3Np
bmdJbWFnZSIpID09IDApIHsKLSAgICAvL30KLSAgICByZXR1cm4gcmVzb3VyY2U7Ci19Ci0KLQog
LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
LwogLyogQ29tcGxldGVseSBlbXB0eSBzdHVicyAobW9zdGx5IHRvIGFsbG93IERSVCB0byBydW4p
OiAqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwotLSAKMS42LjAuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30182</attachid>
            <date>2009-05-11 04:47:34 -0700</date>
            <delta_ts>2009-05-20 19:51:06 -0700</delta_ts>
            <desc>Theme urlIcon</desc>
            <filename>0004--GTK-Gtk-wants-to-have-a-themable-urlIcon-too.patch</filename>
            <type>text/plain</type>
            <size>790</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">RnJvbSA2OWVlNDkxZjUzMjgxNmZmM2UyYmM4OTc5ZWJiNWRmMWQ0NzMwYjEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlciA8emVja2VAc2Vs
ZmlzaC5vcmc+CkRhdGU6IE1vbiwgMTEgTWF5IDIwMDkgMDk6NTU6MzQgKzAyMDAKU3ViamVjdDog
W1BBVENIXSBbR1RLXSBHdGsrIHdhbnRzIHRvIGhhdmUgYSB0aGVtYWJsZSB1cmxJY29uIHRvbwoK
LS0tCiBXZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgfCAgICAyICstCiAxIGZp
bGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg
YS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25EYXRhYmFzZS5jcHAgYi9XZWJDb3JlL2xvYWRlci9p
Y29uL0ljb25EYXRhYmFzZS5jcHAKaW5kZXggYzk3OTdmMi4uM2RlZDRmMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2UuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVy
L2ljb24vSWNvbkRhdGFiYXNlLmNwcApAQCAtNDksNyArNDksNyBAQAogI2RlZmluZSBJU19JQ09O
X1NZTkNfVEhSRUFEKCkgKG1fc3luY1RocmVhZCA9PSBjdXJyZW50VGhyZWFkKCkpCiAjZGVmaW5l
IEFTU0VSVF9JQ09OX1NZTkNfVEhSRUFEKCkgQVNTRVJUKElTX0lDT05fU1lOQ19USFJFQUQoKSkK
IAotI2lmIFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspCiAj
ZGVmaW5lIENBTl9USEVNRV9VUkxfSUNPTgogI2VuZGlmCiAKLS0gCjEuNi4wLjQKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>