Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 139b28de2305ed20adb028cbab3e9b0ddb4dca4d
      
https://github.com/WebKit/WebKit/commit/139b28de2305ed20adb028cbab3e9b0ddb4dca4d
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2024-08-06 (Tue, 06 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/glib/FenceMonitor.cpp
    M Source/WebKit/UIProcess/glib/FenceMonitor.h
    M Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp

  Log Message:
  -----------
  REGRESSION(281744@main): [GTK] Flickering when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=277675

Reviewed by Alejandro G. Castro.

This seems to be caused by a memory corruption or something like that.
For some reason we can't add a UnixFileDescriptor to the FenceSource
struct that is allocated by GLib. So, move the UnixFileDescriptor to the
FenceMonitor class, keeping FenceSource struct simple. Also make sure we
don't commit the pending buffer if gtk schedules a redraw while are
still waiting for the fence.

* Source/WebKit/UIProcess/glib/FenceMonitor.cpp:
(WebKit::FenceMonitor::ensureSource):
(WebKit::FenceMonitor::addFileDescriptor):
(WebKit::FenceSource::~FenceSource): Deleted.
* Source/WebKit/UIProcess/glib/FenceMonitor.h:
(WebKit::FenceMonitor::hasFileDescriptor const):
* Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreDMABuf.cpp:
(WebKit::AcceleratedBackingStoreDMABuf::prepareForRendering):

Canonical link: https://commits.webkit.org/281885@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to