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

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>215</bug_id>
          
          <creation_ts>2006-04-09 11:32:14 +0200</creation_ts>
          <short_desc>Enhancement for NativeLibLoader</short_desc>
          <delta_ts>2015-09-27 03:14:59 +0200</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>all</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>FEATURE</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>231</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:48:41 +0100</bug_when>
    <thetext>


---- Reported by s_koehler 2006-04-09 11:32:14 ----

Hi,

in Issue 110 (https://jogl.dev.java.net/bugs/show_bug.cgi?id=110) i
sugguested, that people should be able to disable libloading. The goal was, to
be abled to provide an own way of library-loading - library loading without
using complicated ClassLoader techniques. 

Now, the number of libraries has been growing and the logic, when which library
is needed, are more complicated.

I have therefor decided to rewrite the NativeLibLoader so that it offers a
mechanism hook into the on-demand-loading of the libraries.

Important points concerning the rewrite:
- NativeLibLoader now consequently uses synchronized, no volatile things
(i don&apos;t think, that there is any noticable performance penality, since most of
loadXY()-methods are called only once during the live-time of the application)
- NativeLibLoader now offers a loadCGImpl()-method to replace the direct call to
System.loadLibrary(&quot;jogl_cg&quot;) within make/cg-common-CustomJavaCode.java
- A workaround for a JVM-Bug has been added, namely:
If you use bin\java.exe instead of jre\bin\java.exe to run a program with
System.loadLibrary(&quot;jawt&quot;), then the JVM complaines about a missing awt.dll



---- Additional Comments From s_koehler 2006-04-09 11:32:55 ----

Created an attachment
patch for NativeLibLoader against CVS HEAD




---- Additional Comments From s_koehler 2006-04-09 11:34:18 ----

Created an attachment
the patched NativeLibLoader.java file




---- Additional Comments From s_koehler 2006-04-09 12:16:05 ----

Just another comment:

i used the line &quot;Frame.getFrames();&quot; to reference AWT, so that the awt.dll gets
loaded. If you know any better line, then use it. Another line that works is
&quot;new Component() {};&quot;.



---- Additional Comments From kbr 2006-04-17 01:25:05 ----

Incorporated and cleaned up Cg library loading -- thanks for the patch.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:48 EDT  ---

This bug was previously known as _bug_ 215 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=215
Imported an attachment (id=78)
Imported an attachment (id=79)

The original submitter of attachment 78 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.
The original submitter of attachment 79 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>78</attachid>
            <date>2006-04-09 11:32:00 +0200</date>
            <delta_ts>2006-04-09 11:32:00 +0200</delta_ts>
            <desc>patch for NativeLibLoader against CVS HEAD</desc>
            <filename>libloader.patch</filename>
            <type>text/plain</type>
            <size>6646</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">SW5kZXg6IE5hdGl2ZUxpYkxvYWRlci5qYXZhDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2N2cy9q
b2dsL3NyYy9jbGFzc2VzL2NvbS9zdW4vb3BlbmdsL2ltcGwvTmF0aXZlTGliTG9hZGVyLmphdmEs
dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjUNCmRpZmYgLXUgLXIxLjUgTmF0aXZlTGliTG9hZGVy
LmphdmENCi0tLSBOYXRpdmVMaWJMb2FkZXIuamF2YQkxNiBGZWIgMjAwNiAwMjo0OToyNyAtMDAw
MAkxLjUNCisrKyBOYXRpdmVMaWJMb2FkZXIuamF2YQk5IEFwciAyMDA2IDE4OjE1OjExIC0wMDAw
DQpAQCAtMzksODggKzM5LDExOCBAQA0KIA0KIHBhY2thZ2UgY29tLnN1bi5vcGVuZ2wuaW1wbDsN
CiANCi1pbXBvcnQgamF2YS5hd3QuVG9vbGtpdDsNCi1pbXBvcnQgamF2YS5zZWN1cml0eS4qOw0K
K2ltcG9ydCBqYXZhLmF3dC5GcmFtZTsNCitpbXBvcnQgamF2YS5zZWN1cml0eS5BY2Nlc3NDb250
cm9sbGVyOw0KK2ltcG9ydCBqYXZhLnNlY3VyaXR5LlByaXZpbGVnZWRBY3Rpb247DQoraW1wb3J0
IGphdmEudXRpbC5IYXNoU2V0Ow0KIA0KIHB1YmxpYyBjbGFzcyBOYXRpdmVMaWJMb2FkZXIgew0K
LSAgcHJpdmF0ZSBzdGF0aWMgdm9sYXRpbGUgYm9vbGVhbiBkb0xvYWRpbmcgICA9IHRydWU7DQor
ICBwdWJsaWMgaW50ZXJmYWNlIExvYWRlckFjdGlvbiB7DQorICAgIC8qKg0KKyAgICAgKiBMb2Fk
cyB0aGUgbGlicmFyeSBzcGVjaWZpZWQgYnkgbGlibmFtZS4gT3B0aW9uYWxseSBwcmVsb2FkcyB0
aGUgbGlicmFyaWVzIHNwZWNpZmllZCBieQ0KKyAgICAgKiBwcmVsb2FkLiBUaGUgaW1wbGVtZW50
YXRpb24gc2hvdWxkIGlnbm9yZSwgaWYgdGhlIHByZWxvYWQtbGlicmFyaWVzIGhhdmUgYWxyZWFk
eSBiZWVuDQorICAgICAqIGxvYWRlZC4NCisgICAgICogQHBhcmFtIGxpYm5hbWUgdGhlIGxpYnJh
cnkgdG8gbG9hZA0KKyAgICAgKiBAcGFyYW0gcHJlbG9hZCB0aGUgbGlicmFyaWVzIHRvIGxvYWQg
YmVmb3JlIGxvYWRpbmcgdGhlIG1haW4gbGlicmFyeQ0KKyAgICAgKiBAcGFyYW0gZG9QcmVsb2Fk
IHRydWUsIGlmZiB0aGUgcHJlbG9hZC1saWJyYXJpZXMgc2hvdWxkIGJlIGxvYWRlZCANCisgICAg
ICogQHBhcmFtIGlnbm9yZUVycm9yIHRydWUsIGlmZiBlcnJvcnMgZHVyaW5nIGxvYWRpbmcgdGhl
IHByZWxvYWQtbGlicmFyaWVzIHNob3VsZCBiZSBpZ25vcmVkIA0KKyAgICAgKi8NCisgICAgdm9p
ZCBsb2FkTGlicmFyeShTdHJpbmcgbGlibmFtZSwgU3RyaW5nW10gcHJlbG9hZCwgDQorICAgICAg
ICBib29sZWFuIGRvUHJlbG9hZCwgYm9vbGVhbiBpZ25vcmVFcnJvcik7DQorICB9DQorICANCisg
IHByaXZhdGUgc3RhdGljIGNsYXNzIERlZmF1bHRBY3Rpb24gaW1wbGVtZW50cyBMb2FkZXJBY3Rp
b24gew0KKyAgICBwdWJsaWMgdm9pZCBsb2FkTGlicmFyeShTdHJpbmcgbGlibmFtZSwgU3RyaW5n
W10gcHJlbG9hZCwNCisgICAgICAgIGJvb2xlYW4gZG9QcmVsb2FkLCBib29sZWFuIGlnbm9yZUVy
cm9yKSB7DQorICAgICAgaWYgKGRvUHJlbG9hZCkgew0KKyAgICAgICAgZm9yIChpbnQgaT0wOyBp
PHByZWxvYWQubGVuZ3RoOyBpKyspIHsNCisgICAgICAgICAgdHJ5IHsNCisgICAgICAgICAgICBT
eXN0ZW0ubG9hZExpYnJhcnkocHJlbG9hZFtpXSk7DQorICAgICAgICAgIH0NCisgICAgICAgICAg
Y2F0Y2ggKFVuc2F0aXNmaWVkTGlua0Vycm9yIGUpIHsNCisgICAgICAgICAgICBpZiAoIWlnbm9y
ZUVycm9yICYmIGUuZ2V0TWVzc2FnZSgpLmluZGV4T2YoImFscmVhZHkgbG9hZGVkIikgPCAwKSB7
DQorICAgICAgICAgICAgICB0aHJvdyBlOw0KKyAgICAgICAgICAgIH0NCisgICAgICAgICAgfQ0K
KyAgICAgICAgfQ0KKyAgICAgIH0NCisgICAgICANCisgICAgICBTeXN0ZW0ubG9hZExpYnJhcnko
bGlibmFtZSk7DQorICAgIH0NCisgIH0NCisgIA0KKyAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgSGFz
aFNldCBsb2FkZWQgPSBuZXcgSGFzaFNldCgpOw0KKyAgcHJpdmF0ZSBzdGF0aWMgTG9hZGVyQWN0
aW9uIGxvYWRlckFjdGlvbiA9IG5ldyBEZWZhdWx0QWN0aW9uKCk7DQogDQogICBwdWJsaWMgc3Rh
dGljIHZvaWQgZGlzYWJsZUxvYWRpbmcoKSB7DQotICAgIGRvTG9hZGluZyA9IGZhbHNlOw0KKyAg
ICBzZXRMb2FkaW5nQWN0aW9uKG51bGwpOw0KICAgfQ0KIA0KICAgcHVibGljIHN0YXRpYyB2b2lk
IGVuYWJsZUxvYWRpbmcoKSB7DQotICAgIGRvTG9hZGluZyA9IHRydWU7DQorICAgIHNldExvYWRp
bmdBY3Rpb24obmV3IERlZmF1bHRBY3Rpb24oKSk7DQorICB9DQorICANCisgIHB1YmxpYyBzdGF0
aWMgc3luY2hyb25pemVkIHZvaWQgc2V0TG9hZGluZ0FjdGlvbihMb2FkZXJBY3Rpb24gYWN0aW9u
KSB7DQorICAgIGxvYWRlckFjdGlvbiA9IGFjdGlvbjsNCiAgIH0NCiANCi0gIHByaXZhdGUgc3Rh
dGljIHZvbGF0aWxlIGJvb2xlYW4gbG9hZGVkQ29yZSA9IGZhbHNlOw0KLSAgcHJpdmF0ZSBzdGF0
aWMgdm9sYXRpbGUgYm9vbGVhbiBsb2FkZWRBV1RJbXBsID0gZmFsc2U7DQotICBwcml2YXRlIHN0
YXRpYyB2b2xhdGlsZSBib29sZWFuIGxvYWRlZERSSUhhY2sgPSBmYWxzZTsNCi0NCisgIHByaXZh
dGUgc3RhdGljIHN5bmNocm9uaXplZCB2b2lkIGxvYWRMaWJyYXJ5KFN0cmluZyBsaWJuYW1lLCBT
dHJpbmdbXSBwcmVsb2FkLCANCisgICAgICBib29sZWFuIGRvUHJlbG9hZCwgYm9vbGVhbiBpZ25v
cmVFcnJvcikgew0KKyAgICBpZiAobG9hZGVyQWN0aW9uICE9IG51bGwgJiYgIWxvYWRlZC5jb250
YWlucyhsaWJuYW1lKSkNCisgICAgew0KKyAgICAgIGxvYWRlckFjdGlvbi5sb2FkTGlicmFyeShs
aWJuYW1lLCBwcmVsb2FkLCBkb1ByZWxvYWQsIGlnbm9yZUVycm9yKTsgICAgDQorICAgICAgbG9h
ZGVkLmFkZChsaWJuYW1lKTsNCisgICAgfQ0KKyAgfQ0KKyAgDQogICBwdWJsaWMgc3RhdGljIHZv
aWQgbG9hZENvcmUoKSB7DQotICAgIGlmIChkb0xvYWRpbmcgJiYgIWxvYWRlZENvcmUpIHsNCi0g
ICAgICBzeW5jaHJvbml6ZWQgKE5hdGl2ZUxpYkxvYWRlci5jbGFzcykgew0KLSAgICAgICAgaWYg
KCFsb2FkZWRDb3JlKSB7DQotICAgICAgICAgIEFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2Vk
KG5ldyBQcml2aWxlZ2VkQWN0aW9uKCkgew0KLSAgICAgICAgICAgICAgcHVibGljIE9iamVjdCBy
dW4oKSB7DQotICAgICAgICAgICAgICAgIFN5c3RlbS5sb2FkTGlicmFyeSgiam9nbCIpOw0KLSAg
ICAgICAgICAgICAgICByZXR1cm4gbnVsbDsNCi0gICAgICAgICAgICAgIH0NCi0gICAgICAgICAg
ICB9KTsNCi0gICAgICAgICAgbG9hZGVkQ29yZSA9IHRydWU7DQotICAgICAgICB9DQorICAgIEFj
Y2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2VkKG5ldyBQcml2aWxlZ2VkQWN0aW9uKCkgew0KKyAg
ICAgIHB1YmxpYyBPYmplY3QgcnVuKCkgew0KKyAgICAgICAgbG9hZExpYnJhcnkoImpvZ2wiLCBu
dWxsLCBmYWxzZSwgZmFsc2UpOw0KKyAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICAgfQ0KLSAg
ICB9DQorICAgIH0pOw0KICAgfQ0KIA0KICAgcHVibGljIHN0YXRpYyB2b2lkIGxvYWRBV1RJbXBs
KCkgew0KLSAgICBpZiAoZG9Mb2FkaW5nICYmICFsb2FkZWRBV1RJbXBsKSB7DQotICAgICAgc3lu
Y2hyb25pemVkIChOYXRpdmVMaWJMb2FkZXIuY2xhc3MpIHsNCi0gICAgICAgIGlmICghbG9hZGVk
QVdUSW1wbCkgew0KLSAgICAgICAgICBBY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChuZXcg
UHJpdmlsZWdlZEFjdGlvbigpIHsNCi0gICAgICAgICAgICAgIHB1YmxpYyBPYmplY3QgcnVuKCkg
ew0KLSAgICAgICAgICAgICAgICBib29sZWFuIGlzT1NYID0gU3lzdGVtLmdldFByb3BlcnR5KCJv
cy5uYW1lIikuZXF1YWxzKCJNYWMgT1MgWCIpOw0KLSAgICAgICAgICAgICAgICBpZiAoIWlzT1NY
KSB7DQotICAgICAgICAgICAgICAgICAgLy8gTXVzdCBwcmUtbG9hZCBKQVdUIG9uIGFsbCBub24t
TWFjIHBsYXRmb3JtcyB0bw0KLSAgICAgICAgICAgICAgICAgIC8vIGVuc3VyZSByZWZlcmVuY2Vz
IGZyb20gam9nbF9hd3Qgc2hhcmVkIG9iamVjdA0KLSAgICAgICAgICAgICAgICAgIC8vIHdpbGwg
c3VjY2VlZCBzaW5jZSBKQVdUIHNoYXJlZCBvYmplY3QgaXNuJ3QgaW4NCi0gICAgICAgICAgICAg
ICAgICAvLyBkZWZhdWx0IGxpYnJhcnkgcGF0aA0KLSAgICAgICAgICAgICAgICAgIHRyeSB7DQot
ICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ubG9hZExpYnJhcnkoImphd3QiKTsNCi0gICAgICAg
ICAgICAgICAgICB9IGNhdGNoIChVbnNhdGlzZmllZExpbmtFcnJvciBlKSB7DQotICAgICAgICAg
ICAgICAgICAgICAvLyBBY2Nlc3NpYmlsaXR5IHRlY2hub2xvZ2llcyBsb2FkIEpBV1QgdGhlbXNl
bHZlczsgc2FmZSB0byBjb250aW51ZQ0KLSAgICAgICAgICAgICAgICAgICAgLy8gYXMgbG9uZyBh
cyBKQVdUIGlzIGxvYWRlZCBieSBhbnkgbG9hZGVyDQotICAgICAgICAgICAgICAgICAgICBpZiAo
ZS5nZXRNZXNzYWdlKCkuaW5kZXhPZigiYWxyZWFkeSBsb2FkZWQiKSA9PSAtMSkgew0KLSAgICAg
ICAgICAgICAgICAgICAgICB0aHJvdyBlOw0KLSAgICAgICAgICAgICAgICAgICAgfQ0KLSAgICAg
ICAgICAgICAgICAgIH0NCi0gICAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgICAgICBTeXN0
ZW0ubG9hZExpYnJhcnkoImpvZ2xfYXd0Iik7DQotDQotICAgICAgICAgICAgICAgIHJldHVybiBu
dWxsOw0KLSAgICAgICAgICAgICAgfQ0KLSAgICAgICAgICAgIH0pOw0KLSAgICAgICAgICBsb2Fk
ZWRBV1RJbXBsID0gdHJ1ZTsNCi0gICAgICAgIH0NCisgICAgQWNjZXNzQ29udHJvbGxlci5kb1By
aXZpbGVnZWQobmV3IFByaXZpbGVnZWRBY3Rpb24oKSB7DQorICAgICAgcHVibGljIE9iamVjdCBy
dW4oKSB7DQorICAgICAgICAvLyBNYWtlIHN1cmUsIHRoYXQgYXd0LmRsbCBpcyBsb2FkZWQgYmVm
b3JlIGxvYWRpbmcgamF3dC5kbGwuIE90aGVyd2lzZQ0KKyAgICAgICAgLy8gYSBEaWFsb2cgd2l0
aCAiYXd0LmRsbCBub3QgZm91bmQiIG1pZ2h0IHBvcCB1cC4NCisgICAgICAgIC8vIFNlZSBodHRw
Oi8vYnVncy5zdW4uY29tL2J1Z2RhdGFiYXNlL3ZpZXdfYnVnLmRvP2J1Z19pZD00NDgxOTQ3Lg0K
KyAgICAgICAgRnJhbWUuZ2V0RnJhbWVzKCk7DQorICAgICAgICANCisgICAgICAgIC8vIE11c3Qg
cHJlLWxvYWQgSkFXVCBvbiBhbGwgbm9uLU1hYyBwbGF0Zm9ybXMgdG8NCisgICAgICAgIC8vIGVu
c3VyZSByZWZlcmVuY2VzIGZyb20gam9nbF9hd3Qgc2hhcmVkIG9iamVjdA0KKyAgICAgICAgLy8g
d2lsbCBzdWNjZWVkIHNpbmNlIEpBV1Qgc2hhcmVkIG9iamVjdCBpc24ndCBpbg0KKyAgICAgICAg
Ly8gZGVmYXVsdCBsaWJyYXJ5IHBhdGgNCisgICAgICAgIGJvb2xlYW4gaXNPU1ggPSBTeXN0ZW0u
Z2V0UHJvcGVydHkoIm9zLm5hbWUiKS5lcXVhbHMoIk1hYyBPUyBYIik7DQorICAgICAgICBTdHJp
bmdbXSBwcmVsb2FkID0geyAiamF3dCIgfTsNCisNCisgICAgICAgIGxvYWRMaWJyYXJ5KCJqb2ds
X2F3dCIsIHByZWxvYWQsICFpc09TWCwgZmFsc2UpOw0KKyAgICAgICAgcmV0dXJuIG51bGw7DQog
ICAgICAgfQ0KLSAgICB9DQorICAgIH0pOw0KICAgfQ0KIA0KICAgLy8gU2VlIERSSUhhY2suamF2
YSBpbiBjb20vc3VuL29wZW5nbC9pbXBsL3gxMS8gZm9yIGRlc2NyaXB0aW9uIG9mDQogICAvLyB3
aHkgdGhpcyBpcyBuZWVkZWQNCiAgIHB1YmxpYyBzdGF0aWMgdm9pZCBsb2FkRFJJSGFjaygpIHsN
Ci0gICAgaWYgKGRvTG9hZGluZyAmJiAhbG9hZGVkRFJJSGFjaykgew0KLSAgICAgIHN5bmNocm9u
aXplZCAoTmF0aXZlTGliTG9hZGVyLmNsYXNzKSB7DQotICAgICAgICBpZiAoIWxvYWRlZERSSUhh
Y2spIHsNCi0gICAgICAgICAgQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQobmV3IFByaXZp
bGVnZWRBY3Rpb24oKSB7DQotICAgICAgICAgICAgICBwdWJsaWMgT2JqZWN0IHJ1bigpIHsNCi0g
ICAgICAgICAgICAgICAgU3lzdGVtLmxvYWRMaWJyYXJ5KCJqb2dsX2RyaWhhY2siKTsNCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIG51bGw7DQotICAgICAgICAgICAgICB9DQotICAgICAgICAgICAg
fSk7DQotICAgICAgICAgIGxvYWRlZERSSUhhY2sgPSB0cnVlOw0KLSAgICAgICAgfQ0KKyAgICBB
Y2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChuZXcgUHJpdmlsZWdlZEFjdGlvbigpIHsNCisg
ICAgICBwdWJsaWMgT2JqZWN0IHJ1bigpIHsNCisgICAgICAgIGxvYWRMaWJyYXJ5KCJqb2dsX2Ry
aWhhY2siLCBudWxsLCBmYWxzZSwgZmFsc2UpOw0KKyAgICAgICAgcmV0dXJuIG51bGw7DQogICAg
ICAgfQ0KLSAgICB9DQorICAgIH0pOw0KKyAgfQ0KKyAgDQorICBwdWJsaWMgc3RhdGljIHZvaWQg
bG9hZENHSW1wbCgpIHsNCisgICAgQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQobmV3IFBy
aXZpbGVnZWRBY3Rpb24oKSB7DQorICAgICAgcHVibGljIE9iamVjdCBydW4oKSB7DQorICAgICAg
ICBTdHJpbmdbXSBwcmVsb2FkID0geyAiY2ciLCAiY2dHTCIgfTsNCisgICAgICAgIGxvYWRMaWJy
YXJ5KCJqb2dsX2NnIiwgcHJlbG9hZCwgdHJ1ZSwgdHJ1ZSk7DQorICAgICAgICByZXR1cm4gbnVs
bDsNCisgICAgICB9DQorICAgIH0pOw0KICAgfQ0KIH0NCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>79</attachid>
            <date>2006-04-09 11:34:00 +0200</date>
            <delta_ts>2006-04-09 11:34:00 +0200</delta_ts>
            <desc>the patched NativeLibLoader.java file</desc>
            <filename>NativeLibLoader.java</filename>
            <type>text/plain</type>
            <size>5790</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">LyoNCiAqIENvcHlyaWdodCAoYykgMjAwMyBTdW4gTWljcm9zeXN0ZW1zLCBJbmMuIEFsbCBSaWdo
dHMgUmVzZXJ2ZWQuDQogKiANCiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0KICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQ0KICogbWV0
Og0KICogDQogKiAtIFJlZGlzdHJpYnV0aW9uIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQNCiAqICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KICogDQogKiAtIFJlZGlzdHJpYnV0aW9uIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCiAqICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQ0KICogICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KICogDQogKiBOZWl0aGVyIHRoZSBuYW1lIG9mIFN1
biBNaWNyb3N5c3RlbXMsIEluYy4gb3IgdGhlIG5hbWVzIG9mDQogKiBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQ0KICog
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4N
CiAqIA0KICogVGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCAiQVMgSVMsIiB3aXRob3V0IGEgd2Fy
cmFudHkgb2YgYW55IGtpbmQuIEFMTA0KICogRVhQUkVTUyBPUiBJTVBMSUVEIENPTkRJVElPTlMs
IFJFUFJFU0VOVEFUSU9OUyBBTkQgV0FSUkFOVElFUywNCiAqIElOQ0xVRElORyBBTlkgSU1QTElF
RCBXQVJSQU5UWSBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEENCiAqIFBBUlRJQ1VM
QVIgUFVSUE9TRSBPUiBOT04tSU5GUklOR0VNRU5ULCBBUkUgSEVSRUJZIEVYQ0xVREVELiBTVU4N
CiAqIE1JQ1JPU1lTVEVNUywgSU5DLiAoIlNVTiIpIEFORCBJVFMgTElDRU5TT1JTIFNIQUxMIE5P
VCBCRSBMSUFCTEUgRk9SDQogKiBBTlkgREFNQUdFUyBTVUZGRVJFRCBCWSBMSUNFTlNFRSBBUyBB
IFJFU1VMVCBPRiBVU0lORywgTU9ESUZZSU5HIE9SDQogKiBESVNUUklCVVRJTkcgVEhJUyBTT0ZU
V0FSRSBPUiBJVFMgREVSSVZBVElWRVMuIElOIE5PIEVWRU5UIFdJTEwgU1VOIE9SDQogKiBJVFMg
TElDRU5TT1JTIEJFIExJQUJMRSBGT1IgQU5ZIExPU1QgUkVWRU5VRSwgUFJPRklUIE9SIERBVEEs
IE9SIEZPUg0KICogRElSRUNULCBJTkRJUkVDVCwgU1BFQ0lBTCwgQ09OU0VRVUVOVElBTCwgSU5D
SURFTlRBTCBPUiBQVU5JVElWRQ0KICogREFNQUdFUywgSE9XRVZFUiBDQVVTRUQgQU5EIFJFR0FS
RExFU1MgT0YgVEhFIFRIRU9SWSBPRiBMSUFCSUxJVFksDQogKiBBUklTSU5HIE9VVCBPRiBUSEUg
VVNFIE9GIE9SIElOQUJJTElUWSBUTyBVU0UgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRg0KICogU1VO
IEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4NCiAq
IA0KICogWW91IGFja25vd2xlZGdlIHRoYXQgdGhpcyBzb2Z0d2FyZSBpcyBub3QgZGVzaWduZWQg
b3IgaW50ZW5kZWQgZm9yIHVzZQ0KICogaW4gdGhlIGRlc2lnbiwgY29uc3RydWN0aW9uLCBvcGVy
YXRpb24gb3IgbWFpbnRlbmFuY2Ugb2YgYW55IG51Y2xlYXINCiAqIGZhY2lsaXR5Lg0KICogDQog
KiBTdW4gZ3JhdGVmdWxseSBhY2tub3dsZWRnZXMgdGhhdCB0aGlzIHNvZnR3YXJlIHdhcyBvcmln
aW5hbGx5IGF1dGhvcmVkDQogKiBhbmQgZGV2ZWxvcGVkIGJ5IEtlbm5ldGggQnJhZGxleSBSdXNz
ZWxsIGFuZCBDaHJpc3RvcGhlciBKb2huIEtsaW5lLg0KICovDQoNCnBhY2thZ2UgY29tLnN1bi5v
cGVuZ2wuaW1wbDsNCg0KaW1wb3J0IGphdmEuYXd0LkZyYW1lOw0KaW1wb3J0IGphdmEuc2VjdXJp
dHkuQWNjZXNzQ29udHJvbGxlcjsNCmltcG9ydCBqYXZhLnNlY3VyaXR5LlByaXZpbGVnZWRBY3Rp
b247DQppbXBvcnQgamF2YS51dGlsLkhhc2hTZXQ7DQoNCnB1YmxpYyBjbGFzcyBOYXRpdmVMaWJM
b2FkZXIgew0KICBwdWJsaWMgaW50ZXJmYWNlIExvYWRlckFjdGlvbiB7DQogICAgLyoqDQogICAg
ICogTG9hZHMgdGhlIGxpYnJhcnkgc3BlY2lmaWVkIGJ5IGxpYm5hbWUuIE9wdGlvbmFsbHkgcHJl
bG9hZHMgdGhlIGxpYnJhcmllcyBzcGVjaWZpZWQgYnkNCiAgICAgKiBwcmVsb2FkLiBUaGUgaW1w
bGVtZW50YXRpb24gc2hvdWxkIGlnbm9yZSwgaWYgdGhlIHByZWxvYWQtbGlicmFyaWVzIGhhdmUg
YWxyZWFkeSBiZWVuDQogICAgICogbG9hZGVkLg0KICAgICAqIEBwYXJhbSBsaWJuYW1lIHRoZSBs
aWJyYXJ5IHRvIGxvYWQNCiAgICAgKiBAcGFyYW0gcHJlbG9hZCB0aGUgbGlicmFyaWVzIHRvIGxv
YWQgYmVmb3JlIGxvYWRpbmcgdGhlIG1haW4gbGlicmFyeQ0KICAgICAqIEBwYXJhbSBkb1ByZWxv
YWQgdHJ1ZSwgaWZmIHRoZSBwcmVsb2FkLWxpYnJhcmllcyBzaG91bGQgYmUgbG9hZGVkIA0KICAg
ICAqIEBwYXJhbSBpZ25vcmVFcnJvciB0cnVlLCBpZmYgZXJyb3JzIGR1cmluZyBsb2FkaW5nIHRo
ZSBwcmVsb2FkLWxpYnJhcmllcyBzaG91bGQgYmUgaWdub3JlZCANCiAgICAgKi8NCiAgICB2b2lk
IGxvYWRMaWJyYXJ5KFN0cmluZyBsaWJuYW1lLCBTdHJpbmdbXSBwcmVsb2FkLCANCiAgICAgICAg
Ym9vbGVhbiBkb1ByZWxvYWQsIGJvb2xlYW4gaWdub3JlRXJyb3IpOw0KICB9DQogIA0KICBwcml2
YXRlIHN0YXRpYyBjbGFzcyBEZWZhdWx0QWN0aW9uIGltcGxlbWVudHMgTG9hZGVyQWN0aW9uIHsN
CiAgICBwdWJsaWMgdm9pZCBsb2FkTGlicmFyeShTdHJpbmcgbGlibmFtZSwgU3RyaW5nW10gcHJl
bG9hZCwNCiAgICAgICAgYm9vbGVhbiBkb1ByZWxvYWQsIGJvb2xlYW4gaWdub3JlRXJyb3IpIHsN
CiAgICAgIGlmIChkb1ByZWxvYWQpIHsNCiAgICAgICAgZm9yIChpbnQgaT0wOyBpPHByZWxvYWQu
bGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3lzdGVtLmxvYWRM
aWJyYXJ5KHByZWxvYWRbaV0pOw0KICAgICAgICAgIH0NCiAgICAgICAgICBjYXRjaCAoVW5zYXRp
c2ZpZWRMaW5rRXJyb3IgZSkgew0KICAgICAgICAgICAgaWYgKCFpZ25vcmVFcnJvciAmJiBlLmdl
dE1lc3NhZ2UoKS5pbmRleE9mKCJhbHJlYWR5IGxvYWRlZCIpIDwgMCkgew0KICAgICAgICAgICAg
ICB0aHJvdyBlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAg
fQ0KICAgICAgDQogICAgICBTeXN0ZW0ubG9hZExpYnJhcnkobGlibmFtZSk7DQogICAgfQ0KICB9
DQogIA0KICBwcml2YXRlIHN0YXRpYyBmaW5hbCBIYXNoU2V0IGxvYWRlZCA9IG5ldyBIYXNoU2V0
KCk7DQogIHByaXZhdGUgc3RhdGljIExvYWRlckFjdGlvbiBsb2FkZXJBY3Rpb24gPSBuZXcgRGVm
YXVsdEFjdGlvbigpOw0KDQogIHB1YmxpYyBzdGF0aWMgdm9pZCBkaXNhYmxlTG9hZGluZygpIHsN
CiAgICBzZXRMb2FkaW5nQWN0aW9uKG51bGwpOw0KICB9DQoNCiAgcHVibGljIHN0YXRpYyB2b2lk
IGVuYWJsZUxvYWRpbmcoKSB7DQogICAgc2V0TG9hZGluZ0FjdGlvbihuZXcgRGVmYXVsdEFjdGlv
bigpKTsNCiAgfQ0KICANCiAgcHVibGljIHN0YXRpYyBzeW5jaHJvbml6ZWQgdm9pZCBzZXRMb2Fk
aW5nQWN0aW9uKExvYWRlckFjdGlvbiBhY3Rpb24pIHsNCiAgICBsb2FkZXJBY3Rpb24gPSBhY3Rp
b247DQogIH0NCg0KICBwcml2YXRlIHN0YXRpYyBzeW5jaHJvbml6ZWQgdm9pZCBsb2FkTGlicmFy
eShTdHJpbmcgbGlibmFtZSwgU3RyaW5nW10gcHJlbG9hZCwgDQogICAgICBib29sZWFuIGRvUHJl
bG9hZCwgYm9vbGVhbiBpZ25vcmVFcnJvcikgew0KICAgIGlmIChsb2FkZXJBY3Rpb24gIT0gbnVs
bCAmJiAhbG9hZGVkLmNvbnRhaW5zKGxpYm5hbWUpKQ0KICAgIHsNCiAgICAgIGxvYWRlckFjdGlv
bi5sb2FkTGlicmFyeShsaWJuYW1lLCBwcmVsb2FkLCBkb1ByZWxvYWQsIGlnbm9yZUVycm9yKTsg
ICAgDQogICAgICBsb2FkZWQuYWRkKGxpYm5hbWUpOw0KICAgIH0NCiAgfQ0KICANCiAgcHVibGlj
IHN0YXRpYyB2b2lkIGxvYWRDb3JlKCkgew0KICAgIEFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxl
Z2VkKG5ldyBQcml2aWxlZ2VkQWN0aW9uKCkgew0KICAgICAgcHVibGljIE9iamVjdCBydW4oKSB7
DQogICAgICAgIGxvYWRMaWJyYXJ5KCJqb2dsIiwgbnVsbCwgZmFsc2UsIGZhbHNlKTsNCiAgICAg
ICAgcmV0dXJuIG51bGw7DQogICAgICB9DQogICAgfSk7DQogIH0NCg0KICBwdWJsaWMgc3RhdGlj
IHZvaWQgbG9hZEFXVEltcGwoKSB7DQogICAgQWNjZXNzQ29udHJvbGxlci5kb1ByaXZpbGVnZWQo
bmV3IFByaXZpbGVnZWRBY3Rpb24oKSB7DQogICAgICBwdWJsaWMgT2JqZWN0IHJ1bigpIHsNCiAg
ICAgICAgLy8gTWFrZSBzdXJlLCB0aGF0IGF3dC5kbGwgaXMgbG9hZGVkIGJlZm9yZSBsb2FkaW5n
IGphd3QuZGxsLiBPdGhlcndpc2UNCiAgICAgICAgLy8gYSBEaWFsb2cgd2l0aCAiYXd0LmRsbCBu
b3QgZm91bmQiIG1pZ2h0IHBvcCB1cC4NCiAgICAgICAgLy8gU2VlIGh0dHA6Ly9idWdzLnN1bi5j
b20vYnVnZGF0YWJhc2Uvdmlld19idWcuZG8/YnVnX2lkPTQ0ODE5NDcuDQogICAgICAgIEZyYW1l
LmdldEZyYW1lcygpOw0KICAgICAgICANCiAgICAgICAgLy8gTXVzdCBwcmUtbG9hZCBKQVdUIG9u
IGFsbCBub24tTWFjIHBsYXRmb3JtcyB0bw0KICAgICAgICAvLyBlbnN1cmUgcmVmZXJlbmNlcyBm
cm9tIGpvZ2xfYXd0IHNoYXJlZCBvYmplY3QNCiAgICAgICAgLy8gd2lsbCBzdWNjZWVkIHNpbmNl
IEpBV1Qgc2hhcmVkIG9iamVjdCBpc24ndCBpbg0KICAgICAgICAvLyBkZWZhdWx0IGxpYnJhcnkg
cGF0aA0KICAgICAgICBib29sZWFuIGlzT1NYID0gU3lzdGVtLmdldFByb3BlcnR5KCJvcy5uYW1l
IikuZXF1YWxzKCJNYWMgT1MgWCIpOw0KICAgICAgICBTdHJpbmdbXSBwcmVsb2FkID0geyAiamF3
dCIgfTsNCg0KICAgICAgICBsb2FkTGlicmFyeSgiam9nbF9hd3QiLCBwcmVsb2FkLCAhaXNPU1gs
IGZhbHNlKTsNCiAgICAgICAgcmV0dXJuIG51bGw7DQogICAgICB9DQogICAgfSk7DQogIH0NCg0K
ICAvLyBTZWUgRFJJSGFjay5qYXZhIGluIGNvbS9zdW4vb3BlbmdsL2ltcGwveDExLyBmb3IgZGVz
Y3JpcHRpb24gb2YNCiAgLy8gd2h5IHRoaXMgaXMgbmVlZGVkDQogIHB1YmxpYyBzdGF0aWMgdm9p
ZCBsb2FkRFJJSGFjaygpIHsNCiAgICBBY2Nlc3NDb250cm9sbGVyLmRvUHJpdmlsZWdlZChuZXcg
UHJpdmlsZWdlZEFjdGlvbigpIHsNCiAgICAgIHB1YmxpYyBPYmplY3QgcnVuKCkgew0KICAgICAg
ICBsb2FkTGlicmFyeSgiam9nbF9kcmloYWNrIiwgbnVsbCwgZmFsc2UsIGZhbHNlKTsNCiAgICAg
ICAgcmV0dXJuIG51bGw7DQogICAgICB9DQogICAgfSk7DQogIH0NCiAgDQogIHB1YmxpYyBzdGF0
aWMgdm9pZCBsb2FkQ0dJbXBsKCkgew0KICAgIEFjY2Vzc0NvbnRyb2xsZXIuZG9Qcml2aWxlZ2Vk
KG5ldyBQcml2aWxlZ2VkQWN0aW9uKCkgew0KICAgICAgcHVibGljIE9iamVjdCBydW4oKSB7DQog
ICAgICAgIFN0cmluZ1tdIHByZWxvYWQgPSB7ICJjZyIsICJjZ0dMIiB9Ow0KICAgICAgICBsb2Fk
TGlicmFyeSgiam9nbF9jZyIsIHByZWxvYWQsIHRydWUsIHRydWUpOw0KICAgICAgICByZXR1cm4g
bnVsbDsNCiAgICAgIH0NCiAgICB9KTsNCiAgfQ0KfQ0K
</data>

          </attachment>
      

    </bug>

</bugzilla>