diff --git a/misc/shell.c b/misc/shell.c index 933f348b44d9733dac3670e175ae9db7e9a24445..9c739b8f7231a95eb4f724801a332149e5bc9909 100644 --- a/misc/shell.c +++ b/misc/shell.c @@ -14,10 +14,10 @@ #include "winerror.h" #include "file.h" #include "heap.h" +#include "ldt.h" #include "module.h" #include "neexe.h" #include "dlgs.h" -#include "win.h" #include "cursoricon.h" #include "sysmetrics.h" #include "shellapi.h" @@ -67,11 +67,15 @@ static UINT16 uMsgShellActivate = 0; */ void WINAPI DragAcceptFiles(HWND hWnd, BOOL b) { - WND* wnd = WIN_FindWndPtr(hWnd); + LONG exstyle; - if( wnd ) - wnd->dwExStyle = b? wnd->dwExStyle | WS_EX_ACCEPTFILES - : wnd->dwExStyle & ~WS_EX_ACCEPTFILES; + + if( !IsWindow(hWnd) ) + return; + exstyle = GetWindowLongA(hWnd,GWL_EXSTYLE); + if (b)exstyle |= WS_EX_ACCEPTFILES; + else exstyle &= ~WS_EX_ACCEPTFILES; + SetWindowLongA(hWnd,GWL_EXSTYLE,exstyle); } /*************************************************************************