diff --git a/documentation/current/solutions/gui-building/eiffelvision-2/converting-eiffelvision-2-systems-void-safety.wiki b/documentation/current/solutions/gui-building/eiffelvision-2/converting-eiffelvision-2-systems-void-safety.wiki index cdecb3ca..9f7586a6 100644 --- a/documentation/current/solutions/gui-building/eiffelvision-2/converting-eiffelvision-2-systems-void-safety.wiki +++ b/documentation/current/solutions/gui-building/eiffelvision-2/converting-eiffelvision-2-systems-void-safety.wiki @@ -76,7 +76,9 @@ would become: The following steps are needed during the conversion: * The attribute `interface' needs to be made a stable attribute. The converted `interface' attribute shows the syntax for doing so. + * Copy any initialization of the widget from `make' to `initialize' excluding `base_make' setup. Any initialization code that relies on `interface' would have to be rewritten so that `interface' gets passed to the new creation routine, which in turn calls the original `make'. See EV_PRINT_PROJECTOR_IMP on Windows `make_with_context' for an example of this. + * Remove `make', rename `initialize' to `make', and make sure that any calls to Precursor do not override any settings set in `initialize'. The ordering may need to be changed in order to make the code void-safe. See EV_POPUP_WINDOW_IMP.make (Windows implementation) where the setting of `user_can_resize' is performed after the Precursor call so that is doesn't get overriden.