Closed Bug 1456451 Opened 7 years ago Closed 7 years ago

[CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar()

Categories

(Core :: Widget: Gtk, defect, P2)

Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox61 --- fixed
firefox62 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Toplevel GdkWindow is re-created at nsWindow::SetDrawsInTitlebar() we also need to set correct window attributes as we do at nsWindow::Create(). It means to set _NET_WM_BYPASS_COMPOSITOR and gdk_window_set_role()/XSetClassHint.
Priority: -- → P2
Comment on attachment 8970850 [details] Bug 1456451 - [CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar(), https://reviewboard.mozilla.org/r/239632/#review249166 ::: commit-message-6eeb9:9 (Diff revision 2) > +at nsWindow::SetDrawsInTitlebar(). > + > +Window role/class is handled by nsWindow::RefreshWindowClass(), it uses stored window class > +passed to nsWindow::SetWindowClass(). > + > +Also set "nsWindow" data property to new mGdkWindow as we do at nsWindow::Create(). Are you sure? I don't see any touching mGdkWindow in the code. ::: widget/gtk/nsWindow.h:492 (Diff revision 2) > + GTK_WIDGET_COMPOSIDED_ENABLED = 2 > + } WindowComposeRequest; > + > + void SetCompositorHint(WindowComposeRequest aState); > +#endif > + char *mGtkWindowTypeName; I guess you're leaking mGtkWindowTypeName when window is closed/destroyed.
Comment on attachment 8970850 [details] Bug 1456451 - [CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar(), https://reviewboard.mozilla.org/r/239632/#review249174 ::: commit-message-6eeb9:9 (Diff revision 2) > +at nsWindow::SetDrawsInTitlebar(). > + > +Window role/class is handled by nsWindow::RefreshWindowClass(), it uses stored window class > +passed to nsWindow::SetWindowClass(). > + > +Also set "nsWindow" data property to new mGdkWindow as we do at nsWindow::Create(). You're right, that's already checked in.
Comment on attachment 8970850 [details] Bug 1456451 - [CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar(), https://reviewboard.mozilla.org/r/239632/#review249510
Attachment #8970850 - Flags: review?(jhorak) → review+
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/b44a1b57b301 [CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar(), r=jhorak
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Is this something that needs uplift consideration for 61, or can it ride the trains?
Flags: needinfo?(stransky)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #10) > Is this something that needs uplift consideration for 61, or can it ride the > trains? Yes, it may be uplifted after some testing time at nightly.
Flags: needinfo?(stransky)
Please nominate this for Beta (and ESR60?) approval if this has baked long enough.
Flags: needinfo?(stransky)
Comment on attachment 8970850 [details] Bug 1456451 - [CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar(), Approval Request Comment [Feature/Bug causing the regression]: Bug 1283299 [User impact if declined]: Various Gtk+/system integration issues (missing/misplaced mouse clicks, missing Firefox window grouping and so on) [Is this code covered by automated tests?]: no [Has the fix been verified in Nightly?]: yes [Needs manual test from QE? If yes, steps to reproduce]: no [List of other uplifts needed for the feature/fix]: none [Is the change risky?]: low risk [Why is the change risky/not risky?]: Not risky, it reuses an existing code and applies it to newly created GtkWindow. [String changes made/needed]: none
Flags: needinfo?(stransky)
Attachment #8970850 - Flags: approval-mozilla-beta?
Comment on attachment 8970850 [details] Bug 1456451 - [CSD] Update toplevel GdkWindow property when it's recreated at nsWindow::SetDrawsInTitlebar(), Fixes various window issues with tabs in the titlebar enabled on Linux. Approved for 61.0b10.
Attachment #8970850 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: