Changeset 2097 for trunk/src


Ignore:
Timestamp:
Dec 17, 1999, 5:56:54 PM (26 years ago)
Author:
sandervl
Message:

hook removal bugfix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/HOOK.CPP

    r2084 r2097  
    1 /* $Id: HOOK.CPP,v 1.6 1999-12-16 00:11:44 sandervl Exp $ */
     1/* $Id: HOOK.CPP,v 1.7 1999-12-17 16:56:54 sandervl Exp $ */
    22
    33/*
     
    324324static BOOL HOOK_RemoveHook( HOOKDATA *data )
    325325{
    326   HOOKDATA *prevHook;
     326  HOOKDATA **prevHook;
    327327  THDB     *thdb;
    328328  VMutex   *hookMutex;
     
    353353        hookMutex = &threadHookMutex;
    354354        hookMutex->enter();
    355         prevHook = (HOOKDATA *)thdb->hooks[data->id - WH_MINHOOK];
     355        prevHook = (HOOKDATA **)&thdb->hooks[data->id - WH_MINHOOK];
    356356    }
    357357    else {
    358358        hookMutex = &systemHookMutex;
    359359        hookMutex->enter();
    360         prevHook = (HOOKDATA *)HOOK_systemHooks[data->id - WH_MINHOOK];
    361     }
    362     while (prevHook && prevHook != data)
    363         prevHook = (HOOKDATA *)prevHook->next;
     360        prevHook = (HOOKDATA **)&HOOK_systemHooks[data->id - WH_MINHOOK];
     361    }
     362    while (*prevHook && *prevHook != data)
     363        prevHook = (HOOKDATA **)&(*prevHook)->next;
    364364
    365365    if (!prevHook) {
     
    367367        return FALSE;
    368368    }
    369     prevHook = (HOOKDATA *)data->next;
     369    *prevHook = (HOOKDATA *)data->next;
    370370    hookMutex->leave();
    371371
Note: See TracChangeset for help on using the changeset viewer.