From f6e3ee1493f20823b2c33465458b92f3581af88d Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Sat, 20 Sep 2014 17:47:56 +0200 Subject: terminal: raise sysview DEVICE_CHANGE events per attachment Instead of raising DEVICE_CHANGE only per device, we now raise it per device-session attachment. This is what we want for all sysview users, anyway, as sessions are meant to be independent of each other. Lets avoid any external session iterators and just do that in sysview itself. --- src/libsystemd-terminal/modeset.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/libsystemd-terminal/modeset.c') diff --git a/src/libsystemd-terminal/modeset.c b/src/libsystemd-terminal/modeset.c index 33c79a2036..7a28e7ab97 100644 --- a/src/libsystemd-terminal/modeset.c +++ b/src/libsystemd-terminal/modeset.c @@ -347,6 +347,13 @@ static int modeset_sysview_fn(sysview_context *c, void *userdata, sysview_event if (type == SYSVIEW_DEVICE_DRM) grdev_session_remove_drm(m->grdev_session, sysview_device_get_ud(d)); + break; + case SYSVIEW_EVENT_SESSION_REFRESH: + d = ev->session_refresh.device; + type = sysview_device_get_type(d); + if (type == SYSVIEW_DEVICE_DRM) + grdev_session_hotplug_drm(m->grdev_session, ev->session_refresh.ud); + break; case SYSVIEW_EVENT_SESSION_CONTROL: r = ev->session_control.error; @@ -361,13 +368,6 @@ static int modeset_sysview_fn(sysview_context *c, void *userdata, sysview_event return -errno; } - break; - case SYSVIEW_EVENT_DEVICE_CHANGE: - d = ev->device_change.device; - type = sysview_device_get_type(d); - if (type == SYSVIEW_DEVICE_DRM) - grdev_session_hotplug_drm(m->grdev_session, ev->device_change.ud); - break; } -- cgit v1.2.3-54-g00ecf