frames: use correct variable in for loop assignment

update_context_styles is using the wrong variable when advancing
to the next key in the hash table which can cause an infinite
loop if # of variants is ever greater than 1.

This problem was originally reported here:

https://github.com/linuxmint/Cinnamon/issues/5254

The following patch was commited in Mint:

https://github.com/linuxmint/muffin/commit/6120bdde

This patch is just a shorter version of the Mint patch
and they deserve all the credit for the idea.

https://bugzilla.gnome.org/show_bug.cgi?id=780254
This commit is contained in:
Shantanu Goel 2017-03-18 21:10:45 -04:00 committed by Florian Müllner
parent aec4b4af97
commit 3a374a6db5

View File

@ -181,7 +181,7 @@ update_style_contexts (MetaFrames *frames)
frames->normal_style = meta_theme_create_style_info (screen, NULL); frames->normal_style = meta_theme_create_style_info (screen, NULL);
variants = g_hash_table_get_keys (frames->style_variants); variants = g_hash_table_get_keys (frames->style_variants);
for (variant = variants; variant; variant = variants->next) for (variant = variants; variant; variant = variant->next)
{ {
style_info = meta_theme_create_style_info (screen, (char *)variant->data); style_info = meta_theme_create_style_info (screen, (char *)variant->data);
g_hash_table_insert (frames->style_variants, g_hash_table_insert (frames->style_variants,