Bug 1466377 - [Wayland] noautohide popups issues (position, not mouse transparent)
[Wayland] noautohide popups issues (position, not mouse transparent)
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: firefox (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Martin Stransky
Fedora Extras Quality Assurance
:
Depends On:
Blocks: ffwayland
  Show dependency treegraph
 
Reported: 2017-06-29 09:46 EDT by Martin Stransky
Modified: 2017-07-04 04:15 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-07-03 08:12:09 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Fix undefined reference for gtk_widget_input_shape_combine_region (765 bytes, patch)
2017-07-03 21:14 EDT, Hiroshi Hatake
no flags Details | Diff

  None (edit)
Description Martin Stransky 2017-06-29 09:46:04 EDT
Description of problem:

https://github.com/stransky/gecko-dev

Hamburger popup menu opened from tutorial (after firefox nightly first launch) is misplaced and crashes browser/gnome-shell when clicked.
Comment 1 Martin Stransky 2017-07-03 03:20:26 EDT
The popup is created as noautohide which is created as GTK_WINDOW_TOPLEVEL on X11. We need to use GTK_WINDOW_POPUP for all popups on Wayland.
Comment 2 Martin Stransky 2017-07-03 04:27:45 EDT
https://github.com/stransky/gecko-dev/commit/6dd374336a60c59ca69abe23c1be7525ec541028 fixes window position but the underlying window still can't be clicked.
Comment 3 Martin Stransky 2017-07-03 06:49:41 EDT
The click issue is caused by wrong handling of nsWindow::mMouseTransparent flag.
Comment 4 Martin Stransky 2017-07-03 08:12:09 EDT
Mouse transparency is fixed by
https://github.com/stransky/gecko-dev/commit/407da29d3c58cb40e8846c3b3c1abbc3e22ffacf
Comment 5 Hiroshi Hatake 2017-07-03 21:14 EDT
Created attachment 1294016 [details]
Fix undefined reference for gtk_widget_input_shape_combine_region

Perhaps, this patch is needed to fix undefined reference?

Otherwise, I've got the following error (Sorry for contaminated Japanese message):

 1:27.00     INPUT("StaticXULComponentsEnd/StaticXULComponentsEnd.o")
 1:27.00 
 1:27.00 ../../widget/gtk/nsWindow.o: 関数 `nsWindow::Create(nsIWidget*, void*, mozilla::gfx::IntRectTyped<mozilla::LayoutDevicePixel> const&, nsWidgetInitData*)' 内:
 1:27.00 /home/hhatake/GitHub/gecko-dev-stransky/widget/gtk/nsWindow.cpp:3853: `gtk_widget_input_shape_combine_region' に対する定義されていない参照です
 1:27.00 collect2: error: ld returned 1 exit status
 1:27.16 /home/hhatake/GitHub/gecko-dev-stransky/config/rules.mk:719: ターゲット 'libxul.so' のレシピで失敗しました
Comment 6 Hiroshi Hatake 2017-07-03 23:14:16 EDT
(In reply to Martin Stransky from comment #3)
> The click issue is caused by wrong handling of nsWindow::mMouseTransparent
> flag.

I've confirmed that the click issue remains on Weston 1.12.0 with GTK+3 3.22 and Wayland 1.12.0.
Using GNOME on Wayland solves the click issue?
Comment 7 Martin Stransky 2017-07-04 01:59:03 EDT
Yes, you're correct, I missed the mozgtk.c part of the fix. Thanks. I'll check the Weston for the bug.
Comment 8 Martin Stransky 2017-07-04 02:56:24 EDT
Added the missing linkage as commit de7ad4e633e6acb32a2a0d1403ef1a8c0539ad95.

(In reply to Hiroshi Hatake from comment #6)
> Using GNOME on Wayland solves the click issue?

Yes, I'm testing on gnome-shell. Weston usually contains various bugs and does not follow specifications (does not send focus on popup grab for instance or automatically invalidates wl_surface on buffer switch).
Comment 9 Martin Stransky 2017-07-04 03:03:00 EDT
(In reply to Hiroshi Hatake from comment #6)
> I've confirmed that the click issue remains on Weston 1.12.0 with GTK+3 3.22
> and Wayland 1.12.0.

I tested on weston-2.0.0-1.fc26.x86_64 and gtk3-3.22.16-1.1.fc26.x86_64 and the clicking works for me.
Comment 10 Hiroshi Hatake 2017-07-04 04:15:40 EDT
Thanks for confirming it.
I still got the clicking not to work.
I tested on weston 1.12.0-3 and libgtk-3-0 3.22.11-1 in Debian Stretch.

But I've also confirmed that using libgtk-3-0 3.22.16 which is built by myself is works for me.
Thanks for the confirm environment version information.
It is very helpful for us.

Note You need to log in before you can comment on or make changes to this bug.