st-texture-cache: purge on resume
With the proprietary nvidia driver, textures get garbled on suspend, so the texture cache needs to evict all textures in that situation.
This commit is contained in:
parent
68c631223c
commit
0507fef4cd
@ -207,7 +207,13 @@ function _initializeUI() {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
global.display.connect('gl-video-memory-purged', loadTheme);
|
global.display.connect('gl-video-memory-purged', () => {
|
||||||
|
let cache = St.TextureCache.get_default();
|
||||||
|
|
||||||
|
cache.clear();
|
||||||
|
|
||||||
|
loadTheme();
|
||||||
|
});
|
||||||
|
|
||||||
// Provide the bus object for gnome-session to
|
// Provide the bus object for gnome-session to
|
||||||
// initiate logouts.
|
// initiate logouts.
|
||||||
|
@ -105,6 +105,18 @@ st_texture_cache_class_init (StTextureCacheClass *klass)
|
|||||||
G_TYPE_NONE, 1, G_TYPE_FILE);
|
G_TYPE_NONE, 1, G_TYPE_FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Evicts all cached textures */
|
||||||
|
void
|
||||||
|
st_texture_cache_clear (StTextureCache *cache)
|
||||||
|
{
|
||||||
|
GHashTableIter iter;
|
||||||
|
gpointer key;
|
||||||
|
gpointer value;
|
||||||
|
|
||||||
|
g_hash_table_remove_all (cache->priv->keyed_cache);
|
||||||
|
g_signal_emit (cache, signals[ICON_THEME_CHANGED], 0);
|
||||||
|
}
|
||||||
|
|
||||||
/* Evicts all cached textures for named icons */
|
/* Evicts all cached textures for named icons */
|
||||||
static void
|
static void
|
||||||
st_texture_cache_evict_icons (StTextureCache *cache)
|
st_texture_cache_evict_icons (StTextureCache *cache)
|
||||||
|
@ -52,6 +52,7 @@ typedef enum {
|
|||||||
} StTextureCachePolicy;
|
} StTextureCachePolicy;
|
||||||
|
|
||||||
StTextureCache* st_texture_cache_get_default (void);
|
StTextureCache* st_texture_cache_get_default (void);
|
||||||
|
void st_texture_cache_clear (StTextureCache *cache);
|
||||||
|
|
||||||
ClutterActor *
|
ClutterActor *
|
||||||
st_texture_cache_load_sliced_image (StTextureCache *cache,
|
st_texture_cache_load_sliced_image (StTextureCache *cache,
|
||||||
|
Loading…
Reference in New Issue
Block a user