diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-11-01 20:16:11 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-11-01 20:16:11 +0100 |
commit | e0de8181d9d51cff079f9b54fd6fa276d6aeb094 (patch) | |
tree | 260dea667bc815c9e80543faf6c50a1bf85f4916 /widget/windows/InProcessWinCompositorWidget.cpp | |
parent | 24a83a813641a6500e91f9fcf1ea3ca0aecc047a (diff) | |
download | UXP-e0de8181d9d51cff079f9b54fd6fa276d6aeb094.tar UXP-e0de8181d9d51cff079f9b54fd6fa276d6aeb094.tar.gz UXP-e0de8181d9d51cff079f9b54fd6fa276d6aeb094.tar.lz UXP-e0de8181d9d51cff079f9b54fd6fa276d6aeb094.tar.xz UXP-e0de8181d9d51cff079f9b54fd6fa276d6aeb094.zip |
Protect main thread in-process access to WinCompositorWidget transparent surface.
Diffstat (limited to 'widget/windows/InProcessWinCompositorWidget.cpp')
-rw-r--r-- | widget/windows/InProcessWinCompositorWidget.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/widget/windows/InProcessWinCompositorWidget.cpp b/widget/windows/InProcessWinCompositorWidget.cpp index 685eaf5ca..a11790b32 100644 --- a/widget/windows/InProcessWinCompositorWidget.cpp +++ b/widget/windows/InProcessWinCompositorWidget.cpp @@ -23,6 +23,31 @@ InProcessWinCompositorWidget::InProcessWinCompositorWidget(const CompositorWidge MOZ_ASSERT(mWindow); } +void +InProcessWinCompositorWidget::OnDestroyWindow() +{ + EnterPresentLock(); + WinCompositorWidget::OnDestroyWindow(); + LeavePresentLock(); +} + +void +InProcessWinCompositorWidget::UpdateTransparency(nsTransparencyMode aMode) +{ + EnterPresentLock(); + WinCompositorWidget::UpdateTransparency(aMode); + LeavePresentLock(); +} + +void +InProcessWinCompositorWidget::ClearTransparentWindow() +{ + EnterPresentLock(); + WinCompositorWidget::ClearTransparentWindow(); + LeavePresentLock(); +} + + nsIWidget* InProcessWinCompositorWidget::RealWidget() { |