Skip to content

Conversation

@sharkautarch
Copy link

Fixes issue: #1690

@sharkautarch sharkautarch force-pushed the steam_notification_crash_fix_attempt_v2 branch from e97365f to ec07763 Compare January 23, 2025 18:00
@dyfrgi
Copy link

dyfrgi commented Mar 18, 2025

If I understand this patch correctly, what it's doing is saying that, if the plane we're trying to present has source X or source Y below zero, source width or source height very close to zero, or destwidth or destheight <= 0, don't present it.

But why are those being sent to begin with? And why does having moderately large output size lead to this? It seems like there is some bad math elsewhere which is causing the issue. I suspect that the plane containing the Steam notification meets the characteristics described above and that's why the notification is no longer visible.

Did you consider reusing ClipPlane?

Reading through WaylandBackend.cpp, there's a lot of math there which makes a lot of unstated and unchecked assumptions about the relationships between the sizes and offsets of source and target surfaces. I wonder if going through and adding some assert() statements akin to what you have here might bear some fruit in finding where the bad data is coming from.

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.

2 participants