compositor-drm: Remember to drop master in drm error handling
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 18 Feb 2013 20:02:27 +0000 (15:02 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 19 Feb 2013 01:01:08 +0000 (20:01 -0500)
Otherwise we'll kill whatever other display sever we're switching back to.
The tricky thing here is that we never explicitly set drm master in the
startup path, we get that implicitly from being the first to open the
drm device.  Even so, we need to drop it before switching VTs.

src/compositor-drm.c

index 5afbb2a..84c51ff 100644 (file)
@@ -2376,6 +2376,8 @@ err_sprite:
 err_udev_dev:
        udev_device_unref(drm_device);
 err_tty:
+       if (weston_launcher_drm_set_master(&ec->base, ec->drm.fd, 0) < 0)
+               weston_log("failed to drop master: %m\n");
        tty_destroy(ec->tty);
 err_udev:
        udev_unref(ec->udev);