X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3-doc.git;a=blobdiff_plain;f=designnotes.tex;fp=designnotes.tex;h=e22ed89b66d7dbe3d85785c9c82d916a4d858a9c;hp=4bb64854865d6fb7298dc8134d56099a73983d85;hb=da1e04def26932e7f91a2106c885142e7fafe59b;hpb=a35ba2541b8601953ae94f779a85ae70de19cd11 diff --git a/designnotes.tex b/designnotes.tex index 4bb6485..e22ed89 100644 --- a/designnotes.tex +++ b/designnotes.tex @@ -6,8 +6,8 @@ To keep Ion's code as simple as possible yet safe, there are restrictions when the \type{WObj} \code{destroy_obj}\index{destroy-obj@\code{destroy_obj}} function that calls watches, the deinit routine and frees memory may -be called directly. In all other cases the -\code{defer_destroy}\index{defer-destroy@\code{defer_destroy}} +be called directly. In all other cases the \code{mainloop_defer_destroy}% +\index{mainloop-defer-destroy@\code{mainloop_defer_destroy}} function should be used to defer the call of \code{destroy_obj} until Ioncore returns to its main event loop. @@ -20,8 +20,8 @@ following cases: that wants to get rid of the object. This is the case, for example, when the function created a frame to manage some other object but for some reason failed to reparent the object to this frame. - \item In a deferred action handler set with - \code{defer_action}\index{defer-action@\code{defer_action}}. + \item In a deferred action handler set with \code{mainloop_defer_action}% + \index{mainloop-defer-action@\code{mainloop_defer_action}}. Like deferred destroys, other deferred actions are called when Ioncore has returned to the main loop. \item You are absolute sure that C code outside your code has no @@ -30,7 +30,7 @@ following cases: If there are no serious side effects from deferring destroying the object or you're unsure whether it is safe to destroy the object -immediately, use \code{defer_destroy}. +immediately, use \code{mainloop_defer_destroy}. \subsection{The types \code{char*} and \code{const char*} as function parameters and return values} @@ -47,7 +47,7 @@ parameters to functions. For further reference a copy must be made. \\ \code{char*} & The string is the caller's responsibility and it \emph{must} free it when no longer needed. & - The called function may modify the string but the ''owner'' of + The called function may modify the string but the ``owner'' of the string is case-dependant. \\ \end{tabularx}