On 10/12/15 18:45, Semyon Sadetsky wrote:


On 12/10/2015 5:50 PM, Sergey Bylokhov wrote:
On 09/12/15 10:21, Semyon Sadetsky wrote:


On 12/8/2015 10:36 PM, Sergey Bylokhov wrote:
On 08/12/15 22:07, Semyon Sadetsky wrote:


On 12/8/2015 9:11 PM, Sergey Bylokhov wrote:
On 08.12.15 21:03, Semyon Sadetsky wrote:
The test fails on Ubuntu 14 as well. It only was discovered on
Ubunu 15
by QA.

In the bug description they said that it passes on Ubuntu 14.04. I
guess this is the reason why it was filed only now.
On my Ubuntu 14.04 it doesn't pass because of the same reason. Also
I've
read the same complains in the I-net. Can you confirm that your Ubuntu
14 passes the test?

The system on which it is passed is provided in the description.
This system you are talking about is not an Ubuntu 14. It uses
another WM:

gtee@stt-137:/export/local/aurora/sandbox$ export | grep DESKTOP
declare -x DESKTOP_SESSION="gnome"
declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
declare -x XDG_CURRENT_DESKTOP="GNOME"


I think this is because Compiz WM takes more control on windows for
enhanced effects and does extra work when desktop resolution has
changed.

I suggest at least check this with their developers via bug database.
Yes, I can file a bug there but not sure that there strict specs for
that functionality.
The fix solves the problem on our side for Ubuntu selectively, so
please
review it.

We should at least understand that we have a problem on our side.
It is relative... It is better to follow that our customers should not
have problems on their side.

But it is better to understand the problem instead of creating the
workarounds. For example standalone code below(copied from the jdk)
works as expected on ubuntu 14.04+unity. But the same code in jdk does
not work.

#include <X11/Xlib.h>
#include <strings.h>
#include <memory.h>
#include <stdlib.h>
#include <stdio.h>

int main ()
{
    Display* awt_display = XOpenDisplay(NULL);
    Window win = XCreateSimpleWindow(awt_display,
RootWindow(awt_display, 0), 0, 0, 10, 10,
                                     0, BlackPixel (awt_display, 0),
BlackPixel(awt_display, 0));
    XMapWindow(awt_display, win);
    Atom wmState = XInternAtom(awt_display, "_NET_WM_STATE", False);
    Atom wmStateFs = XInternAtom(awt_display,
                                 "_NET_WM_STATE_FULLSCREEN", False);
    XWindowAttributes attr;
    XEvent event;

    if (wmState == None || wmStateFs == None
            || !XGetWindowAttributes(awt_display, win, &attr)) {
        return;
    }

    memset(&event, 0, sizeof(event));
    event.xclient.type = ClientMessage;
    event.xclient.message_type = wmState;
    event.xclient.display = awt_display;
    event.xclient.window = win;
    event.xclient.format = 32;
    event.xclient.data.l[0] = 1; // 1==add, 0==remove
    event.xclient.data.l[1] = wmStateFs;

    XSendEvent(awt_display, attr.root, False,
               SubstructureRedirectMask | SubstructureNotifyMask,
               &event);
    XSync(awt_display, False);

    sleep(5);
    return(0);

}
It looks like you did not fully understand the issue. The problem shows
itself only after the screen with a full screen window is switched to
another resolution.

The test which I use to reproduce it in java(similar to native above) do not change the resolution, it does not work from the beginning:

import java.awt.*;

public class CycleDMImage extends Component
{
    static Frame frame;
    public static void main(String args[]) throws InterruptedException {

        GraphicsDevice gd =
                GraphicsEnvironment.getLocalGraphicsEnvironment().
                        getDefaultScreenDevice();
        if (!gd.isFullScreenSupported()) {
            System.err.println("FullScreen mode is not supported,"+
                    " the test is considered passed.");
            return;
        }

        Frame frame = new Frame();
        frame.setSize(400, 400);
        frame.setUndecorated(true);
        CycleDMImage comp = new CycleDMImage();
        frame.add(comp);
        frame.setVisible(true);
        gd.setFullScreenWindow(frame);
        Thread.sleep(5000);
        gd.setFullScreenWindow(null);
        System.exit(0);
    }
}






On 12/8/2015 8:37 PM, Sergey Bylokhov wrote:
Hi, Semyon.
Can you please provide an additional information why compiz in
ubuntu
15.10 require this. Is it specified/intended behavior or probably a
bug? since it works on ubuntu 14.04.

On 07.12.15 14:11, Semyon Sadetsky wrote:
Hello,

Please review fix for JDK9:

bug: https://bugs.openjdk.java.net/browse/JDK-8141528
webrev: http://cr.openjdk.java.net/~ssadetsky/8141528/webrev.00/

Compiz WM requires override redirect for full-screen window to
preserve
the full size upon display mode switching.

--Semyon















--
Best regards, Sergey.

Reply via email to