ma1 pushed to branch tor-browser-128.14.0esr-14.5-1 at The Tor Project / Applications / Tor Browser

Commits:

2 changed files:

Changes:

  • gfx/layers/ipc/CanvasTranslator.cpp
    ... ... @@ -270,7 +270,7 @@ void CanvasTranslator::AddBuffer(ipc::SharedMemoryBasic::Handle&& aBufferHandle,
    270 270
       CheckAndSignalWriter();
    
    271 271
     
    
    272 272
       // Default sized buffers will have been queued for recycling.
    
    273
    -  if (mCurrentShmem.Size() == mDefaultBufferSize) {
    
    273
    +  if (mCurrentShmem.IsValid() && mCurrentShmem.Size() == mDefaultBufferSize) {
    
    274 274
         mCanvasShmems.emplace(std::move(mCurrentShmem));
    
    275 275
       }
    
    276 276
     
    

  • gfx/layers/ipc/CanvasTranslator.h
    ... ... @@ -358,9 +358,13 @@ class CanvasTranslator final : public gfx::InlineTranslator,
    358 358
     
    
    359 359
       struct CanvasShmem {
    
    360 360
         RefPtr<ipc::SharedMemoryBasic> shmem;
    
    361
    -    auto Size() { return shmem->Size(); }
    
    361
    +    bool IsValid() const { return !!shmem; }
    
    362
    +    auto Size() { return shmem ? shmem->Size() : 0; }
    
    362 363
         gfx::MemReader CreateMemReader() {
    
    363
    -      return {static_cast<char*>(shmem->memory()), Size()};
    
    364
    +      if (!shmem) {
    
    365
    +        return {nullptr, 0};
    
    366
    +      }
    
    367
    +      return {static_cast<char*>(shmem->Memory()), Size()};
    
    364 368
         }
    
    365 369
       };
    
    366 370
       std::queue<CanvasShmem> mCanvasShmems;