SNOOP_GetProcAddress: don't touch already initialized fun-entries.
diff --git a/relay32/snoop.c b/relay32/snoop.c
index 56c9fea..2dcadd9 100644
--- a/relay32/snoop.c
+++ b/relay32/snoop.c
@@ -194,12 +194,15 @@
return origfun;
assert(ordinal < dll->nrofordinals);
fun = dll->funs+ordinal;
- if (!fun->name) fun->name = HEAP_strdupA(GetProcessHeap(),0,name);
- fun->lcall = 0xe8;
- /* NOTE: origreturn struct member MUST come directly after snoopentry */
- fun->snoopentry = (char*)SNOOP_Entry-((char*)(&fun->nrofargs));
- fun->origfun = origfun;
- fun->nrofargs = -1;
+ if (!fun->name)
+ {
+ fun->name = HEAP_strdupA(GetProcessHeap(),0,name);
+ fun->lcall = 0xe8;
+ /* NOTE: origreturn struct member MUST come directly after snoopentry */
+ fun->snoopentry = (char*)SNOOP_Entry-((char*)(&fun->nrofargs));
+ fun->origfun = origfun;
+ fun->nrofargs = -1;
+ }
return (FARPROC)&(fun->lcall);
}