summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-91-ThemeService-crash.patch
blob: 455aef33e785d498f42392ad90782f9dd776ea81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
From 265192616d494ed586df9123ceb63389a7c48916 Mon Sep 17 00:00:00 2001
From: Stephan Hartmann <stha09@googlemail.com>
Date: Tue, 13 Apr 2021 06:20:25 +0000
Subject: [PATCH] fix crash in theme_service

---
 chrome/browser/themes/theme_service.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/chrome/browser/themes/theme_service.h b/chrome/browser/themes/theme_service.h
index 592d40a..337dfac 100644
--- a/chrome/browser/themes/theme_service.h
+++ b/chrome/browser/themes/theme_service.h
@@ -299,6 +299,10 @@ class ThemeService : public KeyedService,
   // The number of infobars currently displayed.
   int number_of_reinstallers_ = 0;
 
+  // Declared before |theme_syncable_service_|, because ThemeSyncableService
+  // removes itself from the |observers_| list on destruction.
+  base::ObserverList<ThemeServiceObserver> observers_;
+
   std::unique_ptr<ThemeSyncableService> theme_syncable_service_;
 
 #if BUILDFLAG(ENABLE_EXTENSIONS)
@@ -320,8 +324,6 @@ class ThemeService : public KeyedService,
   ScopedObserver<ui::NativeTheme, ui::NativeThemeObserver>
       native_theme_observer_{this};
 
-  base::ObserverList<ThemeServiceObserver> observers_;
-
   base::WeakPtrFactory<ThemeService> weak_ptr_factory_{this};
 
   DISALLOW_COPY_AND_ASSIGN(ThemeService);
-- 
2.26.3