diff --git a/widget/gtk/DMABufSurface.cpp b/widget/gtk/DMABufSurface.cpp --- a/widget/gtk/DMABufSurface.cpp +++ b/widget/gtk/DMABufSurface.cpp @@ -204,17 +204,17 @@ } void DMABufSurface::FenceDelete() { + if (mSyncFd > 0) { + close(mSyncFd); + mSyncFd = -1; + } + if (!mGL) { return; } const auto& gle = gl::GLContextEGL::Cast(mGL); const auto& egl = gle->mEgl; - if (mSyncFd > 0) { - close(mSyncFd); - mSyncFd = -1; - } - if (mSync) { egl->fDestroySync(mSync); mSync = nullptr;