<?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>1429</bug_id>
          
          <creation_ts>2022-06-22 13:04:34 +0200</creation_ts>
          <short_desc>JOGL incompatible with SWT 4.20</short_desc>
          <delta_ts>2023-01-24 08:53:45 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>swt</component>
          <version>2.4.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Peter Chang">peter.chang</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>DEFECT</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>6749</commentid>
    <comment_count>0</comment_count>
      <attachid>855</attachid>
    <who name="Peter Chang">peter.chang</who>
    <bug_when>2022-06-22 13:04:34 +0200</bug_when>
    <thetext>Created attachment 855
Diff to patch SWTAccessor

We updated the target platform to 2021-09 for our Eclipse RCP application that uses JOGL (via Jzy3d) and found an issue.

When JOGL&apos;s SWTAccessor class is loaded (for a NewtCanvasSWT or GLCanvas), it initializes some field to point to methods in SWT&apos;s internal classes. The recent release of SWT 4.20 separated some gtk methods off to gtk3 and gtk4 specific bindings. This breaks the initialization code when looking for gtk_widget_get_window.

A patch from https://github.com/sgothel/jogl/pull/108 to fix the issue is attached. This patch adds a check for a gtk3 subpackage and finds the relocated methods in there. Note, this new package was not exported until SWT 4.23 (aka 3.119.0 or v4950) so intervening versions will not work when using OSGi class loading.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>6755</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2023-01-24 08:53:45 +0100</bug_when>
    <thetext>Support for SWT 4.26 has been added</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>855</attachid>
            <date>2022-06-22 13:04:34 +0200</date>
            <delta_ts>2022-06-22 13:04:34 +0200</delta_ts>
            <desc>Diff to patch SWTAccessor</desc>
            <filename>a85012696606080a474185fffc380e736a37eeaa.patch</filename>
            <type>text/plain</type>
            <size>3095</size>
            <attacher name="Peter Chang">peter.chang</attacher>
            
              <data encoding="base64">RnJvbSBhODUwMTI2OTY2MDYwODBhNDc0MTg1ZmZmYzM4MGU3MzZhMzdlZWFhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBDaGFuZyA8cGV0ZXIuY2hhbmdAZGlhbW9uZC5hYy51
az4KRGF0ZTogVGh1LCAxNCBBcHIgMjAyMiAxMzoxODo0OCArMDEwMApTdWJqZWN0OiBbUEFUQ0hd
IEFkZCBuZXcgY2xhc3MgbG9jYXRpb24gb2YgU1dUJ3MgZ3RrX3dpZGdldF9nZXRfd2luZG93CgpJ
biBTV1QgdmVyc2lvbiA0LjIwLCBzb21lIGd0ayBtZXRob2RzIG1vdmVkIHRvIGEgbmV3IGd0azMg
c3VicGFja2FnZSBzbyBhZGQKY2hlY2sgYW5kIGZpbmQgaXQgaW4gdGhlcmUuIE5vdGUsIHRoaXMg
bmV3IHBhY2thZ2Ugd2FzIG5vdCBleHBvcnRlZCB1bnRpbApTV1QgNC4yMyAoYWthIDMuMTE5LjAg
b3IgdjQ5NTApIHNvIGludGVydmVuaW5nIHZlcnNpb25zIHdpbGwgbm90IHdvcmsgd2hlbgp1c2lu
ZyBPU0dpIGNsYXNzIGxvYWRpbmcuCi0tLQogLi4uL2NvbS9qb2dhbXAvbmF0aXZld2luZG93L3N3
dC9TV1RBY2Nlc3Nvci5qYXZhICAgICAgIHwgMTAgKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQs
IDkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyYy9uYXRpdmV3
aW5kb3cvY2xhc3Nlcy9jb20vam9nYW1wL25hdGl2ZXdpbmRvdy9zd3QvU1dUQWNjZXNzb3IuamF2
YSBiL3NyYy9uYXRpdmV3aW5kb3cvY2xhc3Nlcy9jb20vam9nYW1wL25hdGl2ZXdpbmRvdy9zd3Qv
U1dUQWNjZXNzb3IuamF2YQppbmRleCA3ZjRhOTRjNWIzLi4wNWZjMWFhOGFmIDEwMDY0NAotLS0g
YS9zcmMvbmF0aXZld2luZG93L2NsYXNzZXMvY29tL2pvZ2FtcC9uYXRpdmV3aW5kb3cvc3d0L1NX
VEFjY2Vzc29yLmphdmEKKysrIGIvc3JjL25hdGl2ZXdpbmRvdy9jbGFzc2VzL2NvbS9qb2dhbXAv
bmF0aXZld2luZG93L3N3dC9TV1RBY2Nlc3Nvci5qYXZhCkBAIC05NSw2ICs5NSw3IEBAIHB1Ymxp
YyBjbGFzcyBTV1RBY2Nlc3NvciB7CiAKICAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcg
c3RyX09TX2d0a19jbGFzcyA9ICJvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwuZ3RrLk9TIjsgICAg
Ly8gdXNlZCBieSBlYXJsaWVyIHZlcnNpb25zIG9mIFNXVAogICAgIHByaXZhdGUgc3RhdGljIGZp
bmFsIFN0cmluZyBzdHJfR1RLX2d0a19jbGFzcyA9ICJvcmcuZWNsaXBzZS5zd3QuaW50ZXJuYWwu
Z3RrLkdUSyI7ICAvLyB1c2VkIGJ5IGxhdGVyIHZlcnNpb25zIG9mIFNXVAorICAgIHByaXZhdGUg
c3RhdGljIGZpbmFsIFN0cmluZyBzdHJfR1RLM19ndGtfY2xhc3MgPSAib3JnLmVjbGlwc2Uuc3d0
LmludGVybmFsLmd0azMuR1RLMyI7ICAvLyB1c2VkIGJ5IGxhdGVyIHZlcnNpb25zIG9mIFNXVCAo
NC4yMSspCiAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIHN0cl9HREtfZ3RrX2NsYXNz
ID0gIm9yZy5lY2xpcHNlLnN3dC5pbnRlcm5hbC5ndGsuR0RLIjsgIC8vIHVzZWQgYnkgbGF0ZXIg
dmVyc2lvbnMgb2YgU1dUCiAgICAgcHVibGljIHN0YXRpYyBmaW5hbCBDbGFzczw/PiBPU19ndGtf
Y2xhc3M7CiAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgU3RyaW5nIHN0cl9PU19ndGtfdmVyc2lv
biA9ICJHVEtfVkVSU0lPTiI7CkBAIC0xMjQsNiArMTI1LDggQEAgcHVibGljIGNsYXNzIFNXVEFj
Y2Vzc29yIHsKICAgICBwcml2YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgc3RyX2dka193aW5kb3df
c2V0X2JhY2tfcGl4bWFwID0gImdka193aW5kb3dfc2V0X2JhY2tfcGl4bWFwIjsKICAgICBwcml2
YXRlIHN0YXRpYyBmaW5hbCBTdHJpbmcgc3RyX2dka193aW5kb3dfc2V0X2JhY2tncm91bmRfcGF0
dGVybiA9ICJnZGtfd2luZG93X3NldF9iYWNrZ3JvdW5kX3BhdHRlcm4iOwogCisgICAgcHJpdmF0
ZSBzdGF0aWMgZmluYWwgaW50IFNXVF9WRVJTSU9OXzRfMjAgPSA0OTQ0OworCiAgICAgcHJpdmF0
ZSBzdGF0aWMgZmluYWwgVmVyc2lvbk51bWJlciBHVEtfVkVSU0lPTl8yXzE0XzAgPSBuZXcgVmVy
c2lvbk51bWJlcigyLCAxNCwgMCk7CiAgICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgVmVyc2lvbk51
bWJlciBHVEtfVkVSU0lPTl8yXzI0XzAgPSBuZXcgVmVyc2lvbk51bWJlcigyLCAyNCwgMCk7CiAg
ICAgcHJpdmF0ZSBzdGF0aWMgZmluYWwgVmVyc2lvbk51bWJlciBHVEtfVkVSU0lPTl8yXzkwXzAg
PSBuZXcgVmVyc2lvbk51bWJlcigyLCA5MCwgMCk7CkBAIC0yNjEsNyArMjY0LDEyIEBAIHB1Ymxp
YyBPYmplY3QgcnVuKCkgewogICAgICAgICAgICAgICAgIF9ndGtfdmVyc2lvbiA9IEdUS19WRVJT
SU9OKGZpZWxkX09TX2d0a192ZXJzaW9uLmdldEludChudWxsKSk7CiAgICAgICAgICAgICAgICAg
bTEgPSBjR1RLLmdldERlY2xhcmVkTWV0aG9kKHN0cl9ndGtfd2lkZ2V0X3JlYWxpemUsIGhhbmRs
ZVR5cGUpOwogICAgICAgICAgICAgICAgIGlmIChfZ3RrX3ZlcnNpb24uY29tcGFyZVRvKEdUS19W
RVJTSU9OXzJfMTRfMCkgPj0gMCkgewotICAgICAgICAgICAgICAgICAgICBtNCA9IGNHVEsuZ2V0
RGVjbGFyZWRNZXRob2Qoc3RyX2d0a193aWRnZXRfZ2V0X3dpbmRvdywgaGFuZGxlVHlwZSk7Cisg
ICAgICAgICAgICAgICAgICAgIGlmIChTV1QuZ2V0VmVyc2lvbigpIDwgU1dUX1ZFUlNJT05fNF8y
MCkgeworICAgICAgICAgICAgICAgICAgICAgICAgbTQgPSBjR1RLLmdldERlY2xhcmVkTWV0aG9k
KHN0cl9ndGtfd2lkZ2V0X2dldF93aW5kb3csIGhhbmRsZVR5cGUpOworICAgICAgICAgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3M8Pz4gY0dUSzMgPSBS
ZWZsZWN0aW9uVXRpbC5nZXRDbGFzcyhzdHJfR1RLM19ndGtfY2xhc3MsIGZhbHNlLCBjbCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBtNCA9IGNHVEszLmdldERlY2xhcmVkTWV0aG9kKHN0cl9n
dGtfd2lkZ2V0X2dldF93aW5kb3csIGhhbmRsZVR5cGUpOworICAgICAgICAgICAgICAgICAgICB9
CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgbTMgPSBjR1RL
LmdldERlY2xhcmVkTWV0aG9kKHN0cl9HVEtfV0lER0VUX1dJTkRPVywgaGFuZGxlVHlwZSk7CiAg
ICAgICAgICAgICAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>