X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-terminal%2Fmodeset.c;h=7a28e7ab97ff941f59a70dee831182c8356d0584;hb=ed3a9f6a30958ef90a24bc60aec86493974101d3;hp=57bf299df5bd2b1540e742922568c7794f811597;hpb=46c9a12780ea24ef311682897077423f1825c519;p=elogind.git diff --git a/src/libsystemd-terminal/modeset.c b/src/libsystemd-terminal/modeset.c index 57bf299df..7a28e7ab9 100644 --- a/src/libsystemd-terminal/modeset.c +++ b/src/libsystemd-terminal/modeset.c @@ -270,12 +270,10 @@ static void modeset_grdev_fn(grdev_session *session, void *userdata, grdev_event switch (ev->type) { case GRDEV_EVENT_DISPLAY_ADD: grdev_display_enable(ev->display_add.display); - modeset_render(m, ev->display_add.display); break; case GRDEV_EVENT_DISPLAY_REMOVE: break; case GRDEV_EVENT_DISPLAY_CHANGE: - modeset_render(m, ev->display_change.display); break; case GRDEV_EVENT_DISPLAY_FRAME: modeset_render(m, ev->display_frame.display); @@ -349,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; @@ -363,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; }