Check Server Version From Client Dlls

Robert Shearman rob at codeweavers.com
Thu Jul 22 18:58:19 CDT 2004


Alexandre Julliard wrote:

>Robert Shearman <rob at codeweavers.com> writes:
>
>  
>
>>>	if (ver != SERVER_PROTOCOL_VERSION)
>>>       	MESSAGE( "Error: server version mismatch.\n"
>>>               	 "Your %s binary was not upgraded correctly\n"
>>>               	 "or the wrong wineserver is still running.\n", dll_name );
>>>	return (ver == SERVER_PROTOCOL_VERSION);
>>>
>>>      
>>>
>>Ok, I'll send an updated patch.
>>    
>>
>
>Actually I don't think we want to add this kind of check at all. The
>whole point of dll separation is to make sure we don't need that sort
>of thing; while we are not 100% there yet, adding more version checks
>is going in the wrong direction.
>  
>

DLL separation is not going to help when a function in user32 calls the 
server and fails due to mismatched server interfaces. You just get a 
very cryptic error message:
err:msg:QUEUE_CreateMsgQueue Cannot get thread queue

Note that I only added it to the DLLs that will always need server calls 
(i.e. not advapi32), but I was very surprised that gdi32 didn't call the 
server.

Rob




More information about the wine-devel mailing list