Bug 130449 - GTK3: AutoFilter float dialog falls outside of visible window area which makes OK/Cancel button not usable
Summary: GTK3: AutoFilter float dialog falls outside of visible window area which make...
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.0.0.0.alpha0+
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.1.0 target:7.0.0.1
Keywords:
Depends on:
Blocks: Wayland GTK3-Dialog-High
  Show dependency treegraph
 
Reported: 2020-02-05 08:53 UTC by Kevin Suo
Modified: 2020-06-17 11:36 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
screenshot - autofilter set at "upper part" (bug) (105.00 KB, image/png)
2020-02-05 09:03 UTC, Kevin Suo
Details
screenshot - autofilter set at "lower part" (98.68 KB, image/png)
2020-02-05 09:04 UTC, Kevin Suo
Details
Screenshot 2020-04-07 (172.73 KB, image/png)
2020-04-06 16:20 UTC, Kevin Suo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Suo 2020-02-05 08:53:11 UTC
Steps to Reproduce:

Lets do an interesting math:

1. New spreadsheet, make the Calc window maximum size, then remember the last row number visible on the screen. I assume this value is n. On my screen, the last visible row is n = 28.5 = 29.

2. Divide n by 2. (i.e., for me, n/2 = 29/2 = 14.5 = 15.)
This means that the rows above 15 are upper part, while rows below 15 are lower part.

3. Input some data at the "upper part" (for me, I input "a" in a cell of row 14), set autofilter, then click the autofilter dropdown.

--> The the autofilter dropdown falls outside of the window area.

4. Input some data at the "lower part" (for me, I inserted a new row above 14, so the content "a" is now in row 15), set autofilter, then click the autofilter dropdown.

--> The the autofilter dropdown correctly appear at the visible window area.

This is a minimal case to trigger this bug. This makes autofilter not usable under GTK3 in real world cases.
Comment 1 Kevin Suo 2020-02-05 09:03:43 UTC
Created attachment 157656 [details]
screenshot - autofilter set at "upper part" (bug)

Version: 7.0.0.0.alpha0+
Build ID: 7d886eec953efa593708db9560d0e69ac12c99cf
CPU threads: 4; OS: Linux 5.4; UI render: default; VCL: gtk3; 
Locale: zh-CN (zh_CN.UTF-8); UI-Language: en-US
Calc: threaded
Comment 2 Kevin Suo 2020-02-05 09:04:45 UTC
Created attachment 157657 [details]
screenshot - autofilter set at "lower part"
Comment 3 Xisco Faulí 2020-02-21 15:53:13 UTC
I can't reproduce it in

Version: 7.0.0.0.alpha0+
Build ID: d7cab304e7dd22fd12443a1ee3b6a9c463bf9a3d
CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded
Comment 4 Xisco Faulí 2020-04-06 15:14:54 UTC
Hi Kevin,
Do you still reproduce this issue with the latest master build? If so, could you please attach a screencast on how to reproduce the issue ?
Comment 5 Kevin Suo 2020-04-06 16:20:33 UTC
Created attachment 159365 [details]
Screenshot 2020-04-07

Yes, I can still reproduce with:

版本: 7.0.0.0.alpha0+
Build ID: 6c7d51643634a4a4111f673760567e10e48467d0
CPU 线程: 4; 操作系统: Linux 5.5; UI 渲染: 默认; VCL: gtk3; 
区域语言: zh-CN (zh_CN.UTF-8); UI 语言: zh-CN
Calc: threaded


Also on 6.3.5.

Fedora 31
1366*768 display.

This issue seems not limited to the "1/2" upper part as I originally described. As shown in the attached screenshot, now it is in row #9.
Comment 6 Kevin Suo 2020-04-06 16:32:32 UTC
By the way, it seems that this issue is specific to Wayland.
If I switch to "Gnome on Xorg" mode, the autofilter flow dialog properly jumps to a visible area.
Comment 7 Caolán McNamara 2020-06-16 20:35:11 UTC
a gdk_window_move_to_rect with GDK_ANCHOR_SLIDE added to it might give an acceptable result in this case
Comment 8 Commit Notification 2020-06-17 08:17:00 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/76fab297b1e4aec8b8eaefbb58c261cb16fa17d5

tdf#130449 allow gdk_window_move_to_rect to try GDK_ANCHOR_SLIDE

It will be available in 7.1.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2020-06-17 10:06:56 UTC
Caolán McNamara committed a patch related to this issue.
It has been pushed to "libreoffice-7-0":

https://git.libreoffice.org/core/commit/17971fbdc89f7218c6bf5c3c88796927c71856bb

tdf#130449 allow gdk_window_move_to_rect to try GDK_ANCHOR_SLIDE

It will be available in 7.0.0.1.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 10 Caolán McNamara 2020-06-17 10:13:07 UTC
that seems to solve it as best as is possible under wayland
Comment 11 Kevin Suo 2020-06-17 11:34:13 UTC
I confirm it is now fixed on master.
Comment 12 Kevin Suo 2020-06-17 11:36:18 UTC
Is it possible to be backported to 6.4 branch as well?