From 8da0a3a46dc3a81f0d90dae200764cd03649c746 Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Tue, 22 Aug 2017 08:02:30 +0000 Subject: [PATCH] [OLE32] -Recreate the clipboard window if it isn't a valid window handle. Can happen if the thread that first used the ole clipboard exists which also leads to the clipboard window being destroyed. svn path=/trunk/; revision=75637 --- reactos/dll/win32/ole32/clipboard.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/reactos/dll/win32/ole32/clipboard.c b/reactos/dll/win32/ole32/clipboard.c index 8f526c79308..b1bd4852823 100644 --- a/reactos/dll/win32/ole32/clipboard.c +++ b/reactos/dll/win32/ole32/clipboard.c @@ -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(); -- 2.17.1