diff options
author | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 05:28:43 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2020-04-17 05:28:43 -0400 |
commit | 940d191ef8b61309f4ea83d0fea77828f361251b (patch) | |
tree | 328a57b6d2e2b018343e2c5d20e0602d613f0e19 /layout/printing | |
parent | ef689a705ffdd79cdeeca8e68438b4ad6597f38d (diff) | |
download | UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar.gz UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar.lz UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar.xz UXP-940d191ef8b61309f4ea83d0fea77828f361251b.zip |
Bug 1367683 - Optimize initializing nsRange
Tag #1375
Diffstat (limited to 'layout/printing')
-rw-r--r-- | layout/printing/nsPrintEngine.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/layout/printing/nsPrintEngine.cpp b/layout/printing/nsPrintEngine.cpp index f2db53250..0c455f563 100644 --- a/layout/printing/nsPrintEngine.cpp +++ b/layout/printing/nsPrintEngine.cpp @@ -2449,13 +2449,17 @@ CloneRangeToSelection(nsRange* aRange, nsIDocument* aDoc, NS_ENSURE_TRUE_VOID(newStart && newEnd); nsCOMPtr<nsINode> newStartNode = do_QueryInterface(newStart); - NS_ENSURE_TRUE_VOID(newStartNode); + nsCOMPtr<nsINode> newEndNode = do_QueryInterface(newEnd); + if (NS_WARN_IF(!newStartNode) || NS_WARN_IF(!newEndNode)) { + return; + } RefPtr<nsRange> range = new nsRange(newStartNode); - nsresult rv = range->SetStart(newStartNode, startOffset); - NS_ENSURE_SUCCESS_VOID(rv); - rv = range->SetEnd(newEnd, endOffset); - NS_ENSURE_SUCCESS_VOID(rv); + nsresult rv = + range->SetStartAndEnd(newStartNode, startOffset, newEndNode, endOffset); + if (NS_WARN_IF(NS_FAILED(rv))) { + return; + } aSelection->AddRange(range); } |