Support for GTK 2 & 3 now in JFX
Jim Graham
james.graham at oracle.com
Mon May 16 20:01:19 UTC 2016
These may both be related to the HiDPI fix instead. I added a usage of
g_settings in that fix that went in on Friday. It looks like I'll have
to check for the schema existing before I access it.
Can you file a bug report?
(On a side note, the call that grabs the schema does not have a "schema
not known" return value - if you ask for a schema that doesn't exist
they abort your application. Seems kind of drastic, but the bug reports
that request that they simply return null were met with push back
because the developers couldn't imagine why anyone would want such a
thing (huh?) and later an attempt to return NULL on unrecognized schemas
and keys had to be backed out because of the huge disaster the NULL
values caused (and somehow ABORT'ing on behalf of the application is
better in that case?). Unfortunately I don't see much sanity in those
APIs or any support for a case like this of "I'd like to get that value,
but if you haven't heard of it, that's fine as I have a backup plan".
The only way around this will be to enumerate all schemas and all keys
and see if the ones we want are found in the list - a rather extreme
workaround for bad error handling behavior in their APIs...)
...jim
On 05/16/2016 05:15 AM, Erik De Rijcke wrote:
> I ran into several issues, however I'm not sure they are related to gtk3
>
> first of all it seems there is a dependency on: gsettings-desktop-schemas.
> I'm not sure how desirable this is (I did not have it installed, installing
> it fixed the error but I can image people not wanting to install it?)
>
> Second, and this seems unrelated to gtk(3?), the screen initialization
> fails (test was done using gentoo linux on virtualbox with windows 7 as
> host):
>
> Exception in thread "JavaFX Application Thread"
> java.lang.IllegalArgumentException: Both width and height must be >= 0
>
> at javafx.geometry.Rectangle2D.<init>(Rectangle2D.java:104)
> at javafx.stage.Screen.nativeToScreen(Screen.java:152)
> at javafx.stage.Screen.updateConfiguration(Screen.java:88)
> at javafx.stage.Screen.checkDirty(Screen.java:82)
> at javafx.stage.Screen.getPrimary(Screen.java:185)
> at
> com.sun.javafx.tk.quantum.QuantumToolkit.initSceneGraph(QuantumToolkit.java:298)
> at
> com.sun.javafx.tk.quantum.QuantumToolkit.runToolkit(QuantumToolkit.java:340)
> at
> com.sun.javafx.tk.quantum.QuantumToolkit.lambda$startup$10(QuantumToolkit.java:257)
> at com.sun.glass.ui.Application.lambda$run$1(Application.java:155)
> at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
> at
> com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$7(GtkApplication.java:194)
> at java.lang.Thread.run(Thread.java:804)
>
>
> Nearly all values seem to be -2147483648
>
>
> I used openjdk9 109 as per instructions of the wiki, and the latest javafx
> dev.
>
>
> On Mon, May 9, 2016 at 8:56 PM, Jim Graham <james.graham at oracle.com> wrote:
>
>> Should we integrate that into prism.verbose output?
>>
>> ...jim
>>
>>
>> On 5/9/16 6:18 AM, David Hill wrote:
>>
>>>
>>> I added a new feature Friday and would like some help testing it.
>>>
>>> This new feature (8087516: Conditional support for GTK 3 on Linux) allows
>>> us to use either GTK v2 or 3 with JavaFX.
>>>
>>> The default has not changed - we will use gtk 2 by preference.
>>>
>>> The help I need is for anyone doing testing on Linux with the current
>>> tree - like todays sanity testing. Adding
>>>
>>> -Djdk.gtk.verbose=true
>>>
>>> should output the version detected and used. I would appreciate a paste
>>> of that along with the OS version.
>>>
>>> -Djdk.gtk.version=3
>>>
>>> toggles the preferred version to GTK 3. Testing using that toggled would
>>> also be appreciated, along with a note to me
>>> with the OS version.
>>>
>>> thanks!
>>>
>>>
More information about the openjfx-dev
mailing list