Skip to content
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

Fix freezes #1181

Merged
merged 4 commits into from
Feb 11, 2024
Merged

Fix freezes #1181

merged 4 commits into from
Feb 11, 2024

Conversation

yshui
Copy link
Owner

@yshui yshui commented Feb 6, 2024

Basically the idea we discussed on discord. I also look through ev_handle to make sure requests are flushed.

Copy link

codecov bot commented Feb 6, 2024

Codecov Report

Attention: 7 lines in your changes are missing coverage. Please review.

Comparison is base (037be5c) 36.35% compared to head (75d0b7b) 36.34%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             next    #1181      +/-   ##
==========================================
- Coverage   36.35%   36.34%   -0.02%     
==========================================
  Files          50       50              
  Lines       11469    11471       +2     
==========================================
- Hits         4170     4169       -1     
- Misses       7299     7302       +3     
Files Coverage Δ
src/picom.c 62.18% <100.00%> (ø)
src/event.c 69.06% <50.00%> (-0.67%) ⬇️

Instead of change window attributes back and forth, calculate the evmask
and set it just once. And also make sure the request is flushed.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Copy link
Collaborator

@absolutelynothelix absolutelynothelix left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good, builds and works for me. and the most importantly, fixes the issue.

two more things:

  1. there is a typo in the event: fix dumb bug in repair_win commit's message: "is show_all_xerrors is set";
  2. it may also fix the New backend causes occasional stutter/dropped updates #1040 (see Picom stops drawing during games, until alt-tab #1145 (comment)).

nitpicking session ended

src/event.c Outdated Show resolved Hide resolved
src/event.c Outdated Show resolved Hide resolved
src/event.c Outdated Show resolved Hide resolved
src/picom.c Outdated Show resolved Hide resolved
src/picom.c Show resolved Hide resolved
@yshui yshui force-pushed the defroster branch 2 times, most recently from a3aa275 to 7c357f7 Compare February 11, 2024 22:27
src/event.c Outdated Show resolved Hide resolved
Basically we won't call xcb_damage_subtract if show_all_xerrors is set,
which is very bad.

Fixes that, and also make sure the damage subtract request is flushed in
all branches.

Fixes: 1307d9e
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
See the added comments for details.

Fixes #1145
Fixes #1166
Fixes #1040?

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
@yshui yshui merged commit 7ada6db into next Feb 11, 2024
17 checks passed
@yshui yshui deleted the defroster branch February 11, 2024 23:12
absolutelynothelix added a commit that referenced this pull request Feb 29, 2024
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