Index: ui/views/view.cc |
diff --git a/ui/views/view.cc b/ui/views/view.cc |
index f4f6f0d577dffded361184822bb4f012f532f88e..2918ee1aa908ae9dc847777214cfe680b8c38149 100644 |
--- a/ui/views/view.cc |
+++ b/ui/views/view.cc |
@@ -217,8 +217,9 @@ void View::AddChildViewAt(View* view, int index) { |
// If |view| has a parent, remove it from its parent. |
View* parent = view->parent_; |
- const ui::NativeTheme* old_theme = view->GetNativeTheme(); |
+ ui::NativeTheme* old_theme = NULL; |
if (parent) { |
+ old_theme = view->GetNativeTheme(); |
if (parent == this) { |
ReorderChildView(view, index); |
return; |
@@ -233,6 +234,13 @@ void View::AddChildViewAt(View* view, int index) { |
view->parent_ = this; |
children_.insert(children_.begin() + index, view); |
+ views::Widget* widget = GetWidget(); |
+ if (widget) { |
+ const ui::NativeTheme* new_theme = view->GetNativeTheme(); |
+ if (new_theme != old_theme) |
+ view->PropagateNativeThemeChanged(new_theme); |
+ } |
+ |
ViewHierarchyChangedDetails details(true, this, view, parent); |
for (View* v = this; v; v = v->parent_) |
@@ -240,12 +248,8 @@ void View::AddChildViewAt(View* view, int index) { |
view->PropagateAddNotifications(details); |
UpdateTooltip(); |
- views::Widget* widget = GetWidget(); |
if (widget) { |
RegisterChildrenForVisibleBoundsNotification(view); |
- const ui::NativeTheme* new_theme = widget->GetNativeTheme(); |
- if (new_theme != old_theme) |
- view->PropagateNativeThemeChanged(new_theme); |
if (view->visible()) |
view->SchedulePaint(); |
} |