https://bugs.freedesktop.org/show_bug.cgi?id=70963

          Priority: medium
            Bug ID: 70963
          Assignee: [email protected]
           Summary: Save dialog can appear outside the viewport with
                    multi-page desktops
          Severity: major
    Classification: Unclassified
                OS: Linux (All)
          Reporter: [email protected]
          Hardware: Other
            Status: UNCONFIRMED
           Version: 4.1.2.3 release
         Component: UI
           Product: LibreOffice

Under some conditions described below, the Save dialog can appear outside the
viewport. In some cases, the unchanged data cannot be saved and are lost (even
after LibreOffice's recovery feature). I first reported this bug on the Debian
BTS:

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728106

To reproduce the bug, you need the Fvwm window manager (or any window manager
that works in a similar way to implement multi-page desktops). Use the
following desktop config:

  DeskTopSize 3x2

(2x1 is sufficient, but the 3 pages positioned horizontally help to see what
happens) and the FvwmPager module. Then do the following steps:

1. On Page 2, open a first file with "libreoffice file1.odt", and modify it
(but do not save it).

2. On Page 3, open a second file with: "libreoffice file2.odt". So, one has:

  |  Page 1   |  Page 2   |  Page 3   |
  |           | file1.odt | file2.odt |
  |           |           |  VISIBLE  |

3. In the file2.odt window, type Ctrl-Q to quit.

LibreOffice switches to Page 2 (perhaps by raising or giving the focus to the
file1.odt window), and the "Save" dialog appears on Page 1 instead of Page 2:

  |  Page 1   |  Page 2   |  Page 3   |
  |  "Save"   | file1.odt | file2.odt |
  |           |  VISIBLE  |           |

More precisely, FvwmDebug information shows that the X coordinate of the "Save"
dialog is a large negative number, which corresponds to the left of the
currently visible page. If file1.odt is on the leftmost page, the "Save" dialog
doesn't appear at all, and the user can't do anything to save the file (which
is what I initially reported on the Debian BTS, after finding information with
FvwmDebug).

I think that the following happens when LibreOffice wants to display the "Save"
dialog over the file1.odt window (after receiving the Ctrl-Q). I haven't looked
at the sources, but this can explain what I could see above:

First, I don't know exactly how fvwm implements multi-page desktops, but I
think it does that by translating the coordinates of the windows. That's why,
for instance, a window can appear partly on two adjacent pages. So, when I move
to the right page, the X coordinates of the windows on the left page become
negative.

1. LibreOffice gets the coordinates of the file1.odt window (currently
negative, as on Page 2, while Page 3 of the desktop is being displayed), with
the goal to display the "Save" window above the file1.odt window.

2. LibreOffice makes fvwm switch to Page 2 (perhaps by raising or giving the
focus to the file1.odt window). This makes fvwm translate the coordinates of
all the windows at the same time.

3. LibreOffice opens the "Save" window, using the coordinates obtained in (1).
But the problem is that these coordinates are not up-to-date!

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to