summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcaja-private/caja-icon-container.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c
index 40a02167..066da73f 100644
--- a/libcaja-private/caja-icon-container.c
+++ b/libcaja-private/caja-icon-container.c
@@ -4689,10 +4689,21 @@ style_updated (GtkWidget *widget)
{
CajaIconContainer *container;
- GTK_WIDGET_CLASS (caja_icon_container_parent_class)->style_updated (widget);
-
container = CAJA_ICON_CONTAINER (widget);
container->details->use_drop_shadows = container->details->drop_shadows_requested;
+
+ /* Don't chain up to parent, if this is a desktop container,
+ * because that resets the background of the window.
+ */
+ if (!caja_icon_container_get_is_desktop (container)) {
+ GTK_WIDGET_CLASS (caja_icon_container_parent_class)->style_updated (widget);
+ }
+
+ if (gtk_widget_get_realized (widget))
+ {
+ invalidate_label_sizes (container);
+ caja_icon_container_request_update_all (container);
+ }
#else
style_set (GtkWidget *widget,
GtkStyle *previous_style)
@@ -4709,7 +4720,6 @@ style_set (GtkWidget *widget,
container->details->use_drop_shadows = container->details->drop_shadows_requested && !frame_text;
caja_icon_container_theme_changed (CAJA_ICON_CONTAINER (widget));
-#endif
if (gtk_widget_get_realized (widget))
{
@@ -4719,6 +4729,7 @@ style_set (GtkWidget *widget,
/* Don't chain up to parent, because that sets the background of the window and we're doing
that ourself with some delay, so this would cause flickering */
+#endif
}
static gboolean