[Windows] Stage coordinates in secondary display are not properly updated after changing settings of first display

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • None
    • Affects Version/s: None
    • Component/s: javafx
    • None

      On Windows, if a JavaFX application is running in a secondary display, and the first display is updated via System->Display->Scale (i.e. 100% -> 125%), there is no immediate notification of the updated origin, or via System->Display->Drag to rearrange displays (i.e, move 2nd display below the 1st one), there is a notification, but with DPI > 100% it has the wrong location.
       
      Only dragging and moving slightly the application updates the x/y origin to the correct location.

      To reproduce the issue, run the attached test with two displays.

      - Starting with scales of 125% and 100% in both displays, shows the stage at display 2: see pic "initial position - secondary screen.png", with values x/y 2296x366 (for two 1920x1080 displays)
      - Changing primary display to scale 150% doesn't change the location (still shows 2296x366), but pressing File->Open shows the context menu in an unexpected position, with a big offset. And dragging and moving just a bit the stage, shows totally different values, which are the correct ones (see "correct location after dragging.png", values 2043x366), and the context menu shows up again at the expected position.
      - Close the application, and start again with 125%-100%, with display 1 to the left, 2 to the right.
      - System->Display->Drag to rearrange->Apply, move display 2 below 1, with same x coordinate, and press Apply. Note there is a change in the x position (see "incorrect location after rearranging.png", value 376x1566), and pressing File->Open shows the context menu in an unexpected position, with a big offset. Again, dragging and moving just a bit the stage, shows totally different values, which are the correct ones (see "new correct location after dragging.png", values 2043x366), and the context menu shows up again at the expected position.

        1. RenderScaleTest.java
          2 kB
          Jose Pereda
        2. initial position - secondary screen.png
          4 kB
          Jose Pereda
        3. correct location after dragging.png
          4 kB
          Jose Pereda
        4. incorrect location after rearranging.png
          4 kB
          Jose Pereda
        5. new correct location after dragging.png
          4 kB
          Jose Pereda

            Assignee:
            Unassigned
            Reporter:
            Jose Pereda
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: