Hi,

Ok. I think I got it:

a) if SWT is loaded first (which is th 99% case I guess) then you are
   finding out that you need to run with gtk2 or gtk3 by finding out
   what gtk libs are already loaded (webref
http://cr.openjdk.java.net/~ssadetsky/8156491/webrev.00/)

b) if JavaFX is loaded before SWT but SWT is on the classpath then you
   try to findout what SWT will load and align with that (webref
http://cr.openjdk.java.net/~ssadetsky/8157002/webrev.01/)

If that is correct all my concerns are addressed! There's one very
unlikely case:

a) one creates an OSGi-Application
b) one loads a JavaFX UI
c) loads an SWT-UI

Both webrefs won't address this case if not mistaken, but I have never
seen an application like that ;-)

Tom

On 23.11.16 13:32, Semyon Sadetsky wrote:
> On 11/23/2016 12:38 PM, Tom Schindl wrote:
> 
>>  From looking at the code I doubt your fix will work reliably in a
>> OSGi-Environment who is the Main deployment scenario for SWT and hence
>> FXCanvas!
>>
>> For sure you won't find the SWT-Library on the SystemClassloader and
>> whether you find it on the Thread-ContextClassloader is just gambling!
>>
>> The only area you for sure can detect the swt-library are the
>> swt-fx.jar-Classes because those are guaranteed to be loaded with a
>> classloader who can look up SWT-Libary classes like
>> "org.eclipse.swt.internal.gtk.OS"
> What is swt-fx.jar? Maybe you meant javafx-swt.jar?
>>
>> BTW: Is the statement below really correct?
>>
>> .... in JFX embeded into SWT scenarios JFX loads GTK primarily ...
>>
>> If you create an instance of FXCanvas SWT must have been loaded already
>> (You need to pass a parent Composite) so the native gtk-libs are there
>> already loaded.
> That's right concern. Actually the fix covers the scenario when swt.jar
> is on the classpath and may be potentially loaded in future with another
> GTK version (which will cause the process crash). The rest scenarios are
> covered by the 8156491 fix which I just posted for review.
> 
> --Semyon
>>
>> Tom
>>
>> On 22.11.16 14:51, Semyon Sadetsky wrote:
>>> Hello Kevin & David,
>>>
>>> Please review the fix for jfx9:
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8157002
>>>
>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8157002/webrev.00/
>>>
>>> In JFX embeded into SWT scenarios JFX loads GTK primarily. So SWT GTK
>>> version cannot be detected using the check for the loaded native library
>>> version.
>>>
>>> The fix proposes a way to detect if GTK version of swt.jar library is
>>> available on the classpath and tries to get the GTK version from SWT lib
>>> internal java classes.
>>>
>>> --Semyon
>>>
>>
> 


-- 
Thomas Schindl, CTO
BestSolution.at EDV Systemhaus GmbH
Eduard-Bodem-Gasse 5-7, A-6020 Innsbruck
http://www.bestsolution.at/
Reg. Nr. FN 222302s am Firmenbuchgericht Innsbruck

Reply via email to