You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Added patch to allocate fake hWnd for wineconsole curses backend.
This commit is contained in:
@@ -55,7 +55,7 @@ version()
|
||||
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
echo " commit 5f35f1a8dbbc9dc3fa629a7f123e045e3320f562"
|
||||
echo " commit f920dfd6984ca9227900d0f0406afb3ceb892cc5"
|
||||
echo ""
|
||||
}
|
||||
|
||||
@@ -254,6 +254,7 @@ patch_enable_all ()
|
||||
enable_winecfg_Libraries="$1"
|
||||
enable_winecfg_Staging="$1"
|
||||
enable_winecfg_Unmounted_Devices="$1"
|
||||
enable_wineconsole_Curses_Fake_Wnd="$1"
|
||||
enable_wined3d_CSMT_Helper="$1"
|
||||
enable_wined3d_CSMT_Main="$1"
|
||||
enable_wined3d_DXTn="$1"
|
||||
@@ -826,6 +827,9 @@ patch_enable ()
|
||||
winecfg-Unmounted_Devices)
|
||||
enable_winecfg_Unmounted_Devices="$2"
|
||||
;;
|
||||
wineconsole-Curses_Fake_Wnd)
|
||||
enable_wineconsole_Curses_Fake_Wnd="$2"
|
||||
;;
|
||||
wined3d-CSMT_Helper)
|
||||
enable_wined3d_CSMT_Helper="$2"
|
||||
;;
|
||||
@@ -5214,6 +5218,21 @@ if test "$enable_winecfg_Unmounted_Devices" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset wineconsole-Curses_Fake_Wnd
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#34930] Allocate fake hWnd for wineconsole curses backend
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * programs/wineconsole/curses.c
|
||||
# |
|
||||
if test "$enable_wineconsole_Curses_Fake_Wnd" -eq 1; then
|
||||
patch_apply wineconsole-Curses_Fake_Wnd/0001-wineconsole-Allocate-fake-hwnds-for-curses-backend.patch
|
||||
(
|
||||
echo '+ { "Sebastian Lackner", "wineconsole: Allocate fake hwnds for curses backend.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset winedevice-Fix_Relocation
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
|
@@ -0,0 +1,44 @@
|
||||
From ec8c72f2251bd35294f8ab396a18430b1c29b527 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 13 May 2015 19:06:23 +0200
|
||||
Subject: wineconsole: Allocate fake hwnds for curses backend.
|
||||
|
||||
Based on a patch by Qian Hong.
|
||||
---
|
||||
programs/wineconsole/curses.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/programs/wineconsole/curses.c b/programs/wineconsole/curses.c
|
||||
index 24aab88..8d1b01e 100644
|
||||
--- a/programs/wineconsole/curses.c
|
||||
+++ b/programs/wineconsole/curses.c
|
||||
@@ -1001,6 +1001,7 @@ static void WCCURSES_DeleteBackend(struct inner_data* data)
|
||||
#endif
|
||||
endwin();
|
||||
|
||||
+ if (data->hWnd) DestroyWindow(data->hWnd);
|
||||
HeapFree(GetProcessHeap(), 0, PRIVATE(data)->line);
|
||||
HeapFree(GetProcessHeap(), 0, PRIVATE(data));
|
||||
data->private = NULL;
|
||||
@@ -1042,6 +1043,8 @@ static int WCCURSES_MainLoop(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() )
|
||||
return init_not_supported;
|
||||
|
||||
@@ -1058,7 +1061,8 @@ enum init_return WCCURSES_InitBackend(struct inner_data* data)
|
||||
data->fnScroll = WCCURSES_Scroll;
|
||||
data->fnSetFont = WCCURSES_SetFont;
|
||||
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
|
||||
* For the time being, setting this to 1 will allow scrolling up/down
|
||||
--
|
||||
2.4.0
|
||||
|
1
patches/wineconsole-Curses_Fake_Wnd/definition
Normal file
1
patches/wineconsole-Curses_Fake_Wnd/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [34930] Allocate fake hWnd for wineconsole curses backend
|
Reference in New Issue
Block a user