Added patch to allocate fake hWnd for wineconsole curses backend.

This commit is contained in:
Sebastian Lackner 2015-05-13 19:32:09 +02:00
parent fb7bff38de
commit d114a05de3
5 changed files with 68 additions and 2 deletions

View File

@ -39,13 +39,14 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
-----------------------------------
**Bug fixes and features included in the next upcoming release [13]:**
**Bug fixes and features included in the next upcoming release [14]:**
* Add IEnumString stub interface for ACLShellSource ([Wine Bug #18019](https://bugs.winehq.org/show_bug.cgi?id=18019))
* Add implementation for shlwapi.AssocGetPerceivedType
* Add stub for atl80.AtlIPersistPropertyBag_Save ([Wine Bug #33888](https://bugs.winehq.org/show_bug.cgi?id=33888))
* Add stub for fltlib.FilterLoad ([Wine Bug #38435](https://bugs.winehq.org/show_bug.cgi?id=38435))
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
* Allocate fake hWnd for wineconsole curses backend ([Wine Bug #34930](https://bugs.winehq.org/show_bug.cgi?id=34930))
* Create stub files for system32/drivers/etc/{services,hosts,networks,protocol} ([Wine Bug #12076](https://bugs.winehq.org/show_bug.cgi?id=12076))
* Dirtify vertex shader on transformed update to fix graphical corruption ([Wine Bug #38539](https://bugs.winehq.org/show_bug.cgi?id=38539))
* Do not create foreign thread queues for attach_thread_input requests ([Wine Bug #38562](https://bugs.winehq.org/show_bug.cgi?id=38562))

1
debian/changelog vendored
View File

@ -29,6 +29,7 @@ wine-staging (1.7.43) UNRELEASED; urgency=low
* Added patch with IEnumString stub interface for ACLShellSource.
* Added patch to create stub files for
system32/drivers/etc/{services,hosts,networks,protocol}.
* Added patch to allocate fake hWnd for wineconsole curses backend.
* Removed patch to use lockfree implementation for FD cache (accepted
upstream).
* Removed patch to properly handle closing sockets during a select call

View File

@ -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:

View File

@ -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

View File

@ -0,0 +1 @@
Fixes: [34930] Allocate fake hWnd for wineconsole curses backend