Bug 454324: Handle error from SelectNode to fix crash when selection-less items are dragged (including, recently, tabs). r+sr=bzbarsky
--- a/layout/base/nsPresShell.cpp
+++ b/layout/base/nsPresShell.cpp
@@ -5274,17 +5274,18 @@ PresShell::RenderNode(nsIDOMNode* aNode,
// nothing to draw if the node isn't in a document
nsCOMPtr<nsINode> node = do_QueryInterface(aNode);
if (!node->IsInDoc())
return nsnull;
nsCOMPtr<nsIDOMRange> range;
NS_NewRange(getter_AddRefs(range));
- range->SelectNode(aNode);
+ if (NS_FAILED(range->SelectNode(aNode)))
+ return nsnull;
RangePaintInfo* info = CreateRangePaintInfo(range, area);
if (info && !rangeItems.AppendElement(info)) {
delete info;
return nsnull;
}
if (aRegion) {