fixup! ozone integration
authorAntonio Gomes <a1.gomes@samsung.com>
Fri, 29 May 2015 22:19:26 +0000 (18:19 -0400)
committerYoungsoo Choi <kenshin.choi@samsung.com>
Tue, 10 Jul 2018 06:57:09 +0000 (06:57 +0000)
Since http://165.213.202.130/gerrit/#/c/80317/ we
hit the follow ASSERT upon launch (desktop debug build
of content shell).

[0529/143728:FATAL:at_exit.cc(53)] Check failed: false. Tried to RegisterCallback without an AtExitManager
 #0 0x000000792167 base::debug::StackTrace::StackTrace()
 #1 0x0000006cca71 logging::LogMessage::~LogMessage()
 #2 0x0000006b07e5 base::AtExitManager::RegisterTask()
 #3 0x000004ad9078 ui::DeviceDataManager::DeviceDataManager()
 #4 0x000004ad92b9 ui::DeviceDataManager::CreateInstance()
 #5 0x0000013b78a3 ui::OzonePlatform::InitializeForUI()
 #6 0x000000505f70 efl::Initialize()
 #7 0x00000041fb1e main
 #8 0x7ffff302aec5 __libc_start_main
 #9 0x00000041fa34 <unknown>

AtExitManager has to be init'ed before frame #6.

Similarly to [1] and [2], add a AtExitManager variable
declared as a local variable in 'main'.

[1] https://code.google.com/p/chromium/codesearch#chromium/src/ui/ozone/demo/ozone_demo.cc&ct=rc&cd=51&q=atexitmanager&sq=package:chromium&l=314&dr=C
[2] https://code.google.com/p/chromium/codesearch#chromium/src/mandoline/app/desktop/main.cc&q=atexitmanager&sq=package:chromium&l=13&dr=C

Bug: http://107.108.218.239/bugzilla/show_bug.cgi?id=8054
Reviewed by: Balazs Kelemen, arno renevier

Change-Id: I8045ce570d6839da068c5e5aa2b704b1c736af54
Signed-off-by: Antonio Gomes <a1.gomes@samsung.com>
tizen_src/chromium_impl/content/shell/browser/shell_main_efl.cc

index b33450f..bd3355c 100644 (file)
@@ -4,10 +4,12 @@
 
 #include "content/public/app/content_main.h"
 
+#include "base/at_exit.h"
 #include "content/shell/app/shell_main_delegate.h"
 #include "efl/init.h"
 
 int main(int argc, const char* argv[]) {
+  base::AtExitManager at_exit;
   if (efl::Initialize(argc, argv))
     return 1;