diff --git a/thunar/thunar-file.c b/thunar/thunar-file.c index 3187c8594bfaa04785dcf81f150d5fc9c3fd2d4b..0dd11cd5808f8d6fb3e588575048268853b547e1 100644 --- a/thunar/thunar-file.c +++ b/thunar/thunar-file.c @@ -66,6 +66,7 @@ #include <thunar/thunar-user.h> #include <thunar/thunar-util.h> #include <thunar/thunar-dialogs.h> +#include <thunar/thunar-icon-factory.h> @@ -3456,6 +3457,9 @@ thunar_file_reload (ThunarFile *file) { _thunar_return_if_fail (THUNAR_IS_FILE (file)); + /* clear file pxmap cache */ + thunar_icon_factory_clear_pixmap_cache (file); + if (!thunar_file_load (file, NULL, NULL)) { /* destroy the file if we cannot query any file information */ diff --git a/thunar/thunar-icon-factory.c b/thunar/thunar-icon-factory.c index 2f66ce9fb8b41280414d393f7bce0c83b96d2b81..2826e228e578bfe542985b2e649259514949436d 100644 --- a/thunar/thunar-icon-factory.c +++ b/thunar/thunar-icon-factory.c @@ -879,5 +879,6 @@ thunar_icon_factory_clear_pixmap_cache (ThunarFile *file) _thunar_return_if_fail (THUNAR_IS_FILE (file)); /* unset the data */ - g_object_set_qdata (G_OBJECT (file), thunar_icon_factory_store_quark, NULL); + if (thunar_icon_factory_store_quark != 0) + g_object_set_qdata (G_OBJECT (file), thunar_icon_factory_store_quark, NULL); }