Hi,
If you take a look at the bottom of dlls/user/user_main.c you will notice that in UserClientDllInitialize we have a switch for 'reason':
switch(reason) { case DLL_PROCESS_ATTACH: ret = process_attach(); break; case DLL_THREAD_DETACH: thread_detach(); break; }
Should we not also be accounting for the DLL_PROCESS_DETACH case in this switch? The reason I noticed this is because some windows (on the user side) are not being cleaned up when a when a process detaches, although they are being clean up on the x11drv side. Is this just a silly bug or is there a reason DLL_PROCESS_DETACH is not worried about?
Cheers David