Fix revoking transactions that may not have been started. (bug 1314399, r=nical)
authorDavid Anderson <danderson@mozilla.com>
Tue, 08 Nov 2016 13:12:46 -0800
changeset 321562 494b13143c3eb904f2c42300d0b43bbc486c5f2d
parent 321561 138f4cfcbd9db30b15183d337e8d595a57ba9af4
child 321563 cc389e9b7883531b91dc9885f1261737c3c0f4bc
push id83645
push userdanderson@mozilla.com
push dateTue, 08 Nov 2016 21:13:23 +0000
treeherdermozilla-inbound@494b13143c3e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersnical
bugs1314399
milestone52.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Fix revoking transactions that may not have been started. (bug 1314399, r=nical)
gfx/layers/client/ClientLayerManager.cpp
--- a/gfx/layers/client/ClientLayerManager.cpp
+++ b/gfx/layers/client/ClientLayerManager.cpp
@@ -352,17 +352,16 @@ ClientLayerManager::StorePluginWidgetCon
 }
 
 void
 ClientLayerManager::EndTransaction(DrawPaintedLayerCallback aCallback,
                                    void* aCallbackData,
                                    EndTransactionFlags aFlags)
 {
   if (!mForwarder->IPCOpen()) {
-    mTransactionIdAllocator->RevokeTransactionId(mLatestTransactionId);
     mInTransaction = false;
     return;
   }
 
   if (mWidget) {
     mWidget->PrepareWindowEffects();
   }
   EndTransactionInternal(aCallback, aCallbackData, aFlags);
@@ -384,17 +383,16 @@ ClientLayerManager::EndTransaction(DrawP
 }
 
 bool
 ClientLayerManager::EndEmptyTransaction(EndTransactionFlags aFlags)
 {
   mInTransaction = false;
 
   if (!mRoot || !mForwarder->IPCOpen()) {
-    mTransactionIdAllocator->RevokeTransactionId(mLatestTransactionId);
     return false;
   }
 
   if (!EndTransactionInternal(nullptr, nullptr, aFlags)) {
     // Return without calling ForwardTransaction. This leaves the
     // ShadowLayerForwarder transaction open; the following
     // EndTransaction will complete it.
     return false;