[OLE32] -Recreate the clipboard window if it isn't a valid window handle. Can happen...
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Tue, 22 Aug 2017 08:02:30 +0000 (08:02 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Tue, 22 Aug 2017 08:02:30 +0000 (08:02 +0000)
svn path=/trunk/; revision=75637

reactos/dll/win32/ole32/clipboard.c

index 8f526c7..b1bd485 100644 (file)
@@ -1869,6 +1869,12 @@ static HWND create_clipbrd_window(void);
  */
 static inline HRESULT get_clipbrd_window(ole_clipbrd *clipbrd, HWND *wnd)
 {
+#ifdef __REACTOS__
+    /* The clipboard window can get destroyed if the  thread that created it dies so we may need to create it again */
+    if (!IsWindow(clipbrd->window))
+        clipbrd->window = create_clipbrd_window();
+#endif
+
     if ( !clipbrd->window )
         clipbrd->window = create_clipbrd_window();