diff options
Diffstat (limited to 'pango/pangoxft-fontmap.c')
-rw-r--r-- | pango/pangoxft-fontmap.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pango/pangoxft-fontmap.c b/pango/pangoxft-fontmap.c index b8cdf304..9d210b50 100644 --- a/pango/pangoxft-fontmap.c +++ b/pango/pangoxft-fontmap.c @@ -143,8 +143,9 @@ close_display_cb (Display *display, GSList *tmp_list; G_LOCK (fontmaps); + tmp_list = g_slist_copy (fontmaps); + G_UNLOCK (fontmaps); - tmp_list = fontmaps; while (tmp_list) { PangoXftFontMap *xftfontmap = tmp_list->data; @@ -154,9 +155,9 @@ close_display_cb (Display *display, pango_xft_shutdown_display (display, xftfontmap->screen); } - registered_displays = g_slist_remove (registered_displays, display); + g_slist_free (tmp_list); - G_UNLOCK (fontmaps); + registered_displays = g_slist_remove (registered_displays, display); return 0; } |