oledlg: Send the OLEUI_MSG_ENDDIALOG messsage when closing the dialog.
diff --git a/dlls/oledlg/pastespl.c b/dlls/oledlg/pastespl.c
index f62e4f4..c34a97c 100644
--- a/dlls/oledlg/pastespl.c
+++ b/dlls/oledlg/pastespl.c
@@ -288,6 +288,11 @@
         EnableWindow(GetDlgItem(hdlg, IDOK), 0);
 }
 
+static void send_end_dialog_msg(HWND hdlg, ps_struct_t *ps_struct, UINT id)
+{
+    SendMessageW(hdlg, oleui_msg_enddialog, id, 0);
+}
+
 static void update_structure(HWND hdlg, ps_struct_t *ps_struct)
 {
     ps_struct->ps->dwFlags = ps_struct->flags;
@@ -338,6 +343,13 @@
         {
         case IDOK:
         case IDCANCEL:
+            send_end_dialog_msg(hdlg, ps_struct, LOWORD(wp));
+            return FALSE;
+        }
+        return FALSE;
+    default:
+        if(msg == oleui_msg_enddialog)
+        {
             if(wp == IDOK)
                 update_structure(hdlg, ps_struct);
             EndDialog(hdlg, wp);
@@ -345,8 +357,6 @@
             return TRUE;
         }
         return FALSE;
-    default:
-        return FALSE;
     }
 
 }