*/
ilmErrorTypes ilm_layerRemoveNotification(t_ilm_layer layer);
+/**
+ * \brief Enables sychronized composition dependent on the surface list
+ * \ingroup ilmControl
+ * \param[in] pSurfaceId array of surface ids
+ * \param[in] number number of surfaceids in the given array
+ * \return ILM_SUCCESS if the method call was successful
+ * \return ILM_FAILED if the client can not call the method on the service.
+ */
+ilmErrorTypes ilm_setSynchronizedSurfaces(t_ilm_surface *pSurfacId, const t_ilm_uint number);
+
+/**
+ * \brief Disables sychronized composition dependent on the surface list
+ * \ingroup ilmControl
+ * \param[in] pSurfaceId array of surface ids
+ * \param[in] number number of surfaceids in the given array
+ * \return ILM_SUCCESS if the method call was successful
+ * \return ILM_FAILED if the client can not call the method on the service.
+ */
+ilmErrorTypes ilm_removeSynchronizedSurfaces(t_ilm_surface *pSurfacId, const t_ilm_uint number);
+
+
#ifdef __cplusplus
} /**/
#endif /* __cplusplus */
gIpcModule.destroyMessage(command);
return returnValue;
}
+
+ilmErrorTypes ilm_setSynchronizedSurfaces(t_ilm_surface *pSurfaceId, const t_ilm_uint number)
+{
+ ilmErrorTypes returnValue = ILM_FAILED;
+
+ t_ilm_message response = 0;
+ t_ilm_message command = gIpcModule.createMessage("SetSynchronizedSurfaces");
+ if (pSurfaceId
+ && command
+ && gIpcModule.appendUintArray(command, pSurfaceId, number)
+ && sendAndWaitForResponse(command, &response, RESPONSE_TIMEOUT_IN_MS, &returnValue))
+ {
+ returnValue = ILM_SUCCESS;
+ }
+ gIpcModule.destroyMessage(response);
+ gIpcModule.destroyMessage(command);
+ return returnValue;
+}
+
+ilmErrorTypes ilm_removeSynchronizedSurfaces(t_ilm_surface *pSurfaceId, const t_ilm_uint number)
+{
+ ilmErrorTypes returnValue = ILM_FAILED;
+
+ t_ilm_message response = 0;
+ t_ilm_message command = gIpcModule.createMessage("RemoveSynchronizedSurfaces");
+ if (pSurfaceId
+ && command
+ && gIpcModule.appendUintArray(command, pSurfaceId, number)
+ && sendAndWaitForResponse(command, &response, RESPONSE_TIMEOUT_IN_MS, &returnValue))
+ {
+ returnValue = ILM_SUCCESS;
+ }
+ gIpcModule.destroyMessage(response);
+ gIpcModule.destroyMessage(command);
+ return returnValue;
+}
+
Bugfixes:
- Fixing minor memory leaks
- LayerManagerCommands: fixed array handling, memory leak removed
+- X11WindowSystem: fixed resize handling
- X11EglImage: fixing a issue which causes memory leak in XServer
- dbusIpcModule: DBUS Interspection result corrected
+Improvements:
+- Improved watchdog plug-in monitoring, to detect possible
+ deadlock in plug-ins and mainthread
+- adding new interface ilm_setSynchronizedSurfaces, ilm_removeSynchronizedSurfaces
+ to establish synchronized composition on dedicated surfaces this avoids e.g.
+ flickering during night/day switch.
+
Version 1.0
------------------
This version includes the following enhancements.