Re: What about CreateThread patch?

Gianluigi Tiesi <[email protected]>
Newsgroups gmane.comp.video.mplayer.cygwin
Message-ID <[email protected]>
On Tue, Apr 03, 2007 at 02:16:36AM +0300, Sergey wrote:
> Hello, mplayer-cygwin.
> 
>   What about this patch for win32 GUI? Without this patch mplayer GUI
> does not start at least under Win98 SE (tested on two win98 machines,
> can also check on several WinME).
>   With this patch applied GUI works.
> 
>   From MSDN: http://msdn2.microsoft.com/en-us/library/ms682453.aspx
>     lpThreadId
>     [out] A pointer to a variable that receives the thread identifier.
>     If this parameter is NULL, the thread identifier is not returned.
>     Windows Me/98/95:  This parameter may not be NULL.
> 
> --- mplayer/Gui/win32/interface.c   Sat Oct 14 03:31:58 2006
> +++ mplayer.my/Gui/win32/interface.c    Mon Nov  6 02:34:08 2006
> @@ -453,11 +453,12 @@
> 
>  void guiInit(void)
>  {
> +    DWORD threadId; // required for CreateThread under win9x/ME
>      memset(&guiIntfStruct, 0, sizeof(guiIntfStruct));
>      /* Create The gui thread */
>      if (!mygui)
>          mp_msg(MSGT_GPLAYER, MSGL_V, "[GUI] Creating GUI Thread 0x%04x\n",
> -              (int) CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) GuiThread, NULL, 0, NULL));
> +              (int) CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) GuiThread, NULL, 0, &threadId));
> 
>      /* Wait until the gui is created */
>      while(!mygui) Sleep(100);
> ****** end of patch
> 
it's very bad idea to add a functional statement (creathread) inside a
mp_msg, the thread it stuff is ok, but it would be better to do:

CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) GuiThread, NULL, 0, &threadId);
mp_msg(MSGT_GPLAYER, MSGL_V, "[GUI] Creating GUI Thread 0x%04x\n", threadId);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.