Closed Bug 1864382 Opened 1 year ago Closed 1 year ago

[Linux/X11] Always paint to mContainer widget

Categories

(Core :: Widget: Gtk, task)

task

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

Details

Attachments

(6 files)

On X11 we paint non-decorated windows to mShell and CSD windows to mContainer. We should unify our rendering and do paint to mContainer only as we do on Wayland.
That will provide only one rendering patch for both X11 and Wayland.

Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/8233590f5555 [Linux/X11] Always paint to mContainer r=emilio

Backed out for causing mochitests failures in test_panel.xhtml.

Flags: needinfo?(stransky)

Thanks, will look at it.

We may fix the test for Wayland too as it produces this and more errors.

Looks like we're hitting Bug 1775017 here. But we should solve it somehow as it affects Wayland too where we always paint to mContainer.

Flags: needinfo?(stransky)
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/7d2f6d4992ad [Linux/X11] Always paint to mContainer r=emilio https://hg.mozilla.org/integration/autoland/rev/d98e4d6c067d [Linux] Use gdk_window_get_root_origin() to get origin for popup windows too and apply workaround for Gtk3 < 3.24.35 r=emilio
Backout by ctuns@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5c80609922c5 Backed out 2 changesets for causing valgrind bustages CLOSED TREE

Looks like we're not releasing GtkWindow implementation object:

_gdk_x11_display_create_window_impl()
{
...
  impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL);
  window->impl = GDK_WINDOW_IMPL (impl);

Looks like we can't destroy the impl_x11 object of child window. For toplevel windows it's deleted if the window is closed but child (embedded) doesn't destroy it. This affects other Gtk applications too like gedit or gnome-terminal.

Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/64a25a56cdf1 [Linux/X11] Always paint to mContainer r=emilio https://hg.mozilla.org/integration/autoland/rev/8cfcb849655c [Linux] Use gdk_window_get_root_origin() to get origin for popup windows too and apply workaround for Gtk3 < 3.24.35 r=emilio https://hg.mozilla.org/integration/autoland/rev/103edea66a48 [Linux] Implement moz_container_unrealize() to explicitly destroy mContainer r=emilio https://hg.mozilla.org/integration/autoland/rev/b1c214141e4b [Linux] Update nsWindow logging r=emilio https://hg.mozilla.org/integration/autoland/rev/2c0e51ad0334 [Linux] Allow memleak of GdkWindow x11 inernals r=emilio
Regressions: 1866669
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/9727ecc85463 [Linux] Remove redundant mContainer checks r=emilio
Regressions: 1899299
Regressions: 1906224
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: