Blame SOURCES/fix-progress-bar-colors.patch

ff86aa
From 167e74e56df055f419c960657eb66d73802a54f1 Mon Sep 17 00:00:00 2001
ff86aa
From: Ray Strode <rstrode@redhat.com>
ff86aa
Date: Mon, 20 Jun 2016 11:06:49 -0400
ff86aa
Subject: [PATCH] drm: don't pick up drm master implicitly
ff86aa
ff86aa
If a client opens the drm device, they're given drm master
ff86aa
implicitly. We already explicitly take DRM master when we need it,
ff86aa
so that featuer is unneeded.
ff86aa
ff86aa
Furthermore, it's actively harmful, since fbdev won't let you change
ff86aa
the color palette of the terminal if drm master is held.
ff86aa
ff86aa
This commit makes sure to drop master as soon as we get it from
ff86aa
open().
ff86aa
---
ff86aa
 src/plugins/renderers/drm/plugin.c | 2 ++
ff86aa
 1 file changed, 2 insertions(+)
ff86aa
ff86aa
diff --git a/src/plugins/renderers/drm/plugin.c b/src/plugins/renderers/drm/plugin.c
ff86aa
index 6677279..ebfe864 100644
ff86aa
--- a/src/plugins/renderers/drm/plugin.c
ff86aa
+++ b/src/plugins/renderers/drm/plugin.c
ff86aa
@@ -462,60 +462,62 @@ load_driver (ply_renderer_backend_t *backend)
ff86aa
   int device_fd;
ff86aa
 
ff86aa
   ply_trace ("Opening '%s'", backend->device_name);
ff86aa
   device_fd = open (backend->device_name, O_RDWR);
ff86aa
 
ff86aa
   if (device_fd < 0)
ff86aa
     {
ff86aa
       ply_trace ("open failed: %m");
ff86aa
       return false;
ff86aa
     }
ff86aa
 
ff86aa
   backend->driver_interface = ply_renderer_generic_driver_get_interface (device_fd);
ff86aa
   backend->driver_supports_mapping_console = false;
ff86aa
 
ff86aa
   if (backend->driver_interface == NULL)
ff86aa
     {
ff86aa
       close (device_fd);
ff86aa
       return false;
ff86aa
     }
ff86aa
 
ff86aa
   backend->driver = backend->driver_interface->create_driver (device_fd);
ff86aa
 
ff86aa
   if (backend->driver == NULL)
ff86aa
     {
ff86aa
       close (device_fd);
ff86aa
       return false;
ff86aa
     }
ff86aa
 
ff86aa
   backend->device_fd = device_fd;
ff86aa
 
ff86aa
+  drmDropMaster (device_fd);
ff86aa
+
ff86aa
   return true;
ff86aa
 }
ff86aa
 
ff86aa
 static void
ff86aa
 unload_driver (ply_renderer_backend_t *backend)
ff86aa
 {
ff86aa
   if (backend->driver == NULL)
ff86aa
     return;
ff86aa
 
ff86aa
   ply_trace ("unloading driver");
ff86aa
   assert (backend->driver_interface != NULL);
ff86aa
 
ff86aa
   backend->driver_interface->destroy_driver (backend->driver);
ff86aa
   backend->driver = NULL;
ff86aa
 
ff86aa
   backend->driver_interface = NULL;
ff86aa
 
ff86aa
   if (backend->device_fd >= 0)
ff86aa
     {
ff86aa
       drmClose (backend->device_fd);
ff86aa
       backend->device_fd = -1;
ff86aa
     }
ff86aa
 }
ff86aa
 
ff86aa
 static bool
ff86aa
 open_device (ply_renderer_backend_t *backend)
ff86aa
 {
ff86aa
   assert (backend != NULL);
ff86aa
   assert (backend->device_name != NULL);
ff86aa
 
ff86aa
-- 
ff86aa
2.7.4
ff86aa