hg: openjfx/8/graphics/rt: 4 new changesets

hang.vo at oracle.com hang.vo at oracle.com
Sun Apr 14 03:19:05 PDT 2013

Changeset: 0558041da95d
Author:    Assaf Yavani
Date:      2013-04-14 12:47 +0300
URL:       http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/0558041da95d

Bellow is a webrev for fixing RT-24720 - EGLFB: Minimize (SetIconified) button does not minimized the window.

Please note that this bug was opened for minimizing window with 2 stages (see bug attached test and Diana notes).
This fix comes to solve this problem that caused by 2 things:
1. Problems with Lens state machine and notifications
2. Problems with Glass window list.

Regarding the issue to minimize a single stage is not covered by this webrev and not by this bug.
I have opened RT-29173 to cover this case.
Probably will be addressed in a different phase as other tasks rushing in the pipeline for beta and solving this case seems relatively minor after the common case functionality is working.

Most of the work was done in LensWindowManager to simplify and separate window state operations (minimize/restore/maximize/fullscreen), this resulted in:

    All window sate changes doesn't require repaint!
    Now there is a single function which handle restore from any state
    Due to the restore function window can move from any state to any state (wasn't possible before)
    Simplified implementation . For example minimize call is implement like this:
    if (toMinimize) {
        lens_wm_windowMinimize(env, window);
    } else {
        lens_wm_windowRestore(env, window);
    When window is loosing focus the next focusable window get it (although the Z order doesn't change, focused window always on top? I think yes)
    No checks are required for resetting the focus or loosing the grab. the service functions do it for the caller, which now can call the functions to insure the desired state, regardless to the current.
    glass_window_check_bounds() - now report if bounds were been modified to fit window's constrains
    If exception is thrown the Lens code doesn't get executed (might caused a nasty crash)
    ESC button now works in full screen mode
    Fixed crashes by moving  fbScanLineSize and fbScanLine initialization from glass_pixel_attachIntBuffer() to lens_screen_initialize() as they are global variable that can be used in glass_screen_clear before getting initialized.
    And more...

The fix was tested on the BB in EGL & DFB modes using modified version of the application written by Diana (attached). The test application allow you to switch from state to state.

! glass/glass-lib-lens/src/LensCommon.h
! glass/glass-lib-lens/src/LensWindow.c
! glass/glass-lib-lens/src/wm/LensWindowManager.c
! glass/glass-lib-lens/src/wm/LensWindowManager.h
! glass/glass-lib-lens/src/wm/screen/dfbScreen.c
! glass/glass-lib-lens/src/wm/screen/fbdevScreen.c
! glass/glass-lib-lens/src/wm/screen/headlessScreen.c
! glass/glass/src/com/sun/glass/events/WindowEvent.java
! glass/glass/src/com/sun/glass/ui/Window.java
! glass/glass/src/com/sun/glass/ui/lens/LensApplication.java

Changeset: a2f771ac7797
Author:    Assaf Yavani
Date:      2013-04-14 12:49 +0300
URL:       http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/a2f771ac7797

[RT-24720] (minor) log messages update

! glass/glass-lib-lens/src/LensCommon.h
! glass/glass-lib-lens/src/LensWindow.c
! glass/glass-lib-lens/src/wm/LensWindowManager.c

Changeset: b7964247065d
Author:    Assaf Yavani
Date:      2013-04-14 12:50 +0300
URL:       http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/b7964247065d

[RT-24720] - (minor) webrev fixes update

! glass/glass-lib-lens/src/LensCommon.h
! glass/glass-lib-lens/src/wm/LensWindowManager.c
! glass/glass-lib-lens/src/wm/screen/fbdevScreen.c

Changeset: a93a052b538f
Author:    Assaf Yavani
Date:      2013-04-14 12:51 +0300
URL:       http://hg.openjdk.java.net/openjfx/8/graphics/rt/rev/a93a052b538f

[RT-24720] - Calling galss Window.add() / Window.remove() from native in order not to change common code

! glass/glass-lib-lens/src/LensApplication.c
! glass/glass-lib-lens/src/LensCommon.h
! glass/glass-lib-lens/src/wm/LensWindowManager.c
! glass/glass/src/com/sun/glass/ui/Window.java

More information about the openjfx-dev mailing list