зеркало из https://github.com/electron/electron.git
35 строки
1.6 KiB
Diff
35 строки
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Charles Kerr <charles@charleskerr.com>
|
|
Date: Thu, 20 Sep 2018 17:50:17 -0700
|
|
Subject: allow_nested_error_trackers.patch
|
|
|
|
Only one X11ErrorTracker should exist at a time, but upstream has a bug
|
|
where two can exist if running in headless mode --
|
|
ui::(anonymous namespace)::SupportsEWMH() [inner tracker is created]
|
|
ui::WmSupportsHint()
|
|
ui::IsX11WindowFullScreen()
|
|
ui::ScreensaverWindowFinder::IsScreensaverWindow()
|
|
ui::ScreensaverWindowFinder::ShouldStopIterating()
|
|
ui::EnumerateTopLevelWindows()
|
|
ui::ScreensaverWindowFinder::ScreensaverWindowExists() [outer tracker created]
|
|
ui::CheckIdleStateIsLocked()
|
|
ui::CalculateIdleState()
|
|
Removal of either tracker could have side-effects in some code paths,
|
|
so this is probably better handled upstream. This patch tries to do the
|
|
least harm in the interim by removing the check that prevents more than
|
|
one tracker from existing at a time.
|
|
|
|
diff --git a/ui/gfx/x/x11_error_tracker.cc b/ui/gfx/x/x11_error_tracker.cc
|
|
index af031de356c5e0938fd3b84a494e48dc9a0e0476..2a5c18dc473a4f88fc0427bec69142917159bbd9 100644
|
|
--- a/ui/gfx/x/x11_error_tracker.cc
|
|
+++ b/ui/gfx/x/x11_error_tracker.cc
|
|
@@ -24,7 +24,7 @@ namespace gfx {
|
|
X11ErrorTracker::X11ErrorTracker() {
|
|
// This is a non-exhaustive check for incorrect usage. It disallows nested
|
|
// X11ErrorTracker instances on the same thread.
|
|
- DCHECK(g_handler == NULL);
|
|
+ // DCHECK(g_handler == NULL);
|
|
g_handler = this;
|
|
XSync(GetXDisplay(), False);
|
|
old_handler_ = XSetErrorHandler(X11ErrorHandler);
|