]> Pileus Git - ~andy/gtk/commitdiff
merges from stable branch
authorStuart Parmenter <pavlov@src.gnome.org>
Wed, 17 Mar 1999 03:42:22 +0000 (03:42 +0000)
committerStuart Parmenter <pavlov@src.gnome.org>
Wed, 17 Mar 1999 03:42:22 +0000 (03:42 +0000)
gtk/gtkstyle.c

index 30a60363fca0d839eae2237ec0cfd9173891b755..f3984b9c552a0f530979e2f82a4dea4701a28061 100644 (file)
@@ -365,7 +365,20 @@ gtk_style_copy (GtkStyle *style)
   gdk_font_unref (new_style->font);
   new_style->font = style->font;
   gdk_font_ref (new_style->font);
+
+  if (style->rc_style)
+    {
+      new_style->rc_style = style->rc_style;
+      gtk_rc_style_ref (style->rc_style);
+    }
   
+  if (style->engine)
+    {
+      new_style->engine = style->engine;
+      gtk_theme_engine_ref(new_style->engine);
+      new_style->engine->duplicate_style (new_style, style);
+    }
+
   return new_style;
 }
 
@@ -381,18 +394,6 @@ gtk_style_duplicate (GtkStyle *style)
   style->styles = g_slist_append (style->styles, new_style);
   new_style->styles = style->styles;  
   
-  if (style->rc_style)
-    {
-      new_style->rc_style = style->rc_style;
-      gtk_rc_style_ref (style->rc_style);
-    }
-  
-  if (style->engine)
-    {
-      new_style->engine = style->engine;
-      new_style->engine->duplicate_style (new_style, style);
-    }
-  
   return new_style;
 }