Date: Wednesday, April 4, 2018 @ 22:49:57 Author: eworm Revision: 314299
remove patch Deleted: open-vm-tools/trunk/0001-Set-X11-as-the-backend-for-gtk3-of-open-vm-tools.patch -------------------------------------------------------------+ 0001-Set-X11-as-the-backend-for-gtk3-of-open-vm-tools.patch | 83 ---------- 1 file changed, 83 deletions(-) Deleted: 0001-Set-X11-as-the-backend-for-gtk3-of-open-vm-tools.patch =================================================================== --- 0001-Set-X11-as-the-backend-for-gtk3-of-open-vm-tools.patch 2018-04-04 22:49:09 UTC (rev 314298) +++ 0001-Set-X11-as-the-backend-for-gtk3-of-open-vm-tools.patch 2018-04-04 22:49:57 UTC (rev 314299) @@ -1,83 +0,0 @@ -From c5bc784da611ee929e0da7c20a410e03e6540613 Mon Sep 17 00:00:00 2001 -From: Oliver Kurth <[email protected]> -Date: Fri, 26 Jan 2018 15:04:36 -0800 -Subject: [PATCH] Set X11 as the backend for gtk3 of open-vm-tools - -Open-vm-tools defaults to gtk3. For distros like Fedora 27, Wayland is -the default display server. With no restriction on the backend, plugins -will try to use Wayland as the backend of Gtk+3. As a result, -gdk_display_get_default() returns a Wayland display; -gdk_display_get_default_group() also returns a Wayland window. Applying -GDK_WINDOW_XID() on the Wayland window will result in the crash reported -on recent Linux releases that default to a Wayland display server. - -As X11-specific code is widely used in tools plugins, a migratation to -Wayland in the short term is not possible. So, as a compromised solution, -plugins can be forced to run on XWayland, which is the compatible mode -of Wayland for legacy X11 clients. - -gdk_set_allowed_backends() only applies when flag GTK3 is defined, and Gtk -version cwgreater than 3.10. ---- - open-vm-tools/services/plugins/desktopEvents/x11Lock.c | 12 +++++++++++- - open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp | 14 +++++++++++++- - 2 files changed, 24 insertions(+), 2 deletions(-) - -diff --git a/open-vm-tools/services/plugins/desktopEvents/x11Lock.c b/open-vm-tools/services/plugins/desktopEvents/x11Lock.c -index 572234ac..613b6946 100644 ---- a/open-vm-tools/services/plugins/desktopEvents/x11Lock.c -+++ b/open-vm-tools/services/plugins/desktopEvents/x11Lock.c -@@ -1,5 +1,5 @@ - /********************************************************* -- * Copyright (C) 2010-2016 VMware, Inc. All rights reserved. -+ * Copyright (C) 2010-2018 VMware, Inc. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published -@@ -364,6 +364,16 @@ X11Lock_Init(ToolsAppCtx *ctx, - g_set_prgname(VMUSER_TITLE); - argv[0] = VMUSER_TITLE; - -+#if GTK_MAJOR_VERSION > 3 || (GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 10) -+ /* -+ * On recent distros, Wayland is the default display server. If the obtained -+ * display or window is a wayland one, applying X11 specific functions on them -+ * will result in crashes. Before migrating the X11 specific code to Wayland, -+ * force using X11 as the backend of Gtk+3. gdk_set_allowed_backends() is -+ * introduced since Gtk+3.10 and Wayland is supported from Gtk+3.10. -+ */ -+ gdk_set_allowed_backends("x11"); -+#endif - /* XXX: is calling gtk_init() multiple times safe? */ - gtk_init(&argc, (char ***) &argv); - -diff --git a/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp b/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp -index fffdc402..4c2f3d8d 100644 ---- a/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp -+++ b/open-vm-tools/services/plugins/dndcp/copyPasteDnDX11.cpp -@@ -1,5 +1,5 @@ - /********************************************************* -- * Copyright (C) 2010-2016 VMware, Inc. All rights reserved. -+ * Copyright (C) 2010-2018 VMware, Inc. All rights reserved. - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU Lesser General Public License as published -@@ -211,6 +211,18 @@ gboolean - CopyPasteDnDX11::Init(ToolsAppCtx *ctx) - { - TRACE_CALL(); -+ -+#if GTK_MAJOR_VERSION > 3 || (GTK_MAJOR_VERSION == 3 && GTK_MINOR_VERSION >= 10) -+ /* -+ * On recent distros, Wayland is the default display server. If the obtained -+ * display or window is a wayland one, applying X11 specific functions on them -+ * will result in crashes. Before migrating the X11 specific code to Wayland, -+ * force using X11 as the backend of Gtk+3. gdk_set_allowed_backends() is -+ * introduced since Gtk+3.10 and Wayland is supported from Gtk+3.10. -+ */ -+ gdk_set_allowed_backends("x11"); -+#endif -+ - CopyPasteDnDWrapper *wrapper = CopyPasteDnDWrapper::GetInstance(); - - ASSERT(ctx);
