Hey

On Tue, 7 Jun 2011, Ulrich Eckhardt wrote:

> The following code is an example from that file:
>
> EAPI void
> ecore_win32_window_free(Ecore_Win32_Window *window)
> {
>   Ecore_Win32_Window *wnd = window;
>
>   if (!window) return;
>
>   INF("destroying window");
>
>   if (wnd->shape.mask)
>      free(wnd->shape.mask);
>
>   DestroyWindow(((Ecore_Win32_Window *)window)->window);
>   free(window);
> }
>
> There are two things, repeated several times in that file:
> 1. In the call to DestroyWindow(), the "window" parameter is converted to an
> "Ecore_Win32_Window*", which is the same type it already has.

yes. I actually changed the type used in the functions. Originally, it 
was:

struct _Ecore_Win32_Window *wnd = (struct _Ecore_Win32_Window *)window;

I modified this, but i forgot to remove the cast in other places.

> 2. The input parameter is stored in a local parameter (here: "wnd") of the
> same type, which is then used in place of the input parameter.

same reason :)

> I guess some refactoring took place here, but was only partially finished. I'd
> try if removing that changes anything, but I don't have any win32 machine
> here...

indeed, all this code can be simplified. Same for the Windows CE code.

thanks for the report

Vincent

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to