+ EOM_DBG("set attribute FAILED\n");
+
+ eom_error = WL_EOM_ERROR_OUTPUT_OCCUPIED;
+ goto end;
+ }
+
+ changes = EINA_TRUE;
+ }
+
+ EOM_DBG("set attribute OK\n");
+
+ /* If client has set WL_EOM_ATTRIBUTE_NONE, eom will be
+ * switched to mirror mode
+ */
+ if (attribute == WL_EOM_ATTRIBUTE_NONE && g_eom->is_mirror_mode == DOWN)
+ {
+ g_eom->is_mirror_mode = UP;
+ ret = _e_eom_set_eom_attribute(WL_EOM_ATTRIBUTE_NONE);
+ _e_eom_set_eom_mode(WL_EOM_MODE_MIRROR);
+
+ _e_eom_client_buffers_list_free();
+
+ ret = _e_eom_mirror_start(g_eom->int_output_name,
+ g_eom->src_mode.w,
+ g_eom->src_mode.h);
+ GOTOIFTRUE(ret == EINA_FALSE,
+ end,
+ "ERROR: restore mirror mode after a client disconnection\n");
+
+ goto end;
+ }