Bug 1386477 - Add nullptr check for layerManager->GetRoot() to prevent crash when dumping display list data. r=kats draft
authorEthan Lin <ethlin@mozilla.com>
Wed, 02 Aug 2017 10:19:22 +0800
changeset 619464 903d2f7d09752feb03bf150d8d20b822ed24d3ce
parent 619442 fec8d72590053c3ad72cd3492d389213dfabc2ff
child 640403 c37ca663d9d90495f3fc0d5e41a1db66cc16e902
push id71685
push userbmo:ethlin@mozilla.com
push dateWed, 02 Aug 2017 02:49:42 +0000
reviewerskats
bugs1386477
milestone56.0a1
Bug 1386477 - Add nullptr check for layerManager->GetRoot() to prevent crash when dumping display list data. r=kats MozReview-Commit-ID: 6o0PwKvs0HQ
layout/base/nsLayoutUtils.cpp
--- a/layout/base/nsLayoutUtils.cpp
+++ b/layout/base/nsLayoutUtils.cpp
@@ -3788,17 +3788,19 @@ nsLayoutUtils::PaintFrame(gfxContext* aR
     if (gfxEnv::DumpPaintToFile()) {
       fclose(gfxUtils::sDumpPaintFile);
     }
     gfxUtils::sDumpPaintFile = savedDumpFile;
 #endif
 
     std::stringstream lsStream;
     nsFrame::PrintDisplayList(&builder, list, lsStream);
-    layerManager->GetRoot()->SetDisplayListLog(lsStream.str().c_str());
+    if (layerManager->GetRoot()) {
+      layerManager->GetRoot()->SetDisplayListLog(lsStream.str().c_str());
+    }
   }
 
 #ifdef MOZ_DUMP_PAINTING
   if (gfxPrefs::DumpClientLayers()) {
     std::stringstream ss;
     FrameLayerBuilder::DumpRetainedLayerTree(layerManager, ss, false);
     print_stderr(ss);
   }