Skip to content

wl: Fix destroying CSDs in correct order (#3051) #3066

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 29, 2020

Conversation

ljrk0
Copy link
Contributor

@ljrk0 ljrk0 commented Oct 28, 2020

On Wayland, some compositors refuse to implement SSDs in which case we draw
primitive CSDs. However, the destructors were called in the wrong order,
leading to a dereference of an already freed object.

On Wayland, some compositors refuse to implement SSDs in which case we draw
primitive CSDs.  However, the destructors were called in the wrong order,
leading to a dereference of an already freed object.
@Luflosi
Copy link
Contributor

Luflosi commented Oct 28, 2020

Could you please also make a similar PR to GLFW?

@Luflosi
Copy link
Contributor

Luflosi commented Oct 28, 2020

@ljrk0
Copy link
Contributor Author

ljrk0 commented Oct 28, 2020

ah, sure!

ljrk0 added a commit to ljrk0/glfw that referenced this pull request Oct 28, 2020
On Wayland we implement Client-Side Decorations if the compositors do not
implement SSDs.  In that case, the destructors of the surfaces were called
in the wrong order, leading to a dereference of an already freed object.
We need to first destroy the subsurface before destroying the parent surface.

Related PR on kitty: kovidgoyal/kitty#3066
Related issue on kitty: kovidgoyal/kitty#3051
@kovidgoyal kovidgoyal merged commit f8d52b3 into kovidgoyal:master Oct 29, 2020
elmindreda pushed a commit to glfw/glfw that referenced this pull request Nov 30, 2020
On Wayland we implement Client-Side Decorations if the compositors do not
implement SSDs.  In that case, the destructors of the surfaces were called
in the wrong order, leading to a dereference of an already freed object.
We need to first destroy the subsurface before destroying the parent surface.

Related PR on kitty: kovidgoyal/kitty#3066
Related issue on kitty: kovidgoyal/kitty#3051

Closes #1798.
elmindreda pushed a commit to glfw/glfw that referenced this pull request Dec 14, 2020
On Wayland we implement Client-Side Decorations if the compositors do not
implement SSDs.  In that case, the destructors of the surfaces were called
in the wrong order, leading to a dereference of an already freed object.
We need to first destroy the subsurface before destroying the parent surface.

Related PR on kitty: kovidgoyal/kitty#3066
Related issue on kitty: kovidgoyal/kitty#3051

Closes #1798.

(cherry picked from commit 0dc1005)
elmindreda pushed a commit to glfw/glfw that referenced this pull request Jan 31, 2021
On Wayland we implement Client-Side Decorations if the compositors do not
implement SSDs.  In that case, the destructors of the surfaces were called
in the wrong order, leading to a dereference of an already freed object.
We need to first destroy the subsurface before destroying the parent surface.

Related PR on kitty: kovidgoyal/kitty#3066
Related issue on kitty: kovidgoyal/kitty#3051

Closes #1798.

(cherry picked from commit 0dc1005)
elmindreda pushed a commit to glfw/glfw that referenced this pull request Feb 9, 2021
On Wayland we implement Client-Side Decorations if the compositors do not
implement SSDs.  In that case, the destructors of the surfaces were called
in the wrong order, leading to a dereference of an already freed object.
We need to first destroy the subsurface before destroying the parent surface.

Related PR on kitty: kovidgoyal/kitty#3066
Related issue on kitty: kovidgoyal/kitty#3051

Closes #1798.

(cherry picked from commit 0dc1005)
swarnimarun pushed a commit to swarnimarun/glfw-meson that referenced this pull request Jul 9, 2022
On Wayland we implement Client-Side Decorations if the compositors do not
implement SSDs.  In that case, the destructors of the surfaces were called
in the wrong order, leading to a dereference of an already freed object.
We need to first destroy the subsurface before destroying the parent surface.

Related PR on kitty: kovidgoyal/kitty#3066
Related issue on kitty: kovidgoyal/kitty#3051

Closes glfw#1798.

(cherry picked from commit 0dc1005)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants