blur-effect: Properly clear background framebuffer
We want to completely clear the background framebuffer when switching back to ACTOR mode to make sure the `background_fb.framebuffer` check will fail in `update_background_fbo` when switching to BACKGROUND mode again. Otherwise the checks in `update_background_fbo` will return TRUE and we will keep using the background framebuffer that was created before switchig to ACTOR mode. While at it, also clear the background framebuffer completely when changing the actor to avoid the same issue here. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1000
This commit is contained in:
parent
dedbf0cb09
commit
4783d767d6
@ -513,6 +513,7 @@ shell_blur_effect_set_actor (ClutterActorMeta *meta,
|
||||
|
||||
/* clear out the previous state */
|
||||
clear_framebuffer_data (&self->actor_fb);
|
||||
clear_framebuffer_data (&self->background_fb);
|
||||
clear_framebuffer_data (&self->brightness_fb);
|
||||
clear_framebuffer_data (&self->blur[VERTICAL].data);
|
||||
clear_framebuffer_data (&self->blur[HORIZONTAL].data);
|
||||
@ -1049,7 +1050,7 @@ shell_blur_effect_set_mode (ShellBlurEffect *self,
|
||||
switch (mode)
|
||||
{
|
||||
case SHELL_BLUR_MODE_ACTOR:
|
||||
clear_framebuffer (self->background_fb.framebuffer);
|
||||
clear_framebuffer_data (&self->background_fb);
|
||||
break;
|
||||
|
||||
case SHELL_BLUR_MODE_BACKGROUND:
|
||||
|
Loading…
Reference in New Issue
Block a user