[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Corrected winproc fix
From:       "Dave Hawkes" <daveh-wine () cadlink ! com>
Date:       2002-02-28 20:34:48
[Download RAW message or body]

OK, I the simple fix I posted earlier for the winproc memory leak problem
caused two identical winprocs to be stored and broke some of the common
controls (causing a message loop). This fix should keep the winproc ordering
correct and only allow one winproc of the same address if it is set as a
both a class and user proc.


Dave Hawkes


["winproc.diff" (application/octet-stream)]

Index: windows/winproc.c
===================================================================
RCS file: /home/wine/wine/windows/winproc.c,v
retrieving revision 1.79
diff -u -r1.79 winproc.c
--- windows/winproc.c	2002/01/29 03:12:25	1.79
+++ windows/winproc.c	2002/02/28 18:29:32
@@ -448,7 +448,15 @@
             if (((*ppPrev)->type == type) &&
                 (func == WINPROC_THUNKPROC(*ppPrev)))
             {
-                bRecycle = TRUE;
+                if((*ppPrev)->user == user)
+                {
+                    bRecycle = TRUE;
+                }
+                else
+                {
+                    WINPROC_FreeProc( *ppPrev, user );
+                    *ppPrev = NULL;
+                }
                 break;
             }
         }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic