wineconsole: Allocate fake hwnds for curses backend.

Based on a patch by Qian Hong.
This commit is contained in:
Sebastian Lackner 2015-05-13 19:06:23 +02:00 committed by Alexandre Julliard
parent 1d91c844da
commit 2100d3e1ec

View File

@ -1001,6 +1001,7 @@ static void WCCURSES_DeleteBackend(struct inner_data* data)
#endif #endif
endwin(); endwin();
if (data->hWnd) DestroyWindow(data->hWnd);
HeapFree(GetProcessHeap(), 0, PRIVATE(data)->line); HeapFree(GetProcessHeap(), 0, PRIVATE(data)->line);
HeapFree(GetProcessHeap(), 0, PRIVATE(data)); HeapFree(GetProcessHeap(), 0, PRIVATE(data));
data->private = NULL; data->private = NULL;
@ -1042,6 +1043,8 @@ static int WCCURSES_MainLoop(struct inner_data* data)
*/ */
enum init_return WCCURSES_InitBackend(struct inner_data* data) enum init_return WCCURSES_InitBackend(struct inner_data* data)
{ {
static const WCHAR messageW[] = {'M','e','s','s','a','g','e',0};
if( !WCCURSES_bind_libcurses() ) if( !WCCURSES_bind_libcurses() )
return init_not_supported; return init_not_supported;
@ -1058,7 +1061,8 @@ enum init_return WCCURSES_InitBackend(struct inner_data* data)
data->fnScroll = WCCURSES_Scroll; data->fnScroll = WCCURSES_Scroll;
data->fnSetFont = WCCURSES_SetFont; data->fnSetFont = WCCURSES_SetFont;
data->fnDeleteBackend = WCCURSES_DeleteBackend; data->fnDeleteBackend = WCCURSES_DeleteBackend;
data->hWnd = NULL; data->hWnd = CreateWindowW(messageW, NULL, 0, 0, 0, 0, 0, HWND_MESSAGE, 0,
GetModuleHandleW(0), NULL);
/* FIXME: should find a good way to enable buffer scrolling /* FIXME: should find a good way to enable buffer scrolling
* For the time being, setting this to 1 will allow scrolling up/down * For the time being, setting this to 1 will allow scrolling up/down