user32: edit: Use a dialog mode after receiving WM_GETDLGCODE message.

Tests show that the edit control uses a dialog mode after receiving 
WM_GETDLGCODE message and it doesn't depend on whether the edit control 
has a parent window.
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index eadcc3d..0cb8f11 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -83,6 +83,8 @@
 #define EF_USE_SOFTBRK		0x0100	/* Enable soft breaks in text. */
 #define EF_APP_HAS_HANDLE       0x0200  /* Set when an app sends EM_[G|S]ETHANDLE.  We are in sole control of
                                            the text buffer if this is clear. */
+#define EF_DIALOGMODE           0x0400  /* Indicates that we are inside a dialog window */
+
 typedef enum
 {
 	END_0 = 0,			/* line ends with terminating '\0' character */
@@ -3163,22 +3165,9 @@
  * controls without ES_WANTRETURN would attempt to detect whether it is inside
  * a dialog box or not.
  */
-static BOOL EDIT_IsInsideDialog(EDITSTATE *es)
+static inline BOOL EDIT_IsInsideDialog(EDITSTATE *es)
 {
-    WND *pParent;
-    BOOL r = FALSE;
-
-    if (es->hwndParent)
-    {
-        pParent = WIN_GetPtr(es->hwndParent);
-        if (pParent && pParent != WND_OTHER_PROCESS && pParent != WND_DESKTOP)
-        {
-            if (pParent->flags & WIN_ISDIALOG)
-                r = TRUE;
-            WIN_ReleasePtr(pParent);
-        }
-    }
-    return r;
+    return (es->flags & EF_DIALOGMODE);
 }
 
 
@@ -5107,27 +5096,32 @@
 		if (es->style & ES_MULTILINE)
 		   result |= DLGC_WANTALLKEYS;
 
-		if (lParam && (((LPMSG)lParam)->message == WM_KEYDOWN))
-		{
-		   int vk = (int)((LPMSG)lParam)->wParam;
+                if (lParam)
+                {
+                    es->flags|=EF_DIALOGMODE;
 
-                   if (es->hwndListBox)
-                   {
-                       if (vk == VK_RETURN || vk == VK_ESCAPE)
-                           if (SendMessageW(GetParent(hwnd), CB_GETDROPPEDSTATE, 0, 0))
-                               result |= DLGC_WANTMESSAGE;
-                   }
-                   else
-                   {
-                       switch (vk)
-                       {
-                           case VK_ESCAPE:
-                               SendMessageW(GetParent(hwnd), WM_CLOSE, 0, 0);
-                               break;
-                           default:
-                               break;
-                       }
-                   }
+                    if (((LPMSG)lParam)->message == WM_KEYDOWN)
+                    {
+                        int vk = (int)((LPMSG)lParam)->wParam;
+
+                        if (es->hwndListBox)
+                        {
+                            if (vk == VK_RETURN || vk == VK_ESCAPE)
+                                if (SendMessageW(GetParent(hwnd), CB_GETDROPPEDSTATE, 0, 0))
+                                    result |= DLGC_WANTMESSAGE;
+                        }
+                        else
+                        {
+                            switch (vk)
+                            {
+                                case VK_ESCAPE:
+                                    SendMessageW(GetParent(hwnd), WM_CLOSE, 0, 0);
+                                    break;
+                                default:
+                                    break;
+                            }
+                        }
+                  }
                 }
 		break;